© 2005 Prentice Hall5-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.

Slides:



Advertisements
Similar presentations
Chapters 7 & 9 System Scope
Advertisements

Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
Object-Oriented Analysis and Design: Object Modeling – Class Diagrams
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Objectives Explain how events can be used to identify use cases that define requirements Identify and analyze events and resulting use cases Explain how.
Systems Analysis and Design in a Changing World, Fourth Edition
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 8 The Enhanced Entity- Relationship (EER) Model.
Chapter 14 (Web): Object-Oriented Data Modeling
© 2005 Prentice Hall8-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
© 2005 Prentice Hall3-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Overview Objective: refine information gathered
2Object-Oriented Analysis and Design with the Unified Process Events and Use Cases  Use case  Activity the system carries out  Entry point into the.
חוזים – Contracts 1. Larman – Chapter 10 – SSDs 10.2 What are System Sequence Diagrams? (introduction) Use cases describe how external actors interact.
UML Class Diagrams: Basic Concepts. Objects –The purpose of class modeling is to describe objects. –An object is a concept, abstraction or thing that.
Modern Systems Analysis and Design Third Edition
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 10 Structuring.
Chapter 7: The Object-Oriented Approach to Requirements
Chapter 5: Modeling Systems Requirements: Events and Things
Computer System Analysis Chapter 10 Structuring System Requirements: Conceptual Data Modeling Dr. Sana’a Wafa Al-Sayegh 1 st quadmaster University of Palestine.
Systems Analysis and Design in a Changing World, Tuesday, Feb 27
Chapter 8 Structuring System Data Requirements
Chapter 7 Data Modeling with Entity Relationship Diagrams Database Principles: Fundamentals of Design, Implementation, and Management Tenth Edition.
Systems Analysis and Design in a Changing World, Fifth Edition
Chapter 8 Structuring System Data Requirements
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 8 Slide 1 Chapter 9 Structuring System Data Requirements.
1 ER Modeling BUAD/American University Entity Relationship (ER) Modeling.
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.
5 Systems Analysis and Design in a Changing World, Fourth Edition.
Systems Analysis and Design in a Changing World, Fifth Edition
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
Association Class Generalization/Specialization Whole-Part Page More Associations 1.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 4 - Domain Classes.
1 © Prentice Hall, 2002 Chapter 14: Object-Oriented Data Modeling Modern Database Management 6 th Edition Jeffrey A. Hoffer, Mary B. Prescott, Fred R.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 15: Object-Oriented Data Modeling Modern Database Management 9 h Edition Jeffrey A.
CHAPTER 13: OBJECT-ORIENTED DATA MODELING (OVERVIEW) © 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Modern Database Management 11 th Edition.
© 2005 Prentice Hall9-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
Objectives Explain how events can be used to identify use cases that define requirements Identify and analyze events and resulting use cases Explain.
5 Systems Analysis and Design in a Changing World, Fifth Edition.
What is a Structural Model?
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Static Modeling Chapter 8 Part of Requirements Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
Chapter 11 Operation Contracts. What They Are An operation is a specification of a transformation or query that an object may be called on to execute.
COMP 6471 Software Design Methodologies Winter 2006 Dr Greg Butler
Systems Analysis and Design in a Changing World, Fourth Edition
Chapter 9 Structuring System Data Requirements Modern Systems Analysis and Design Fifth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
CIS 210 Systems Analysis and Development Week 6 Part I Structuring Systems Data Requirements,
Domain Model A representation of real-world conceptual classes in a problem domain. The core of object-oriented analysis They are NOT software objects.
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
1 Chapter 9: Operation Contracts Chapter 13 in Applying UML and Patterns Book.
CHAPTER 13: OBJECT-ORIENTED DATA MODELING (OVERVIEW) Modern Database Management 11 th Edition Jeffrey A. Hoffer, V. Ramesh, Heikki Topi © 2013 Pearson.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 10 Structuring.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
5 Systems Analysis and Design in a Changing World, Fourth Edition.
Chapter 10 Structuring System Requirements: Conceptual Data Modeling
Business System Development
DATA REQIREMENT ANALYSIS
UML Class Diagrams: Basic Concepts
Software Engineering Lecture #11.
Chapter 9 Structuring System Data Requirements
Chapter 10 Structuring System Requirements: Conceptual Data Modeling
Chapter 20 Object-Oriented Analysis and Design
Systems Analysis – ITEC 3155 Modeling System Requirements – Part 2
Stumpf and Teague Object-Oriented Systems Analysis and Design with UML
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Chapter 10 Structuring System Requirements: Conceptual Data Modeling
Lecture 10 Structuring System Requirements: Conceptual Data Modeling
Presentation transcript:

© 2005 Prentice Hall5-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.

© 2005 Prentice Hall5-2 Learning Objectives Discover concepts used in the domain model. Identify attributes of concepts. Derive the associations between concepts. Distinguish an instance of a concept from a concept.

© 2005 Prentice Hall5-3 Learning Objectives (continued) Understand the use of multiplicity in associations. Know when to use whole-to-part associations such as aggregations and compositions. Find generalization-specialization hierarchies. Complete system operation contracts.

© 2005 Prentice Hall5-4 Overview Chapter 5 discusses Steps 5 and 6 of the process for object-oriented systems analysis. It introduces the domain model and system operation contracts. There is one domain model for the system – a static model showing the conceptual scope of the entire system. Its components are concepts, their attributes, and associations between concepts. It also shows hierarchies of concepts.

© 2005 Prentice Hall5-5 Overview (continued) It is helpful to construct the domain model one use case at a time in order to understand which concepts, attributes, and associations are relevant to each use case. The final step in object-oriented systems analysis is to write a contract for each system operation. The contracts are derived from the use case narratives and the domain model.

© 2005 Prentice Hall5-6 Overview (continued) Each contract specifies what changes in the state of the system are required after the system operation has executed successfully. These system operation contracts will be the basis for object-oriented design.

© 2005 Prentice Hall5-7 Procedure for Object-Oriented Systems Analysis Step 1. Identify the business events and make an event table. Step 2. Identify the use cases and produce a use case diagram for the system. Step 3. Write a use case narrative describing the system’s response to each business event.

© 2005 Prentice Hall5-8 Procedure for Object-Oriented Systems Analysis (continued) Step 4. Draw a system sequence diagram for each use case scenario. Step 5. Produce a domain model showing the concepts, attributes and associations in the problem domain of the system. Step 6. Write a contract for each system operation.

© 2005 Prentice Hall5-9 Step 5 of Object-Oriented Systems Analysis Produce a domain model showing the concepts, attributes, and associations in the problem domain of the system.

© 2005 Prentice Hall5-10 Domain Model.

© 2005 Prentice Hall5-11 Concepts, Attributes, and Associations A concept is an abstraction of a thing, a person, or an idea. It is represented by a rectangle. An attribute is a characteristic of a concept which may have a value. Attribute names appear in the lower compartment of the concept rectangle. An association is a significant connection between concepts. It is represented by a line connecting a pair of concepts.

© 2005 Prentice Hall5-12 Concepts Identifying and adding concepts to the domain model is Step 5a of the process for object-oriented systems analysis.

© 2005 Prentice Hall5-13 Finding Concepts 1.Look for nouns or noun phrases describing the problem domain. 2.Use a checklist of concept categories. (See Figure 5.2) Include a concept in the domain model when the system needs to store data about the concept to respond to a future event.

© 2005 Prentice Hall5-14 Concepts.

© 2005 Prentice Hall5-15 Attributes Identifying and adding attributes to the domain model is Step 5b of the process for object-oriented systems analysis.

© 2005 Prentice Hall5-16 Attributes (continued) Attributes describe concepts. ConceptStudentProfessorSection Attributes:studentIdentifierprofessorIdentifiernumber studentNameprofessorNamemeetingTime studentAddressprofessorAddressmeetingPlace major classLevel titlemaximum NumberOf Students

© 2005 Prentice Hall5-17 Attributes (continued).

© 2005 Prentice Hall5-18 Attributes and Instances An instance of a concept is a specific occurrence of a concept type. Student Concept: Student Instance 1: Student Instance 2: AttributesValues studentIdentifier studentNameLouella FernbeeMortimer Snow studentAddress123 Any St.456 Some St. majorCISCS classLevelJuniorSophomore

© 2005 Prentice Hall5-19 Associations Identifying and adding associations to the domain model is Step 5c of the process for object-oriented systems analysis.

© 2005 Prentice Hall5-20 Associations (continued).

© 2005 Prentice Hall5-21 Associations (continued) Always model associations explicitly; never use an attribute to imply an association.

© 2005 Prentice Hall5-22 Instances of Associations There are instances of associations as well as instances of concepts. Association: Enrolled In Instance: studentIdentifier = associated with sectionNumber = CIS-4-01

© 2005 Prentice Hall5-23 Reflexive Associations A concept may be associated with itself.

© 2005 Prentice Hall5-24 Multiplicity of Associations The multiplicity of an association is the number of instances of a concept which can be associated with one instance of another concept.

© 2005 Prentice Hall5-25 Multiplicity of Associations (continued) Each end of an association is labeled with the minimum and maximum values of its multiplicity * signifies unlimited (more or many) * alone means zero or more

© 2005 Prentice Hall5-26 Whole-to-Part Associations The UML provides ways to model two types of whole-to-part associations – aggregation and composition.

© 2005 Prentice Hall5-27 Example of an Aggregation.

© 2005 Prentice Hall5-28 Example of a Composition.

© 2005 Prentice Hall5-29 Aggregation and Composition.

© 2005 Prentice Hall5-30 Categories of Whole-to-Part Associations Assemblies of parts Members of groups Containers and their contents

© 2005 Prentice Hall5-31 Associations and Generalization- Specialization Hierarchies Identifying and adding associations and generalization-specialization hierarchies to the domain model is Step 5c of the process for object-oriented systems analysis.

© 2005 Prentice Hall5-32 Generalization-Specialization Hierarchies A generalization-specialization hierarchy classifies a type of concept into its subtypes. Every instance of a subtype must also be an instance of its supertype. Subtypes have the same set of attributes as their supertype. These attributes are not duplicated in the domain model.

© 2005 Prentice Hall5-33 Generalization-Specialization Hierarchies (continued).

© 2005 Prentice Hall5-34 Association Concepts Add an association concept to a domain model when you need to include an attribute which depends upon an association.

© 2005 Prentice Hall5-35 Creating a Domain Model Create a domain model one use case at a time. Then, merge them to form a complete domain model for the entire system.

© 2005 Prentice Hall5-36 Step 6 of Object-Oriented Systems Analysis Write a contract for each system operation.

© 2005 Prentice Hall5-37 System Operation Contracts A system operation is an operation which the system carries out in response to a system input. The system input and the system operation have the same name. This relationship will be an important link between the system analysis models and the system design models.

© 2005 Prentice Hall5-38 Creating System Operation Contracts Identify each system operation in a system sequence diagram. Write the responsibilities of that operation in the contract. Write the preconditions in terms of the required changes in the domain model. Add the postconditions and exceptions.

© 2005 Prentice Hall5-39 Postconditions for System Operation Contracts What instances of concepts must be created or deleted? What attributes have their values modified? To what new values? Which instances of associations must be added or deleted? Use the past tense and the passive voice.

© 2005 Prentice Hall5-40 System Operation Contracts (continued).

© 2005 Prentice Hall5-41 System Operation Contracts (continued).

© 2005 Prentice Hall5-42 Summary Step 5 of object-oriented systems analysis produces a domain model for the system.  Step 5a adds concepts to the domain model.  Step 5b adds attributes to the domain model.  Step 5c adds associations and generalization-specialization hierarchies. Step 6 of object-oriented systems analysis writes a contract for each system operation.