Conceptual design Tells the customer what the system will do Tells the customer what the system will...

Post on 18-Jan-2016

216 views 0 download

Transcript of Conceptual design Tells the customer what the system will do Tells the customer what the system will...

Conceptual designConceptual design Tells the customer what the system will doTells the customer what the system will do Answers:Answers:

Where will the data come from?Where will the data come from? What will happen to the data in the system?What will happen to the data in the system? What will the system look like to users?What will the system look like to users? What choices will be offered to users?What choices will be offered to users? What is the timing of events?What is the timing of events? What will the reports and screens look like?What will the reports and screens look like?

Characteristics of good conceptual designCharacteristics of good conceptual design in customer language with no technical jargonin customer language with no technical jargon describes system functionsdescribes system functions independent of implementationindependent of implementation linked to requirementslinked to requirements

Technical designTechnical design

Tells the programmers what the system Tells the programmers what the system will dowill do

Includes:Includes: major hardware components and their major hardware components and their

functionfunction hierarchy and function of software hierarchy and function of software

componentscomponents data structuresdata structures data flowdata flow

Five ways to create designsFive ways to create designs

Modular decompositionModular decomposition Data-oriented decompositionData-oriented decomposition Event-oriented decompositionEvent-oriented decomposition Outside-in designOutside-in design Object-oriented designObject-oriented design

Three design levelsThree design levels

Architecture: associates system Architecture: associates system components with capabilitiescomponents with capabilities

Code design: specifies algorithms Code design: specifies algorithms and data structures for each and data structures for each componentcomponent

Executable design: lowest level of Executable design: lowest level of design, including memory allocation, design, including memory allocation, data formats, bit patternsdata formats, bit patterns

Implementation & Coding Implementation & Coding ProcessProcess

Level I DesignLevel I Design Basic FunctionalityBasic Functionality Single-PC useSingle-PC use

Level II DesignLevel II Design Local Network AccessLocal Network Access Access RestrictionsAccess Restrictions

Level III DesignLevel III Design Database ImplementationDatabase Implementation Interest-Bearing AccountsInterest-Bearing Accounts

Home LoansHome Loans Retirement AccountsRetirement Accounts

Alien ProfessorsAlien Professors©©

Character DesignCharacter Design

Important design issuesImportant design issues Modularity and levels of abstractionModularity and levels of abstraction Collaborative designCollaborative design Designing the user interfaceDesigning the user interface

metaphors, mental model, navigation rules, metaphors, mental model, navigation rules, look and feellook and feel

cultural issuescultural issues user preferencesuser preferences

ConcurrencyConcurrency Design patterns and reuseDesign patterns and reuse

Characteristics of good Characteristics of good designdesign

Component independenceComponent independence couplingcoupling cohesioncohesion

Exception identification and handlingException identification and handling Fault prevention and toleranceFault prevention and tolerance

activeactive passivepassive

Design evaluation and Design evaluation and validationvalidation

Mathematical validationMathematical validation Measuring design qualityMeasuring design quality Comparing designsComparing designs

one specification, many designsone specification, many designs comparison tablecomparison table

Design reviewsDesign reviews

Design reviewsDesign reviews

Preliminary design reviewPreliminary design review examines conceptual design with examines conceptual design with

customer and userscustomer and users Critical design reviewCritical design review

presents technical design to developerspresents technical design to developers Program design reviewProgram design review

programmers get feedback on their programmers get feedback on their designs before implementationdesigns before implementation

Questions for any design Questions for any design reviewreviewIs it a solution to the problem?

Is it modular, well-structured, and easy to understand?Can we improve the structure and understandability?Is it portable to other platforms?Is it reusable?Is it easy to modify or expand?Does it support ease of testing?Does it maximize performance, where appropriate?Does it reuse components from other projects, where appropriate?Are the algorithms appropriate, or can they be improved?If this system is to have a phased development, are the phases interfaced sufficiently so that there is an easy transition from one phase to the next?Is it well-documented, including design choices and rationale?Does it cross-reference the components and data with the requirements?Does it use appropriate techniques for handling faults and preventing failures?

Documenting the designDocumenting the design• design rationale• menus and other display-screen formats• human interfaces: function keys, touch screen descriptions, keyboard layouts, use of a mouse or joystick• report formats• input: where data come from, how they are formatted, on what media they are stored• output: where data are sent, how they are formatted, on what media they are stored• general functional characteristics• performance constraints• archival procedures• fault-handling approach

State DiagramState Diagram

Isolated Being Chased

Chasing Villian

Villian Near Student

Student Far AwayStudent Caught

Player Has Extra Lives

Student Gets A

TimeoutGets A

TimeoutDead

Slides are based (sometimes solely, Slides are based (sometimes solely, sometimes partially, and sometimes sometimes partially, and sometimes not-at-all) on copyrighted Prentice not-at-all) on copyrighted Prentice Hall materials associated with Hall materials associated with Software Engineering Theory and Software Engineering Theory and Practice by Shari Lawrence Pfleeger.Practice by Shari Lawrence Pfleeger.