Chapter 12 Analysis Modeling. Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations.

Slides:



Advertisements
Similar presentations
BUSINESS DRIVEN TECHNOLOGY Plug-In T4 Designing Database Applications.
Advertisements

Database Systems: Design, Implementation, and Management Tenth Edition
Alternative Approach to Systems Analysis Structured analysis
Analysis Concepts, Principles, and Modeling
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
Chapter 3 Data Modeling Copyright © 2014 McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent.
Analysis Modeling.
Chapter 4 Enterprise Modeling.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 4 Entity Relationship (ER) 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.
1 Lecture 4 Behaviour Modelling Requirement Specification Object-Oriented Paradigm.
Chapter 14: Design Method --- data and architectural design Design -- A multistep process in which representations of data structure, program structure,
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.
CS /31 Illinois Institute of Technology CS487 Software Engineering Analysis Modeling Instructor David Lash.
CS /47 Illinois Institute of Technology CS487 Software Engineering Requirements II- part B Instructor David Lash.
SE 555 Software Requirements & Specification Requirements Analysis.
Cardinality and Modality (ERD)
1 Lecture 3 Requirement Analysis System Analysis Concepts Modeling Techniques.
Requirements Modeling
Analysis Modeling Two primary methods today
Data Modeling 1 Yong Choi School of Business CSUB.
Chapter 7 Structuring System Process Requirements
Lesson 3 ANALYSIS MODELLING.
Building The Analysis Model. Object-Oriented Analysis The object oriented analysis define all classes, the relationships and behavior associated with.
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 10 Architectural Design
Analysis Modeling (cont’d) CpSc 372: Introduction to Software Engineering Jason O. Hallstrom Authorship Disclaimer. These slides.
Chapter 7 Data Modeling with Entity Relationship Diagrams Database Principles: Fundamentals of Design, Implementation, and Management Tenth Edition.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
1 Chapter 14 Architectural Design. 2 Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a.
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.
Data Flow Diagrams.
Real-Time Systems time dependent control oriented driven by events rather than data.
1 COSC 4406 Software Engineering COSC 4406 Software Engineering Haibin Zhu, Ph.D. Dept. of Computer Science and mathematics, Nipissing University, 100.
1 Chapter 14 Architectural Design 2 Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a.
Database Systems: Design, Implementation, and Management Ninth Edition
Chapter 4 – Requirements Engineering Lecture 3 1Chapter 4 Requirements engineering.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 8: Analysis Modeling Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Analysis Modeling. Function Modeling & Information Flow  Information is transformed as it flows through a computer-based system. The system accepts input.
Intro to Software System Modeling
Chapter 8 Analysis & Modeling. Data Modeling examines data objects independently of processing focuses attention on the data domain creates a model at.
Class-based Modeling.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 24. Review ANALYSIS Level Class Diagram – Identifying Entities – Identifying Attributes – Identifying Operations.
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.
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.
CS 8532: Adv. Software Eng. – Spring 2009 Dr. Hisham Haddad Chapter 8 CS 8532: Advanced Software Engineering Dr. Hisham Haddad Class will start momentarily.
Software Engineering Lecture 11: System Analysis.
Lecture 91 Introduction to Data Analysis and Logic Specification Objectives l Draw an entity-relationship diagram, and explain the types of entity relationships.
Building analysis model  Analysis modeling uses a combination of text and diagrammatic forms to depict requirements for data function and behavior in.
2 1 Database Systems: Design, Implementation, & Management, 7 th Edition, Rob & Coronel Data Models Why data models are important About the basic data-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.
Department of Mathematics Computer and Information Science1 CS 351: Database Management Systems Christopher I. G. Lanclos Chapter 4.
Course Instructor: Kashif I hsan 1. Chapter # 6 2.
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.
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.
Structured Analysis Methods and Tools
Chapter 8 Building the Analysis Model (2) Analysis Modeling
Data Dictionaries ER Diagram.
Chapter 4 Entity Relationship (ER) Modeling
ANALYSIS MODELING.
CS 8532: Advanced Software Engineering
Chapter 12 Analysis Modeling
Requirement Analysis using
Entity-Relationship Diagram (ERD)
Presentation transcript:

Chapter 12 Analysis Modeling

Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations ä Analysis products must be maintainable ä Effective partitioning is essential ä Graphics should be used whenever possible ä Distinguish between logical and implementation

Elements of the Analysis Model ä Primary Objectives ä Describe what customer requires ä Establish basis for creating software design ä Define requirements that can be validated

The structure of analysis model Data Dictionary Entity Relationship Diagram Data Flow Diagram State Transition Diagram Data Object Description Process Specification Control Specification ( ERD) (DFD) (STD)

The Flow Model Every computer-based system is an information transform.... computerbasedsystem input output

Data Modeling ä The model consists of ä Data object [types] ä Attributes ä Relationships ä Data objects ä A representation of almost any composite information that must be understood by software.

…Data Modeling ä Attributes ä Attributes define the properties of a data object and take on one of three different characteristics: ä Name an instance of the data object ä Describe the instance ä Make reference to another instance Make Model ID# Body type Color Owner Ford Taurus Q12A45.. Sedan Blue ABC Lexus LS400 AB Sports White XYZ Naming attributes Descriptive attributes Referential attributes Identifier

…Data Modeling ä Relationships ä Defined pairwise -- many varieties BookBookstore orders displays sells returns

Cardinality and Modality ä Cardinality ä How many occurrences of object X are related to how many occurrences of object Y ä One-to-one (1:1) ä One-to-many (1:N) ä Many-to-many (M:N) ä Modality ä =0 => optional relationship ä =1 => relationship must appear

Example: Modality Customer Repair action is provided with Mandatory: in order to have a repair action, we must have a customer Optional: there may be a situation in which a repair action is not necessary

Entity Relation Diagrams (ERD) ä Cornerstone of the data model -- includes ä data objects, ä attributes, ä relationships, and ä various type indicators manufacturer car builds ID# modelbody typeenginetransmission... Data Object Table

Example: Expanded ERD

Data Object type hierarchies

Associative Data Objects

Functional Modeling Data Dictionary Entity Relationship Diagram Data Flow Diagram State Transition Diagram Data Object Description Process Specification Control Specification ( DFD )

Data Flow Diagrams (DFD) ä A graphical technique that depicts information flow and the transforms applied as data move from input to output ä Not the same as flow charts. Does not show the logic of the transformations ä Can be used at any level of abstraction

General Information Flow Model

Basic Notation

Information Flow Refinement A B A B V W X Y Z X Y z z z x x y y Z F f f f f f f f f f f f f

Real Time Extensions ä Fundamental issue - The time at which results are produced is a part of the correctness of the computation.

Example: Time continuous data flow

Ward/Mellor Notation

Example: Data and control flows, Ward and Mellor

Hatley and Pirbhai Extensions ä Use separate data flow diagram (DFD) and control flow diagram (CFD) ä Data flow diagrams ä Used to represent data and the processes that manipulate it ä Control flow diagrams ä Show how events flow among processes and show those external events that cause various processes to be activated

Relationship Between Models

Example: Data Conditions

CFD for Photocopier Software read operator input manage copying produce user displays reload paper perform problem diagnosis paper feed status (jammed, empty) start/stop alarm full repro fault Copy Info status Reload status Problem type

Behavioral Modeling Data Dictionary Entity Relationship Diagram Data Flow Diagram State Transition Diagram Data Object Description Process Specification Control Specification ( STD )

State Transition Diagrams ä A State is any observable mode of behavior ä e.g., reading commands, computing control, waiting for next time event ä States represented as rectangles ä Arrows represent transitions ä Value above arrow identifies event causing transition ä Value below arrow indicates ensuring action

State Transition Diagram reading commands making copies reloading paper diagnosing problem jammed invoke perform problem-diagnosis empty invoke reload paper not jammed invoke read-op-input full invoke read-op-input idle invoke read-op-input full and start invoke manage-coping copies done invoke read-op-input

Creating an ERD ä List entities that customer addresses ä For each, determine the connections ä For each connection, create one or more object-relationship pairs ä For each relationship, determine cardinality and modality ä Define the attributes of each entity ä Formalize and review ERD ä Iterate

Example1: Home Security System ä Initial entities ä Homeowner, control panel, sensors, security system and monitoring service

Example2: Home Security System ä Relationships between sensor and security sys. ä Security system monitors sensor ä Security system enables/disables sensor ä Security system tests sensor ä Security system programs sensor

Creating a Data Flow Model ä First create level 0 diagram ä Depict software system as single bubble ä Show primary inputs and outputs ä Identify processes, data objects, and data stores to be expanded at next level ä Label all arrows with meaningful names ä Information flow continuity must be maintained ä Refine only one bubble at a time

Example3: Home Security System

Refinement ä Analyze textual description of bubble ä verbs are often processes ä nouns are often external entities, data or control objects or data stores ä Examples ä Control panel is used to program and configure the system ä Upon a sensor event, the software invokes an alarm

Example4: Home Security System

Example5: Home Security System

Creating Control Flow Models ä Strip arrows from DFD ä Add event and control items. E.g., try ä List all sensors read by the software ä List all interrupt conditions ä List all operator actuated switches ä List all data conditions ä Check noun-verb parse for possible CSPEC I/O ä Identify states, how each is reached and transitions ä Focus on possible omissions

Level 1 CFD for Safe-Home

State transition diagram for SafeHome

Process Activation Table for SafeHome

Process Specifications ä Describes all flow model processes at final level of refinement ä Narrative text, ä Program design language description ä Mathematical equations ä Tables ä Diagrams ä Charts

Data Dictionary Data Dictionary Entity Relationship Diagram Data Flow Diagram State Transition Diagram Data Object Description Process Specification Control Specification

Data Dictionary ä Why a data dictionary? Need an organized way to represent data & control characteristics ä Usual contents ä Name ä Alias ä Where and how used ä Content description (of composite items) ä Supplementary information, e.g., restrictions, limitations, preset values

Example ä Name:Shuttle pose ä Aliases:Position-orientation vector ä Where used:Display of Shuttle on map ä Content:x, y, z position wrt to Earth’s Center, roll, pitch, yaw ä Supplementary Info: Elevation must be above 140 nautical miles

Data Dictionary ä Common tools supporting DD ä Preventing creation of duplicate names ä Enforce naming conventions ä Printing dictionary ä Determine the range of impact of changes, i.e., which processes are affected ä Assist configuration management

End