Jump to first page 1 System Design (Finalizing Design Specifications) Chapter 3d.

Slides:



Advertisements
Similar presentations
© 2005 by Prentice Hall Chapter 13 Finalizing Design Specifications Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Advertisements

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.
1 Software Design Introduction  The chapter will address the following questions:  How do you factor a program into manageable program modules that can.
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.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design Copyright 2000 © John Wiley & Sons, Inc. All rights reserved. Slide 1 Key.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 15 Finalizing.
Chapter 13 Finalizing Design Specifications
Systems Analysis and Design
System Implementation System Implementation - Mr. Ahmad Al-Ghoul System Analysis and Design.
Chapter 7 Software Engineering Objectives Understand the software life cycle. Describe the development process models.. Understand the concept of modularity.
Coupling and Cohesion Pfleeger, S., Software Engineering Theory and Practice. Prentice Hall, 2001.
 2004 by SEC Chapter 4 Software Design. 2  2004 by SEC Chapter 4 Software Design 4.1 Design Fundamentals 4.2 Design Method 4.3 Architecture Design
Program Design Simple Program Design Third Edition A Step-by-Step Approach 9.
Software Design Designing the overall structure (architecture) of a software system Designing small pieces of computation Designing non-automated processes.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
1 Software Design Reference: Software Engineering, by Ian Sommerville, Ch. 12 & 13, 5 th edition and Ch. 10, 6 th edition.
SOFTWARE DESIGN Design Concepts Design is a meaningful engineering representation of something that is to be built It can be traced to a customer’s requirements.
SE: CHAPTER 7 Writing The Program
© 2011 Pearson Addison-Wesley. All rights reserved. Addison Wesley is an imprint of Stewart Venit ~ Elizabeth Drake Developing a Program.
Cohesion and Coupling CS 4311
Systems analysis and design, 6th edition Dennis, wixom, and roth
System Implementation
Finalizing Design Specifications
Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park.
PowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd Edition Copyright 2006 © John Wiley & Sons, Inc. All rights reserved.
Chapter 10 Software Engineering. Understand the software life cycle. Describe the development process models. Understand the concept of modularity in.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 10 Slide 1 Chapter 13 Finalizing Design Specifications.
First Steps in Modularization. Simple Program Design, Fourth Edition Chapter 8 2 Objectives In this chapter you will be able to: Introduce modularization.
CCSB223/SAD/CHAPTER131 Chapter 13 Designing the System Internals.
First Steps in Modularization. Simple Program Design, Fourth Edition Chapter 8 2 Objectives In this chapter you will be able to: Introduce modularization.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
11 Software Design CSCU 411 Software Engineering.
Chapter 13 Finalizing Design Specifications
Systems Design.  Application Design  User Interface Design  Database Design.
Systems Development Lifecycle
SYSTEM ANALYSIS AND DESIGN SAFAA S.Y. DALLOUL. DESIGN THE PROGRAM.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
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.
Further Modularization, Cohesion, and Coupling. Simple Program Design, Fourth Edition Chapter 9 2 Objectives In this chapter you will be able to: Further.
Chapter 15 Finalizing Design Specifications
Chapter 15 Finalizing Design Specifications
7. Modular and structured design
UNIT-3 SOFTWARE DESIGN.
Coupling and Cohesion Rajni Bhalla.
Basic Concepts in Software Design
Coupling and Cohesion 1.
Basic Concepts in Software Design
Software Design Mr. Manoj Kumar Kar.
Systems Analysis and Design
Structure Charts Agenda: Use of Structure Charts Symbols How to create.
Cohesion and Coupling Chapter 5, Pfleeger 01/01/10.
Designing and Debugging Batch and Interactive COBOL Programs
Problem Solving Techniques
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?”
Chapter 15 Finalizing Design Specifications
Chapter 2- Visual Basic Schneider
Structure Charts Agenda: What are Structure Charts
Programming Logic and Design Fourth Edition, Comprehensive
Software Design Lecture : 9.
Chapter 13 Finalizing Design Specifications
Design Module view What module should the system and which have to be developed . It determines the module structure of components.
Cohesion and Coupling.
Systems Analysis and Design
Structure Charts.
Presentation transcript:

Jump to first page 1 System Design (Finalizing Design Specifications) Chapter 3d

Jump to first page 2 Learning Objectives Read and understand a structure chart Describe measures of good design Understand cohesion and coupling

Jump to first page 3

4 The Process of Finalizing Design Specifications n Less costly to correct and detect errors during the design phase n Deliverable: a set of design specifications for the entire system, with detailed functional descriptions of each system component

Jump to first page 5 Design Specification Document n Contains: u Overall system description u Interface requirements u System features u Nonfunctional requirements u Other requirements u Supporting diagrams and models

Jump to first page 6 The Structure Chart n Important program design technique n Shows all components of code in a hierarchical format u Sequence – what order of component? u Selection – what condition? u Iteration – how often?

Jump to first page 7 Structure Chart Elements 1.2 Calculate Current GPA Module 1.1 Get Student Grade Record Library Module Loop Conditional Line Control Couple Data Couple Off Page On page

Jump to first page 8 Steps in Building the Structure Chart 1. Identify top level modules and decompose them into lower levels 2. Add control connections 3. Add couples 4. Review and revise again and again until complete

Jump to first page 9

10

Jump to first page 11

Jump to first page 12 Design Guidelines n High quality structure charts result in programs that are modular, reusable and easy to implement. n Measures include: u Cohesion: extent to which a module performs a single function u Coupling: dependencies between modules u Appropriate levels of fan-in and fan- out

Jump to first page 13 Design Guidelines Software is divided into modules. There should be: Minimum interaction between modules [low coupling] AND High degree of interaction within a module [high cohesion] Therefore, an individual module can be DESIGNED, CODED, TESTED OR CHANGED easily.

Jump to first page 14 Types of Cohesion n Functional n Sequential n Communicational n Procedural n Temporal n Logical n Coincidental Good Bad

Jump to first page 15 Example of Low Cohesion Logical Cohesion

Jump to first page 16 Types of Coupling n Data n Stamp n Control n Common n Content Good Bad

Jump to first page 17 a cb d hgf e kj i Data structure Data (Var) Control flag No direct coupling Global data area Example of Coupling Level Stamp coupling data coupling control coupling common coupling

Jump to first page 18 Fan-in/Fan-out

Jump to first page 19 Fan-in High fan-in preferred Promotes reuse of subordinate modules 1.1 Calculate Employee Salary 1.2 Print Employee Roster 1.3 Calculate Benefits Read Employee Record 1.1 Calculate Employee Salary 1.2 Print Employee Roster 1.3 Calculate Benefits Read Employee Record Read Employee Record Read Employee Record Low fan-in not preferred

Jump to first page 20 Quality Checklist 1. Library modules have been created where ever possible 2. The diagram has a high fan-in structure 3. Control modules have no more than 7 subordinates 4. Each module performs only one function (high cohesion) 5. Modules sparingly share information (loose coupling) 6. Data couples that are passed are actually used by the accepting module 7. Control couples are passed from “low to high” 8. Each module has a reasonable amount of code associated with it

Jump to first page 21 Pseudocode n Method used for representing the instructions inside a module n Language similar to computer programming code n Two functions: u Helps analyst think in a structured way about the task a module is designed to perform u Acts as a communication tool between analyst and programmer

Jump to first page 22 Pseudocode Example SET total to zero REPEAT READ Temperature IF Temperature > Freezing THEN INCREMENT total END IF UNTIL Temperature < zero Print total

Jump to first page 23 Summary n In this chapter you learned how to: Read and understand a structure chart Describe measures of good design Understand cohesion and coupling