paper
Chapter 4
Requirements Engineering
1
Learning Objectives (1 of 3)
After this chapter, you will be able to:
Explain system requirements and the challenges associated with the requirements engineering process
Compare and contrast functional and non-functional requirements
Apply team-based requirements engineering techniques, including joint application development (JAD), rapid application development (RAD), and agile methods
Develop a fact-finding plan for gathering requirements
Conduct an interview to gather system requirements
IST 603 - Chapter 4
2
2
Learning Objectives (2 of 3)
Use other requirements gathering techniques, including document review, observation, questionnaires and surveys, brainstorming, sampling, and research
Explain how requirements are gathered in agile projects
Utilize different requirements representation techniques, including natural language, diagrams, and models
Explain how to validate and verify requirements
Explain how tools can help with requirements engineering activities
IST 603 - Chapter 4
3
3
System Requirements
Requirement is simply what the system must do or what characteristics it must have
During Analysis
Written from the business perspective (or WHAT) – Business Requirements
Benchmarks to measure overall acceptability
During Design – business requirements evolve to more technical (or HOW) – System Requirements
Requirements engineering activities
Gathering requirements: understanding the problem
Representing requirements: describing the problem
Validating and verifying requirements:
IST 603 - Chapter 4
4
System Requirements
Types of requirements
Classified according to characteristics
Functional – process the system has to perform
System shall produce pay stubs for all employees
Employees shall be able to get on line access to their vacation hours
Non-functional or quality attributes – more behaviorial
System must support 50 simultaneous users
Website response time must not exceed 4 seconds
System should work on multiple platforms such as windows, Mac, and Unix
IST 603 - Chapter 4
5
System Requirements Example: Functional Requirements of a Word Processing Program
Printing
Users can select which pages to print
Users can preview pages before printing
Users can change the margins, paper size, and orientation of the page
Spell Checking
Users can check for spelling mistakes
Users can add words to the dictionary
Users can mark words as not misspelled
IST 603 - Chapter 4
6
System Requirements Example: Nonfunctional Requirements of a Word Processing Program
Operational Requirements
The system can operate in Windows and Mac environment
The system can read and write word documents, RTF, and HTML
The system will be able to import Gif, Jpeg, and BMP graphics file
Performance Requirements
Response time must be less than 7 seconds
Security Requirements
No special security requirements are anticipated
Cultural and Political Requirements
No special cultural or political requirements are anticipated
IST 603 - Chapter 4
7
System Requirements
Requirements challenges
Imprecision
My ‘English’ may not mean same as I intended
Can use abstract ‘precise’ language or other techniques to reduce ambiguity
Agreement
Specification needs to mean same to both analysts and users
Specifications need to be consistent
Creep
Feature creep can occur easily
Example: start with an object to paint a wall in a room, end with painting all walls, floor, changing doors and windows
IST 603 - Chapter 4
8
System Requirements
Additional considerations
Scalability: ability to handle increased business volume and transactions
Website designed to handle 25 simultaneous access. Business grows. Can it be scaled to handle 100 simultaneous access?
Security: make systems harder to infiltrate – dose not need emphasis in todays world, or does it?
Total cost of ownership: direct and indirect costs
Direct cost: software development, hardware purchase (lease), installation, networking, etc.
Can you think of a few indirect costs?
IST 603 - Chapter 4
9
System Development -Team-Based Techniques - JAD
Many development techniques emphasize user participation
End product is a requirement model
Joint application development (JAD)
Team oriented
Task force of users, managers, IT professionals participate in the JAD team
Can be used for
New systems
Enhancements to existing systems
System conversions
Purchase of a system
IST 603 - Chapter 4
10
10
Team-Based Techniques – JAD Roles
| JAD PARTICIPANTS | ROLE |
| Project leader | Develops an agenda, facilitates meetings, lead JAD sessions |
| Top Managers | Enterprise level authorization and support for project |
| Managers | Department-level support, understanding of how the project must support business functions and requirements |
| Users | Operational-level input, desired changes, input and output requirements, user interface issues, explanation regarding support of day to day tasks |
| System Analysts and other IT staff | Technical assistance, issues such as security, backup, hardware, software, network capabilities |
| Recorder | Documents JAD sessions, Works with Analysts in building system models |
IST 603 - Chapter 4
11
11
Team-Based Techniques – Typical JAD Session Agenda (partial)
| JAD PARTICIPANTS | Activity |
| Project leader | Introduce team members Discuss ground rules, goals and objectives of the session Explain methods of documentation |
| Project owner | Explain the reason for the project. Express top management support and authorization |
| JAD Team members | Discuss and document all system requirements Develop models and prototypes |
| Open discussion session moderated by the project leader | Review the main business processes, tasks, user roles, input and output Identify specific areas of agreement and disagreement Review reports from breakout sessions |
IST 603 - Chapter 4
12
12
Team-Based Techniques -JAD
JAD advantages and disadvantages
Disadvantages
More expensive than traditional methods
Can be cumbersome if the group is too large
Advantages
Allows key users to participate effectively
Users are more likely to feel a sense of ownership
Produces a more accurate statement of system requirements, a better understanding of common goals, and a stronger commitment to the success of the new system
IST 603 - Chapter 4
13
13
Team-Based Techniques - RAD
Produces a functioning information system
Rapid application development
Uses a group approach like JAD
Complete methodology
Includes a four-phase life cycle that parallels the traditional SDLC (Please see an examples of SDLC models – Waterfall Model and Spiral Model, the next two slides)
Reduces cost and development time
Increases the probability of success
Relies on prototyping and user involvement
IST 603 - Chapter 4
14
14
IST 603 - Chapter 4
15
Boehm’s Spiral Model
IST 603 - Chapter 4
16
Team-Based Techniques - RAD
IST 603 - Chapter 4
The four phases of the RAD model are requirements planning, user design, construction, and cutover. Notice the continuous interaction between the user design and construction phases.
17
17
Team-Based Techniques - RAD
RAD objectives
Cut development time and expense
Involve users in every phase of development
RAD advantages and disadvantages
Advantage
Helps develop systems quickly with cost savings
Disadvantages
Does not emphasize strategic business needs
Less time to develop quality, consistency, and design standards
IST 603 - Chapter 4
18
18
Team-Based Techniques – Agile Methods
Agile methods
Attempt to develop a system incrementally by building a series of prototypes and adjusting them to user requirements
Developers revise, extend, and merge earlier versions into the final product
Emphasize continuous feedback
Each incremental step is affected by what was learned in the prior steps
IST 603 - Chapter 4
19
19
Team-Based Techniques (7 of 8)
Scrum
Scrum sessions
Specific guidelines emphasize time blocks, interaction, and team-based activities that result in deliverable software
IST 603 - Chapter 4
20
20
Team-Based Techniques (8 of 8)
Agile method advantages and disadvantages
Advantages
Very flexible and efficient in dealing with change
Frequent deliverables constantly validate the project and reduce risk
Disadvantages
Team members need a high level of technical and interpersonal skills
Lack of structure and documentation can introduce risk factors
May be subject to significant change in scope
IST 603 - Chapter 4
21
21
Gathering Requirements
Identification of the system need
What business functions are supported by the current system?
What objectives and business requirements must be supported by the new system?
What are the benefits and costs of the proposed system?
What transactions the system will be required to process?
What are information needs of users and managers?
Must the system interface with an existing legacy system?
What business processes need to be redesigned?
What security issues exist?
What risks are acceptable?
What are the budget and time constraints?
IST 603 - Chapter 4
22
Gathering Requirements
First step in requirements engineering process
Requirements elicitation or fact-finding
Who? – who performs each of the procedure? Are these the correct people? Can some one else or other people perform these tasks more effectively?
What? – What is being done? Why is this process necessary?
Where? - where are these operations being performed? Could they be performed more effectively elsewhere?
When? – Why is it being performed at that time? Is that the best time?
How? – Why is this being performed in that manner? Can it be performed in some other manner more effectively?
IST 603 - Chapter 4
23
Gathering Requirements Through Interviews
The interview process
Determine the people to interview
Establish objectives for the interview
Develop interview questions
Prepare for the interview
Conduct the interview
Document the interview
Evaluate the interview
IST 603 - Chapter 4
24
24
Gathering Requirements Through Interviews
Determine the people to interview
Select the right people and ask the right questions
Consider candidates from both formal and informal structures
Decide on group and/or individual interviews
Establish objectives for the interview
Determine areas to be discussed
List facts that need to be gathered
Objectives depend on the role of the person being interviewed
IST 603 - Chapter 4
25
25
Gathering Requirements Through Interviews
Develop interview questions
Decide what to ask and how to phrase it
Avoid leading questions
Open-ended questions encourage spontaneous and unstructured responses – richer, but unstructured data
Close-ended questions limit the response – may miss important information
Range-of-response questions limit the response
IST 603 - Chapter 4
26
| Type of Questions | Examples |
| Closed-ended | How many telephone orders are received per day? How do customers place orders? What information is missing from the monthly sales report? |
| Open-ended | What do you think about the current system? What are some of the problems you face on a daily basis? |
| Probing | .Why? Can you give me an example? |
26
Gathering Requirements Through Interviews
Prepare for the interview
Careful preparation is essential
Limit the interview to no more than one hour
Verify time, place, length, and topics
If there are questions about documents, ask the interviewee to have samples available at the meeting
Avoid questioner bias and leading the interviewee
IST 603 - Chapter 4
27
27
Gathering Requirements Through Interviews
Conduct the interview
Develop a specific plan for the meeting
Begin by introducing yourself, describing the project, and explaining your interview objectives
Practice engaged listening
Allow the person enough time to think about the question and arrive at an answer
After an interview, summarize the session and seek a confirmation
IST 603 - Chapter 4
28
28
Gathering Requirements Through Interviews
Document the interview
Note taking should be kept to a minimum
After conducting the interview record the information quickly
Send memo to the interviewee expressing your appreciation
Evaluate the interview
In addition to recording the facts obtained in an interview, try to identify any possible biases
IST 603 - Chapter 4
29
29
Gathering Requirements Using Other Techniques
Document review
Review current documentation
Helps understand the current (as-is) system
User created forms, reports, statements are indication of the need to improve the current system
Observation
Provides additional perspective and a better understanding of the system procedures
Should be planned in advance
Goal of the observer(s) is to keep a low profile during observation to avoid disruption
The Hawthorne - the tendency of some people to work harder and perform better when they are participants in an experiment – observation
May bias observation results
IST 603 - Chapter 4
30
30
Gathering Requirements Using Other Techniques
Questionnaires and surveys
Make sure questions collect the right data in a form that can be used to further the fact finding effort
Can be traditional forms, fill-in forms, or on the Internet or a company intranet
IST 603 - Chapter 4
31
31
Gathering Requirements Using Other Techniques
Interviews versus questionnaires
Interview is more familiar and personal
Costly and time-consuming process
Questionnaire gives the opportunity to provide input and suggestions
Recipients can answer questions at their convenience
Brainstorming: small group discussion of a specific problem, opportunity, or issue
Structured brainstorming
Unstructured brainstorming
IST 603 - Chapter 4
32
32
Gathering Requirements Using Other Techniques
Sampling
Systematic sample: selection of every tenth customer for review
Stratified sample: selection of five customers from each of four postal codes
Random sample: selection of any 20 customers
Objective of a sample: ensure it represents the overall population accurately
IST 603 - Chapter 4
33
33
Gathering Requirements Using Other Techniques
Research
Internet, IT magazines, and books
Used to obtain background information, technical material, and news about industry trends and developments
Attending professional meetings, seminars, and discussions with other IT professionals
Site visits
IST 603 - Chapter 4
34
34
Selecting the Appropriate Data Gathering Technique
| Interviews | JAD | Questionnaires | Document Analysis | Observation | |
| Type of information | As-is, improvements, to-be | As-is, improvements, to-be | As-is, improvements | As-is | As-is |
| Depth of information | High | High | Medium | Low | Low |
| Breadth of information | Low | Medium | High | High | Low |
| Integration of information | Low | High | Low | Low | Low |
| User involvement | Medium | High | Low | Low | Low |
| Cost | Medium | Low-medium | Low | Low | Low-medium |
IST 603 - Chapter 4
35
35
Gathering Requirements In Agile Projects
Agile methods used for requirements gathering
Variation on interviews that focuses on features, user stories, scenarios, and storyboards is used
Requirements are gathered and successively refined
IST 603 - Chapter 4
36
Representing Requirements
Principles for documentation
Record information as soon as it is obtained
Use the simplest recording method
Record findings in a way that they can be understood by someone else
Organize documentation so related material is located easily
IST 603 - Chapter 4
37
37
Representing Requirements (2 of 5)
Natural language
Vast majority of requirements are represented using unstructured natural language
Diagrams
Graphical methods and nontechnical language that represent the system at various stages
Functional decomposition diagrams
Top-down representation of a function or process
IST 603 - Chapter 4
38
Representing Requirements
IST 603 - Chapter 4
This Visible Analyst FDD shows a library system with five top-level functions. The Library Operations function includes two additional levels of processes and sub-processes. Source: Screenshot used with permission from Visible Systems Corporation.
39
Representing Requirements
Business process diagrams
Represent one or more business processes
Business process modeling notation (BPMN) includes various shapes and symbols to represent events, processes, and workflows
IST 603 - Chapter 4
40
Swim Lane
Swim Lane
Representing Requirements
Data flow diagrams
Show how the system stores, processes, and transforms data
IST 603 - Chapter 4
41
Representing Requirements (5 of 5)
Models
Provide a more formal representation of system requirements
Unified Modeling Language (UML)
Use case diagram
Visually represents the interaction between users and the information system
Sequence diagram
Shows timing of interactions between objects
IST 603 - Chapter 4
42
Validating And Verifying Requirements
Requirements validation and verification (V&V)
Concerned with demonstrating that the requirements define the system that the customer really wants
Validation: Are the correct requirements stated?
Verification: Are the requirements stated correctly?
IST 603 - Chapter 4
43
Tools
All requirements can be helped through the judicious use of tools
Productivity software
Personal information manager
Word processing software
Spreadsheet software
Database management software
Presentation graphics software
Collaboration software
Graphic modeling tools
IST 603 - Chapter 4
44
Summary
Systems analysis phase
Includes requirements modeling, data and process modeling, and consideration of development strategies
Objective is to understand the proposed project, ensure that it will support business requirements, and build a solid foundation for the systems design phase
Popular team-based approaches
JAD, RAD, and agile methods
IST 603 - Chapter 4
45
45
Summary
Requirements gathering process
Interviewing, document review, observation, questionnaires, sampling, and research
Systems analysts use various tools and techniques to represent system requirements
All requirements engineering activities can be helped through the judicious use of tools
IST 603 - Chapter 4
46
46
Process OrderProcess BillingCreate Shipping DataObtain Credit DataValidate Credit StatusAssign Customer NumberExisting CustomerNew CustomerBusiness Process Diagram
Create InvoiceVerify OrderAssemble OrderAccepted OrderServices PerformedExample of A Data Flow Diagram