Overview. Software engineering and the design process for interactive systems. Standards and guidelines as design rules



Similar documents
Software Development Process Models

Software Processes. The software process. Generic software process models. Waterfall model. Waterfall model phases

Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1

Unit I. Introduction

And the Models Are System/Software Development Life Cycle. Why Life Cycle Approach for Software?

Software Engineering. What is a system?

Software Engineering. Objectives. Designing, building and maintaining large software systems

Software Engineering UNIT -1 OVERVIEW

Objectives. The software process. Basic software process Models. Waterfall model. Software Processes

Software Engineering. Software Development Process Models. Lecturer: Giuseppe Santucci

Chapter 2 Software Processes

Software Development Processes. Software Life-Cycle Models

Software Processes. Coherent sets of activities for specifying, designing, implementing and testing software systems

Software Process Models. Xin Feng

SOFTWARE PROCESS MODELS

Unit 1 Learning Objectives

Software Requirements, Third Edition

Modelli di sviluppo software. Enrico Giunchiglia

COSC 3351 Software Design. Recap for the first quiz. Edgar Gabriel. Spring For the 1 st Quiz

COMP 354 Introduction to Software Engineering

2. Analysis, Design and Implementation

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

CMSC 435: Software Engineering Course overview. Topics covered today

LECTURE 1. SYSTEMS DEVELOPMENT

To introduce software process models To describe three generic process models and when they may be used

Chapter 7: Software Engineering

Software Development Processes. Software Life-Cycle Models. Process Models in Other Fields. CIS 422/522 Spring

Principles of Software Engineering: Software Methodologies. COSI 120b, Spring 2005

A Case Study of the Systems Engineering Process in Healthcare Informatics Quality Improvement. Systems Engineering. Ali M. Hodroj

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

How To Write An Slcm Project Plan

Karunya University Dept. of Information Technology

Software Processes. Topics covered

Introduction to Software Engineering

General Problem Solving Model. Software Development Methodology. Chapter 2A

Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1

2. Analysis, Design and Implementation

Advanced Software Engineering. Software Development Processes

Software Project Models

Introduction to Software Project Management. CITS3220 Software Requirements & Project Management

The software process. Generic software process models. Waterfall model. Software Development Methods. Bayu Adhi Tama, ST., MTI.

Software Engineering. Software Engineering. Software Costs

Requirements Engineering: A Roadmap

CSC 492 The Practice of Software Engineering. Lecture 3 University of Mount Union Software Life Cycle Models

Lecture 3 Software Development Processes

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali

(Refer Slide Time: 01:52)

How To Write Software

Process Models and Metrics

Improving Software Development Economics Part II: Reducing Software Product Complexity and Improving Software Processes

Foundations of software engineering

Requirements Traceability. Mirka Palo

Software Development Life Cycle (SDLC)

Abstract. 1 Introduction

Certified Software Quality Engineer (CSQE) Body of Knowledge

Lecture 1: Introduction to Software Quality Assurance

Software Life Cycle. Management of what to do in what order

Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur

The most suitable system methodology for the proposed system is drawn out.

Rapid Software Development

Information Systems Development Process (Software Development Life Cycle)

Software Engineering Reference Framework

Software Production and Lifecycle Models

11 Tips to make the requirements definition process more effective and results more usable

CHAPTER 1 INTRODUCTION

Overview of Software Engineering and the Software Development Process

VAIL-Plant Asset Integrity Management System. Software Development Process

Use Cases. Massimo Felici. Massimo Felici Use Cases c

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:

Announcements. Project status demo in class

Acknowledgement. Software Engineering. CS 3141: Team Software Project Introduction

Software Life Cycle Processes

SOFTWARE DEVELOPMENT SD

International Journal of Advance Research in Computer Science and Management Studies

Chakra Vs Spiral Model - A Practical Approach

Systems Development Life Cycle (SDLC)

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

Software Development Life Cycle

The OMG BPM Standards

IV. Software Lifecycles

A Capability Maturity Model (CMM)

HOW TO USE THE DGI DATA GOVERNANCE FRAMEWORK TO CONFIGURE YOUR PROGRAM

IEEE SESC Architecture Planning Group: Action Plan

Lecture Objectives. Software Life Cycle. Software Engineering Layers. Software Process. Common Process Framework. Umbrella Activities

Software Process for QA

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

Software Lifecycles Models

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur

Software Development: The Waterfall Model

Module System Architecture Context

CS 487. Week 8. Reference: 1. Software engineering, roger s. pressman. Reading: 1. Ian Sommerville, Chapter 3. Objective:

Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur

Classical Software Life Cycle Models

SELECTING A DEVELOPMENT APPROACH Original Issuance: February 17, 2005 Revalidated: March 27, 2008

Transcription:

Overview Software engineering and the design process for interactive systems Standards and guidelines as design rules Usability engineering Iterative design and prototyping Design rationale A. Dix, J. Finlay, G. Abowd and R. Beale 1993 Chapter 5

Introduction Paradigms and principles concentrated on examining the product of interactive system design. Now we focus on the process of design. Software engineering is the emerging discipline for understanding the design process, or life cycle. Designing for usability occurs at all stages of the life cycle, not as a single isolated activity A. Dix, J. Finlay, G. Abowd and R. Beale 1993 Chapter 5 (1)

The software life cycle The waterfall model Requirements specification Architectural design Detailed design Coding and unit testing Integration and testing Operation and Maintenance A. Dix, J. Finlay, G. Abowd and R. Beale 1993 Chapter 5 (2)

Activities in the life cycle Requirements specification designer and customer try capture what the system is expected to provide can be expressed in natural language or more precise languages, such as a task analysis would provide Architectural design high-level description of how the system will provide the services required factor system into major components of the system and how they are interrelated needs to satisfy both functional and nonfunctional requirements Detailed design refinement of architectural components and interrelations to identify modules to be implemented separately the refinement is governed by the nonfunctional requirements A. Dix, J. Finlay, G. Abowd and R. Beale 1993 Chapter 5 (3)

Activities in the life cycle (cont'd) Coding and unit testing implementing and testing the individual modules in some executable programming language Integration and testing combining modules to produce components from the architectural description Operation and maintenance product is delivered to customer and any problems/enhancements are provided by designer while product is still live the largest share of the life cycle A. Dix, J. Finlay, G. Abowd and R. Beale 1993 Chapter 5 (4)

Verification and validation Verification designing the product right Validation designing the right product The formality gap validation will always rely to some extent on subjective means of proof Real-world requirements and constraints The formality gap Management and contractual issues design in commercial and legal contexts A. Dix, J. Finlay, G. Abowd and R. Beale 1993 Chapter 5 (5)

The life cycle for interactive systems Requirements specification Architectural design Detailed design Implementation and unit testing Integration and testing Operation and Maintenance Cannot assume a simple linear sequence of activities as assumed by the waterfall model A. Dix, J. Finlay, G. Abowd and R. Beale 1993 Chapter 5 (6)

Using design rules Design rules suggest how to increase usability increasing generality Guidelines Standards increasing authority Standards set by national or international bodies to ensure compliance by a large community of designers standards require sound underlying theory and slowly changing technology hardware standards more common than software high authority and low level of detail ISO 9241 defines usability as effectiveness, efficiency and satisfaction with which users accomplish tasks A. Dix, J. Finlay, G. Abowd and R. Beale 1993 Chapter 5 (7)

Using design rules (cont'd) Guidelines more suggestive and general many textbooks and reports full of guidelines abstract guidelines (principles) applicable during early life cycle activities detailed guidelines (style guides) applicable during later life cycle activities understanding justification for guidelines aids in resolving conflicts A. Dix, J. Finlay, G. Abowd and R. Beale 1993 Chapter 5 (8)

Usability engineering The ultimate test of usability based on measurement of user experience Usability engineering demands that specific usability measures be made explicit as requirements Usability specification usability attribute/principle measuring concept measuring method now level/ worst case/ planned level/ best case Problems usability specification requires level of detail that may not be possible early in design satisfying a usability specification does not necessarily satisfy usability A. Dix, J. Finlay, G. Abowd and R. Beale 1993 Chapter 5 (9)

Iterative design and prototyping Iterative design overcomes inherent problems of incomplete requirements Prototypes simulate or animate some features of intended system different types of prototypes throw-away incremental evolutionary Management issues time planning non-functional features contracts A. Dix, J. Finlay, G. Abowd and R. Beale 1993 Chapter 5 (10)

Techniques for prototyping Storyboards need not be computer-based can be animated Limited functionality simulations some part of system functionality provided by designers tools like HyperCard are common for these Wizard of Oz technique Warning about iterative design design inertia early bad decisions stay bad diagnosing real usability problems in prototypes and not just the symptoms A. Dix, J. Finlay, G. Abowd and R. Beale 1993 Chapter 5 (11)

Design rationale Design rationale is information that explains why a computer system is the way it is. Benefits of design rationale communication throughout life cycle reuse of design knowledge across products enforces design discipline presents arguments for design trade-offs organizes potentially large design space capturing contextual information Process-oriented preserves order of deliberation and decisionmaking Structure-oriented emphasizes post hoc structuring of considered design alternatives A. Dix, J. Finlay, G. Abowd and R. Beale 1993 Chapter 5 (12)

Design rationale techniques Issue-based information system (IBIS) basis for much of design rationale research process-oriented hierarchical structure of issues, with one root issue positions are potential resolutions of an issue arguments modify the relationship between positions and issues gibis is a graphical version Design space analysis structure-oriented QOC hierarchical structure questions (and sub-questions) represent major issues of a design options provide alternative solutions to the question criteria are the means of assessing the various options in order to make a choice DRL similar to QOC with a larger language and more formal semantics A. Dix, J. Finlay, G. Abowd and R. Beale 1993 Chapter 5 (13)

Design rationale techniques (cont'd) Psychological design rationale to support task-artefact cycle in which user tasks are affected by the systems they use aims to make explicit consequences of design for users designers identify tasks system will support scenarios are suggested to test task users are observed on system psychological claims of system made explicit negative aspects of design can be used to improve next iteration of design A. Dix, J. Finlay, G. Abowd and R. Beale 1993 Chapter 5 (14)

Summary The software engineering life cycle distinct activities and the consequences for interactive system design Using design rules standards and guidelines to direct design activity Usability engineering making usability measurements explicit as requirements Iterative design and prototyping limited functionality simulations and animations Design rationale recording design knowledge process vs. structure A. Dix, J. Finlay, G. Abowd and R. Beale 1993 Chapter 5 (15)