Unnat-e Infotech 2 Agenda Design, Software design Definitions of OO constructs Class Diagrams, Sequence Diagrams, State Diagrams Some principles of design Case Study Back To OO OO in maintenance projects What it is not! –It is not a UML session –Less syntax specific, more conceptual
Unnat-e Infotech 3 Modeling a small scale replica of the system a simplification of reality Uses –Communication with clients –Visualization of the system –Discussion of strengths and weaknesses of proposed system before implementation –Provides the big picture – Handling complexity by providing different views of thesystem –Documents the tradeoffs that we make
Unnat-e Infotech 4 Abstraction The selective examination of part of the system The amplification of the relevant and elimination of the irrelevant Technique for dealing with complexity Different applications will abstract different aspects of an object
Unnat-e Infotech 6 Use cases Used in analysis phase Describes an interaction of one or more users with the system Simple Use case diagram depicts the interaction in a graphical format Complex use case diagrams depict actors, system boundary, and use cases of a system. They also depict the relationship between use cases A use case can use another use case A use case can extend another use case
Unnat-e Infotech 7 Simple use case – item checkout Customer sets item on counter Sales clerk swipes bar code reader on item code System looks up UPC code System shows item code and price System adds price to bill amount Error code 1 : item code unreadable Error code 2: item code not found
Unnat-e Infotech 8 Case Study Problem statement –Must be in users language –Can involve UML diagrams for analysis –Analysis may lead to restatement of problem as issues become more clear Use Cases Class diagram Sequence Diagram State Diagram
Unnat-e Infotech 9 Back to OO – Some principles Abstraction Open closed principle Single responsibility principle
Unnat-e Infotech 10 Back to OO Benefits –Abstraction –Encapsulation –Communication –Different views of the same system –Same terminology from requirements to implementation –Loosely coupled systems –Cleaner interfaces between systems –Reuse????????