engineering design resolution design principles n.
Download
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


  • 96 Views
  • 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

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

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


Download Now 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
objectives
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
topics
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
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

DeSCRIPTR

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

DeSCRIPTR-PAID

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.
modularity
Modularity

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.