You are on page 1of 34

SE-200

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

Design & Validation Evolution


Specification
Implementation

What will system


do? 3

Requirements
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 condition or a capability that must be met


or possessed by a system … to satisfy a
contract, standard, specification, or other
formally imposed document …

○ A documented requirement is also called


“requirements artifact”
6
Software Requirements

❖A requirement is:
○ Capturing the purpose of a system

❖ An expression of the ideas to be embodied


in the system or application under
development
○ A statement about the proposed system
■ to which all stakeholders agree
■ must be made true for adequately
solving the customer’s problem

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.

❖ When expressed as user requirements, it


is in natural language
❖ When expressed as system requirements,
it comprises of (a) inputs, (b) outputs and
(c) exceptions in details.
14
MentCare: Functional Requirements

1. A user shall be able to search the


appointments lists for all clinics.

2. The system shall generate each day, for


each clinic, a list of patients who are
expected to attend appointments that day.

3. Each staff member using the system shall


be uniquely identified by his or her 8-digit
employee number.
15
Functional Requirement :
evaluation parameters
❖ Completeness: means that all services
and information required by the user
should be defined.

❖ Consistency: means that requirements


should not be contradictory

❖ Precision:clarity on requirements
between the customer and software
developer
16
Example of Imprecision

A user shall be able to search the appointments lists for all


clinics.

Input: Patient name +


Input: Patient name
Clinic name
Process: search all
Process: search all
appointments in all
appointments in given
clinics
clinics
Non-Functional Requirements
❖ Constraints on the services or functions
offered by the system such as timing
constraints, constraints on the development
process, standards, etc.
❖ Often apply to the system as a whole rather
than individual features or services.

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

Product Organizational External


Requirements Requirements Requirements

broad system all requirements that


specify or constrain requirements derived are
the runtime from policies and derived from factors
procedures in the
behavior of the customer’s and external to the
software developer’s system and its
organizations development process20
Types of 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

The system should be easy to use by medical


staff and should be organized in such a way
that user errors are minimized.
convert

Medical staff shall be able to use all the system


functions after two hours of training. After this
training, the average number of errors made by
experienced users shall not exceed two per hour
of system use.
23
Metrics for specifying
nonfunctional requirements

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.

❖ Itis NOT a design document. As far as


possible, it should set of WHAT the system
should do rather than HOW system should
do it.
26
Case Study


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.

Users can access the system through their web browsers,


eliminating the need for complex installations or software
compatibility issues. Upon logging in, users are greeted with a
dashboard that provides an overview of their inventory status,
including key metrics and alerts. The intuitive navigation menu
allows users to access different modules and functionalities, such
as product management, purchase order creation, sales order
management, and inventory tracking.
1/3
When managing products, users can effortlessly add new
products, update existing ones, or remove discontinued items.
They can input essential product details like name, description,
SKU, price, and quantity, ensuring accurate and up-to-date
information. The system also supports barcode scanning or bulk
upload options to streamline the process of adding or updating
product data.

Users can easily track their inventory in real-time, keeping an eye


on stock movements and monitoring the availability of each item.
This visibility empowers users to make informed decisions about
stock reordering, minimizing stockouts or overstocking situations.
Additionally, users can generate various reports, such as
inventory status reports, sales reports, or profitability analysis
reports, to gain deeper insights into their inventory performance.

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

1. User registration and authentication.


2. Product management (add, update, delete
products).
3. Inventory tracking (stock levels, units sold, units
on order).
4. Purchase order management (generate purchase
orders).
5. Sales order management (create sales orders).
6. Stock movement tracking (receipts, sales,
returns, adjustments).
7. Reporting and analytics (generate inventory
reports, sales reports, performance metrics).
32
Solution: Non Functional
Requirements
1. Performance: The system should have fast response
times, even under heavy user loads.
2. Scalability: The system should be able to handle a
growing number of products, users, and transactions.
3. Security: The system should enforce secure access
control measures and protect sensitive data.
4. Usability: The user interface should be intuitive, easy to
navigate, and provide a seamless user experience.
5. Reliability: The system should be highly reliable,
minimizing downtime and ensuring continuous
availability.
6. Data Backup and Recovery: The system should
regularly back up inventory data and provide
mechanisms for data recovery.
33
Thanks!
Any comment/questions?

34

You might also like