© 2010 Bennett, McRobb and Farmer1 Requirements Analysis 1: Requirements and Classes Based on Chapter 7 of Bennett, McRobb and Farmer: Object Oriented.

Slides:



Advertisements
Similar presentations
© 2005 by Prentice Hall Appendix 3 Object-Oriented Analysis and Design Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Advertisements

Database Design: ER Modelling (Continued)
Design by Contract.
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Software Testing and Quality Assurance
Object-Oriented Analysis and Design. Priorities in O-O Analysis and Design Understanding a system in terms of objects and associations between them. Representing.
03/12/2001 © Bennett, McRobb and Farmer 2002 Refining the Requirements Model Based on Chapter 8 of Bennett, McRobb and Farmer: Object Oriented Systems.
Documenting Requirements using Use Case Diagrams
03/12/2001 © Bennett, McRobb and Farmer Modelling Concepts Based on Chapter 5 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
Requirements Analysis 2 What objects collaborate to achieve the goal of a use case?
Requirements Analysis
03/12/2001 © Bennett, McRobb and Farmer Activity Diagrams Based on Chapter 5 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
03/12/2001 © Bennett, McRobb and Farmer What Is Object-Orientation? Based on Chapter 4 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Object-Orientated Design Unit 3: Objects and Classes Jin Sa.
© Bennett, McRobb and Farmer Specifying Operations Based on Chapter 10 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
03/12/2001 © Bennett, McRobb and Farmer Use Case Diagrams Based on Chapter 6 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
2-1 © Prentice Hall, 2004 Chapter 2: Introduction to Object Orientation (Adapted) Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra,
Chapter 4 Entity-Relationship modeling Transparencies © Pearson Education Limited 1995, 2005.
IS0514 Lecture Week 3 Use Case Modelling.
Chapter 7: The Object-Oriented Approach to Requirements
Refining the Requirements Model
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 2: Modelling.
An Object-Oriented Approach to Programming Logic and Design
University of Toronto at Scarborough © Bennett, McRobb and Farmer 2005 CSCC40 classes 1 Use CasesUse Case Model Campaign Management PackageModelSub-system.
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.
What Is Object-Orientation?
1 WXGC6102: Object-Oriented Techniques Modelling Concepts References: Chapter 5 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
COS 240 Object-Oriented Languages 5.1 Object-Oriented Design Object-oriented thinking begins with object-oriented design.
SYSC 3100 System Analysis and Design Classes Diagrams: Class features.
Asst.Prof. Dr. Surasak Mungsing. 3 Learning Objectives Explain the purpose and various phases of the systems development life cycle (SDLC) Explain when.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: An Aside: The Quickest Tour through the UML that you will ever get.
© 2010 Bennett, McRobb and Farmer1 Specifying Operations Based on Chapter 10 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
WXGC6102: Object-Oriented Techniques Specifying Operations References: Chapter 10 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 4 - Domain Classes.
Slide 1 Structural Modeling Chapter 7. Slide 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 4 Domain Classes.
1 Relational Databases and SQL. Learning Objectives Understand techniques to model complex accounting phenomena in an E-R diagram Develop E-R diagrams.
10/27/20151 WXGC6102: Object-Oriented Techniques Requirements Analysis References: Chapter 7 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
© Bennett, McRobb and Farmer Requirements Analysis Based on Chapter 7 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
Chapter 12 Entity-Relationship Modeling Pearson Education © 2009.
CS551 - Lecture 8 1 CS551 Modelling with Objects (Chap. 3 of UML) Yugi Lee STB #555 (816)
03/12/2001 © Bennett, McRobb and Farmer 2005 Refining the Requirements Model Based on Chapter 8 of Bennett, McRobb and Farmer: Object Oriented Systems.
03/12/2001 © Bennett, McRobb and Farmer 2002 Refining the Requirements Model Based on Chapter 8 of Bennett, McRobb and Farmer: Object Oriented Systems.
© 2010 Bennett, McRobb and Farmer1 Object Interaction – Interaction Overview Diagrams Timing Diagrams Based on Chapter 09 Bennett, McRobb and Farmer Object.
© 2010 Bennett, McRobb and Farmer1 Requirements Analysis 2: Realizing Use Cases Based on Chapter 7 of Bennett, McRobb and Farmer: Object Oriented Systems.
03/12/2001 © Bennett, McRobb and Farmer Modelling Concepts Based on Chapter 5 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Object Interaction – Interaction Overview Diagrams Timing Diagrams
Business System Development
Modelling Concepts Based on Chapter 5 Bennett, McRobb and Farmer
Business System Development
Seminar 4 UML Object Diagram.
Chapter 20 Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
IS0514 Lecture Week 3 Use Case Modelling.
What Is Object-Orientation?
Systems Analysis and Design I
Systems Analysis and Design I
Chapter 5 Architectural Design.
Appendix A Object-Oriented Analysis and Design
Appendix 3 Object-Oriented Analysis and Design
Refining the Requirements Model
Presentation transcript:

© 2010 Bennett, McRobb and Farmer1 Requirements Analysis 1: Requirements and Classes Based on Chapter 7 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design Using UML, (4th Edition), McGraw Hill, 2010.

2© 2010 Bennett, McRobb and Farmer In This Lecture You Will Learn: How an analysis model differs from requirements and design models What makes good analysis Concepts and notation of the class diagram: –Class and Object –Links, Associations and Multiplicities –Attributes, Operations and State

3© 2010 Bennett, McRobb and Farmer Why Analyse Requirements? Requirements (Use Case) model alone is not enough –There may be repetition –Some parts may already exist as standard components –Use cases give little information about structure of software system

4© 2010 Bennett, McRobb and Farmer The Purpose of Analysis Analysis aims to identify: –A software structure that can meet the requirements –Common elements among the requirements that need only be defined once –Pre-existing elements that can be reused –The interaction between different requirements

5© 2010 Bennett, McRobb and Farmer What an Analysis Model Does An analysis model must confirm what users want a new system to do: –Understandable for users –Correct scope –Correct detail –Complete –Consistent between different diagrams and models

6© 2010 Bennett, McRobb and Farmer What an Analysis Model Does An analysis model must also specify what designers must design: –Unambiguous about scope and detail –Consistent, e.g. about the names of classes, operations, etc. in different diagrams –Complete, e.g. regarding non-functional requirements such as localization –Correct, e.g. regarding the multiplicities of associations between classes

7© 2010 Bennett, McRobb and Farmer What an Analysis Model Does Describes what the software should do Represents people, things and concepts important to understand the system Shows connections and interactions among these people, things and concepts Shows the business situation in enough detail to evaluate possible designs Is organized / structured so it can be useful for designing the software

8© 2010 Bennett, McRobb and Farmer How to Model the Analysis The main technique for analysing requirements is the class diagram Two main ways to produce this: –Directly based on knowledge of the application domain (from a Domain Model) –By producing a separate class diagram for each use case, then assembling them into a single model (an Analysis Class Model)

9© 2010 Bennett, McRobb and Farmer Class Diagram: Class Symbol Client companyAddress company companyFax companyName companyTelephone Class name compartment Attributes compartment Operations compartment A Class is “a description of a set of objects with similar features, semantics and constraints” (OMG, 2009)

10© 2010 Bennett, McRobb and Farmer Class Diagram: Instances FoodCo:Client companyAddress=Evans Farm, Norfolk companyFax= companyName=FoodCo companyTelephone= Object name compartment Attribute values Instances do not have operations An object (instance) is: “an abstraction of something in a problem domain…”

11© 2010 Bennett, McRobb and Farmer Class Diagram: Attributes Attributes are: Part of the essential description of a class The common structure of what the class can ‘know’ Each object has its own value for each attribute in its class: –Attribute=“value” –companyName=FoodCo

12© 2010 Bennett, McRobb and Farmer Class Diagram: Associations Associations represent: The possibility of a logical relationship or connection between objects of one class and objects of another –“Grace Chia is the staff contact for FoodCo” –An employee object is linked to a client object If two objects are linked, their classes are said to have an association

13© 2010 Bennett, McRobb and Farmer Class Diagram: Links FoodCo:Client Yellow Partridge:Client Soong Motor Co:Client Grace Chia:StaffMember Carlos Moncada:StaffMember A link is a logical connection between two objects

14© 2010 Bennett, McRobb and Farmer Class Diagram: Associations StaffMember staffName staffNo staffStartDate Client companyAddress company companyFax companyName companyTelephone liaises with staffContact Association role Association Association name Direction in which name should be read

15© 2010 Bennett, McRobb and Farmer Class Diagram: Multiplicity Associations have multiplicity: the range of permitted cardinalities of an association Represent enterprise (or business) rules These always come in pairs: –Associations must be read separately from both ends –Each bank customer may have 1 or more accounts –Every account is for 1, and only 1, customer

16© 2010 Bennett, McRobb and Farmer Class Diagram: Multiplicity StaffMember staffName staffNo staffStartDate Client companyAddress company companyFax companyName companyTelephone 1 0..* liaises with Multiplicities Exactly one staff member liaises with each client A staff member may liaise with zero, one or more clients

17© 2010 Bennett, McRobb and Farmer Class Diagram: Operations Operations are: An essential part of the description of a class The common behaviour shared by all objects of the class Services that objects of a class can provide to other objects

18© 2010 Bennett, McRobb and Farmer Class Diagram: Operations Operations describe what instances of a class can do: –Set or reveal attribute values –Perform calculations –Send messages to other objects –Create or destroy links Campaign actualCost campaignFinishDate campaignStartDate completionDate datePaid estimatedCost title checkCampaignBudget ( ) getCampaignContribution ( ) recordPayment ( ) setCompleted ( )

19© 2010 Bennett, McRobb and Farmer Object State An object’s state is related to its attributes, its links and its operations Current state is an encapsulation of the value of attributes and links State constrains behaviour - it determines whether or not an operation can fire Executing an operation often causes a change of state

20© 2010 Bennett, McRobb and Farmer Object State In the ATM example on the following slide, an account object responds differently according to the current value of: –dayTotal (amount withdrawn so far today) –dailyLimit (total that can be withdrawn) Together, these define the object’s state: Active or Barred The current state determines whether a withdraw operation can be successful

21© 2010 Bennett, McRobb and Farmer

22© 2010 Bennett, McRobb and Farmer Summary In this lecture you have learned: Why we analyse requirements Concepts represented in class diagrams Notation for class diagrams: –Classes and objects –Attributes and operations –Links and associations How these relate to object state

23© 2010 Bennett, McRobb and Farmer References (For full bibliographic details, see Bennett, McRobb and Farmer)