Oose Unit 2-It
Oose Unit 2-It
2.INTRODUCTION
Requirement?
• A requirement is a specification of a need or want.
A requirement can range from a high level abstract statement of a
service or a system to a detailed mathematical functional
specifications.
Types of requirements:
1
UNIT 2 OOSE 23IT1401
For example,
a) Examples of functional requirements for the MHC-PMS(mental health care
patient management system )used to maintain information about patients
receiving treatment for mental health problems:
2
UNIT 2 OOSE 23IT1401
♦ The user shall able to renew the account using his or her account
details
(ii) Non-Functional Requirements:
▪ They are also called non-behavioral requirements.
▪ It specifies properties and constraints of the system.
▪ The definition for a non-functional requirement is that, it essentially
specifies how the system shouldbehave and that it is a constraint upon
the systems behavior.
▪ Non-Functional Requirements are requirements that are not directly
concerned with the specific services delivered by the system to its users.
▪ Eg, Balance Checking from customer Account
▪ They basically deal with issues like:
− Portability
− Security
− Maintainability
− Reliability
− Scalability
− Performance
− Reusability
− Flexibility
3
UNIT 2 OOSE 23IT1401
4
UNIT 2 OOSE 23IT1401
This broad heading covers all requirements that are derived from
factors external to the systemand its development process.
These may include regulatory requirements that set out what must be
done for the system to be approved for use by a regulator, such as a
central bank;
legislative requirements that must be followed to ensure that the
system operates within the law; and ethical requirements that ensure
that the system will be acceptable to its users and the general public.
Metrics for specifying non-functional requirements:
Characteristics used when the system is being tested to check whether
system has met its non functional requirements or not.
5
UNIT 2 OOSE 23IT1401
2.2 FURPS
FURPS provides a comprehensive framework for assessing software quality
from multiple angles, helping teams prioritize areas for improvement and
meet both user and business needs effectively.
6
UNIT 2 OOSE 23IT1401
7
UNIT 2 OOSE 23IT1401
8
UNIT 2 OOSE 23IT1401
9
UNIT 2 OOSE 23IT1401
10
UNIT 2 OOSE 23IT1401
11
UNIT 2 OOSE 23IT1401
12
UNIT 2 OOSE 23IT1401
Characteristics of SRS:
▪ Correctness
▪ Unambiguous
▪ Specific
▪ Completeness
▪ Traceable
▪ Consistent
2.4 REQUIREMENT ANALYSIS
Requirement analysis is significant and essential activity after elicitation.
We analyze, refine, and scrutinize the gathered requirements to make
consistent and unambiguous requirements. This activity reviews all
requirements and may provide a graphical view of the entire system.
After the completion of the analysis, it is expected that the understandability
of the project may improve significantly. Here, we may also use the
interaction with the customer to clarify points of confusion and to
13
P
A
G
E
understand which requirements are more important than others. It includes
following activities: 2
1
a) Requirement discovery
b) Requirement Classification
c) Requirement Prioritization
d) Requirement documentation
(a)Requirement discovery:
Requirement discovery is a process of Interacting with stakeholders to
discover their requirements. Domain requirements are also discovered
at this stage.
P
A
G
E
Various methods of requirement discovery:
2
● Interviewing 1
● Viewpoints
● Scenarios
● Use cases &
● Ethnography
Interviewing
In formal or informal interviewing, the RE team puts questions to
stakeholders about the system that they use and the system to be
developed.
● There are two types of interview
● Closed interviews where a pre-defined set of questions are answered.
Defined set of questions areanswered.
● Open interviews where there is no pre-defined agenda and a range of
issues are explored withstakeholders.
Scenarios
Scenarios are real-life examples of how a system can be used. They should
include
● A description of the system
● A description of the starting situation;
● A description of the normal flow of events;
● A description of what can go wrong;
● Information about other concurrent activities;
● A description of the state when the scenario finishes.
Viewpoints:
Viewpoints are a way of structuring the requirements to represent the
perspectives of different stakeholders. Stakeholders may be classified
under different viewpoints.
P
A
G
E
2
1
Use cases:
− Use-cases are a scenario-based technique in the UML which
identify the actors in an interaction and which describe the
interaction itself.
− Set of use cases should describe all possible interactions the system.
P
A
G
E
Ethnography
2
− It is a technique of observation which is used to understand social and 1
organizational requirements.
− Two types:
● Requirements obtained from working style of people
● Requirement obtained from interactivities performed by people.
(b) Requirements classification
• Groups related requirements and organizes them into coherent
clusters.
(c) Requirements Prioritization
• Prioritizing requirements and resolving requirements conflicts.
(d) Requirements documentation
• Requirements are documented and input into the next round of the
spiral.
2.5 DATA FLOW DIAGRAMS (DFD)
The DFD also provides information about the outputs and inputs of each
entity and the process itself. DFD is also known as bubble chart .
It is the starting point of the design phase. A DFD consist of a series of bubbles
joined by lines.
The bubbles represent data transformations and the line represents data flow
in the system.
The DFD is presented in a hierarchical fashion. That is, the first data flow
2
1
2
Level 2: 1
Level 2 DFD:
Estimation of SoftwareProject
● Generally too many variables—human, technical, environmental,
political—can affect the ultimate cost of software and effort applied
to develop it. Software cost, time and effort estimation never be
exactly done till we finish the project.
● Many factors can affect the estimation (human, technical,
environmental, political).
Risk strategy:
Reactive: Proactive:
Action that is taken after the Plan is established and risk is
Risk is occurred. When This predicted/ identified before it
reactive strategy fails, Project is occurs.
in danger.
Categories of risk:
1. Project risks threaten the project plan. That is, if project risks become
real, it is likely that the project schedule will slip and that costs will
increase.
Project risks identify potential budgetary, schedule, personnel (staffing
and organization), resource, stakeholder, and requirements problems
and their impact on a software project.
2. Technical risks threaten the quality and timeliness of the software to be
produced. If a technical risk becomes a reality, implementation may
become difficult or impossible. Technical risks identify potential design,
implementation, interface, verification, and maintenance problems
23IT1401OBJECT ORIENTED SOFTWARE ENGINEERING UNIT II
3. Business risks threaten the viability of the software to be built and often
jeopardize the project or the product. Candidates for the top five
business risks are
✔ Market risk: building an excellent product or system that no one
really wants
✔ Strategic risk :Building a product that no longer fits into the
overall business policy of the company.
✔ Sales risk: Building a product that the sales force doesn’t
understand how to sell.
✔ Management Risk: Loosing the support of senior management due
to a change in focus or a change in people.
✔ Budget risks: Loosing budgetary or personnel commitment
4. Known risks are those that can be uncovered after careful evaluation of
the project plan. (e.g., unrealistic delivery date, lack of documented
requirements or software scope, poor development environment).
5. Predictable risksare extrapolated from past project experience
(e.g., staff turnover, poor communication with the customer, dilution of
staff effort as ongoing maintenance requests are serviced).
6. Unpredictable risksare the joker in the deck. They can and do occur, but
they are extremely difficult toidentify in advance.
Seven Principles of Risk Management:
1. Maintain a global perspective: view software risks within the context of
a system in which it is acomponent and the business problem that it is
intended to solve.
2. Take a forward-looking view: think about the risks that may arise in the
future (e.g., due to changes inthe software); establish contingency plans
so that future events are manageable.
3. Encourage open communication if someone states a potential risk, don’t
discount it. If a risk is proposed in an informal manner, consider it.
Encourage all stakeholders and users to suggest risks at any time.
4. Integrate- a consideration of risk must be integrated into the software
process.
23IT1401OBJECT ORIENTED SOFTWARE ENGINEERING UNIT II
*******************
PART A
1. Write distinct steps in requirement engineering process (M/J 2006)
♦ Feasibility studies ( if the system is useful to the business)
♦ Requirement elicitation and analysis (discovering requirements)
♦ Requirement validation (converting these requirements into some
standard form)
♦ Requirement management (checking that the requirements actually
define the system that the customer wants)
2. Define Software Requirements.
It is a field within software engineering that deals with establishing the
needs of stakeholders that are to be solved by software.
A software requirement can be of 3 types:
o Functional requirements
23IT1401OBJECT ORIENTED SOFTWARE ENGINEERING UNIT II
o Non-functional requirements
o Domain requirements
3. Why SRS must be traceable? What is traceability requirement? (N/D
2005)
There may be chances of having new requirements during development
of the software. traceability is concerned with relationship between
requirements their sources and system design. thus change in
requirements is manageable if SRS is traceable.
4. List the characteristics of Good SRS. (M/J 2016)
Characteristics of SRS:
▪ Correctness
▪ Unambiguous
▪ Specific
▪ Completeness
▪ Traceable
▪ Consistent
5. Differentiate between Functional and Non Functional Requirements
Functional Requirement Non Functional Requirement
Defines functions and features of Define properties and constraints
the software system of the software system
Describes " What the system should Describes " How the system
do?" should do?"
Related to business functionalities Related to performance of the
business
Easy to Test Difficult to test
Related to individual system Related to system as a whole
requirements
Failure to meet Functional Failure to meet non Functional
requirement may degrade the requirement will make the system
system unusable.
23IT1401OBJECT ORIENTED SOFTWARE ENGINEERING UNIT II
o There should not be a direct flow between data store and external
entity.
o The names of data stores, sources and destination should be in
capital letters. Process and data flow names first letter should be
in capital letter.
o The level 0 data flow diagram should depict the software/system as a
single bubble;
o All arrows and bubbles should be labelled with meaningful names;
o Information flow continuity must be maintained from level to level.
o List the notations used in data flow models. ( M/J 2014)
9. What is context level in DFD? Draw the context flow graph of ATM
automation system (N/D 2017)
Level 0 DFD is called context level DFD
10. What are the linkages between data flow and ER diagram.(M/J
2016)
- Both ER diagram and DFD diagrams are system modeling
diagrams.
- But ER diagram is used to represent Data Model
- DFD is used to represent Functional Model
11. Draw use case diagram for an online shopping which should
provide provisions for registering , authenticating the customers
and also for online payment through any payment gateway like
paypal.(N/D'17)
23IT1401OBJECT ORIENTED SOFTWARE ENGINEERING UNIT II
Part B:
1. Explain the metrics used for specifying non functional requirements(8).
(M/J 2013)
2. List the stakeholders and all types of requirements for an online train
reservation system. (N/D 17)
3. i) Differentiate between user and system requirements. (4)
ii) Describe the requirements change management process in detail
(12) (M/J 2016)/
4. What is SRS? Explain in detail the various components of an SRS?
(M/J 2018)/ What are the components of the standard structure for
the software requirements document? Explain in detail. (M/J 2014)/
Write the software requirement specification for a system of your
choice.
5. (i) Explain the organization of SRS and highlight the importance of
each subsection.
(ii) Requirement analysis is unquestionably the most communication
intensive step in the software engineering (M/J 2016)
6. What is Requirement engineering? Explain in detail the various
processes in requirement engineering. (13) (M/J 2017) Explain
Software requirement engineering process with neat diagram. (N/D
2015)/ Write about the following requirement engineering activities
(Inception, Elicitation, Elaboration, Negotiation, Specification,
Validation, Requirement management) (M/J 2015)
23IT1401OBJECT ORIENTED SOFTWARE ENGINEERING UNIT II
7. (i) How will you classify the requirement types for a project , give
example (3)
(ii) List the stake holders and all types of requirements for online
train reservation system (7) (N/D'17)
Soln:
Stake holders:
▪ Passenger
▪ Database Administrator
▪ Booking clerk
▪ Bank
Functional Requirements:
▪ The system should allow the passenger to register and login.
▪ The system should provide search option to the user so that user can
search for required train and for required number of reservations.
▪ Online booking made by the customer must be associated with
customer account registered.
▪ Booking confirmation must be sent to passenger on specified contact
details/ mail id.
▪ The system should allow the user to make online payments.
▪ The system should allow the user to cancel the booking and half of
the amount paid by the customer must be refunded to him/her.
Non Functional Requirements:
▪ The system should be available to the user for 24/7 (availability)
▪ The system should accept the payments via different payment
options like paypal, wallet, cards, net banking etc.
▪ Use of captcha and encryption to avoid bots from booking tickets for
security purpose.
▪ The response time of the system should be less while searching,
booking or cancellation operations.
▪ User Interface should be simple and easy
23IT1401OBJECT ORIENTED SOFTWARE ENGINEERING UNIT II
8. What is the purpose of data flow diagrams? What are the notations used
for the same. Explain by constructing a context flow diagram level -0 DFD
and level-1 DFD for a library management system? (NOV/DEC 2016)
Soln: DFD level 0:
DFD Level 2
23IT1401OBJECT ORIENTED SOFTWARE ENGINEERING UNIT II
9. Draw Use case and Dataflow diagrams for "Restaurant System". The
Activities of Restaurant System are listed below:
Receive the customer food orders, produce the customer ordered foods,
Serve the customer with ordered foods, Collect payment from customers,
Store customer payment details, Order raw materials for food products, pay
for raw materials and pay for labor. (16) (M/J 2015, N/D 2016)
Soln:
Usecase Diagram for "Restaurant System” :
23IT1401OBJECT ORIENTED SOFTWARE ENGINEERING UNIT II
23IT1401OBJECT ORIENTED SOFTWARE ENGINEERING UNIT II
Level 2 DFD:
Here we elaborate “generate management report” activity more in
detail.
23IT1401OBJECT ORIENTED SOFTWARE ENGINEERING UNIT II
● View status
● Logout
Use Case Diagram:
Level 0 DFD:
23IT1401OBJECT ORIENTED SOFTWARE ENGINEERING UNIT II
Level 1 DFD:
11. Tamil Nadu Electricity Board (TNEB) would like to automate its billing
process. Customers apply for a connection( domestic/commercial). EB
staff take readings and update the system each customer is required to
pay charges bu-monthly according to the artes for the type of connection.
Customers can choose to pay either by cash / card. A bill is generated on
payment. Monthly reports are provided to the EB manager. (N/D 2013)
(i) Give a name for the system (1)
23IT1401OBJECT ORIENTED SOFTWARE ENGINEERING UNIT II
Level 1 DFD:
23IT1401OBJECT ORIENTED SOFTWARE ENGINEERING UNIT II
Level 1:
23IT1401OBJECT ORIENTED SOFTWARE ENGINEERING UNIT II
Level 2:
Level 1:
Level 2 DFD:
We can further decompose the system by elaborating the process Assemble
Order.
23IT1401OBJECT ORIENTED SOFTWARE ENGINEERING UNIT II
13. Develop a dataflow diagram for burglar alarm system along with entity
relationship diagram (8)
Level 0 DFD:
Level 1 DFD:
23IT1401OBJECT ORIENTED SOFTWARE ENGINEERING UNIT II
14. Consider the process of ordering a pizza over the phone. Draw the use
case diagram and sketch the activity diagram representing each step of
the process, from the moment you pick up the phone to the point where
you start eating the pizza. Include activities that others need to perform.
Add exception handling to the activity diagram you developed. Consider
at least two exceptions. (Ex: Delivery person wrote down wrong address,
deliver person brings wrong pizza(13). (N/D 2017)
23IT1401OBJECT ORIENTED SOFTWARE ENGINEERING UNIT II
Activity Diagram:
23IT1401OBJECT ORIENTED SOFTWARE ENGINEERING UNIT II
Part C:
1. Model a Dataflow diagram for "Library Management system". State
the functional requirements you are considering(15) (N/D 2017) /
Design DFD for library management system for level 0 and level 1 DFD
(N/D 2016)
Level 1 DFD:
23IT1401OBJECT ORIENTED SOFTWARE ENGINEERING UNIT II
Level 0 DFD:
Level 1 DFD:
23IT1401OBJECT ORIENTED SOFTWARE ENGINEERING UNIT II