Você está na página 1de 15

Requirement Engineering PUGC Sajiya Tariq

University of the Punjab


Gujranwala Campus

<Requirement Engineering>

<Semester 6>
Requirement Engineering PUGC Sajiya Tariq

Assignment <1>

Tool Name <Requirements


Management Database
(ReqDB)>

Submission
Detail
Date 8 Feb,2017
Day Wednesday
Submitted to: Maam Sajiya
Submitted from: Ayesha Maqsood

Q1.Requirements Analysis is one of the most important parts in


Requirements construction phase. Identify the key practices which are done
in the Requirements Analysis phase and briefly explain them.

Answer.

Definition:

<Semester 6>
Requirement Engineering PUGC Sajiya Tariq

Requirements analysis, also called requirements engineering, is


the process of determining user expectations for a new or modified
product. These features, called requirements, must be quantifiable, relevant
and detailed.

Requirement Analysis Phase involves negotiating with customers


of product under consideration to properly get what they want (their
requirements), their needs, their business goals. It is done by using different
practices for analyzing requirements that were gathered in Elicitation phase.
The purpose of the Requirements Analysis Phase is to transform the needs
and high-level requirements specified in earlier phases into traceable,
complete, consistent, and stakeholder-approved requirements.

Analysis Key Practices:


Requirements analysis involves decomposing high-level
requirements into detailed functional requirements, analyzing requirement
feasibility, constructing graphical requirements models, and building
prototypes. Analysis models and prototypes provide alternative views of
requirements, which often reveal errors and conflicts that are hard to spot in
a textual SRS. Another analysis activity is to prioritize requirements. All of
these Key practices are explained below.

1) Analyzing Requirements Feasibility


Clients come to company with their rough idea what they want,
what their system should perform, what they want from their system
should give ease to them.
On the basis of this given information, developers analyze if
their needs are feasible to implement because sometimes customers
comes up with such requirements which is not possible as they
misunderstand what a computer can do. So Feasibility study is
necessary not just in explained perspective but also for different
situations.
The feasibility study has main focus on the goal of an
organization. In analysis, Business Analyst with developers analyze
whether the proposed system is practically materialize in terms of
implementation, if it contribute to organization, what each requirement
will cost at implementation, and risk associated with each requirement
including conflicts and dependencies with other requirements,
dependencies with external factors, and technical obstacles.

<Semester 6>
Requirement Engineering PUGC Sajiya Tariq

The output of this study is often feasibility study report that


contains comments and suggestion for management about whether or
not to work on project.
2) Graphical Requirements Model
A requirements model is a structured representation of requirements,
using a specific modeling language.
An analysis model is a visual representation of the
requirements, in contrast to textual representation of the requirements
specification. A requirements model is a set of diagrams, each of
which focuses on a different aspect of the users' needs. By modeling
requirements we can check requirements from different aspects which
results in revealing incorrect, inconsistent or missing requirements.
These diagrams include Data Flow diagrams, Use Case diagrams,
Scenario diagrams, state-transition diagrams, and others.

3) Create user interface and technical Prototypes


There are situations when users are not confirmed about their
requirements, often they dont know how to explain what they want
from system. In this situation it is preferable to construct prototypes.
A prototype is an initial version of a software system that is used to
demonstrate concepts, try out design options, and find out more about the
problem and its possible solutions. This prototype is developed based on
the currently known requirements. Prototypes give actual feel of the
system, since the interactions with prototype can enable the client to
better understand the requirements of the desired system. Prototypes
helps developers and users to better understand the problems
associated with systems and also validating requirements.

4) Prioritize the Requirements


When customer expectations are high, and time is short,
developers must ensure which functionalities are more crucial or
valuable to deliver as early as possible.
Prioritization is a way to deal with competing demands for limited resources.
Establishing the relative priority of each product enables you
construct high priority requirements first and at low cost. Because
prioritization is relative, prioritization can be done as soon as we came
to know second requirement.
Different prioritization techniques like IN OR OUT, Analytic Hierarchy
Process are used to determine relative implementation priority of
product features, user stories, or functional requirements. Based on the

<Semester 6>
Requirement Engineering PUGC Sajiya Tariq

priority, it is determined that which set of requirements will in included


in new release or increment.

5) Allocate Requirements To Subsystems


For A complex System containing a lot of features and
subsystems, it helps developers to make portions of requirements
among various software, hardware, and human subsystems and
components. This helps to reduce complexity of system and better
understand system requirements.

6) Create Data Dictionary


A data dictionary is a collection of detailed information about
the data entities used in an application. Developers can develop data
dictionary that keeps definition of data item and structures associate
with the system. This enables everyone working on project to use
consistent data definitions. A data dictionary provides a detailed
description for each element or variable in your dataset and data
model. This helps developers to communicate with customers.

Q2.Select any RE Tool and generate report for this tool. Following tasks
should be achieved in this report:

- Detailed overview of your tool


- Screen shots of your user work (or entries in the tool of your project)
- Pros and cons
- Recommendations for the tool

Answer:

RE Tool that I have selected is Requirement Management


Database (ReqDB)

1) Detail Overview of Tool


The Requirement Management Database is database
management tool that keeps requirement of different projects
separately. It is Microsofts product that was developed with
compliance of Pragmatic Marketing and Requirements That Work.
Pragmatic Marketing is a recognized company in technology for
developing product developing and management. And Requirement That
Work from Pragmatic marketing that gives training about repeatable

<Semester 6>
Requirement Engineering PUGC Sajiya Tariq

methods for project planning and delivers solution for unsolved problems
at looking to market and also sell it.

Microsoft says about its product:

The Requirements Management Database is a collaboration tool to help


capture, refine, prioritize, and track the development of a detailed list of
product or project requirements in a living document.

Output file: The output of Requirement Management database is mostly a


Market Requirement Document (MRD), a Product Requirement Document(PRD )
and/or Product Specification.

As name of Requirement Management Database shows that it can


use different databases to store the data of users. This tool can be used
simultaneously by many people to manage requirements. User can retrieve
data from different databases and it uses Microsoft Access for adding
requirements and using different features of this tool. Basically this tool
needs Microsoft Office product Access for accessing features of this tool.
Requirements are stored in user defined files using file extension (.ACCDB),
This file is imported in the tool at opening. Then we can start working on our
older projects as well.

Detail is given with screenshots.

2) Tools Efficiency
ReqDb provides efficiency in many ways. It

Stores requirements in a tables form


Assigns numbers to each requirement to uniquely identify
each requirement.
Allow to copy 24 requirement at a time on clipboard so that
if we want to place requirement at another place after
some other requirements, we would be able to do that.
Provide sorting facility at different features of tool so that
we can see thing in what manner we want.
Separate the discussion thread per requirement.
Import requirements from spreadsheet.
Available as freeware so everyone can use it. Just email
address is required for license.

<Semester 6>
Requirement Engineering PUGC Sajiya Tariq

It does not require any internet connection to use its


features.
3) Pros and Cons
i. PROS
Distribute Requirements to Entire Project Team: With
word or excel, only one user can add, delete, or edit
requirements. But with Requirements Management
Database multiple users can access to requirements and
edit them.
Easily Prioritize and Categorize Requirements: Add
addition of new requirements or after that, user can
prioritize requirements and categorize them. So that to
ensure cohesion across entire development effort. And
exposing a set of requirements to different stakeholders to
their particular interests.
Additional Information Concerning Each
Requirement: With ReqDb requirements are not just
recorded as single line requirement but we can add detail
of each requirement. We can link requirements with
customer interviews (threads), issues, history (captured
automatically) and much more information attributes.
Ensure That ALL Requirements Are Captured :
Requirements will no longer fall through the cracks, get lost
in an email, or go missing whenever a team member
leaves the group.
Ensure That The Whole Of The Customers Problem
Are Solved: We can link requirements to use cases and
end-user personas. With this we can never again release a
bunch of great features only to discover that we still fail to
solve the customers central problem.
Email Facility: At addition of new Stakeholder,
Requirement Management Database ask for email. So
reports can be send to stakeholders using that email on
just one click of button.
ii. CONS:
With ReqDb, requirements that have been deleted once
cannot be retrieved.

<Semester 6>
Requirement Engineering PUGC Sajiya Tariq

Anyone with access to device can use ReqDb by giving


name of any user. So in that sense it does not provide
much security.
Its a comprehensive framework so beginners face problem
to use it.
4) Recommendations
It must ensure privacy for using ReqDb file means anyone
access end device cannot have direct access to file.
As user open ReqDb, it ask about to tell who you are, we
have to tell just a name of stakeholder for using ReqDb,
password feature must be there.

7) Screenshots

How to Start:
One first start of the project, tool ask user about if you want to
open an existing project or want to create a new project, after we select file
to open it ask if you are new user or a registered user. A list is shown to user
to select stakeholder that is going to use project. User can add itself at
clicking Customize>Add New

We can rename stakeholder.

<Semester 6>
Requirement Engineering PUGC Sajiya Tariq

After that User can change the type if he/she is engineer,


database user etc, many of types are available we can also
add new type. To give different access to different
stakeholders it ask for email address to send mail to that
stakeholders that contain requirements related to that
stakeholder.

Features:
This tool offers a lot of features. The mostly used features that I am
able to understand are explained below.

i) Add New Requirements


At opening of project, Requirement Summary window opens in
front of user. There we can add new requirements at clicking Add
new button on left side of this window.

<Semester 6>
Requirement Engineering PUGC Sajiya Tariq

ii) Adding General Information


Besides of just giving name to requirements, there are a lot of
features offered to the user of ReqDB, like setting Priority,
Milestone, Status adding Description of requirements. Also we
can customize every information.

(see screenshot at next


page)

Actually addition of new requirements has total of 7 steps that contains


different information to add about new requirement.

Customize button is used for every information to add a different information


about every general term. We can also omit any field (information) that we
do not want to add. So it does not force user to follow a flow.

<Semester 6>
Requirement Engineering PUGC Sajiya Tariq

iii) Adding a Discussion Thread


Often in interview or brainstorming session of requirement elicitation,
idea for new requirement can come from someone else, so this must not be
omitted also context of that requirement must not loss. So in that
Discussion Thread help us to store discussion associated with that
requirement.

<Semester 6>
Requirement Engineering PUGC Sajiya Tariq

iv) Linking Stakeholders


Stakeholders are group of concerned people. They can be defined for
whole project or for single requirement. It is good to mention stakeholder
with every requirement to separately identify the stakeholder for a
requirement under discussion.

There are multiple options available for Action Required for a linked
stakeholder of a particular requirement. And action for a particular
stakeholder is must to enter. We can also customize the action required
for stakeholder.
We can also email reports to stakeholders using Email Wizard.

v) Grouping Requirements.
Its a poor approach to let readers read requirements that are not
of particular interest of them. They are only interested in the few
requirements that they may consider. So we can group similar requirements
in a Group.

<Semester 6>
Requirement Engineering PUGC Sajiya Tariq

Grouping can be in the basis of Groups like technology (software or


hardware), or by sub groups (e.g. implementation) that are assigned
to a particular requirement.
Every requirement can be linked to multiple groups (as shown in the
figure) but Primary Group (Top row of group and sub group) has
particular significant.

Requirements of particular group can be retrieved using Filter Requirement


Summary Window.

<Semester 6>
Requirement Engineering PUGC Sajiya Tariq

Note: After Hardware is entered in field, only 1 requirement is displayed in


the Requirement Summary Window.

vi) Using Reports


The Reports window allows to generate a wide range of Reports based
upon the set of filtered Requirements and the Requirement Attributes.
The layout of each Report is very flexible. Reports follow the what-you-
see-is-what-you-get (WYSIWYG) format which means that reports will
be generated as we see them.
Reports can be printed or exported to another application such as
Microsoft Word or Excel.
We can also customize report view.
The Report can be converted into an Adobe Acrobat PDF document or a
Microsoft Office Document Image (MDI) when sharing with a group of
people.

<Semester 6>
Requirement Engineering PUGC Sajiya Tariq

<Semester 6>

Você também pode gostar