Chapter 6-7 Analysis Modeling Adapted by Dan Fleck from: - Roger Pressman’s Slides - http://www.informatics.sussex.ac.uk/users/lb203/se/SE04.pdf - Jochen.

Slides:



Advertisements
Similar presentations
Analysis Concepts, Principles, and Modeling
Advertisements

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Lecture 8- Analysis Modeling The Elements of Anaylsis Model The Elements of Anaylsis Model Data Modeling, Functional Modeling and Information Flow Data.
Chapter : Analysis Modeling
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Analysis Modeling.
Chapter 8 Analysis Engineering Software Engineering: A Practitioner’s Approach by Roger S. Pressman.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 Lecture 4 Behaviour Modelling Requirement Specification Object-Oriented Paradigm.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Analysis Modeling Over view of today’s lesson T he analysis model is the first technical representation of a system. Analysis modeling uses a combination.
Analysis Modeling Instructor: Dr. Jerry Gao. Analysis Modeling Jerry Gao, Ph.D. Jan Elements of the analysis model - Data modeling - Functional.
Chapter 8 Analysis Modeling
Chapter 6 Requirements Modeling: Scenarios, Information, and Analysis Classes Slide Set to accompany Software Engineering: A Practitioner’s Approach,
CSC 395 – Software Engineering Lecture 15: Object-Oriented Design –or– Ask For Whom The Data Tolls.
Cardinality and Modality (ERD)
1 Lecture 3 Requirement Analysis System Analysis Concepts Modeling Techniques.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Chapter 8 Analysis Modeling Adapted by Dan Fleck from: - Roger Pressman’s Slides Jochen.
Analysis Modeling. Class-Based Modeling Identify analysis classes by examining the problem statement Use a “grammatical parse” to isolate potential classes.
Chapter 8 Analysis Modeling
CS451 - Lecture 6 1 CS451 Topic 6: DFD Tutorial Yugi Lee STB #555 (816)
Lesson 3 ANALYSIS MODELLING.
Building The Analysis Model. Object-Oriented Analysis The object oriented analysis define all classes, the relationships and behavior associated with.
1 Chapter 8 Analysis Modeling Adapted by Dan Fleck from: - Roger Pressman’s Slides - - Jochen.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Analysis Modeling (cont’d) CpSc 372: Introduction to Software Engineering Jason O. Hallstrom Authorship Disclaimer. These slides.
Chapter 8 Analysis Modeling Adapted by Dan Fleck from: - Roger Pressman’s Slides Jochen.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
These slides are designed to accompany Web Engineering: A Practitioner’s Approach (The McGraw-Hill Companies, Inc.) by Roger Pressman and David Lowe, copyright.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
SE-3910 Real-time Systems Week 9, Classes 1 and 2 – Announcement* (regexp style) – Significance Testing – Failure statistics – Data flow diagrams SE-3910.
Requirement Engineering. Review of Last Lecture Problems with requirement Requirement Engineering –Inception (Set of Questions) –Elicitation (Collaborative.
1 Chapter 7 Requirement Modeling flow, behavior, patterns and Webapps.
1 Chapter 8 Analysis Modeling Adapted by Dan Fleck from: - Roger Pressman’s Slides - - Jochen.
Chapter 9 요구사항 모델링: 시나리오 기반 방법론 Requirements Modeling: Scenario-Based Methods 임현승 강원대학교 Revised from the slides by Roger S. Pressman and Bruce R. Maxim.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 Object-oriented and Structured System Models.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 8: Analysis Modeling Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Chapter 3 Software Requirements
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Developed by Reneta Barneva, SUNY Fredonia for CSIT 425 Requirements Modeling.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 8: Analysis Modeling Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Chapter 8 Analysis & Modeling. Data Modeling examines data objects independently of processing focuses attention on the data domain creates a model at.
1 Chapter 6-7 Analysis Modeling Adapted by Dan Fleck from: - Roger Pressman’s Slides - - Jochen.
Chapter 12 Analysis Modeling
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Analysis Modeling CpSc 372: Introduction to Software Engineering
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Chapter 10 요구사항 모델링 : 클래스 기반 방법론 Requirements Modeling: Class-Based Methods 임현승 강원대학교 Revised from the slides by Roger S. Pressman and Bruce R. Maxim for.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
SE-3910 Real-time Systems Week 9, Classes 1 and 2 – Announcement* (regexp style) – Significance Testing – Failure statistics – Structured Analysis & Design.
Building analysis model  Analysis modeling uses a combination of text and diagrammatic forms to depict requirements for data function and behavior in.
Data Flow Diagrams Slide 1. Key Definitions Data flow diagramming shows business processes and the data that flows between them Slide 2.
1 Functional Modeling Lecture # Recap We had talked about object-oriented static modeling in quite detail We had developed a OO static model of.
Course Instructor: Kashif I hsan 1. Chapter # 6 2.
Elements Of Modeling. 1.Data Modeling  Data modeling answers a set of specific questions that are relevant to any data processing application. e.g. ◦
1 8.1 Requirements Analysis Rules of Thumb Rules of Thumb Models should focus on requirements that are visible within the problem or business domain. The.
Chapter 8 Analysis Engineering
Software Engineering: A Practitioner’s Approach, 6/e Chapter 8 Analysis Modeling copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Requirements Modeling: Flow, Behavior, Patterns, and WebApps
Chapter 8 Analysis & Modeling
Chapter 8 Building the Analysis Model (2) Analysis Modeling
Data Dictionaries ER Diagram.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 8 Analysis Modeling copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Object-Oriented Analysis
Chapter 9 Requirements Modeling: Scenario-Based Methods
Chapter 10 Requirements Modeling: Class-Based Methods
Software Construction Lecture 2
Software Engineering: A Practitioner’s Approach, 6/e Chapter 8 Analysis Modeling copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Presentation transcript:

Chapter 6-7 Analysis Modeling Adapted by Dan Fleck from: - Roger Pressman’s Slides - http://www.informatics.sussex.ac.uk/users/lb203/se/SE04.pdf - Jochen Rick’s slides from GA Institute of Technology - http://webfuse.cqu.edu.au/Courses/aut2001/95169/ Extra_Examples/DFD_Example_1/ - System Analysis and Design slides edited by Yale Braunstein Coming up: Requirements Analysis

Earlier Talked about requirements Frequently in written form Supplemented by other analyses

Requirements Analysis Results in models: Scenario-based models (from POV of actors) Data models (information domain for the problem) Class-oriented models Flow-oriented models Behavioral models (how the software behaves according to external events)

Analysis Phase: What is it? Software, hardware, data, human elements Software application architecture, user interface, component-level structure Three objectives of requirements: To describe what the customer requires To establish a basis for the creation of a software design To define a set of requirements that can be validated once the software is built Coming up: Elements of the Analysis Model

Elements of the Analysis Model Scenario-based elements Flow-oriented elements Use-case diagrams Use cases - text Activity Diagrams Swim lane diagrams Data-flow diagrams Control flow diagrams Processing narratives Analysis Model Class-based elements Behavioral elements Class diagrams Analysis Packages CRC Models Collaboration Diagrams State diagrams Sequence diagrams ER Diagrams Coming up: Elements of the Analysis Model

Typical Classes (a reminder) External entities - printer, user, sensor Things - reports, displays, signals Occurrences or events (e.g., interrupt, alarm) Roles (e.g., manager, engineer, salesperson) Organizational units (e.g., division, team) Places (e.g., manufacturing floor or loading dock) Structures (e.g., sensors, four-wheeled vehicles, or computers) But, how do we select classes? Coming up: Selecting Classes—Criteria

Selecting Classes—Criteria retained information – information about it must be remembered needed services – operations that change the attributes multiple attributes – if it is only one attribute, probably should be part of another class common attributes – common things for all instances of a class common operations – for all instances of the class essential requirements – appear in the PROBLEM space (remember we’re doing analysis modeling!) select a noun as a class if it fits all (or most) of these criteria (in the analysis phase) Coming up: Selecting Classes—Example

Selecting Classes—Example ATMUser Yes PinNum Yes No Maybe retained information needed services multiple attributes common attributes common operations essential requirements Coming up: CRC Cards

CRC Cards Is there a better way to find classes? Sure… Class Responsibility Collaborator Cards (see CRC slides and book pg 173) Coming up: Elements of the Analysis Model

Elements of the Analysis Model Scenario-based elements Flow-oriented elements Use-case diagrams Use cases - text Activity Diagrams Swim lane diagrams Data-flow diagrams Control flow diagrams Processing narratives Analysis Model Class-based elements Behavioral elements Class diagrams Analysis Packages CRC Models Collaboration Diagrams State diagrams Sequence diagrams ER Diagrams Coming up: The ERD: An Example

The ERD: An Example request Customer for service standard work places request for service Customer standard task table generates work order (1,1) selected from work tasks consists of materials lists Coming up: Data Modeling

Data Modeling examines data objects independently of processing focuses attention on the data domain creates a model at the customer’s level of abstraction indicates how data objects relate to one another Coming up: What is a Data Object?

What is a Data Object? Object —something that is described by a set of attributes (data items) and that will be manipulated within the software (system) each instance of an object (e.g., a book) can be identified uniquely (e.g., ISBN #) each plays a necessary role in the system i.e., the system could not function without access to instances of the object each is described by attributes that are Data Object is similar to a class, but with no methods themselves data items What are some typical data objects? Coming up: Typical Data Objects

Data Objects and Attributes A data object contains a set of attributes that act as an aspect, quality, characteristic, or descriptor of the object object: automobile attributes: make model body type price options code How do data objects differ from OO classes or do they? Coming up: What is a Relationship?

What is a Relationship? relationship —indicates “connectedness”; a "fact" that must be "remembered" by the system and cannot or is not computed or derived mechanically several instances of a relationship can exist objects can be related in many different ways Coming up: Crow’s Foot Style ERD

Crow’s Foot Style ERD The ERD: Other style’s exist. There are a few, but most are more confusing and less common than Crow’s foot. Depending on who you ask this was invented by Dr. Gordon Everest or Clive Finkelstein. Teacher teaches 0 to many classes Classes have 1 and only 1 teacher Students have 1 to many addresses An address is for zero to one student (addresses may not be associated with multiple students) Teacher Class Student Address First “thing” denotes optional or mandatory. Second “thing” denotes cardinality (one or many) Coming up: ERD Example: From http://www.b2ttraining.com

ERD Example: From http://www.b2ttraining.com Coming up: Elements of the Analysis Model

Elements of the Analysis Model Scenario-based elements Onward to data flow diagrams! Flow-oriented elements Use-case diagrams Use cases - text Activity Diagrams Swim lane diagrams Data-flow diagrams Control flow diagrams Processing narratives Analysis Model Class-based elements Behavioral elements Class diagrams Analysis Packages CRC Models Collaboration Diagrams State diagrams Sequence diagrams Coming up: Flow-Oriented Modeling

Flow-Oriented Modeling Represents how data objects are transformed at they move through the system A data flow diagram (DFD) is the diagrammatic form that is used to show how data is transformed as it moves through the system Considered by many to be an ‘old school’ approach, flow-oriented modeling continues to provide a view of the system that is unique—it should be used to supplement other analysis model elements Coming up: The Flow Model

The Flow Model Every computer-based system is an information transform .... computer based system data input output Coming up: Flow Modeling Notation

Flow Modeling Notation external entity process data flow data store Coming up: External Entity

External Entity A producer or consumer of data Examples: a person, a device, a sensor Data must always originate somewhere and must always be sent to something Coming up: Process

Process A data transformer (changes input to output) Examples: compute taxes, determine area, format report, display graph Data must always be processed in some way to achieve system function Coming up: Data Flow

Key thought: In a DFD the DATA is what is moving on the arrows! Data Flow Data flows through a system, beginning as input and be transformed into output. base compute triangle area area height Key thought: In a DFD the DATA is what is moving on the arrows! Coming up: Data Stores

Data Stores Data is often stored for later use. look-up sensor data sensor #, type, location, age look-up sensor data report required type, location, age sensor number Got here 10/1/2009 (early class) sensor data In a real system what things are “Data Stores”? Coming up: Data Flow Diagramming: Guidelines

Data Flow Diagramming: Guidelines all icons must be labeled with meaningful names the DFD evolves through a number of levels of detail always begin with a context level diagram (also called level 0) always show external entities at level 0 always label data flow arrows do not represent procedural logic ensure that you show DATA moving through the system (not control) Coming up: Constructing a DFD—I

Constructing a DFD—I review the data model to isolate data objects and use a grammatical parse to determine “operations” determine external entities (producers and consumers of data) create a level 0 DFD Coming up: Level 0 DFD Examples

Level 0 DFD Examples user digital video processor monitor video source processing request user requested video signal digital video processor monitor video source NTSC video signal Coming up: Constructing a DFD—II

Constructing a DFD—II write a narrative describing the transform parse to determine next level transforms “balance” the flow to maintain data flow continuity develop a level 1 DFD use a 1:5 (approx.) expansion ratio Coming up: The Data Flow Hierarchy

The Data Flow Hierarchy b x P y level 0 c a p2 f p1 b p4 d 5 g p3 e level 1 Coming up: Example DFD: Level 1

Example DFD: Level 1 Got here 10/1/2009 (late class) Coming up: DFD: A practical example

DFD: A practical example Launched Dec. 11, 1998, the Climate Orbiter plunged too steeply into the Martian atmosphere Sept. 23, 1999, and either burned up or crashed. In an initial failure report released Oct. 15, 2000 the review board blamed the navigation error on a communications foul-up between NASA's Jet Propulsion Laboratory and prime contractor Lockheed Martin. Coming up: DFD Example

DFD Example Example from http://ldtconsultinginc.com/ Can we add labels to unlabled data flows? Is this a level 0 diagram? Coming up: Lets Try It

Lets Try It Lets create a DFD for A carpet cleaning business A web-based order processing system for a computer store An address book for an iPhone Coming up: Flow Modeling Notes

Flow Modeling Notes each bubble is refined until it does just one thing the expansion ratio decreases as the number of levels increase most systems require between 3 and 7 levels for an adequate flow model a single data flow item (arrow) may be expanded as levels increase (data dictionary provides information) The things that move on the arrows are DATA! Got here 10/16/2008 Coming up: Elements of the Analysis Model

Elements of the Analysis Model Scenario-based elements Flow-oriented elements Use-case diagrams Use cases - text Activity Diagrams Swim lane diagrams Data-flow diagrams Control flow diagrams Processing narratives Analysis Model Oh behave! Class-based elements Behavioral elements Class diagrams Analysis Packages CRC Models Collaboration Diagrams End of Midterm Material Spring 2009 State diagrams Sequence diagrams Coming up: Behavioral Modeling

Behavioral Modeling The behavioral model indicates how software will respond to external events or stimuli. To create the model, the analyst must perform the following steps: Evaluate all use-cases to fully understand the sequence of interaction within the system. Identify events that drive the interaction sequence and understand how these events relate to specific objects. Create a sequence diagram for each use-case. Build a state diagram for the system. Review the behavioral model to verify accuracy and consistency. Coming up: State Representations

State Representations In the context of behavioral modeling, two different characterizations of states must be considered: the state of each class as the system performs its function and the state of the system as observed from the outside as the system performs its function What are some states for an ATM machine? Washing machine? Cell phone? Coming up: State Diagram for the ControlPanel Class

State Diagram for the ControlPanel Class Coming up: State Diagram Details

State Diagram Details State Name (verb in current tense) (Optional) actions happening during state [age <= 20] [age > 20] [age <= 20]/setFlag(false) Guards: Use to describe event that causes a state transition happens (ALL transitions should have guards) Name Examples: sorting validating updating status … Action: If something happens while transitioning to another state. (Optional) Coming up: The States of a System

The States of a System state—a set of observable circumstances that characterizes the behavior of a system at a given time state transition —the movement from one state to another event —an occurrence that causes the system to exhibit some predictable form of behavior action —process that occurs as a consequence of making a transition Coming up: Behavioral Modeling

Behavioral Modeling make a list of the different states of a system (How does the system behave?) indicate how the system makes a transition from one state to another (How does the system change state?) indicate event indicate action draw a state diagram or a sequence diagram Coming up: State Diagram - Lets Try It!

State Diagram - Lets Try It! You are designing a traffic light system for this intersection. Draw a state diagram showing the different states and how they transition. North West Got here on class 2/23/2010 East South Coming up: Elements of the Analysis Model

Elements of the Analysis Model Scenario-based elements Flow-oriented elements Use-case diagrams Use cases - text Activity Diagrams Swim lane diagrams Data-flow diagrams Control flow diagrams Processing narratives Analysis Model Class-based elements Behavioral elements Class diagrams Analysis Packages CRC Models Collaboration Diagrams State diagrams Sequence diagrams Coming up: Object Oriented Analysis (OOA)

Object Oriented Analysis (OOA) The intent of OOA is to define all classes (and the relationships and behavior associated with them) that are relevant to the problem to be solved. For that, a number of tasks must occur: Classes must be identified (i.e., attributes and methods) A class hierarchy is defined Object-to-object relationships should be represented Object behavior must be modeled Tasks 1 through 4 are reapplied iteratively Coming up: Object-Oriented Concepts

Analysis Model Rules of Thumb The model should focus on requirements that are visible within the problem or business domain. The level of abstraction should be relatively high. Each element of the analysis model should add to an overall understanding of software requirements and provide insight into the information domain, function and behavior of the system. Delay consideration of infrastructure and other nonfunctional models until design Minimize coupling throughout the system. Be certain that the analysis model provides value to all stakeholders. Keep the model as simple as it can be. Got here 10/6/2009 Coming up: Analysis Phase: What is it?

Writing the Software Specification Everyone knew exactly what had to be done until someone wrote it down! Read the last three slides on your own Coming up: Specification Guidelines

Specification Guidelines Coming up: Specification Guidelines

Specification Guidelines Coming up: Specification Guidelines

Specification Guidelines End of presentation