Creating a new project Select traditional template and click OK. The Project Properties window opens...
60
RequisitePro Tutorial
Creating a new project Select traditional template and click OK. The Project Properties window opens as shown in the figure bellow. Software Requirement
Creating a new project Select traditional template and click
OK. The Project Properties window opens as shown in the figure
bellow. Software Requirement Specification and Rational
RequisitePro2
Slide 3
Creating a new project Enter the name of the project, select a
directory, select a database, and optionally provide a description.
Use the built-in Microsoft Access database. This is also the
location where you would select a suitable SQL Server or Oracle
solution. Click Properties to define the login and database
identities. Software Requirement Specification and Rational
RequisitePro3
Slide 4
Packages Once the project template has been copied into your
new document, a window similar to the one shown in the figure below
appears. Software Requirement Specification and Rational
RequisitePro4
Slide 5
RequisitePro explorer window The figure below shows a document
with the software requirements section expanded. Software
Requirement Specification and Rational RequisitePro5
Slide 6
Project packages The packages within a RequisitePro project are
used to organize the different components in the project. Packages
can contain one or more of information: Requirements: the main data
type in the project. Documents: based on a template, a bare
document or the requirements list. Views: views, based on separate
queries, of the list of requirements. For example, in the
traditional project template there are three packages used to
record different requirement information: Software requirements:
the final list of requirements that are used for the project.
Features and vision: the list of features for the project.
Stakeholder requests: the list of requests for features from
stakeholders. Software Requirement Specification and Rational
RequisitePro6
Slide 7
Creating a new package To create a new package to help track
developer requirements in the project: Right-click in the explorer
and select New > Package or select the same option from the File
menu. A window opens, as shown in the figure in next slide. Give
the package a name. You're creating a Developer Requirements
section so enter Developer Requirements into the Name field. In the
Description field, enter Requirements specified by the developer
based on stakeholder and user requirements. Software Requirement
Specification and Rational RequisitePro7
Slide 8
Package properties Software Requirement Specification and
Rational RequisitePro8
Slide 9
Creating requirements within RequisitePro Start by building a
list of requirements. The steps below show you how to add the first
of the recipe database requirements to the project; add the other
three using the same method. To create the first recipe database
requirement: Right-click within the tree and select New >
Requirement, or select the same menu option from the main File
menu. A window like the next figure opens. Software Requirement
Specification and Rational RequisitePro9
Slide 10
Creating requirements within RequisitePro (cont) Specify the
requirement type. This is a notional marker that highlights the
requirement as a specific type but has no bearing on where the
requirement is stored. The type affects what attributes are stored
with the attribute and ultimately that information is used in
queries and views to link and trace the sequence and source of
information through the system. For the purposes of this walk
through, use the Software Requirement type. Give the requirement a
name. This should be enough to identify the item within the system.
Enter Recipe Entry in the Name field. You can also attach a more
detailed description in the Text field. Cut and paste the text The
user should have the ability to enter a recipe into the database
into this field. Software Requirement Specification and Rational
RequisitePro10
Slide 11
Requirement properties All requirements are recorded within a
folder. This can either be the root folder (not generally
recommended) or one of the packages. Because you are creating basic
software requirements at this stage, click Browse and select the
Software Requirements folder. Software Requirement Specification
and Rational RequisitePro11
Slide 12
Adding further requirements Repeat this sequence with the
remaining requirements from the list, as outlined in this table.
All the requirements should be stored within the same Software
Requirements folder and all should be of the Software Requirement
type. NameText Recipe data A recipe consists of the recipe name, a
number of servings, a subtitle/description, a list of ingredients
and a list of methods. Recipe search The user should be able to
search for a recipe by name, description or ingredients. Recipe
scaling The user should be able to change the number of servings
for a recipe and have the ingredient quantities re-calculated.
Software Requirement Specification and Rational RequisitePro
12
Slide 13
The final list of requirements The list should look like the
one shown in the figure bellow. Software Requirement Specification
and Rational RequisitePro13
Slide 14
Adding further requirements You can see from the previous
figure that each requirement is given a unique reference number.
These numbers are used to help track and trace requirements through
the system. Software Requirement Specification and Rational
RequisitePro14
Slide 15
Alternative requirement types The project template you are
using includes a number of pre-defined requirement types:
Requirement types define the attributes and other information that
is stored with a requirement in the database. Requirement types are
configured on a project-by- project basis or within a project
template. Software Requirement Specification and Rational
RequisitePro15
Slide 16
Add or change requirement type: Project properties To add or
change the type definitions: Open the properties for the project
either by right- clicking on the project and choosing Properties or
by double-clicking on the root project. A project properties window
appears like the one shown in the figure bellow. Software
Requirement Specification and Rational RequisitePro16
Slide 17
Add or change requirement type: Requirement types tab Click the
Requirement Types tab. Software Requirement Specification and
Rational RequisitePro17
Slide 18
Add or change requirement type: The requirement types tab To
add a new type, click the Add or edit an existing type. You can see
from the previous figure that a Developer Requirement type has been
added. The basic properties for this type are shown in the figure
below. Software Requirement Specification and Rational
RequisitePro18
Slide 19
Add or change requirement type: alternative requirement types
Duplicate the information in the previous window to create the
Developer Requirement type. The color and style are used when
viewing the requirements in reports and documents so you can use
this to help identify the type. Software Requirement Specification
and Rational RequisitePro19
Slide 20
Requirement attributes Flowing is a list of the attributes
defined within the project for the Software Requirement: Priority:
High, Medium or Low. Type: the type of requirement (usability,
performance, etc). Status: whether the requirement has been
approved or incorporated into the project. Difficulty: a rough
guide to the difficulty that would be experienced to achieve the
requirement. Stability: a guide to the stability of the requirement
within an active project. Software Requirement Specification and
Rational RequisitePro20
Slide 21
Requirement attributes (cont) Risk: a guide to the risk
associated with implementing the project. For example, there might
be a high developmental risk if the requirement would require
changes to other parts of the system (thereby reducing stability).
Enhancement Request: the information sourced from a Rational
project if this RequisitePro project is part of a Rational project.
Defect: generated by a Rational project during defect
management/testing. Contact Name: for the source of the
requirement. Obsolete: an indication of whether the requirement is
obsolete. Software Requirement Specification and Rational
RequisitePro21
Slide 22
Specifying the attributes for a requirement type Add a
development team field to the Developer Requirement type: Open the
project properties. Change to the Attributes tab (shown in the
figure in the next slide) and then select the Developer Requirement
type from the window. A list of the attributes currently defined
for the type will shown. Software Requirement Specification and
Rational RequisitePro22
Slide 23
Specifying the attributes for a requirement type Software
Requirement Specification and Rational RequisitePro23
Slide 24
Adding an attribute to a requirement type Click Add. Attributes
have a label (the field name you'll populate when you create a
requirement), a type, and an optional list of values that are used
within a popup or list. The type is a field type just as in a
database and can be an integer, floating point, text string, date,
time, URL or a list, either single or multiple selection. Select
the List (Single Value). Populate the list using the information
shown in the figure in the next slide. Use Return to separate the
values. Software Requirement Specification and Rational
RequisitePro24
Slide 25
Adding an attribute to a requirement type Software Requirement
Specification and Rational RequisitePro25
Slide 26
Creating requirement documents If you select to generate the
requirements in Word, it is probably a good idea to generate and
record all requirements directly within Word, although it's
certainly not a requirement. To generate requirements from within a
Word document: Generate a new document, or open an existing
document if one was created as part of an existing project
template. To create a new document, select File > New >
Document or right-click on the tree view of the project and select
the same options. A window opens as shown in the figure in the next
slide. Software Requirement Specification and Rational
RequisitePro26
Slide 27
Document properties window Software Requirement Specification
and Rational RequisitePro27
Slide 28
Creating requirement documents Enter a name for the document
(as it appears in the project) and provide a description of what
the document contains. You'll be using a document for your
Developer Requirements specification so name the document
accordingly. As you can see from the sample, this document was
created in a new package that has not been created yet, so create
it in the root package. For the document type, select the Software
Requirements specification. This creates a document using the
corresponding Word template. Click OK to create the document and
open the template within Word. Software Requirement Specification
and Rational RequisitePro28
Slide 29
Populating the document Software Requirement Specification and
Rational RequisitePro29
Slide 30
Adding requirements from within Word A new toolbar is available
within Word when you are editing a RequisitePro document (see the
figure below). You'll need this or the RequisitePro menu as you
create requirements directly in the document. Software Requirement
Specification and Rational RequisitePro30
Slide 31
Adding requirements from within Word (cont) To create a
requirement within the document: Enter the text description for the
requirement directly into the Word document. Enter The Database
will hold information about the recipe, recipe ingredients and
recipe method for this example. Select the text you just typed into
the document and then click New Requirement (the first square
bracket ([]) button), or select New Requirement from the
RequisitePro menu. Enter a name for the requirement, specify the
requirement type, and ensure that the Package and Location
information within the requirement properties are correct (see the
figure in next slide). These last two properties should
automatically be populated based on the location of the document
you are editing. Software Requirement Specification and Rational
RequisitePro31
Slide 32
Adding requirements from within Word (cont) Software
Requirement Specification and Rational RequisitePro32
Slide 33
Adding requirements from within Word The document text you
selected is replaced with the requirement text - specially tagged
within the document so that it can be updated by RequisitePro.
Meanwhile, the text you selected is submitted into the RP database.
Note that the item is marked as pending until you save and close
the document within Word. Part of the save process imports all of
the information into the RequisitePro database. Software
Requirement Specification and Rational RequisitePro33
Slide 34
Importing an existing requirements document To import an
existing document into a project: Click File > Import in
RequisitePro. Select the Microsoft Word Document radio button and
use the browser to locate the document you want to import. To parse
the document contents and import requirements into the project,
select Requirements only. To import the requirements and then add
the document as a document within the project, select Requirements
and document. Alternatively, use RequisitePro to trace and track
changes to any Word document that might be related to the project.
Either way, select Document only. Software Requirement
Specification and Rational RequisitePro34
Slide 35
Importing an existing requirements document (cont) Click Next.
If you've chosen either of the Document options, then you need to
specify the same document options as if you were creating a new
document, such as the document name, package location, and document
type. Click Next to continue the import process. If you have opted
to import requirements and parse the contents, the Import Wizard
window appears as shown in the figure in next slide. Software
Requirement Specification and Rational RequisitePro35
Slide 36
Importing an existing requirements document (cont) Software
Requirement Specification and Rational RequisitePro36
Slide 37
Importing an existing requirements document (cont) Specify how
the system parses the content. Use keywords to identify paragraphs
and sentences that define requirements and text delimiters, or use
Word styles to identify the requirements in the source document.
Once you've selected the system to use, click Next. You'll be asked
to approve each matched requirement. Select Yes to all to accept
all of the matching requirements once you have verified the basic
layout. Software Requirement Specification and Rational
RequisitePro37
Slide 38
Exporting requirements into a Word document To generate a Word
document based on the database contents, click File > Export.
You must first choose a View from the explorer to select which
requirements are exported into the document. Views are discussed
next. Software Requirement Specification and Rational
RequisitePro38
Slide 39
Views Views in RequisitePro use standard query techniques on
the database of requirements to show information and relationships.
Each view is composed of the query that generates the information
to be displayed and the view type. There are four predetermined
formats for viewing the information as follows: Traceability
Matrix: a matrix table, showing the relationship between two
requirements lists. For example, you might want to show the
relationship between the stakeholder requests and the main software
requirements. Software Requirement Specification and Rational
RequisitePro39
Slide 40
Views (cont) Traceability Tree (Traced into): a tree showing
how requirements relate to the specified requirement. For example,
you might want to show a tree that describes how stakeholder,
developer, and other requirements related to the main software
requirements. Traceability Tree (Traced out of): a tree showing the
requirements traced from the specified requirement type. For
example, you might want to show all the requirements traced from a
stakeholder request. Attribute Matrix: a simple table of
requirements and their attributes. Software Requirement
Specification and Rational RequisitePro40
Slide 41
Creating a new view Views can be created anywhere within the
project structure, but typically they are created to show specific
information within a package. These packages can either be those
relating to specific requirement types, as in Stakeholder Requests
or Developer Requirements, or they can be packages specially
designed to collate and view information. To create a new View:
Right-click anywhere in the tree view and click New > View or
select the same option from the File menu. The view properties
window will be shown as shown in the figure in the next slide.
Software Requirement Specification and Rational RequisitePro41
Slide 42
Creating a new view (cont) Software Requirement Specification
and Rational RequisitePro42
Slide 43
Creating a new view (cont) You're creating a simple Attribute
Matrix view for the Developer Requirements type created earlier in
this tutorial, so name the view All Developer Requirements and for
the description, enter Developer Requirements attribute view. Make
sure the Developer Requirements package has been selected. Select
Attribute Matrix as the View Type. Select Developer Requirement for
the Row Requirement Type. This option selects which requirement
types to show within the view. Click OK. Once the view has been
created, RequisitePro explorer changes to this view as shown in the
figure in next slide. Software Requirement Specification and
Rational RequisitePro43
Slide 44
Creating a new view: the RequisitePro explorer Software
Requirement Specification and Rational RequisitePro44
Slide 45
View queries Queries within a view allow you to customize the
information that is being displayed. To create a view that displays
only the high-priority developer requirements: Right-click anywhere
in the tree view and select New > View or choose the same option
from the File menu. Name the view High Priority Developer
Requirements. Select the Developer Requirements package. Select
Attribute Matrix as the View Type. Select Developer Requirement for
the Requirement Type. Click Query to get the query builder window.
Click Cancel in the initial window to focus on the query building
process (see the figure in the next slide). Software Requirement
Specification and Rational RequisitePro45
View queries: selecting the requirement type and attribute to
filter Add new criteria to the query by clicking Add and selecting
the requirement type and attribute to filter. Make sure Developer
Requirement is selected and then choose the Priority attribute from
the list (see the figure bellow). Software Requirement
Specification and Rational RequisitePro47
Slide 48
View queries (cont) Specify the expected value. The Priority
attribute has a fixed list of values, so you are provided with the
list of these values: You can select All or None of these, or make
multiple selections by clicking on each option as shown in the
figure in the next slide. Make sure only High is selected. You can
also select a sort order (only applicable if you are selecting
multiple list values or working with a value attribute such as
text, integer, or date). Software Requirement Specification and
Rational RequisitePro48
Slide 49
View queries: list of values for the priority attribute Click
OK. Software Requirement Specification and Rational
RequisitePro49
Slide 50
Managing priorities, goals, and other attributes You can 'bulk'
set attributes on a range of requirements by clicking the Set
Attributes button in the toolbar. This sets the attribute value for
the selected attribute column on all the requirements in a given
view to a single value (see the figure bellow). Software
Requirement Specification and Rational RequisitePro50
Slide 51
Software Requirement Specification (SRS) Software Requirement
Specification and Rational RequisitePro51
Slide 52
Software Requirement Specification 1.0 Introduction This
section provides an overview of the entire requirement document.
This document describes all data, functional and behavioral
requirements. 1.1 Goals and objectives Overall goals and software
objectives are described. 1.2 Statement of scope A description of
the software is presented. Major inputs, processing functionality
and outputs are described without regard to implementation detail.
1.3 Software context The software is placed in a business or
product line context. Strategic issues relevant to context are
discussed. The intent is for the reader to understand the 'big
picture'. 1.4 Major constraints Any business or product line
constraints that will impact the manner in which the software is to
be specified, designed, implemented or tested are noted here.
Software Requirement Specification and Rational RequisitePro52
Slide 53
Software Requirement Specification 2.0 Usage scenario This
section provides a usage scenario for the software. It organized
information collected during requirements elicitation into
use-cases. 2.1 User profiles The profiles of all user categories
are described here. 2.2 Use-cases All use-cases for the software
are presented. 2.3 Special usage considerations Special
requirements associated with the use of the software are presented.
Software Requirement Specification and Rational RequisitePro53
Slide 54
Software Requirement Specification 3.0 Data Model and
Description This section describes information domain for the
software 3.1 Data Description Data objects that will be
managed/manipulated by the software are described in this section.
3.1.1 Data objects Data objects and their major attributes are
described. 3.1.2 Relationships Relationships among data objects are
described using an ERD- like form. No attempt is made to provide
detail at this stage. 3.1.3 Complete data model An ERD for the
software is developed 3.1.4 Data dictionary A reference to the data
dictionary is provided. The dictionary is maintained in electronic
form. Software Requirement Specification and Rational
RequisitePro54
Slide 55
Software Requirement Specification 4.0 Functional Model and
Description A description of each major software function, along
with data flow or class hierarchy (OO) is presented. 4.1
Description for Function n A detailed description of each software
function is presented. Section 4.1 is repeated for each of n
functions. 4.1.1 Processing narrative (PSPEC) for function n A
processing narrative for function n is presented. 4.1.2 Function n
flow diagram A diagram showing the flow of information through the
function and the transformation it undergoes is presented. 4.1.3
Function n interface description A detailed description of the
input and output interfaces for the function is presented. Software
Requirement Specification and Rational RequisitePro55
Slide 56
Software Requirement Specification 4.1.4 Function n transforms
A detailed description for each transform (subfunction) for
function n is presented. Section 4.1.4 is repeated for each of k
transforms. 4.1.4.1 Transform k description (processing narrative,
PSPEC) 4.1.4.2 Transform k interface description 4.1.4.3 Transform
k lower level flow diagrams 4.1.4.4 Transform k interface
description 4.1.5 Performance Issues Special performance required
for the subsystem is specified. 4.1.6 Design Constraints Any design
constraints that will impact the subsystem are noted. Software
Requirement Specification and Rational RequisitePro56
Slide 57
Software Requirement Specification 4.2 Software Interface
Description The software interface(s)to the outside world is (are)
described. 4.2.1 External machine interfaces Interfaces to other
machines (computers or devices) are described. 4.2.2 External
system interfaces Interfaces to other systems, products or networks
are described. 4.2.3 Human interface An overview of any human
interfaces to be designed for the software is presented. 4.3
Control flow description The control flow for the system is
presented with reference to Section 5.0 of this document. Software
Requirement Specification and Rational RequisitePro57
Slide 58
Software Requirement Specification 5.0 Behavioral Model and
Description A description of the behavior of the software is
presented. 5.1 Description for software behavior A detailed
description of major events and states is presented in this
section. 5.1.1 Events A listing of events (control, items) that
will cause behavioral change within the system is presented. 5.1.2
States A listing of states (modes of behavior) that will result as
a consequence of events is presented. 5.2 State Transition Diagrams
Depict the overall behavior of the system. 5.3 Control
specification (CSPEC) Depict the manner in which control is managed
by the software. Software Requirement Specification and Rational
RequisitePro58
Slide 59
Software Requirement Specification 6.0 Restrictions,
Limitations, and Constraints Special issues which impact the
specification, design, or implementation of the software are noted
here. 7.0 Validation Criteria The approach to software validation
is described. 7.1 Classes of tests The types of tests to be
conducted are specified, including as much detail as is possible at
this stage. Emphasis here is on black- box testing. 7.2 Expected
software response The expected results from testing are specified.
7.3 Performance bounds Special performance requirements are
specified. Software Requirement Specification and Rational
RequisitePro59
Slide 60
Software Requirement Specification 8.0 Appendices Presents
information that supplements the Requirements Specification 8.1
System traceability matrix A matrix that traces stated software
requirements back to the system specification. 8.2 Product
Strategies If the specification is developed for a product, a
description of relevant product strategy is presented here. 8.3
Analysis metrics to be used A description of all analysis metrics
to be used during the analysis activity is noted here. 8.4
Supplementary information (as required) Software Requirement
Specification and Rational RequisitePro60