Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.

Slides:



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

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Design Concepts and Principles
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.
Software Design Deriving a solution which satisfies software requirements.
Object-Oriented Analysis and Design
Introduction To System Analysis and Design
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Chapter 14: Design Method --- data and architectural design Design -- A multistep process in which representations of data structure, program structure,
1 Objectives To introduces the concept of software Design. To introduce the concept of Object- Oriented Design (OOD). To Define various aspects about object.
©Ian Sommerville 2006Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
© Copyright Eliyahu Brutman Programming Techniques Course.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Course Instructor: Aisha Azeem
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Object-Oriented Development By Linda M. Northrop vol. 1, chapter 5, pp Presented by: Gleyner Garden EEL6883 Software Engineering II.
Introduction To System Analysis and design
Chapter 10 Architectural Design
The Design Discipline.
2005/05/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
Chapter 2: Approaches to System Development
Systems Analysis and Design in a Changing World, Fifth Edition
INFO415 Approaches to System Development: Part 2
1 Chapter 14 Architectural Design 2 Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a.
Two Approaches to System Development
Introduction To System Analysis and Design
SOFTWARE DESIGN.
Chapter 9 Moving to Design
Modelling Class T16: Conceptual Modelling – Architecture Image from
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Methodologies of the SDLC Traditional Approach to SDLC Object-Oriented Approach to SDLC CASE Tools.
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th edition, Prentice Hall, Hans Van Vliet, Software.
Systems Analysis and Design in a Changing World, 3rd Edition
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 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
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
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.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
1 ITEC 2010 Chapter 9 – Design The Structure Chart Structure chart –A hierarchical diagram showing the relationships between the modules of a.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
OBJECT ORIENTED AND FUNCTION ORIENTED DESIGN 1 Chapter 6.
Introduction to OOAD and the UML
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Design Methods Instructor: Dr. Jerry Gao. Software Design Methods Design --> as a multistep process in which we design: a) data structureb) program structure.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
UML Diagrams for Caradon developers Daniel DG Moth Core Development Group, Research Student University of Brighton, MSc Object Oriented Software Technology.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Object Oriented Analysis and Design 1 Chapter 9 From Design to Implementation  Implementation Model  Forward, Reverse, and Round-Trip Engineering  Mapping.
Basic Characteristics of Object-Oriented Systems
SOFTWARE DESIGN & SOFTWARE ENGINEERING Software design is a process in which data, program structure, interface and their details are represented by well.
11 Systems Analysis and Design in a Changing World, Fifth Edition.
CS 8532: Adv. Software Eng. – Spring 2007 Dr. Hisham Haddad Discussion of Course Syllabus Class will start momentarily. Please Stand By … CS 8532: Advanced.
CS 8532: Adv. Software Eng. – Spring 2009 Dr. Hisham Haddad , Monday Class will start momentarily. Please Stand By … CS 8532: Advanced Software.
Chapter 9 Architectural Design. Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a software.
Systems Analysis and Design in a Changing World, Fourth Edition
Introduction to OOAD and UML
Design Concepts ch-8
Systems Analysis and Design With UML 2
Lecture 9- Design Concepts and Principles
CIS 375 Bruce R. Maxim UM-Dearborn
Lecture 9- Design Concepts and Principles
Object oriented analysis and design
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Chapter 9 Architectural Design.
Design Yaodong Bi.
Introduction to OOAD and the UML
Presentation transcript:

Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU

Main Contents 1.Design Methods 2.Structured Design 3.OO Design

1. Design Methods Ad-hoc Structured OO

1. Design Methods ——Ad-hoc Small Scale Designs – Come up with a block diagram – Place chips on board – Wire parts and components – Hope or Pray it works Large Scale Designs – Partition Design – Develop Library – Configure Design – Test Partial Design – Develop More Libraries – Configure More Designs –... – Complete Design

1. Design Methods —— Structured Design Fundamentals of a Discipline of Computer Program and Systems Design Purpose – Make methodical the process of designing software systems Mainly business systems Approach – Defines properties of a good procedural(module) design – Defines a step-by-step method for transforming a data flow graph into a procedural(module) design

1. Design Methods ——Object-Oriented Design Designing systems using self-contained objects and object classes Direct mapping of concepts in the problem domain to software units and their interfaces – Viewing the world as objects is more natural since it is closer to the way humans think Objects are more stable than functions… Supports information hiding, data abstraction, and encapsulation

2. Structured Design Based on structured analysis Methods – Top-Down – Bottom-Up – Mixed Principles – Functional Decomposition (Divide and conquer) – Modularity and Information hiding Low coupling High internal cohesion

2. Structured Design Top-Down – Refine Specification successively – Decompose each component into small Components – Lowest-level primitive components – Over-sold methodology - only works with plenty of experience – Suitable for small new design system In practice, large systems design is never truly top-down. Some branches are designed before others. Designers reuse experience (and sometimes components) during the design process.

2. Structured Design Bottom-Up – Build-up from primitive components – Combined to form more complex components – Risk wrong interpretation of specifications – Mostly used for legacy system reengineering or enterprise application integration

2. Structural Design Mixed – Mostly top-down, but also bits of bottom-up – Reality: need to know both top level and bottom level constraints – Suitable for large systems design

2. Structured Design —— Review: Sturctured Analysis Model Data dictionary ERD DFD STD Control Specification (CSPEC) Data Object description Process specification (PSPEC) Data Behavior Function

2. Structured Design —— Structured Design Models Data dictionary ERD Structured Chart STD Data Object description Flow Chart Decision Table PDL Data Behavior Function For Design Flow Chart Decision Table PDL

2. Structured Design —— Transform Analysis Customer 4.1 Read Payment 4.2 Edit Payment 4.3 Process Payment 4.4 Update Balance 4.5 Update Open To Buy cheque, bill stub edited payment Accounts 4.6 Insert Payment Payments payment account, amount account, amount account, amount account, amount Afferent Flow Efferent Flow Central Transform Modularity and Information hiding!!!!

2. Structured Design —— Structure Charts Input (Afferent Flow) Process Central Transform) Output (Efferent Flow) Input Process Output Control

2. Structured Design —— Structure Charts - Notation Modules Library modules Module call Data Flag

2. Structured Design —— Structure Charts - Example Process Payment Control Get Payment Process Payment Write Payment Read Record Edit Record Update Account Insert Payment Event Raw Payment Raw Payment Error Payment Error Payment Process Today Payment

2. Structured Design —— Flow Chart

2. Structured Design —— Decision Table

2. Structured Design —— Program Design Language (PDL)

Requirements Collection and Analysis Data Requirements CONCEPTUAL DESIGN Conceptual Schema (in a high-level data model) LOGICAL DESIGN (DATA MODEL MAPPING) Logical (Conceptual) Schema (In the data model of a specific DBMS) PHYSICAL DESIGN Internal Schema Functional Requirements FUNCTIONAL ANALYSIS High-level Transaction Specification APPLICATION PROGRAM DESIGN TRANSACTION IMPLEMENTATION Application Program For Analysis For Design 2. Structured Design ——Phases of data design

Conceptual ERD Logical ERD

2. Structured Design ——Phases of data design Physical ERD

2. Structured Design ——STD for Analysis

2. Structured Design ——STD for Design

3. OO Design Object-oriented analysis, design and programming are related but distinct – OOA is concerned with developing an object model of the application domain – OOD is concerned with developing an object-oriented system model to implement requirements – OOP is concerned with realising an OOD using an OO programming language such as Java or C++

3. OO Design ——Object Oriented Programming Concepts: – Programs are organized into cooperating collections of objects – Object: entity that encapsulates state and behavior. An instance of a class – Interface or protocol: set of messages to which it will respond – Response can be a message or routine, or delegation of the message to another object

3. OO Design —— OOP Models

3. OO Design —— Object-Oriented Analysis Examines requirements from the perspective of the classes and objects found in the vocabulary of the problem domain Yields black-box objects that are derived from the problem domain Scenarios can be used to determine necessary object behavior

3. OO Design —— OO Analysis Model - UML Data Behavior Function Object State-chart diagram Interaction diagram Class diagram Object diagram Use case diagram Activity diagram

3. OO Design —— Object-Oriented Design Object focus shifts to the solution domain – Objects, their semantics, and relationships are identified – Implementation and iteration occur – Quality and principles are focused Jacobsen says “when details of the implementation begin to show, it’s OOD” In my practice: OOA is preliminary design, and OOD is detailed design

3. OO Design ——OOD Models Object State-chart diagram Interaction diagram Class diagram Activity diagram Data Behavior Function Package diagram Component diagram Compone nt Deployment diagram Deployment For Design

3. OO Design ——Class Diagram for Design

3. OO Design ——Activity Diagram for Diagram Analysis Design

3. OO Design ——Sequence Diagram for Analysis Analysis

3. OO Design ——Sequence Diagram for Design

3. OO Design —— Component Model Defines the large-scale pieces of the system. Each of these pieces will contain smaller objects and will organize and orchestrate their behaviour Logical – Package Diagram Physical – Component Diagram

3. OO Design ——Package Diagram

3. OO Design —— Component Diagram Captures the physical structure of the Implementation Built as part of architectural specification Purpose – Organize source code – Construct an executable release – Specify a physical database

3. OO Design —— Component Diagram

3. OO Design —— Deployment Diagram Captures the topology of a system’s hardware Built as part of architectural specification Purpose – Specify the distribution of components – Identify performance bottlenecks Developed by architects, networking engineers, and system engineers Configuration of: – Run-time processing elements – Software components, processes, and objects that live on them. – What about Remote Components?

3. OO Design —— Deployment Diagram

The End Next Lecture – HCI Design