Chapter 5 Analysis Model. Analysis model (AM) The first step in describing how the system will implement the requirements specification The first step.

Slides:



Advertisements
Similar presentations
Chapters 7 & 9 System Scope
Advertisements

OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
1 CS 426 Senior Projects Chapter 4: Use Case Modeling [Arlow and Neustadt, 2002] February 8, 2007.
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.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Robustness Analysis Dr. Neal CIS 480. Outline What is robustness analysis? Key roles in robustness analysis Object types found in discovery Diagramming.
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
CREATING THE DESIGN: THE LOGICAL VIEW The Class Diagram.
Finding Analysis Classes Written by Zvika Gutterman Adam Carmi.
Requirements Analysis 2 What objects collaborate to achieve the goal of a use case?
Data Modeling Entity - Relationship Models. Models Used to represent unstructured problems A model is a representation of reality Logical models  show.
1 CS 426 Senior Projects Chapter 4: Use Case Modeling [Arlow and Neustadt, 2005] February 5, 2009.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Use Case Analysis – continued
1 Business Models Modeling. 2 Why Model the Business Business modeling is a technique to help answer critical questions, such as: What do the workers.
Unified Modeling Language
USE Case Model.
Why Analysis Process Refer to earlier chapters Models what the system will do makes it easier for understanding no environment considered (hence, system.
BPMN By Hosein Bitaraf Software Engineering. Business Process Model and Notation (BPMN) is a graphical representation for specifying business processes.
INTROSE Introduction to Software Engineering Raymund Sison, PhD College of Computer Studies De La Salle University Analysis Modeling.
Chapter 4 User Experience Model. User experience model (Ux) Visual specification of the user interface Visual specification of the user interface Both.
Methods For Web Page Design 6. Methods Why use one? What it covers –Possibly all stages Feasibility Analysis Design Implementation Testing –Maybe just.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
ANALYSIS REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
Software Engineering Chapter 8 Fall Analysis Extension of use cases, use cases are converted into a more formal description of the system.Extension.
CSCI 3140 Module 2 – Conceptual Database Design Theodore Chiasson Dalhousie University.
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.
Chapter 2 Data Models Database Systems: Design, Implementation, and Management, Rob and Coronel Adapted for INFS-3200.
Software Engineering Chapter 7 Fall Capturing the Requirements as Use Cases Capturing the Requirements as Use Cases By using use cases analysts.
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 10 Use Case Design.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
 A software application is like a city  Modeling = Architecture  OOP = Civil Engineering  UML Classes = Blueprints of Buildings  UML is a common.
System models l Abstract descriptions of systems whose requirements are being analysed.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
CS3773 Software Engineering Lecture 04 UML Class Diagram.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Chapter 5 Models and UML Notation for The Object-Oriented Approach.
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
ANALYSIS - II REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
1 Structuring Systems Requirements Use Case Description and Diagrams.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Slide 1 Use Case Diagrams.
Requirements Engineering for Web Applications. SR: System Vision Document Written by key stakeholders Written by key stakeholders An executive summary.
Drawing System Sequence Diagrams
Use Case Model Use case diagram.
1 Version /05/2004 © 2004 Robert Oshana Requirements Engineering Use cases.
Design Model Lecture p6 T120B pavasario sem.
Use Case Model Use case diagram. Relevant Requirements Artifacts Use-Case Model Supplementary Specification Use-Case Specifications... Glossary Actors.
Requirements Engineering for Web Applications. SR: System Vision Document Written by key stakeholders Written by key stakeholders An executive summary.
Use Case Textual Analysis
Object Oriented Analysis and Design using the UML Use-Case Analysis Adapted by Dr. Spiegel from Slides Provided by Rational Software.
Analysis Yaodong Bi. Introduction to Analysis Purposes of Analysis – Resolve issues related to interference, concurrency, and conflicts among use cases.
UML - Development Process 1 Software Development Process Using UML.
Use Case Model Use case description.
Homework #8 - Deliverable 5 due: 2 December 1. Exec Summary 2. Revisit Use Cases 3. The Analysis Model Class Diagrams Interaction Diagrams 4. Non-Functional.
 To explain why the context of a system should be modelled as part of the RE process  To describe behavioural modelling, data modelling and object modelling.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Gerhard Dueck -- CS3013Analysis 1. Gerhard Dueck -- CS3013Analysis 2 Why analysis?  Yield a more precise specification of the requirements.  Introduce.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
High Level Design Use Case Textual Analysis SE-2030 Dr. Mark L. Hornick 1.
Lecture 5 Introduction to Use Case Analysis and the Analysis Model Introduction to the UML.
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
Use Case Model Use case diagram.
Unified Modeling Language
University of Houston-Clear Lake
Software Design Lecture : 15.
Design Yaodong Bi.
Use Case Analysis – continued
Presentation transcript:

Chapter 5 Analysis Model

Analysis model (AM) The first step in describing how the system will implement the requirements specification The first step in describing how the system will implement the requirements specification Input artifacts: Input artifacts: Detailed use cases Detailed use cases Use case model Use case model User experience model User experience model Business entities model Business entities model

AM Structure Key Abstraction folder Key Abstraction folder For each business package For each business package Boundary classes Boundary classes Control classes Control classes Entity classes Entity classes External Systems External Systems Managed entities for the whole system Managed entities for the whole system Use Case Realization folder Use Case Realization folder For each business package For each business package For each use case For each use case A VOPC diagram A VOPC diagram For each major flow of the use case For each major flow of the use case A sequence diagram A sequence diagram

Analysis Model Structure Figure 5-1

Model Structure Analysis Model Key Abstractions Business package 1 Boundary Control Entity Business package 2 External System Managed entities Use Case Realization Business package 1 Use case 1 Use case i Use case M Business package 2 Use case 1 Use case j Use case N

Tracing use case realizations to use cases & Ux storyboards Figure 5-2

AM: Key abstractions Boundary classes Boundary classes Model the interaction of the system with its actors Model the interaction of the system with its actors For human actors – maps to web pages/HTML forms For human actors – maps to web pages/HTML forms For external systems – maps to adapters For external systems – maps to adapters Control classes Control classes Capture the control logic (presentation and business logic) of one or more use cases Capture the control logic (presentation and business logic) of one or more use cases Entity classes Entity classes Represent the business concepts manipulated by the system Represent the business concepts manipulated by the system No attributes or operations are specified for key abstraction classes in analysis model No attributes or operations are specified for key abstraction classes in analysis model

Boundary, Control, & Entity Figure 5-3

AM: Boundary classes Model the interaction of the system with its actors (Human actors and External systems) Model the interaction of the system with its actors (Human actors and External systems) Actors only interact with boundary classes Actors only interact with boundary classes Boundary classes may interact with other boundary classes, actors, and control classes Boundary classes may interact with other boundary classes, actors, and control classes Create a boundary class for each screen in the user experience model – one-to-one relationship between boundary classes and the screens Create a boundary class for each screen in the user experience model – one-to-one relationship between boundary classes and the screens Create a boundary class for each external system Create a boundary class for each external system No boundary class for input forms No boundary class for input forms

Tracing boundary classes to screens for the User Account Management package Figure 5-4

Use case model: The Create Account use case perspective Figure 5-11

Boundary class for credit card external system Credit Card System (Adapter) Credit Card System (External)

AM: Control classes - 1 Capture the control logic of one or more use cases Capture the control logic of one or more use cases Presentation logic Presentation logic –control the flow of execution for a specific use case Dispatcher –control the flow of execution for a specific use case Its responsibilities are assigned based on the analysis of the flow of events in the use case Its responsibilities are assigned based on the analysis of the flow of events in the use case Business logic Business logic – control the access to one or more related entity classes for a specific use case package, defining a business interface to those classes. Entity manager – control the access to one or more related entity classes for a specific use case package, defining a business interface to those classes. Its responsibilities are assigned based on what entities are involved in the use case and what their roles are. Its responsibilities are assigned based on what entities are involved in the use case and what their roles are.

AM: Control classes - 2 Dispatcher classes: Dispatcher classes: Define a dispatcher control class for each use case Define a dispatcher control class for each use case e.g., CreateAccountDispatcher for the Create_Account use case e.g., CreateAccountDispatcher for the Create_Account use case Entity Manager classes: Entity Manager classes: Create an entity manager control class for each use case. Create an entity manager control class for each use case package. e.g., AccountManager for the Account_Management use case package e.g., AccountManager for the Account_Management use case package Merge dispatcher control classes as appropriate. Merge dispatcher control classes as appropriate.

Associations between control classes in the User Account Management package Figure 5-5

AM: Entity classes - 1 Represent the business concepts manipulated by the system Represent the business concepts manipulated by the system Normally entity classes belong to the whole system -- enterprise. Normally entity classes belong to the whole system -- enterprise. The basis for the logical design of the database The basis for the logical design of the database All communication to entity classes should go through an entity manager All communication to entity classes should go through an entity manager Derive entity classes from the business entity model Derive entity classes from the business entity model Package entity managers are responsible for the management of the entities identified for the use cases in the package. (e.g., AccountManager is responsible for CreditCard, UserAccount and UserGroup entity classes for the UserAccountManagement use case package) Package entity managers are responsible for the management of the entities identified for the use cases in the package. (e.g., AccountManager is responsible for CreditCard, UserAccount and UserGroup entity classes for the UserAccountManagement use case package)

AM: Entity classes - 2 How to identify entity classes How to identify entity classes Noun identification technique: Noun identification technique: For each use case, underline nouns and noun phrases For each use case, underline nouns and noun phrases Eliminate duplicates and unsuitable ones to have a draft of the class list Eliminate duplicates and unsuitable ones to have a draft of the class list Example: Example: USE CASE: USE CASE: A student selects a course and registers in one of its sections provided the student meets all the prerequisites of the course. A professor may select a section of a course to teach and obtain a student list for the section. Identified Classes : Identified Classes : student, course, section, and professor

AM: Entity classes - 3 Three types of associations between entity classes: Three types of associations between entity classes: : for classes managed by two separate managers Unspecified association: for classes managed by two separate managers : one class is part of another and the part class may belong to more than one aggregate Aggregation associations: one class is part of another and the part class may belong to more than one aggregate : like aggregation, but part classes cannot belong to other classes, the parts live and die with the whole. Composition associations: like aggregation, but part classes cannot belong to other classes, the parts live and die with the whole.

Entity model for the User Account Management package Figure 5-7

Managed Entities diagram Figure 5-8

AM: Managed entities diagram Shows the manager of each package and the entities managed by each manager and the relationship between entities Shows the manager of each package and the entities managed by each manager and the relationship between entities StudentManager StudentMajor CatalogManager SectionCourse FacultyManager DepartmentFaculty Note: For simplicity, cardinality ratios are not shown here.

AM: Relationship between classes sectioncourseclassroom entity manager dispatcher Boundary, control, and entity classes in the same package Business Package i

AM: VOPC diagram VOPC: View Of Participating Classes VOPC: View Of Participating Classes Show how the system objects work together in the realization of a use case. Show how the system objects work together in the realization of a use case. Use key abstraction classes Use key abstraction classes Show all the objects involved in a use case for the basic flow and alternate flows as well. Show all the objects involved in a use case for the basic flow and alternate flows as well. Use simple, non-directed associations between classes involved. Use simple, non-directed associations between classes involved. Avoid too much details Avoid too much details One VOPC diagram per use case One VOPC diagram per use case

VOPC diagram for the Create Account use case Figure 5-9

AM: Sequence diagram I The VOPC diagram for the use case is the primary source of objects for the sequence diagram The VOPC diagram for the use case is the primary source of objects for the sequence diagram Represent a step-by-step description of a complete path through one scenario of the use case. Represent a step-by-step description of a complete path through one scenario of the use case. One sequence diagram for each possible use case scenario of interest. One sequence diagram for each possible use case scenario of interest. Create at least one sequence diagram for the basic flow of each use case Create at least one sequence diagram for the basic flow of each use case The messages should be descriptive since they normally do not match operations of the associated classes. The messages should be descriptive since they normally do not match operations of the associated classes.

AM: Sequence diagram II Re-write use case description using the boundary, control, and entity classes. Re-write use case description using the boundary, control, and entity classes. Each step describes “noun-verb-noun” Each step describes “noun-verb-noun” Nouns: actors, boundary, entity classes Nouns: actors, boundary, entity classes Verbs: the action the 1 st noun asks the 2 nd noun to take. Verbs: the action the 1 st noun asks the 2 nd noun to take. Attach the description of each step to the sequence diagrams. Attach the description of each step to the sequence diagrams.

Sequence diagram for the Create Account use case Figure 5-10

An alternate collaboration when signing in Anonymous User Figure 5-12

AM: Define system tests Use use-case scenarios to define test cases. Use use-case scenarios to define test cases. Consider all possible combinations of flows of events Consider all possible combinations of flows of events Combine one or more flows of events into a use case scenario. Combine one or more flows of events into a use case scenario.

AM: Summary Three key Abstraction classes: Three key Abstraction classes: Boundary classes Boundary classes One screen in Ux is mapped to a boundary class One screen in Ux is mapped to a boundary class Each external system is assigned a boundary class Each external system is assigned a boundary class Control classes Control classes A dispatcher control class per use case A dispatcher control class per use case An entity manger control class per use case package An entity manger control class per use case package Entity classes Entity classes Each business concept in the business entity model is mapped to an entity class. Each business concept in the business entity model is mapped to an entity class. Managed Entities diagram Managed Entities diagram An entity manager controls the access to the entities in the use case package An entity manager controls the access to the entities in the use case package Represents all the persistent entities of the system Represents all the persistent entities of the system VOPC diagram VOPC diagram One VOPC per use case One VOPC per use case Sequence diagram Sequence diagram One sequence diagram per use case scenario of interest One sequence diagram per use case scenario of interest At least one sequence diagram for the basic flow of the use case At least one sequence diagram for the basic flow of the use case