Presentation is loading. Please wait.

Presentation is loading. Please wait.

© 2000 Morgan Kaufman Overheads for Computers as Components System design techniques zDesign methodologies. zRequirements and specification.

Similar presentations


Presentation on theme: "© 2000 Morgan Kaufman Overheads for Computers as Components System design techniques zDesign methodologies. zRequirements and specification."— Presentation transcript:

1 © 2000 Morgan Kaufman Overheads for Computers as Components System design techniques zDesign methodologies. zRequirements and specification.

2 © 2000 Morgan Kaufman Overheads for Computers as Components Design methodologies zProcess for creating a system. zMany systems are complex: ylarge specifications; ymultiple designers; yinterface to manufacturing. zProper processes improve: yquality; ycost of design and manufacture.

3 © 2000 Morgan Kaufman Overheads for Computers as Components Product metrics zTime-to-market: ybeat competitors to market; ymeet marketing window (back-to-school). zDesign cost. zManufacturing cost. zQuality.

4 © 2000 Morgan Kaufman Overheads for Computers as Components Mars Climate Observer zLost on Mars in September zRequirements problem: yRequirements did not specify units. yLockheed Martin used English; JPL wanted metric. zNot caught by manual inspections.

5 © 2000 Morgan Kaufman Overheads for Computers as Components Design flow zDesign flow: sequence of steps in a design methodology. zMay be partially or fully automated. yUse tools to transform, verify design. zDesign flow is one component of methodology. Methodology also includes management organization, etc.

6 © 2000 Morgan Kaufman Overheads for Computers as Components Waterfall model zEarly model for software development: requirements architecture coding testing maintenance

7 © 2000 Morgan Kaufman Overheads for Computers as Components Waterfall model steps zRequirements: determine basic characteristics. zArchitecture: decompose into basic modules. zCoding: implement and integrate. zTesting: exercise and uncover bugs. zMaintenance: deploy, fix bugs, upgrade.

8 © 2000 Morgan Kaufman Overheads for Computers as Components Waterfall model critique zOnly local feedback---may need iterations between coding and requirements, for example. zDoesn’t integrate top-down and bottom- up design. zAssumes hardware is given.

9 © 2000 Morgan Kaufman Overheads for Computers as Components Spiral model requirements design test system feasibility specification prototype initial system enhanced system

10 © 2000 Morgan Kaufman Overheads for Computers as Components Spiral model critique zSuccessive refinement of system. yStart with mock-ups, move through simple systems to full-scale systems. zProvides bottom-up feedback from previous stages. zWorking through stages may take too much time.

11 © 2000 Morgan Kaufman Overheads for Computers as Components Successive refinement model specify architect design build test initial system specify architect design build test refined system

12 © 2000 Morgan Kaufman Overheads for Computers as Components Hardware/software design flow requirements and specification architecture hardware design software design integration testing

13 © 2000 Morgan Kaufman Overheads for Computers as Components Co-design methodology zMust architect hardware and software together: yprovide sufficient resources; yavoid software bottlenecks. zCan build pieces somewhat independently, but integration is major step. zAlso requires bottom-up feedback.

14 © 2000 Morgan Kaufman Overheads for Computers as Components Hierarchical design flow zEmbedded systems must be designed across multiple levels of abstraction: ysystem architecture; yhardware and software systems; yhardware and software components. zOften need design flows within design flows.

15 © 2000 Morgan Kaufman Overheads for Computers as Components Hierarchical HW/SW flow spec architecture HWSW integrate test system spec HW architecture detailed design integration test hardware spec SW architecture detailed design integration test software

16 © 2000 Morgan Kaufman Overheads for Computers as Components Concurrent engineering zLarge projects use many people from multiple disciplines. zWork on several tasks at once to reduce design time. zFeedback between tasks helps improve quality, reduce number of later design problems.

17 © 2000 Morgan Kaufman Overheads for Computers as Components Concurrent engineering techniques zCross-functional teams. zConcurrent product realization. zIncremental information sharing. zIntegrated product management. zSupplier involvement. zCustomer focus.

18 © 2000 Morgan Kaufman Overheads for Computers as Components Requirements analysis zRequirements: informal description of what customer wants. zSpecification: precise description of what design team should deliver. zRequirements phase links customers with designers.

19 © 2000 Morgan Kaufman Overheads for Computers as Components Types of requirements zFunctional: input/output relationships. zNon-functional: ytiming; ypower consumption; ymanufacturing cost; yphysical size; ytime-to-market; yreliability.

20 © 2000 Morgan Kaufman Overheads for Computers as Components Good requirements zCorrect. zUnambiguous. zComplete. zVerifiable: is each requirement satisfied in the final system? zConsistent: requirements do not contradict each other.

21 © 2000 Morgan Kaufman Overheads for Computers as Components Good requirements, cont’d. zModifiable: can update requirements easily. zTraceable: yknow why each requirement exists; ygo from source documents to requirements; ygo from requirement to implementation; yback from implementation to requirement.

22 © 2000 Morgan Kaufman Overheads for Computers as Components Setting requirements zCustomer interviews. zComparison with competitors. zSales feedback. zMock-ups, prototypes. zNext-bench syndrome (HP): design a product for someone like you.

23 © 2000 Morgan Kaufman Overheads for Computers as Components Specifications zCapture functional and non-functional properties: yverify correctness of spec; ycompare spec to implementation. zMany specification styles: ycontrol-oriented vs. data-oriented; ytextual vs. graphical. zUML is one specification/design language.


Download ppt "© 2000 Morgan Kaufman Overheads for Computers as Components System design techniques zDesign methodologies. zRequirements and specification."

Similar presentations


Ads by Google