Lecture 10 Requirement Engineering Updated
Lecture 10 Requirement Engineering Updated
Lecture 10 Requirement Engineering Updated
Each participant prepares his/her list, different lists are then combined, redundant entries are eliminated,
team is divided into smaller sub-teams to develop mini-specifications and finally a draft of specifications is
written down using all the inputs from the meeting.
Cont…
4. Quality Function Deployment (QFD):
In this technique customer satisfaction is of prime concern, hence it emphasizes on the requirements which
are valuable to the customer.
3 types of requirements are identified –
• Normal requirements –
In this the objective and goals of the proposed software are discussed with the customer. Example –
normal requirements for a result management system may be entry of marks, calculation of results, etc
• Expected requirements –
These requirements are so obvious that the customer need not explicitly state them. Example – protection
from unauthorized access.
• Exciting requirements –
It includes features that are beyond customer’s expectations and prove to be very satisfying when present.
Example – when unauthorized access is detected, it should backup and shutdown all processes.
QFD - Cont…
• The use cases describe the ‘what’, of a system and not ‘how’.
Hence, they only give a functional view of the system.
Use Case
Cont.…
• Use Case
• A use case is the specification of a set of actions performed by a system, which
yields an observable result that is typically of value for one or more actors or other
stakeholders of the system.
• Association
• An Actor and use case can be associated to indicate that the actor participates in
that use case. Therefore, an association correspond to a sequence of actions
between the actor and use case in achieving the use case.
• Actor
• Actors are the entities that interact with a system. Although in most cases, actors
are used to represent the users of system, actors can actually be anything that
needs to exchange information with the system. So, an actor may be people,
computer hardware, other systems, etc.
Cont.…
• System
• The scope of a system can be represented by a system (shape), or sometimes
known as a system boundary. The use cases of the system are placed inside the
system shape, while the actor who interact with the system are put outside the
system. The use cases in the system make up the total requirements of the
system.
• Include
• An include relationship specifies how the behavior for the inclusion use case is
inserted into the behavior defined for the base use case.
• Extend
• An extend relationship specifies how the behavior of the extension use case can
be inserted into the behavior defined for the base use case.
Cont.…
• Generalization
• A generalization relationship is used to represent inheritance relationship
between model elements of same type. The more specific model element share
the same specification with the more general model element but carries more
details in extra.
Writing a Use Case
• Name – A clear verb/noun or actor/verb/noun descriptor that communicates the
scope of the use case.
• Brief Description – A brief paragraph of text describing the scope of the use case.
• Actors – A list of the types of users who can engage in the activities described in the
use case.
• Preconditions – Anything the solution can assume to be true when the use case
begins.
• Basic Flow – The set of steps the actors take to accomplish the goal of the use case. A
clear description of what the system does in response to each user action.
• Alternate Flows – Capture the less common user/system interactions, such as being
on a new computer and answering a security question.
• Post Conditions – Anything that must be true when the use case is complete.
Use Case – ATM Example
• Actors:
• ATM Customer
• ATM Operator
• Use Cases:
• The customer can
• withdraw funds from a checking or savings account
• query the balance of the account
• transfer funds from one account to another
• The ATM operator can
• Shut down the ATM
• Replenish the ATM cash dispenser
• Start the ATM
Use Case – ATM Example
Use Case – ATM Example