Uploaded on

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.

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.

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
95
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
2
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Chapters Chapter III Design Concepts & Principles ● Design Principles ● Architectural Design ● Interface Design ● Component Level Design 1
  • 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 2
  • 3. Overview Translating analysis model into a software design 3
  • 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. 4
  • 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. 5
  • 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. 6
  • 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 7
  • 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. 8
  • 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. 9