Data-Flow Oriented Design

Slides:



Advertisements
Similar presentations
Chapter 26 Legacy Systems.
Advertisements

MAPPING DATA FLOW DIAGRAMS INTO STRUCTURE CHARTS
IFS310: Week 3 BIS310: Structured Analysis and Design 5/4/2015 Process Modeling and Data Flow Diagrams.
1 Software Design Introduction  The chapter will address the following questions:  How do you factor a program into manageable program modules that can.
TCS2411 Software Engineering1 Software Design Principles “Producing the software blueprint”
Traditional Approach to Design
Chapter 9: The Traditional Approach to Design Chapter 10 Systems Analysis and Design in a Changing World, 3 rd Edition.
What is Software Design?  Introduction  Software design consists of two components, modular design and packaging.  Modular design is the decomposition.
Copyright Irwin/McGraw-Hill Software Design Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley.
Software Design Deriving a solution which satisfies software requirements.
TCS2411 Software Engineering1 System Engineering and Analysis “What is the role of the software product?”
Dataflow modelling: Context and Data Flow Diagrams
© Copyright 2011 John Wiley & Sons, Inc.
TCS2411 Software Engineering1 Software Maintenance “Taking care of the software”
1 © University of Sunderland IMSE Lecture 4 u so far all our structure charts have been produced from an English description, e.g. - night on the town.
Chapter 14: Design Method --- data and architectural design Design -- A multistep process in which representations of data structure, program structure,
CS 425/625 Software Engineering System Models
TCS2411 Software Engineering1 Monitoring & Controlling Projects “Do you know what’s happening in the project?”
TCS2411 Software Engineering1 Object-Oriented Analysis and Design “A system of objects interacting to perform the given tasks”
TCS2411 Software Engineering1 Functional and Behavioural Modeling “What is the software supposed to do?”
TCS2411 Software Engineering1 Software Design Notations “Documenting the software blueprint”
TCS2411 Software Engineering1 Software Requirements Specification “Writing down the requirements”
Software Engineering CSE470: Systems Engineering 35 Computer System Engineering Computer System Engineering is a problem-solving activity. Itemize desired.
TCS2411 Software Engineering1 Improving the Design “Can the design be better?”
Process Modeling and Data Flow Diagrams
Chapter 10: Architectural Design
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Data Flow Diagrams (DFDs). Data flow diagram (DFD) is a picture of the movement of data between external entities and the processes and data stores within.
Chapter 10 Architectural Design
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Systems Analysis And Design © Systems Analysis And Design © V. Rajaraman MODULE 14 CASE TOOLS Learning Units 14.1 CASE tools and their importance 14.2.
1 Chapter 14 Architectural Design. 2 Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a.
Chapter 9 Moving to Design. The Structured Approach To Designing The Application Architecture Module-an identifiable component of a computer program that.
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.
1 Chapter 14 Architectural Design 2 Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 15Slide 1 Function-oriented Design u Design with functional units which transform inputs.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 21. Review ANALYSIS PHASE (OBJECT ORIENTED DESIGN) Functional Modeling – Use case Diagram Description.
Software Design Designing the overall structure (architecture) of a software system Designing small pieces of computation Designing non-automated processes.
Chapter 9 Moving to Design
Elements of Software Analysis and Design - Structured Approaches - Structured Analysis - Functional Oriented Design 10/24/2015ICS 413 – Software Engineering1.
Systems analysis and design, 6th edition Dennis, wixom, and roth
TCS2411 Software Engineering1 Data-Flow Oriented Design “From DFD to Structure Chart”
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 11 Slide 1 Design.
PowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd Edition Copyright 2006 © John Wiley & Sons, Inc. All rights reserved.
Structured Design (Yourdon) ( based on Pressman’s Chapter 14 – 5th edition or Chapter th edition) copyright © 1996, 2001, 2005 R.S. Pressman &
CCSB223/SAD/CHAPTER131 Chapter 13 Designing the System Internals.
1 CMPT 275 High Level Design Phase Modularization.
INFORMATION X INFO425: Systems Design Systems Design Project Deliverable 2.
1 Supplementary Slides for Software Engineering: A Practitioner's Approach, 5/e Supplementary Slides for Software Engineering: A Practitioner's Approach,
Design Methods Instructor: Dr. Jerry Gao. Software Design Methods Design --> as a multistep process in which we design: a) data structureb) program structure.
Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,
1Lecture 8 Introduction to Systems Analysis l Objectives –Explain how systems analysis relates to business needs, problems, and opportunities –List and.
Systems Design.  Application Design  User Interface Design  Database Design.
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.
Chapter : 9 Architectural Design
Data Flow Diagram, Data Dictionary, and Process Specification PART I
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 10b: Architectural Design Software Engineering: A Practitioner’s Approach, 6/e Chapter 10b:
SYSTEM ANALYSIS AND DESIGN SAFAA S.Y. DALLOUL. DESIGN THE PROGRAM.
Chapter 7 Design methods Design has been described :  Design shares with programming a concern for abstracting information representation Representations.
Architectural Complexity  A useful technique for assessing the overall complexity of a proposed architecture is to consider dependencies between components.
CS646: Software Design and Architectures Design methods: SSA/SD †  Stands for: Structured Systems Analysis / Structured Design.  Primary applicable notations:
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.
Systems Analysis and Design in a Changing World, Fourth Edition
Software Design Principles
Systems Analysis and Design
Software Engineering Summarized Slides.
Software Design Designing the overall structure (architecture) of a software system Designing small pieces of computation Designing non-automated processes.
CS223: Software Engineering
Design Model Like a Pyramid Component Level Design i n t e r f a c d s
Presentation transcript:

Data-Flow Oriented Design “From DFD to Structure Chart” TCS2411 Software Engineering

TCS2411 Software Engineering Lecture Objectives To describe the process of translating the DFDs to structure charts To understand the systematic approach in producing the design from the analysis model To understand the different types of conversion that can be done in producing the structure chart TCS2411 Software Engineering

TCS2411 Software Engineering Expanding the DFD Initial analysis produces the Context Diagram and Level 1 DFD In the design phase, the DFD is expanded to lower levels, giving more sub-processes within the original process Level 1  Level 2  Level 3  … Consistency is to be maintained from level to level TCS2411 Software Engineering

TCS2411 Software Engineering Example of Level 1 DFD Member application form Process Application new member record Members TCS2411 Software Engineering

TCS2411 Software Engineering Expanded to Level 2 Member Members formatted new member record application form Get Form Check Form Assign Code Prepare Record Format Record application details checked application details new member details new member record TCS2411 Software Engineering

TCS2411 Software Engineering Five-Step Process The type of information flow is established Flow boundaries are indicated The DFD is mapped into program structure Control hierarchy is defined by factoring Resultant structure is refined using design measures and heuristics TCS2411 Software Engineering

Types of Information Flow Transform Flow Information enter at a point, transformed, and exit at another point Path: incoming flow  central transform  outgoing flow Transaction Flow Single data item, transaction, triggers one of many paths Path: incoming flow  transaction centre  action path TCS2411 Software Engineering

TCS2411 Software Engineering Transform Mapping After transform flow is identified, identify the boundaries of incoming and outgoing flow Incoming flow = Afferent flow Outgoing flow = Efferent flow In between the boundaries of the two is the central transform TCS2411 Software Engineering

TCS2411 Software Engineering Example of Boundaries Member Members formatted new member record application form Get Form Check Form Assign Code Prepare Record Format Record application details checked application details new member details new member record Afferent flow Central transform Efferent flow TCS2411 Software Engineering

TCS2411 Software Engineering First Level Factoring Process Membership Application Get Application Process Application Generate New Member TCS2411 Software Engineering

Second Level Factoring Process Membership Application Get Application Process Application Generate New Member Get Application Form Check Application Generate New Record Format New Record TCS2411 Software Engineering

TCS2411 Software Engineering Refinement The hierarchy produced is then refined to improve the quality of the design Modules could be exploded or imploded Apply design concepts of module independence, good cohesion, minimal coupling, and ease of maintenance TCS2411 Software Engineering

TCS2411 Software Engineering Transaction Mapping If transaction flow is identified, identify the transaction centre and flow characteristics of each action path Similar to transform flow, boundaries are identified for incoming flow and the separate action paths Each action path is a transform flow or transaction flow as well TCS2411 Software Engineering

Example of Transaction Flow action paths user commands read user command invoke command processing command type TCS2411 Software Engineering

TCS2411 Software Engineering Transaction Mapping transaction control a reception path b b d dispatcher d a c1 p p q q TCS2411 Software Engineering

Factoring and Refining Each action path has to be refined into a substructure, either by transform or transaction mapping Similar to transaction flow, apply design concepts to improve quality of design TCS2411 Software Engineering

Completing the Structure Chart For each data flow on the DFD add exactly one data couple. Use the same data flow name For each control module, decide how it will control subordinates For modules that select one of several paths, show selection logic with a diamond attached to the link TCS2411 Software Engineering

Design Postprocessing A processing narrative must be developed for each module Interface description is provided for each module Define local and global data structures All design restrictions/limitations noted Conduct design review Optimisation is considered TCS2411 Software Engineering

TCS2411 Software Engineering References “Software Engineering: A Practitioner’s Approach” 5th Ed. by Roger S. Pressman, Mc-Graw-Hill, 2001 “Software Engineering” by Ian Sommerville, Addison-Wesley, 2001 “The Practical Guide to Structured Systems Design” by Meilir Page-Jones, Benjamin/Cummings, 1988 TCS2411 Software Engineering