We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byMelina Smith
Modified about 1 year ago
© 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)
Object Oriented UML Class Diagram CSC207 – Software Design.
An Introduction to Object Modeling An Introduction to Object Modeling The approach of using object modeling during systems analysis and design is called.
Database Design: ER Modelling (Continued) Reading: C&B, Chaps 11,12&16.
© 2005 by Prentice Hall Chapter 9 Structuring System Data Requirements Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Data Analysis 1 Chapter 2.1 V3.1 Napier University Dr Gordon Russell.
Chapter 2: Entity-Relationship Model Entity Sets Relationship Sets Design Issues Mapping Constraints Keys E-R Diagram Extended E-R Features Design of an.
Ch:8 Design Concepts S.W Design should have following quality attribute: –Functionality –Usability –Reliability –Performance –Supportability (extensibility,
© 2010 Bennett, McRobb and Farmer1 Data Flow Diagrams Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 10 Architectural Design.
McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 10 Object-Oriented Analysis and Modeling Using the UML.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
BIS Database Systems School of Management, Business Information Systems, Assumption University A.Thanop Somprasong Chapter # 4 Entity Relationship.
Introduction to Object Orientation System Analysis and Design.
1 Week 2 The Object-Oriented Approach to Requirements.
© Gerald Kotonya and Ian Sommerville Methods for Requirements Engineering.
Chapter 7 Requirement Modeling : Flow, Behaviour, Patterns And WebApps Unit - II.
Chapter 7 – Design and Implementation Lecture 1 1Chapter 7 Design and implementation.
Introduction to Java 2 Programming Lecture 1 Java, Principles of OO, UML.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Chapter 12 Object-Oriented Design.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
Information Systems Analysis and Design. Systems Modeling Enterprise Model graphically represents organizational entities and the relationships between.
Use Cases 1. Question 1 Each waiter is assigned a group of tables, after taking orders for a table the waiters enter the orders (a list of dishes and.
Database System Concepts, 5th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Chapter 6: Entity-Relationship.
Lecture 5 Object-Oriented Design I : Structural UML.
Chapter 6 – Architectural Design 1Chapter 6 Architectural design Software Engineering Ian Sommerville, Software Engineering, 9 th Edition Pearson.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
1 LECTURE 9 Amare Michael Desta Decision Support & Executive Information Systems:
Chapter 5 – System Modeling 1Chapter 5 System modeling Software Engineering Ian Sommerville, Software Engineering, 9 th Edition Pearson Education,
1 UML and Classes, Objects and Relationships  Defining Domain Models Using Class Diagrams.
Chapter 7 – Design and Implementation 1Chapter 7 Design and implementation Note: These are a modified version of Ch 7 slides available from the authors.
© 2016 SlidePlayer.com Inc. All rights reserved.