29
HCI IN THE SOFTWARE PROCESS GROUP MEMBERS SAAD AKBAR SALMAN MALIK FAIZAN KHAN SYED MUTTAHAR ALI H.M OWAIS ALI JAVAID ANIL AMJAD CHAPTER : 6

Hci in-the-software-process-1

Embed Size (px)

Citation preview

Page 1: Hci in-the-software-process-1

HCI IN THE SOFTWARE PROCESS

GROUP MEMBERS• SAAD AKBAR• SALMAN MALIK• FAIZAN KHAN• SYED MUTTAHAR ALI• H.M OWAIS• ALI JAVAID• ANIL AMJAD

CHAPTER : 6

Page 2: Hci in-the-software-process-1

OVERVIEW

Software engineering along with HCI provides us a effectiveness and interactive system design.

Usability engineering promotes the product in terms of its usability.

Software engineering and the design process for interactive systems

Usability engineering

Iterative design and prototyping

Design rationale

Page 3: Hci in-the-software-process-1

INTRODUCTION

concerned with the usable interactive systems to reached successful paradigms. The design goal is to provide reliable techniques for the successful and usable interactive systems. Within computer science there is already a large sub discipline that addresses the management and

technical issues of the development of software systems – called software engineering. When HCI affecting the usability of interactive systems the other relevant within all the activities of the

software life cycle are disturbed. Some famous techniques or models of software engineering are imposed in HCI to get a better system.

Page 4: Hci in-the-software-process-1

THE SOFTWARE LIFE CYCLE

In the development of a software product, we consider two main parties: The customer who requires the use of the product and the designer who must provide the product. Typically, the customer and the designer are groups of people and some people can be both customer and

designer. It is often important to distinguish between the customer who is the client of the designing company and

the customer. who is the eventual user of the system. These two roles of customer can be played by different people. The group of people who negotiate the features of the intended system with the designer may never be

actual users of the system. This is often particularly true of web applications. In this chapter, we will use the term ‘customer’ to refer

to the group of people who interact with the design team and we will refer to those who will interact with the designed system as the user or end-user.

Page 5: Hci in-the-software-process-1

FIGURE 6.2.1 THE ACTIVITIES IN THE WATERFALL MODEL OF THE SOFTWARE LIFE CYCLE

Page 6: Hci in-the-software-process-1

6.2.1 ACTIVITIES IN THE LIFE CYCLE

Requirements specification In requirements specification, the designer and customer try to capture a description of what the eventual

system will be expected to provide.

Architectural design An architectural design performs this decomposition. It is not only concerned with the functional

decomposition of the system, determining which components provide which services.

Detailed design Detailed design of the system is the last design activity before implementation begins. The hardest design

problems must be addressed by the detailed design or the design is not complete. The detailed design is still an abstraction as compared to source code

Page 7: Hci in-the-software-process-1

Coding and unit testing

After coding, the component can be tested to verify that it performs correctly, according to some test criteria that were determined in earlier activities.

Integration and testing It may also be necessary to certify the final system according to requirements imposed by some outside

authority, such as an aircraft certification board.

Maintenance After product release, all work on the system is considered under the category of maintenance Maintenance

involves the correction of errors in the system which are discovered after release and the revision of the system services to satisfy requirements that were not realized during previous development.

CONT.'S

Page 8: Hci in-the-software-process-1

6.2.2 VALIDATION AND VERIFICATION

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

Management and contractual issues design in commercial and legal context. Real-world

requirementsand constraints The formality gap

Page 9: Hci in-the-software-process-1

FIGURE 6.2.2

FEEDBACK FROM MAINTENANCE ACTIVITY TO OTHER DESIGN ACTIVITIES

Page 10: Hci in-the-software-process-1

6.2.3 MANAGEMENT AND CONTRACTUAL ISSUES

• In a technical discussion, management issues of design, such as time constraints and economic forces, are not as important.

• The different activities of the life cycle are logically related to each other

• In management, a much wider perspective must be adopted which takes into account the marketability of a system

• its training needs, the availability of skilled personnel or possible subcontractors, an other topics outside the activities for the development of the isolated system

Page 11: Hci in-the-software-process-1

EXAMPLE

take the development of a new aircraft on which there will be many software subsystems. in the case of commercial aircraft in terms of passenger capacity and flight range analysis, both the specification

of the aircraft and determination of training needs Some of these systems will be software systems, such as the flight management system or the training simulator,

and these will be designed according to the life cycle described earlier. This will be the job of manager to consult this things to user companies

Page 12: Hci in-the-software-process-1

CONT.'S

In managing the development process, the temporal relationship between the various activities is more important, as are the intermediate deliverables which represent the technical content

So that designer must demonstrate to the customer that progress is being made. the managerial perspective is described in phases Called Documentations the requirements phase will take any marketing or conceptual development information a requirements specification that must be agreed upon between customer and designer. from the management perspective. the customer and the designer must sign off on various documents indicating

their satisfaction with progress to date.

Page 13: Hci in-the-software-process-1

CONT.'S

contractual obligation has negative implications on the design process as well. It is very difficult in the design of an interactive system to determine a improvements to impose on the system to

maximize its usability. because of some requirements being fixed too early

Page 14: Hci in-the-software-process-1

6.2.4 INTERACTIVE SYSTEMS AND THE SOFTWARE LIFE CYCLE

• in the 1960s and 1970s the majority of large systems produced were concerned with data-processing applications in business

• With the advent of personal computing in the late 1970s and its huge commercial success and acceptance, most modern systems developed today are much more interactive

• The actual design process is iterative, work in one design activity affecting work in any other activity both before or after it in the life cycle.

Page 15: Hci in-the-software-process-1

CONT.'S

A classic survey in 1978 by Sutton and Sprague at IBM resulted in an estimate that 50% of the designer’s time was spent on designing code for the user interface

Our models of the psychology and sociology are incomplete and do not allow us to predict how to design for maximum usability ,There is much research on models of human users that allow prediction of their performance

Figure below 6.2.4 how discovery in later activities can be reflected in iterations back to earlier stages.

Page 16: Hci in-the-software-process-1

FIGURE 6.2.4

Page 17: Hci in-the-software-process-1

CONT.'S

in order to test certain usability properties of their designs, designers must observe how actual users interact with the developed product and measure their performance.

In order for the results of those observations to be worthwhile, the experiments must be as close to a real interaction situation as possible.

One problem with this interactive system design is that the tasks a user will perform are often only known by the user after he is familiar with the system on which he performs them.

A final point about the traditional software life cycle is that it does not promote the use of concepts and techniques that support the user’s perspective of the interactive system

Page 18: Hci in-the-software-process-1

6.3 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

Page 19: Hci in-the-software-process-1

PART OF A USABILITY SPECIFICATION FOR A VCR

Attribute: Backward recoverability

Measuring concept: Undo an erroneous programming sequence

Measuring method: Number of explicit user actionsto undo current program

Now level: No current product allows such an undo Worst case: As many actions as it takes to

program-in mistake Planned level: A maximum of two explicit user actions Best case: One explicit cancel action

Page 20: Hci in-the-software-process-1

ISO USABILITY STANDARD 9241

adopts traditional usability categories:

effectiveness can you achieve what you want to?

efficiency can you do it without wasting effort?

satisfaction do you enjoy the process?

Page 21: Hci in-the-software-process-1

SOME METRICS FROM ISO 9241 Usability Effectiveness Efficiency Satisfaction

objective measures measures measures

Suitability Percentage of Time to Rating scale for the task goals achieved complete a task for satisfaction

Appropriate for Number of power Relative efficiency Rating scale fortrained users features used compared with satisfaction with

an expert user power features

Learnability Percentage of Time to learn Rating scale forfunctions learned criterion ease of learning

Error tolerance Percentage of Time spent on Rating scale for errors corrected correcting errors error handling successfully

Page 22: Hci in-the-software-process-1

6.4 ITERATIVE DESIGN AND PROTOTYPING

The only way to be sure about some features of the potential design is to build them and test them out on real users

The design can then be modified to correct any false assumptions that were revealed in the testing This is the essence of iterative design, a purposeful design process which tries to overcome the inherent problems On the technical side, iterative design is described by the use of prototypes

Page 23: Hci in-the-software-process-1

THROW-AWAY

The prototype is built and tested. The design knowledge gained from this exercise is used to build the final product Figure shows the procedure in using throw-away prototypes to arrive at a final requirements

specification

Page 24: Hci in-the-software-process-1

INCREMENTAL

The incremental build model is a method of software development where the prototype is designed, implemented and tested incrementally (a little more is added each time) until the product is finished

The product is defined as finished when it satisfies all of its requirements.

Page 25: Hci in-the-software-process-1

EVOLUTIONARY

This prototype is presented to the user. They provide feedback and suggestions for improvements. So at each stage the prototype 'evolves' towards the final system

Page 26: Hci in-the-software-process-1

ON THE MANAGEMENT SIDE THERE ARE SEVERAL POTENTIAL PROBLEMS

Time Building prototypes takes time and, if it is any prototype, it can be time taking Seen as precious time taken away from the real design task Planning Most project managers do not have the experience necessary for adequately planning and costing a design 

Non-functional features Often the most important features of a system will be non-functional ones such as safety and reliability. These features are sacrificed in developing a prototype

Contracts The design process is often governed by contractual agreements between Customer and designer And so an iterative design process will still require documentation which serves as the binding agreement. 

Page 27: Hci in-the-software-process-1

6.4.2 WARNING ABOUT ITERATIVE DESIGN

we have studied about the iterative design process and its benefits. Iterative design is not only beneficial but also very important for good interactive system design. It is important to recognize some of its drawback also. There are two main drawbacks of this design which are discussed ahead.

Page 28: Hci in-the-software-process-1

FIRST PROBLEM

It is the case that design decisions made at the beginning of prototyping are wrong. As we know that iterative design process is a process which is amended after every iteration. But the problem is that if the initial prototype has bad features will not be amended.

Page 29: Hci in-the-software-process-1

SECOND PROBLEM

it is important to understand the reason for the problem and not just detect the symptom. In the clock example, the designers could have noticed that some subjects with a 24-hour time model were having difficulty setting the time. Say they were trying to set the time for 14:45, but they were not being allowed to do that. If the designers did not know the subject’s goals, they might not detect the 24/12 hour discrepancy. They would instead notice that the users were having trouble setting the time and so they might change the buttons used to set the time instead of other possible changes, such as an analog time dial, or displaying AM or PM on the clock dial to make the 12-hour model more obvious, or to change to a 24-hour clock.