Objects by Design Forums Here you can view your subscribed threads, work with private messages and edit your profile and preferences Registration is free! Calendar Find other members Frequently Asked Questions Search Home  
Objects by Design Forums : Powered by vBulletin version 2.3.5 Objects by Design Forums > Main Forums > UML Certification > Tricky exam questions
  Last Thread   Next Thread
Author
Thread Post New Thread    Post A Reply
bruno
Junior Member

Registered: Aug 2002
Location:
Posts: 5

Tricky exam questions

Hi all
Yesterday I passed the exam with 85%, partly thanks to this forum so thanks to everybody!

The exam was not more difficult than the sample test.

I remember some exam questions, two of them I found really tricky. Here they are.

==========

An existing non-OO application that accesses a database must be replaced by an OO application. The analyst has only a domain class diagram.
What are the BEST following steps?

A. Refine the class diagram.
B. Look for common behaviors in the domain diagram to develop inheritance.
C. Encapsulate data that is required by each class to exhibit its behavior.
D. Ensure that there is a direct mapping between class relationships and database schema.

Choose 3.


==========

The requirements for a system include many concurrent clients, high volume of service requests, and guarranteed execution of sets of actions as one atomic action.
What should be considered?

A. Use a 3+ tiers architecture.
B. Enable security to guarrantee safe transmission of concurrent requests.
C. Install client and server system parts on each client system.
D. Turn off auto commit and leverage DBMS' transaction facilities.

Choose 2.

Report this post to a moderator | IP: Logged

Old Post 08-23-2002 08:27 AM
bruno is offline Click Here to See the Profile for bruno Click here to Send bruno a Private Message Find more posts by bruno Add bruno to your buddy list Edit/Delete Message Reply w/Quote
Adrian Ferreira
Junior Member

Registered: Aug 2001
Location: Brazil
Posts: 5

quote:
I remember some exam questions, two of them I found really tricky. Here they are.


Bruno,

This is not a question from the real exam, is it?
Adrian

Report this post to a moderator | IP: Logged

Old Post 08-23-2002 02:13 PM
Adrian Ferreira is offline Click Here to See the Profile for Adrian Ferreira Click here to Send Adrian Ferreira a Private Message Find more posts by Adrian Ferreira Add Adrian Ferreira to your buddy list Edit/Delete Message Reply w/Quote
bruno
Junior Member

Registered: Aug 2002
Location:
Posts: 5

These are exam questions as I remember them.
Certainly not using exactly the same words (that could make the questions even more confuse that in the real exam ;-)

Any idea for the answers?

Report this post to a moderator | IP: Logged

Old Post 08-23-2002 02:36 PM
bruno is offline Click Here to See the Profile for bruno Click here to Send bruno a Private Message Find more posts by bruno Add bruno to your buddy list Edit/Delete Message Reply w/Quote
bparanj
CTO, Zepho Systems

Registered: May 2002
Location: Raleigh, North Carolina
Posts: 277

1. A, B & C.
2. A & D.

__________________
Sun Certified Developer for the Java 2 Platform
http://uml.zepho.com

Report this post to a moderator | IP: Logged

Old Post 08-23-2002 04:00 PM
bparanj is offline Click Here to See the Profile for bparanj Click here to Send bparanj a Private Message Visit bparanj's homepage! Find more posts by bparanj Add bparanj to your buddy list Edit/Delete Message Reply w/Quote
Adrian Ferreira
Junior Member

Registered: Aug 2001
Location: Brazil
Posts: 5

My quest is because I suposed it was ilegal.

Adrian

Report this post to a moderator | IP: Logged

Old Post 08-23-2002 07:47 PM
Adrian Ferreira is offline Click Here to See the Profile for Adrian Ferreira Click here to Send Adrian Ferreira a Private Message Find more posts by Adrian Ferreira Add Adrian Ferreira to your buddy list Edit/Delete Message Reply w/Quote
bruno
Junior Member

Registered: Aug 2002
Location:
Posts: 5

Why don't you select D for the first question?

Report this post to a moderator | IP: Logged

Old Post 08-24-2002 11:07 AM
bruno is offline Click Here to See the Profile for bruno Click here to Send bruno a Private Message Find more posts by bruno Add bruno to your buddy list Edit/Delete Message Reply w/Quote
bruno
Junior Member

Registered: Aug 2002
Location:
Posts: 5

About legality

Adrian,
I believe that the value in the certification resides, besides the certificate itself, in the community it generates to discuss interesting subjects.
But also I will not give you exact exam questions or answers even if I knew some, because it would simply lower the value of the certification. Certifications should remain difficult enough to require a significant effort and to bring satisfaction to the person who succeeds.

I think that everybody on this forum understands that.

Bruno
Sun Certified Java 2 Programmer
Sun Certified Architect for the J2EE Platform Technology
IBM Certified - Object Oriented Analysis and Design with UML

Report this post to a moderator | IP: Logged

Old Post 08-24-2002 11:42 AM
bruno is offline Click Here to See the Profile for bruno Click here to Send bruno a Private Message Find more posts by bruno Add bruno to your buddy list Edit/Delete Message Reply w/Quote
bparanj
CTO, Zepho Systems

Registered: May 2002
Location: Raleigh, North Carolina
Posts: 277

The object model is independent of the database model. Therefore there is an impedance mismatch between the Object Oriented Model and Relational Database Model.

The option D is ambiguous in that sense, it is not clear if it is RDBMS, if it is a Object Database then this option could be correct.

The RDBMS is usually normalized to the extent dictated by the application requirements and the object model is optimized independent of the ER model.

Object Relational mappers are usually used as the impedance transformers.

Advantage of making them independent of each other is the re-use which is one of the major objective of Object Technology.

Persistance is now independent of the database schema and maintenance is also easier. Any database schema modifications will not bring down the whole system to a halt or result in modifications to the application layers.

This also allows us to develop domain agnostic layer independent of persistance layer which sits on top of the persistance layer and could be re-used in many different vertical domains.

For example Payment subsystem could be used in Telecommunications, Hotel and any other domain requiring payment service.

Bala

__________________
Sun Certified Developer for the Java 2 Platform
http://uml.zepho.com

Report this post to a moderator | IP: Logged

Old Post 08-24-2002 03:10 PM
bparanj is offline Click Here to See the Profile for bparanj Click here to Send bparanj a Private Message Visit bparanj's homepage! Find more posts by bparanj Add bparanj to your buddy list Edit/Delete Message Reply w/Quote
bparanj
CTO, Zepho Systems

Registered: May 2002
Location: Raleigh, North Carolina
Posts: 277

Very interesting white paper by Scott W. Ambler discusses this issue in depth.

http://www.ambysoft.com/persistenceLayer.pdf. You can skip the chapters 5, 6 & 7.

This is directly related to the exam objective :

Develop view-model-persistence layered architectures and understand how the layers should interact.

Report this post to a moderator | IP: Logged

Old Post 08-24-2002 03:29 PM
bparanj is offline Click Here to See the Profile for bparanj Click here to Send bparanj a Private Message Visit bparanj's homepage! Find more posts by bparanj Add bparanj to your buddy list Edit/Delete Message Reply w/Quote
bruno
Junior Member

Registered: Aug 2002
Location:
Posts: 5

I agree with that.
But somehow in OO applications the persistence layer is related to the database (or the other way around).
In real projects I tend to use data value objects that are similar to tables, and business value objects to be manipulated independently of the persistence layer (that's the point of layering), and inbetween value object assemblers to bridge the gap.
The reason why I am not sure of the answer of this question is mainly because the other answers are unconvincing.
Thanks for your explanation.
Bruno

Report this post to a moderator | IP: Logged

Old Post 08-25-2002 04:15 PM
bruno is offline Click Here to See the Profile for bruno Click here to Send bruno a Private Message Find more posts by bruno Add bruno to your buddy list Edit/Delete Message Reply w/Quote
bparanj
CTO, Zepho Systems

Registered: May 2002
Location: Raleigh, North Carolina
Posts: 277

An existing non-OO application that accesses a database must be replaced by an OO application. The analyst has only a domain class diagram.
What are the BEST following steps?

--Refine the class diagram.

This is done by digging into the existing user manuals, maintenance documents etc of the existing legacy system.

This has to be done especially when you have not synchronized your analysis artifacts after implementation. It is certain that the domain class diagram of the non-OO application is out of synch with the current system since it is safe to assume that it has been developed without using any OO development methodologies like RUP. This basically means capturing all the concepts that the legacy system now implements.

I think Larman discusses this somewhere in his book.

-- Look for common behaviors in the domain diagram to develop inheritance.

Doing so results in the transformation of conceptual class diagram into a class diagram from specification or implementation pespective.

Larman calls it DCD (Design Class Diagram). This is where you start thinking about the "how", are we going to use the Strategy Pattern ? or the Bridge ? In Larman terms it is Pure Fabrication, as you name the classes as EncodingStrategy and so on.

Specification perspective is the actual software and it amplifies the interfaces. In this case you could just show EncodingStrategy interface and ignore any sub-classes.

The implementation perspective is very specific to the technology used to implement the system. This will show the subclasses if the implementation environment supports it.

For instance in J2EE technology since there is no inheritance in EJB while transforming the object model to EJB component model you will represent the component model without any inheritance. This results in the class diagram from implementation perspective.

-- Encapsulate data that is required by each class to exhibit its behavior.

Encapsulation is one of the basic things of an OO system and is definetely the right thing to do.

Hope this makes things clear.

Bala

__________________
Sun Certified Developer for the Java 2 Platform
http://uml.zepho.com

Last edited by bparanj on 08-25-2002 at 05:18 PM

Report this post to a moderator | IP: Logged

Old Post 08-25-2002 05:14 PM
bparanj is offline Click Here to See the Profile for bparanj Click here to Send bparanj a Private Message Visit bparanj's homepage! Find more posts by bparanj Add bparanj to your buddy list Edit/Delete Message Reply w/Quote
bparanj
CTO, Zepho Systems

Registered: May 2002
Location: Raleigh, North Carolina
Posts: 277

Tables are like classes in the sense they both define fields, records are like objects. Records have keys whereas objects have object IDs. Every record in a table has the same attributes whereas objects can be in heterogeneous collections.

So, heterogeneous collections have to be modeled as unique relationship tables in Relational model.

There are three main techniques to map an Object Model to a Relational Model. They are :

1. Top-down : Object model already exists, database schema does not exist. In this case you can generate a new database
schema to fit existing object model.

2. Bottom-up : Database schema already exists whereas the Object model does not.

3. Meet in the middle : Both object model and database schema exist.

In real world projects we use the third approach for reasons that I gave in the earlier posting. Now lets see how this choice gets eliminated :

Saving an object to a persistant store usually implies saving an object graph (or class relationships). Saving the object graph means we have to store other objects as well not just the primitive types. Each object reference is stored as a foreign
key reference in the table.

Object models can have One-to-One,One-to-Many or Many-to-Many relationships. Now, one-to-one relationship uses foreign keys in the source table, one-to-many relationship uses foreign keys from each of the many in the target table to the one parent

record and a many-to-many relationship uses a relationship table with foreign keys that reference each of the related records in both tables.

As you can see the "direct mapping" concept breaks down when we model the many-to-many relationship.

Read : Crossing the Chasm from Objects to Relational Databases in Pattern Languages of Program Design 2 by Kyle Brown and
Bruce Whitenack for more.

Bala

Last edited by bparanj on 08-25-2002 at 08:23 PM

Report this post to a moderator | IP: Logged

Old Post 08-25-2002 08:20 PM
bparanj is offline Click Here to See the Profile for bparanj Click here to Send bparanj a Private Message Visit bparanj's homepage! Find more posts by bparanj Add bparanj to your buddy list Edit/Delete Message Reply w/Quote
GVR
Junior Member

Registered: Aug 2002
Location: FL
Posts: 20

Q1 - A,B and C
Since the analyst has only a domain class diagram, the above next steps should help in deployment.

Q2 - A & D.

3+ tier architecture would help scale on connections and supporting several concurrent users - lveraging connection pooling. Disabling auto commit would help manage the transaction ensuring sync level -2.

Report this post to a moderator | IP: Logged

Old Post 08-28-2002 04:02 PM
GVR is offline Click Here to See the Profile for GVR Click here to Send GVR a Private Message Find more posts by GVR Add GVR to your buddy list Edit/Delete Message Reply w/Quote
All times are GMT. The time now is 02:29 PM. Post New Thread    Post A Reply
  Last Thread   Next Thread
Show Printable Version | Email this Page | Subscribe to this Thread

Forum Jump:
Rate This Thread:

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is OFF
 

< Contact Us - Objects by Design >

Powered by: vBulletin Version 2.3.5
Copyright ©2000 - 2017, Jelsoft Enterprises Limited.
Copyright 1999-2005, Objects by Design, Inc.