Anteprima
Vedrai una selezione di 9 pagine su 37
ISEE software Pag. 1 ISEE software Pag. 2
Anteprima di 9 pagg. su 37.
Scarica il documento per vederlo tutto.
ISEE software Pag. 6
Anteprima di 9 pagg. su 37.
Scarica il documento per vederlo tutto.
ISEE software Pag. 11
Anteprima di 9 pagg. su 37.
Scarica il documento per vederlo tutto.
ISEE software Pag. 16
Anteprima di 9 pagg. su 37.
Scarica il documento per vederlo tutto.
ISEE software Pag. 21
Anteprima di 9 pagg. su 37.
Scarica il documento per vederlo tutto.
ISEE software Pag. 26
Anteprima di 9 pagg. su 37.
Scarica il documento per vederlo tutto.
ISEE software Pag. 31
Anteprima di 9 pagg. su 37.
Scarica il documento per vederlo tutto.
ISEE software Pag. 36
1 su 37
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

IEEE SOFTWARE REQUIREMENTS SPECIFICATIONS Std 830-1998

DeÞnitions

In general the deÞnitions of terms used in this recommended practice conform to the deÞnitions provided in IEEE Std 610.12-1990. The deÞnitions below are key terms as they are used in this recommended practice.

3.1 contract: A legally binding document agreed upon by the customer and supplier. This includes the tech-nical and organizational requirements, cost, and schedule for a product. A contract may also contain infor-mal but useful information such as the commitments or expectations of the parties involved.

3.2 customer: The person, or persons, who pay for the product and usually (but not necessarily) decide the requirements. In the context of this recommended practice the customer and the supplier may be members of the same organization.

3.3 supplier: The person, or persons, who produce a product for a customer. In the context of this recom-mended practice, the customer and the supplier may be

members of the same organization.

3.4 user: The person, or persons, who operate or interact directly with the product. The user(s) and the customer(s) are often not the same person(s).

4. Considerations for producing a good SRS

This clause provides background information that should be considered when writing an SRS. This includes the following:

  1. Nature of the SRS;
  2. Environment of the SRS;
  3. Characteristics of a good SRS;
  4. Joint preparation of the SRS;
  5. SRS evolution;
  6. Prototyping;
  7. Embedding design in the SRS;
  8. Embedding project requirements in the SRS.

4.1 Nature of the SRS

The SRS is a specification for a particular software product, program, or set of programs that performs certain functions in a specific environment. The SRS may be written by one or more representatives of the supplier, one or more representatives of the customer, or by both. Subclause 4.4 recommends both.

The basic issues that the SRS writer(s) shall address are the following:

  1. Functionality. What is the

a) Purpose. What is the purpose of the software?

b) External interfaces. How does the software interact with people, the system's hardware, other hardware, and other software?

c) Performance. What is the speed, availability, response time, recovery time of various software functions, etc.?

d) Attributes. What are the portability, correctness, maintainability, security, etc. considerations?

e) Design constraints imposed on an implementation. Are there any required standards in effect, implementation language, policies for database integrity, resource limits, operating environment(s) etc.?

The SRS writer(s) should avoid placing either design or project requirements in the SRS.

For recommended contents of an SRS see Clause 5.3

Copyright © 1998 IEEE. All rights reserved.

IEEEStd 830-1998 IEEE RECOMMENDED PRACTICE FOR

4.2 Environment of the SRS

It is important to consider the part that the SRS plays in the total project plan, which is defined in IEEE Std 610.12-1990. The software may contain essentially

All the functionality of the project or it may be part of a larger system. In the latter case typically there will be an SRS that will state the interfaces between the system and its software portion, and will place external performance and functionality requirements upon the software portion. Of course the SRS should then agree with and expand upon these system requirements.

IEEE Std 1074-1997 describes the steps in the software life cycle and the applicable inputs for each step. Other standards, such as those listed in Clause 2, relate to other parts of the software life cycle and so may complement software requirements.

Since the SRS has a specific role to play in the software development process, the SRS writer(s) should be careful not to go beyond the bounds of that role. This means the SRS:

  1. Should correctly define all of the software requirements. A software requirement may exist because of the nature of the task to be solved or because of a special characteristic of the system.
  2. Should not specify design details. Design details should be left to the design process.
  3. Should not specify implementation details. Implementation details should be left to the implementation process.
  4. Should not specify testing details. Testing details should be left to the testing process.

project.b) Should not describe any design or implementation details. These should be described in the design stage of the project.

c) Should not impose additional constraints on the software. These are properly specified in other documents such as a software quality assurance plan.

Therefore, a properly written SRS limits the range of valid designs, but does not specify any particular design.

4.3 Characteristics of a good SRS

An SRS should be

  1. Correct;
  2. Unambiguous;
  3. Complete;
  4. Consistent;
  5. Ranked for importance and/or stability;
  6. Verifiable;
  7. Modifiable;
  8. Traceable.
4.3.1 Correct

An SRS is correct if, and only if, every requirement stated therein is one that the software shall meet. There is no tool or procedure that ensures correctness. The SRS should be compared with any applicable superior specification, such as a system requirements specification, with other project documentation, and with other applicable standards, to ensure that it agrees. Alternatively

The customer or user can determine if the SRS correctly reflects the actual needs. Traceability makes this procedure easier and less prone to error (see 4.3.8).

4.3.2 Unambiguous

An SRS is unambiguous if, and only if, every requirement stated therein has only one interpretation. As a minimum, this requires that each characteristic of the final product be described using a single unique term.

4 Copyright © 1998 IEEE. All rights reserved.

IEEE SOFTWARE REQUIREMENTS SPECIFICATIONS Std 830-1998

In cases where a term used in a particular context could have multiple meanings, the term should be included in a glossary where its meaning is made more specific.

An SRS is an important part of the requirements process of the software life cycle and is used in design, implementation, project monitoring, verification and validation, and in training as described in IEEE Std 1074-1997. The SRS should be unambiguous both to those who create it and to those who use it. However, these groups

often do not have the same background and therefore do not tend to describe software requirements the same way. Representations that improve the requirements specification for the developer may be counterproductive in that they diminish understanding to the user and vice versa.

Subclauses 4.3.2.1 through 4.3.2.3 recommend how to avoid ambiguity.

4.3.2.1 Natural language pitfalls

Requirements are often written in natural language (e.g., English). Natural language is inherently ambiguous. A natural language SRS should be reviewed by an independent party to identify ambiguous use of language so that it can be corrected.

4.3.2.2 Requirements specification languages

One way to avoid the ambiguity inherent in natural language is to write the SRS in a particular requirements specification language. Its language processors automatically detect many lexical, syntactic, and semantic errors.

One disadvantage in the use of such languages is the length of time required to learn them. Also,

many non-technical users Þnd them unintelligible. Moreover, these languages tend to be better at expressing certaintypes of requirements and addressing certain types of systems. Thus, they may inßuence the requirements insubtle ways.

4.3.2.3 Representation tools

In general, requirements methods and languages and the tools that support them fall into three general cate-goriesÑobject, process, and behavioral. Object-oriented approaches organize the requirements in terms ofreal-world objects, their attributes, and the services performed by those objects. Process-based approachesorganize the requirements into hierarchies of functions that communicate via data ßows. Behavioralapproaches describe external behavior of the system in terms of some abstract notion (such as predicatecalculus), mathematical functions, or state machines.

The degree to which such tools and methods may be useful in preparing an SRS depends upon the size andcomplexity of the program. No attempt

is made here to describe or endorse any particular tool. When using any of these approaches it is best to retain the natural language descriptions. That way, customers unfamiliar with the notations can still understand the SRS.

4.3.3 Complete

An SRS is complete if, and only if, it includes the following elements:

  1. All significant requirements, whether relating to functionality, performance, design constraints, attributes, or external interfaces. In particular any external requirements imposed by a system specification should be acknowledged and treated.
  2. Definition of the responses of the software to all realizable classes of input data in all realizable classes of situations. Note that it is important to specify the responses to both valid and invalid input values.
  3. Full labels and references to all figures, tables, and diagrams in the SRS and definition of all

Copyright © 1998 IEEE. All rights reserved.

IEEEStd 830-1998 IEEE RECOMMENDED PRACTICE FOR

terms and units of measure.

4.3.3.1 Use of TBDs

Any SRS that uses the phrase Òto be determinedÓ (TBD) is not a complete SRS. The TBD is, however, occa-sionally necessary and should be accompanied by

  1. A description of the conditions causing the TBD (e.g., why an answer is not known) so that the situ-ation can be resolved;
  2. A description of what must be done to eliminate the TBD, who is responsible for its elimination, and by when it must be eliminated.

4.3.4 Consistent

Consistency refers to internal consistency. If an SRS does not agree with some higher-level document, such as a system requirements speciÞcation, then it is not correct (see 4.3.1).

4.3.4.1 Internal consistency

An SRS is internally consistent if, and only if, no subset of individual requirements described in it conßict. The three types of likely conßicts in an SRS are as follows:

  1. The speciÞed characteristics of real-world objects may conßict. For example,
    1. The format of an output

a) Un report può essere descritto in un requisito come tabellare, ma in un altro come testuale.

b) Un requisito può stabilire che tutte le luci siano verdi, mentre un altro può stabilire che tutte le luci siano blu.

c) Potrebbe esserci un conflitto logico o temporale tra due azioni specificate. Ad esempio,

  1. Un requisito può specificare che il programma sommerà due input, mentre un altro può specificare che il programma li moltiplicherà.
  2. Un requisito può stabilire che "A" deve sempre seguire "B", mentre un altro può richiedere che "A" e "B" si verifichino contemporaneamente.

d) Due o più requisiti possono descrivere lo stesso oggetto del mondo reale, ma utilizzare termini diversi per quell'oggetto. Ad esempio, la richiesta di input dell'utente di un programma può essere chiamata "prompt" in un requisito e "cue" in un altro. L'uso di terminologia standard e definizioni promuove la coerenza.

Dettagli
Publisher
A.A. 2012-2013
37 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher cecilialll di informazioni apprese con la frequenza delle lezioni di Fondamenti di informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi di Napoli Federico II o del prof Fassolino Rita.