Object Oriented Concepts Introduction 1 Unnat-e Infotech 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 2 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 3 Unnat-e Infotech 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 4 Unnat-e Infotech Constructs Classes Objects Relationships – Association – Aggregation – Inheritance Polymorphism 5 Unnat-e Infotech 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 6 Unnat-e Infotech 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 7 Unnat-e Infotech 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 8 Unnat-e Infotech Back to OO – Some principles Abstraction Open closed principle Single responsibility principle 9 Unnat-e Infotech 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???????? 10 Unnat-e Infotech OO in maintenance projects Agile methods – Extreme Programming – – – – – – Standup meetings Pair programming Client involvement Small frequent releases Use Cases Continuous Refactoring and testing 11 Unnat-e Infotech Summary Basic concepts covered using a programming language Case study Benefits/drawbacks of OO 12 Unnat-e Infotech OO Tools ArgoUML Poseidon Together C Rational Rose 13 Unnat-e Infotech References Books – Object oriented Modelling and Design – Rumbaugh – UML User guide – Booch, Rumbaugh, Jacobson – UML distilled – Martin Fowler URLs – – – – www.martinfowler.com www.holub.com www.omg.org, www.uml.org http://www.intelligentedu.com/newly_researched_free _training/UML.html – www.objectmentor.com 14 Unnat-e Infotech