1 CS101 Introduction to Computing Lecture 24 Design Heuristics.

Slides:



Advertisements
Similar presentations
Quantitative and Scientific Reasoning Standard n Students must demonstrate the math skills needed to enter the working world right out of high school or.
Advertisements

Heuristics and Genetic Algorithms Michael D. Mobley The Boeing Company 12 July 2006.
Re-factoring grid computing for usability Bruce Beckles University of Cambridge Computing Service.
Foundations and Strategies Attention Investment CS352.
Useful tricks in studying reading papers doing research writing papers publishing papers English e-manuscripts.
Lecture 13 Page 1 CS 111 Online File Systems: Introduction CS 111 On-Line MS Program Operating Systems Peter Reiher.
1 Today’s Goal: 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.
Psych 156A/ Ling 150: Acquisition of Language II Lecture 12 Poverty of the Stimulus I.
CS 501: Software Engineering Fall 2000 Lecture 2 The Software Process.
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 16 HCI PROCESS.
Chapter 4 Design Approaches and Methods
2-May-15 GUI Design. 2 HMI design There are entire college courses taught on HMI (Human-Machine Interface) design This is just a very brief presentation.
Usability and taste  Taste is subjective  but not necessarily trivial  Taste is subject to fashion  Changes over time  Influenced by other people.
Learning about software Interfaces.  In this lab, you will examine  Excel Spreadsheet Interface  Access Database Interface  You will also learn about.
11 HCI - Lesson 5.1 Heuristic Inspection (Nielsen’s Heuristics) Prof. Garzotto.
Heuristic Evaluation. Sources for today’s lecture: Professor James Landay: stic-evaluation/heuristic-evaluation.ppt.
Heuristic Evaluation IS 485, Professor Matt Thatcher.
8-2 Basics of Hypothesis Testing
Introduction to Software Engineering CS-300 Fall 2005 Supreeth Venkataraman.
Proposal 13 HUMAN CENTRIC COMPUTING (COMP106) ASSIGNMENT 2.
1 CS101 Introduction to Computing Lecture 29 Functions & Variable Scope (Web Development Lecture 10)
1 CS101 Introduction to Computing Lecture 19 Programming Languages.
Website Design. Designing and creating different elements involved in developing a website for e- commerce can help you identify and describe the components.
Heuristic evaluation IS 403: User Interface Design Shaun Kane.
1 PowerPoint Presentation Design Wednesday, September 02, 2015Ms. Wear Info Tech 9/10.
Lecture Slides Elementary Statistics Twelfth Edition
Instructional Design Brian Newberry. Instructional Design Instructional Design is a systematic process for the creation of educational resources.
CS101 Introduction to Computing Lecture SW Development Methodology.
Object Oriented Analysis and Design Introduction.
CS 4720 Usability and Accessibility CS 4720 – Web & Mobile Systems.
Science Fair I have my data….now how do I analyze it?
CS101 Introduction to Computing Lecture Programming Languages.
Putting together a complete system Chapter 10. Overview  Design a modest but complete system  A collection of objects work together to solve a problem.
Chapter 4 Initial Configuration Tasks. Understanding the Initial Configuration Tasks window Microsoft now provides a new feature, the Initial Configuration.
Nielsen’s Ten Usability Heuristics
Multimedia Specification Design and Production 2012 / Semester 1 / week 5 Lecturer: Dr. Nikos Gazepidis
Level 2 IT Users Qualification – Unit 1 Improving Productivity Chris.
INFO 425 Week 21 INFO 425 Design Problem I Week 2 – SRS Improvements Glenn Booker.
Heuristic evaluation Functionality: Visual Design: Efficiency:
Usability Testing CS774 Human Computer Interaction Spring 2004.
SE: CHAPTER 7 Writing The Program
1 Multi-Layered Interfaces for Mobile Applications for Older Adults: Qualitative Analysis By Justine Yang CPSC 448B April 28, 2009.
22-January-2003cse FunctionalSpecs © 2003 University of Washington1 Functional Specs CSE 403, Winter 2003 Software Engineering
Lecture 2 Quality as the motivation for Software Design References:Braude, Chapters 0 and 1 My 2001 lecture notes on Quality Budgen Software Design Meyer.
Overview: Software and Software Engineering n Software is used by virtually everyone in society. n Software engineers have a moral obligation to build.
Software Engineering and Object-Oriented Design Topics: Solutions Modules Key Programming Issues Development Methods Object-Oriented Principles.
Design and Planning Or: What’s the next thing we should do for our project?
CS223: Software Engineering Lecture 2: Introduction to Software Engineering.
CS223: Software Engineering Lecture 4: Software Development Models.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Interface design Access/IPS Walsall College of Arts & Technology.
CS223: Software Engineering Lecture 13: Software Architecture.
CS223: Software Engineering Lecture 18: The XP. Recap Introduction to Agile Methodology Customer centric approach Issues of Agile methodology Where to.
Scientific Method Drill: What are the steps of the Scientific Method?
DATA FLOW DIAGRAMS.
INTRODUCTION CSE 470 : Software Engineering. Goals of Software Engineering To produce software that is absolutely correct. To produce software with minimum.
Algorithms and Flowcharts
Ten Usability Heuristics These are ten general principles for user interface design. They are called "heuristics" because they are more in the nature of.
Software Development Module Code: CST 240 Chapter 6: Software Maintenance Al Khawarizmi International College, AL AIN, U.A.E Lecturer: Karamath Ateeq.
CS101 Introduction to Computing Lecture 24 Design Heuristics
Software life cycle models
Overview: Software and Software Engineering
Usability Techniques Lecture 13.
CS101 Introduction to Computing Lecture 20 SW Development Methodology
GUI Design 24-Feb-19.
Usability Heuristics Prof
USABILITY PART of UX.
Nilesen 10 hueristics.
User-Centered Design Data Entry CS 4640 Programming Languages for Web Applications [The Design of Everyday Things, Don Norman, Ch 7]
User-Centered Design Data Entry CS 4640 Programming Languages for Web Applications [The Design of Everyday Things, Don Norman, Ch 7]
Presentation transcript:

1 CS101 Introduction to Computing Lecture 24 Design Heuristics

2 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

3 In order to understand anything, you must not try to understand everything Aristotle

4 efficiency  1 universality

5 focus!

6 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

7 Heuristic?

8 Heuristic Rule of thumb learned through trial & error Common sense lesson drawn from experience Qualitative principle, guideline, general judgement Natural language description of experience

9 ? Heuristic Wisdom

10 Caution ! Caution ! Caution ! Caution ! Heuristics don’t always lead to the best results At times they even lead to the wrong ones, but mostly to results that are good-enough

11 system?

12 System A collection of elements which working together produces a result not achieved by the things alone

13 System Architecture?

14 System Architecture The structure (in terms of components, connections, constraints) of a product or a process

15 Design == Architecture ?

16 Heuristics for system architecting Rules and lessons learnt by system architects after long experiences which when followed result in sound, stable, practical systems

17 My favorite system architecting (and other relevant) heuristics --- in no particular order ---

18

19 1st Given many parts of a system to be designed/built, do the hard part 1st

20 # 3 All the serious mistakes are made on the very first day

21 # 4 Simplify, simplify, simplify ! Probably the most useful heuristics for increasing reliability while decreasing cost & time-to-build

22 Caution ! Caution ! Everything should be as simple as possible but not simpler Al Einstein

23 # 5 If you can’t explain it in 5 minutes, either you don’t understand it or it does not work

24 # 6 A system will develop & evolve much more rapidly if there are stable intermediate forms than if there are not Build iteratively; add features gradually

25 # 7 Success is defined by the user, not the builder

26 Customer is always right ?

27 It depends ! # 8 It’s more important to know what the customer needs instead of what he says he wants

28 # 9 If you think that your design is perfect, it is only because you have not shown to anyone else --- Get your designs reviewed ---

29 # 10 A good solution to a problem somehow looks nice & elegant

30 #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

35 #12 Partition/repartition the problem until a model consisting of 7±2 chunks emerges

36 Life is the art of drawing sufficient conclusions from insufficient premises Samuel Butler

37 #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

38 #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

39 # 15 Don’t just remove the defect;...

40 # 15 Don’t just remove the defect; correct the process that caused it

41 #16 The number of defects remaining in a system after a given level of tests is proportional to...

42 #16 The number of defects remaining in a system after a given level of tests is proportional to the number found during the test

43 #17 Programmers deliver the same number of LOC/day regardless of the language they are writing in Use the highest-level language

44 There are many more! Please post any that are familiar to you on the message board

45 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

46 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