Structured design - 1 © Minder Chen, 1997-2002 Produce Paycheck Retrieve Employee Record Global Data Store Offpage Calling Module Called Module System.

Slides:



Advertisements
Similar presentations
Design Validation CSCI 5801: Software Engineering.
Advertisements

Systems Development and Documentation Techniques
Chapter 10: The Traditional Approach to Design
Systems Analysis and Design in a Changing World, Fifth Edition
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.
Communication between modules, cohesion and coupling
1 Software Design Introduction  The chapter will address the following questions:  How do you factor a program into manageable program modules that can.
Accounting Information Systems 9th Edition
Traditional Approach to Design
Chapter 10 The Traditional Approach to Design
©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 6-1 Systems Development and Documentation Techniques.
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.
3/5/2009Computer systems1 Analyzing System Using Data Dictionaries Computer System: 1. Data Dictionary 2. Data Dictionary Categories 3. Creating Data Dictionary.
© Copyright 2011 John Wiley & Sons, Inc.
Chapter 9 Describing Process Specifications and Structured Decisions
Jump to first page 1 System Design (Finalizing Design Specifications) Chapter 3d.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design Copyright 2000 © John Wiley & Sons, Inc. All rights reserved. Slide 1 Key.
PVK-Ht051 Contents Introduction Requirements Engineering Project Management Software Design Detailed Design and Coding Quality Assurance Maintenance.
Lecture Note 8 Using Data Flow Diagrams
Systems Analysis and Design
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system design 1 what is systems design? preparation of the system’s specifications with.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Chapter 9 Moving to Design. The Structured Approach To Designing The Application Architecture Module-an identifiable component of a computer program that.
Chapter 9 Describing Process Specifications and Structured Decisions
Week 5: Business Processes and Process Modeling MIS 2101: Management Information Systems.
Coupling and Cohesion Pfleeger, S., Software Engineering Theory and Practice. Prentice Hall, 2001.
Project Management Work Breakdown Structures Minder Chen, Ph.D. CSU Channel Islands
©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 6-1 Accounting Information Systems 9 th Edition Marshall.
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.
An application architecture specifies the technologies to be used to implement one or more (and possibly all) information systems in terms of DATA, PROCESS,
Cohesion and Coupling CS 4311
Systems analysis and design, 6th edition Dennis, wixom, and roth
PowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd Edition Copyright 2006 © John Wiley & Sons, Inc. All rights reserved.
Coupling Cohesion Chandan R. Rupakheti Steve Chenoweth (Chapter 18)
1 ITEC 2010 Chapter 9 – Design The Structure Chart Structure chart –A hierarchical diagram showing the relationships between the modules of a.
Chapter 10 Software Engineering. Understand the software life cycle. Describe the development process models. Understand the concept of modularity in.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
CCSB223/SAD/CHAPTER131 Chapter 13 Designing the System Internals.
CS540 Software Design Lecture 3 & 4 1 Lecture 3 & 4: Modularity, Coupling, Cohesion and Abstraction Anita S. Malik Adapted from Schach.
Design Methods Instructor: Dr. Jerry Gao. Software Design Methods Design --> as a multistep process in which we design: a) data structureb) program structure.
© Minder Chen, Structured design - 1 Produce Paycheck Retrieve Employee Record Global Data Store Offpage Calling Module Called Module System.
11 Software Design CSCU 411 Software Engineering.
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.
System Development And Analysis. MOVING FROM LOGICAL TO PHYSICAL PROCESS MODELS Analysis phase – focus on logical processes and data flows Design phase.
Systems Development Lifecycle
SYSTEM ANALYSIS AND DESIGN SAFAA S.Y. DALLOUL. DESIGN THE PROGRAM.
SOFTWARE DESIGN & SOFTWARE ENGINEERING Software design is a process in which data, program structure, interface and their details are represented by well.
Coupling and Cohesion Schach, S, R. Object-Oriented and Classical Software Engineering. McGraw-Hill, 2002.
Coupling and Cohesion Pfleeger, S., Software Engineering Theory and Practice. Prentice Hall, 2001.
Systems Analysis and Design in a Changing World, Fourth Edition
Systems Development and Documentation Techniques BAB 3 PERTEMUAN SIA-UMBY.
UNIT-3 SOFTWARE DESIGN.
Coupling and Cohesion Rajni Bhalla.
Data Flow Diagrams.
Cohesion and Coupling Chapter 5, Pfleeger 01/01/10.
Software Design Designing the overall structure (architecture) of a software system Designing small pieces of computation Designing non-automated processes.
Improving the Design “Can the design be better?”
The chapter will address the following questions:
Structure Charts Agenda: What are Structure Charts
Software Design Lecture : 9.
Chapter 11 Describing Process Specifications and Structured Decisions
Design Module view What module should the system and which have to be developed . It determines the module structure of components.
Presentation transcript:

Structured design - 1 © Minder Chen, Produce Paycheck Retrieve Employee Record Global Data Store Offpage Calling Module Called Module System Device Module Module Name Normal Procedure (Subroutine) Call Module Name Library(Predefined) Module Global Data Store Used by Page-Jones Offpage Used by Page-Jones Sender Receiver Control Flag Data Structure Chart Notations

Structured design - 2 © Minder Chen, A A,1A,2A,3 Call A,1 Call A,2 Call A,3 Sequence Structured Chart Notations A A,4A,3A,2A,1 Call A,1 IF Tx-Code = “A” Then Call A,2 ELSE IF Tx-Code = “B” Then Call A,3 ELSE IF Tx-Code =“C” THEN Call A,4 Decision A A,1A,2A,3A,4 Call A,1 Repeat Call A,2 Call A,3 Call A,4 Until EOF = “true” A A A,3 A,1 A,2 Statement X Statement T Statement Z Call A,1 Statement X Statement Y StatementZ Call A,3 Iteration Lexical Inclusion

Structured design - 3 © Minder Chen, Structured Chart Notations (Contd.) Notations used by Page-Jones Decision Iteration Lexical Inclusion (The Hat Symbol)

Structured design - 4 © Minder Chen, Structure Chart Notations Interface Table I/F# Input Output 1 A,B C 2 X Y,Z Interface Table 12 Asynchronous Activation of a Subtask Concurrent Activation Symbol Information Cluster A BC D Modules A, B, and C has exclusive access to Data D Program X Physical Packaging Boundary

Structured design - 5 © Minder Chen, Answer to Problem Enter Customer payments 2.5 Display Customer payment 2.32 Verify Customer account 2.21 Get Customer record 2.11 Key invoice remittance 2.4 write Customer payment transaction 2.3 Update A/R master 2.2 Add Customer information 2.1 Key remittance 2.33 Rewrite A/R record 2.22 Verify Customer account 2.31 Get receivable record 2.12 Key monthly statement remittance Structure chart for program 2.0. Enter customer payment Exercise - 3 Remittance EOT Customer-ID Invoice- remittance Monthly- Statement- remittance Customer- sold-to- name Remittance Customer-sold- to-name Customer- payment Customer -ID Customer- number Customer- record No-record- on-file Valid- account A/R- record Old- A/R- record New-A/R- record No-record- on-file Valid account Posting-ok

Structured design - 6 © Minder Chen, How would you partition this system?

Structured design - 7 © Minder Chen, Type of Coupling Tightness of Coupling Goodness of Design Normal Coupling Data Coupling Stamp Coupling Control Coupling Common Coupling Content Coupling Loose Tight Good Bad

Structured design - 8 © Minder Chen, Normal Coupling A. Call B. A. Call B using X,Y. BB Module A and module B are normally coupled if - A calls B - B returns to A All information passed between them are through parameter passing X X Y Y

Structured design - 9 © Minder Chen, UPDATE CUSTOMER MASTER FILE GET VALID INPUT VALIDATE CUSTOMER TRANSACTION UPDATE MASTER PUT CUSTOMER MASTER GET INPUT GET CUSTOMER MASTER GET CUSTOMER TRANS Transaction Transaction is valid Transaction Master Record Acct Number Master Record Updated Master Record Master Record Valid Trans- action Updated Master Record Valid Trans- action

Structured design - 10 © Minder Chen, Data Coupling Calculate Monthly payment of a House Calculate Mortgage Payment Mortgage PaymentLoan Amount Term Interest Rate Module A and module B are data coupled if - A calls B - B returns to A - All information passed between them are through parameter passing - Each parameter is a data element

Structured design - 11 © Minder Chen, Stamp Coupling Calculate Monthly Payment of a House Calculate Mortgage Payment Mortgage Payment Customer Loan Record Two module A and B are data coupled if - A calls B - B returns to A - All information passed between them are through parameter passing - A composite piece of data is passed from one module to another

Structured design - 12 © Minder Chen, Control Coupling Produce paycheck Retrieve Employee Record Produce paycheck Retrieve Employee Record Employee ID Employee Record Employee ID Tell the operator that “The Employee Record Is Not Found” Employee Record Not Found Control FlagDescriptive Flag

Structured design - 13 © Minder Chen, Scale of Cohesion Types of CohesionVisibility Strength of Cohesion Maintainability Functional Black box Sequential Not-quite so Communicational black box Procedural Gray Temporal box Logical Transparent Coincidental or white box Strong Weak Good Bad

Structured design - 14 © Minder Chen, Structure Chart and DFD This module is sequentially cohesive. This module is communicationally cohesive.

Structured design - 15 © Minder Chen, Simplify Communicational Cohesion Get Employee Name Calculate YTD Total Deduction Get Employee Name Calculate YTD Total Deduction Get Employee Name Calculate YTD Total Deduction Employee Name Employee YTD Total Deduction Employee ID Employee YTD Total Deduction Employee Name

Structured design - 16 © Minder Chen, Determine Module Cohesion Type of Cohesion Does activities performed by the module related to a single problem-related task What relates the elements within the module ? Neither data nor control Is sequence important ? Data Flow of control Is sequence important ? Are the activities performed by the elements in the same category? YES NO Functional Sequential Communicational Procedural Temporal Logical Coincidental

Structured design - 17 © Minder Chen, DETERMINE CUSTOMER DETAILS FIND CUSTOMER NAME EVALUATE LOAN STATUS DETERMINE CUSTOMER DETAILS Customer Account Number Customer Name Customer Loan Status Customer Account Number Customer Name A Communicationally Cohesive Module at the Bottom of a Structure Chart A Communicationally Cohesive Module Halfway Up a Structure Chart Each of These Functionally Cohesive Module is at the Bottom of a Structure

Structured design - 18 © Minder Chen, GET RANGES GET TIMES GET AZIMUTHS GET SATELLITE TRAJECTORY GET ELEVATION A Functionally Cohesive Module Very High in a Structure Chart Satellite Trajectory Elevation Ranges Azimuths Times

Structured design - 19 © Minder Chen, The Impact of Module Numbers on Cost Intermodule Effects (Coupling) Cost Due to Intramodule Effects (Cohesion) High Low Cost Number of Modules SmallLarge

Structured design - 20 © Minder Chen, Four Basic Types of Modules Coordinate control Transform (Process) Efferent (Output) Afferent (Input)

Structured design - 21 © Minder Chen, Idea System Shape of a Structure Chart Afferent branch Transform branch Efferent branch

Structured design - 22 © Minder Chen, Idea System Shape of a Structure Chart High fan-out High fan-in

Structured design - 23 © Minder Chen, The Procedure of Deriving Structure Charts from Data Flow Diagrams Evaluate a detailed DFD Type of DFD Identify central transform of the DFD Map to transaction structure Map to transform structure Refined the Structure Chart Identify transaction types and transaction center of the DFD Transaction Analysis Transform Analysis

Structured design - 24 © Minder Chen, P OUTPUT FUNCTION C P INPUT FUNCTION B P INPUT FUNCTION D P OUTPUT FUNCTION A P INPUT FUNCTION C P OUTPUT FUNCTION B P TRANSFORM FUNCTION A P TRANSFORM FUNCTION B P INPUT FUNCTION A BOUNDARY B A DDATA STORE D DDATA STORE B DDATA STORE E M L K J I H G F E D C B A Afferent Central Transform Efferent Transform Analysis

Structured design - 25 © Minder Chen, TRANSFORM FUNCTION A TRANSFORM FUNCTION B INPUT FUNCTION A INPUT FUNCTION D INPUT FUNCTION B OUTPUT FUNCTION A INPUT FUNCTION C OUTPUT FUNCTION C BOSS CENTRAL TRANSFORM CONTROLLER OUTPUT FUNCTION B E & F J & I J G & H E, F, & G I J G I F K E C

Structured design - 26 © Minder Chen, Transaction Analysis DFD Get Customer Transactio n Process Customer Transaction Change Customer Record Add New Customer Get Customer Transaction Delete Customer Record Tx-Code Structure Chart Customer Information System Main Menu 1. Add New Customer 2. Change Customer Record 3. Delete Customer Record A Transaction Selection Screen

Structured design - 27 © Minder Chen, Determine Implementation Boundaries Manual Real-time Batch On-line

Structured design - 28 © Minder Chen, Processor Model: Allocation of essential Model Components to Processors Essential Model Processor 1 Processor 2 Processor 3 Processor Level Implementation Model    Netware LAN  UNIX Server T1 TCP/IP Mainframe Allocating processes and data stores to processors