System Development And Analysis. MOVING FROM LOGICAL TO PHYSICAL PROCESS MODELS Analysis phase – focus on logical processes and data flows Design phase.

Slides:



Advertisements
Similar presentations
1 9 Moving to Design Lecture Analysis Objectives to Design Objectives Figure 9-2.
Advertisements

Chapter 10: The Traditional Approach to Design
Systems Analysis and Design in a Changing World, Fifth Edition
Systems Analysis Requirements structuring Process Modeling
Structured Design. 2 Design Quality – Simplicity “There are two ways of constructing a software design: One is to make it so simple that there are obviously.
Data Flow Diagram (DFD) Review
Communication between modules, cohesion and coupling
Using Data Flow Diagrams
Chapter 7 Structuring System Process Requirements
Using Dataflow Diagrams
1 Software Design Introduction  The chapter will address the following questions:  How do you factor a program into manageable program modules that can.
Traditional Approach to Design
Chapter 10 The 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.
© Copyright 2011 John Wiley & Sons, Inc.
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.
Using Dataflow Diagrams
Jump to first page 1 System Design (Finalizing Design Specifications) Chapter 3d.
Structuring System Requirements: Process Modeling
Chapter 9 Using Data Flow Diagrams
Systems Analysis I Data Flow Diagrams
Structure Charts Agenda: Use of Structure Charts Symbols How to create.
Chapter 7 Structuring System Process Requirements
Traditional Approach to Requirements Data Flow Diagram (DFD)
Chapter 6: The Traditional Approach to Requirements
System Implementation System Implementation - Mr. Ahmad Al-Ghoul System Analysis and Design.
Chapter 9 Moving to Design. The Structured Approach To Designing The Application Architecture Module-an identifiable component of a computer program that.
Chapter 7 Structuring System Process Requirements
Chapter 3 Systems Documentation Techniques Copyright © 2012 Pearson Education, Inc. publishing as Prentice Hall 3-1.
Chapter 7 Using Data Flow Diagrams
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
1 Software Design Reference: Software Engineering, by Ian Sommerville, Ch. 12 & 13, 5 th edition and Ch. 10, 6 th edition.
10 ITK261 The traditional approach to design Reading: Chapter 10 Oct 9, 11.
10 The traditional approach to design Hisham Alkhawar.
1 Software Design Overview Reference: Software Engineering, by Ian Sommerville, Ch. 12 & 13.
Systems analysis and design, 6th edition Dennis, wixom, and roth
System Implementation
SYSTEMS ANALYSIS AND DESIGN TOOLS DATA FLOW DIAGRAMS.
1 ITEC 2010 Chapter 9 – Design The Structure Chart Structure chart –A hierarchical diagram showing the relationships between the modules of a.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
CCSB223/SAD/CHAPTER131 Chapter 13 Designing the System Internals.
Structured design - 1 © Minder Chen, Produce Paycheck Retrieve Employee Record Global Data Store Offpage Calling Module Called Module System.
Chapter 7 Structuring System Process Requirements Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Systems Design.  Application Design  User Interface Design  Database Design.
Systems Development Lifecycle
SYSTEM ANALYSIS AND DESIGN SAFAA S.Y. DALLOUL. DESIGN THE PROGRAM.
© 2005 by Prentice Hall Chapter 7 Structuring System Process Requirements Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
Structure Charts. Graphical representation of the logic of the program, the decisions made, where they are made, the alternative paths, the data stores,
SOFTWARE DESIGN & SOFTWARE ENGINEERING Software design is a process in which data, program structure, interface and their details are represented by well.
Systems Analysis and Design in a Changing World, Fourth Edition
Business Process Modeling What is a process model? – A formal way of representing how a business system operates. – Illustrates the activities that are.
Business Process and Functional Modeling
7. Modular and structured design
Coupling and Cohesion Rajni Bhalla.
System Design and Modeling
Software Design Mr. Manoj Kumar Kar.
Systems Analysis and Design
Structure Charts Agenda: Use of Structure Charts Symbols How to create.
Software Design Designing the overall structure (architecture) of a software system Designing small pieces of computation Designing non-automated processes.
Software Design CMSC 345, Version 1/11.
Structure Charts Agenda: What are Structure Charts
Chapter 7: Data Flow Diagram Structuring System Process Requirements
Communication between modules, cohesion and coupling
Cohesion and Coupling.
Structure Charts.
Presentation transcript:

System Development And Analysis

MOVING FROM LOGICAL TO PHYSICAL PROCESS MODELS Analysis phase – focus on logical processes and data flows Design phase – create physical process models showing “how” the final system will work Physical process models convey the “system view” of the new system

The Physical Data Flow Diagram The physical DFD contains the same components as the logical DFD, and the same rules apply There are five steps to perform to make the transition to the physical DFD

New Logical to New Physical System Design Some design investigate alternate ways to implement the system by drawing a boundary to identify those processes that are to be automated The automation boundary can be drawn on high and low level DFD or on a class diagram

Steps to Create the Physical Data Flow Diagram Metadata is data about data

The Physical Data Flow Diagram (to remind you)

Dividing into Computer Subsystem Architecture design then continues with DFDs in automation boundary and uses out put from database design and user procedure design to produce a structure chart Logically connected processes are grouped in to computer subsystem These sub system usually involve one transaction(similar function) or some connected transactions and become transaction program or batch suites program. The most common method for grouping DFD processes is to follow through on kind of input, which usually identifies a part of a business process see example on page 400

The Structure Chart Describes functions and sub-functions of each part of system Shows relationships between modules of a computer program Simple and direct organization –Each module performs a specific function –Each layer in a program performs specific activities Chart is tree-like with root module and branches

The Structure Chart Purpose A structure chart is a hierarchy chart with arrows showing the flow of data and control information between the modules. Structure charts are used as design tools for functionally decomposing structured programs.

Structure Chart Conventions Structure chart uses a number of conventions to describe system operations The most common conventions specify the execution sequence and parameter passing between modules

Coupling & Cohesion Module coupling –Measure of how module is connected to other modules in program –Goal is to be loosely coupled (independent) Module cohesion –Measure of internal strength of module –Module performs one defined task –Goal is to be highly cohesive

Coupling & Cohesion coupling is a measure of how independent or inter-dependent modules are –has the module everything it needs or does it depend on any other module(s) to complete its task? cohesion is a measure of how much the internal elements logically belong together –has the module nothing more than it needs to do one task well, or does it contain extra undesirable elements? –does it have more than one role?

Types of cohesion Functional - best type of cohesion –all the module’s elements are necessary for the single, specific task –module contains all elements required for the task, and no more –“single minded” modules Sequential –the elements are related by sequence: the output from one is the input for some other –e.g. the 3 modules: calc_gross_pay, calc_deductions, calc_net_pay Communicational –all of the elements in a module operate on the same input data or produce the same output data

Types of cohesion Procedural –the elements make up a single control sequence; usually occurs if flowcharting has been used as a design technique Temporal –the elements are all executed at the same time (e.g. initialisation or close down) Logical –the elements perform a set of logically related tasks e.g. different types of error handling Coincidental - the weakest type of cohesion –no significant relationship between the elements of a module, they are simply bundled together by coincidence producing “scatterbrained” modules

Cohesion

Hints for achieving Functional Cohesion write down a sentence describing the purpose of each function and then analyse it if it cannot be phrased without a comma or more than one verb it probably has sequential or communicational cohesion if it contains words concerning time (first, next, then, after, when, etc) then it probably has sequential or temporal cohesion if the verb is not followed by a simple, single noun then it probably has logical binding e.g. edit all data words such as initialise, clean up, etc suggest temporal cohesion

Coupling Normal coupling –one module calls another with no parameter passing nor return values (i.e. no data communication) –e.g.clearScreen Data coupling –data is passed between modules –achieved via parameter passing and/or return values –simple example:  date day of week 

Coupling Stamp Coupling unnecessary data passed between modules e.g. whole personnel record sent to calc_age module when only the date of birth is needed makes the called module do more than it needs to makes it less reusable in programs with different record structures

Coupling Control Coupling one module passes a piece of information intended to control the internal logic of another -this may be data or a flag procedure PrintRec is begin Display Name (name, sex);..... end PrintRec; procedure DisplayName (in : name, sex) is begin if sex = m then print Mr. else print Ms print the name end DisplayName;

Coupling Common (global) coupling - very undesirable –communication via shared or global data –Suppose modules A, B & C each access some global data. Module A reads it and then invokes B, which alters it incorrectly. Later C reads it, attempts to process it, fails, and the program crashes. Apparent cause is module C, actual cause is module B. Content (pathological) coupling the highest and worst degree of coupling, occurring when either: –one module makes use of data or control information held within another module, or –one module branches into the middle of another (gotos!)

Types of Coupling

Elements in Structure Chart

Basic Building Blocks in SC Rectangular box –A rectangular box represents a module –It is always annotated with the name of the module it represents Example

Basic Building Blocks in SC Module invocation arrow –An arrow connecting two modules (rectangular boxes) –It represents the control passing from one module to another Example

Basic Building Blocks in SC Data flow arrow – To represent the data passes from one modulo to the other in the direction of arrow –Small arrow appears alongside the modulo invocation arrow –It is annotated with the corresponding data name Example

Basic Building Blocks in SC Library Modules – To represent frequently called modules –When a module is invoked by many other modules it is treated as a library module –It is denoted by a rectangle with double edges Example

Basic Building Blocks in SC Decision –To represent a selection out of many options –It is denoted by a diamond symbol –One module out of several modules connected with the diamond symbol is invoked depending on the condition attached to the diamond symbol Example

Basic Building Blocks in SC Iteration – To represent a repetition when two or more modules are invoked repeatedly –It is denoted by a control flow with loop Example

A Simple Structure Chart for the Calculate Pay Amounts Module

Structure Chart Symbols

Structure Chart for Entire Payroll Program

Developing a Structure Chart Two strategies are know for transforming DFD into a structure chart Transaction analysis –Uses system flow chart and event table inputs –Upper-level modules developed first –Identifies each transaction supported by program Transform analysis –Uses DFD fragments for inputs –Computer program “transforms” inputs into outputs –Charts have input, calculate, and output sub-trees

Transaction Analysis Transformation analysis is suitable for transforming central system, which is characterized by identical processing steps for each data items Transaction analysis is suitable for transaction-driven system which is characterized by several possible paths are to be traversed through the DFD depending on the input data item The number of bubbles on which the input data to the DFD are incident defines the number of transactions However, some transactions may not require any input data

Transaction Analysis Identify a transaction by tracing the path from an input data to output data All traversed bubbles belong to the transaction These bubbles is to be mapped to a module in the structure chart There will be root module under which all modules identifying transactions will be drawn Every transaction carries a label identifying its functionality A transaction can be refined to its more detailed level (sub- modules)

An Example of Transaction Analysis: eSale

Transform Analysis Based on the idea that computer program “transforms” input data into output data Structure charts developed with transform analysis usually have 3 main subtrees –Input subtree to get data –A calculate subtree to perform logic –An output subtree to write the results Can create it rearranging elements from –DFD fragment for an event (e.g. “create new order”) –The detailed DFD for that event E.g. see next two slides for “create new order” DFD fragment, and its corresponding detailed DFD

Transformation Analysis Transform analysis identifies the primary functional components and high level input and outputs for these components There are three steps in the transformation analysis: First step. –Divide the DFD into three parts Afferent branch –The input portion that transform input data from physical (e.g. reading from a source) to logical (storing into a table) Efferent branch –The output portion that transform output data from logical form (e.g. output from a process) to physical form (e.g. display the result) Central Transform –The remaining portion of the DFD

Transformation Analysis Second step. –Derive the structure chart by drawing on module for each of the afferent branch, central transform, and the efferent branch –They are drawn below a module called the root module which invokes these modules Example

Transformation Analysis Third step. –Refine the structure chart by adding sub modules required by each of the high-level functional components –Factoring Process of breaking functional components into subcomponents is called factoring The factoring process should be repeated until all bubbles in the DFD are represented in the structure chart

High-Level Structure Chart for the Order-Entry Subsystem After Transaction Analysis

Steps to Create a Structure Chart from a DFD Fragment Determine primary information flow –Main stream of data transformed from some input form to output form Find process that represents most fundamental change from input to output Redraw DFD with inputs to left and outputs to right – central transform process goes in middle Generate first draft of structure chart based on redrawn data flow

The Create New Order DFD Fragment

Decomposed DFD for Create New Order

Rearranged Create New Order DFD

First Draft of the Structure Chart for Create New Order (Figure 10-14)

Steps to Create a Structure Chart from a DFD Fragment ( continued ) Add other modules –Get input data via user-interface screens –Read from and write to data storage –Write output data or reports Add logic from structured English or decision tables Make final refinements to structure chart based on quality control concepts

The Structure Chart for the Create New Order Program (Figure 10-15)

Structure Chart vs. Flow Chart SC – Identify different modules of the software FC - Identify the control of execution of a program SC - Represent data interchange among different modules FC – Technique to represent the flow of control SC – Not able to depict ordering of tasks FC – Depicts the ordering of tasks

Self Study Main Text Ch:16