This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
Read the assignment very carefully several times. Then think about what "technological interesting" parts of the problem there are. Maybe you need to do something asynchronously. Maybe you need to interface with an external system. These things will have a strong influence on your design, so having a list of them helps a lot.
Pay attention on the extraction of requirements:
- Description of the company's history.
- Description of the legacy systems.
- Description of use cases.
- Description of the infrastructure required.
-Assignment document is incomplete, unclear and not practical. You are free to make any reasonable assumptions yourself: that is why part of the delivery is a document where you describe your assumptions and how they affected your solution.
Link texts cited with each type of non-functional requirement:
- Look at all documents that informed the descriptions attached to each requirement.
*) number of demand for system usage and expectation = increase scalability.
*) response time for something = end-user performance.
*) response time te = communication between systems performance.
Consider FR making hypotheses:
- Suppose something already there and do nothing and just document "such a thing already exists and so I will not do anything."
- Suppose something is not there, adding this to your project requirements consider in the proposed architecture. Take care to not complicate your project. Document this assumption too!
Consider NFR making hypotheses:
- Security, scalability, performance, integration, and transactionality gui. Document this assumption too!
Atention - Do not assume anything that will complicate your project, just assume things that are missing and that will give a quality in your project.
Start the deployment diagram, classes, sequences and components. Do not forget to go documenting all assumptions and design decisions that are doing along the construction of diagrams.
1) Do we need to only concentrate on the Domain Model given in the assignment. In our class digram do we need to maintain the same relationship/sequence given the domain model Or we can change the relationship?
2) In my class digram do i need to take all the classes\interfaces given in the domain model Or i can make class digram which does not contain domain model classes\interfaces in the assignment?
3) In domain model there are some classes like customer, In my class digram can i make them as Entity or the classes given in the domain model should only be normal classes or interfaces?
4) How many sequence digram i need to draw? 1 for each usecase or i can create more if required.
5) Do i need to also descripe which design patterns i will be using .
6) Do i need to show all the jsps, controller, entity in the class digram. I have read the book by Mark Cade & Humphrey Sheil, but they have not shown all the jsp, controller in the class digram.
1) Depends on what your assignment. My assingnament is written "All of these objects on the relationship Should be addresses in your solution." So I'm not allowed to change. If yours does not have this ordinance, I believe you can justify the reason for the change.
2)Same situation the answer 1.
3)Yes .. you are free to design your solution.
4) Same situation the answer 1 and 2. I would not advise you to deliver extra things opening opportunities for losing points ..... but that is for you to decide
5) Of course yes! Using DP shows that you are designing a solution flexible, reusable, documents, bla bla (all the old familiar points using DP)
6) There is no explicit rules than show or not. Everything depends on your solution versus your assignament. Remember that you will be judged by the clarity of your UML documentations. So, show everything you find necessary to clarify more your proposed desing.
Remember that you are required to meet all "MUST" your assignament.
I wish you luck and much study on your project!
Joined: Nov 22, 2012
some more question..
1) I have to create only 1 class digram contaning all the classes or i can also create more then one class digram? I think creating 1 class digram would be good.
2) Do i need to also show all POJO classes(getter and setter) in the class digram?
3) If there is any DAO layer do i also need to show DAO classes in the class digram?
TIP - Remember that you'll be being evaluated by the clarity of the diagrams ...
1)You can create more than 1. If you think that will get better clarified for the evaluator if it receives more than 1 diagram, go ahead and do it.
2)It depends on what is required in your assignment. Is written in my assignment "public methods referenced in other diagrams should be provided." See my initial TIP. Provide everything you think that can make your diagram more clear to the evaluator.
3)Again...Provide everything you think that can make your diagram more clear to the evaluator. In my opinion I think you should show. Using the DAO pattern is an important persistence part option of your solution.
But do not forget ... you are the architect!
Joined: Nov 22, 2012
I have created class diagram, sequence diagram and component Diagram.
1) I am confused about the deployment diagram. what details i need to show in the deployment diagram. can you please provide any example what i need to consider and what i need to show in the deployment diagram?
2) Do i need to provide description of each digram also or i need to only provide diagrams and risks and assumptions only ? Or do i need to provide some description of the architecture i am creation like why i am using this architecture, advantages of some specific DP i have used etc...
1) Provide any details that you think is important to clarify your diagram related to your proposed solution. In the book Sun Certified Enterprise Architect for Java EE Study Guide Mark Cade, Humphrey Sheil is an example.
2)You are required to do everything that your assignment says you should do. See the "MUST" in your assingnament.
Joined: Nov 22, 2012
1) Do i need to show logging, exception handling in my class digram and sequence digram? There is no requirement in the assignment for these. If i include all these in my design, especially in the class diagram and sequence diagrams, i fear that diagrams will be cluttered with these accessories classes.
can I show logging and exception handling as given in book Sun Certified Enterprise Architect for Java EE Study Guide Mark Cade, Humphrey Sheil in class diagram?
2) Do i need to use UML 2.0 or i can use eariler version also. I am using latest starUML which i think does not provide UML 2.0 for component diagrams?
3) In my class diagram for EJB i am showing (Local and Remote) interfaces and there implementations. Is this mandatory to show local and remote interface or I can only show implementations.
1)YOU are the architect and free to show what's necessary in your diagrams. My tip is: try to avoid artifacts infrastructure, putting in diagrams artifacts that you designed to solve the assignament. Almost everyone has done as the Mark Cade book.
2) See the "MUST" in your assingnament.
3) In my opinion Remote EJB interfaces is somenthing (architecturally) very important that can influence the performance of your solution and I believe it should be presented and justified...but YOU are the architect....
But always remember ... YOU ARE architect and must make their own decisions.
My assignment states the diagram must be UML complaint,it deos not mention any version, I used StartUML 5.0 which I believe is 1.4 complaint. Do you have any thoughts/opinions on whether I need to switch to UML 2.0 notation?
If I indeed switch, what would be the easiest way to switch, my design is almost complete, I would prefer not spending time redrawing everything again.
Any help is appreciated.
SCJP 5.0, SCBCD 5.0
Working towards OCMJEA, cleared part 1,2 and 3. Yet to attend training
Joined: Nov 22, 2012
You can create your UML in UML 1.0 no need to change it in 2.0. I have also used starULM 5.0.2 version.
Just remember do not mix both (UML 1.0 and UML 2.0). just use either UML 1.0 or UML 2.0
Joined: Apr 16, 2008
Thank you Tarang.
I have used Start UML 5.0.2 for all my diagrams, whats confusing is how this version seems to have blended the two UML versions.
Ex. Alt/Opt Interaction frames look like UML 2.0, but they have Objects and not life lines in sequence diagrams.
Component diagram is definetely not UML 2.0.
Did you down load some extra plugins etc or did you use StarUML basic download as is?
Joined: Nov 22, 2012
I have not downloaded any plug in for StarUML. No need to worry Just use StarUML 5.0.2 and create your diagrams.