engineering design resolution design principles n.
Skip this Video
Loading SlideShow in 5 Seconds..
Engineering Design Resolution & Design Principles PowerPoint Presentation
Download Presentation
Engineering Design Resolution & Design Principles

Loading in 2 Seconds...

play fullscreen
1 / 22

Engineering Design Resolution & Design Principles - PowerPoint PPT Presentation

  • Uploaded on

Engineering Design Resolution & Design Principles. 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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Engineering Design Resolution & Design Principles' - gretchen-medina

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
  • 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
  • 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
architectural design
Architectural Design
  • High-level design
  • Black boxes
  • Every program has an architecture

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

detailed design
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
architectural design specifications
Architectural Design Specifications
  • Decomposition—Program parts or modules
  • Responsibilities—Data and behavior
  • Interfaces—An interface is a boundary across which entities communicate.
  • Collaborations—Who does what when?
  • Relationships—Uses, dependencies, etc.
  • Properties—Performance, reliability, etc.
  • States and Transitions—Externally visible


detailed design specifications
Detailed Design Specifications
  • Decomposition—Sub-system parts or units
  • Responsibilities—Data and behavior
  • Interfaces—Public features
  • Collaborations—Who does what when?
  • Relationships—Inheritance, associations, etc.
  • Properties—Performance, reliability, etc.
  • States and Transitions—Externally visible
  • Packaging and Implementation—Scope, visibility, etc.
  • Algorithms, Data Structures, and Types—Maybe


engineering design principles
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.
basic principles
Basic Principles
  • Feasibility—A design is acceptable only if it can be realized.
  • Adequacy—Designs that meet more stakeholder needs and desires, subject to constraints, are better.
  • Economy—Design that can be built for less money, in less time, with less risk, are better.
  • Changeability—Design that make a program easier to change are better.
constructive principles
Constructive Principles
  • Modularityprinciples—Good design are modular; these principles help evaluate whether designs specify good modules.
  • Implementabilityprinciples—Good designs are easier to build; these principles help evaluate whether designs will be easy to implement.
  • Aestheticprinciples—Good design are beautiful; these principles help pick out beautiful designs.

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

advantages of modularity
Advantages of Modularity
  • Easier to understand and explain
  • Easier to document
  • Easier to change
  • Easier to test and debug
  • More reusable
  • Easier to tune
what is a module
What Is a Module?
  • 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

A module is a program unit with parts.

modularity principles 1
Modularity Principles 1
  • SmallModules—Designs with small modules are better.
  • InformationHiding—Each module should shield the details of its internal structure and processing from other modules.
  • LeastPrivilege—Modules should not have access to unneeded resources.
modularity principles 2
Modularity Principles 2
  • Coupling—Module coupling should be minimized.
    • Coupling is the degree of connection between pairs of modules.
  • Cohesion—Modules cohesion should be maximized.
    • Cohesion is the degree to which a module’s parts are related to one another.
implementability principles
Implementability Principles
  • Simplicity—Simpler designs are better.
  • Software reuse is the use of existing artifacts to build new software products; reusable artifacts are called assets.
  • Design withReuse—Designs that reuse existing assets are better.
  • Design forReuse—Designs that produce reusable assets are better.
aesthetic principles
Aesthetic Principles
  • Beauty—Beautiful (simple and powerful) design are better.
  • Are there other aesthetic principles?
    • Symmetry
    • Balance
    • Proportion
relationships among principles
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.
summary 1
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
summary 2
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.