0% found this document useful (0 votes)
50 views21 pages

(CSC313-2025-01-04) Requirements Engineering

Uploaded by

pm173919
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
50 views21 pages

(CSC313-2025-01-04) Requirements Engineering

Uploaded by

pm173919
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

System Analysis and Design

Class 04: Requirements Engineering

Innocent Okoloko, PhD

11/10/2022 1
Learning Objectives
▪ At the end of the class, the participants should be able to:
1. Explain system requirements + challenges associated with the requirements engineering (RE) process
2. Compare and contrast functional and non-functional requirements
3. Apply team-based RE techniques, including joint application development (JAD), rapid application
development (RAD), and agile methods
4. Develop a fact-finding plan for gathering requirements
5. Conduct an interview to gather system requirements
6. Use other requirements gathering techniques, including document review, observation, questionnaires
and surveys, brainstorming, sampling, and research
7. Explain how requirements are gathered in agile projects
8. Utilize different requirements representation techniques, including natural language, diagrams, and
models
9. Explain how to validate and verify requirements
10. Explain how tools can help with RE activities
11/10/2022 2
Contents

1. System Requirements
2. Team-Based Techniques
3. Gathering Requirements
4. Gathering Requirements Through Interviews
5. Gathering Requirements Using Other Techniques
6. Gathering Requirements in Agile Projects
7. Representing Requirements
8. Validating and Verifying Requirements
9. Tools

11/10/2022 3
System Requirements
▪ System Requirement: a feature that must be included in an information system to satisfy
business requirements and be acceptable to users
▪ Any problems with requirements could negatively affect subsequent phases of the SDLC
▪ IT Project management: planning, scheduling, monitoring and controlling, and reporting on
information system development
▪ Main Activities of RE:
1. Gathering requirements: understanding the problem
2. Representing requirements: describing the problem
3. Validating and verifying requirements: agreeing upon the problem
▪ Output of RE: requirements documents that capture the essence of what the system should
do

11/10/2022 4
System Requirements
▪ Types of Requirements:
1. Functional requirement: a statement of the services a system provides
2. Non-functional requirement: quality attributes
▪ Requirements Challenges
1. Imprecision: can either be technical (as a basis for a project) or simple (as a basis for a bid)
2. Agreement: in theory, requirements should be both complete and consistent
3. Creep: requirements change with the influence of time, economic, social and other factors
▪ Additional Considerations for Requirements
1. Scalability, which determines how a system will handle future growth and demands
2. Security, which is all-important for today’s networked systems
3. Total cost of ownership (TCO), which includes all future operational and support costs. Both
direct and indirect costs

11/10/2022 5
Team Based Techniques
▪ Traditional model for systems development used structured analysis without continuous user
involvement
1. Joint Application Development (JAD): is a popular fact-finding technique that brings users into the
development process as active participants

11/10/2022 6
Team Based Techniques
▪ The end product of JAD is a requirements model
2. Rapid Application Development (RAD): is a team-based technique that speeds up
information systems development
▪ The output is a functioning information system
▪ RAD is a complete methodology, with a four-phase life cycle that parallels the traditional SDLC
phases
▪ RAD relies heavily on prototyping and user involvement
▪ Based on user input, the prototype is modified, and the interactive process continues until the
system is completely developed
▪ The project team uses CASE tools to build the prototypes and create a continuous stream of
documentation

11/10/2022 7
Team Based Techniques
▪ RAD Phases and Activities:
▪ RAD Objectives: to cut
development time and
expense by involving users in
every phase of systems
development
▪ RAD Disadvantages: a
system might work well in the
short term, but the corporate
and long-term objectives for
the system might not be met.
Also, the accelerated time
cycle might compromise
quality, consistency, and
design standards
11/10/2022 8
Team Based Techniques
3. Agile Methods: is a team-based technique that speeds up information systems development
▪ Attempts to develop a system incrementally by building a series of prototypes and constantly
adjusting them to user requirements
▪ E.g., Scrum is an agile approach - from the rugby term scrum, where team members lunge at
each other to achieve their objectives
▪ An agile team uses a series of scrums to pause the action and allow the players to reset the
game plan, which remains in effect until the next scrum
▪ Advantages: very flexible and efficient in dealing with change
▪ Disadvantages: team members need a high level of technical and interpersonal skills. Also,
lack of structure and documentation can introduce risk factors, such as blurring of roles and
responsibilities, and loss of corporate knowledge

11/10/2022 9
Gathering Requirements
▪ Requirements gathering is the first step in the RE process
▪ Also known as requirements elicitation or fact-finding (collecting information)
▪ Various techniques are used:
1. interviews,
2. document review,
3. observation,
4. surveys and questionnaires,
5. sampling,
6. research
▪ First, the information needed must be identified, by asking a series of questions, such as:
1. What business functions are supported by the current system?
2. What strategic objectives and business requirements must be supported by the new
system?
11/10/2022 10
Gathering Requirements
3. What are the benefits and TCO of the proposed system?
4. What transactions will the system process?
5. What information do users and managers need from the system?
6. Must the new system interface with legacy systems?
7. What procedures could be eliminated by business process reengineering?
8. What security issues exist?
9. What risks are acceptable?
10. What budget and timetable constraints will affect systems development?
▪ To answer these questions
▪ The SA develops a fact-finding plan, which involves answers to some familiar questions:

11/10/2022 11
Gathering Requirements
▪ The SA develops a fact-finding plan, which involves answers to some familiar questions:

11/10/2022 12
Gathering Requirements: Other Techniques
▪ Before or after interviewing, systems analysts use other requirement gathering techniques,
such as:
1. document review,
2. observation,
3. questionnaires and surveys,
4. sampling,
a. systematic sample would select every tenth customers
b. stratified sample would select five customers from each
c. random sample would select any 20 customers
5. research

11/10/2022 13
Gathering Requirements: Interviews
▪ After identifying the information needed, the interviewing process commences as follows:
1. Determine the people to interview
2. Establish objectives for the interview
3. Develop interview questions
• Open-ended questions encourage spontaneous and unstructured responses
• Closed-ended questions limit or restrict the response
• Range-of-response questions are closed-ended questions with answers limited to a
numeric scale (e.g., likert)
• Avoid leading questions
4. Prepare for the interview
5. Conduct the interview
6. Document the interview
7. Evaluate the interview
11/10/2022 14
Gathering Requirements in Agile Projects
▪ Interviews that focuses on features, user stories, scenarios, and storyboards is used
▪ Feature (epic): is a simple, high-level statement of a requirement
▪ User Stories: represent more fine-grained requirements. A set of user stories forms a feature
▪ Scenario: is a real-world example of how users will interact with the system
▪ Storyboard: is a simple graphic organizer that helps systems analysts visualize the status of a
project
▪ In agile methods, requirements begin as features, which are then split into smaller user
stories, which in turn are refined into scenarios

11/10/2022 15
Representing Requirements
▪ Analysts should document their work according to the following principles:
▪ Record information as soon as it is obtained
▪ Use the simplest recording method possible
▪ Record findings in such a way that someone else can understand them
▪ Organize documentation so related material is located easily
▪ How to Record Requirements
▪ Natural Language: docx, database, xlsx, index card e.g., Volere shell, etc
▪ Diagrams: CASE tools can be used, e.g., Visible Analyst
1. Functional decomposition diagram (FDD) is a top-down representation of a function or
process
2. Business process diagrams (BPD)
3. Data flow diagrams (DFD)
▪ Models: UML
11/10/2022 16
Validating and Verifying Requirements
▪ Validation: Are the correct requirements stated?
▪ Verification: Are the requirements stated correctly?
▪ To answer these questions, the following requirements attributes should be checked:
1. Validity: Does the system provide the functions that best support the customer’s needs?
2. Consistency: Are there conflicting requirements?
3. Completeness: Are all functions required by the customer included?
4. Realism: Can the requirements be implemented given available budget and technology?
5. Verifiability: Can the requirements be checked?
6. Comprehensibility: Is the requirement properly understood?
7. Traceability: Is the origin of the requirement clearly stated?
8. Adaptability: Can the requirement be changed without a large impact on other
requirements?

11/10/2022 17
Validating and Verifying Requirements
▪ To check the former requirement attributes, the following techniques can be used:
1. Requirements reviews: Systematic manual analysis of the requirements
2. Prototyping: Using an executable model of the system to check the requirements
3. Test-case generation: Developing tests for requirements to check testability
4. Automated consistency analysis: Checking the consistency of a structured or formal
requirements descriptions

11/10/2022 18
Tools
▪ Productivity Software: includes automation, word processing, spreadsheet, database
management, presentation graphics, and collaboration software. E.g., MS Office, Google
suite
▪ Personal information manager (PIM) software: includes a personal calendar, a to-do list
with priorities and the capability to check off completed items, and powerful contact
management features. E.g., OneNote, Outlook, Evernote

11/10/2022 19
Bibliography
Scott Tilley, Systems Analysis and Design, 12th ed.
CENGAGE, 2020.
ISBN-10: 0357117816,
ISBN-13: 978-0357117811
https://www.amazon.com/Systems-Analysis-Design-
MindTap-Course/dp/0357117816/

11/10/2022 20
Please, like, share, comment, and subscribe for more videos
Thank you and see you in the next class!

11/10/2022 21

You might also like