Documente Academic
Documente Profesional
Documente Cultură
Standardul IEEE 830 (IEEE recommended practice for software requirements specifications) descrie continutul, calitatile si avantajele unei bune
specificatii a cerintelor software:
Corecte
Neambigue – fiecare cerinta definita are o singura interpretare
Complete – ar trebui sa contina tot ceea ce este necesar pentru realizarea software-ului
Consistente – intre ele si cu documentele pe care le refera
Clasificate dupa importanta si/sau stabilitate
Verificabile. Trebuie evitate cerinte ca :”va furniza un raspuns rapid”, “sistemul nu va cadea niciodata”, etc.
Modificabile. Atunci cand o aceeasi cerinta apare in mai multe parti, actualizarile documentului sunt mai greu de facut
Usor de corelat cu cerinte formulate in alte documente, de ex. URD
1
Avantajele unei bune specificatii a cerintelor software
Cine participa
Definirea cerintelor software este o responsabilitate a dezvoltatorului.
Alti participanti:utilizatori, ingineri de sistem, ingineri hardware si personal de operare.
2
Activitati in etapa de definire a cerintelor software
3
Modelul logic / modelul conceptual / modelul de analiza
Descriere abstracta a sistemului
Se folosesc termeni din domeniul aplicatiei modelul domeniului (domain model). Contine entitatile cheie ale domeniului si relatiile
dintre ele.
Este independent de implementare
Este o descriere de nivel inalt a sistemului
Este construit utilizand o metoda de analiza recunoscuta si instrumente de modelare
Are o structura ierarhica, obtinuta prin aplicarea unor criterii de decompozitie consistente
Alcatuit din simboluri organizate dupa anumite conventii
Permite intelegerea cerintelor ca un ansamblu, nu numai individual
4
Diagrame de stari care redau starile sistemului sau starile unui obiect din domeniul aplicatiei
Obs: clasele conceptuale nu sunt clase software; in etapa de proiectare pot fi definite clase software care corespund claselor conceptuale.
Specificarea cerintelor
Sunt 2 tipuri de cerinte software:
Functionale
Ne-functionale
CERINTE FUNCTIONALE
Descriu functiile pe care trebuie sa le realizeze sistemul, intr-un mod independent de implementare.
Ce transformari trebuie efectuate asupra intrarilor si ce iesiri trebuie sa se obtina pentru fiecare tip de intrari.
CERINTE NE-FUNCTIONALE
Cerinte de performanta
Valori numerice atasate unor parametri masurabili cum ar fi: viteza, capacitatea, precizia, frecventa.
- Sistemul masoara temperatura in grade Celsius
- Temperatura este masurata cu o precizie de 1 grad Celsius
sau
Cerinte de interfata
Cerinte operationale
Modul de comunicare cu operatorii umani: aspecte fizice si ergonomice ale interfetei utilizator:
Descrierea dialogului,
Aspectul ecranului in timpul dialogului
Stilul limbajului de comenzi
Puterea de prelucrare
Memoria necesara
Spatiul pe disc
Cerinte de verificare
6
Posibilitati de diagnosticare
Cerinte de portabilitate
"Poate rula pe calculatorul X fara modificara codului sau ..modificand cel mult 2% din codul sursa”
"Nici o parte a software-ului nu trebuie scrisa in assembler."
Cerinte de intretinere
Cerinte de fiabilitate
Exprimate folosind parametrii Mean Time Between Failure (MTBF) si Mean Time To Repair (MTTR). Exemple:
Cerinte de securitate
Cerinte de siguranta
7
Protectia impotriva distrugerilor cauzate de caderile software
Contine:
8
The Software Requirements Document - sablon definit in standardele ESA
a. Abstract
b. Table of Contents
c. Document Status Sheet Status sheet for configuration control.
Document Change Records since
d.
previous issue A list of document changes.
1. Introduction
1.1 Purpose The purpose of this particular SRD and its intended readership.
1.2 Scope Scope of the software. Identifies the product by name, explains what the software will do.
1.3 List of definitions The definitions of all used terms, acronyms and abbreviations.
1.4 List of references All applicable documents.
1.5 Overview Short description of the rest of the SRD and how it is organized.
2. General description
2.1 Relation to current projects The context of this project in relation to other current projects.
Relation to predecessor and
2.2
successor projects The context of this project in relation to past and future projects.
2.3 Function and purpose A general overview of the function and purpose of the product.
2.4 Environment
Hardware and operating system of target system and development system. Who will use the system (see user
roles in URD).
9
3.14 general remarks about requirements. Each category of non-functional requirements has its own subsection.
4. Requirements traceability matrix A table showing how each user requirement of the URD is linked to software requirements in the SRD.
Reguli generale:
Aproximativ 20-25% din timpul total al proiectului sa fie alocat definirii cerintelor.
5% din timpul proiectului sa fie alocat pentru actualizarea cerintelor dupa ce a inceput proiectarea.
Documentatia poate fi minima daca produsul va fi utilizat pentru o perioada de timp scurta sau este dedicat unui numar mic de utilizatori
10