How is HCI included in the software life cycle?

The software development life cycle (SDLC) guides the process of software engineering, and involves the structured development and maintenance of medium to large-scale software systems. Due to this structured approach, the SDLC constitutes some development activities that are followed according to a selected process model.

Note: Read more about SDLC activities and process models, here.

HCI in the software life cycle

Human-Computer Interaction (HCI) is a field that concerns how humans and computers interact to perform a goal. The purpose of HCI is to design interactive systems for successful human use.

This communication between humans and computers is made possible by a user interface (UI), which is an essential component of the final software end-product. Therefore, HCI is a fundamental part of the SDLC and is not restricted to a single activity or phase of the lifecycle. Instead, the aim of HCI is considered throughout the development process.

Let's look at how HCI is included in the following, individual SDLC activities:

  • Requirements analysis

  • Feasibility study

  • Design

  • Development

  • Testing

  • Deployment

  • Maintenance

The activities in SDLC

Requirements analysis

In the requirements analysis phase, the requirements of the users and clients regarding the software are elicited. While doing so, it is also important to obtain requirements for the user interface. A designer must tailor the interface according to the user and client criteria.

Feasibility study

The interface requirements should also be documented when the software requirements are specified in the software requirements specification (SRS) document. Having requirements in a written form help develop a clear view of what must be done.

Design

In this phase, HCI-related design decisions are made and documented in a design rationale. These decisions include setting up screen standards and determining the overall layout of the interface. Accordingly, design sketches and prototypes are created to represent the design.

Development

In the coding phase of the software lifecycle, the system is developed according to the design using the chosen programming language. Similarly, the interface design is programmed as the frontend of the software application.

Testing

Testing the developed end-product is vital to highlight errors that are left unnoticed. Apart from the code, the interface should also be tested in terms of its usabilityUsability is a quality of the user interface that refers to how easily and efficiently a user can perform a task on an interface. and user experience. One way to do this is through user testing.

Deployment

During deployment, it should be checked that the interface is fully functional on the user’s side. HCI factors should also be considered, such as providing instructions for first-time users to increase learnability.

Maintenance

Users may experience some obstructions in using the interface after deployment. In such situations, the software engineer and UI designer must ensure that the interface is improved to provide the best HCI experience to users.

Free Resources

Copyright ©2024 Educative, Inc. All rights reserved