CS OBJECT ORIENTED ANALYSIS AND DESIGN

Slides:



Advertisements
Similar presentations
UML (Sequence Diagrams, Collaboration and State Chart Diagrams) Presentation By - SANDEEP REDDY CHEEDEPUDI (Student No: ) - VISHNU CHANDRADAS (Student.
Advertisements

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
Systems Analysis and Design 8th Edition
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Department of Computing
Software Engineering COMP 201
Chapter 15: System Modeling with UML
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Essentials of interaction diagrams Lecture 23 & 24.
Essentials of interaction diagrams Lecture Outline Collaborations Interaction on collaboration diagrams Sequence diagrams Messages from an object.
Component and Deployment Diagrams
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
© Copyright Eliyahu Brutman Programming Techniques Course.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
SE-565 Software System Requirements More UML Diagrams.
Unified Modeling Language
Unit-2 Rumbaugh Methodology Booch Methodology Jacobson Methodology
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Architecture: Component and Deployment Diagrams Patrick Bailey Keith Vander Linden Calvin College.
Lecture 6 Unified Modeling Language (UML)
程建群 博士(Dr. Jason Cheng) 年03月
Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006 An Introduction to.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Systems Analysis & Design 7 th Edition Chapter 5.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML.
Systems Analysis and Design 8 th Edition Chapter 6 Object Modeling.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Design Jon Walker. More UML ● What is UML again?
SWT - Diagrammatics Lecture 4/4 - Diagramming in OO Software Development - partB 4-May-2000.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
Domain Classes – Part 1.  Analyze Requirements as per Use Case Model  Domain Model (Conceptual Class Diagram)  Interaction (Sequence) Diagrams  System.
CS212: Object Oriented Analysis and Design Lecture 34: UML Activity and Collaboration diagram.
 Building Block Building Block  Things in the UML Things in the UML  Structural Things Structural Things  Behavioral Things Behavioral Things  Grouping.
INFO 620Lecture #71 Information Systems Analysis and Design Design Class Diagrams and others INFO 620 Glenn Booker.
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design,
Chapter 3: Introducing the UML
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
UML. Model An abstract representation of a system. Types of model 1.Use case model 2.Domain model 3.Analysis object model 4.Implementation model 5.Test.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
Elaboration popo.
Appendix 3 Object-Oriented Analysis and Design
UML Diagrams By Daniel Damaris Novarianto S..
UNIT 1.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
Unified Modeling Language
UML Diagrams Jung Woo.
Activity Diagrams Activity diagrams describe the workflow behavior of a system.  The diagrams describe the state of activities by showing the sequence.
Business System Development
UML dynamic Modeling (Behavior Diagram)
CIS 375 Bruce R. Maxim UM-Dearborn
OBJECT ORIENTED ANALYSIS AND DESIGN
Analysis models and design models
Chapter 5.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
CIS 375 Bruce R. Maxim UM-Dearborn
Appendix A Object-Oriented Analysis and Design
Appendix 3 Object-Oriented Analysis and Design
Presentation transcript:

CS6502 - OBJECT ORIENTED ANALYSIS AND DESIGN Subject Handler, Ms.K.Esther Rani ,AP Department of IT

OBJECTIVES To learn basic OO analysis and design skills through an elaborate case study. To use the UML design diagrams To apply the appropriate design patterns

SYLLABUS

SYLLABUS

Book & page no. used for teaching LESSON PLAN Unit Lecture No. Topics Book & page no. used for teaching Topic No. UNIT I 1 Introduction to OOAD T1 & 1.1 1.0 2 Unified process T1 & 1.6-1.9 1.3 3 UML diagrams T1 & 1.4 – 1.6 1.2 4 Use case T2 & 61 - 69 6 5 Class diagrams T1 & 3.36-3.61 3.5 Interaction diagrams T1 & 3.62-3.94 3.6 7 State diagrams T1 & 5.1-5.7 5.1 8 Activity diagrams T1 & 2.48-2.55 2.10 9 Package, component and deployment diagrams T1 &5.14-5.19 5.3

Book & page no. used for teaching LESSON PLAN Unit Lecture No. Topics Book & page no. used for teaching Topic No. UNIT II 10 GRASP: designing objects with responsibilities T1 & 4.1-4.7 4.1 11 Creator & information expert T1 & 4.8-4.12 4.2&4.3 12 Low coupling & Controller T1 & 4.13-4.25 4.4 & 4.5 13 High cohesion T1 & 4.26-4.29 4.6 14 Design patterns -creational T2 & 403 - 406 23 15 Factory method T2 & 440 - 442 26 16 Structural NET 17 Bridge -adapter T2 & 436-438 18 Behavioral 19 Strategy - observer T2 & 447 - 470

Book & page no. used for teaching LESSON PLAN Unit Lecture No. Topics Book & page no. used for teaching Topic No. UNIT III 20 Case study – the Next Gen POS system T1 & 1.9-1.10 1.4 21 Inception T1 & 1.10-1.12 1.5 22 Use case Modeling T1 & 1.16-1.32 1.7 23 Relating Use cases – include, extend and generalization T1 & 1.33-1.36 1.8 24 Elaboration T1 & 2.1-2.2 2.1 Domain Models T1 & 2.2-2.5 2.2 25 Finding conceptual classes and description classes T1 & 2.5-2.12 2.3&2.4 26 Associations & Attributes T1 & 2.13 -26 2.5&2.6 27 Domain model refinement T1 & 2.28-2.29 2.8 28 Finding conceptual class Hierarchies T1 & 2.30-2.37 2.9

Book & page no. used for teaching LESSON PLAN Unit Lecture No. Topics Book & page no. used for teaching Topic No. UNIT IV 29 System sequence diagrams T1 & 3.1-3.4 3.1 30 Relationship between sequence diagrams and use cases T1 & 3.5-3.7 3.2 31,32 Logical architecture and UML package diagram T1 & 3.8-3.20 3.3 33,34 Logical architecture refinement T1 & 3.21-3.36 3.4 35,36 UML class diagrams T1 & 3.36-3.61 3.5 37,38 UML interaction diagrams T1 & 3.62-3.94 3.6 39,40 Applying GoF design patterns T1 & 4.34-4.48 4.8

Book & page no. used for teaching LESSON PLAN Unit Lecture No. Topics Book & page no. used for teaching Topic No. UNIT V 41,42 Mapping design to code T1 &5.20-5.41 5.4 43 Testing: Issues in OO Testing T2 & 385 - 389 26 44,45 Class Testing NET 46,47 OO Integration Testing 48 GUI Testing 49,50 OO System Testing

SYNOPSIS Highlights of the UNIT - 1 : UP PHASES ACTIVITY DIAGRAM UML STATE DIAGRAMS UML DEPLOYMENT AND COMPONENT DIAGRAMS

SYNOPSIS Highlights of the UNIT - 2 : GRASP: PATTERNS GOF DESIGN PATTERNS

SYNOPSIS Highlights of the UNIT - 3 : NEXTGEN PoS SYSTEM USE CASE DIAGRAM CONCEPTUAL CLASS ASSOCIATION & AGGREGATION

SYNOPSIS Highlights of the UNIT - 4 : LOGICAL ARCHITECTURE UML CLASS DIAGRAMS UML INTERACTION DIAGRAMS

SYNOPSIS Highlights of the UNIT - 5 : TESTING OO CODE CLASS TESTING PROCESS TESTING TOOLS TESTING LIFE CYCLE

UNIT I UP PHASES The unified process phases are Inception Elaboration Construction Transition UNIT I

ACTIVITY DIAGRAM It shows the flow of events with our system & what is going on inside a use case or among several classes . It can be used to model an entire business process. Start state Start state shows the beginning of a workflow on an activity diagram . A start state is represented by a solid circle. End state An end state represents a final or terminal state on an activity diagram. A end state is represented by a bull’s eye. State transition A state transition shows what activity follows after another . It is represented by a solid line with an arrow.

Cont.. Activity It represents the performance of a task within the workflow . Activity is represented by a round box (horizontal top and bottom with convex sides) Decision A decision is a point in an activity diagram where guard conditions(UML calls) are used to indicate different possible transitions. It is represented by a diamond symbol. Synchronization bar A synchronization bar allows to show concurrent threads in a work flow of a use case . It is represented by a thick horizontal or vertical line.

EXAMPLE DIAGRAM FOR LIBRARY MANAGEMENT SYSTEM (ISSUE BOOK )

STATE CHART DIAGRAM It describes the behaviour of system. Basic elements with notations: Initial state ( Solid circle) State ( Rounded rectangle) Transition ( Arrow labeled with event/action) Final state ( Bull’s eye )

EXAMPLE DIAGRAM FOR LIBRARY MANAGEMENT SYSTEM ( BOOK)

COMPONENT DIAGRAM It describes the organization of physical components and shows the physical aspect of the object oriented software system. Basic symbols with notations: Component ( Rectangle with two tabs at left side) Interface ( ) Dependency (Dashed arrow )

EXAMPLE DIAGRAM FOR BOOK BANK SYSTEM

DEPLOYMENT DIAGRAM It describes run time configuration of processing nodes among components of the system. Basic elements with notations: Node ( Cube ) Connection (Solid line / Dashed arrow) TWO types of node: 1.Device node – Example: Computer , Mobile Phone 2.Execution Environment Node – Example: OS , DB engine, Web browser and technologies.

GRASP PATTERNS Creator - Creating objects for OO system UNIT II GRASP PATTERNS GRASP-General Responsibility Assignment Software Pattern Creator - Creating objects for OO system Information expert – Delegating responsibilities on classes Low coupling – Making low dependency between classes Controller- Responsible for receiving and handling a system message High cohesion – Used to keep objects focused , manageable & understandable .

GOF DESIGN PATTERN It is a foundation of all other patterns. 1.Adaptor – convert programming interface of one class to other 2.Singleton – Single instance is created for one class 3.Factory – Implement the concept of factory 4.Observer – Software design pattern to denote the dependents.

UNIT III NEXTGEN POS SYSTEM It is a computerized application to record sales and handle payments It is used in retail store It includes hardware components such as computer, bar code scanner and the software to run the system. It supports multiple client side terminals

USE CASE DIAGRAM It shows a set of use cases and actors and their relationships . The functionality of system is described in a no of different use cases each of which represents a specific flow of events in the system. Actor It is the user (or) someone / something outside the system that interacts with the system (it must be a noun) & it is represented by a stickman. Use case It represents a sequence of actions (it must be a verb) & it is represented by an oval (ellipse) Eg: Borrow book is the one of the functionalities in Library system. Borrow Book

Cont.. Relationships 1.communication –solid path connection between actor &usecase. Unidirectional & Bi-directional 2.uses-relationship between usecases is shown by generalization arrow from usecase. 3.extends-it is used when one usecase is similar to other usecase. Types of usecase Actor’s name and use case names should follow the capitalization. Use cases could be viewed as concrete or abstract. An abstract use case is not complete and has no initiation actors but is used by a concrete use case, which does interact with actors.

EXAMPLE DIAGRAM FOR LIBRARY MANAGEMENT SYSTEM

CONCEPTUAL CLASS It is an object , thing or idea to understand the real world situation THREE strategies to find conceptual class Reuse or modify existing models Use a category list Identify noun phrases

ASSOCIATION AND AGGREGATION ASSOCIATION It is a relationship between two or more classes to indicate connections between them. Examples: 1 has 1 1 belongs to 1 Customer Account Student Class

Cont.. AGGREGATION It is a special type of association used to model a whole part relationship Example:

LOGICAL ARCHITECTURE UNIT IV It is the organization of software classes into packages, systems and Layers. THREE layers: 1.UI 2.Domain Objects 3.Technical services

CLASS DIAGRAM Class is a set of objects that share the same attributes, operations & relationships. It is represented by a compartmented rectangle. It shows the structure of software. It has 3 compartments Top  shows class name Middle  shows class attributes Bottom  shows class operation(behavior) Attributes It defines the characteristics or structure of a class. It is displayed in the middle of the compartmentalized rectangle. Operation It shows the service provided by the class . It is displayed in the bottom of the compartmentalized rectangle.

EXAMPLE CLASS DIAGRAM FOR ATM

INTERACTION DIAGRAM SEQUENCE DIAGRAM Dimensions 1.Vertical dimension represents time 2.Horizontal dimension represents different objects. Life line -Vertical line is called the object’s life line. It represents the object’s existence during the interaction. Objects -Objects are shown as a box at the top of dashed vertical line. The object role is shown as a vertical dashed line, the life line. Message - Each message is labeled with the message name.Each message is represented by an arrow between the life lines of 2 objects. Focus of control - A focus of control shows the period of time during which an object is performing an action. It represented by a tall, thin rectangle.

EXAMPLE DIAGRAM FOR PASSPORT SYSTEM

COLLABORATION DIAGRAM Collaboration diagram represents a collaboration which is a set of objects related in particular context, and interaction , which is a set of messages exchanged among the objects to achieve a desired outcome. It is made up of the following basic elements Actors Objects Links Messages

EXAMPLE DIAGRAM FOR PASSPORT SYSTEM

TESTING OO CODE UNIT V Class tests Integration tests System Validation

CLASS TESTING PROCESS How to test? class to be tested results software engineer test cases Why a loop?

TESTING TOOLS Static analyzers Code inspectors Standard enforcers Coverage analyzers (execution verifiers) Output comparators Test file/ data generators Test harnesses Test archiving systems

TESTING LIFE CYCLE 1. Requirements stage 2. Test Plan 3. Test Design. 4. Design Reviews 5. Code Reviews 6. Test Cases preparation. 7. Test Execution 8. Test Reports. 9. Bugs Reporting 10.Reworking on patches. 11.Release to production.

APPLICATION The concepts of Object Oriented Analysis and Design ( OOAD ) are used in Software Development Process for analyzing requirements and designing UML diagrams.

Text Book Craig Larman, "Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development”,Third Edition, Pearson Education, 2005. Thenkalvi.B ”Object oriented analysis and design”, 3rd Edition, Lakshmi Publications, 2013.

ASSIGNMENT TOPICS Case study-the NextGen POS system UML activity diagram and modeling Relationship between sequence diagrams and use cases Applying GoF design patterns UML Component diagram

SEMINAR TOPICS Use case modeling Inception Relating Use cases Domain models Domain model refinement Finding conceptual classes UML package diagram Logical architecture refinement System sequence diagrams GRASP : Designing objects with responsibilities UML deployment and component diagrams

URL’S http://www.uml-diagrams.org http://www.manyppt.com http://www.slideshare.net http://cederling.net/PAA006/L4.html http://www.visual-paradigm.com http://www.sparxsystems.com http://www.tutorialspoint.com http://www.powershow.com http://www.blackwasp.co.uk/GofPatterns.aspx http://www.smartdraw.com

VIDEO LINKS Introduction to OOAD https://www.youtube.com/watch?v=33HN8do2D5Y Introduction to UML https://www.youtube.com/watch?v=FkRwbVUVFvE Introduction to Association, Aggregation & Composition www.youtube.com/watch?v=6cQs1JkUrY0 Activity diagram https://www.youtube.com/watch?v=yAihwmczqsk Sequence diagram https://www.youtube.com/watch?v=18_kVlQMavE

Cont.. Interaction diagram https://www.youtube.com/watch?v=CJUc2crmrMs Package diagram https://www.youtube.com/watch?v=BgvwzJnUt4A Class diagram https://www.youtube.com/watch?v=9ECRzQqUxdQ Introduction to GRASP www.youtube.com/watch?v=56zNJ_eizC0 State diagram www.youtube.com/watch?v=rrqgM9Ch29Q