Please enable JavaScript.
Coggle requires JavaScript to display documents.
Software Engineering E: Requirement Gathering (Techniques for Information…
Software Engineering E: Requirement Gathering
Requirements Developments
understand and document business needs and processing requirements for a system
focus on what users wants, not how to build the system
requires continuous inputs from users
System Requirements
Functional Requirements
Capabilities/features that the system must have
Non-functional Requirements
Constraints that the new system must meet
Techniques for Information Gathering
Questioning, Observing, Researching, Modeling
Good questions initiate process
three themes
What are business processes?
How is the business process performed?
What information is required?
Example
A. Review reports, forms, procedure, descriptions
Various sources
Internal existing business documents and procedure descriptions
Other companies and professional organizations
Industry journals and magazines reporting “best practices”
Pros
Allows analyst to get an understanding of organization before meeting the users
Cons
Documents may not match up to actual operations or outdated
When to use
Initial stages of investigation when analyst is unfamiliar with the organization
B. Conduct interviews and discussions with the users
Most widely used fact-finding technique
Types of Questions: Mixture of Open and Close- ended questions
Pros
Personal contact allows further probing with faster response time
Cons
Time-consuming and requires further rework on the interview information gathered
When to use
Require in-depth information on new/existing system
C. Observe business processes
Diagram all information gathered into workflows
create activity diagrams
Identify activities
Relationships between activities
Personnel responsible for the activities
Pros
First-hand experience on system operations allowing validation of information and business performance
Cons
Can be intrusive with information confidentiality issue
When to use
Gather quantitative data about business and validation of conflicting information provided
D. Building effective prototypes
an initial, look alike model with limited features of a real production system
3 types of prototypes
Discovery prototype
model created to verify concept and discarded
Evolving prototype
working model that grows and may become part of system
Mock-up
example of final product for viewing only, not executable
Pros
Time and cost savings
Cons
Too much time spent on prototype
When to use
Projects with high interactivity with users
E. Distribute and collect questionnaires
Allow collection of information from a large group of users
Supports distributed geographical locations
Includes
Close-ended questions
Opinion questions
Explanation of procedure or problem
Pros
Economical for large group with sporadic geographical location
Cons
Hard to construct good questions and constraint to probe further
When to use
Input required from large number of people who are geographically dispersed
F. Conduct Joint Application Design sessions (JAD)
Speed up system requirements gathering by compressing all activities into a shorter series of JAD sessions
Fact finding, modeling, policy decision and verification done concurrently
Includes all stakeholders to finalize decisions required for project development
Pros
Save time as finalized decisions can be made
Cons
Difficult to coordinate JAD session for so many people
When to use
Project with constraint in timeline
G. Research vendor solutions
Find existing solutions
two-step process
Develop list of providers from various sources
Directories of system solutions
Recommendations
Journals, magazines, and trade shows
Research the details of each solution
Technical specifications
A demo or trial system
An on-site visit
A printout of the screens and reports
Pros
Provides a platform for learning from past experiences
Cons
Insufficient analysis may lead to buying a “wrong” product
When to use