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.

Slides:



Advertisements
Similar presentations
Lecture 8 Systems Analysis: Concept and Principles
Advertisements

Alternative Approach to Systems Analysis Structured analysis
May 2, May 2, 2015May 2, 2015May 2, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University, Azusa, CA.
Design Concepts and Principles
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
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.
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Communication Notation Part V Chapter 15, 16, 18 and 19.
CS 425/625 Software Engineering System Models
Analysis Modeling Instructor: Dr. Jerry Gao. Analysis Modeling Jerry Gao, Ph.D. Jan Elements of the analysis model - Data modeling - Functional.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models September 29, 2008.
Requirements Analysis Concepts & Principles
Introduction to Software Engineering Dr. Basem Alkazemi
Analysis Concepts and Principle.
Purpose of Requirements Analysis Process of discover, refinement, modeling, and specification o Bridge gap between system level SW allocation and design.
SE 555 – Software Requirements & Specifications Introduction
1 Software Requirements Specification Lecture 14.
SE 555 Software Requirements & Specification Requirements Analysis.
Cardinality and Modality (ERD)
Requirements Modeling
Chapter 1 The Systems Development Environment
1 College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software Engineering Fall 2006 Lecture # 2 Chapter 6 & 7 System.
System Analysis Overview Document functional requirements by creating models Two concepts help identify functional requirements in the traditional approach.
The Software Development Life Cycle: An Overview
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.
Requirements Analysis
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 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.
Requirements Engineering Requirements Elicitation Process Lecture-8.
Requirement Engineering. Review of Last Lecture Problems with requirement Requirement Engineering –Inception (Set of Questions) –Elicitation (Collaborative.
1 5.1 Software Engineering Practice  Provide value to the user  KIS—keep it simple!  Maintain the product and project “vision”  What you produce,
1 Chapter 5 Software Engineering Practice. 2 What is “Practice”? Practice is a broad array of concepts, principles, methods, and tools that you must consider.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Coming up: Software Engineering: A Practitioner’s Approach, 6/e Chapter 5 Practice: A Generic View copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Chapter 4 – Requirements Engineering Lecture 3 1Chapter 4 Requirements engineering.
Chapter 11 Analysis Concepts and Principles
Chapter 9 요구사항 모델링: 시나리오 기반 방법론 Requirements Modeling: Scenario-Based Methods 임현승 강원대학교 Revised from the slides by Roger S. Pressman and Bruce R. Maxim.
Lecture 3 Uses Cases Topics UML Use Cases pop quiz Readings: Chapter 3 January 24, 2008 CSCE 492 Software Engineering.
Analysis Modeling. Function Modeling & Information Flow  Information is transformed as it flows through a computer-based system. The system accepts input.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Developed by Reneta Barneva, SUNY Fredonia for CSIT 425 Requirements Modeling.
Software Engineering Saeed Akhtar The University of Lahore Lecture 6 Originally shared for: mashhoood.webs.com.
1 Chapter 11 Analysis Concepts and Principles. 2 Requirements Analysis.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 5 Practice: A Generic View Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Requirements Validation
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 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.
Eliciting requirements from our customers Types of requirements Notations and methods for capturing requirements Reviewing requirements to ensure their.
Chapter 4 Automated Tools for Systems Development Modern Systems Analysis and Design Third Edition 4.1.
Software Engineering Lecture 11: System Analysis.
Topic 4 - Database Design Unit 1 – Database Analysis and Design Advanced Higher Information Systems St Kentigern’s Academy.
Chapter 12 Analysis Modeling. Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations.
Software Analysis and Design Software Analysis Concepts and Principles Software Analysis Modeling Software Design Concepts and Principles Software Design.
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. ◦
Software Specification Tools
Lecture 9- Design Concepts and Principles
Data Dictionaries ER Diagram.
System models October 5, 2005.
Lecture 9- Design Concepts and Principles
Chapter 12 Analysis Modeling
For University Use Only
Requirement Analysis using
Software Modelling and Design
Presentation transcript:

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 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 (will be discussed today’s and next sessions) and object-oriented analysis (discussed in letter). 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.

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

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

Analysis Model Elements  Data dictionary - contains the descriptions of all data objects consumed or produced by the software  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)  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)

Entity relationship diagram Data flow diagram State- transition diagram Data dictionary Figure:-8.1:-The structure of the analysis model

Data Modeling Elements (ERD)  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  Relationships - indicate the manner in which data objects are connected to one another

Object: Attributes: Relationships: Name Address Age Driver’s license Number Make Model ID number Body type Color OWNS Figure:8.2:-Data objects, attributes and relationships

Book Bookstore (a) A basic connection between objects Bookstore Book Orders Displays Stocks Sells Returns

Software Requirements Views Essential view - presents the functions to be accomplished and the information to be processed without regard to implementation. Implementation view - presents the real world manifestation of processing functions and information structures. Avoid the temptation to move directly to the implementation view, assuming that the essence of the problem is obvious.

Software Prototyping Throwaway prototyping (prototype only used as a demonstration of product requirements, finished software is engineered using another paradigm) Evolutionary prototyping (prototype is refined to build the finished system) Customer resources must be committed to evaluation and refinement of the prototype. Customer must be capable of making requirements decisions in a timely manner.

Prototyping Methods and Tools Fourth generation techniques (4GT tools allow software engineer to generate executable code quickly) Reusable software components (assembling prototype from a set of existing software components) Formal specification and prototyping environments (can interactively create executable programs from software specification models)

Specification Principles Separate functionality from implementation. Develop a behavioral model that describes functional responses to all system stimuli. Define the environment in which the system operates and indicate how the collection of agents will interact with it. Create a cognitive model rather than an implementation model. Recognize that the specification must be extensible and tolerant of incompleteness. Establish the content and structure of a specification so that it can be changed easily.

Specification Representation Representation format and content should be relevant to the problem. Information contained within the specification should be nested. Diagrams and other notational forms should be restricted in number and consistent in use. Representations should be revisable.

Specification Review Conducted by customer and software developer. Once approved, the specification becomes a contract for software development. The specification is difficult to test in a meaningful way. Assessing the impact of specification changes is hard to do.