Version: 1.0.0
Table
of Contents
XML based SRS (Software Requirements
Specification)
Non-Functional Requirements section
U1 : Requirements Analyst Creates
New SRS
U2 : Requirements Analyst Adds
Business Rules Parent Element
U3 : Requirements Analyst Adds
Non - Functional Requirement(s)
U4 : Requirements Analyst Adds
Use Case Tree
U5 : Requirements Analyst Generates
Documentation
U6 : Requirements Analyst Adds
Section
U7 : Requirements Analyst Adds
Actor
U8 : Requirements Analyst Adds
Use Case
U11 : Requirements Analyst Adds
Business Rule/Requirement
U12 : Requirements Analyst Adds
Software Component
U13 : Requirements Analyst Adds
Paragraph
U14 : Requirements Analyst Adds
Image
U15 : Requirements Analyst Adds
Reference
U18 : Requirements Analyst Adds
Action
U19 : Requirements Analyst Adds
Reaction
U20 : Requirements Analyst Edits
Property
The SRS plugin is meant to provide an intuitive means to edit an XML based Software Requirements Specification.
The xml schema used to build the SRS plugin is derived from work initiated by Gregory Vincic at http://xmlbasedsrs.tigris.org
The schema derives from the growing consensus that requirements can effectively be identified through Use Cases. The use case strategy of asking "What do you need to accomplish with this system?" keeps users and developers focused on visualizing how the application ought to perform a required function. Eventually, well-written Use Cases start to look similar to a Users Manual, leading to the secondary function of the SRS, the generation of a skeletal User's Manual in a format suitable for editing on any platform. Additionally the plugin supports traceability throughout the development process by tracking which components "realize" the Use Cases.
Figure 1 - GUI Prototype of SRS Plugin
Figure 2 - SRS Use Case Map
Create new Software Requirements Specification document.
|
|
|
|
|
Selects .. --> New --> Srs Model |
|
|
|
|
|
New Srs Model Wizard is displayed. |
|
|
|
|
|
|
Changes default filename (maintaining srs extension) and ensures correct project folder is selected. |
|
|
|
|
|
|
|
Prompts for Model Object to use as base element. |
|
|
|
|
|
|
|
|
Selects Project |
|
|
|
|
|
|
|
|
|
SRS document is created and displayed in Navigation pane. |
|
|
|
|
|
|
|
|
|
|
Navigates to Project Element |
|
|
|
|
|
|
|
|
|
|
|
Project properties are displayed in the Properties view |
|
|
|
|
|
|
|
|
|
|
|
|
Enters project name |
|
|
|
|
|
|
|
|
|
|
|
|
|
System updates model and display with new project title |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Enters initial version for project |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
System updates model |
Business Rules are grouped separately under a single parent element
|
|
|
|
|
Selects New Child from Project Element |
|
|
|
|
|
A Business Rules Element is added to the model and the display is updated. |
|
|
|
|
Selects New Sibling from either top Level Section, Use Case Tree. Non-Functional Requirments or Components |
|
|
|
|
|
A Business Rules Element is added to the model and the display is updated. |
The Project Non-Functional Requirements Element contains information regarding requirements not captured in the use cases, like performance and adherance to standards.
R2 : |
There can be only one Non-Functional Requirements Element per document. |
|
|
|
|
Selects New Child from Project Element |
|
|
|
|
|
A Non-Functional Requirements Element is added to the model and the display is updated. |
|
|
|
|
Selects New Sibling from either top Level Section, Use Case Tree. Business Rules or Components |
|
|
|
|
|
A Non-Functional Requirements Element is added to the model and the display is updated. |
The Project Use Case Tree Element contains all the Projects Use Cases as well as the catalog of actors.
R3 : |
There can be only one Use Case Tree Element per document. |
|
|
|
|
Selects New Child from Project Element |
|
|
|
|
|
A Use Case Tree Element is added to the model and the display is updated. |
|
|
|
|
Selects New Sibling from either top Level Section, Non-Functional Requirements. Business Rules or Components |
|
|
|
|
|
A Use Case Tree Element is added to the model and the display is updated. |
The end goal of the SRS is to produce sophisticated reports, user's manual and online help
|
|
|
|
|
Selects .. Eclipsesrs Editor --> Generate Introductory HTML |
|
|
|
|
|
System produces an introductory html page with navigational links to other documents and images |
|
|
|
|
Selects .. Eclipsesrs Editor --> Generate Printable HTML |
|
|
|
|
|
System produces a niceley formatted html report detailing the requirements/business rules and use cases |
|
|
|
|
Selects .. Eclipsesrs Editor --> Generate Help Plugin |
|
|
|
|
|
System produces a zip archive containing an eclipse help plugin for the system described in the SRS document |
Sections are general purpose containers that can contain descriptive or explanatory informatioin as well as inline images.
R4 : |
Sections may contain an arbitrary mix of text(para) and image elements |
|
|
|
|
Selects New Child from Project, Non-Functional Requirments, Use Case Tree, Action, Requirements or Compnents element |
|
|
|
|
|
A Section Element is added to the model and the display is updated. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Selects New Sibling from either Non-Functional Requirements. Use Case Tree, Business Rules, Components, Reaction or Component |
|
|
|
|
|
Processing continues as in above reaction . |
Add an actor to the Actor catalog beneath the Use Case Tree Element.
|
|
|
|
|
Selects New Child from Use Case Tree Element |
|
|
|
|
|
An Actor Element is added to the model and the display is updated. |
|
|
|
|
Selects New Sibling from either Actor or Use Case |
|
|
|
|
|
Processing continues as in above reaction . |
Add a Use Case beneath the Use Case Tree Element.
R5 : |
A Use Case must have a valid Id, Title, Description, status and associated Actor to be valid. |
|
|
|
|
Selects New Child from Use Case Tree Element |
|
|
|
|
|
An Use Case Element is added to the model and the display is updated. |
|
|
|
|
|
|
|
|
|
|
|
|
[Adds Reference] Adds Actor(required), Business Rule and Component references
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[Edits Property] Selects Status
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Selects New Sibling from either Actor or Use Case |
|
|
|
|
|
Processing continues as in above reaction . |
Add any constraints on the Use Case as requirements.
|
|
|
|
|
Selects New Child from Business Rules/Requirements Element |
|
|
|
|
|
A Business Rule/Requirement Element is added to the model and the display is updated. |
|
|
|
|
|
|
Edits the Id
|
|
|
|
|
|
|
Edits the Description
|
|
|
|
|
|
|
Edits the source of the Business Rule/Requirement
|
|
|
|
|
|
|
Selects the Status
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Selects New Sibling from Business Rule/Requirement |
|
|
|
|
|
Processing continues as in above reaction . |
Here is where references to the software components that realize the use case can be referenced.
|
|
|
|
|
Selects New Child from Components Element |
|
|
|
|
|
A Component Element is added to the model and the display is updated. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Selects New Sibling from Component Element |
|
|
|
|
|
Processing continues as in above reaction . |
This is an html paragraph marker, useful for separating ... well ... paragraphs ... in generated documentation.
|
|
|
|
|
Selects New Child from Section Element |
|
|
|
|
|
A Paragraph Element is added to the model and the display is updated. |
|
|
|
|
|
|
|
|
|
|
Selects New Sibling from either Paragraph or Image Element |
|
|
|
|
|
Processing continues as in above reaction . |
References to Images can be inserted into the Section Data to illustrate concepts or display Use Case and other diagrams, etc.
|
|
|
|
|
Selects New Child from Section Element |
|
|
|
|
|
An Image Element is added to the model and the display is updated. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Selects New Sibling from either Paragraph or Image Element |
|
|
|
|
|
Processing continues as in above reaction . |
Relations can exist between Use Cases, Actors, Business Rules/Requirements and Components
|
|
|
|
|
Selects Actor Property |
|
|
|
|
|
List of Actors is displayed |
|
|
|
|
|
|
Selects appropriate Actor |
|
|
|
|
|
|
|
Actor Reference is added to current Element and properties view is updated |
|
|
|
|
Selects Usecase property |
|
|
|
|
|
selection "ellipsis" is displayed |
|
|
|
|
|
|
Clicks "ellipsis" |
|
|
|
|
|
|
|
Selection widget is displayed |
|
|
|
|
|
|
|
|
User selects desired Elements |
|
|
|
|
|
|
|
|
|
Elements are highlighted |
|
|
|
|
|
|
|
|
|
|
Adds or Removes as necessary |
|
|
|
|
Selects Business Rule/Requirement |
|
|
|
|
|
Processing continues as in above reaction . |
|
|
|
|
Selects Component |
|
|
|
|
|
Processing continues as in above reaction . |
|
|
|
|
Selects Action |
|
|
|
|
|
Processing continues as in above reaction . |
|
|
|
|
Selects Reaction |
|
|
|
|
|
Processing continues as in above reaction . |
|
|
|
|
|
Selects New Child from Use Case Element |
|
|
|
|
|
An Action Element is added to the model and the display is updated. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Selects New Sibling from either Action or Scenario Element |
|
|
|
|
|
Processing continues as in above reaction . |
|
|
|
|
|
|
|
|
|
Elaborate on this Use Case at a later date
|