Computing and SE II Chapter 9: Design Methods and Design Models - PowerPoint PPT Presentation

Loading...

PPT – Computing and SE II Chapter 9: Design Methods and Design Models PowerPoint presentation | free to download - id: 573e82-NmMwM



Loading


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation
Title:

Computing and SE II Chapter 9: Design Methods and Design Models

Description:

Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU 3. OO Design Sequence Diagram for Analysis Analysis 3. – PowerPoint PPT presentation

Number of Views:408
Avg rating:3.0/5.0
Slides: 44
Provided by: software68
Category:

less

Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: Computing and SE II Chapter 9: Design Methods and Design Models


1
Computing and SE IIChapter 9 Design Methods
and Design Models
  • Er-Yu Ding
  • Software Institute, NJU

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

3
1. Design Methods
  • Ad-hoc
  • Structured
  • OO

4
1. Design MethodsAd-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

5
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

6
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

7
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

8
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.

9
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

10
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

11
2. Structured Design Review Sturctured
Analysis Model
12
2. Structured DesignStructured Design Models
Flow Chart Decision Table PDL
For Design
13
2. Structured Design Transform Analysis
Central Transform
4.6
payment
Insert Payment
Customer
4.3
cheque, bill stub
Payments
Process Payment
account, amount
4.5
4.1
Update Open To Buy
Read Payment
account, amount
4.4
payment
Update Balance
edited payment
account, amount
4.2
account, amount
Edit Payment
Afferent Flow
Efferent Flow
Accounts
Modularity and Information hiding!!!!
14
2. Structured Design Structure Charts
Input (Afferent Flow)
Process Central Transform)
Output (Efferent Flow)
Control
Input
Process
Output
15
2. Structured Design Structure Charts -
Notation
Modules
Library modules
Module call
Data
Flag
16
2. Structured Design Structure Charts - Example
Process Payment Control
Payment Error
Payment
Payment
Process Today
Payment
Get Payment
Write Payment
Process Payment
Payment
Raw Payment
Payment Error
Payment
Update Account
Insert Payment Event
Raw Payment
Payment
Read Record
Edit Record
17
2. Structured Design Flow Chart
18
2. Structured Design Decision Table
19
2. Structured Design Program Design Language
(PDL)
20
2. Structured DesignPhases of data design
Requirements Collection and Analysis
Functional Requirements
Data Requirements
CONCEPTUAL DESIGN
FUNCTIONAL ANALYSIS
For Analysis
Conceptual Schema (in a high-level data model)
High-level Transaction Specification
LOGICAL DESIGN (DATA MODEL MAPPING)
For Design
Logical (Conceptual) Schema (In the data model of
a specific DBMS)
APPLICATION PROGRAM DESIGN
PHYSICAL DESIGN
TRANSACTION IMPLEMENTATION
Internal Schema
Application Program
21
2. Structured Design Phases of data design
  • Conceptual ERD
  • Logical ERD

22
2. Structured Design Phases of data design
  • Physical ERD

23
2. Structured Design STD for Analysis
24
2. Structured Design STD for Design
25
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

26
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

27
3. OO Design OOP Models
28
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

29
3. OO Design OO Analysis Model - UML
30
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, its OOD
  • In my practice OOA is preliminary design, and
    OOD is detailed design

31
3. OO Design OOD Models
For Design
Data
Function
Class diagram
Activity diagram
Object
Behavior
Component
State-chart diagram Interaction diagram
Package diagram Component diagram
Deployment diagram
Deployment
32
3. OO Design Class Diagram for Design
33
3. OO Design Activity Diagram for Diagram
Design
Analysis
34
3. OO Design Sequence Diagram for Analysis
Analysis
35
3. OO Design Sequence Diagram for Design
36
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

37
3. OO Design Package Diagram
38
3. OO Design Package Diagram
39
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

40
3. OO Design Component Diagram
41
3. OO Design Deployment Diagram
  • Captures the topology of a systems 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?

42
3. OO Design Deployment Diagram
43
3. OO Design Deployment Diagram
44
The End
  • Next Lecture
  • HCI Design
About PowerShow.com