Современные информационные технологии/3.Программное обеспечение

 

Bilas O.

Lviv Politechnical National University, Ukraine

Requirements attribute and analisys tool for software specification

 

Requirements analysis is probably the most important, hardest and most defect contained stage of software development. Quality requirements analysis lets effective software develop without significant modification and delays in schedule.    

Every software system is defined data converter and output results of converting.  Requirements, which define functions and variety types of data processing during execution of this function, are raises to software development process. Requirements are the subject for practical agreement between customer and system developer. In general case as software requirements considered features which system should has for adequate function fulfilment. It is a statement that identifies a necessary attribute, capability, characteristic, or quality of a system in order for it to have value and utility to a user. Requirements are also an important input into the verification process, since tests should trace back to specific requirements.

Requirements are typically divided into following categories [1]:

In software engineering this categorization is useful because only functional requirements can be directly implemented in software.

Quality requirements are very important for succesful project realization. Requirements should meet following characteristics:

 

Characteristic

Explanation

Unitary

The requirement addresses one and only one thing.

Complete

The requirement is fully stated in one place with no missing information.

Consistent

The requirement does not contradict any other requirement and is fully consistent with all authoritative external documentation.

Non-Conjugated (Atomic)

The requirement is atomic, i.e., it does not contain conjunctions.

Traceable

The requirement meets all or part of a business need as stated by stakeholders and authoritatively documented.

Current

The requirement has not been made obsolete by the passage of time.

Feasible

The requirement can be implemented within the constraints of the project.

Unambiguous

The requirement is concisely stated without recourse to technical jargon, acronyms (unless defined elsewhere in the Requirements document), or other esoteric verbiage. It expresses objective facts, not subjective opinions. It is subject to one and only one interpretation.

Mandatory

The requirement represents a stakeholder-defined characteristic the absence of which will result in a deficiency that cannot be ameliorated. An optional requirement is a contradiction in terms.

Verifiable

The implementation of the requirement can be determined through one of four possible methods: inspection, demonstration, test or analysis.

 

Requirements management is the process of documenting, analyzing, tracing, prioritizing and agreeing on requirements and then controlling change and communicating to relevant stakeholders [2]. It is a continuous process throughout a project. Different management tools are used for storing and processing of the requirements. Important feature of such tool is capability to parse a requirements document that has been exported from text file, then elucidate each requirement line and produce a summary of the defects it finds in the requirement.  The defect report is a measurement that can be used to assess the quality of a requirement document. Then system analytic should look at the requirements with reported defects and decide if he agrees with observation or not. If the author agrees with remarks, he can edit the requirements.

Requirements management tool should provide a dynamic report of the defects found within the requirements document.

When the requirements are correctly written, the system analytic can assign other requirement information to complete the building of the requirements specification document.

A lot of problems and potential defects can cause indistinct or vague words or phrases [3]. Requirements management tool should parse the documents to detect these indistinct words and identify them to the analytic. System analytics may choose to ignore such identification of the indistinct word, if they feel that the requirement statement is correct.  The indistinct words should stores in a file, can be edited and extended. The typical indistinct words are high, low, probably, about, nearly, common, etc. Such words are not allowed in requirements for reason of various defects. It could be recognised the following potential types of defects:

1.  Multiple requirements in a line.

2. Possible multiple requirements in a line.

3. Not verifiable or testable.

4. Use of wrong word to define a requirement.

5. User defined defective word.

Fig.1.  Defects of requirements report

6. Possible design constraint.

7. Incomplete sentence.

Requirements should be analysed and determined if the items are defective.

Requirement creation wizard helps to build requirements step by step with chosen appropriate atributes and characteristics.

Fig. 2. Form for requirements creation with atributes and characteristics

Sortware requirements specification document is formed on the basis of discrete requirements. Requirements quality and their analisys made effect on efficiency and succesful of whole project. Defects finded on the requirements stage of project are easy and cheaper for correction.

Conclusions. Requirements engenireeng stage is one of the most important and influential software project phase.  Requirements document agreed with customer and developers. This document is used as executives during tasks fulfilment on the software development lifecicle.

References:

1.     Халл Э., Джексон К., Дик Д. Разработка и управление требованиями. Практическое руководство пользователя.- М.: Telelogic, 2005.-229с.

2.     Вигерс К. Разработка требований к программному обеспечению. Пер. с англ.- М.:Издательско-торговый дом «Русская Редакция», 2004.-576с.

3.     Standard for Software Verification and Validation Plans(ANSI/IEEE standard 1012-1986).**