CS6502 OBJECT ORIENTED ANALYSIS AND DESIGN LTPC 3003 UNIT I UML DIAGRAMS Introduction to OOAD – Unified Process – UML diagrams – Use Case – Class Diagrams– Interaction Diagrams – State Diagrams – Activity Diagrams – Package, component and Deployment Diagrams. 9 UNIT II DESIGN PATTERNS 9 GRASP: Designing objects with responsibilities – Creator – Information expert – Low Coupling – High Cohesion – Controller – Design Patterns – creational – factory method – structural – Bridge – Adapter – behavioral – Strategy – observer. UNIT III CASE STUDY 9 Case study – the Next Gen POS system, Inception -Use case Modeling – Relating Use cases – include, extend and generalization – Elaboration – Domain Models – Finding conceptual classes and description classes – Associations – Attributes – Domain model refinement – Finding conceptual class Hierarchies – Aggregation and Composition. UNIT IV APPLYING DESIGN PATTERNS 9 System sequence diagrams – Relationship between sequence diagrams and use cases Logical architecture and UML package diagram – Logical architecture refinement – UML class diagrams – UML interaction diagrams – Applying GoF design patterns. UNIT V CODING AND TESTING Mapping design to code – Testing: Issues in OO Testing – Class Testing – OO Integration Testing – GUI Testing – OO System Testing. 9 TOTAL: 45 PERIODS TEXT BOOK: 1. Craig Larman, “Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development”, Third Edition, Pearson Education, 2005. REFERENCES: 1. Simon Bennett, Steve Mc Robb and Ray Farmer, “Object Oriented Systems Analysis and Design Using UML”, Fourth Edition, Mc-Graw Hill Education, 2010. 2. Erich Gamma, a n d Richard Helm, Ralph Johnson, John Vlissides, “Design patterns: Elements of Reusable Object-Oriented Software”, Addison-Wesley, 1995. 3. Martin Fowler, “UML Distilled: A Brief Guide to the Standard Object Modeling Language”, Third edition, Addison Wesley, 2003. 4. Paul C. Jorgensen, “Software Testing:- A Craftsman’s Approach”, Third Edition, Auerbach Publications, Taylor and Francis Group, 2008.
TABLE OF CONTENTS S.NO TOPICS PAGE NUMBER UNIT I 1 Introduction to OOAD 1 2 Unified Process 2 3 Use Case 4 4 UML diagrams 6 5 Class Diagrams 8 6 Interaction Diagrams 10 7 State Diagrams 11 8 Activity Diagrams 12 9 Package, component and Deployment Diagrams. 13 UNIT II 10 GRASP: Designing objects with responsibilities 15 11 Creator 16 12 Information expert 19 13 Low Coupling 20 14 High Cohesion 18 15 Controller 15 16 Design Patterns 15 17 creational 16 18 factory method 18 19 structural –Bridge – Adapter – behavioral – Strategy – observer. 22 UNIT III 20 Case study – the Next Gen POS system 27 21 Inception 27 22 Use case Modeling 28 33 Relating Use cases 28 24 include, extend and generalization 29 25 Elaboration,Domain Models 30 26 Finding conceptual classes and description classes 31 27 Associations – Attributes – Domain model refinement 32 28 Finding conceptual class Hierarchies 32 29 Aggregation and Composition. 33 UNIT V 30 System sequence diagrams 35 31 Relationship between sequence diagrams and use cases 37
32 Logical architecture and UML package diagram 38 33 Logical architecture refinement 39 34 UML classdiagrams 40 35 UML interaction diagrams 40 36 Applying GoF design patterns. 41 UNIT VCODING AND TESTING 37 Mapping design to code 42 38 Testing: Issues in OO Testing 43 39 Class Testing 44 40 OO IntegrationTesting 45 41 GUI Testing 46 42 OO System Testing. 47
CS6502-OOAD CSE-III CSE UNIT I UML DIAGRAMS PRE-REQUSITE DISCUSSION: The Unified Modeling Language is a visual language for specifying, constructing and documenting the artifacts of systems. Unified Modeling Language (UML) is a standardized general-purpose modeling language in the field of software engineering. The standard is managed, and was created by, the Object Management Group. UML includes a set of graphic notation techniques to create visual models of software-intensive systems. CONCEPTS: The Unified Modeling Language is commonly used to visualize and construct systems which are software intensive. Because software has become much more complex in recent years, developers are finding it more challenging to build complex applications within short time periods. Even when they do, these software applications re often filled with bugs, and it can take programmers weeks to find and fix them. This s time that has been wasted, since an approach could have been used which would have educed the number of bugs before the application was completed. Three ways to apply UML: 1. UML as sketch: Informal and incomplete diagrams Created to explore difficult parts of the problem 2. UML as blueprint: Detailed design diagram Used for better understanding of code 3. UML as programming language: Complete executable specification of a software system in UML Three perspectives to apply UML: 1. Conceptual perspective: Diagrams describe the things of real world. UML diagrams are used to describe things in situations of real world. Raw UML object diagram notation used to visualize. 2. Specification perspective: Diagrams describe software abstractions or components with specifications and interfaces. It describes the real world things, software abstraction and component with specification and interfaces. Raw UML class diagram notation used to visualize software components. 3. Implementation perspective: Diagrams describe software implementation in a particular technology 1 S.SHARMILA 2015-2016