Professional Documents
Culture Documents
Two forms:
Characteristics for Successful Requirements Determination Open-ended: conversational, questions with no specific
answers in mind
Impertinence Closed-ended: structured, questions with limited range of
possible answers
Impartiality
Guidelines for Effective Interviewing
Relaxing constraints
Plan the interview.
Attention to details Prepare interviewee: appointment, priming questions.
Prepare agenda, checklist, questions.
Reframing
Group Interviews
Interviewing groups
Interview several key people together
Observing workers Advantages
More effective use of time
Studying business documents
Can hear agreements and disagreements at once
Opportunity for synergies
What is Interviewing? Disadvantages
More difficult to schedule than individual interviews
Dialogue with user or manager to obtain their requirements
Analyzing Procedures and Other Documents Contemporary Methods for Determining Requirements
Types of information to be discovered: Joint Application Design (JAD)
Problems with existing system Brings together key users, managers, and systems analysts
Opportunity to meet new need Purpose: collect system requirements simultaneously from
Organizational direction key people
Names of key individuals Conducted off-site
Values of organization
Special information processing circumstances Group Support Systems
Reasons for current system design Facilitate sharing of ideas and voicing of opinions about
Rules for processing data system requirements
Four types of useful documents CASE tools
Written work procedures Used to analyze existing systems
Describes how a job is performed Help discover requirements to meet changing business
Includes data and information used and created in the process conditions
of performing the job or task
Business form
System prototypes
Iterative development process
Explicitly indicate data flow in or out of a system
Rudimentary working version of system is built Members type their answers into the computer
Refine understanding of system requirements in concrete All members of the group see what other members have been
terms typing
Team members meet in isolation for an extended period of time Once the user sees requirements converted to system, will ask for
modifications or will generate additional requests
Highly focused Most useful when:
Resource intensive
User requests are not clear
Few users are involved in the system
Started by IBM in 1970s Designs are complex and require concrete form
History of communication problems between analysts and
JAD Participants users
Tools are readily available to build prototype
Session Leader: facilitates group process
Users: active, speaking participants
Drawbacks
Tendency to avoid formal documentation
Managers: active, speaking participants Difficult to adapt to more general user audience
Sharing data with other systems is often not considered
Sponsor: high-level champion, limited participation Systems Development Life Cycle (SDLC) checks are often
Systems Analysts: should mostly listen bypassed
Agile Methodologies for Requirements Determination DFDs of current physical and logical system
Enables analysts to understand current system
Continual user involvement
Replace traditional SDLC waterfall with iterative analyze – DFDs of new logical system
design – code – test cycle Technology independent
Show data flows, structure, and functional requirements of
Agile usage-centered design new system
Focuses on user goals, roles, and tasks
Thorough description of each DFD component
The Planning Game
Based on eXtreme programming Data Flow Diagram (DFD)
Exploration, steering, commitment
A picture of the movement of data between external entities and the
Agile Usage-Centered Design Steps processes and data stores within a system
Gather group of programmers, analysts, users, testers, facilitator Difference from system flowcharts:
Document complaints of current system DFDs depict logical data flow independent of technology
Determine important user roles Flowcharts depict details of physical systems
Determine, prioritize, and describe tasks for each user role
DFD Symbols
Group similar tasks into interaction contexts
Process: work or actions performed on data (inside the system)
Associate each interaction context with a user interface for the
system, and prototype the interaction context Data store: data at rest (inside the system)
Step through and modify the prototype Source/sink: external entity that is origin or destination of data
(outside the system)
Structuring System Process Requirements Data flow: arrows depicting movement of data
Process Modeling
Data flow from a process to a data store means update (insert, delete
or change).
Graphically represent the processes that capture, manipulate, store,
and distribute data between a system and its environment and among system Data flow from a data store to a process means retrieve or use.
components
Data flow labels should be noun phrases.
Functional Decomposition Current system is reduced to data and processes that
transform them.
An iterative process of breaking a system description down into finer
and finer detail New Logical
Includes additional functions
High-level processes described in terms of lower-level sub-processes Obsolete functions are removed
Inefficient data flows are reorganized
DFD charts created for each level of detail
The conservation of inputs and outputs to a data flow process when Rules for stopping decomposition
that process is decomposed to a lower level
Rules for stopping decomposition (continued)
Balanced means:
Number of inputs to lower level DFD equals number of Using DFDs as Analysis Tools
inputs to associated process of higher-level DFD
Number of outputs to lower level DFD equals number of Gap Analysis
outputs to associated process of higher-level DFD The process of discovering discrepancies between two or
more sets of data flow diagrams or discrepancies within a single DFD
Four Different Types of DFD
Inefficiencies in a system can often be identified through DFDs.
Current Physical
Process labels identify technology (people or systems) used UML Use Case Diagram Symbols
to process the data.
Data flows and data stores identify actual name of the What is an Actor?
physical media.
Actor is an external entity that interacts with the system.
Current Logical
Most actors represent user roles, but actors can also be external
Physical aspects of system are removed as much as possible.
systems.
An actor is a role, not a specific user; one user may play many roles,
Structuring System Logical Requirements
and an actor may represent many users.
Logic Modeling
What is a Boundary?
A boundary is the dividing line between the system and its
Data flow diagrams do not show the logic inside the processes.
environment. Logic modeling involves representing internal structure and
functionality of processes depicted on a DFD.
Use cases are within the boundary.