250 likes | 512 Views
Requirements Gathering. CSCI 4800/6800 Feb. 25, 2003. Goals. What does the client want/need? (goal: go from vague to specific) Representation of problems with current system Representation of requirements of new system . Techniques. Interviewing/questionnaires Observation
E N D
Requirements Gathering CSCI 4800/6800 Feb. 25, 2003
Goals • What does the client want/need? (goal: go from vague to specific) • Representation of problems with current system • Representation of requirements of new system
Techniques • Interviewing/questionnaires • Observation • Document analysis • Prototyping • Checklists
Types of Requirements • Functional - what system must do • Data - structure of system or data neccessary • Usability - acceptable levels of user performance & satisfaction
Functional Requirements • Both human & system • Dataflow diagrams • Data dictionaries
Data Requirements • Entity-Relationship diagrams
Usability requirements • Learnability • Throughput • Flexibility • Attitude
Functional Requirements • What the system does • What the user does • Result of analysis & collecting requirements is functional specification • Dataflow diagrams • Document or other representation • Separate modules • Organized hierarchically
Functional Requirements • Databases - more persistent than dataflows • An abstraction of the existing system, not a copy of the current physical process • Basis for structured walkthrough - verbal description of the system based on the diagrammatic representation • Other approaches: • Flow charts • Scenarios - good for HCI
Data Requirements • Attention on structure rather than processing • Elicit using • Observation • Document analysis • Interviewing • etc.
Data Requirements • Entity-Relationship (ER) diagrams used with formal descriptions of data elemtents, entities, & relationships kept in a data dictionary, to describe structure & context of the data in a system • Entity - aggregation of a number of data elements (attributes of the entity) • Entity type - classification according to shared attributes/attribute types • Relationships - association between two or more entities
Usability requirements • Easy to learn & remember, Useful, Easy & pleasant to use • Learnability • Time/effort to reach specified level • Throughput • Tasks accomplished by experienced users • Speed of task execution • Errors made • Flexibility • Extent to which system can accommodate changes • Attitude
Determining usability requirements: • Task analysis – (next section) • determine cognitive and other characteristics required of users by system (search strategy, prereq knowledge, cognitive loading, etc.) • User analysis – • determine scope of population who will use the system – user modeling techiques may be applied here; typically use checklists • Environment analysis • where system will operatre
Task Analysis • determine cognitive and other characteristics required of users by system • search strategy • prereq knowledge • cognitive loading • etc.
User Analysis • User analysis – • determine scope of population who will use the system • user modeling techiques may be applied here • typically use checklists
Environment Analysis • where system will operate • Physical aspects • User support environment • more
Usability requirements • Expressed as usability metrics • Completion time for specific tasks by specific set or type of user • Number of errors per task • Time spent using documentation
time to complete task % of task complete % complete per unit time success:failure ratio time spent on errors % number of errors number of commands used frequency of doc/help use time spent in help/doc favorable:unfavorable comments number of reps. of failed commands number of successful runs number of failure runs number of times interface misleads user .... & more Usability metrics
Components of usability • Learnability • time and effort required to reach a specified level of use performance (‘ease of learning’) • Throughput • tasks accomplished by experienced users • speed of task execution, number and type of errors • Flexibility • extent to which system can accomodate change • Attitude • do users like it?
Usability study • the act of gathering usability requirements • involves: • task analysis • user analysis • environment analysis
Task analysis • determine characteristics, particularly cognitive characteristics, required of users by system • search strategy • pre-req knowledge • cognitive loading
User analysis • determine scope of user population that will use system • intellectual ability, cognitive processing ability, previous experience, physical capabilities • typically a checklist description, rather than chart or diagram as in dataflow and E-R
Environment analysis • physical environment • temperature, humidity, lighting, available space • social environment • quiet/loud, busy/isolated, etc. • user support environment • helpful/hostile