0% found this document useful (0 votes)
61 views

Engineering Design Resolution & Design Principles: © 2007 Pearson Education, Inc. Publishing As Pearson Addison-Wesley

Architectural and detailed design in the engineering design process. Architectural design is the activity of specifying a program's major parts. Detailed design is the process of specifying the internal elements of all major program parts.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
61 views

Engineering Design Resolution & Design Principles: © 2007 Pearson Education, Inc. Publishing As Pearson Addison-Wesley

Architectural and detailed design in the engineering design process. Architectural design is the activity of specifying a program's major parts. Detailed design is the process of specifying the internal elements of all major program parts.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 22

Engineering Design Resolution & Design Principles

2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Objectives
To distinguish architectural and detailed design To catalog the contents of architectural and detailed design specifications To present acronyms for design specifications To present engineering design principles To arrange these principles in a taxonomy to help understand and remember them
2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Topics
Architectural and detailed design in the engineering design process Architectural design specifications Detailed design specifications Engineering design principles Basic principles Constructive principles A software engineering design principles taxonomy
2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Generic Software Engineering Design


SRS : Problem Design Document : Solution

SRS

Analyze SRS

Analysis

A Generic Software Engineering Design Process

Generate/Improve Candidate Architectures Evaluate Candidate Architectures Architectural Design Select Architecture [else] [adequate architecture] Finalize Architecture

Generate/Improve Detailed Design Alternatives Evaluate Detailed Design Alternatives Select Detailed Design [else] [else] [adequate detailed design] [adequate architecture] Finalize Design Design Document Detailed Design

2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Architectural Design
Architectural design is the activity of specifying a programs major parts; their responsibilities, properties, and interfaces; and the relationships and interactions among them.

High-level design Black boxes Every program has an architecture


2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Detailed Design
Detailed design is the activity of specifying the internal elements of all major program parts; their structure, relationships, and processing; and often their algorithms and data structures.

Mid- and low-level design Black boxes Detailed design shades into coding
2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Architectural Design Specifications


DecompositionProgram parts or modules ResponsibilitiesData and behavior InterfacesAn interface is a boundary across which entities communicate. CollaborationsWho does what when? RelationshipsUses, dependencies, etc. PropertiesPerformance, reliability, etc. States and TransitionsExternally visible

DeSCRIPTR
2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Detailed Design Specifications


DecompositionSub-system parts or units ResponsibilitiesData and behavior InterfacesPublic features CollaborationsWho does what when? RelationshipsInheritance, associations, etc. PropertiesPerformance, reliability, etc. States and TransitionsExternally visible Packaging and ImplementationScope, visibility, etc. Algorithms, Data Structures, and TypesMaybe

DeSCRIPTR-PAID
2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Engineering Design Principles


Design principles are statements about

what makes a design better.

Basic principles state characteristics that

make a design better able to meet stakeholder needs and desires. Constructive principles state, based on experience, that certain engineering design characteristics make a design better.
2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Basic Principles
FeasibilityA design is acceptable only if it can be realized. AdequacyDesigns that meet more stakeholder needs and desires, subject to constraints, are better. EconomyDesign that can be built for less money, in less time, with less risk, are better. ChangeabilityDesign that make a program easier to change are better.
2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

10

Constructive Principles
Modularity principlesGood design are modular; these principles help evaluate whether designs specify good modules. Implementability principlesGood designs are easier to build; these principles help evaluate whether designs will be easy to implement. Aesthetic principlesGood design are beautiful; these principles help pick out beautiful designs.
11

2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Modularity

A modular program is composed of well-defined, conceptually simple, and independent units that communicate through well-defined interfaces.

2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

12

Advantages of Modularity
Easier to understand and explain Easier to document Easier to change Easier to test and debug More reusable Easier to tune

2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

13

What Is a Module?
A module is a program unit with parts.
Immediate parts are those directly below the whole in the parts hierarchy. Program
Sub-programs or sub-systems
Packages, compilation units
Classes, functions Attributes, operations, blocks - Lines of code

2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

14

Modularity Principles 1
Small ModulesDesigns with small modules are better. Information HidingEach module should shield the details of its internal structure and processing from other modules. Least PrivilegeModules should not have access to unneeded resources.

2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

15

Modularity Principles 2
CouplingModule coupling should be minimized.
Coupling is the degree of connection between

pairs of modules.

CohesionModules cohesion should be maximized.


Cohesion is the degree to which a modules parts are related to one another.

2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

16

Implementability Principles
SimplicitySimpler designs are better. Software reuse is the use of existing artifacts to build new software products; reusable artifacts are called assets. Design with ReuseDesigns that reuse existing assets are better. Design for ReuseDesigns that produce reusable assets are better.

2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

17

Aesthetic Principles
BeautyBeautiful (simple and powerful) design are better. Are there other aesthetic principles?
Symmetry Balance Proportion

2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

18

Relationships Among Principles


Some principles usually support one another.
Cohesion, Coupling, Information Hiding Simplicity, Beauty Simplicity, Small Modules

Some principles are often in conflict.


Simplicity, Design for Reuse Small Modules, Design for Reuse Cohesion, Small Modules

Support or conflict may depend on the case at hand.

2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

19

Design Principles Taxonomy


Engineering Design Principles Basic Feasibility Adequacy Changeability Economy Constructive Modularity Small Modules Information Hiding Least Privilege Coupling Cohesion Implementability Simplicity Design with Reuse Design for Reuse Aesthetic Beauty

2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

20

Summary 1
Architectural design is high-level specification of major program parts. Detailed design is mid-level and low-level specification of program units. DeSCRIPTR specifications for architectural design DeSCRIPTR-PAID specifications for detailed design

2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

21

Summary 2
The basic principles of Adequacy, Economy, Feasibility, and Changeability are about meeting stakeholder needs. The constructive principles are based on engineering experience.
Modularity principles: Small Modules, Information Hiding, Least Privilege, Coupling, and Cohesion Implementability principles: Simplicity, and Design with and for Reuse. Aesthetic principle: Beauty.
2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

22

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy