aspose file tools*
The moose likes OO, Patterns, UML and Refactoring and the fly likes [LONG POST-1] Pre-assessment test Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Engineering » OO, Patterns, UML and Refactoring
Bookmark "[LONG POST-1] Pre-assessment test " Watch "[LONG POST-1] Pre-assessment test " New topic
Author

[LONG POST-1] Pre-assessment test

Desai Sandeep
Ranch Hand

Joined: Apr 02, 2001
Posts: 1157
Hi,
Another post on IBM pre-assessment test!
1) Which of the following are effective ways to manage an OO project?

a) Organize the scheduled tasks along the lines of the use cases.
b) Organize the test cases along the lines of the use cases.
c) Organize the user's guide along the lines of the use cases.
d) Organize development teams along the lines of the packages.

Multiple Select - Please select all of the correct answers (this question has 4 correct choices).
---> A,B,C,D

2) True or false. Ideally, all public methods in business model objects are defined directly or indirectly because of a use case requirement.

a) True
b) False

Single Select - Please select the best answer (one and only one choice must be selected).
---> A

3) When using OOAD artifacts to organize and assign team responsibilities on a project, it is BEST to:

a) evenly distribute use cases among team members and have them work as independently as possible in order to minimize code dependencies
b) designate one team for implementing interaction diagrams related to the "common code path" and another team for implementing interaction diagrams related to "code path variations" (for example ? conditional or error paths)
c) divide teams according to package diagram dependencies and utilize use cases to schedule the work for the individual team members
d) divide teams according to the layers in the software architecture and have them work as independently as possible in order to minimize dependencies between the layers}

Single Select - Please select the best answer (one and only one choice must be selected).
---> C

4) If a use case had a requirement "Calculate account balance," which OOAD artifact would be the BEST source for determining the name of the public method used to invoke the operation?

a) Use case
b) Interaction diagram
c) Class diagram
d) Activity diagram

Single Select - Please select the best answer (one and only one choice must be selected).
---> B

5) A use case model should:

a) Capture as much design detail as possible.
b) Identify all of the actors, use cases, and their relationships.
c) Describe all of the implementation specifics of an application.

Single Select - Please select the best answer (one and only one choice must be selected).
---> B

6) When designing the user interface for an application, if it is unclear what skill level the end user of an application will possess, which of the following is the BEST approach to take?

a) Define the level of skill that will be required by the end user and make the necessary arrangements for educating the users.
b) Define the level of skill that will be required by the end user and provide detailed on-line help that can be accessed by the users when needed.
c) Prototype portions of the user interface and perform some usability tests to identify any problem areas. Document any issues in the product readme and have the users read it before using the product.
d) Prototype portions of the user interface and perform some usability tests to determine the users level of satisfaction. Make any necessary changes and repeat the process.}

Single Select - Please select the best answer (one and only one choice must be selected).
---> D

7) Which of the following are true about services resulting from use cases?

a) New requirements in use cases generally result in one or more public methods in a business domain class.
b) Private methods are required by the system's use cases.
c) Use cases drive the design of interaction diagrams, which in turn define public methods in model classes.

Multiple Select - Please select all of the correct answers (this question has 2 correct choices).
---> A,C


8) Based on the following statements from a domain expert on a project, which of the following are requirements that MUST be extracted?

a) A note must be sent to the customer for incomplete mortgage applications, listing the missing items.
b) A file must be established for every mortgage application at the time it is submitted, whether the application is complete or not.
c) Addresses on mortgage applications must be entered as all capital letters.
d) A unique mortgage number must be assigned to each mortgage file. This identifier must follow financial industry standard format

Multiple Select - Please select all of the correct answers (this question has 2 correct choices).
( http://certify.torolab.ibm.com/figures/test486F2.gif )
---> A,D (should it be A,C?)

9) Which of the following MUST be present to write use cases?

a) Development team
b) Object technology expert
c) Domain expert
d) Requirements decision maker
Multiple Select - Please select all of the correct answers (this question has 2 correct choices).
---> A,C

10) Given the dependency in the Figure Packages, which one of the following is correct?


a) Changes to the Loan package requires an examination of the Customer and Account packages to see if changes are required to their classes.
b) Changes to the Loan package requires an examination of the Customer package to see if changes are warranted. If they are, the Account package needs to be examined to see if changes are required to its classes.
c) Changes to the Account package require` an examination of the Customer package to see if changes are warranted. If they are, the Loan package needs to be examined to see if changes are required to its classes.
d) Changes to the packages can be made independently of changes to other packages since dependencies have been localized to each of the packages' internal designs.


Single Select - Please select the best answer (one and only one choice must be selected).
( http://certify.torolab.ibm.com/figures/test486F8.gif )
---> C

11) Which of the following is true about a deployment diagram?

a) Since there is always some kind of response to a message, the dependencies are two-way between deployment components.
b) Dependencies between deployment components tend to be the same as the package dependencies.
c) Deployment diagrams are NOT to be used to show physical modules of code.
d) Deployment diagrams do NOT show physical distribution of a system across computers

Single Select - Please select the best answer (one and only one choice must be selected).
---> C (or is it A?)

12) Valid reasons for grouping classes into the same package are that, the classes:

a) are related by aggregation.
b) are worked on by the same group of developers.
c) are related by specialization.
d) support the same high-level services.
Multiple Select - Please select all of the correct answers (this question has 2 correct choices).
---> C,D

13) Referring to the deployment diagram, Figure Deployment, for a system that manages mortgages, which of the following are correct?

a) GUI classes should be in the Branch Client process.
b) These components comprise a three-tier architecture, whether they execute on the same or different computers.
c) For scalability, the business objects should reside in the Financial Apps Server.
d) Client integration is at the Database Server.

Multiple Select - Please select all of the correct answers (this question has 3 correct choices).
( http://certify.torolab.ibm.com/figures/test486F7.gif )
---> A,B,C

14) A resulting benefit of using polymorphism is reduction of:

a) methods in the associated classes
b) subclasses needed to accomplish the same functionality
c) case statements and conditionals
d) coupling between classes in the system

Single Select - Please select the best answer (one and only one choice must be selected).
---> C (or is it D?)

15) In design #1, the Catalog object has a getProducts() method, which returns a collection object, such as a Dictionary or array, containing all the Products the company sells. In design #2, the Catalog object has a getProductNumbered(anIdentifier) method, which returns the Product with the specified unique identifier. Considering the objects returned, which of the following BEST characterizes the two designs?

a) Both designs maintain the objects' encapsulation and reduce coupling by accessing state data via methods only and not directly.
b) Both designs break the objects' encapsulation, adding brittle coupling.
c) Design #1 breaks the encapsulation of the Catalog, adding brittle coupling. Design #2 maintains the encapsulation of the Catalog, making future design changes easier.

Single Select - Please select the best answer (one and only one choice must be selected).
---> C (It should be B, but it seems IBM likes the answer to be C!!)

16) When creating a subclass, the:

a) selected superclass should be chosen because it has some methods the subclass can reuse, even if others do not apply.
b) class name should normally be a qualification of its superclass' name
c) subclass should be of the same type as all of its superclasses
d) superclass should be marked as abstract
Multiple Select - Please select all of the correct answers (this question has 2 correct choices).
---> B,C

17) Which one of the following is a good strategy for resolving class name collisions that occur during OO analysis?

a) Allow each team member to choose a preferred name.
b) Create a class for each domain name, passing on requests to the one class that implements the behavior for all of them to share.
c) Discover better names for different concepts that are referred by the same term.

Single Select - Please select the best answer (one and only one choice must be selected).
---> C

18) UML interfaces are used to:
a) define an API for all classes.
b) program in Java, but not in C++ or Smalltalk.
c) define executable logic to reuse across classes.
d) specify required services for types of objects.

Single Select - Please select the best answer (one and only one choice must be selected).
---> D
19) Referring to these partial requirements, which of the following is true?

a) The verbs in the requirements become methods in the object model.
b) Some of the verbs in the requirements become methods of the nouns they reference. E.g., a FinancialInstitution class would have a getFinancialInformationFor( aCustomer ) method.
c) Some of the verbs in the requirements become methods of the concept taking the action. E.g., a LoanOfficer class would have a getFinancialInformationFor( aCustomer ) method.
d) Some of the verb phrases in the requirements become overriding methods of the related superclass, due to the specialization of the action.

Single Select - Please select the best answer (one and only one choice must be selected).
( http://certify.torolab.ibm.com/figures/test486F11.gif )
---> B

20) Which of the following are recommended when developing an OO system?

a) Write a description of the concept that a class represents whenever a new class is declared.
b) Use interfaces for types or roles that objects may play, independent of their location in the class hierarchy.
c) Apply design patterns where applicable in the system.
d) Name classes based on their design specifics, such as "array" or "queue".

Multiple Select - Please select all of the correct answers (this question has 3 correct choices).
---> A,B,C

21) Which of the following is the BEST description of the sequence diagram in Figure Interaction? When an instance of a:

a) Person is asked for its assets, it sums the balances of each of its asset Accounts. b) Customer is asked for its assets, it sums the balances of each of its asset Accounts.
c) Person is asked for its assets, it returns the balance of its asset Account.
d) Customer is asked for its assets, it returns the balance of its asset Account.

Single Select - Please select the best answer (one and only one choice must be selected).
( http://certify.torolab.ibm.com/figures/test486F19.gif )
---> A

22) State diagrams:

a) are good at depicting the behavior of an object across multiple use cases.
b) are best used for objects that have multiple interesting states and not for most or all the objects in the system.
c) are good at depicting interactions among multiple objects.
d) can be used for user interface or control objects.

Multiple Select - Please select all of the correct answers (this question has 3 correct choices).
---> A,B,D

23) What is the BEST model change for the following new requirements in the mortgage processing system?

a) Add an updateAssessedValue( newValue ) method to the Mortgage class, which uses newValue in collaboration with the Property's tax rates to provide tax amounts.
b) Add an updateAssessedValue( newValue ) method to the Property class, which uses newValue in collaboration with the TaxingAuthority's tax rates to provide tax amounts.
c) Add an updateAssessedValue( newValue ) method to the TaxingAuthority class, which uses its tax rates to provide tax amounts.
d) Add an updateAssessedValue( newValue ) method to the Property class, which uses its tax notes to provide tax amounts.

Single Select - Please select the best answer (one and only one choice must be selected).
( http://certify.torolab.ibm.com/figures/test486F18.gif )

---> B

24) Referring to the sequence diagram in Figure Interaction, what methods MUST be implemented by the Account class?
a) withdraw, checkBalance
b) withdraw, log, checkBalance
c) withdraw, checkBalance, acknowledge
d) withdraw, acknowledge

Single Select - Please select the best answer (one and only one choice must be selected).
( http://certify.torolab.ibm.com/figures/test486F15.gif )
---> C (Should it be A, considering that acknowledge is just a return message, hence not a MUST!)

25) Which of the following are true about interaction diagrams?

a) Interaction diagrams are at their best when they deal with one main design flow and not multiple variants that can happen.
b) Interaction diagrams are good at designing part or all of one use case's functionality across multiple objects.
c) Interaction diagrams allow the analyst to show iteration and conditional execution for messaging between objects.
d) Sequence diagrams are logically equivalent to collaboration diagrams, differing primarily in format of presentation.

Multiple Select - Please select all of the correct answers (this question has 4 correct choices).
---> A,B,C,D

26) Based on the activity diagram in Figure Activity, which activities can occur concurrently?

a) Generate closing paperwork, Schedule closing
b) Get property appraised, Verify assets, Check credit rating
c) All the activities can occur concurrently
d) The custom servlet name, is used as part of the URL used to invoke it.

Multiple Select - Please select all of the correct answers (this question has 2 correct choices).
( http://certify.torolab.ibm.com/figures/test486F17.gif )
---> A,B


27) A partial class diagram of a college course management application is shown in Figure studentInstructor. A student knows all of the instructors he is registered with. Similarly, an instructor also knows all the students who are registered with him. A new requirement is added which specifies that an instructor can also be a student for some courses. What is the BEST partial application redesign shown in the Figure?
( http://certify.torolab.ibm.com/figures/test486F22.gif )
a) Design 'A'
b) Design 'B'
c) Design 'C'
d) Design 'D'
e) Design 'E'

Single Select - Please select the best answer (one and only one choice must be selected).
---> A (not sure on this.I was thinking about C, but am not sure how instructor could be a student,as roles can hold an instance of only one of them!!)

28) Which of the following are good practices to use while designing for reuse?

a) Define a persistence framework that provides services for persisting objects.
b) Use design patterns, wherein complete solutions are already defined.
c) Use controller objects to control the flow of processes in the system.
d) Assign responsibilities to classes such that coupling between them remains low.
e) Design classes with low cohesion.

Multiple Select - Please select all of the correct answers (this question has 2 correct choices).
---> A,D

29)An Observer is a design pattern where dependent objects "register" with another "server" object so that they are notified of changes to the server object. The server object isn't specifically aware of its dependents, but only knows to notify them of changes to its state. Which of the following uses an Observer pattern to maintain the correct separation of model and view in a layered software architecture?

a) GUI components register with business components so that they can update their views when the underlying model objects change.
b) GUI components register with other GUI components so that can be notified of user changes to the state of the system.
c) Business components register with GUI components so that the GUI components know who to ask for updates to their state.
d) Business components register with other business components so that they can enforce business rules based on state change.

Single Select - Please select the best answer (one and only one choice must be selected).
---> A

30) Software entropy is a phenomenon wherein programs begin with well designed state, but as new functionalities are added, they lose their structure. Refactoring of classes is done to avoid software entropy. What are good practices to follow during refactoring?

a) Renaming a method and moving a field from one class to another should be done in small steps, testing changes as required.
b) Break down classes that are heavily loaded with responsibilities into smaller classes and distribute the responsibilities among them effectively.
c) Consolidate similar methods from different classes in the same type hierarchy into a common super class wherever possible.
d) Add functionality and refactor simultaneously in order to obtain an efficient and effective design.


Multiple Select - Please select all of the correct answers (this question has 3 correct choices).
---> A,B,C


Designs & Implementation Techniques 4 3 75.0
Requirements Modeling 5 3 60.0
Static Modeling 7 7 100.0
Development Process 4 4 100.0
Dynamic Modeling 6 5 83.0
Architecture 4 3 75.0


# Questions: 30 Passing Score: 70.0
Number Correct Needed: 21 Your Score: 83.0
You Answered Correct: 25 Grade: Pass
Still stuck up with 25 correct answers.Please help me with the remaining 5 incorrect answers.
Thanks,
Sandeep
[This message has been edited by Desai Sandeep (edited June 04, 2001).]


<b>Sandeep</b> <br /> <br /><b>Sun Certified Programmer for Java 2 Platform</b><br /> <br /><b>Oracle Certified Solution Developer - JDeveloper</b><br /><b>-- Oracle JDeveloper Rel. 3.0 - Develop Database Applications with Java </b><br /><b>-- Object-Oriented Analysis and Design with UML</b><br /> <br /><b>Oracle Certified Enterprise Developer - Oracle Internet Platform</b><br /><b>-- Enterprise Connectivity with J2EE </b><br /><b>-- Enterprise Development on the Oracle Internet Platform </b>
Tariq Haque
Greenhorn

Joined: Jun 04, 2001
Posts: 6
Hi Sandeep,
Following are the correct answers for your five incorrect answers:
8. B,D
9. C,D (I am positive that A & C is correct, but IBM thinks C&D)
11. B
24. A
27. C
Tariq
Desai Sandeep
Ranch Hand

Joined: Apr 02, 2001
Posts: 1157
Hi Tariq,
Bowled out on 3 questions!

  • 8) Based on the following statements from a domain expert on a project, which of the following are requirements that MUST be extracted?
    a) A note must be sent to the customer for incomplete mortgage applications, listing the missing items.
    b) A file must be established for every mortgage application at the time it is submitted, whether the application is complete or not.
    c) Addresses on mortgage applications must be entered as all capital letters.
    d) A unique mortgage number must be assigned to each mortgage file. This identifier must follow financial industry standard format
    Multiple Select - Please select all of the correct answers (this question has 2 correct choices).
    ( http://certify.torolab.ibm.com/figures/test486F2.gif )


  • From what I read in Larman, to identify requirements (System Functions), we need to ask "what the System should do?"
    Assuming that the person who is explaining the process is the DataEntryOperator.
    He will receive "incomplete mortgage applications" from the Customer.He then scans it for completeness.If incomplete, hands it back to the Customer with a handwritten note on what is incomplete.So far, the System services has not been called for.That could be the reason why A is incorrect.
    The DataEntryOperator has to log the applications (incomplete/complete) anyway.This is where he calls upon the System, i.e., the System has to log the applications. Hence B is correct.
    Since the DataEntryOperator was entering the Address in uppercase in the past, if this is a requirement this would be done by the DataEntryOperator and not the System, i.e. the System does not have to enter Customer address in upper case.Hence C is incorrect.
    Assigning a unique identifier is not done by the DataEntryOperator.Nowhere it has been mentioned that the unique identifier has to be entered by the DataEntryOperator.So it is evident that the System has to assign a unique identifier in the standard industry format to every mortgage application.Hence D is correct.


      9) Which of the following MUST be present to write use cases?
      a) Development team
      b) Object technology expert
      c) Domain expert
      d) Requirements decision maker
      Multiple Select - Please select all of the correct answers (this question has 2 correct choices).


      I think they are thinking from point of view to get all the use cases and requirements in order.The "Development team" and the "Object Technology Expert" will not be the best persons for the job.
      The other two, i.e. "Domain Expert" and "Requirement Decision Maker" seems to fit the role, as use cases is all about identifying the processes (which only Domain Expert is capable of) and mapping the requirements to the use case (which the Requirement Decision Maker is capable of)
      Hence, C and D are correct!
      However, I am not sure of how the communication problems would be solved keeping the Development team out of the loop.This would raise chances of Developers not understanding the domain language.How would that be solved?That is reason I mentioned in the other post that the Requirement Decision Maker should be a part of the Development team.


      • 11) Which of the following is true about a deployment diagram?
        a) Since there is always some kind of response to a message, the dependencies are two-way between deployment components.
        b) Dependencies between deployment components tend to be the same as the package dependencies.
        c) Deployment diagrams are NOT to be used to show physical modules of code.
        d) Deployment diagrams do NOT show physical distribution of a system across computers.
        Single Select - Please select the best answer (one and only one choice must be selected).


      • Your answer, B has surprised me!!
        Martin Fowler in his book (UML Distilled), clearly mentions that dependencies between components could include communication and compilation dependencies.
        Also, package dependencies are supposed to be "non-transitive" in nature.This means package dependencies do not include compilation dependencies.So I am not sure why the answer should be B?
        Anyway, I agree that C is incorrect because physical modules of code is nothing but Components in Deployment Diagrams.They can shown in the Diagram
        Also, D is incorrect since the Deployment Diagrams shows physical distribution of system across computers - every node represents a computer or a piece of hardware in the Deployment Diagram.
        Also, A is incorrect since dependencies could be one-way or two-way.Even though the response is sent, the interface may not be aware which instance is calling; this would mean one-way dependency.


        • 24) Referring to the sequence diagram in Figure Interaction, what methods MUST be implemented by the Account class?
          a) withdraw, checkBalance
          b) withdraw, log, checkBalance
          c) withdraw, checkBalance, acknowledge
          d) withdraw, acknowledge
          Single Select - Please select the best answer (one and only one choice must be selected).
          ( http://certify.torolab.ibm.com/figures/test486F15.gif )


        • Had a doubt on this.
          So acknowledge being a return message, is not a MUST to be implemented in the Account class.


          • 27) A partial class diagram of a college course management application is shown in Figure studentInstructor. A student knows all of the instructors he is registered with. Similarly, an instructor also knows all the students who are registered with him. A new requirement is added which specifies that an instructor can also be a student for some courses. What is the BEST partial application redesign shown in the Figure?
            ( http://certify.torolab.ibm.com/figures/test486F22.gif )
            a) Design 'A'
            b) Design 'B'
            c) Design 'C'
            d) Design 'D'
            e) Design 'E'
            Single Select - Please select the best answer (one and only one choice must be selected).


          • Could you explain why the answer is C, and more importantly why the other answers are incorrect.
            I am posting a seperate thread on this

            Thanks,
            Sandeep
            [This message has been edited by Desai Sandeep (edited June 05, 2001).]
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: [LONG POST-1] Pre-assessment test