SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.

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
Systems Analysis and Design in a Changing World, Fifth Edition
MAPPING DATA FLOW DIAGRAMS INTO STRUCTURE CHARTS
DETAILED DESIGN, IMPLEMENTATIONA AND TESTING Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
10 Software Engineering Foundations of Computer Science ã Cengage Learning.
Chapter 7 Structuring System Process Requirements
1 Software Design Introduction  The chapter will address the following questions:  How do you factor a program into manageable program modules that can.
Design Phase What’s design?
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.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Software Design Deriving a solution which satisfies software requirements.
Chapter 14: Design Method --- data and architectural design Design -- A multistep process in which representations of data structure, program structure,
1 STRUCTURE CHARTS Elements and Definitions. 2 Software System Design translates SRS into a ===> software system architecture: –system’s static structure.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Software Engineering I Object-Oriented Design
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Software Engineering I Object-Oriented Design Software Design Refinement Using Design Patterns Instructor: Dr. Hany H. Ammar Dept. of Computer Science.
The Software Development Standards Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
Traditional Approach to Requirements Data Flow Diagram (DFD)
System Implementation System Implementation - Mr. Ahmad Al-Ghoul System Analysis and Design.
Software Design Refinement Using Design Patterns Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
The Software Development Standards Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
CS540 Software Design Lecture 8 1 Lecture 8: Structured Design Anita S. Malik Adapted from Schach (2004) Chapter 13 and Appendix.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 21. Review ANALYSIS PHASE (OBJECT ORIENTED DESIGN) Functional Modeling – Use case Diagram Description.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
Chapter 9 Moving to Design
10 ITK261 The traditional approach to design Reading: Chapter 10 Oct 9, 11.
10 The traditional approach to design Hisham Alkhawar.
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
SE: CHAPTER 7 Writing The Program
POAD Book: Chapter 8 POAD: Analysis Phase Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Elements of Software Analysis and Design - Structured Approaches - Structured Analysis - Functional Oriented Design 10/24/2015ICS 413 – Software Engineering1.
Systems Analysis and Design in a Changing World, 3rd Edition
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Chapter 12: Design Phase n 12.1 Design and Abstraction n 12.2 Action-Oriented Design n 12.3 Data Flow Analysis n Data Flow Analysis Example n
UHD::3320::CH121 DESIGN PHASE Chapter 12. UHD::3320::CH122 Design Phase Two Aspects –Actions which operate on data –Data on which actions operate Two.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
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.
1 Supplementary Slides for Software Engineering: A Practitioner's Approach, 5/e Supplementary Slides for Software Engineering: A Practitioner's Approach,
Slide 13.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach.
Introduction to OOAD and the UML
Systems Analysis and Design in a Changing World, Fourth Edition
Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,
DETAILED DESIGN, IMPLEMENTATION AND TESTING Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
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:
Systems Analysis and Design in a Changing World, Fourth Edition
Software Design Refinement Using Design Patterns
Instructor: Dr. Hany H. Ammar
POAD Book: Chapter 8 POAD: Analysis Phase
System Design and Modeling
System Design.
Lecture 9- Design Concepts and Principles
Instructor: Dr. Hany H. Ammar
Software Design Mr. Manoj Kumar Kar.
FORMAL SYSTEM DEVELOPMENT METHODOLOGIES
Princess Nourah bint Abdulrahman University
Lecture 9- Design Concepts and Principles
Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
Chapter 6: Architectural Design
Introduction to OOAD and the UML
Presentation transcript:

SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU

OUTLINE n Introduction TO Software Design (SWD) and the SW Design Description (SDD) document n Software Design Criteria n Software Design Methodologies n Structured Design for (SD) Software Using ICASE

Software Design Methodologies Structured Design n Following the structured analysis and object- oriented analysis methodologies used in the requirements phase, Design methodologies consist of - Structured Design a) Produces a design that can be implemented in structured programming languages such as C b) characterized by the development of structured hierarchy of modules specified using Structure Charts (SCs)

Software Design Methodologies Structured Design n SCs are used for modeling the partitioning/grouping of data/control functions defined in the specifications into modules, using the software design criteria n The hierarchical organization of these modules, and the data/control interfaces between them are defined in the SC n Each module declared in the SC must be accompanied by a module specification (M-specs). The pre/post conditions, and algorithms specified using a design description language or a flow chart

Software Design Methodologies Structured Design

n SCs are developed from specifications represented by structured analysis graphs (DFDs/CFDs, C- specs, etc.) n C-Specs is mapped to in the upper-level modules in the SC, since they are responsible for controlling the decisions and the activities in the lower levels modules, n The controller Control_Transaction in the previous slide is mapped to the upper-level module controlling the execution of the SC shown

Software Design Methodologies Structured Design n Data processes specified in Data Flow Diagrams (DFDs) are allocated to modules using two techniques discussed as follows - transform-oriented design, processes are divided into input and data preprocessing functions, data processing functions, and output related functions - transaction-oriented design, in this case the design consists of an input module, a dispatcher module, transaction processing modules one module for each type of transaction/command/or request

Software Design Methodologies Structured Design Transform-Oriented DFD/CFD Main Module inputtransformoutput Input transform output 1 st Level SC

Software Design Methodologies Structured Design n Transaction driven Input Type 2 Type 3 Type 1 Input/ process transactions Main Module Input Dispatcher Type 1Type 2Type 3

Structured Design (SD) Using ICASE StP/SE Structure chart Editor symbols (used in the Notes of Chapter 4) Module Library Module Off-Page Connector Representing A subsystem Unidirectional/ bi-directional data couple, A control couple is distinguished by a black circle

Structured Design (SD) Using ICASE Global data Iteration symbol Used at the invocation lines Out of a module Selection Between Invocation Lines out Of a module (Conditional invocation Anchors and comments Can also be used in the Structure chart

Structured Design (SD) Using ICASE Module A Module B Synchronous Invocation, Module A invokes B And waits until B returns Module A Module B Asynchronous Invocation, Module a invokes B, Then continues (not In StP/SE SCE)

Structured Design for (SD) Software Using ICASE Steps for developing structure charts The following set of steps are described to guide the designer in developing an architectural design which conforms to the design criteria n Step 1- Review and refine the diagrams developed in the analysis phase. The analysis diagrams contained in the Software Requirements Specification document are reviewed and refined for the design phase to include greater detail - A refined specification contains a more flattened view of the logical model of the system, by bringing lower level functions to upper level DFDs

Structured Design for (SD) Software Using ICASE n Step 2- Identify and label the necessary concurrent modules from the refined analysis diagrams - The phrase necessary concurrent modules here means that these modules have to be running concurrently for the correct real-time operation of this system - If the identified functions in the various modules can be invoked sequentially and still satisfy the timing specifications for the output events then there is no need for concurrency.

Structured Design for (SD) Software Using ICASE n Step 3- Implement, using asynchronous/synchronous invocations or clear comments, in a structure chart the invocation of concurrent and sequential modules from the main or the root module (this root module usually carries the name of the software under development).

Structured Design for (SD) Software Using ICASE n Step 4- For each concurrent module, Determine whether the refined DFD/CFD diagrams have transform or transaction flow - Determine the first level factoring of these modules, and document their specifications using M-specs. - Specify the couples using data dictionary entries (or data structure diagrams and comments)

Structured Design for (SD) Software Using ICASE n Step 5- Refine the first-cut design obtained above to reflect design criteria such as coupling, cohesion, information hiding, and complexity n Step 6- The complex modules specified in the previous steps should be factored out using steps 1 through 5 above and the process should continue until all lower level modules are simple enough to specify using simple M-specs n Step 7 Complete the descriptions of all module interfaces and global data structures

Example of Step 4 of Design Procedure

Example of Step 5 of Design Procedure

A Simple Example: A Home Security System

Design Procedure: Step 2 Home Security System Main Monitor Sensor Executive Asynch. Invocation User Interaction Executive

ATM Design Example Recall first the ATM analysis, and use it to develop a design