Presentation is loading. Please wait.

Presentation is loading. Please wait.

© 2000 Morgan Kaufman Overheads for Computers as Components1 Design methodologies zA procedure for designing a system. zUnderstanding your methodology.

Similar presentations


Presentation on theme: "© 2000 Morgan Kaufman Overheads for Computers as Components1 Design methodologies zA procedure for designing a system. zUnderstanding your methodology."— Presentation transcript:

1

2 © 2000 Morgan Kaufman Overheads for Computers as Components1 Design methodologies zA procedure for designing a system. zUnderstanding your methodology helps you ensure you didn’t skip anything. zCompilers, software engineering tools, computer-aided design (CAD) tools, etc., can be used to: yhelp automate methodology steps; ykeep track of the methodology itself.

3 © 2000 Morgan Kaufman Overheads for Computers as Components2 Design goals zPerformance. yOverall speed, deadlines. zFunctionality and user interface. zManufacturing cost. zPower consumption. zOther requirements (physical size, etc.)

4 © 2000 Morgan Kaufman Overheads for Computers as Components3 Levels of abstraction requirements specification architecture component design system integration

5 © 2000 Morgan Kaufman Overheads for Computers as Components4 Top-down vs. bottom-up zTop-down design: ystart from most abstract description; ywork to most detailed. zBottom-up design: ywork from small components to big system. zReal design uses both techniques.

6 © 2000 Morgan Kaufman Overheads for Computers as Components5 Stepwise refinement zAt each level of abstraction, we must: yanalyze the design to determine characteristics of the current state of the design; yrefine the design to add detail.

7 © 2000 Morgan Kaufman Overheads for Computers as Components6 Requirements zPlain language description of what the user wants and expects to get. zMay be developed in several ways: ytalking directly to customers; ytalking to marketing representatives; yproviding prototypes to users for comment.

8 © 2000 Morgan Kaufman Overheads for Computers as Components7 Functional vs. non- functional requirements zFunctional requirements: youtput as a function of input. zNon-functional requirements: ytime required to compute output; ysize, weight, etc.; ypower consumption; yreliability; yetc.

9 © 2000 Morgan Kaufman Overheads for Computers as Components8 Our requirements form

10 © 2000 Morgan Kaufman Overheads for Computers as Components9 Example: GPS moving map requirements zMoving map obtains position from GPS, paints map from local database. lat: 40 13 lon: 32 19 I-78 Scotch Road

11 © 2000 Morgan Kaufman Overheads for Computers as Components10 GPS moving map needs zFunctionality: For automotive use. Show major roads and landmarks. zUser interface: At least 400 x 600 pixel screen. Three buttons max. Pop-up menu. zPerformance: Map should scroll smoothly. No more than 1 sec power-up. Lock onto GPS within 15 seconds. zCost: $500 street price = approx. $100 cost of goods sold.

12 © 2000 Morgan Kaufman Overheads for Computers as Components11 GPS moving map needs, cont’d. zPhysical size/weight: Should fit in dashboard. zPower consumption: Current draw comparable to CD player.

13 © 2000 Morgan Kaufman Overheads for Computers as Components12 GPS moving map requirements form

14 © 2000 Morgan Kaufman Overheads for Computers as Components13 Specification zA more precise description of the system: yshould not imply a particular architecture; yprovides input to the architecture design process. zMay include functional and non-functional elements. zMay be executable or may be in mathematical form for proofs.

15 © 2000 Morgan Kaufman Overheads for Computers as Components14 GPS specification zShould include: yWhat is received from GPS; ymap data; yuser interface; yoperations required to satisfy user requests; ybackground operations needed to keep the system running.

16 © 2000 Morgan Kaufman Overheads for Computers as Components15 Architecture design zWhat major components go satisfying the specification? zHardware components: yCPUs, peripherals, etc. zSoftware components: ymajor programs and their operations. zMust take into account functional and non-functional specifications.

17 © 2000 Morgan Kaufman Overheads for Computers as Components16 GPS moving map block diagram GPS receiver search engine renderer user interface database display

18 © 2000 Morgan Kaufman Overheads for Computers as Components17 GPS moving map hardware architecture GPS receiver CPU panel I/O display frame buffer memory

19 © 2000 Morgan Kaufman Overheads for Computers as Components18 GPS moving map software architecture position database search renderer timer user interface pixels

20 © 2000 Morgan Kaufman Overheads for Computers as Components19 Designing hardware and software components zMust spend time architecting the system before you start coding. zSome components are ready-made, some can be modified from existing designs, others must be designed from scratch.

21 © 2000 Morgan Kaufman Overheads for Computers as Components20 System integration zPut together the components. yMany bugs appear only at this stage. zHave a plan for integrating components to uncover bugs quickly, test as much functionality as early as possible.

22 © 2000 Morgan Kaufman Overheads for Computers as Components21 Summary zEmbedded computers are all around us. yMany systems have complex embedded hardware and software. zEmbedded systems pose many design challenges: design time, deadlines, power, etc. zDesign methodologies help us manage the design process.


Download ppt "© 2000 Morgan Kaufman Overheads for Computers as Components1 Design methodologies zA procedure for designing a system. zUnderstanding your methodology."

Similar presentations


Ads by Google