Lesson 3 ANALYSIS MODELLING.

Slides:



Advertisements
Similar presentations
Systems Analysis Requirements structuring Process Modeling
Advertisements

Alternative Approach to Systems Analysis Structured analysis
Chapter 7 Structuring System Process Requirements
Analysis Concepts, Principles, and Modeling
Chapter 7 Structuring System Process Requirements
Lecture 8- Analysis Modeling The Elements of Anaylsis Model The Elements of Anaylsis Model Data Modeling, Functional Modeling and Information Flow Data.
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.
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,
Jump to first page Chapter 2 System Analysis - Process Modeling.
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.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 8 Structuring.
Cardinality and Modality (ERD)
1 Lecture 3 Requirement Analysis System Analysis Concepts Modeling Techniques.
Analysis Modeling Two primary methods today
Chapter 7 Structuring System Process Requirements
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.
CS451 Introduction to Software Engineering Behavioral Modeling.
Chapter 8 Structuring System Requirements: Process Modeling
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 6.1.
Chapter 1: Data Flow Diagram Structuring System Process Requirements
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 6.1.
Analysis Modeling (cont’d) CpSc 372: Introduction to Software Engineering Jason O. Hallstrom Authorship Disclaimer. These slides.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
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.
Data Flow Diagrams.
The Structured Specification. Why a Structured Specification? System analyst communicates the user requirements to the designer with a document called.
Computer System Analysis Chapter 8 Structuring System Requirements: Process Modeling Dr. Sana’a Wafa Al-Sayegh 1 st quadmaster University of Palestine.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 8 Structuring.
Chapter 7 Structuring System Process Requirements
Chapter 3 Systems Documentation Techniques Copyright © 2012 Pearson Education, Inc. publishing as Prentice Hall 3-1.
1 Chapter 14 Architectural Design 2 Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a.
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.
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 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.
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.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter 5 Structuring.
Modern Systems Analysis and Design Fifth Edition
Chapter 7 Structuring System Process Requirements Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Chapter 12 Analysis Modeling. Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations.
© 2005 by Prentice Hall Chapter 7 Structuring System Process Requirements Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
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 Functional Modeling Lecture # Recap We had talked about object-oriented static modeling in quite detail We had developed a OO static model of.
C_ITIP211 LECTURER: E.DONDO. Unit 3 : PROCESS MODELING.
MIS 360: System Analysis and Design Dr. Qasem Al-Radaideh Department of Computer Information Systems Faculty of Information Technology Yarmouk University.
7-1 Chapter 7 Structuring System Process Requirements Modern Systems Analysis and Design Fourth Edition.
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.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 8 Analysis Modeling copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Chapter 6 Structuring System Requirements: Process Modeling
Problem Solving How do we attack a large problem?
System Design and Modeling
Requirements Modeling: Flow, Behavior, Patterns, and WebApps
Chapter 8 Building the Analysis Model (2) Analysis Modeling
Data Dictionaries ER Diagram.
Chapter 1: Data Flow Diagram Structuring System Process Requirements
Software Engineering: A Practitioner’s Approach, 6/e Chapter 8 Analysis Modeling copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
ANALYSIS MODELING.
Chapter 12 Analysis Modeling
Chapter 7: Data Flow Diagram Structuring System Process Requirements
Presentation transcript:

Lesson 3 ANALYSIS MODELLING

Requirement Analysis Requirements analysis is a software engineering task that bridges the gap between system level requirements and software design(figure 1.1) Requirements analysis provides the software designer with a representation of information , function and behavior that can be translated to data, architectural, interface, and component level designs. Finally the requirements specification provides the developer and the customer with the means to assess quality once the software is built. Software requirements analysis may be divided into five areas of effort: (1) Problem recognition (2)Evaluation and synthesis ,(3) Modeling, (4) Specification and (5) Review Initially, the analyst studies the System Specification(if one exists and the Software Project Plan . 2

Requirements Elicitation for Software During the evaluation and solution synthesis activity, the analyst creates models of the system in an effort to better understand data and control flow, functional processing, operational behavior, and information content. The model serves as a foundation for software design and as the basis for the creation of specifications for the software. Requirements Elicitation for Software Before requirements can be analyzed, modeled or specified they must be gathered through an elicitation process. Initiating the process The most commonly used requirements elicitation technique is to conduct a meeting or interview. Facilitated Application Specification Techniques 3

Identifying Objects and Operations Define “objects” by underling all nouns in the written statement of scope producer/consumers of data places where data are stored “composite” data item Define “operations” by double underling all active verbs processes relevant to the application data transformations Consider other “services” that will be required by the objects 4

Data Modeling and Entity Relationship(E-R) Diagramming 5

Why Data Modeling examines data objects independent of processing focuses attention on data domain creates a model at the customer’s level of abstraction indicates how data objects relate to one another 6

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 the instances of the object Each is described by the attributes that are themselves data items 7

Typical Objects external entities( printer, user, sensor) things ( e.g., 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) structures (e.g., employee record) 8

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 9

What is a Relationship? several instances of a relationship can exist 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 10

ERD Notation Object 2 Object1 Attribute Object1 Object 2 One common form (0,m) Object 2 Object1 (1,1) Relationship Attribute Another common form Object1 Relationship Object 2 (0,m) (1,1) 11

Building an ERD Level 1 - model all data objects (entities) and their “connections” to one another Level 2 - model all entities and relationships Level 3 - model all entities, relationships, and the attributes that provide further depth 12

The ERD : An example Request for service Customer places (1,1) (1,m) generate Work order Standard task table (1,1) (1,1) (1,1) Selected from (1,w) Work tasks Consists of (1,w) (1,i) materials lists 13

Creating a Flow Model 14

The Flow Model Computer based system input output Every computer-based system is an information transform…. Computer based system input output 15

Flow Modeling Notation external entity process data flow data store 16

External entity Examples: a person, a device, a sensor A producer or consumer of data Examples: a person, a device, a sensor Another example: a computer based system Data must always originate somewhere and must always be sent to something 17

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 18

Data Flow base Compute area triangle area height Data flows through a system, beginning as input and be transformed into output. base Compute triangle area area height 19

Data Stores Data is often stored for later use Sensor # Sensor#, type, location, age Look up sensor data Type, location, age Report required Sensor number Sensor data 20

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 the context level diagram (also called level 0) always show external entities at level 0 always label data flow arrows do not represent procedural logic 21

Constructing a DFD review ERD to isolate data objects and grammatical parse to determine “operations” determine external entities (producers and consumers of data) create a level 0 DFD. 22

Level 0 DFD Example user Digital video processor monitor video source Processing request Digital video processor monitor requested video signal NTSC video signal video source 23

Constructing a DFD- II write a narrative describing the transform parse to determine next level transform “balance” the flow to maintain data flow continuity develop a level 1 DFD use a 1:5 (approx.) expansion ratio 24

The Data Flow Hierarchy Level 0 a b x p y p2 c f a p1 g b p5 p5 d e p3 Level 1 25

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) 26

DFDs: A look Ahead Maps Info Analysis Model Design Model 27

Behavioral Modeling and Process Specification 28

Behavioral Modeling events behavior Outside world Application 29

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 30

Behavioral Modeling make a list of different states of the 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 transition diagram 31

State Transition Diagram Notation Event causing transaction Action that occurs new state 32

State Transition Diagram Full and start Reading operator commands Invoke manage-copying full Copies done Invoke read-op-input Invoke read-op-input Making copies empty Reloading paper Invoke reload paper Jammed Invoke problem-diagnosis Not jammed Problem state Invoke read-op-input 33

The Control model the control flow diagram is superimposed on the DFD and shows events that control the processes noted in the DFD. control flows- events and control items- are noted by dashed arrows a vertical bar implies an input to or output from a control spec (CSPEC) - a separate specification that describes how control is handled. a dashed arrow entering a vertical bar is an input to the CSPEC a dashed arrow leaving a process implies a data condition a dashed arrow entering a process implies a control input read directly by the process control flows do not physically activate/deactivate the processes- this is done via the CSPEC 34

Control flow diagram full problem light start empty beeper on/off problem light start empty display panel enabled jammed 35

Control Specification(CSPEC) The CSPEC can be: state transition diagram(sequential spec) state transition table decision tables activation tables Combinatorial spec 36

Guidelines for Building a CSPEC list all sensors that are “read” by the software list all interrupt conditions list all “switches” that are actuated by the operator list all data conditions recalling the noun-verb parse that was applied to the software statement of scope, review all “control items” as possible CSPEC inputs/outputs describe the behavior of a system by identifying its states; identify how each state is reached and defines the transitions between states focus on possible omissions.. Avery common error in specifying control, e.g., ask ; “Is there any other way I can get to this state or exit from it?” 37

Process Specification (PSPEC) bubble PSPEC narrative pseudocode(PDL) equations tables diagrams and/or charts 38

A Design Note PSPEC One or more “components” in the software design 39

Creating Mini-Specs Software specification 40

The Data Dictionary a quasi-formal grammar for describing the content of data that the software will process and create a notation for describing control data and the values that control data can take, e.g., “on”, or “off” a repository that also contains “where-used”/”how used” information a notation that can be represented manually, but is best developed using CASE tools 42

Building a Data Dictionary Name: the primary name of the corporate data item Aliases: other names for the data item Where used: data transforms (processes) that use the composite data item How used: the role of the data item (input, output, temporary storage,etc) Description: a notation for representing content (presented on the next slide) Format: specific information about data types, pre- set values(if known) 43

Data Dictionary Notation Notation Meaning = is composed of + and [ | ] either - or { }n n repetitions of (….) optional data *…text…* delimits a comment 44

Data Dictionary Example Integrated office phone system Telephone number System output Build the requirements dictionary: Name: telephone number Aliases: phone number, number Where/how used: read-phone number(input) display- phone number(output) analyze - long distance calls(input) Description: telephone no =[local extension|outside no| 0] outside no= 9 + [service code|domestic no.] service code =[211|411|611|911] domestic number = ((0)) + area code ) + local number, area code Format: alphanumeric data 45

Writing the Software Specification Everyone knew exactly what had to be done until someone wrote it down ! 46

Specification Guidelines use a layer format that provides increasing detail as the “layers” deepen use consistent graphical notation and apply textual terms consistently(stay away from aliases) be sure to define all acronyms be sure to include a table of contents; ideally, include an index and /or a glossary write in simple, unambiguous style always put yourself in the reader’s position, “would I be able to understand this if it wasn’t intimately familiar with the system ?” 47

Specification Guidelines Be on the lookout for persuasive connectors, ask why? Keys:certainly, clearly, obviously, it follows that.. Watch out for vague terms Keys:some,sometimes,often,usually,ordinarily,most When lists are given, but not completed,be sure that all terms are understood. Keys:etc, and so forth, such as. Be sure stated ranges don’t contain unstated assumptions e.g. , Valid codes range from 10 to 100? Real?Hex? Beware of vague verbs such as handled, rejected, processed Beware of “passive voice “statements e.g.,The parameters are initialized. By what? Beware of “dangling” pronouns. e.g.,The I/O module communicated with the data validation module and its control flag is set. Whose control flag? 48

Requirement When a term is explicitly defined in one place, try substituting the definition for other occurrences of the term When a structure is described by words, draw a picture When a structure is described with a picture, try to redraw the picture to emphasize different elements of the structure When symbolic equations are used, try expressing their meaning in words When a calculation is specified, work at least two examples Look for statements that imply certainty, then ask for proof . Keys: always, every, all, none, never Search behind certainty statements- be sure restrictions or limitations are realistic 49