Dr. Syed Noman Hasany. Review of known methodologies Analysis of software requirements Real-time...

16
Dr. Syed Noman Hasany

Transcript of Dr. Syed Noman Hasany. Review of known methodologies Analysis of software requirements Real-time...

Dr. Syed Noman Hasany

Review of known methodologies Analysis of software requirements Real-time software Software cost, quality, testing and measurements Object programming Knowledge engineering issues: knowledge

representation using rules, frames & logic, basics of logical inference, and basics of search.

Requirements Traceability Matrix

4

What is it?

The process by which customer needs are understood and documented.

Example 1: [What?] The system shall allow users to withdraw cash.

Example 2:[How?] A sale item’s name and other attributes will be stored

in a hash table and updated each time any attribute changes.

Expresses “what” is to be built and NOT “how” it is to be built.

What makes a software project successful?o Meets stakeholder requirements

How can this be encouraged?o Traceability

Traceability in a nutshello Shows forward and backward relationships

linking requirements with design, implementation, test, and maintenance

o Know reasoning for everything and how to test

Part of requirement management process

Technique to provide relationship between requirement design and final implementation

How and why system development products satisfy stakeholders requirements

Ability to discover the history of every feature of a system

A quality factor

Many standards (2167-A then 498) require the development of traceability documents

Definition of traceability:o "The degree to which a relationship can be established

between two or more products of the development process, especially products having a predecessor-successor or master-subordinate relationship to one another; for example, the degree to which the requirements and design of a given software component match." (IEEE 610.12-1990)

Experience has shown that the ability to trace requirements through the stages of specification, architecture, design, implementation, and testing is a significant factor in assuring a quality software implementation.

A traceability relationship is a relationship between two project elements.

A traceability relationship is a type of dependency relationship between elements.

A dependency relationship states that a change in one element (A) may affect another element (B), but the reverse is not necessarily true.

Syst_components

Verification_procedRequirement Developed_for

DeriveAllocated_to

External_System

Performed_onsatisfy

Interface_with

After establishing all known need–feature relationships, there is again a need to examine the traceability matrix for potential indications of error.

If inspection of a row fails to detect any Xs, a possibility exists that no feature is yet defined to respond to a user need.

If inspection of a column fails to detect any Xs, a possibility exists that a feature has been included for which there is no defined product need.

Show the relationships between requirements or between requirements and other activities

Table can be set up to show links between several different elements

A good Example: http://www.softwaretestinghelp.com/requirements-traceability-matrix/

A simplified form of a traceability matrix may be used where, along with each requirement description, one or more lists of the identifiers of related requirements are maintained

Offer a simple user-guided procedure to "point and click" through the explicit relationships that may exist between two elements of the lifecycle.

Allow building large matrices required for more sophisticated projects and to examine the data automatically for many of the types of potential red flags.

Provide support for some of the implicit forms of traceability (e.g. use case to use-case realization), and provide navigational mechanisms and other methods to help assure that the implementation is correct as the application evolves.

Many of the matrix relationships could be easily handled with a spreadsheet.

The problem with spreadsheets, however, is maintenance, especially in extensive hierarchies of relationships.

The other alternative is to use a database.