Process Definition Document
for
MSE 530
Software Requirements Engineering
Table of Contents
1. Introduction 3
1.1Purpose 3
1.2Scope 3
1.3Definition, acronyms, and abbreviation 3
1.4Reference 5
1.5Overview 5
2Requirement Elicitation 6
2.1Process Description 6
2.2Process Guideline 6
2.2.1Requirement Review 6
2.2.2Identify the External Interfaces 6
2.2.3Identify the System Stakeholders 7
2.2.4Extract “shall” requirements 7
2.2.5Analyze Application Domain 8
2.2.6Define Operational Processes 8
2.3Process Script 8
3Requirement Analysis 9
3.1Process Description 9
3.2Process Guideline 9
3.2.1Use Checklist for Requirement Analysis 9
3.2.2Allocate Requirements 9
3.2.3Prioritize Requirements 10
3.2.4Identify Software Use Cases 10
3.2.5Develop Scenarios 10
3.2.6Develop the draft GUI 11
3.3Process Script 11
4Requirement Validation 12
4.1Documentation 12
4.2Customer Interaction 12
5Requirement Specification 12
5.1Process Description 12
5.2Tools and Techniques 13
5.3Process Script 14
6Requirement Verification 14
6.1Process Description 14
6.2Process Guideline 14
6.2.1Check That The SRS Meets Your Standard 14
6.2.2Organize Formal Requirements Inspections 15
6.2.3Define The Verification Checklists 15
6.3Process Script 15
Appendices 17
Requirement Traceability Table 22
Process Improvement Proposal Instructions - Form PIPI 31
Schedule Planning Template Instructions - Form SPTI 35
Task Planning Template – Form TPT 36
Project Plan Summary Form – Form PPS 42
Sample Scenario Format 44
The purpose of this document is to define a process to develop a software requirement specification document that is correct, unambiguous, complete, consistent, prioritized, verifiable, modifiable and traceable. The process will be general in nature to allow for the development of an object-oriented specification, as well as, a structured specification.
The intended audience for this document is anyone participating in the MSE 530 class (Software Requirements Engineering) at Embry-Riddle Aeronautical University in Daytona Beach, FL during the spring 2000 semester. Specifically, this document and its process will be used by Jason Carrow, Chris Marchant and Pat Mukdaprakorn to develop software requirement specifications in the future.
The defined process will capture the following properties of the software requirement specification process:
Requirement Elicitation
Requirement Analysis
Requirement Specification
Traceability and Change Management
Requirement Engineering Measurement
The defined process will be beneficial to its audience by providing a framework for the development of software requirement specifications in the future. It will provide sequential scripts, when executed correctly, which will yield a final software requirement specification that is correct.
The scope of this document assumes that the audience has knowledge of software engineering. It will not provide a detailed description, or a script, for tasks that are considered routine for beginning software engineers.
The table below defines definitions, acronyms, and abbreviations that will be used throughout this document.
SRS Software Requirement Specification
TRL Time Recording Log
PIP Process Improvement Plan
RTM Requirements Traceability Matrix
RTT Requirements Traceability Table
REC Requirements Elicitation Checklist
RAC Requirements Analysis Checklist
RVC Requirements Verification Checklist
RTMC Requirements Trace Checklist
A system stakeholder is anyone who benefits in a direct or indirect way from the system, which is being developed.
Source of requirements is a link to the information on which the requirement is based. A requirement source can be any stakeholder, organizational standard, technical documentation, incident reports, or other requirement documents.
A Context-diagram is a diagram consisting of one circle (or eclipse), which represents the system, that is typically placed in the center of the diagram; rectangles are used to represent entities, hardware and software, that are external, yet required interfaces, to the system to be developed; and finally, a pair of double lines represents any data storage that is required or produced.
Business Concerns are abstract high-level goals that must be satisfied if a system is to make contribution to organization, which is paying for it.
The rationale of requirement is the information which summaries the reasons why that requirement has been specified. The rationale is derived from a source.
Requirements Traceability Matrix (RTM) is a matrix that initially contains the set of requirements for the system. The RTM is continually enhanced throughout the process of requirement engineering and the lifetime of the project.
Application Domain Knowledge: is knowledge of general ideas where the system is applied.
Checklist is the set of questions that the analyst uses to assess each requirement.
Performance Requirement is the statement that specifies either timing or sizing restriction on either a hardware device or a functional subset of the software.
Software Constraints is a restriction potentially placed on the software implementation.
Build is specification of software functionality to be developed by a specific date. A build is a part of a release, used for internal management purposes to track the development of a release to a customer.
Release is a distribution of software functionality to the customer. A release is made up of one or more builds. A release has a specific version number associated with it, to help identify the specific set of functionality included in the delivered software.
Action represents a capability requested of the software. An Action is the specific subset of functionality that can be requested by an Actor. An Action is a statement of requested processing.
Actor represents a stimulus to the software system. The stimulus can be external to the software system, or internal created by the software itself. An Actor requests a specific set of control.
Qualifier is a mechanism for refining a Use Case Actor or Subject, and thus aids in the discovery of inheritance hierarchies.
Role represents the set of responsibilities for an Actor of software system. An Actor may play several roles.
Subject represents the item acted upon by an Action requested of the software. A subject is a domain entity that has a responsibility of fulfilling the request for the functionality of a specific Use Case.
Use Case is a statement of functionality required of software. A Use Case is written in the specific format. The specific format of Use Case is
Actor Action Subject
The following references were used in developing this document and the process contained within:
Humphrey, W. S., (1995). A discipline for software engineering. New York, NY: Addison-Wesley.
Marchant, C., et. al. (1999). Software design process for MSE 610. Team 2, Version 1.1. Embry-Riddle Aeronautical University. Daytona Beach, FL.
Kotonya, G., Sommerville, I., (1998). Requirements Engineering: Process and techniques. New York, NY: John Wiley & Sons.
Sommerville, I., & Sawyer, P., (1997). Requirements Engineering: A good practice guide. New York, NY: John Wiley & Sons.
The Institute of Electrical and Electronics Engineers, (1994). IEEE recommended practice for software requirements specifications.
Gutcher, F., (January 2000). Presentation: Domain Analysis. Embry-Riddle Aeronautical University. Daytona Beach, FL.
Gutcher, F., (January 2000). Presentation: Software requirement specification standard. Embry-Riddle Aeronautical University. Daytona Beach, FL.
Gutcher, F., (January 2000). Handout: MSE 530: Software requirements engineering, (Assignment one handout). Embry-Riddle Aeronautical University. Daytona Beach, FL.
The remainder of this document contains the processes of requirements engineering. This includes Requirements Elicitation, Requirements Analysis, Requirements Validation, Requirements Specification, and Requirement Verification.
Each process phase contains the Process Description, the Process Guideline, and the Process Script. The requirement engineering can follow the direction in the Process Script and look for more detail in the Process Description and Process Guideline, which introduces the activities associated with each process phase.
Software requirement elicitation is the process where the customers' needs in a software project are identified. The use of methods and techniques to uncover, discover and communicate functional non-functional requirements and constraints.
To elicit system requirements, the analysts must understand the problem to be solved, the business processes in the organization, the way in which system likely to be used, and the application domain of the system. The analysts need to find out about the system from available documents and discuss with stakeholders the system services that they need and operational constraints on the system.
The following section lists the process guideline for this requirement engineering activity.
The purpose of requirement review is to determine whether they are:
Incomplete and / or missing,
Feasible and appropriate to implement in the software,
Clearly and properly stated,
Consistent with each other,
Testable, and
Potentially create problems.
The process conducted in this requirement review is based on the forms used as the review checklists. This activity will be conducted at various stage of the process: requirement
The purposes of this activity are to identify and document the set of external interfaces for the system (hardware, software, and data store), and represent them using the context-diagram. The benefit of producing the context-diagram in this stage is to help visualizing the clear identification and definition of the external interfaces that interact which the system being developed. This will aid the requirement engineers in deriving the system constraints in the later phase of the process (See Appendix for the context-diagram example).
Examine the existing documents: look for the operators, hardware devices, software systems, and persisting data.
Produce the context-diagram: use the case tool if available
Review with the domain expert: to ensure its correctness and to facilitate discussion that may lead to the significant leaps in knowledge
The context-diagram representing the external interfaces
The purpose of this activity is to discover all likely sources of requirements. A system stakeholder is anyone who benefits from the system, for example, the end-users, managers, customers, developers, and so on. This activity will prevent requirement engineers from missing important requirements.
Use the following to identify the system stakeholders:
By discovering the potential end-users of the system
By considering the business process of the system, and people involved in this processes
By initial discussion with the organization management about who will be affected by the introduction of the system
By considering customers of the organization who will be using the system
By considering the engineers and/or developers who will develop and maintain system
By considering external bodies such as regulators and certification authorities who may which to place requirement to the system
Produce the Stakeholders Table with their roles and a brief reason why their requirement is important
Stakeholders table (See Appendix)
Note: This stakeholder table can be used as a part of User Characteristics section in SRS.
The purpose of this activity is to produce Requirement Trace Matrix (RTM) that contains the set of requirements from the original documents, consolidated documents from the interviewing section, or any other agree-upon documents.
Agree to the initial set of documents
Extract the shall statements
Start filling RTM with the shall statements
The initial RTM: each row represent a single “shall” requirement
Note: If 2 sentences appear to mean the same thing, do not analyze at this time, simply at both sentences to the RTM.
The purpose of this activity is to identify the domain knowledge, which often lead to critical system requirements and/or constraints.
Consult with the domain experts to find out what problems are likely to happen and what must be taken into account
Record the domain information such as parameters, formulas used in calculation part of the system, terminology
Domain Dictionary: can be used in the terms and definition section of the SRS
RTM with domain constraints and/or requirements
A computer-based system is developed often to support some business processes. This activity reveals process requirements for the system and constraints, which will affected how the system may be used.
Identify the actors and roles involved in the processes
Identify activities for the processes
Develop a simple diagrams and explanatory text representing these processes
Output
Diagrams representing the business processes
|
Number |
Phase Name |
Activity |
Product |
Form used |
|
2 |
Requirement Elicitation |
|
|
|
|
2.2.1 |
|
Requirement Review |
|
|
|
2.2.2 |
|
Identify the External Interfaces |
The context-diagram |
|
|
2.2.3 |
|
Identify the System Stakeholders |
Stakeholders table |
|
|
2.2.4 |
|
Extract “shall” requirements |
The initial RTM |
|
|
2.2.5 |
|
Analyze Application Domain |
- Domain Dictionary - RTM with domain constraints and/or requirements
|
|
|
2.2.6 |
|
Define Operational Processes |
- Diagrams representing the business processes - RTM with business process constraints |
|
|
2.2.1 |
|
Requirement Review |
|
REC, RTMC.1 |
The use of various methods to model software requirement in the information, function, and behavior domain of the problem. The engineer analyzes requirements for conflicts, overlaps, omissions, and inconsistencies. When the information from this analysis is available, system stakeholders then negotiate to agree on the set of requirements. Conflicts must be resolved and the requirement must be prioritized. Use the following process script and process guideline aid engineers achieving these goals.
The purpose of this activity is to systematically check each requirement and speed up the process of analysis. This technique of analysis reduces the accidental omission of some requirements. It is also a way of reusing the knowledge of the requirement analysis across projects.
Process Steps
Answer the questions specified in the checklist (see Appendix) as reading through the RTM
Annotate the potential problems
Outputs
The checklist with answers
Note: The goal of analysis is to discover the potential problem; it is not a quality management activity.
Without a stable set of requirements that are allocated to respective organizations for development, how can a system be developed? It is to define clearly the categories of requirements. This will help find the missing requirements. If the analyst find no requirement related to a common category of requirement scheme, this may mean that the important requirements were left out. It also improves the traceability of the requirement document. When requirement is made to some categories of requirements, the analyst may reconsider the requirements in the same categories.
Process Steps
Categorize the RTM categories
DR => Derived Requirement
HW => Hardware Requirement
NTW=> Nice to Have (features)
P => Performance Requirement
SW => Software Requirement
SWC => Software Constraint Requirement
D(#nn) => Duplicate of RTM entry #nn
Add categorize column to RTM
Allocate category to each requirement
Output
RTM with the category column
The purpose of prioritizing requirements is to allocate the Use Cases to a reasonable development schedule.
Process Steps
Establish Definition of Build and Release (based this on the organization standard)
Identify release: partition the software functionality into multiple releases
Identify Builds/Releases
Add the Build and Release columns to the RTM
Complete each requirement with associated build and release number
Output
RTM with Build and Release column
The purpose of this activity is to extract the software requirements from the RTM and reformat these requirements to aid in the discovery of potential Categories. It is the transitions from the requirements to Use Cases.
Process Steps
Establish the naming convention for the Use Case
Agree upon Allowable Use Case Stimuli: constraining Actors to just Operator is quite inflexible with respect to requirement definition.
Agree on the Quantity of Use Cases: too many Use Cases make for very detailed requirements and very thorough requirement trace
Determine Strategy for Use Cases on Inheritance Hierarchies (See more detail in Texel and Williams, 1997)
Extract Software Requirements as Use Cases: Examine each entry in the RTM that has a categorization of SW, restate a Use Case, specifically as Actor – Action – Subject
Outputs
The updated RTM with the completion of the “Use Case,” “Class,” and “Method” column
The purpose of this activity is to provide the operational concept behind a Use Case.
Process Steps
Agree on the Format of a Scenario (See Appendix)
Complete the draft Scenario for each Use Case
Review with software test and system test organization
Review with the training organizations
Output
One Scenario is produced for one Use Case
To provide a draft of the GUI for the system, as envisioned during the development of Scenarios.
Process Steps
Establish GUI project standards
Develop draft GUI
Provide the unique ID for each GUI
Outputs
Draft GUIs
|
Number |
Phase Name |
Activity |
Product |
Form used |
|
3. |
Requirement Analysis |
|
|
|
|
3.2.1 |
|
Use checklist for Requirement Analysis |
Complete RAC |
RAC |
|
3.2.2 |
|
Allocate requirements |
Updated RTM with category column |
|
|
3.2.3 |
|
Prioritized requirements |
Updated RTM with build and release column |
|
|
3.2.4 |
|
Identify software Use Case |
The updated RTM with the completion of the “Use Case,” “Class,” and “Method” column |
|
|
3.2.5 |
|
Develop Scenarios |
One Scenario is produced for one Use Case |
|
|
3.2.6 |
|
Develop draft GUI |
One Scenario is produced for one Use Case |
|
|
2.2.1 |
|
Requirement Review |
|
RTMC.2 |
After requirement elicitation has been complete, a document will be assembled to ensure that the requirements, from the developer’s perspective, are in-line with the wants and needs of the customer. A User Requirements Statement will be produced. It will have the following sections:
Introduction
High Level System Description
Context Diagram
Initial RTM
Stakeholders Table
Questions/Concerns
After the document has been produced it will be forwarded to the customer for their review. They will be responsible for reading the document to ensure that the requirements are correct and valid. They will make notes in the “Questions/Concerns” sections that will be addressed by the developers. The developers will respond to these questions and concerns. After all questions have been answered, another version of the User Requirements Statement will be produced for the customer. The developers will request that the customer “sign-off” on this document stating that all requirements for the desired system is in the document and that all requirements in the document are correct. If, for some reason, the customer still has concerns this process will be repeated until the customer will “sign-off” on the document.
In this section, the basic outline for an SRS will be described, as will many of the individual artifacts that comprise the SRS. The artifacts described in this section will make up the bulk of the completed SRS.
At this point in the development process, it is hoped that all requirements have been identified and agreed to by both the customer and the development team. In addition, they should have been baselined, and should not change a great deal later in the development lifecycle (theoretically, at least). The artifacts described here are used to elaborate on the requirements and provide the software designers with a solid base with which to begin their work. It is at this point that the specific requirements are put to paper and that the system is broken down into components for later development.
Also at this point, the assembly of the actual SRS should begin. A general outline/table of contents for that document would be as follows:
Introduction
Purpose
Scope
List of Definitions, Acronyms, and Abbreviations
List of References
Overview of the rest of the document
System Overview
2.1 Prose Restatement of the Problem Statement
Product Perspective (Context Diagram)
Product Functions (Shall Statements)
User Characteristics
Constraints
Assumptions and Dependencies
Specific Requirements
Description of Component #1
Description of Component #2
…
3.n Description of Component #n
Packaging (Description of what is required by the end of system development)
Appendix (RTM, ITL, PIP, TL, MRF, Use Case Diagrams, Review Documents, PPS, Configuration Management Data, DRL, Requirements Metrics, Planning Templates/Forms, Team members and Roles)
The early phase of requirement specification varies depending on what specification/design methodology is to be used. For instance, if a structured approach were to be used, data flow diagrams and a structure chart would need to be created. If an object-oriented approach is being used, an object diagram needs to be made.
Also at this point, a state chart for the system could be created. This is especially useful for real-time systems, but may not be needed for other applications. IT is up to the engineers working on the project to decide if this is a worthwhile artifact to create.
Next, by completing templates for each software component of the system, the specification will become more complete and useful as a base for the next phase: design. The template used is called a Functional Specification Template or Class Specification Template (FST or CST). These forms, used in structured and object oriented design respectively, list all of the software functionality to be implemented. For structured design, these are listed simply as functions of the final program. For object oriented design, the functions are replaced by methods, which are in turn grouped into objects. In each case, the declaration (name and parameter list) for each function/method is listed. The structure chart or object diagram will serve as a guide for completing these templates.
After the FST’s or CST’s are completed, the RTM should be updated to show which requirements are covered in this section of the SRS. Also at this point, a thorough document review should be completed. Many, if not all, of the engineers working on the project should review the document and bring a list of suspected errors to a review meeting run by the Quality/Process Manager. Each engineer should be given a checklist prior to his or her individual review in order to guide the process.
Tasks to be completed and this stage of requirements specification:
Completion of an FST or CST using a structure chart or object diagram as reference.
Begin writing the SRS using the provided outline as a guide.
Update the RTM to reflect what is included in the FST/CST.
Thorough SRS document review
Requirement management will ensure that as the SRS is developed, that the requirements in the SRS are valid. Throughout the SRS development process, new requirements emerge and existing requirements change. This is the reason for having a requirement management policy. There are three main concerns of requirements management:
Managing changes to agreed requirements.
Managing the relationships between requirements.
Managing the dependencies between the requirements document and other documents produced during the systems and software engineering process.
Requirement management supports almost all other requirements engineering activities, and therefore, it is carried out in parallel with them. Change management and traceability are the two topics of requirements management that will be the focus of this document and the SRS development process that has been previously defined.
Change management will deal with the first concern of requirements management. Traceability will deal with the second and third concerns of requirements management.
After the requirement document has been produced, the requirements should formally be verified. The verification process is concerned with checking the requirement for omissions, conflicts, and ambiguities and for ensuring that the requirements follow quality standards.
The purpose of this activity is to rapidly discover of non-compliance with standards
Compare the structure of the requirement document with the defined standard and should highlight missing or incomplete sections.
Check that all the pages are numbered and all the tables and figures are labeled
If the deviations from the standard are found, return the document to the requirement team to correct those deviations (if there is enough time for a re-issue of document)
If the deviations from the standard are found, but there is a tight deadline, note the deviations and distribute this to the document reviewer
The requirement document with the deviations from the standard are pointed out
The purpose of this activity is to formally inspect the requirement document, to discuss the problems with the requirement and to agree on how these problems should be fixed.
Form the group of the inspectors with the different backgrounds: should not been involved in the producing the requirement
Use the check list (see Guideline 6.2.3) to help focus their attention on particular aspects of the requirements and requirement documents
The group making decisions on actions to be taken to correct the identified problems
The filled Requirement Verification Checklist (RVC) with the agreed actions of fixing the problems
The purpose of this activity is to help focusing on the verification process.
The verification checklist should be concerned with the quality property of the requirements as a whole and with the relationship between individual requirements (see more detail in Sommerville and Sawyer 1998)
The checklist should be expressed in a fairly general way and should be understandable by people such as end-users who are not system expert
The defined checklist template ( see Appendix )
|
Number |
Phase Name |
Activity |
Product |
Form used |
|
6 |
Requirement Verification |
|
|
|
|
6.1 |
|
Check That The SRS Meets Your Standard |
The requirement document with the deviations from the standard |
|
|
6.2 |
|
Organize Formal Requirements Inspections |
The filled Requirement Verification Checklist (RVC) |
RVC |
|
6.3 |
|
Define The Verification Checklists |
RVC |
|
Requirements Validation Checklist – Form RVC
|
Name: |
|
Team #: |
|
Company Name: |
|
|||
|
Project Name: |
|
Date: |
|
|
|
|||
|
Checklist Item |
Yes |
|
Are the requirements complete
|
|
|
Are the requirements consistent
|
|
|
Are the requirements comprehensible
|
|
|
Are the requirements ambiguous
|
|
|
Is the requirements document structured
|
|
|
Are the requirements traceable
|
|
|
Does the requirements document as a whole, and do individual requirements, conform to the defined standards |
|
Requirements Analysis Checklist – Form RAC
|
|
Req. #: |
|
|
Yes |
No, Explanations (report the Req. in the Negotiation/Conflict Resolution Template) |
|
|
Does the requirement adequate with the business goal of the project? |
|
|
|
Does the requirement conflict with some domain constraint, policies or regulation? |
|
|
|
Does the requirement include premature design or implementation information? |
|
|
|
Is the requirement really necessary? |
|
|
|
Does the requirement require non-standard hardware or must software be used? |
|
|
|
Is the requirement ambiguous, could different persons read it in different ways? What are the different interpretations for the requirement? |
|
|
|
Is the requirement realistic given the technology that will used to implement the system? |
|
|
|
Does the description of a requirement describe a single requirement or could it be broken into several different requirements? |
|
|
|
Has each requirement been assigned a priority? |
|
|
|
Are the system boundaries well defined? |
|
|
|
Have the portability, reliability, usability and maintainability requirements for the system been respected? |
|
|
|
Did you create a System Architecture Model? |
|
|
|
Did you develop a behavioral or structural model for the system? |
|
|
|
Is the Data Dictionary implemented and correctly updated? |
|
|
|
Is the requirement testable by the test engineers? |
|
|
Requirements Elicitation Checklist – Form REC
|
|
Req. #: |
|
|
Yes |
No, Explanations (report the Req. in the Negotiation/Conflict Resolution Template) or Restate the requirement if possible. |
|
|
Is the requirement Uniquely identified? |
|
|
|
Do the deduced requirements have a valid source and rationale? |
|
|
|
Does the requirement have a source so it can be traced? |
|
|
|
Does the requirement have a type? |
|
|
|
Is the requirement ambiguous, unclear or vague? |
|
|
|
Does the requirement adequate with the business goals of the project? |
|
|
|
Does the requirement conflict with some domain constraint, policies or regulation? |
|
|
|
Is the requirement related to an organizational or political issue in opposition to the business goal of the system? |
|
|
|
Does the requirement take in consideration the needs of all stakeholders? |
|
|
|
Has a UIR been used for a requirement related to user interfaces? |
|
|
|
Does the requirement need a scenario to be elicited? |
|
|
Use Case xx : Title Overview: <Text that provides a
high-level description of the Use Case>
Preconditions: <List numerical the
assumptions required before this Use Case can be executed> Scenario: Action Software Reaction 1. <Specific Action> 1. <Describe
the software reaction> 2. <Specific Action> 2. <Describe
the software reaction> Scenario Notes: <Indicate concurrency
of Actions, any additional information, such as operational steps
and branching and iteration steps. When indicating same, refer to
specific sequence number> Post Conditions: <List sequentially the
conditions expected at the completion of the Scenario> Required GUI: <List the name of the
GUIs utilized in this Scenario> Exceptions: < List sequentially
any feature conditions that can be affect the Scenario, and how the
system should respond> Use Cases Utilized: <List other Use Case
used> Timing Constraints: <Specify any timing
constraints for the Use Case or portion of the Use Case>
Sample Scenario Format

Requirement Change Request
page 2 of 2
List each change that will have to be made, and how the proposed changes will be implemented (only provide a high level description). Also rate if the change will be EASY, MODERATE, or DIFFICULT to implement.
__________________________________________________________________________________________________________________________________________________________________________ EASY MODERATE DIFFICULT
__________________________________________________________________________________________________________________________________________________________________________ EASY MODERATE DIFFICULT
__________________________________________________________________________________________________________________________________________________________________________ EASY MODERATE DIFFICULT
__________________________________________________________________________________________________________________________________________________________________________ EASY MODERATE DIFFICULT
Deciding Person(s): _____________________________ Date: _____/_____/_____
List the changes that will be implemented.
___________________________________________________________________________________________________________________________________________________________________________________________________________________________
___________________________________________________________________________________________________________________________________________________________________________________________________________________________
Deciding Person(s): _____________________________ Date: _____/_____/_____
List other documents that are associated with this change (include analysis documents, traceability documents, etc…) Also list tables, such as the RTM, that was changed due to this requirements change. Be specific as to what was changed!
Requirement Traceabiliy Table Example and Explanation
|
Requirement Traceability Table |
|||||
|
|
|
|
|
|
|
|
|
R1 |
R2 |
R3 |
… |
R(n) |
|
R1 |
|
|
|
|
|
|
R2 |
|
# |
|
! |
|
|
R3 |
|
|
|
|
|
|
… |
|
|
* |
|
|
|
R(n) |
|
|
|
|
|
R = one requirement; very briefly described
# - specifies/is-specified-by: This relation indicates that some requirement B adds detail to another requirement A.
* - required/is-required-by: This relation indicates that some requirement B requires the result provided by some other requirement A.
! - constrains/is-constrained-by: This relation indicated that some requirement B is constrained by some other requirement A.
Class Specification Template – Form CST
|
Name: |
|
Team #: |
|
Customer Name: |
|
|||
|
Project Name: |
|
Date: |
|
Phase: |
|
|||
|
Object/Class Name: Control |
Description: This object controls the creation of other program objects and helps act as a message passer between objects. |
|
Parents: N/A |
|
|
Attributes |
Description |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Operations |
Description (type, functionality, exceptions) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Functional Specification Template – Form FST
|
Name: |
|
Team #: |
|
Customer Name: |
|
|||
|
Project Name: |
|
Date: |
|
Phase: |
|
|||
|
Function Name: |
Description: |
|
Parents: N/A |
|
|
Attributes |
Description |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Operations |
Description (type, functionality, exceptions) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Functional Specification Template Instructions – Form FSTI
|
Purpose |
If object-oriented methods are used, use this template to hold an object's functional specifications.
If object-oriented methods are not used, use this template to describe functions and procedures.
|
|
Header |
Enter
|
|
Overall |
|
|
Object/class name |
|
|
Parents |
|
|
Attributes |
|
|
Operations |
|
|
Description |
|
High Level Design Review Checklist – Form HDRC
|
Name: |
|
Team #: |
|
Customer Name: |
|
|||
|
Project Name: |
|
Date: |
|
Phase: |
|
|||
|
Purpose |
To guide you in conducting an effective design review |
|
|
|
|
|
General |
As you complete each review step, check that item in the box to the right. Complete the checklist for one program unit before you start to review the next. As you encounter issues that must be deferred, record them in the issue tracking log.
|
|
|
|
|
|
Complete |
Ensure that the requirements, specifications, and conceptual design are completely covered by the design:
|
|
|
|
|
|
The ‘-ilities’
Ensure that the chosen design implementation has these characteristics: |
Reliability |
|
|
|
|
|
Maintainability |
|
|
|
|
|
|
Usability |
|
|
|
|
|
|
Efficiency |
|
|
|
|
|
|
Reusability |
|
|
|
|
|
|
Testability |
|
|
|
|
|
|
Simplicity |
|
|
|
|
|
|
Modularity – Coupling and cohesion |
|
|
|
|
|
|
Functional use |
Verify that all functions, procedures, or objects are fully understood and properly used Verify that all externally referenced abstractions are precisely defined
|
|
|
|
|
|
Names |
Verify that:
|
|
|
|
|
|
Standards |
Review the design for conformance to all applicable design standards
|
|
|
|
|
High Level Design Review Checklist Instructions– Form HDRCI
|
Purpose |
|
|
General |
|
|
Header |
Enter
|
|
Checklist Item |
|
Issue Tracking Log - Form ITL
|
Name: |
|
Team #: |
|
Customer Name: |
|
|||||
|
Project Name: |
|
Date: |
|
Phase: |
|
|||||
|
|
||||||||||
|
Issue # |
|
|
||||||||
|
Flag Date: |
|
|||||||||
|
Date Resolved: |
|
|||||||||
|
Description |
|
|||
|
|
||||
|
|
||||
|
|
||||
|
Resolution: Must use rational rose / UML notation |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
Issue Activity Log |
||||
|
Date: |
|
Action: |
Issue first raised |
|
|
|
||||
|
|
||||
|
Date: |
|
Action: |
|
|
|
|
||||
|
|
||||
|
Date: |
|
Action: |
|
|
|
|
||||
|
|
||||
|
Date: |
|
Action: |
|
|
|
|
||||
|
|
||||
|
Date: |
|
Action: |
|
|
|
|
||||
|
|
||||
|
Date: |
|
Action: |
|
|
|
|
||||
|
|
||||
|
Date: |
|
Action: |
|
|
|
|
||||
|
|
||||
|
Date: |
|
Action: |
|
|
|
|
||||
|
|
||||
|
Date: |
|
Action: |
|
|
|
|
||||
|
|
||||
Issue Tracking Log Instructions - Form ITLI
|
Purpose: |
|
|
General: |
Record
|
|
Issue Tracking |
|
|
Header |
Enter
|
|
Issue Number |
|
|
Flag Date |
|
|
Date Resolved |
|
|
Description |
Describe the issue as clearly as possible, for example:
Describe the issue completely enough to permit you, or someone else, to later take the necessary action. |
|
Issue Activity Log |
|
Process Improvement Proposal - Form PIP
|
Name: |
|
Team #: |
|
Customer Name: |
|
|||
|
Project Name: |
|
Date: |
|
Phase: |
|
|||
|
PIP #: |
|
Priority: |
|
|
||
|
|
||||||
|
Problem Description |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Proposal Description |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
When completed and reviewed, submit PIP to PIP control and keep a copy. |
||||||
|
Do not write below this line |
||||||
|
PIP Control # |
|
|
||||
|
Date Received |
|
|
||||
|
Acknowledged |
|
|
||||
|
Changes |
|
|||||
|
|
|
|||||
|
|
|
|||||
|
Purpose |
|
|
General |
Use the PIP form to
Keep PIP forms on hand while in the design development process.
|
|
Header |
Enter
|
|
PIP Number |
Assign these numbers in the team meetings.
|
|
Priority |
|
|
Problem Description |
Describe the problem as clearly as possible:
Include related problems if relevant.
|
|
Proposal Description |
|
|
When Completed |
After you have completed the PIP
|
|
Quality Manager |
Review all PIPs and
|
Schedule Planning Template - Form SPT
|
Name: |
|
Team #: |
|
Customer Name: |
|
||
|
Project Name: |
|
Date: |
|
Phase: |
|
||
|
|
|
Plan |
Actual |
|
||||
|
Week |
Date |
Direct |
Cumulative |
Cumulative |
Direct |
Cumulative |
Cumulative |
Adjusted |
|
No. |
|
Hours |
Hours |
Planned Value |
Hours |
Hours |
Earned Value |
Earned Value |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Purpose |
|
|
General |
|
|
Header |
Enter
|
|
Week No. |
|
|
Date (Monday) |
|
|
Plan - Direct Hours |
|
|
Plan - Cumulative Hours |
|
|
Plan - Cumulative Planned Value |
For each week
|
|
Actual |
|
|
Adjusted Earned Value |
|
|
Name: |
|
Team #: |
|
Customer Name: |
|
||
|
Project Name: |
|
Date: |
|
Phase: |
|
||
|
Task |
Plan |
Actual |
|||||||
|
# |
Name |
Hours |
Planned Value |
Cum. Hours |
Cum. Planned Value |
Date (Mon.) |
Date |
Earned Value |
Cum. Earned Value |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Totals |
100 |
100 |
|
||||||
Task Planning Template Instructions – Form TPTI
|
Purpose |
|
|
General |
|
|
Header |
|
|
Task |
Enter a task number and name.
Select tasks that have explicit completion criteria. Example: Planning, Elicitation, Inspection, etc. |
|
Plan – Hours |
|
|
Plan – Planned Value |
|
|
Plan - Cumulative Hours |
|
|
Plan - Cumulative Value |
Enter the cumulative sum of the planned values down through each task.
|
|
Plan Date - Monday |
|
|
Actual Date |
|
|
Earned Value |
|
|
Cumulative Earned Value |
|
Time Recording Log – Form TRL
|
Author’s Name |
|
Team |
|
|
Date |
|
Project |
|
|
Date |
Start |
Stop |
Interr. Time |
Delta Time |
Phase |
Comp-onent |
Comments |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Time Recording Log Instructions– Form TRLI
|
Purpose |
This form is for recording the time spent in each project phase. These data are used to complete the Project Plan summary.
|
|
General |
Record all the time you spend on the project Record the time in minutes Be as accurate as possible If you need additional space, use another copy of the form
|
|
Header |
Enter the following: Your name Today’s date The project name/reference The team name or number
|
|
Date |
Enter the date when the entry was made
|
|
Start |
Enter the time when you start working on a task
|
|
Stop |
Enter the time when you stop working on the task
|
|
Interruption time |
Record any interruption time that was not spent on the task and the reason for the interruption. If you have several interruptions, enter their total time.
|
|
Delta time |
Enter the clock time you actually spent working on the task, less the interruption time.
|
|
Phase |
Enter the name or other designation of the phase or step being worked on.
|
|
Comments |
Enter any other pertinent comments that may later remind you of any unusual circumstances regarding this activity.
|
|
Important |
It is important to record all worked time. If you forget to record the starting, stopping, or interruption time for a task, promptly enter your best estimate of the time.
|
Inspection Report – Form IRF
|
Name: |
|
Team #: |
|
Customer Name: |
|
||
|
Project Name: |
|
Date: |
|
Phase: |
|
||
Inspection Type:
Component Inspected:
Start Time: End Time:
Comments:
Review Team:
Name/Role
Brief Description of Meeting:
Appraisal of Inspected Project Component:
Defect Summary:
|
Phase Injected |
High Level Design |
Detailed Design Inspection |
Documentation |
|
Number Found |
|
|
|
Supplementary Material Enclosed:
Defect Logs
Inspection Report Instructions – Form IRFI
|
Purpose |
|
|
Header |
Enter
|
|
Inspection Type |
|
|
Component Inspected |
|
|
Start Time |
|
|
End time |
|
|
Comments |
|
|
Review Team Name/Role |
|
|
Brief Description of Meeting |
|
|
Appraisal of Inspected Project Component |
|
|
Defect Summary |
|
|
Name: |
|
Team #: |
|
Customer Name: |
|
||
|
Project Name: |
|
Date: |
|
Phase: |
|
||
|
Time in Phase (in minutes) |
Plan |
|
Actual |
|
To Date |
|
To Date % |
|
|
|
Planning |
|
|
|
|
|
|
|
|
|
High Level Design |
|
|
|
|
|
|
|
|
|
High Level Design Review |
|
|
|
|
|
|
|
|
|
Detailed Design |
|
|
|
|
|
|
|
|
|
Detailed Design Review |
|
|
|
|
|
|
|
|
|
Documentation |
|
|
|
|
|
|
|
|
|
Postmortem |
|
|
|
|
|
|
|
|
|
Total |
|
|
|
|
|
|
|
|
Defects Injected |
Plan |
|
Actual |
|
To Date |
|
To Date % |
|
|
|
Planning |
|
|
|
|
|
|
|
|
|
High Level Design |
|
|
|
|
|
|
|
|
|
High Level Design Review |
|
|
|
|
|
|
|
|
|
Detailed Design |
|
|
|
|
|
|
|
|
|
Detailed Design Review |
|
|
|
|
|
|
|
|
|
Documentation |
|
|
|
|
|
|
|
|
|
Postmortem |
|
|
|
|
|
|
|
|
|
Total |
|
|
|
|
|
|
|
|
Defects Removed |
Plan |
|
Actual |
|
To Date |
|
To Date % |
|
|
|
Planning |
|
|
|
|
|
|
|
|
|
High Level Design |
|
|
|
|
|
|
|
|
|
High Level Design Review |
|
|
|
|
|
|
|
|
|
Detailed Design |
|
|
|
|
|
|
|
|
|
Detailed Design Review |
|
|
|
|
|
|
|
|
|
Documentation |
|
|
|
|
|
|
|
|
|
Postmortem |
|
|
|
|
|
|
|
|
|
Total |
|
|
|
|
|
|
|
Project Plan Summary Form Instructions – Form PPSI
|
Purpose |
|
|
General |
|
|
Header |
Enter
|
|
Time in Phase (in minutes) |
|
|
Defects Injected |
|
|
Defects Removed |
|
Use Case xx : Title Overview: <Text that provides a
high-level description of the Use Case>
Preconditions: <List numerical the
assumptions required before this Use Case can be executed> Scenario: Action Software Reaction 1. <Specific Action> 1. <Describe
the software reaction> 2. <Specific Action> 2. <Describe
the software reaction> Scenario Notes: <Indicate concurrency
of Actions, any additional information, such as operational steps
and branching and iteration steps. When indicating same, refer to
specific sequence number> Post Conditions: <List sequentially the
conditions expected at the completion of the Scenario> Required GUI: <List the name of the
GUIs utilized in this Scenario> Exceptions: < List sequentially
any feature conditions that can be affect the Scenario, and how the
system should respond> Use Cases Utilized: <List other Use Case
used> Timing Constraints: <Specify any timing
constraints for the Use Case or portion of the Use Case>