Upload
mohammed-abdul-sami
View
217
Download
2
Embed Size (px)
DESCRIPTION
Marketing The Art !
Citation preview
Virtual University Introduction to Computing
Page 1 of 5
© Copyright Virtual University of Pakistan
Lecture 24 Design Heuristics
During the last lecture …
• We became familiar with the various phases of the process that developers follow to develop SW systems of reasonable complexity
• We looked at a couple of problems related to the Waterfall SW development model
Today’s Lecture
Heuristics for System Architecting
• We will try to understand the role of heuristics in architectural (or high-level) design
• We will become familiar with a few popular design heuristics
Heuristic Rule of thumb learned through trial & error
Common sense lesson drawn from experience
Qualitative principle, guideline, general judgement
Natural language description of experience
System A collection of elements which working together produces a result not achieved by
the things alone
System Architecture The structure
(in terms of components, connections, constraints) of a product or a process
Heuristics for system architecting Rules and lessons learnt by system architects
after long experiences which when followed
result in sound, stable, practical systems # 1 My favorite system architecting
(and other relevant) heuristics --- in no particular order ---
#2 Given many parts of a system to be designed/built, do the hard part 11sstt # 3 All the serious mistakes are made on the very first day # 4 Simplify, simplify, simplify! Probably the most useful heuristics for increasing reliability while decreasing cost & time-to-build # 5 If you can’t explain it in 5 minutes, either you don’t understand it or it does not work
# 6 A system will develop & evolve much more rapidly if there are stable intermediate forms than if there Build iteratively; add features gradually # 7 Success is defined by the user, not the builder # 8 It’s more important to know what the customer
needs instead of what he says he wants
Virtual University Introduction to Computing
Page 2 of 5
© Copyright Virtual University of Pakistan
# 9 If you think that your design is perfect, it is only because you have not shown to anyone else --- Get your designs reviewed --- # 10 A good solution to a problem somehow looks nice & elegant # 11 In partitioning, choose the chunks so that they are as independent as possible Chunks should have low external complexity & high internal complexity Organize personal tasks to minimize the time individuals face interfacing
2
6
5
4
3 1
2
6
5
4
3 1
Virtual University Introduction to Computing
Page 3 of 5
© Copyright Virtual University of Pakistan
2
6
5
4
3 1
1 2
3
5
6
7
8
9
4
Virtual University Introduction to Computing
Page 4 of 5
© Copyright Virtual University of Pakistan
# 12 Partition/repartition the problem until a model consisting of 7±2
chunks emerges # 13 When choices must be made with unavoidably inadequate info: Choose the best available & then watch to see: whether further solutions appear faster than future problems . If so, the choice was at least adequate . If not, go back & choose again # 14 The Triage 1. Let the dying die 2. Ignore who’ll recover on their own 3. Treat only those who’ll die without your help #15 Don’t just remove the defect; correct the process that caused it # 16 The number of defects remaining in a system after a given level of tests is proportional to the number found during the test # 17 Programmers deliver the same number of LOC/day regardless of the language they are writing in . Use the Highest level Language
In Today’s Lecture
• We became familiar with the the role of heuristics in design
• We also discussed a few well-known design heuristics for architectural design
In Today’s Lecture
• We became familiar with the the role of heuristics in design
• We also discussed a few well-known design heuristics for architectural design
Next Lecture: Web Design for Usability
• To become able to appreciate the role of usability in Web design
• To become able to identify some of the factors affecting the usability of a Web page
Virtual University Introduction to Computing
Page 5 of 5
© Copyright Virtual University of Pakistan