Bai giang-se-24feb14

9
Chapters Chapter III Design Concepts & Principles Design Principles Architectural Design Interface Design Component Level Design 1

description

Bài giảng môn Kỹ nghệ phần mềm cho lớp 56PM, Khoa Công nghệ thông tin, Trường Đại học Xây Dựng, ngày 24 tháng 02 năm 2014.

Transcript of Bai giang-se-24feb14

Page 1: Bai giang-se-24feb14

1

Chapters

Chapter III

Design Concepts & Principles

●Design Principles

●Architectural Design

●Interface Design

●Component Level Design

Page 2: Bai giang-se-24feb14

2

Overview

●The designer's goal is to produce a model or representation of an entity that will later be built.

●Design is the first of three technical activities (design, code generation, and test) that are required to build and verify the software

●Software requirements, manifested by the data, functional, and behavioral models, feed the design task

●The design task produces a data design, an architectural design, an interface design, and a component design

Page 3: Bai giang-se-24feb14

3

Overview

Translating analysis model into a software design

Page 4: Bai giang-se-24feb14

4

Overview

● The design task produces a data design, an architectural design, an interface design, and a component design.

● The data design transforms the information domain model created during analysis into the data structures that will be required to implement the software.

● The architectural design defines the relationship between major structural elements of the software, the “design patterns” that can be used to achieve the requirements.

Page 5: Bai giang-se-24feb14

5

Overview

● The interface design describes how the software communicates within itself, with systems that interoperate with it, and with humans who use it.

● The component-level design transforms structural elements of the software architecture into a procedural description of software components.

Page 6: Bai giang-se-24feb14

6

Overview

● Design provides us with representations of software that can be assessed for quality.

● Design is the only way that we can accurately translate a customer's requirements into a finished software product.

Page 7: Bai giang-se-24feb14

7

Design Principles

● Software design is both a process and a model.

● The design process is a sequence of steps that enable the designer to describe all aspects of the software to be built (creative skill, past experience, a sense of what makes “good” software)

● The design model begins by representing the totality of the thing to be built and slowly refines the thing to provide guidance for constructing each detail

Page 8: Bai giang-se-24feb14

8

Design Principles

● The design process should not suffer from “tunnel vision.”

● The design should be traceable to the analysis model.

● The design should not reinvent the wheel.

● The design should “minimize the intellectual distance”

between the software and the problem as it exists in the

real world.

● The design should exhibit uniformity and integration.

● The design should be structured to accommodate change.

Page 9: Bai giang-se-24feb14

9

Design Principles

● The design should be structured to degrade gently, even

when aberrant data, events, or operating conditions are

encountered.

● Design is not coding, coding is not design.

● The design should be assessed for quality as it is being

created, not after the fact.

● The design should be reviewed to minimize conceptual

(semantic) errors.