Mark Pearl

Aims of this chapter Describe different kinds of requirements Enable you to identify examples of different kinds of requirements from a simple description Explain how different data gathering techniques may be used during the requirements activity Enable you to develop a scenario, a use case, and an essential use case from a simple description Enable you to perform hierarchical task analysis on a simple description Summary What, How and Why The process works in a cycle..

Picture3

Why bother? The importance of getting it right…

A large number of IT projects fail due to bad implementations or incorrect specifications. It is cheaper to analyse than to develop If you identify the needs initially substantial savings in costs What are requirements? Two types of requirements typically identified

Functional Requirements – the core problem it aims to solve. What a product should do. Non-functional requirements – size, speed… Other types of requirements include…

Data requirements Environmental requirements User characteristics Usability goals and user experience goals Data gathering for requirements The main purpose of data gathering for requirements is to collect sufficient relevant, and appropriate data so that a set of stable requirements can be produced./

3 common forms of data gathering include

Interviews Questionnaires Observation Interviews include…

Structured Interviews Semi Structured Interviews Unstructured Interviews Focus Groups Observation include…

Direct observation Indirect Observation Studying documentation Researching similar products Contextual Inquiry

Contextual inquiry is one of seven parts of contextual design, which is a structured approach to the collection and interpretation of data from fieldwork with the intention of building a software-based product.

Contextual inquiry rests on four main principles

Context – go to the workplace and see what is happening Partnership – developer and user should collaborate in understanding the work Interpretation – observations must be interpreted in order to be used in design Focus – Keep the data gathering focussed on your goals Data gathering guidelines for requirements

Focus on identifying stakeholders needs Involve all the stakeholder groups Support the data gathering sessions with suitable props Data analysis, interpretation, and presentation The aim here is to structure and record descriptions of requirements.

Various methods to diagram these at different levels including class diagrams, sequence diagrams, Entity Relationship Diagrams

Task Description Descriptions of business tasks have been used within software development for many years. There are many different flavours of task descriptions including the following…

Scenarios – informal narrative description that allows exploration and discussion of contexts, needs, and requirements emphasizing the context Use cases – focus on user goals, but emphasis is on a user-system interaction. A use case has one or more actors, goals and normal course (outcome desirable). Generally described graphically Essential Use Cases – represent abstractions from scenarios and tries to avoid the assumptions of a traditional use case An essential use case is a structured narrative consisting of three parts:

Name that expresses the overall intention A stepped description of user actions A stepped description of system responsibility Task Analysis Main purpose is to investigate an existing situation, not to envision new products. Used to analyse the underlying rationale and purpose of what people are doing and what they are trying to achieve.

Hierarchical Task Analysis

Involves breaking a task down into subtasks and then into sub-subtasks. The starting point is the user goal, this is then examined and the main tasks associated with achieving that goal are identified. Where appropriate these tasks are subdivided into subtasks.



blog comments powered by Disqus

Want to get my personal insights on what I learn as I learn it? Subscribe now!


/