> Can someone explain the different steps we follow
> while designing a project using OOAD and UML.
>
> Thanks to all of you.
> Satya
Hello,
UML doesn't describe any procedure or sequence of steps.
OOAD uses UML notation.
In OOAD you follow the following steps:
1) Initial analisys
2) Analisys of System Objects and Classes
3) Dynamic Modeling
4) Object Model Design
5) Dynamic Design
6) System Design
Tipically, in every step you use more UML diagrams.
Regards
Paolo
The following are the steps I use for OOAD using UML.
1)Identifying users, Actors and then write the usecases.
2)Drawing sequence/collaboration diagram
3)Drawing activity diagram
4)Identifying objects/Classes/interfaces. Then draw the class diagram of the system.
Sachin.
> The following are the steps I use for OOAD using UML.
>
> 1)Identifying users, Actors and then write the
> usecases.
> 2)Drawing sequence/collaboration diagram
> 3)Drawing activity diagram
> 4)Identifying objects/Classes/interfaces. Then draw
> the class diagram of the system.
>
>
> Sachin.
I guess I would add a little bit here the sequence of these steps is very important and is of a crucial nature in the design itself so the steps would be as follows : -
1) Activity diagrams
2) Use cases
3) Sequence diagrams
4) Collaboration diagrams
5) Class diagrams
6) state diagrams
7) Component diagrams
8) Deployment diagrams
Though I would say you could live without the last three. and still reach a sound design making a choice between the Collaboration and the Class diagrams. I would personally prefer class diagrams.
There's one thing I feel is very important and do
after writing use cases and before drawing interaction diagrams.
DOMAIN MODELING, I've found it invaluable.
GRASP patterns are invaluable in improving the quality of your designs.
A quick search on the web should lead you to the GRASP patterns, by Craig Larman.
>
> 1) Activity diagrams
>
> 2) Use cases
>
> 3) Sequence diagrams
>
> 4) Collaboration diagrams
>
> 5) Class diagrams
>
> 6) state diagrams
>
> 7) Component diagrams
>
> 8) Deployment diagrams
>
I would comment on the list. I suggest step 5 (class diagrams) goes alongside the 1st step (if not before it, but it depends). Thus you are first performing analysis, and seq/coll diagrams belong somewhere in between analysis & design (depending on the details level)
Here is an approach that has helped me:
1. From the requirements write use cases
2. From the use cases identify subsystems and components.
(see http://www.theserverside.com/patterns/thread.jsp?thread_id=17595
for an example)
3. Develop component diagram
4. Develop "domain" class diagram
5. Adopt/develop a framework (say Struts) to accomplish use case goals
6. Develop "framework" class diagram
6. Develop sequence diagrams
7. Develop deployment diagram
Nalla