Design Module view What module should the system and which have to be developed . It determines the module structure of components.

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

Chapter 10: The Traditional Approach to Design
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.
1 SOFTWARE DESIGN QUALITY COHESION and COUPLING (Part II)
Traditional Approach to Design
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.
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.
Systems Analysis and Design
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.
Coupling and Cohesion Pfleeger, S., Software Engineering Theory and Practice. Prentice Hall, 2001.
UNIT III : Software 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
SOFTWARE DESIGN.
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.
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.
1 Software Design Overview Reference: Software Engineering, by Ian Sommerville, Ch. 12 & 13.
Concepts of Software Quality Yonglei Tao 1. Software Quality Attributes  Reliability  correctness, completeness, consistency, robustness  Testability.
Cohesion and Coupling CS 4311
Systems analysis and design, 6th edition Dennis, wixom, and roth
Coupling & Cohesion CMSC 201- Fall '11. Vocabulary Routine- A programming unit that performs a task, such as a function, procedure, method, or main class.
Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park.
SIM3302 SOFTWARE DESIGN & TESTING
Coupling Cohesion Chandan R. Rupakheti Steve Chenoweth (Chapter 18)
Chapter 10 Software Engineering. Understand the software life cycle. Describe the development process models. Understand the concept of modularity in.
CCSB223/SAD/CHAPTER131 Chapter 13 Designing the System Internals.
Jump to first page (C) 1998, Arun Lakhotia 1 Design Quality Metrics Arun Lakhotia University of Southwestern Louisiana Po Box Lafayette, LA 70504,
How Are Computers Programmed? CPS120: Introduction to Computer Science Lecture 5.
The Software Development Life Cycle: An Overview
Systems Design.  Application Design  User Interface Design  Database Design.
Systems Development Lifecycle
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.
7. Modular and structured design
UNIT-3 SOFTWARE DESIGN.
Coupling and Cohesion Rajni Bhalla.
Basic Concepts in Software Design
Coupling and Cohesion 1.
Design Characteristics and Metrics
System Design and Modeling
Lecture 9- Design Concepts and Principles
Basic Concepts in Software Design
Software Design Mr. Manoj Kumar Kar.
Chapter 2 : Data Flow Diagram
Lecture 2 Introduction to Programming
Class and Method Design
Coupling and Cohesion By Bonnie Ngu.
Cohesion and Coupling Chapter 5, Pfleeger 01/01/10.
CIS 375 Bruce R. Maxim UM-Dearborn
Computer Programming.
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?”
CS223: Software Engineering
Software Design CMSC 345, Version 1/11.
Lecture 9- Design Concepts and Principles
Programming Logic and Design Fourth Edition, Comprehensive
Software Design Lecture : 9.
Chapter 11 Describing Process Specifications and Structured Decisions
Communication between modules, cohesion and coupling
Eng. Sultan M. Al-Rushdan
Cohesion and Coupling.
Chapter 8: Design: Characteristics and Metrics
Presentation transcript:

Design Module view What module should the system and which have to be developed . It determines the module structure of components.

Coupling It is the measure of the degree of interdependence between modules. Coupling between the modules is the strength of interconnection between modules or a measure of interdependence among modules. Highly coupled – strong interconnection Loosely coupled- weak interconnection

Factors Affecting Coupling Number of interfaces increases coupling. Complexity of interface Type of info flow along interfaces Data control

Types of coupling Data coupling: The dependency b/w module A and B is said to be data coupled if their dependency is based on the fact they communicate by only passing of data. Stamp Coupling: When complete data structure is passed from one module to another. Control Coupling: Passing of control information. This is set by flags that are set by one module and reacted upon by the dependent module.

Common Coupling: Module A and B have share data. External coupling: Related to the communication external tools and devices. Common Coupling: Module A and B have share data. Content Coupling: Module A changes data of module B. A B C D

Cohesion Cohesion is a measure of a degree to which the elements of a module are functionally related. Cohesion of the module represents how tightly bound the internal elements of the module are to one another

Levels / Types of cohesion Coincidental: X and Y here no conceptual relation ship other than shared code. Logical: X and Y performs logically similar operations. Temporal : Tasks that are related by the fact that all tasks must be executed in the same time span.

Procedural: Procedural cohesion occurs in modules whose instructions although accomplish different tasks yet have been combined because there is a specific order in which the tasks are to be completed. Communicational: X and Y both operate on same input/ output data. Sequential: X outputs some data which forms input to Y. Functional: X and Y are a part of single functional task. Related to performing single function.

Functional oriented design The design process for software systems often has two levels. At first level the focus is on deciding which modules are needed for the system, their specification of these modules, and the modules should be interconnected. Design is imposed on a set of interacting units where each unit has clearly defined functions.

This method works fine for small programs. While(not finished) { Read an expression; Evaluate the expression; Print the value; }

Print module Print (expression exp) { Switch(exp->type) Case integer Print integer; Case real Print real; }

Top down structure

Functional oriented design are represented as DFD Data Dictionary Structure chart Pseudo code Structure chart is one of the most commonly used method for system design. Black boxes are used.

Data Control Module Conditional call of module

Pseudocode Using Pseudocode, the designer describes system characteristics using short concise , english language phrases that are structured by keywords such as If then Else, Do while, end .

Relation Ship b/w cohesion and Coupling A s/w engg must design the modules with goal of high cohesion and low coupling.