FRI JUL 13 2018


As you have learnt in the previous topics, the process of system development consists of several phases or basic levels.  These phases would always exist despite the use of various other designs and approaches.  The only difference lies in the enforcement of usage, sequence and several additional phases.  The basic phases mentioned above include the phases of requirement specification, design, coding and implementation, and testing and maintenance.  However, in this course, we will not discuss the details of each phase, but concentrate on phases that focus on the user-centred design.  One of the most important phases which acts as the starting point for the process of software development is the phase of requirement specification.  In this phase the system requirements, especially user needs, are determined and documented as the requirement specifications of the system, and used as a reference throughout the development of the system.
In this topic, we will also discuss all the different requirements of the specification, as well as techniques used to gather all the neccesary information and interpret them.


One of the most important goals of designing an interactive system is to optimise the interaction between users and the products created.  Thus, the end product should always support the requirements and needs of its users, as well as always be able to provide all the necessary features that would speed up and improvise the users' tasks.  Thus, as developers, we should be able to identify individuals whom we could refer to in order to obtain information on the system and user requirements.

10.1.1     Users

When we mention the word "users", we always refer to the prospective users of the system and the end-product that is going to be produced.  In reality, there are several interpretations of "users".  Apart from users who will be directly interacting with the system, better known as end-users, users also encompass individuals who are involved in system testing, making decisions to purchase a system as well as those who are competing to use this new system.  Eason (1987) identified three groups of users:

  • Primary

  • Secondary

  • Tertiary

User and User Requirements    System and System Requirement     Data Collection     Data Analysis and Interpretation

Tertiary users are also known as stakeholders.  The definition of stakeholders is:
"Individuals or organisations that experience the effects or consequences from the system, as well as those who are directly or indirectly involved in determining the system's requirements". (Kotonya and Sommerville, 1998).

These users can also be classified based on their expertise and frequency of using the systems.  Based on this classification, there are three types of users.  The type of user plays an important role in determining the system's requirement specifications and design.  Each user has different needs compared to others, and a good system should be able to consider all the different types of users, as explained in Table 10.2.

10.1.2     User Requirements

It is not easy to determine what is required by users.  We will not be able to obtain this information by merely asking users "what do you need?".  This is because users are usually unaware of the capabilities of the system.  On the contrary, to gather the necessary information, we need to address the following issues beforehand:

  • Understand the characteristics and strengths of users

  • Be aware of the goals that they intend to achieve or implement

  • Undertand the means used to achieve these goals

  • Study the possibility of achieving the goals more effectively by using various other utilities.

User requirements or needs revolve around the characteristics of the targeted group.  In the previous units, we touched on the importance of the relationship between of the users' talents and skills and these aspects during the specification of user requirements.  The collection of information on the different attributes and characteristics of users can be called the user profile.  Each tool or prospective system being developed may contain different user profiles.


A system is what the user interacts with to get tasks accomplished.


10.2.1     Systems

A system is an organized, purposeful structure that is made up of a regularly interacting or interdependent group of items forming a unified whole.  These are in other words interrelated and interdependent elements (components, entities, factors, members, parts etc.).  The elements of the system known as subsystem continually influence one another (directly or indirectly) to maintain their activity and existence, in order to achieve the goal of the system.  All systems have

  • inputs, outputs and feedback mechanisms

  • maintain an internal steady-state (called homeostasis) despite a changing external environment

  • display properties that are different than the whole (called emergent properties) but are not possessed by any of the individual elements

  • have boundaries that are usually defined by the system observer

10.2.2     System Requirements

  • Functional Requirements

  • Data Requirements

  • Environmental Requirements

  • Usability Requirements


To ensure the success of building the right system and for the right user, we need to understand that data must be collected expertly so as to fulfill the needs of the user.

  • Questionnaires

  • Interviews

  • Focus Groups and Workshops

  • Observation

  • Documentation


The required data that are gathered should be interpreted and analysed as soon as possible.  Ways of analyzing data include:

  • Scenario

  • Use Case

  • Task Analysis