Breif UML(Unified Modelling Language)
Waterfall Software life cycle consist of the following phases
5. Verification and Validation
Analysis of the customer requirement could be designed in number of ways and if we feel the customer requirement is related with OOD it will be better that we convert our Analysis of customer requirement in to UML Diagrams
UML stands for Unified modeling language and a model is a simplification of reality. To understand and resolve the problem , the user can resolve the solution either in form or procedural oriented approach or object oriented approach. UML is based on giving solution in terms of Object oriented approach.
User who has the knowledge in object oriented approach will be in better position to understand the UML. UML has a set of diagrams which will help to visualize the model to understand the problem better.
User must have brief knowledge about Object Oriented Design concepts such as
UML diagrams could be classified into static (S) and Dynamic (D) diagrams
1.Class diagram (S)
2.Object diagram (S)
3.Use case diagram (D)
6.state chart diagram(D)
7.Activity diagram (D)
8.Component diagram (S)
9.Deployment diagram (S)
S- Static diagram
D- Dynamic diagram
Hints about UML diagrams
1. Class and Object diagrams are similar in nature, only difference is that object are real in nature whereas classes are Conceptual diagram
2. Component diagrams are real in nature, where components are deployed on a node
3. To represent state machine state chart and activity diagrams are used
4. Componenet diagram and Deployment diagram are decided at the end of the design
5. Classification of Interaction diagram are sequence and Collaboration diagram
6. Sequence diagram can be used to visualize the use case, where timely ordering of communication between messages can be represented
7.Collaboration diagram are used to represent communication between objects ,where timing is not important where sequence number can be used to represent the communication between message
8. Activity diagram is used to represent the behavior or logic of use case, It is similar to flow chart but advanced techniques like fork,join,merge and Branch can be represented
9. Use case diagram - Function of use case depends on user convenience
10.Component diagrams consist of classes or objects serve as input to a software system's deployment diagram
11. Component diagrams illustrate the pieces of executable,libraries,files,documents and tables that will make up a system. A component diagram has a higher level of abstraction than a Class Diagram - usually a component is implemented by one or more classes (or objects) at run time. They are building blocks so a component can eventually encompass a large portion of a system.
12.Activity diagram apart from fork, join, merge and branch it also uses the concept of swim lane. A swim lane (or swimlane) is a visual element used in process flow diagrams that depict what or who is working on a particular subset of a process. Swim lanes are arranged either horizontally or vertically and are used for grouping the sub-processes according to the responsibilities of those swim lanes
13. To draw a sequence diagram for a use case we have to identify the objects involved in the use case and arrange the objects from left to right depending upon the involvement and identify the messages involved in communication between the objects.
14. Communication messages in use case diagram can be synchronous,asynchronous or self referenced messages. synchronous wait for the response from the client before proceeding further and in case of asynchronous it will not wait for the response and self referenced message involves communication between the same objects
15. Class diagram is represented by rectangle which is divided into three parts
First part: Class Name
Second part: Variables
Third part: Methods/functions
To denote the access specifiers for methods and variables special symbols are used as
* Public (+)
* protected (#)
* ellipsis (...) is used to denote that only important variables and methods are included in class diagram .
16, In class diagram , Interfaces are represented as similar to class diagram but the interface names are represented within stereotype such as <> and only methods are included in the object diagram and if we wish to represent only the interface name and to avoid methods in interface notation iconic notation can be used.
17. Relationship between the class diagram can be represented as
* Aggregation and
association link indicates that two classes have a relationship. In order to identify aggregation and composition relation ship first the class should have a association relation ship between them, if class A is dependent on class B and even class A exist even the relation ship will not destroyed indicate Association relationship indicated by unshaded triangle. If class A is dependent on class B , where class A will not exist , if the relation ship is not there indicates stronger relation ship of aggregation indicates composition relation ship indicated by shaded triangle. For example legs made of chair where the relationship between leg and chair is composition . library are made of Books, Here Books will exist even library not exist indicates aggregation relation ship.