Functional Modeling 081 0. Question How do you know if you have enough information to compute the necessary output values? How do you know if you have.

Slides:



Advertisements
Similar presentations
Data Flow Diagramming Rules Processes –a process must have at least one input –a process must have at least one output –a process name (except for the.
Advertisements

New Customer Information
Systems Analysis Requirements structuring Process Modeling
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
SYSTEMS ANALYSIS AND DESIGN TOOLS
Introduction to Data Flow Diagrams Week 6 CMIS570.
Actors and use cases Use-case diagram Brief notation Prioritization Fully dressed notation Requirements Functional requirements  Use-cases.
Systems Analysis and Design 9th Edition
Data Flow Diagrams Mechanics.
PROCESS MODELING Transform Description. A model is a representation of reality. Just as a picture is worth a thousand words, most models are pictorial.
Data Flow Diagramming. Data Flow Diagrams Data Flow Diagrams are a means to represent data transformation processes within an information system.
Data Model Examples: DFD’s and System Flowcharts
Modern Systems Analysis and Design
Structuring System Requirements: Process Modeling
MIS 461: Structured System Analysis and Design Dr. A.T. Jarmoszko
DT211 Stage 2 Software Engineering
The Program Design Phases
Systems Analysis I Data Flow Diagrams
Copyright © 2015 Pearson Education, Inc. Systems Documentation Techniques Chapter
Process Modeling SYSTEMS ANALYSIS AND DESIGN, 6 TH EDITION DENNIS, WIXOM, AND ROTH © 2015 JOHN WILEY & SONS. ALL RIGHTS RESERVED. 1 Roberta M. Roth.
Data Flow Diagramming.
Data Flow Diagrams BCA Sem IV K.I.R.A.S.
National Diploma in Systems Analysis and Design Data Flow Modelling.
staffs.ac.uk Process Model. staffs.ac.uk Contents Provide definitions Explain the components and representations Introduce a step.
Data-flow Diagrams Chapter 17. Elements of data-flow diagrams  There are four basic elements of data flow diagrams: Data Transforms: where data is filtered,
Chapter 8 Structuring System Requirements: Process Modeling
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 6.1.
Data flow diagrams.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 6.1.
Activity Diagram.
Modular Programming Chapter Value and Reference Parameters t Function declaration: void computesumave(float num1, float num2, float& sum, float&
1 Chapter 2 Revision: Documentation DFD System FC.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
Functional Modeling Joseph Valacich, Joey George and Jeff Hoffer, Essentials of System Analysis and Design, 4 th edition, Prentice Hall, 2009.
1 Lecture 3: Introducing Data Flow Diagrams (DFDs) Section 1 - The Concept of Diagrams Why use Diagrams? Diagrams as Working Documents Systems Analysis.
DATA FLOW DIAGRAMS Learning Units
Systems Analysis & Design Data Flow Diagrams. End Home Data Flow Diagrams – Definition  A data flow diagram is a pictorial model that shows the flow.
程建群 博士(Dr. Jason Cheng) 年03月
Data-Flow Diagrams Week 10 Lecture 1. Data Flow Diagrams (DFDs) One of most important modelling tools used by system analysts In use since late 1970’s.
Data-flow Diagrams Chapter 17. Elements of data-flow diagrams There are four basic elements of data flow diagrams: –Data Transforms: where data is filtered,
Computer System Analysis Chapter 8 Structuring System Requirements: Process Modeling Dr. Sana’a Wafa Al-Sayegh 1 st quadmaster University of Palestine.
Chapter 7 Structuring System Process Requirements
Documenting Information Systems. Learning Objectives To read and evaluate data flow diagrams To read and evaluate systems flowcharts. To prepare data.
Judi Prajetno Sugiono ©2009 Management Information System Additional note for DFD.
System Analysis: Case Study. System Analysis Overview It is one of the most important phases of the whole system development. Generally, the whole process.
Intro to Software System Modeling
DFDs (Data Flow Diagrams). Data Flow Diagrams DFDs are a system modeling tool, the most popular and important representation in data flow modeling. DFDs.
Computational Paradigms and Process Frameworks. State-Oriented Models Examples: –Automata (DFAs, NFAs, PDAs) –Turing Machines A finite state machine is.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
G045 Lecture 08 DFD Level 1 Diagrams (Data Flow Diagrams Level 1)
Chapter 4 enterprise modeling
Functional Modeling Joseph Valacich, Joey George and Jeff Hoffer, Essentials of System Analysis and Design, 4 th edition, Prentice Hall, 2009.
CS212: Object Oriented Analysis and Design Lecture 34: UML Activity and Collaboration diagram.
Systems Analysis and Design in a Changing World, Fourth Edition
Information Systems Engineering Activity Diagram 1.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter 5 Structuring.
Copyright 2002 Prentice-Hall, Inc. Chapter 7 Structuring System Requirements: Process Modeling.
Modern Systems Analysis and Design Fifth Edition
Systems Analysis and Design 8th Edition
Systems Analysis and Design 8th Edition
Span of Control CEO VP Finance Finance Dept. VP Marketing Marketing Dept. VP Acctg Acctg Dept. CEO VP IS Plant Operations VP Mfg. Excess Span of Control.
Data Flow Diagramming 1. Used to represent processes that:  … capture, manipulate, store, & distribute data  … between a system & its environment 
MIS 360: System Analysis and Design Dr. Qasem Al-Radaideh Department of Computer Information Systems Faculty of Information Technology Yarmouk University.
Data Flow Diagrams Mechanics.
Process & Logic Modeling
Object Oriented Modeling and Design
Data Flow Diagrams Mechanics.
Data Flow Diagrams Mechanics. Outline DFD symbols External entities (sources and sinks) Data Stores Data Flows Processes Types of diagrams Step by step.
Data Flow Diagramming Rules
Introduction to Data Flow Diagrams
Presentation transcript:

Functional Modeling 081 0

Question How do you know if you have enough information to compute the necessary output values? How do you know if you have enough information to compute the necessary output values?

Functional Models What is a function? What is a function?

Steps in constructing Functional Model Identify data (e.g. input and output values) Identify data (e.g. input and output values) Identify transformations (e.g., functions) Identify transformations (e.g., functions) Identify sources and sinks for data Identify sources and sinks for data Draw Diagram Draw Diagram Identify the constraints. Identify the constraints.

Data Flow Diagrams: Four things in diagrams Four things in diagrams  Processes (ellipses)  Data flows (arrows)  Actors (boxes)  Data stores (“open boxes”, parallel lines) Data store

Simple Example DFD Compute Average Compute Grades Names Output Grades Exam Grades exam average Student Names Grade Book Exam Grades Grades

Processes Transforms data values Transforms data values Drawn as ellipses with fixed number of in- arrows and out-arrows Drawn as ellipses with fixed number of in- arrows and out-arrows Example: Example: Integer division dividend divisor quotient remainder

Levels of detail Level 1: Shows system inputs, outputs, and processes Level 1: Shows system inputs, outputs, and processes Level 2: Shows inputs, outputs, and processes for some Level 1 process Level 2: Shows inputs, outputs, and processes for some Level 1 process Level 3: Shows inputs, outputs, and processes for some Level 2 process Level 3: Shows inputs, outputs, and processes for some Level 2 process program inputs outputs

Data Flows Connect processes Connect processes Represent intermediate data Represent intermediate data Values are not changed by data flow Values are not changed by data flow Arrow with name or type of data Arrow with name or type of data integer a copy simple address city zip Aggregation split address city zip street Aggregation join

Actors Producers or consumers of data Producers or consumers of data aka “terminators”, “source and sink” aka “terminators”, “source and sink” Drawn as rectangle Drawn as rectangle Customer

Data Store Stores data for later use Stores data for later use Has exactly two operations: Has exactly two operations:  Store  Retrieve Not an actor: must have both store and retrieve Not an actor: must have both store and retrieve Drawn as Drawn as Data store

Example Periodic Table Find weight element Atomic weight Atomic weights Initialize table Atomic weights

Example Price List Find cost Item name Cost

Level 1 Process Payroll Employee Records TimeCards Paychecks Accounting Report

Level 2: Payroll Process Calculate Withholding Employee Records TimeCards Paychecks Accounting Report Format paycheck Validate TimeCard Calculate GrossPay Format Accounting Emp. Info. Formatted Acct. Inf. Paycheck Info Gross Pay Valid Timecard Info Timecard Info. Formatted Paycheck.

Level 2: Calculate Withholding Compute Withholding Rate Emp. Info. Acct. Inf. Paycheck Info Gross Pay Compute Net Rate

Notes: Show all possible computation paths for values. Show all possible computation paths for values. Do not show what paths are executed in what order (that’s the job of the dynamic model). Do not show what paths are executed in what order (that’s the job of the dynamic model). There may be many Level N+1 diagrams for each Level N diagram. Level N+1 expands a single node of a Level N diagram. There may be many Level N+1 diagrams for each Level N diagram. Level N+1 expands a single node of a Level N diagram.

Things to check in DFDs 1. Is each requirements function represented by a transform in the DFDs? 2. Is each system input and output represented in the DFDs?

Things to check in DFDs (cont’d) 5. Are all labels of information flows in the data dictionary? 6. Do all data dictionary entries appear in the DFDs?

UML Activity Diagrams Capture Actions and their results Capture Actions and their results Similar to state diagrams Similar to state diagrams  Actions and results show in terms of state changes  Transitions occur when actions are complete (no events)

Purposes of Activity Diagrams Capture work (actions) to be performed when an operation executes Capture work (actions) to be performed when an operation executes Capture the internal work in an object Capture the internal work in an object Show how related actions can be performed Show how related actions can be performed Show how an instance of a use case can be performed in terms of actions and objects Show how an instance of a use case can be performed in terms of actions and objects Show how a business works in terms of actors, workflows, and objects Show how a business works in terms of actors, workflows, and objects

Activity Diagrams Actions Actions  Something performed to produce a result  An operation may consist of a set of actions  Drawn as rounded-edged rectangles Edges Edges  Do not have events (except for first edge)  May have guard conditions, send-clause, or action expression  Usually have nothing (transition occurs when action is complete)

Activity Diagram Elements Show “Printing” in MessageBox Create pdf file Send pdf to printer Remove MessageBox Customer.Print()

Activity Diagram Elements Show “Printing” in MessageBox Create pdf file Remove MessageBox Customer.Print() ^Printer.Print(file)

Activity Diagram Elements Show “Printing” in MessageBox Create pdf file Remove MessageBox Customer.Print() ^Printer.Print(file) Show Disk Full msg [full] [free space] > disk status 1 1

Style Points Each edge leaving a decision point should have a guard Each edge leaving a decision point should have a guard Guards on edges leaving decision points must not overlap (deterministic) Guards on edges leaving decision points must not overlap (deterministic) Guards on edges leaving decision points form a complete set (must be possible to leave the guard) Guards on edges leaving decision points form a complete set (must be possible to leave the guard)  [otherwise] can be used as a fall through case Model guards only if they add value Model guards only if they add value Simplify Guards (see following) Simplify Guards (see following)

Three examples of guards [account.balance >= withdraw.amount] [account.balance < withdraw.amount] [false] [true] > [account.balance >= withdraw.amount] [false] [true] Sufficient Balance?

More style points Include start and end points Include start and end points Question “black hole” (no output edge) and “miracle” (no input edge) activities Question “black hole” (no output edge) and “miracle” (no input edge) activities Use connectors to avoid hard to follow edges, but make sure they match Use connectors to avoid hard to follow edges, but make sure they match Use numbers on connectors Use numbers on connectors

Parallel Actions Initiate Measure Update Display

Using Objects to Represent Datastore Initiate Measure Update Display Measured value

Specifying Operations in Greater Detail Need a signature Need a signature  Name  Arguments (number, order, types)  Values returned (number, order, types) Need transformations Need transformations  Functions and equations  Tables of values  Pre and post conditions  Decision tables  Pseudo code  Natural language

Operations Trivial Trivial  Access: read or write attributes. May not be necessary to show all of these. Non-trivial Non-trivial  Queries: no side effects  Actions: “instantaneous” (atomic)  Activities: duration over time