XML based SRS (Software Requirements Specification)

Version: 1.0.0


Table of Contents

XML based SRS (Software Requirements Specification) 1

Purpose of Document 4

Project Description. 4

Non-Functional Requirements section. 6

Tree view of use cases. 6

Introduction - Use Cases. 6

U1 : Requirements Analyst Creates New SRS.. 7

U2 : Requirements Analyst Adds Business Rules Parent Element 8

U3 : Requirements Analyst Adds Non - Functional Requirement(s) 9

U4 : Requirements Analyst Adds Use Case Tree. 9

U5 : Requirements Analyst Generates Documentation. 10

U6 : Requirements Analyst Adds Section. 10

U7 : Requirements Analyst Adds Actor 11

U8 : Requirements Analyst Adds Use Case. 11

U11 : Requirements Analyst Adds Business Rule/Requirement 13

U12 : Requirements Analyst Adds Software Component 14

U13 : Requirements Analyst Adds Paragraph. 14

U14 : Requirements Analyst Adds Image. 15

U15 : Requirements Analyst Adds Reference. 15

U18 : Requirements Analyst Adds Action. 17

U19 : Requirements Analyst Adds Reaction. 17

U20 : Requirements Analyst Edits Property. 17


      Purpose of Document


 

Project Description

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.

Just a test

Figure 1 - GUI Prototype of SRS Plugin

Non-Functional Requirements section

NFR1 : The SRS plugin will be platform independent. Any platform Eclipse 3.0 is supported on will be supported by the SRS plugin.

NFR2 : The SRS plugin will be simple to use and understand

Tree view of use cases

Introduction - Use Cases

SRS Plugin Use Case Map

Figure 2 - SRS Use Case Map

U1 : Requirements Analyst Creates New SRS

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

U2 : Requirements Analyst Adds Business Rules Parent Element

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.

U3 : Requirements Analyst Adds Non - Functional Requirement(s)

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.

U4 : Requirements Analyst Adds Use Case Tree

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.

U5 : Requirements Analyst Generates Documentation

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

U6 : Requirements Analyst Adds Section

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.

 

[Edits Property] Edits the Title property

 

[Adds Paragraph] Adds Paragraph

 

[Adds Image] Adds Image

 

Selects New Sibling from either Non-Functional Requirements. Use Case Tree, Business Rules, Components, Reaction or Component

 

Processing continues as in above reaction .

U7 : Requirements Analyst Adds Actor

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 .

U8 : Requirements Analyst Adds Use Case

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 Action] Adds Action(s)

 

[Adds Reference] Adds Actor(required), Business Rule and Component references

R5 :

A Use Case must have a valid Id, Title, Description, status and associated Actor to be valid.

 

[Edits Property] Edits Id

R5 :

A Use Case must have a valid Id, Title, Description, status and associated Actor to be valid.

 

[Edits Property] Edits Title

R5 :

A Use Case must have a valid Id, Title, Description, status and associated Actor to be valid.

 

[Edits Property] Edits Description

 

[Edits Property] Edits Preconditions

 

[Edits Property] Edits Postconditions

 

[Edits Property] Edits Assumptions

 

[Edits Property] Selects Status

R5 :

A Use Case must have a valid Id, Title, Description, status and associated Actor to be valid.

 

[Edits Property] Edits Scenario

 

[Adds Reference] Associates Component(s)

 

[Adds Reference] Associates Business Rule(s)/Requirement(s)

 

Selects New Sibling from either Actor or Use Case

 

Processing continues as in above reaction .

U11 : Requirements Analyst Adds Business Rule/Requirement

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

R6 :

A Business Rule/Requirement must have a valid Id, Description, srs and status to be valid.

 

Edits the Description

R6 :

A Business Rule/Requirement must have a valid Id, Description, srs and status to be valid.

 

Edits the source of the Business Rule/Requirement

R6 :

A Business Rule/Requirement must have a valid Id, Description, srs and status to be valid.

 

Selects the Status

R6 :

A Business Rule/Requirement must have a valid Id, Description, srs and status to be valid.

 

[Adds Reference] Associates UseCase(s)

 

[Adds Reference] Associates Action(s)

 

[Adds Reference] Associates Reaction(s)

 

Selects New Sibling from Business Rule/Requirement

 

Processing continues as in above reaction .

U12 : Requirements Analyst Adds Software Component

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.

 

[Edits Property] Edits the Description

 

[Edits Property] Selects a Category

 

[Adds Reference] Associates Component(s)

 

[Adds Reference] Associates UseCase(s)

 

Selects New Sibling from Component Element

 

Processing continues as in above reaction .

U13 : Requirements Analyst Adds Paragraph

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.

 

[Edits Property] Edits Content

 

Selects New Sibling from either Paragraph or Image Element

 

Processing continues as in above reaction .

U14 : Requirements Analyst Adds Image

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.

 

[Edits Property] Edits Caption

 

[Edits Property] Edits File Reference

 

[Edits Property] Edits Alignment

 

[Edits Property] Edits Width

 

[Edits Property] Edits Depth

 

[Edits Property] Edits Scale

 

Selects New Sibling from either Paragraph or Image Element

 

Processing continues as in above reaction .

U15 : Requirements Analyst Adds Reference

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 .

U18 : Requirements Analyst Adds Action

 

 

Selects New Child from Use Case Element

 

An Action Element is added to the model and the display is updated.

 

[Edits Property] Edits Description

 

[Adds Reference] Associates Business Rule(s)/Requirement(s)

 

[Adds Reference] Associates Use Case(s)

 

Selects New Sibling from either Action or Scenario Element

 

Processing continues as in above reaction .

U19 : Requirements Analyst Adds Reaction

 

 

[Edits Property] Edits Description

 

[Adds Reference] Associates Business Rule(s)/Requirement(s)

U20 : Requirements Analyst Edits Property

Elaborate on this Use Case at a later date