Professional Documents
Culture Documents
Se 200 CS L7+8
Se 200 CS L7+8
Software Engineering
Dr. Qurat-ul-Ain
Recap
❖ Agile Methods
❖ Extreme Programming
❖ Scrum
2
Software Process Activities
❖A structured set of activities required to
develop a software system.
Requirement Engineering
4
According to IEEE 830-1993
❖A requirement is defined as:
○ A condition or capability needed by a user
to solve a problem or achieve an objective
❖A requirement is:
○ Capturing the purpose of a system
7
Requirement Engineering
Requirements Engineering (RE) is a set
of activities concerned with identifying and
communicating the purpose of a software-
intensive system, and the contexts in
which it will be used. Hence, RE acts as
the bridge between the real world needs of
users, customers, and other
constituencies affected by a software
system, and the capabilities and
opportunities afforded by software-
intensive technologies
8
Requirement Abstraction
“If a company wishes to let a contract for a large
software development project, it must define its needs
in a sufficiently abstract way that a solution is not
pre-defined. The requirements must be written so that
several contractors can bid for the contract, offering,
perhaps, different ways of meeting the client
organization’s needs. Once a contract has been
awarded, the contractor must write a system
definition for the client in more detail so that the client
understands and can validate what the software will
do. Both of these documents may be called the
requirements document for the system.”
Davis 9
Case Study: MentCare
❖ MentCare is a patient information system
to support mental health care is a medical
information system that maintains
information about patients suffering from
mental health problems and the treatments
that they have received.
❖ It makes use of a centralized database of
patient information but has also been
designed to run on a PC, so that it may be
accessed and used from sites that do not
have secure network connectivity.
10
11
Stakeholders and Readers
❖ Patients
❖ Doctors
❖ Receptionist
❖ IT Staff
.
.
.
❖ Healthcare Manger
❖ Medical records staff
“
Functional &
non-Functional
Requirements
13
Functional Requirements
❖ Statements of services the system should
provide, how the system should react to
particular inputs and how the system should
behave in particular situations.
○ May state what the system should not do.
❖ Precision:clarity on requirements
between the customer and software
developer
16
Example of Imprecision
18
Non-Functional Requirements
1. Reliability
2. Response time
3. Memory use
4. Capabilities of I/O devices
5. Data representations
19
Non-
Functional
Requirements
Accepted
failure rate
OS Programming
How the language
system will
be used
MentCare: Non-Functional
Requirements
1. Product Requirements
The Mentcare system shall be available to all clinics during normal
working hours (Mon–Fri, 08:30–17:30). Downtime within normal
working hours shall not exceed 5 seconds in any one day.
2. Organizational Requirements
Users of the Mentcare system shall identify themselves using their
health authority identity card.
3. External Requirements
The system shall implement patient privacy provisions as set out in
HStan-03-2006-priv.
22
Non-Functional Requirements: Issues
24
Software Requirement Document
❖ The software requirements document is the
official statement of what is required of
the system developers.
❖ Should include both a definition of user
requirements and a specification of the
system requirements.
“
Write the following:
1- User Requirements
2- Functional Requirements
3- Non-Functional Requirements
27
The commercial inventory management system is a web-based
application designed to help businesses effectively manage their
inventory, streamline operations, and optimize stock levels. From
a user perspective, the system aims to provide a seamless and
intuitive experience, empowering users to efficiently handle their
inventory-related tasks. The user-friendly interface ensures that
users, regardless of their technical expertise, can easily navigate
through the system and perform the necessary actions.
2/3
The system prioritizes user experience by providing a clean and
organized interface, logical workflows, and helpful prompts or
tooltips throughout the application. The goal is to ensure that
users can perform inventory-related tasks efficiently, saving time
and effort in their day-to-day operations. By offering a user-
centric design, the commercial inventory management system
aims to enhance user satisfaction, increase productivity, and
ultimately contribute to the success of businesses in managing
their inventory effectively.
3/3
Solution: User Requirements
1. Users should be able to track inventory.
2. Users should be able to perform various inventory-
related tasks
3. Users should be able to add, update, and remove
products easily.
4. The system should provide a user-friendly interface
5. The system should be accessible through web browsers
6. The system should provide an overview dashboard with
key metrics and alerts.
7. The system should support barcode scanning or bulk
upload options for efficient product management
8. Users should be able to generate various reports related
to inventory and performance analysis
31
Solution: Functional Requirements
34