Software Engineering Chapter 4
Software Engineering Chapter 4
• 5. Inception Task
• 8. Detailed Discussion
What is Requirement Engineering?
• The process to gather the software requirements from customers, analyze and document
them is known as requirement engineering.
Assessing feasibility
• 3. Use Cases
• 4. User stories
• Any person who benefits directly or indirectly from the system being developed is a
stakeholder.
• Ex: Business operations managers, product managers, marketing people, internal and external
customers, end-users, consultants, product engineers, software engineers, developers, testers and
support/maintenance engineers are the usual stakeholders.
• Each stakeholder sees the system differently, gains different benefits when the system is successfully
developed.
• Because there are so many different stakeholders, the system’s requirements will be
examined from various perspectives.
• Each of these stakeholders will contribute data to the requirements engineering process.
• You should categories all stakeholder information so that decision-makers can select an
consistent set of requirements systems for the system.
Establishing Ground Work
• 3. Working towards collaboration
• If there are five stakeholders involved in a software project, there may be five different
opinions on the set of requirements.
• Customers must work together with software development team to create a successful
system.
• At the end project head & requirement engineer may decide on which requirements are
accepted.
Establishing Ground Work
• 4. Asking the first questions: (For identifying stakeholders)
• The first set of questions are focuses on the customer, stakeholders as well as the overall
project goals and benefits.
1. Who is the person or organization behind the request for this work?
2. Who will make use of the solution?
3. What is the economic value of successful solution?
4. Is there a different source for the solution you require?
Establishing Ground Work
• 4. Asking the first questions: (Understanding Problems & Solutions)
• Following set of questions helps in gaining a better understanding of the problem and allows
the customer to express his or her thoughts on a solution:
Types of Requirements:
• Functional Requirements
These requirements are specified by the These requirements are specified by the
user. software developers, architects and
technical persons.
Describe what the product does Describes how the product works
First completion of functional requirements While system will not work only with non-
allows the system to perform non- functional requirements.
functional requirements.
Examples
Examples of Functional Requirements:
1. In hospital management system, a doctor should be able to retrieve the information of his patients.
4. Only managerial level employees have the right to view banking revenue data.
1. Security, Logging, Storage, Configuration, Performance, Cost, Interoperability, Flexibility, Disaster recovery,
Accessibility.
2. Employees never allowed to update their salary information. Reported to the administrator.
3. A website should be capable enough to handle 20 million users with affecting its performance.
4. The software should be portable. Moving from on OS to other OS does not create any issue.
Requirement Engineering Tasks:
Inception Task:
• Purpose – Gathers basic details about the project, such as goals, future,
and key stakeholders.
• 4. Negotiation – Settlements and conflict resolutions regarding project deliver, cost, and resource
availability.
• 6. Validation – Checking if the requirements are correctly documented and if there are any
missing requirements.
• 5. Specification – Creating source documents with detailed diagrams and data dictionaries.