Top Banner
1 Design • Creative Process of transferring the problem into a solution • the process is two way and iterative: – Conceptual/System Design – Technical Design
21

1 Design Creative Process of transferring the problem into a solution the process is two way and iterative: –Conceptual/System Design –Technical Design.

Dec 19, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Design Creative Process of transferring the problem into a solution the process is two way and iterative: –Conceptual/System Design –Technical Design.

1

Design

• Creative Process of transferring the problem into a solution

• the process is two way and iterative:– Conceptual/System Design– Technical Design

Page 2: 1 Design Creative Process of transferring the problem into a solution the process is two way and iterative: –Conceptual/System Design –Technical Design.

2

Conceptual design• Tells the customer what the system will do

• Answers:– Where will the data come from?

– What will happen to the data in the system?

– What will the system look like to users?

– What choices will be offered to users?

– What is the timing of events?

– What will the reports and screens look like?

• Characteristics of good conceptual design– in customer language with no technical jargon

– describes system functions

– independent of implementation

– linked to requirements

Page 3: 1 Design Creative Process of transferring the problem into a solution the process is two way and iterative: –Conceptual/System Design –Technical Design.

3

Technical design

• Tells the programmers what the system will do

• Includes:– major hardware components and their

function– hierarchy and function of software

components– data structures– data flow

Page 4: 1 Design Creative Process of transferring the problem into a solution the process is two way and iterative: –Conceptual/System Design –Technical Design.

4

Five ways to create designs

• Modular decomposition

• Data-oriented decomposition

• Event-oriented decomposition

• Outside-in design

• Object-oriented design

Page 5: 1 Design Creative Process of transferring the problem into a solution the process is two way and iterative: –Conceptual/System Design –Technical Design.

5

Three design levels

• Architecture: associates system components with capabilities

• Code design: specifies algorithms and data structures for each component

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

Page 6: 1 Design Creative Process of transferring the problem into a solution the process is two way and iterative: –Conceptual/System Design –Technical Design.

6

Design styles

• Pipes and filters• Object-oriented design• Implicit invocation• Layering• Repositories• Interpreters• Process control• Client-server

Page 7: 1 Design Creative Process of transferring the problem into a solution the process is two way and iterative: –Conceptual/System Design –Technical Design.

7

Pipes and Filters

Page 8: 1 Design Creative Process of transferring the problem into a solution the process is two way and iterative: –Conceptual/System Design –Technical Design.

8

Example of implicit invocation

DEBUG VALUE <syst em><fi l e><l i ne><var ><val ue>DEBUG ENTER <syst em><fi l e><f unc><l i ne><val ue>DEBUG EXI T <syst em><fi l e><f unc><l i ne><val ue>EVENT ADD <syst em><i d#><event _t ype><fi l e><l i ne><t ext >EVENT REMOVE <syst em><i d#><event _t ype><fi l e><l i ne><t ext >STOP- ERROR <si gnal ><fi l e><l i ne>DEBUG AT <syst em><fi l e><f unc><l i ne>DEBUG FOCUS <syst em><fi l e><f unc><l i ne>DEBUG CLEAR <syst em>DEBUG RESET <syst em>WHERE <syst em><l evel ><fi l e><f unc><l i ne><addr ><ar gs>WHERE_DUMP <syst em><l evel ><name><val ue>WHERE_BEGI N <syst em>WHERE_END <syst em><l evel >DEBUG SYSTEM <syst em>DEBUG NOSYSTEM <syst em>UPDATE <syst em><fi l e><l i ne>

Page 9: 1 Design Creative Process of transferring the problem into a solution the process is two way and iterative: –Conceptual/System Design –Technical Design.

9

Layering

Page 10: 1 Design Creative Process of transferring the problem into a solution the process is two way and iterative: –Conceptual/System Design –Technical Design.

10

Repository

Page 11: 1 Design Creative Process of transferring the problem into a solution the process is two way and iterative: –Conceptual/System Design –Technical Design.

11

Interpreters

Page 12: 1 Design Creative Process of transferring the problem into a solution the process is two way and iterative: –Conceptual/System Design –Technical Design.

12

Process Control

Page 13: 1 Design Creative Process of transferring the problem into a solution the process is two way and iterative: –Conceptual/System Design –Technical Design.

13

Client Server

Page 14: 1 Design Creative Process of transferring the problem into a solution the process is two way and iterative: –Conceptual/System Design –Technical Design.

14

Example of abstraction

DO WHILE I is between 1 and (length of L)-1: Set LOW to index of smallest value in L(I), ..., L(length of L) Interchange L(I) and L(LOW)END DO

DO WHILE I is between 1 and (length of L)-1 Set LOW to current value of I DO WHILE J is between I+1 and (length of L)-1: IF L(LOW) is greater than L(J) THEN set LOW to current value of J ENDIF ENDDO Set TEMP to L(LOW) Set L(LOW) to L(I) Set L(I) to TEMPENDDO

Rearrange L in non-decreasing order

Page 15: 1 Design Creative Process of transferring the problem into a solution the process is two way and iterative: –Conceptual/System Design –Technical Design.

15

Important design issues

• Modularity and levels of abstraction• Collaborative design• Designing the user interface

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

– cultural issues– user preferences

• Concurrency• Design patterns and reuse

Page 16: 1 Design Creative Process of transferring the problem into a solution the process is two way and iterative: –Conceptual/System Design –Technical Design.

16

Characteristics of good design

• Component independence– coupling– cohesion

• Exception identification and handling

• Fault prevention and tolerance– active– passive

Page 17: 1 Design Creative Process of transferring the problem into a solution the process is two way and iterative: –Conceptual/System Design –Technical Design.

17

Techniques for improving design

• Reducing complexity

• Design by contract

• Prototyping design

• Fault-tree analysis

Page 18: 1 Design Creative Process of transferring the problem into a solution the process is two way and iterative: –Conceptual/System Design –Technical Design.

18

Design evaluation and validation

• Mathematical validation

• Measuring design quality

• Comparing designs– one specification, many designs– comparison table

• Design reviews

Page 19: 1 Design Creative Process of transferring the problem into a solution the process is two way and iterative: –Conceptual/System Design –Technical Design.

19

Design reviews

• Preliminary design review– examines conceptual design with customer

and users

• Critical design review– presents technical design to developers

• Program design review– programmers get feedback on their designs

before implementation

Page 20: 1 Design Creative Process of transferring the problem into a solution the process is two way and iterative: –Conceptual/System Design –Technical Design.

20

Questions for any design reviewIs 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?

Page 21: 1 Design Creative Process of transferring the problem into a solution the process is two way and iterative: –Conceptual/System Design –Technical Design.

21

Documenting 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