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


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Engineering » OO, Patterns, UML and Refactoring
Bookmark "[LONG POST] IBM Pre-assessment Test" Watch "[LONG POST] IBM Pre-assessment Test" New topic
Author

[LONG POST] IBM Pre-assessment Test

Desai Sandeep
Ranch Hand

Joined: Apr 02, 2001
Posts: 1157
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)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).
-----> C

4) An iterative development process:
a) represents a structured methodology, which includes functional decomposition.
b) is a technique for managing complexity and plans for change during software development.
c) is a top-down approach without the dataflow diagrams.
d) is equivalent to an incremental development process.

Single Select - Please select the best answer (one and only one choice must be selected).
-----> B
5) When creating the use cases related to the "Prepare for an Event" scenario in the Figure ChefScenario, which one of the following BEST represents the type of terminology that the use cases should contain?
Click here for figure
a) chef, menu, recipes, ingredients
b) end user, bill of fare, cooking specifications, food contents
c) chef object, menu object, recipe object, ingredient object
d) person record, menu print stream, recipe container, ingredient array
Single Select - Please select the best answer (one and only one choice must be selected).
-----> A

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) What is wrong with the following analysis use case?
Click here for Figure.

a) There are design details intermixed with the requirements.
b) The actor's actions and system responses are not separated.
c) "Sell goods" is too broad to be a use case.
d) There is nothing wrong with this use case.

Single Select - Please select the best answer (one and only one choice must be selected).
-----> A
8) 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
9) 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
10) Given the dependency in the Figure Packages, which one of the following is correct?
Click here for Figure.

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).
-----> C

11) Which of the following are true about software architecture?
a) Two tier software architectures do not scale to as many clients as three+ tier architectures.
b) Two tier architectures lead to more reuse than three+ tier architectures.
c) Thin clients are restricted to GUI parts
d) Technologies such as CORBA, RMI, DCOM, and Servlets allow multiple clients to work with the same server-based business objects.

Single Select - Please select the best answer (one and only one choice must be selected).
-----> A
12) Referring to the deployment diagram, Figure Deployment, for a system that manages mortgages, which of the following are correct?
Click here for Figure.
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).
-----> A,B,C
13) 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).
-----> A,C

14)Referring to the diagram in Figure Interface, which of the following are true?
Click here for Figure
a) Classes "X" and "Y" are subclasses of Mortgageable.
b) Instances of "X" and "Y" can be passed as parameters declared as type Mortgageable.
c) "X" and "Y" must implement a getAppraisedValue() method.
d) There are instances of Mortgageable in the production system.

Multiple Select - Please select all of the correct answers (this question has 2 correct choices).
-----> B,C
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 (should be B)

16) 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

17) Refer to the Figure Sample 1. Consider the scenario that eStore.com sells small appliances over the Internet. Currently, the store's catalog includes over 50 appliances from 10 different suppliers. A partial class diagram is shown in Figure Sample 1. If there is a new requirement to restock the warehouse automatically as products are sold, how is the new requirement BEST handled?
Click here for Figure

a) Add "reorderLevel" and "reorderQuantity" attributes used by a new deplete() method in the Inventory class. Use these to generate new orders as InventoryProducts are sold.
b) Add "reorderLevel" and "reorderQuantity" attributes used by a new deplete() method in the InventoryProduct class. Use these to generate new orders as InventoryProducts are sold.
c) Add a deliver() method to the Supplier class that uses the InventoryProduct's amountOnHand attribute to maintain the InventoryProducts in the warehouse.
d) Add "reorderLevel" and "reorderQuantity" to InventoryProduct. Create a Warehouse class that monitors the InventoryProducts' "amountOnHand", generating an order as levels drop below a "reorderQuantity".

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

18) 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

19) 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

20) Based on the following CRC card, what methods should Mortgage have?
Click here for Figure

a) accrue( anAmountOfInterest )
b) calculateInterest( )
c) apply( aPayment )
d) getCollateral( )

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

21) 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

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

Click here for Figure

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).
-----> A

23) A non-object oriented legacy application which interacts with back end systems exists. It is now required to redesign this application into an object oriented system, that caters to high volume of requests. Which of the following need to be considered while modeling the system?

a) It is not necessary to define classes, such that they represent the data fields in the back end. The object model should capture the behavior of the legacy system.
b) The object model should consist of classes which match the back end data fields. This aids the persistence of classes.
c) Draw activity diagrams to understand the behavior of the existing legacy system.
d) The GUI client objects need to be behavioral driven and they directly communicate with the database.

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

24) Which of the following are true about the strengths and weaknesses of activity diagrams?

a) Activity diagrams are good at enumerating object collaborations to accomplish a task.
b) Activity diagrams are good at exploring the interactions related to one or more use cases.
c) It is difficult to discern exactly how to map the activity diagram actions to object model specifics.
d) Since activity diagrams allow parallel behavior modeling, they are good for workflow modeling.

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

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) Refer to the state diagram in Figure State for MortgageApplication. Suppose that there is a requirement to add state transitions to a "Cancelled" state from any states except "Closed". Which of the following are valid ways to add the "Cancelled" state?

Click here for Figure
a) Funnel all cancellations from only one of the other states.
b) Add a "Cancelled" superstate to the diagram.
c) Add transitions from "Submitted" and "Qualified" to a new "Cancelled" state.
d) Add an "Active" superstate that handles the transition to "Cancelled".

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

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?

Click here for Figure
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).
-----> C

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).

-----> B,D

29) Which of the following are true about implementing a system based on existing OOAD assets?

a) Due to constraints introduced by the target language, such as C++, Smalltalk, or Java, as well as physical packaging, the OO analysis model does not carry forward into detailed design and implementation.
b) The classes, methods, attributes, and relationships identified during the OO analysis carry forward into detailed design and implementation.
c) The OO analysis model is usually refactored later in the project.
d) The classes from the OO analysis are expanded to add private methods and collaborations with helper classes.

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

30) 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

My score :
Designs & Implementation Techniques 4 3 75.0
Requirements Modeling 5 5 100.0
Static Modeling 7 6 85.0
Development Process 4 3 75.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
Please help me identify 5 incorrect answers.
Thanks in advance,
Sandeep
[This message has been edited by Desai Sandeep (edited June 03, 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 your incorrect answers. Don't ask me why? It's the IBM who has decided that these are the correct answers for these questions. I scrambled IBM's mock exams for the test 486 thoroughly and now get 100% with any of their question sets.
3. b
13. c,d
17. b
23. a,c
28. a,d
Tariq
Desai Sandeep
Ranch Hand

Joined: Apr 02, 2001
Posts: 1157
Tariq,
It does make sense!

  • 3)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 seems to be the right choice, since the name of the method is best obtained while interacting with multiple objects.
    I thought it was C, since the Class Diagram will be a derivation of the Interaction Diagram.However, B seems correct as you happen to get the name (that too the correct one!) while drawing the Interaction Diagram


    • 13) 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 are correct.
      A is incorrect because, you may have different packages which are dependent on other,i.e are linked by aggregation.You donot put all those classes linked by aggregation in the same package.


      • 17) Refer to the Figure Sample 1. Consider the scenario that eStore.com sells small appliances over the Internet. Currently, the store's catalog includes over 50 appliances from 10 different suppliers. A partial class diagram is shown in Figure Sample 1. If there is a new requirement to restock the warehouse automatically as products are sold, how is the new requirement BEST handled?
        Click here for Figure
        a) Add "reorderLevel" and "reorderQuantity" attributes used by a new deplete() method in the Inventory class. Use these to generate new orders as InventoryProducts are sold.
        b) Add "reorderLevel" and "reorderQuantity" attributes used by a new deplete() method in the InventoryProduct class. Use these to generate new orders as InventoryProducts are sold.
        c) Add a deliver() method to the Supplier class that uses the InventoryProduct's amountOnHand attribute to maintain the InventoryProducts in the warehouse.
        d) Add "reorderLevel" and "reorderQuantity" to InventoryProduct. Create a Warehouse class that monitors the InventoryProducts' "amountOnHand", generating an order as levels drop below a "reorderQuantity".
        Single Select - Please select the best answer (one and only one choice must be selected).


      • Always had a doubt on this.In some other post I mentioned, that reorder attributes should come in Inventory class rather than InventoryProduct class.
        I think this question is based on "Expert Pattern".Since InventoryProduct is an information expert, so the responsibilities of creating an order as well as reordering lies with the InventoryProduct.
        That could be the reason why B is correct.


        • 23) A non-object oriented legacy application which interacts with back end systems exists. It is now required to redesign this application into an object oriented system, that caters to high volume of requests. Which of the following need to be considered while modeling the system?
          a) It is not necessary to define classes, such that they represent the data fields in the back end. The object model should capture the behavior of the legacy system.
          b) The object model should consist of classes which match the back end data fields. This aids the persistence of classes.
          c) Draw activity diagrams to understand the behavior of the existing legacy system.
          d) The GUI client objects need to be behavioral driven and they directly communicate with the database.
          Multiple Select - Please select all of the correct answers (this question has 2 correct choices).


        • Always had a doubt between A and B.
          On second thoughts, I think B is incorrect, since you are not redesigning the Database.You are probably only changing the business logic (which may be represented by COBOL or whatever).Hence we would not model the back end data fields as classes.Instead out object model will only focus on behaviour.
          Hence A,C are correct.


          • 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).


          • I had a doubt on whether A is correct.Now, I can eliminate B, since using Design Patterns we make the code OO, not necessarily reusable.
            Hence A,D are correct.

            The heartening thing is for all these 5 questions,I had second thoughts on the correct answer - except for Question 17 for which I was completely bowled!!
            Thanks once again
            Regards,
            Sandeep
            PS : Would post some more pre-assessment questions in this thread.Please let me know about them too!
            Thanks,
            Sandeep
            [This message has been edited by Desai Sandeep (edited June 04, 2001).]
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
 
subject: [LONG POST] IBM Pre-assessment Test
 
Similar Threads
(LONG POST) IBM's OOAD Test 486 Mock Exam Questions!
Longer Post - ALL IBM ICE EXAM Q's for UML
UML Questions(Pinpoint the wrong answers)
[LONG POST-1] Pre-assessment test
another 486 question -ugh!