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


1. Introduction

    1. Purpose


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.

    1. Scope


The defined process will capture the following properties of the software requirement specification process:



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.

    1. Definition, acronyms, and abbreviation


The table below defines definitions, acronyms, and abbreviations that will be used throughout this document.


Acronyms


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

    1. Reference


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.

    1. Overview


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.

  1. Requirement Elicitation

    1. Process Description


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.

    1. Process Guideline

      1. Requirement Review


The purpose of requirement review is to determine whether they are:



Process Step


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


      1. Identify the External Interfaces


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).


Process Steps

Output

      1. Identify the System Stakeholders


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.


Process Steps



Output


Note: This stakeholder table can be used as a part of User Characteristics section in SRS.

      1. Extract “shall” requirements


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.


Process Steps


Output


Note: If 2 sentences appear to mean the same thing, do not analyze at this time, simply at both sentences to the RTM.

      1. Analyze Application Domain


The purpose of this activity is to identify the domain knowledge, which often lead to critical system requirements and/or constraints.


Process Steps


Outputs

      1. Define Operational Processes


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.


Process Steps


Output

    1. Process Script


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


  1. Requirement Analysis

    1. Process Description


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.

    1. Process Guideline

      1. Use Checklist for Requirement Analysis


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


Outputs


Note: The goal of analysis is to discover the potential problem; it is not a quality management activity.

      1. Allocate Requirements


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


Output

      1. Prioritize Requirements

The purpose of prioritizing requirements is to allocate the Use Cases to a reasonable development schedule.


Process Steps


Output

      1. Identify Software Use Cases


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


Outputs

      1. Develop Scenarios


The purpose of this activity is to provide the operational concept behind a Use Case.


Process Steps


Output

      1. Develop the draft GUI


To provide a draft of the GUI for the system, as envisioned during the development of Scenarios.


Process Steps


Outputs

    1. Process Script


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


  1. Requirement Validation

    1. Documentation


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


    1. Customer Interaction


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.

  1. Requirement Specification


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.

    1. Process Description


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:


  1. Introduction

    1. Purpose

    2. Scope

    3. List of Definitions, Acronyms, and Abbreviations

    4. List of References

    5. Overview of the rest of the document

  2. System Overview

2.1 Prose Restatement of the Problem Statement

    1. Product Perspective (Context Diagram)

    2. Product Functions (Shall Statements)

    3. User Characteristics

    4. Constraints

    5. Assumptions and Dependencies

  1. Specific Requirements

    1. Description of Component #1

    2. Description of Component #2

3.n Description of Component #n

  1. Packaging (Description of what is required by the end of system development)

  2. 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)

    1. Tools and Techniques


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.


    1. Process Script


Tasks to be completed and this stage of requirements specification:


  1. Completion of an FST or CST using a structure chart or object diagram as reference.

  2. Begin writing the SRS using the provided outline as a guide.

  3. 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:


  1. Managing changes to agreed requirements.

  2. Managing the relationships between requirements.

  3. 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.


  1. Requirement Verification

    1. Process Description


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.

    1. Process Guideline

      1. Check That The SRS Meets Your Standard


The purpose of this activity is to rapidly discover of non-compliance with standards


Process Steps

Outputs

      1. Organize Formal Requirements Inspections


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.


Process Steps


Output

      1. Define The Verification Checklists


The purpose of this activity is to help focusing on the verification process.


Process Steps


Output


    1. Process Script


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




Appendices


Requirements Validation Checklist – Form RVC


Name:


Team #:


Company Name:


Project Name:


Date:






Checklist Item

Yes

Are the requirements complete

  • Are there any missing requirements

  • Is any information missing from the requirements


Are the requirements consistent

  • Do the descriptions of different requirements include contradictions


Are the requirements comprehensible

  • Can readers of the document understand what the requirements mean


Are the requirements ambiguous

  • Are there different possible interpretations of the requirements


Is the requirements document structured

  • Are the descriptions of requirements organized so that related requirements are grouped

  • Would an alternative structure be easier to understand


Are the requirements traceable

  • Are requirements ambiguously identified

  • Do they include links to related requirements and to the reasons why these requirements have been included


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 Traceability Table


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



Requirement Relations


# - 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

  • Your name, the team number, the customer’s name.

  • The project name, the date and the phase


Overall

  • If several objects belong to the same class, group these multiple related specification templates together.


Object/class name

  • Enter the object name and the classes from which it inherits.

  • List the class names starting with the most immediate.


Parents

  • Where practical, list the full inheritance hierarchy.


Attributes

  • Enter any parameters whose values are externally visible and impact object behavior.


Operations

  • List the declaration for each object function or method.

  • Include all the required variables and parameters.

  • Include the required type designations

  • Use the format to be used to declare the function in the program.


Description

  • Describe the operation performed by each function.

  • Where possible use a formal or a mathematical specification.

  • Include all returns and exception conditions.



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:

  • all specified outputs are produced

  • all needed inputs are furnished

  • all required includes are stated






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:

  • all special names and types are clear or specifically defined

  • the scopes of all variables and parameters are self-evident or defined

  • all named objects are used within their declared scopes






Standards

Review the design for conformance to all applicable design standards







High Level Design Review Checklist Instructions– Form HDRCI


Purpose

  • To provide guidance in reviewing the high level design


General

  • After completing the document, go through this checklist and check off box to the right or Answer YES / NO.


Header

Enter

  • Your name, the team number, the customer’s name.

  • The project name, the date and the phase.


Checklist Item

  • Check-off each box to the right of a checklist once it is determined that the design meets the criteria of the checklist item

  • Note any defects/discrepancies found in the DRL



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:

  • Use this form to record and track project issues.

  • Issues are uncertainties; without action, they will likely cause problems.

  • Example issue: is single precision adequate for the calculation accuracy required?

  • Another example: the standard error message format is inadequate for all cases.

General:

Record

  • A description of the issue

  • The owner who will track and resolve the issue

  • Data on each issue, including when it is resolved

Issue Tracking

  • In each team meeting, the team reviews the status of each issue.

  • The team decides who should resolve each issue and by when.

  • If the number of issues becomes too large to track manually, use a database system.

Header

Enter

  • Your name, the team number, and the customer’s name.

  • The project name, the date, and the phase

Issue Number

  • Assign a control number to each issue.

  • Assign these numbers in the team meetings.

Flag Date

  • Note the date when the issue should be resolved.

  • Note in the description section why you picked the date and what must be done by then.

  • Example: if a decision on single-precision arithmetic is not made before the design inspection, implementation time will likely be wasted.

Date Resolved

  • Record the date the issue was completely resolved.

Description

Describe the issue as clearly as possible, for example:

  • the change to be made or interface to be checked

  • the problem to be resolved

Describe the issue completely enough to permit you, or someone else, to later take the necessary action.

Issue Activity Log

  • Use this space to track issue actions.

  • Examples would be issue resolution, or any other substantial change in the issue responsibility, schedule, or resolution plan.

  • If you need more space, use another copy of the form.


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







Process Improvement Proposal Instructions - Form PIPI


Purpose

  • To provide a way to record process problems and improvement ideas

  • To provide an orderly record of your process improvement ideas for use in later process improvement


General

Use the PIP form to

  • record process improvement ideas as they occur to you

  • establish priorities for your improvement plans

  • describe lessons learned and unusual conditions

Keep PIP forms on hand while in the design development process.

  • Record process problems even without proposed solutions.

  • Submit the PIPs for use in process improvement.


Header

Enter

  • Your name, the team number, and the customer’s name.

  • The project name, the date, and the phase


PIP Number

  • Assign a control number to each issue.

Assign these numbers in the team meetings.


Priority

  • Indicate if PIP priority is urgent, normal, or routine.

  • Explain under problem description why you assigned this priority.


Problem Description

Describe the problem as clearly as possible:

  • the difficulty encountered

  • the impact on the product, the process, and you

Include related problems if relevant.


Proposal Description

  • Describe your proposed process improvement as explicitly as possible.

  • Where possible, reference the specific process elements impacted, and the words or entries to be changed.

  • Where several problems are listed, indicate the problem(s) each proposal relates to.


When Completed

After you have completed the PIP

  • keep a copy

  • submit a copy to the Quality Manager


Quality Manager

Review all PIPs and

  • date and acknowledge receipt

  • eliminate duplicates

  • group related PIPs together

  • identify high priority PIPs

  • Submit PIP copies to the instructor



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







































































































































































































































































































Schedule Planning Template Instructions - Form SPTI


Purpose

  • To record the estimated and actual hours expended by calendar period

  • To relate the task planned value to the calendar schedule

  • To calculate adjusted planned and earned values when tasks change

General

  • Expand this template or use multiple pages as needed.

  • Complete in conjunction with the Task Planning Template.

Header

Enter

  • Your name, the team number, and the customer’s name.

  • The project name, the date

Week No.

  • From the project start, enter a week number, starting with 1.

  • For very small projects, it may be more convenient to use days instead of weeks.

Date (Monday)

  • Enter the calendar date for each week.

  • Pick a standard day in the week, for example, Monday.

Plan - Direct Hours

  • Enter the planned number of direct project hours you expect to spend each week.

  • Consider non-work time such as vacations, holidays, etc.

  • Consider other committed activities such as classes, meetings, and other projects.

Plan - Cumulative Hours

  • Enter the cumulative planned hours through each week.

Plan - Cumulative Planned Value

For each week

  • Take the plan cumulative hours from the schedule template,

  • On the task planning template, find the task with nearest equal or lower plan cumulative hours and note its plan cumulative value,

  • Enter this cumulative value in the schedule planning template for that week,

  • If the cumulative value for the prior week still applies, enter it again

Actual

  • During development, enter the actual direct hours, cumulative hours, and cumulative earned value for each week.

  • Determine status against plan by comparing the cumulative planned value and the actual cumulative earned value.

Adjusted Earned Value

  • Proportionately adjust the earned value up or down as tasks are added or deleted.

  • The adjusted earned value compensates for these changes without requiring a complete new plan.

Task Planning Template – Form TPT

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

  • To estimate the development time for each project task

  • To compute the planned value for each project task

  • To estimate the planned completion date for each task

  • To provide a basis for tracking schedule progress even when the tasks are not completed in the planned order

General

  • Expand this template or use multiple pages as needed.

  • Include every significant task.

  • Use task names and numbers that support the activity and are consistent with the project work breakdown structure.

Header

  • Enter your name, the team number, the customer’s name, the project name, the date, and the phase

Task

Enter a task number and name.

  • List the tasks in the order in which you expect to complete them.

Select tasks that have explicit completion criteria.

Example: Planning, Elicitation, Inspection, etc.

Plan – Hours

  • Enter the planned hours for each task.

Plan – Planned Value

  • Total the planned hours for all the tasks.

  • For each task, calculate the percent of planned hours out of total hours.

  • Enter this percent as the planned value for that task.

  • The total planned value should equal 100.

Plan - Cumulative Hours

  • Enter the cumulative sum of the plan hours down through each task.

Plan - Cumulative Value

Enter the cumulative sum of the planned values down through each task.

  • Complete the Schedule Planning Template down through Plan-Cumulative Hours before proceeding.

  • Then complete the Schedule and Task Planning Templates together.

Plan Date - Monday

  • For each cumulative hours entry, find the plan cumulative hours entry on the scheduled planning template that equals or just exceeds it.

  • Enter the date from that row (of the Schedule Planning Template) as the plan date on the Task Planning Template.

  • If several weeks on the schedule template have the same cumulative value, enter the earliest date.

  • Unless you made daily plans, pick the plan date as the Monday of the week during which completion for that task is planned.

Actual Date

  • As each task is completed, enter the completion date.

Earned Value

  • For each completed task, enter the planned value.

Cumulative Earned Value

  • As each task is completed, total all the earned value entries and enter that total beside the latest task that was completed.

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

  • Use this form to report the result of a formal inspection


Header

Enter

  • Your name, the team number, the customer’s name.

  • The project name, the date and the phase

  • Meeting location


Inspection Type

  • Specify the type of inspection: High Level Design, Detailed Design, Documentation


Component Inspected

  • Specify the component inspected


Start Time

  • Enter the starting time of the inspection


End time

  • Enter the end time of the inspection


Comments

  • Enter any kind of comments you want to record about the inspection


Review Team Name/Role

  • Specify the name and role of each meeting participants


Brief Description of Meeting

  • Describe succinctly the meeting – Development, etc…


Appraisal of Inspected Project Component

  • Give an appraisal to the inspected component

Defect Summary

  • Record the number of defects that have been discovered during the meeting according to the phase where they have been injected.

  • You must use the Defect Recording Log to specify the defect.



Project Plan Summary Form – Form PPS

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

  • To hold estimated and actual project data in a convenient and readily retrievable form


General

  • Enter the specified data in the appropriate places


Header

Enter

  • Your name, the team number, and the customer’s name.

  • The project name, the date


Time in Phase

(in minutes)

  • Under Plan, enter your original estimate of the total development time, and the time required by phase

  • Under Actual, enter the actual time in minutes spent in each development phase

  • Under To Date, enter the sum of the Actual time and the To Date time from your most recently developed program

  • Under To Date %, enter the percentage of To Date time in each phase


Defects Injected

  • Under Plan, use past data or estimate to enter a plan for each phase

  • Under Actual, enter the number of defects injected in each phase

  • Under To Date, enter the sum of the Actual numbers of defects injected in each phase and the To Date values from the most recently developed program

  • Under To Date %, enter the percentage of To Date defects injected by phase


Defects Removed

  • Under Plan, use past data or estimate to enter a plan for each phase

  • Under Actual, enter the number of defects removed in each phase

  • Under To Date, enter the sum of the Actual numbers of defects removed in each phase and the To Date values from the most recently developed program

  • Under To Date %, enter the percentage of To Date defects removed by phase



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