Lecture 8- Analysis Modeling The Elements of Anaylsis Model The Elements of Anaylsis Model Data Modeling, Functional Modeling and Information Flow Data.

Slides:



Advertisements
Similar presentations
Alternative Approach to Systems Analysis Structured analysis
Advertisements

Chapters 7 & 9 System Scope
Analysis Concepts, Principles, and Modeling
Chapter : Analysis Modeling
Analysis Modeling.
Chapter 4 Enterprise Modeling.
Chapter 4.
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.
SYSTEM ANALYSIS & DESIGN (DCT 2013)
Systems Analysis and Design 9th Edition
1 Lecture 4 Behaviour Modelling Requirement Specification Object-Oriented Paradigm.
Systems Analysis Requirements structuring Process Modeling Logic Modeling Data Modeling  Represents the contents and structure of the DFD’s data flows.
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 7 Using Data Flow Diagrams
CS /47 Illinois Institute of Technology CS487 Software Engineering Requirements II- part B Instructor David Lash.
Chapter 4.
Cardinality and Modality (ERD)
Requirements Modeling
Analysis Modeling Two primary methods today
Entity-Relationship Design
Building The Analysis Model. Object-Oriented Analysis The object oriented analysis define all classes, the relationships and behavior associated with.
System Analysis Overview Document functional requirements by creating models Two concepts help identify functional requirements in the traditional approach.
Chapter 10 Architectural Design
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.
BPMN By Hosein Bitaraf Software Engineering. Business Process Model and Notation (BPMN) is a graphical representation for specifying business processes.
Business Process 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.
Phase 2: Systems Analysis
Using Dataflow Diagrams – Part 2 Systems Analysis and Design, 7e Kendall & Kendall 7 © 2008 Pearson Prentice Hall.
Chapter 7 Structuring System Process Requirements
Requirement Engineering. Review of Last Lecture Problems with requirement Requirement Engineering –Inception (Set of Questions) –Elicitation (Collaborative.
Chapter 2 Data Models Database Systems: Design, Implementation, and Management, Rob and Coronel Adapted for INFS-3200.
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.
Lecture 4 Conceptual Data Modeling. Objectives Define terms related to entity relationship modeling, including entity, entity instance, attribute, relationship,
Modeling System Requirements: Events and Things. Objectives Explain the many reasons for creating information system models Describe three types of models.
2131 Structured System Analysis and Design By Germaine Cheung Hong Kong Computer Institute Lecture 8 (Chapter 7) MODELING SYSTEM REQUIREMENTS WITH USE.
Use Case Diagram The purpose is to communicate the system’s functionality and behaviour to the customer or end user. Mainly used for capturing user requirements.
Chapter 4 enterprise modeling
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.
Eliciting requirements from our customers Types of requirements Notations and methods for capturing requirements Reviewing requirements to ensure their.
Software Engineering Lecture 11: System Analysis.
Systems Analysis and Design 8th Edition
Chapter 12 Analysis Modeling. Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations.
Systems Analysis and Design 8th Edition
Software Analysis and Design Software Analysis Concepts and Principles Software Analysis Modeling Software Design Concepts and Principles Software Design.
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 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
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.
© 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S.
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
Structured Analysis Methods and Tools
Software Specification Tools
Problem Solving How do we attack a large problem?
System Design and Modeling
Lecture 9- Design Concepts and Principles
Chapter 8 Building the Analysis Model (2) Analysis Modeling
Data Dictionaries ER Diagram.
ANALYSIS MODELING.
Lecture 9- Design Concepts and Principles
Chapter 12 Analysis Modeling
Review of Week 1 Database DBMS File systems vs. database systems
Requirement Analysis using
Software Modelling and Design
Presentation transcript:

Lecture 8- Analysis Modeling The Elements of Anaylsis Model The Elements of Anaylsis Model Data Modeling, Functional Modeling and Information Flow Data Modeling, Functional Modeling and Information Flow Behavioral Modeling Behavioral Modeling The Mechanics of Structured Analysis The Mechanics of Structured Analysis Data Dictionary Data Dictionary

OverviewOverview The analysis model is the first technical representation of a system. Analysis modeling uses a combination of text and diagrams to represent software requirements (data, function, and behavior) in an understandable way. Building analysis models helps make it easier to uncover requirement inconsistencies and omissions. Two types of analysis modeling are commonly used: structured analysis and object-oriented analysis. Data modeling uses entity-relationship diagrams to define data objects, attributes, and relationships. Functional modeling uses data flow diagrams to show how data are transformed inside the system. Behavioral modeling uses state transition diagrams to show the impact of events. Analysis work products must be reviewed for completeness, correctness, and consistency. The analysis model is the first technical representation of a system. Analysis modeling uses a combination of text and diagrams to represent software requirements (data, function, and behavior) in an understandable way. Building analysis models helps make it easier to uncover requirement inconsistencies and omissions. Two types of analysis modeling are commonly used: structured analysis and object-oriented analysis. Data modeling uses entity-relationship diagrams to define data objects, attributes, and relationships. Functional modeling uses data flow diagrams to show how data are transformed inside the system. Behavioral modeling uses state transition diagrams to show the impact of events. Analysis work products must be reviewed for completeness, correctness, and consistency.

Concepts of Structured Analysis (DeMarco)Concepts of Structured Analysis (DeMarco) Analysis products must be highly maintainable, especially the software requirements specification. Analysis products must be highly maintainable, especially the software requirements specification. Problems of size must be dealt with using an effective method of partitioning. Problems of size must be dealt with using an effective method of partitioning. Graphics should be used whenever possible. Graphics should be used whenever possible. Differentiate between the logical (essential) and physical (implementation) considerations. Differentiate between the logical (essential) and physical (implementation) considerations. Find something to help with requirements partitioning and document the partitioning before specification. Find something to help with requirements partitioning and document the partitioning before specification. Devise a way to track and evaluate user interfaces. Devise a way to track and evaluate user interfaces. Devise tools that describe logic and policy better than narrative text. Devise tools that describe logic and policy better than narrative text.

Analysis Model ObjectivesAnalysis Model Objectives Describe what the customer requires. Describe what the customer requires. Establish a basis for the creation of a software design. Establish a basis for the creation of a software design. Devise a set of requirements that can be validated once the software is built. Devise a set of requirements that can be validated once the software is built.

Brief HistoryBrief History Late 1960s and early 1970s, analysis modeling was begun. Late 1960s and early 1970s, analysis modeling was begun. 1978, structured analysis appeared adjunct to the topic, “structured design”. 1978, structured analysis appeared adjunct to the topic, “structured design”. 1979, the term structured analysis, originally coined by Douglas Ross, was popularized by DeMarco. 1979, the term structured analysis, originally coined by Douglas Ross, was popularized by DeMarco. 1985, real-time “extensions” were introduced by Ward and Mellor. 1985, real-time “extensions” were introduced by Ward and Mellor. 1987, Hatley and Pirbhai extended traditional analysis modeling to the representation and specification of the control-oriented aspects of the software. 1987, Hatley and Pirbhai extended traditional analysis modeling to the representation and specification of the control-oriented aspects of the software.

Analysis Model ElementsAnalysis Model Elements Data dictionary - contains the descriptions of all data objects consumed or produced by the software Data dictionary - contains the descriptions of all data objects consumed or produced by the software Entity relationship diagram (ERD) - depicts relationships between data objects Entity relationship diagram (ERD) - depicts relationships between data objects Data flow diagram (DFD) - provides an indication of how data are transformed as they move through the system; also depicts functions that transform the data flow (a function is represented in a DFD using a process specification or PSPEC) Data flow diagram (DFD) - provides an indication of how data are transformed as they move through the system; also depicts functions that transform the data flow (a function is represented in a DFD using a process specification or PSPEC) State transition diagram (STD) - indicates how the system behaves as a consequence of external events, states are used to represent behavior modes. Arcs are labeled with the events triggering the transitions from one state to another (control information is contained in control specification or CSPEC) State transition diagram (STD) - indicates how the system behaves as a consequence of external events, states are used to represent behavior modes. Arcs are labeled with the events triggering the transitions from one state to another (control information is contained in control specification or CSPEC)

Data Modeling Elements (ERD)Data Modeling Elements (ERD) Data object - any person, organization, device, or software product that produces or consumes information Data object - any person, organization, device, or software product that produces or consumes information Attributes - name a data object instance, describe its characteristics, or make reference to another data object Attributes - name a data object instance, describe its characteristics, or make reference to another data object Relationships - indicate the manner in which data objects are connected to one another Relationships - indicate the manner in which data objects are connected to one another

Cardinality and Modality (ERD)Cardinality and Modality (ERD) Cardinality - in data modeling, cardinality specifies how the number of occurrences of one object are related to the number of occurrences of another object (1:1, 1:N, M:N) Cardinality - in data modeling, cardinality specifies how the number of occurrences of one object are related to the number of occurrences of another object (1:1, 1:N, M:N) Modality - zero (0) for an optional object relationship and one (1) for a mandatory relationship Modality - zero (0) for an optional object relationship and one (1) for a mandatory relationship

Functional Modeling and Information Flow (DFD)Functional Modeling and Information Flow (DFD) Shows the relationships of external entities, process or transforms, data items, and data stores Shows the relationships of external entities, process or transforms, data items, and data stores DFD cannot show procedural detail (e.g. conditionals or loops) only the flow of data through the software DFD cannot show procedural detail (e.g. conditionals or loops) only the flow of data through the software Refinement from one DFD level to the next should follow approximately a 1:5 ratio (this ratio will reduce as the refinement proceeds) Refinement from one DFD level to the next should follow approximately a 1:5 ratio (this ratio will reduce as the refinement proceeds) To model real-time systems, structured analysis notation must be available for time continuous data and event processing (e.g. Ward and Mellor or Hately and Pirbhai) To model real-time systems, structured analysis notation must be available for time continuous data and event processing (e.g. Ward and Mellor or Hately and Pirbhai)

Behavioral Modeling (STD)Behavioral Modeling (STD) State transition diagrams represent the system states and events that trigger state transitions State transition diagrams represent the system states and events that trigger state transitions STD's indicate actions (e.g. process activation) taken as a consequence of a particular event STD's indicate actions (e.g. process activation) taken as a consequence of a particular event A state is any observable mode of behavior A state is any observable mode of behavior Hatley and Pirbhai control flow diagrams (CFD) can also be used for behavioral modeling Hatley and Pirbhai control flow diagrams (CFD) can also be used for behavioral modeling

Creating Entity Relationship DiagramsCreating Entity Relationship Diagrams Customer asked to list "things" that application addresses, these things evolve into input objects, output objects, and external entities Customer asked to list "things" that application addresses, these things evolve into input objects, output objects, and external entities Analyst and customer define connections between the objects Analyst and customer define connections between the objects One or more object-relationship pairs is created for each connection One or more object-relationship pairs is created for each connection The cardinality and modality are determined for an object-relationship pair The cardinality and modality are determined for an object-relationship pair Attributes of each entity are defined Attributes of each entity are defined The entity diagram is reviewed and refined The entity diagram is reviewed and refined

Creating Data Flow DiagramCreating Data Flow Diagram Level 0 data flow diagram should depict the system as a single bubble Level 0 data flow diagram should depict the system as a single bubble Primary input and output should be carefully noted Primary input and output should be carefully noted Refinement should begin by consolidating candidate processes, data objects, and data stores to be represented at the next level Refinement should begin by consolidating candidate processes, data objects, and data stores to be represented at the next level Label all arrows with meaningful names Label all arrows with meaningful names Information flow must be maintained from one level to level Information flow must be maintained from one level to level Refine one bubble at a time Refine one bubble at a time Write a PSPEC (a "mini-spec" written using English or another natural language or a program design language) for each bubble in the final DFD Write a PSPEC (a "mini-spec" written using English or another natural language or a program design language) for each bubble in the final DFD

Creating Control Flow DiagramsCreating Control Flow Diagrams Begin by stripping all the data flow arrows form the DFD Begin by stripping all the data flow arrows form the DFD Events (solid arrows) and control items (dashed arrows) are added to the diagram Events (solid arrows) and control items (dashed arrows) are added to the diagram Add a window to the CSPEC (contains an STD that is a sequential specification of the behavior) for each bubble in the final CFD Add a window to the CSPEC (contains an STD that is a sequential specification of the behavior) for each bubble in the final CFD

Data Dictionary ContentsData Dictionary Contents Name - primary name for each data or control item, data store, or external entity Name - primary name for each data or control item, data store, or external entity Alias - alternate names for each data object Alias - alternate names for each data object Where-used/how-used - a listing of processes that use the data or control item and how it is used (e.g. input to process, output from process, as a store, as an external entity) Where-used/how-used - a listing of processes that use the data or control item and how it is used (e.g. input to process, output from process, as a store, as an external entity) Content description - notation for representing content Content description - notation for representing content Supplementary information - other data type information, preset values, restrictions, limitations, etc. Supplementary information - other data type information, preset values, restrictions, limitations, etc.

SummarySummary Homework Homework Read the teaching materials. Read the teaching materials.