Software 4
Software 4
Requirements elicitation is perhaps the most difficult, most error-prone and most communication
intensive software development. It can be successful only through an effective customer-developer
partnership. It is needed to know what the users really need.
There are a number of requirements elicitation methods. Few of them are listed below –
1. Interviews
2. Brainstorming Sessions
The success of an elicitation technique used depends on the maturity of the analyst, developers,
users and the customer involved.
1. Interviews:
1. In open ended interviews there is no pre-set agenda. Context free questions may be asked to
understand the problem.
2. Brainstorming Sessions:
It is a group technique
It is intended to generate lots of new ideas hence providing a platform to share views
A highly trained facilitator is required to handle group bias and group conflicts.
It’s objective is to bridge the expectation gap – difference between what the developers think they
are supposed to build and what customers think they are going to get.
A team oriented approach is developed for requirements gathering.
Each attendee is asked to make a list of objects that are-
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.
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 unauthorised access.
Exciting requirements – It includes features that are beyond customer’s expectations and
prove to be very satisfying when present. Example – when an unauthorised access is
detected, it should backup and shutdown all processes.
o It is possible to achieve
This technique combines text and pictures to provide a better understanding of the requirements.
The use cases describe the ‘what’, of a system and not ‘how’. Hence they only give a functional view
of the system.
The components of the use case design includes three major things
– Actor, Use cases, use case diagram.
1. Actor – It is the external agent that lies outside the system but interacts with it in some way.
An actor maybe a person, machine etc. It is represented as a stick figure. Actors can be
primary actors or secondary actors.
2. Use cases – They describe the sequence of interactions between actors and the system. They
capture who(actors) do what(interaction) with the system. A complete set of use cases
specifies all possible ways to use the system.
3. Use case diagram – A use case diiagram graphically represents what happens when an actor
interacts with a system. It captures the functional aspect of the system.
System
With the help of the rectangle, we can draw the boundaries of the system, which
includes use-cases. We need to put the actors outside the system's boundaries.
Use-Case
With the help of the Ovals, we can draw the use-cases. With the verb we have to label
the ovals in order to represent the functions of the system.
Actors
Actors mean the system's users. If one system is the actor of the other system, then
with the actor stereotype, we have to tag the actor system.
Relationships
With the simple line we can represent relationships between an actor and use cases.
For relationships between use-case, we use arrows which are labeled either "extends"
or "uses". The "extends" relationship shows the alternative options under the specific
use case. The "uses" relationship shows that single use-case is required to accomplish
a job.
Generally, the use-case diagram contains use-cases, relationships, and actors. Systems
and boundaries may be included in the complex larger diagrams. We'll talk about the
guidelines of the use-case diagram on the basis of the objects.
Do not forget that these are the use case diagram's guidelines, not rules of the use-case
diagram.
Actors
Use-Cases
Systems/Packages
Relationships
o When we are using <<extend>> arrow, points to the base use-case.
o When we are using <<include>> then arrow points to the comprised use-case.
o Actor and use-case relationship do not display arrows.
o <<extend>> may have an optional extension condition.
o <<include>> and <<extend>> both are shown as dashed arrows.
Use-Case Examples
Use-Case Example-Association Link
In this use-case diagram, we show a group of use cases for a system which means the
relationship among the use-cases and the actor.
The use of include and extend is also displayed by the use-case model. In addition,
there are associations that link between the use-case and
actors.
It is not must that every actor has to interact with each and every use-case, but it can
happen.
In the diagram, the name of the second actor is a Teacher. Teacher is an actor that is
able to interact with all the system's functionalities. The teacher actor is also able to
update the student's marks as well as attendance. Theses interactions of student as
well as teacher actors together summarize the whole student management
application.