73
SOFTWARE ENGINEERING AND HUMAN- COMPUTER INTERACTION UNDERSTANDING REQUIREMENTS AND EVALUATING SOLUTIONS DR AMANDA SHARKEY Human Centred Systems Design

Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

  • Upload
    votram

  • View
    216

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

SOFTWARE ENGINEERING AND HUMAN-COMPUTER INTERACTION

UNDERSTANDING REQUIREMENTS AND EVALUATING SOLUTIONS

DR AMANDA SHARKEY

Human Centred Systems Design

Page 2: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

!● 5 double lectures from Dr Amanda Sharkey ● Assessment for Amanda Sharkey’s and Heidi

Christensen’s lectures: ● Mole quiz of 20 questions ● released 22nd Oct ● due in 4th November

● 10 double lectures from Dr Tony Simons ● Assessment: 2 group projects

Page 3: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Overview

● Software Engineering vs Computer Science ● Software Engineering vs Human Computer

Interaction ● Software Engineering Life cycle ● Introduction to Human Computer Interaction

Page 4: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

CS and SE: What’s the difference?

● Computer Science ○ develops theory, methods, limits of what is computable ○ algorithms, data structures, formal grammars, abstract machines,

numerical analysis ● Software Engineering

○ applies theory, methods to solve practical problems ○ creates complex software products ○ follows a design, management process ○ uses models of systems (diagrams, specifications) ○ deals with people (stakeholders, managers)

Page 5: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Software Engineering…

● is the application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software. [IEEE Standard Glossary of Software Engineering Terminology, IEEE std

610.12, 1990] ● is an engineering discipline that is concerned with all aspects of software

production. [I Sommerville, p7]

● is the establishment and use of sound engineering principles in order to economically obtain software that is reliable and works efficiently on real machines. [F L Bauer, NATO Conf. Softw. Eng., Garmisch, 1968]

Page 6: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Software Engineering

● NATO Conference, Garmisch, Germany, 1968 ○ convened to discuss the “software crisis” ○ first coined the term “software engineering”

● The software crisis ○ delays in software delivery ○ higher costs than originally estimated ○ software unreliable, difficult to maintain

● Need for new methods ○ engineering discipline (apply theories within real constraints) ○ cover all aspects of production (technical and management)

Page 7: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Software is Everywhere7

● Business information systems ○ Banking, finance, purchasing, office data systems

● Embedded systems ○ Internet, telecoms, medical, industrial processes

● Lifestyle/entertainment ○ TV, video, film, games, publishing, social networks

● Science and engineering ○ Genetics, robotics, education, military ...

● Software is... ○ the most complex of any engineered human artifact

Page 8: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Kinds of Software8

● System software ● Real-time software ● Business software ● Engineering and scientific software ● Embedded software ● Personal computer software ● Web-based software ● Artificial Intelligence software ● Research software

Page 9: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

● Should we be concerned about allowing automated decisions to affect our lives?

Page 10: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

● Problems with software ○ Need for careful elicitation of requirements ○ Need for careful evaluation

Page 11: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Software Myths11

● Management myths ○ Follow published standards for building software ○ Use state of the art tools to build software ○ Add more programmers if behind schedule

● Customer myths ○ General description of objectives is enough to start coding ○ Requirements may change as the software is flexible

● Practitioner myths ○ Task is accomplished when the program works ○ Quality assessment only when the program is running ○ Working program is the only project deliverable

Page 12: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Software Failures12

● Therac-25 (1985-1987): six people overexposed during treatments for cancer ● repeating radiation dose because machine’s display said no dose had

been given ● Taurus (1993): London Stock Exchange automated transaction

settlement system cancelled after 5 years in development ● UK Passport Office (2006): project

cancelled after 10 years, wasting £12m, wrecking 500 holidays; due to lack of testing and change control

Page 13: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

● UK’s National Public Health Software System ○ The UK invested over £12 billion when they finally stopped all

efforts on the software that was meant to link all the UK residents’ health record electronically.

○ The project was started in 2002 and meandered on until 2011 when the plug was pulled citing that the software was outdated and didn’t fulfil the requirements. The project was severely over budget on time and money with no end in sight.

Page 14: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

● Universal credit scheme ● 2013: IT disaster? ● Iain Duncan Smith, British Secretary for Work and

Pensions, and universal credit scheme ● A National Audit Office (NAO) report declared the £2.4

billion scheme a bloated mess, plagued by serious IT problems

● Shadow works and pensions secretary for Labour, Liam Byrne, slammed the welfare overhaul as being in serious trouble, costing the tax payer “up to £1.5 billion”, and being a “Titanic-sized IT disaster”

Page 15: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Technical Failures● Ariane 5 (1996): explodes 39 sec.

into launch due to an error converting from floating point into 16-bit integer

● Costs $7bn and 10 years of effort ● Real cause: a timeout when

reusing an older guidance package

15

Page 16: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Systemic Failures● Mars Climate Orbiter (1999):

lost by NASA flight controllers during orbital insertion

● Different measurement units (imperial and metric) for guidance and propulsion

● Real cause: lack of communication between software teams

16

Page 17: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Ethical failures?

● Volkswagen September 2015 ● Emissions testing scandal ● 482,000 VW diesel cars on US roads were emitting up to

40 times more toxic fumes than permitted ● diesel cars were designed to cheat in tests ● programme in engine software lets car perceive if it is being

driven under test conditions ● if it is, it reduces emissions ● tested by an NGO, International Council on Clean

Transportation conducted on road emission tests ● Scandal may cost VW $35 billion in fines, lawsuits and

other costs

Page 18: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

● “Success actually requires avoiding the many separate possible causes of failure” !

● (Jared Diamond, in Baase 2003)

Page 19: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Factors in Computer SystemErrors and Failures

● Interaction with physical systems that do not work as expected

● Incompatibility of software and hardware ● Management problems - e.g. pressure to get product

out quickly ● Inadequate attention to potential safety risks ● Not planning for unexpected inputs or circumstances ● Insufficient testing

Page 20: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Factors in Computer SystemErrors and Failures

● Reuse of software without adequate checking ● Overconfidence in software ● Carelessness ● Misrepresentation and hiding reported problems ● Lack of incentives to do a better job ● Problems with management in use of system ● data entry errors ● inadequate training ● overconfidence in software by users ● automation bias

Page 21: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

● Some protection in law from computer-aided mistakes !

○ Contract Law ○ Law of Negligence ○ Negligent misstatement ○ Product Liability (Consumer Protection Act, 1987)

Page 22: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Software and Risk

● Other famous failures? ○ Can you name some recent interesting cases?

● What kinds of risk? ○ What dangers and risks should we be most concerned about?

● What legal/social changes? ○ What are the major challenges and problems that need to be

dealt with (over the next 30 years)?

Page 23: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Some Progress…23

● Increased ability to produce more complex software systems (modular, component-based)

● Effective methods to specify, design, implement software have been developed (formal models, code generation)

● A better understanding of the activities involved in software development (people issues – psychology, politics)

● Novel software engineering approaches (clean room, time-boxed prototyping, test-first design)

● Standard notations and tools have been produced (UML, CASE tools)

Page 24: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Software Process24

A software process consists of a set of activities and associated results which lead to the production of a software product [Sommerville, p 43] !Four fundamental activities: ● Software specification – requirements, formalisation ● Software development – design, implementation ● Software validation – validation, verification, testing ● Software evolution – bug fixes, upgrades, adaptation

!Software involves: Products – Processes – Models – People

Page 25: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Software engineering vs Human Computer Interaction

● Software engineering – concerned with the development of software. ○ Different lifecycle methods ○ Requirements specification ○ UML ○ Object oriented analysis and design ○ Testing !

!● Human-Computer Interaction

○ Knowledge and methods for understanding users and what they want/need ○ Designing systems and interactions that are effective, efficient and satisfying to

use ○ Evaluating usability and effectiveness

Page 26: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

HCI vs Software Engineering

● Main difference is that they have separate problem domains ○ Human-computer interface specialists are user-centered and

software engineers are system-centered. ○ HCI engineering focuses on the tasks of people using the

system or product, on the information and interactions that the users need to perform their tasks, on the environment in which they work.

○ Software engineering focuses on the software capabilities needed for the system to perform its functions, accomplish its objectives, meet its requirements.

Page 27: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Software Lifecycle

● What kinds of activity? ● Commission a software system

○ Feasibility study ○ Requirements elicitation

● Construct the software system ○ Systems analysis, formal specification and design ○ Implementation, testing and deployment

● Maintain the software system ○ Fix faults, extend the system ○ Decommission the system

Page 28: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Lifecycle Activities – I

● Feasibility Study ○ Outline the objectives of the business ○ Met by the software system, or by other means?

● Requirements Elicitation ○ Collect required system behaviours from stakeholders ○ Use interviews, workshops; get different viewpoints

● Systems Analysis ○ Determine the scope, interface to other systems ○ Break down into models of: data, processing, time ○ Model what the system has to achieve (not how)

Page 29: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Lifecycle Activities – II

● Formal Specification ○ Logical model and proof of expected behaviour ○ For safety-, mission-, business-critical systems

● Systems Design ○ Split into units, modules and subsystems ○ Choose between alternative design strategies ○ Model how the system achieves its goals

● Implementation ○ Select technology: programming language, web script ○ Construct units, modules and integrate the system

Page 30: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Lifecycle Activities – III

● Testing ○ Unit testing, integration testing (up to specification) ○ Path coverage, stress-, load-testing (no failures) ○ Acceptance testing by users (up to requirements)

● Deployment ○ Install, configure system (at multiple sites?) ○ Operate the system

● Maintenance ○ Fix faults discovered late in the system ○ Add new functionality (new requirements) ○ Decommission the system (outlived its usefulness)

Page 31: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Software Process Models

● Traditional software process models ○ Waterfall software lifecycle model [Royce, 1970] ○ Spiral software lifecycle model [Boehm, 1988] ○ V-model of the software lifecycle [Germany, 1996]

● Formal software process models ○ Cleanroom [IBM] ○ VDM or Z/B with refinement

● Radical software process models ○ Prototyping models (rapid- ; evolutionary-) ○ Time-boxed models (Rapid Appl. Dev., DSDM) ○ Agile methods (eXtreme Programming, Scrum)

Page 32: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

32

● Prescriptive process models !● Prescribe a set of process elements and a process

flow !

● providing an effective road map?

Page 33: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Lab 2: Which Lifecycle?33

● Your client is a healthcare SME (small company) ○ want a ground-breaking software system to learn the links between

disabilities and the kinds of equipment prescribed by doctors. !

● Your client is the Daimler AG automotive company ○ want to coordinate the release of their on-board engine monitoring system

with matching engine maintenance systems at garages. !

● Your client is the UK National Health Service ○ want a standardised national healthcare record system, but don’t yet know

how far the government budget will stretch.

Page 34: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Waterfall Lifecycle Model

34

Requirements analysis and definition

System and software design

Implementing and unit testing

Integration and system testing

Operation and maintenance

a linear lifecycle model[Royce, 1970]

Page 35: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

German V-Model35

[http://www.glemser.com/ images/misc/VModel.gif]

[German Ministry of the Interior, 1996]

a linear lifecycle model

Page 36: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Waterfall: Evaluation36

● Strong points ○ staged development reflects engineering practice ○ encourages a discipline of abstract modelling, to break down complex systems into parts,

views ○ good for project management, coordination, documentation ○ V-model matches each specification stage with a validation stage, reducing cost of faults

discovered early ● Weak points

○ linear process is inflexible – in practice, stages overlap !

○ imposes early commitment to rigid requirements !

○ working version of programs only available late in the project time span !

○ difficult to deal with late changes – increasing costs !

○ real systems evolve faster than one complete cycle

Page 37: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Lab 2: Which Lifecycle?37

● Your client is a healthcare SME (small company) ○ want a ground-breaking software system to learn the links between

disabilities and the kinds of equipment prescribed by doctors. !

● Your client is the Daimler AG automotive company ○ want to coordinate the release of their on-board engine monitoring system

with matching engine maintenance systems at garages. !

● Your client is the UK National Health Service ○ want a standardised national healthcare record system, but don’t yet know

how far the government budget will stretch.

Page 38: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Rapid Prototyping● Reasons to adopt

○ Requirements are vague or poorly understood

○ Build a prototype to help elicit requirements

○ Collect feedback ● Software lifecycle

○ Build a basic prototype ○ Iterate the prototype, add

or change features ○ When acceptable, discard

and build finished system

38

Initial prototype

Improved versions

Build system

an iterative lifecycle model

Page 39: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Evolutionary Prototyping ● Reasons to adopt

○ Requirements are vague or misunderstood

○ Time constraints may force early termination

● Software lifecycle ○ Build a basic prototype ○ Evolve the prototype

towards finished system ○ Stop when the system is

ready, or the time limit is exceeded

39

Initial prototype

Improved versions

Final version

an iterative lifecycle model

Page 40: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Prototyping: Evaluation40

● Strong points ○ Helpful when requirements are not well understood ○ Flexible, for small-to-medium sized systems ○ Short turnaround, accommodates late changes ○ Prototype can be discarded, or evolved to final version

● Weak points ○ Development process is not visible ○ Evolution may create poorly structured systems ○ Special tools, special techniques required ○ Cannot use with large-scale projects requiring coordination

Page 41: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Lab 2: Which Lifecycle?41

● Your client is a healthcare SME (small company) ○ want a ground-breaking software system to learn the links between

disabilities and the kinds of equipment prescribed by doctors. !

● Your client is the Daimler AG automotive company ○ want to coordinate the release of their on-board engine monitoring system

with matching engine maintenance systems at garages. !

● Your client is the UK National Health Service ○ want a standardised national healthcare record system, but don’t yet know

how far the government budget will stretch.

Page 42: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Spiral Lifecycle Model42

an iterative lifecycle model

[Barry Boehm, 1988] !evolutionary software process model that combines iterative nature of prototyping with controlled and systematic aspects of waterfall model

Page 43: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Spiral Model: Features43

● Reasons to adopt ○ Key idea is risk evaluation and reduction ○ Each cycle is a stage in the software process (here, requirements,

analysis, design, implementation) ○ Other stages possible (eg interface, database, middleware) ○ Can choose to terminate after each risk evaluation

● Four stages ○ Set specific objectives for the current stage ○ Evaluate risks, explore alternative approaches ○ Develop and validate the current stage ○ Plan the next stage, when requested

Page 44: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Spiral Model: Evaluation44

● Strong points ○ Combination of waterfall and prototyping approaches ○ Adapts to different projects with different stages ○ Clear software process for large-scale projects, iterative cycles last 6

months – 2 years ○ Clear evaluation of each stage, determines whether to proceed, or cut

losses due to high risk ● Weak points

○ Projects can still be terminated before delivery ○ Late changes can still have serious consequences

Page 45: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Lab 2: Which Lifecycle?45

● Your client is a healthcare SME (small company) ○ want a ground-breaking software system to learn the links between

disabilities and the kinds of equipment prescribed by doctors. !

● Your client is the Daimler AG automotive company ○ want to coordinate the release of their on-board engine monitoring system

with matching engine maintenance systems at garages. !

● Your client is the UK National Health Service ○ want a standardised national healthcare record system, but don’t yet know

how far the government budget will stretch.

Page 46: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Formal Systems Development ● Reasons to adopt

○ Safety-critical, mission-critical systems

○ Medical treatment, aircraft, traffic control systems, etc.

● Software lifecycle ○ Construct formal spec. from

initial requirements ○ Prove safety properties of the

specification ○ Use refinement rules to

transform into a correct implementation

46

Initial requirements

Transformations

Correct system

refinement

Formal specificationproof

Page 47: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Formal Systems: Evaluation47

● Strong points ○ Precise and error-free: correct by construction ○ Used for safety-critical, mission-critical systems ○ Proofs of correct specification (complete, consistent)

● Weak points ○ Requires specialised mathematical expertise ○ Perceived as difficult, or costly (but counter-examples) ○ Must still validate formal models against user requirements ○ Time-to-market is more compelling than correctness! ○ Non-formal approaches often seem adequate

Page 48: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Lab 2: Which Lifecycle?48

● Your client is a healthcare SME (small company) ○ want a ground-breaking software system to learn the links between

disabilities and the kinds of equipment prescribed by doctors. !

● Your client is the Daimler AG automotive company ○ want to coordinate the release of their on-board engine monitoring system

with matching engine maintenance systems at garages. !

● Your client is the UK National Health Service ○ want a standardised national healthcare record system, but don’t yet know

how far the government budget will stretch.

Page 49: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Incremental Development ● Reasons to adopt

○ Time-to-market is critical ○ Must deliver something

● Software lifecycle ○ Sort requirements into

prioritized increments ○ Deliver each increment

within fixed time-box ○ Stop after the agreed

number of iterations (often 4)

49

Prioritize requirements

Incremental version

Final version

an iterative lifecycle model

increment n

Page 50: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Incremental: Evaluation50

● Strong points ○ Reduces gap between specification and delivery ○ Much lower risk of total project failure ○ Early increments can be prototypes ○ Highest priority services are delivered first

● Weak points ○ Increments have to be small, to deliver within the time-boxed period

(avoid “feature creep”) ○ Hard to map large global requirements onto increments ○ Short time-box works best when requirements are well-understood

and modular

Page 51: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Lab 2: Which Lifecycle?51

● Your client is a healthcare SME (small company) ○ want a ground-breaking software system to learn the links between

disabilities and the kinds of equipment prescribed by doctors. !

● Your client is the Daimler AG automotive company ○ want to coordinate the release of their on-board engine monitoring system

with matching engine maintenance systems at garages. !

● Your client is the UK National Health Service ○ want a standardised national healthcare record system, but don’t yet know

how far the government budget will stretch.

Page 52: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Shift to Components52

● Bespoke structured systems ○ 1970s: systems made-to-measure (at any cost!) ○ older structured languages: Fortran, Cobol ○ clear top-down design and stepwise refinement

● Component-based systems ○ 1990s: mix-and-match systems (fast, cheap) ○ object-oriented, component-based development ○ clear emphasis on component reuse ○ mixture of top-down design, bottom-up assembly

Page 53: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Component-Based Development53

● Requirements phase ○ Collect system requirements as a set of tasks (top-down), or user-

interactions: use cases (bottom-up) ○ Analyse requirements to map onto software components

● Construction phase ○ Build as much of the system as possible from existing components, or

frameworks (component architectures) ○ Develop new components and integrate within existing framework

● Reuse/refactoring phase ○ Schedule framework for maintenance (refactoring – improve

structure) and harvest any new reusable components

Page 54: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Fountain Lifecycle54

○ incremental ÷ develop and deliver one task at a time ÷ always a working prototype system

○ iterative ÷ revisit tasks where faults detected ÷ revisit tasks where changes requested

○ parallel ÷ tasks developed independently ÷ scope for multi-team development

Each task is like a jet in the fountain: many advance together, some reach the top immediately, others fall back to be caught and recycled.

[Henderson-Sellers and Edwards, 1990]

Page 55: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Components: Evaluation55

● Strong points ○ Rapid development strategy, promotes reuse ○ Greatly reduced time-to-market (from 3rd project) ○ Reduces costs, and risks

● Weak points ○ High initial set-up costs (building frameworks, components) ○ Retrain personnel to fit new roles (eg: librarian) ○ Can lose control over the component set (adaptation) ○ Systems are sometimes forced to fit the framework and so don’t

deliver as expected

Page 56: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Agile Methods (XP)56

● Agile methods philosophy ○ No “big design up-front” – just “user stories” ○ The production code base and saved tests are the only lasting

deliverables ○ Short increments, daily builds, pass all tests ○ XP has “pair programming”: coder and critic ○ Anyone can modify the code base (extreme!) ○ Embrace change (extreme!)

● Examples ○ eXtreme Programming (XP) [Beck, 2000] ○ Scrum [Sutherland and Schwaber, 1996]

Page 57: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Agile Methods: Evaluation57

● Strong points ○ Avoids unproductive, wasted documentation ○ Emphasis on testing (= meeting specification) ○ Developers enjoy the lightweight approach ○ System is always up-to-date

● Weak points ○ Inflexible process, cannot adapt to organisations ○ Expects good design to emerge by evolution ○ In practice, may fail for large systems that require coordination – no

change tracking documentation

Page 58: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Lab 2: Which Lifecycle?58

● Your client is a healthcare SME (small company) ○ they want a ground-breaking software system to learn the links between disabilities and

the kinds of equipment prescribed by doctors. ● Your client is the Daimler AG automotive company

○ they want to coordinate the release of their on-board engine monitoring system with matching engine maintenance systems at garages.

● Your client is the UK National Health Service ○ they want a standardised national healthcare record system, but don’t yet know how far

the government budget will stretch. !

○ Traditional Linear (waterfall, V model) ○ Incremental (rapid and evolutionary prototypes, spiral model) ○ Formal methods ○ Agile methods ○ Component re-use

Page 59: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Software Engineering: Summary59

● Software engineering covers all aspects of software production: technical, management process

● Software engineering includes software products, processes, models and people

● The software lifecycle consists of: requirements elicitation, analysis, design, implementation, testing, maintenance…

● Traditional process models are linear, good at coordinating large teams, but weak when handling change

● Radical process models are iterative, good at adapting to change and delivering, but weak at coordination

● The shift to software component technology requires a shift in the software development strategy

Page 60: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

60

● Ethics - where does this fit in software engineering? !

● Should it form part of the software engineering life cycle?

Page 61: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Software engineering vs Human Computer Interaction

● Software engineering – concerned with the development of software. ○ Different lifecycle methods ○ Requirements specification ○ UML ○ Object oriented analysis and design ○ Testing !

!● Human-Computer Interaction

○ Knowledge and methods for understanding users ○ Designing systems and interactions that are effective, efficient and satisfying to

use ○ Evaluating usability and effectiveness

Page 62: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

HCI vs Software Engineering

● Fundamental difference is that they have separate problem domains ○ Human-computer interface specialists are user-centered and

software engineers are system-centered. ○ HCI engineering focuses on the tasks of people using the

system or product, on the information and interactions that the users need to perform their tasks, on the environment in which they work.

○ Software engineering focuses on the software capabilities needed for the system to perform its functions, accomplish its objectives, meet its requirements.

Page 63: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Human-Computer Interaction

● Combination of disciplines including: ○ Computer Science ○ Sociology ○ Psychology ○ Human Factors engineering ○ Industrial engineering

Page 64: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

● HCI: Topics changing over time ○ 1980s: how people interacted with office automation

programs ÷ Word processing, databases, statistical software

○ Late 1980s graphical user interfaces ○ Late 1980s/early 1990s: Usability Engineering

Page 65: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

○ Early/mid 1990s Internet and WWW ÷ – more interfaces and communication, email, instant messaging, groupware

○ 2004/5 emphasis on user generated content: sharing photos, videos, blogs, wikis. ÷ Less focus on efficiency, more on whether people like an interface

and how they use it.

Page 66: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Shifts in measurement in HCI

○ Early days ÷ How fast to complete a task? ÷ How many errors?

!○ More recently

÷ How enjoyable is the interface? ÷ What makes people use or not use an interface or software? ÷ Some questions can’t be easily addressed in a lab: e.g.

○ Why do some people find using the web difficult? ○ How do people use portable technology, e.g. phones? ○ What affects people’s trust in a system e.g. Ebay?

Page 67: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Evidence?

!● research rarely proves that something is the case !

● One research paper? (some evidence) ● Multiple research papers from different teams (more

convincing) ● Depth vs Breadth in Menus ○ Good example of something found in multiple studies

Page 68: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

68

Page 69: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

● Tree structures in menu design can be narrow and deep (fewer choices per level but more levels)

● Or broad and shallow (more choices per level but fewer levels) !● Consistent finding from many papers: broad

shallow tree structures are better than narrow deep structures.

Page 70: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

HCI research

● Understanding the problem ● Developing a solution ● Evaluating the solution !

● Greater emphasis on the users of the system than on the software

Page 71: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

Research methods

● Qualitative ○ Interviews, focus groups, surveys, diaries, usability studies

● Quantitative ○ Controlled experiments, data collection (how often? How

long?)

Page 72: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

● Mixed methods ○ Using a variety of converging methods for evidence ○ E.g.

÷ Interviews ÷ Diaries ÷ Focus groups ÷ Experimental studies

Page 73: Human Centred Systems Design - Sheffieldstaff · uses models of systems (diagrams, ... UK Passport Office (2006): project ... (UML, CASE tools) Software Process 24

● Next week: ○ Methods for Human-computer interaction

○ AND Requirements elicitation