Structured Design (Yourdon) ( based on Pressman’s Chapter 14 – 5th edition or Chapter 10 - 6th edition) copyright © 1996, 2001, 2005 R.S. Pressman &

Slides:



Advertisements
Similar presentations
MAPPING DATA FLOW DIAGRAMS INTO STRUCTURE CHARTS
Advertisements

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?
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
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.
Chapter 14: Design Method --- data and architectural design Design -- A multistep process in which representations of data structure, program structure,
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Analysis Modeling Over view of today’s lesson T he analysis model is the first technical representation of a system. Analysis modeling uses a combination.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Design Concepts and Principles
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Chapter 10: Architectural Design
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Architectural Design.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Software Engineering Fall 2005
Chapter 10 Architectural Design
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 Chapter 14 Architectural Design. 2 Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a.
Chapter 9 Moving to Design. The Structured Approach To Designing The Application Architecture Module-an identifiable component of a computer program that.
1 COSC 4406 Software Engineering COSC 4406 Software Engineering Haibin Zhu, Ph.D. Dept. of Computer Science and mathematics, Nipissing University, 100.
Programming Or Software Engineering?
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.1.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 Chapter 14 Architectural Design 2 Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Lecture 9: Chapter 9 Architectural Design
SOFTWARE DESIGN.
Chapter 13 Architectural Design
Systems Analysis and Design in a Changing World, 3rd Edition
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
TCS2411 Software Engineering1 Data-Flow Oriented Design “From DFD to Structure Chart”
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 11 Slide 1 Design.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
ARCHITECTURAL DESIGN. Why is Architecture Important? Representations of software architecture are an enabler for communication between all parties (stakeholders)
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 10a: Architectural Design Software Engineering: A Practitioner’s Approach, 6/e Chapter 10a:
1 Supplementary Slides for Software Engineering: A Practitioner's Approach, 5/e Supplementary Slides for Software Engineering: A Practitioner's Approach,
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 11a: Component-Level Design Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 9: Design Engineering Software Engineering: A Practitioner’s Approach, 6/e Chapter.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Chapter : 9 Architectural Design
Chapter 13 설계 개념 Architectural Design 임현승 강원대학교 Revised from the slides by Roger S. Pressman and Bruce R. Maxim for the book “Software Engineering: A Practitioner’s.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 10b: Architectural Design Software Engineering: A Practitioner’s Approach, 6/e Chapter 10b:
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:
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Chapter 9 Architectural Design. Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a software.
CompSci 280 S Introduction to Software Development
Architectural Design.
Lecture 9- Design Concepts and Principles
Chapter 13 Architectural Design
For University Use Only
CHAPTER 2 CREATING AN ARCHITECTURAL DESIGN.
Lecture 6: Design Concepts and Architecture
CS 8532: Advanced Software Engineering
Chapter 9 Architectural Design
Design Model Like a Pyramid Component Level Design i n t e r f a c d s
Lecture 9- Design Concepts and Principles
Chapter 13 Architectural Design
Chapter 9 Architectural Design.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 10 Architectural Design copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For.
Presentation transcript:

Structured Design (Yourdon) ( based on Pressman’s Chapter 14 – 5th edition or Chapter 10 - 6th edition) copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University Use Only May be reproduced ONLY for student use at the university level when used in conjunction with Software Engineering: A Practitioner's Approach. Any other reproduction or use is expressly prohibited.

Agenda 1. Architectural Design (a brief overview) 1.1 Introduction 1.2 Data design 1.3 Architectural styles 2. Structured Design (Yourdon, Constantine) Transform mapping technique Transaction mapping technique

Architectural Design It represents the structure of data and program components (modules) in the system. It considers the architectural style that the system will take, the structure and properties of the components (modules) and interrelationships that occur among all architectural components. Architectural design begins with data design and then proceeds to the derivation of one or more representations of the architectural structure of the system.

Architectural Design (cont.) Alternative architectural styles (or patterns) may be analysed in an attempt to derive the structure that is best suited to customer requirements and quality attributes. Even though an architectural pattern conveys an image of a system, it is not an architecture as such. An architectural pattern is rather a concept that captures essential elements of a software architecture. Furthermore, patterns are often defined as something "strictly described and commonly available". For example, layered architecture is a call-and-return style, when it defines an overall style to interact. When it is strictly described and commonly available, it is a pattern. Once the alternative has been selected, the architecture is elaborated using an architectural (high level) design method (e.g. Structured Design – Yourdon)

Data Design The data design activity translates data object (entities) defined as part of analysis model (see lectures 3 and 4, etc) into data structures at the software component level, and when necessary, a database architecture at the application level. In some situations, a database must be designed and built specifically for a new system. In others, one or more existing databases are used.

Architectural Styles Each style describes a system category that encompasses: (1) a set of components (e.g., a database, computational modules) that perform a function required by a system, (2) a set of connectors that enable “communication, coordination and cooperation” among components, (3) constraints that define how components can be integrated to form the system, and (4) semantic models that enable a designer to understand the overall properties of a system by analyzing the known properties of its constituent parts. More examples of architectural patterns include the following: Layers Presentation-abstraction-control Three-tier Pipeline Implicit invocation Blackboard system Peer-to-peer Service-oriented architecture Naked objects Model-View-Controller Data-centered architectures Data flow architectures Call and return architectures Object-oriented architectures Layered architectures

Data-Centered Architecture

Data Flow Architecture

Call and Return Architecture

Layered Architecture

Why Partitioned Architecture? results in software that is easier to test leads to software that is easier to maintain results in propagation of fewer side effects results in software that is easier to extend

Structured Design (Yourdon, Constantine) objective: to derive a program architecture that is partitioned approach: the DFD is mapped into a program architecture the Pspec and STD are used to indicate the content of each module notation: structure chart

Flow Characteristics Transform flow Transaction flow

General Mapping Approach isolate incoming and outgoing flow boundaries; for transaction flows, isolate the transaction center working from the boundary outward, map DFD transforms into corresponding modules add control modules as required refine the resultant program structure using effective modularity concepts

Transform Mapping

Factoring

First Level Factoring main program controller output input processing

Second Level Mapping

Transaction Mapping Principles isolate the incoming flow path define each of the action paths by looking for the "spokes of the wheel" assess the flow on each action path define the dispatch and control structure map each action path flow individually

Transaction Flow T incoming flow action path

Transaction Mapping Data flow model mapping program structure f e a b x1 t g i program structure l h k t j b m a x2 x3 x4 n d e f g h x3.1 l m n i j k

Transaction Example fixture fixture setting servos commands operator process fixture setting report robot control fixture servos display screen robot control software in reality, other would also be shown assembly record

Level 2 Data Flow Diagram read command validate determine type record calculate output values format report produce error msg fixture status setting send control value invalid command combined raw setting fixture setting robot control start/stop assembly valid command

Isolate Flow Paths produce error msg fixture setting read command validate determine type record calculate output values format report produce error msg fixture status setting send control value invalid command combined raw setting fixture setting robot control start/stop assembly valid command

Map the Flow Model

Refining the Structure Chart