You are on page 1of 4

Lab Experiment 2 Date:

Problem Domain
Objective:
To write and understand problem statement for requirements engineering tasks.

Software Requirements:
CASE Tool
● MS Word

Theory:
Requirement Engineering:
Requirements engineering (RE) refers to the process of defining, documenting and
maintaining requirements in the engineering design process. It is a common role in systems
engineering and software engineering.

Typically, requirements are presented into two level of detail; user and system requirements,
where user need a high-level statements of the requirements, while system developers need a
more detailed system specification. So, user and system requirements are just refer to different
level of detail.

User Requirements:

It describes the services that the system should provide and the constrains under which it must
operate. We don’t expect to see any level of detail, or what exactly the system will do, it’s more
of generic requirements. It’s usually written in a natural language and supplied by diagrams.

System Requirements:

The system requirements mean a more detailed description of the system services and the
operational constrains such as how the system will be used, and development constrains such as
the programming languages.

This level of detail is needed by those who are involved in the system development, like
engineers, system architects, testers, etc.

The software requirements are classified into functional requirements and non-functional
requirements.

Functional Requirements:
It covers the main functions that should be provided by the system. When expressed
as user requirement, they are usually descried in an abstract way.
However, more specific functional system requirement describe the system functions, it’s inputs,
processing; how it’s going to react to a particular input, and what’s the expected output.

SWE-205 Software Requirement Engineering Roll no.


Lab Experiment 2 Date:

Non-Functional Requirements
These are the constrains on the functions provided by the system.
The constrains, like how many process the system can handle (performance), what are the
(security) issues the system needs to take care of such as SQL injections.
The rate of failure (reliability), what are the languages and tools will be used (development),
what are the rules you need to follow to ensure the system operates within the law of the
organization (legislative).

Problem Statement and Problem Definition


Problem statement:
A problem statement is a clear description of the issue, it includes a vision, issue statement, and
method used to solve the problem. A problem statement expresses the words that will be used to
keep the effort focused and it should represent a solveable problem.

How to Write a Problem Statement

A problem statement is a clear concise description of the issue(s) that need(s) to be addressed by
a problem solving team. It is used to center and focus the team at the beginning, keep the team
on track during the effort, and is used to validate that the effort delivered an outcome that solves
the problem statement. It has a specific form:

● Vision - what does the world look like if we solve the problem?
● Issue Statement - one or two sentences that describe the problem using specific issues. It is
not a "lack of a solution" statement. For example, our problem is that we don't have an ERP
system.
● Method - the process that will get followed to solve the problem. For example, DMAIC or
Kaizen.

1. Product Function: A short description of the functions to be performed by the software.


This description must be in a form understandable to users/clients and operators.

2. User Characteristics: An indication of general user characteristics, in as far as these are


relevant for the requirements specification. Experience, training and technical expertise of
future users may influence specific requirement of the system to be developed.
3. General Constraints: Other factors that impose constraints on the software product
(hardware limitations, policies, interfaces to other application software, networks).

Problem Definition:
Defining the problem is the most important part of the software development cycle. If the
requirements and parameters of the problem are clearly understood then the actual output of the
development program (process) is far more likely to meet the expected output.

Sample Example: Write problem statement for Library Management System.

SWE-205 Software Requirement Engineering Roll no.


Lab Experiment 2 Date:

Problem Statement:
The library management system is software, which automates the job of a librarian.
1.1 The user can inquire about the availability of a book in which he can search by
entering the author’s name or by entering the title of the book.
1.2 The user can borrow a book. He must provide the username and the card number,
which is unique and confidential to each user. By confirming the authenticity of a
user, the library management system provides information about the number of books
already borrowed by the user and by referring to the database whether the user can
borrow books or not. The library management system allows the user to enter the title
and the author of the book and hence issues the book if it is available.
1.3 By entering the user details and the book details the user can return the borrowed
book.
Product Functions:
● Enquire about the availability and status of books.
● Search the availability of book by entering the title of the book.
● Search the availability of book by entering the author of the book.
● The software validates the authentic user by extracting their user name and password.
● After the validation of the user software allows the user to borrow a maximum of three books
based on the number of books which where already borrowed.
● After the validation of the user software allows the user to return the books, which where
borrowed.

User characteristics:
● The intended users of this software need not have specific knowledge as to what is the
internal operation of the system. Thus the end user is at a high level of abstraction that allows
easier, faster operation and reduces the knowledge requirement of end user

● The Product is absolutely user friendly, so the intended users can be the naïve users.
● The product does not expect the user to possess any technical background. Any person who
knows to use the mouse and the keyboard can successfully use this product.

General Constraints:
The user has a unique username and password, there are no options to retrieve a password or
username in case it is forgotten or lost hence the user is requited to remember or store the
username and password.

Exercise

SWE-205 Software Requirement Engineering Roll no.


Lab Experiment 2 Date:

Write down the Problem Statement for the following projects


● ATM (Automated banking system)
● Airline reservation system

SWE-205 Software Requirement Engineering Roll no.

You might also like