Analysis

Posted on October 13th, 2021

Part of Notes on Software Design

Analysing a problem involves identifying the overriding problem to establish its causes and effects, plus the goals of its solution.

To analyse the goals of a system, we can first look at usability— the functional impact of a system:

We can also look at User Experience (UX) — the effect of a system on the user:

User Profiles

A user profile are a set of characteristics taken from a typical user of a system. A product can have any number of user profiles, depending on the scope of the system's demographic. Attributes should be all/only be relevant to the system; for example:

If we consider a teenager, we get:

Personas

Where user profiles are a generic assessment of the user-base, user personasare rich descriptions of typical users for a system. By specifying the target user(s), designed can further tailor a product to its end-users.

They specify a theoretical or an actual end-user requiring an age, personal background, personal needs, etc., and are formatted as a paragraph.

Betty is 37 years old, she has been Warehouse Manager for five years and worked for Simpkins Brothers Engineering for twelve years. She didn't go to university, but has studied in her evenings for a business diploma. She has two children aged 15 and 7 and does not like to work late. She did part of an introductory in-house computer course some years ago, but it was interrupted when she was promoted and could no longer afford to take the time. Her vision is perfect, but her right-hand movement is slightly restricted following an car accident three years ago. She is enthusiastic about her work and is happy to delegate responsibility and take suggestions from her staff. However, she does feel threatened by the introduction of yet another new computer system (the third in her time at SBE)

Example User Persona

Task Analysis

This a generic term referring to a variety of techniques for analysing and representing goals and tasks.

User goals are derived from the activities in which end-users engage: a state an end-user wishes to achieve.

User tasks describe the functionality to achieve a task: a user activity required to bring about a goal.

For example, the goal, 'know where next week's lecture is', can be described with a task, 'a user activity required to bring about a goal '.

A working design can be validated through a comparison to user goals and tasks:

Scenarios

Scenarios are an informal narrative story: simple, 'natural', personal, and not generalisable. Ultimately, these target the when and where, referred to as the system's context.

Physical context could include where the user is, what their physical situation is, and what else is happening around them. Temporal context could include: timing, order of events, and other events.

A basic outline of a scenario consists of: