Caracteristici ale software-ului de calitate

1. Software-ul ca produse industriale. 2

1.1 Concepte. 2

1.2. Caracteristici ale software-ului de calitate. 3

2. Ciclul de viață al software-ului de suport. 5

2.1. Conceptul ciclului de viață al software. 5

2.2. Procesele ciclului de viață al software-ului. 6

2.3. Modele ale ciclului de viață al software-ului. 11

2.4. Strategia de proiectare software. 15

3. Metodologia de dezvoltare a software-ului. 19

3.1 O abordare structurată pentru dezvoltarea de software. 19

3.2 Programarea modulară. 22

3.3. Orientat-obiect abordare a dezvoltării de software. 31

3.3. Metodologia programării vizuale. 33

4. Testarea software-ului. 34

4.1. Dispoziții generale. 34

4.2. Scopuri și obiective. Definiții de bază. 34

4.3. Organizarea procesului de testare software-ului 35

4.4. strategie de testare software-ului. 36

4.5. nivelurile de testare software. 38

5. Software Documentarea. 39

5.1. Dispoziții generale. 39

5.2. Program și procedura de testare. 39

5.3. Descrierea programului. 40

5.4. Notă explicativă. 41

5.5. Textul programului. 42

5.6. Descrierea cererii. 42

5.7. Ghidul sistemului programatorului. 42

5.8. Ghidul programatorului. 43

5.9. Manualul de operare. 43

Software-ul (software) sisteme informatice (CS) devine din ce în ce mai important, dificil și periculos și mai dificil să se dezvolte, dar în același timp, în tot timpul este simplificată, redusă în dimensiune, totul este mai ușor de gestionat și mai ușor să se dezvolte.

Pe de o parte, cerințele tot mai mari pentru software-ul legate de Equip-existența și complexitatea sistemelor de operare, hardware și de utilizare în terfeysa și necesitatea introducerii tehnologiei moderne infor-infor, în primul rând de rețea. Structura internă a programelor în acest sens este din ce în ce mai complexe, precum și cerințele pentru fiabilitatea lor.

Pe de altă parte, colectează și rezumă experiența de dezvoltare software sunt metodologii și instrumente care să sprijine toate etapele de dezvoltare de software mai flexibil și puternic. Dezvoltarea metodologiei de programare vizuala si limbaje de programare îmbunătățite. hardware Îmbunătățirea accelerează procesele de compilare și de multe ori nu permit infinit repaus programele de eficacitate generate.

Scopul disciplinei „Metodologia pentru dezvoltarea de software“ - pentru a preda studenților principiile de bază ale software-ului de proiectare, pentru a introduce software-ul conceptului, dezvoltarea metodologiei, testare și documentare.

Software-ul ca producție industrială

Acesta a decis să aloce șapte tipuri de securitate a sistemelor informatice:

Dintre toate tipurile de software de securitate (SW) are un loc special ca ponderea principală a costurilor de echipamente și funcționare a soarelui cade pe software-ul. Noi definim conceptele de bază, cum ar fi programe software com-plex, sistem software, software-ul și software pentru PC-chenie.

Vom fi înțeles de către program:

1) colectarea de date și cod adecvat pentru procesoare de execuție (executabile);

2) o componentă separată a unei dimensiuni relativ mici, pre-alocate pentru a rezolva o problemă locală (software ca o componentă a SIS-fire).

Sistemul Pachete software sau software - un set de programe care rulează în mod constant în cadrul unui management comun, soluții pentru sarcini complexe sau o serie de sarcini aferente proiectate evaluate.

Ultimul pachet de software de testare, complet gata de vânzare (de aprovizionare) și dotate cu toate documentele necesare, numit-INDICA produse software (produs) sau software.

Software-ul - conceptul cel mai general în care la-Nima programul, sisteme software sau produse, împreună sau separat, în funcție de contextul utilizării termo-on.

Vom împărți în mod condiționat produse software pentru mici, mijlocii și mari. Volumul de cod sursă mică de software este MULTI-a sute de declarații limbaj de nivel înalt, mediu - până la zeci de mii, și mari - până la un milion.

În multe cazuri, programele sunt create în singur exemplar pentru rezolvarea unor probleme particulare de cercetare, pentru a accelera de calcul, mo-simulare a proceselor, etc. Astfel de programe nu au un neniya prima masă și disponibile numai celor care le-a dezvoltat. Acestea sunt obiecte de activități științifice și tehnice, și numai în cazuri excepționale, Stâna vyatsya produse industriale.

O clasă complet diferit de programe sunt programe cu drepturi depline Nye fonduri care sunt acceptate în prezent pentru a se califica drept pro-inducție în scopuri industriale. Ca atare, produsele pro-software sunt o forță de producție directă, și nu sunt diferite de orice alte produse industriale.

Crearea unui produs software bun este o sarcină foarte laborioasă, care, de regulă, nu de o singură persoană. Pro-programatori simple ( „hackeri“) poate avea darul de geniu la algoritmi gustare roiului și codificare de sarcini non-triviale, crearea de noi metode și idei de programare în timp ce câștigă semnificativ, deoarece devin cunoscute. Dar nu în puterea lor de a rezolva unul singur întregul complex de probleme-cheie SRO acceptabile de dezvoltare a produselor software medii și mari.

Astfel, în prezent orice produse importante sunt echipe de programatori. În astfel de echipe în programele de calități, cum ar fi alfabetizarea, disciplinat-vannost, de încredere și sociabilitate dezvoltator-ste-evaluate. Sub alfabetizare se referă la cunoașterea și înțelegerea metodelor avansate și instrumente pentru dezvoltarea de software și lor desig-cheniya și caracteristici, precum și capacitatea de a aplica aceste cunoștințe în practică.

Caracteristici ale software-ului de calitate

Setul de proprietăți ale software-ului, care formează o calitate satisfăcătoare pentru PC-ul utilizatorului, depinde de condițiile și modul de funcționare a software-ului, adică, din poziția din care trebuie luată în considerare calitatea software-ului. Prin urmare, pentru a descrie calitatea software-ului, trebuie să fie mai întâi fixate de proprietățile dorite ale criteriilor de selecție pentru software-ul. În prezent, criteriile de calitate software (criterii de calitate software) este considerat a fi:

Funcționalitate - este capacitatea de a efectua un set de funcții care satisfac date sau nevoile utilizatorilor implicite. Un set de aceste funcții este determinată de descrierea externă a software-ului.

Fiabilitate (fiabilitate) ON - este capacitatea sa de a îndeplini anumite funcții lin în condiții predeterminate pentru o perioadă de timp prestabilită, cu probabilitate suficient de mare. În acest caz, un eșec de a înțelege manifestarea unor erori de software în ea. Astfel, fiabilitatea nu exclude prezența unor erori în ea - este important doar ca aceste erori în aplicarea practică a software-ului în condiții specificate manifestat rar. Asigurați-vă că software-ul are proprietatea atunci când acesta poate fi testat prin testare, precum și în aplicarea practică. Astfel, de fapt, putem dezvolta doar robust, dar nu software-ul corect.

În evaluarea fiabilității software-ului ar trebui să ia în considerare, de asemenea, consecințele fiecărui eșec. Unele bug-uri în software-ul poate provoca unele inconveniente numai în cazul în care se aplică, în timp ce alte greșeli pot avea consecințe dezastruoase, de exemplu, să amenințe viața umană. Prin urmare, pentru a evalua fiabilitatea software-ului folosesc uneori indicatori suplimentari care să ia în considerare costul (prejudiciul) pentru utilizatorul fiecărui eșec.

Ușor de utilizat - acestea sunt software-ul de caracteristici care permite utilizatorului să reducă la minimum eforturile în pregătirea datelor inițiale, software-ul de aplicare și evaluarea rezultatelor precum și emoții pozitive cauza anumit utilizator sau implicite.

Eficiența - raportul dintre nivelul serviciilor oferite de software-ul pentru utilizator în condiții specificate, la volumul resurselor utilizate.

Mentenabilitatea - Aceste caracteristici ale software-ului, care a minimiza eforturile de modificare a acestuia pentru a corecta erorile și modificările în conformitate cu nevoile în schimbare ale utilizatorilor.

Mobilitatea - capacitatea de a software-ului care urmează să fie transferate de la un mediu (mediu) la altul, în special, pe un computer la altul.

Funcționalitatea și fiabilitatea sunt criterii obligatorii pentru software de calitate, fiabilitate și securitate va pătrunde prin toate etapele și procesele de dezvoltare software. sunt utilizate alte criterii, în funcție de nevoile utilizatorilor, în conformitate cu cerințele software-ului. Pentru specificarea calității software-ului pentru fiecare dintre criteriile utilizate set standardizat de proprietăți destul de simple ale software-ului, interpretat în mod unic de către dezvoltatori. Aceste proprietăți vor fi numite ca un software primitiv. Unele dintre primitivele pot fi folosite de mai multe criterii. Mai jos este dependența criteriilor de calitate ale calității primitivelor software.

Fiabilitate: exhaustivitatea, precizia, rezistenta, stabilitate, securitate.

Ușurința de aplicare: conținut de informații (numai cu referire la documentația privind cererea), sociabilitate, stabilitate, protectie documentare P.

Eficiență: temporalăáI eficacitate, eficiență a resurselor (memorie), eficacitatea dispozitivelor.

Mentenabilitate. Cu acest criteriu implică o mulțime de diferite primitivelor de calitate. Cu toate acestea, ele pot fi împărțite în două grupe, subliniind calitatea celor două subcriterii: izuchaemost și modificabil.

Izuchaemost - o caracteristică pe care să minimizeze eforturile de a explora și de a înțelege software-ul de software și documentație.

Modifiability - sunt caracteristici ale software-ului, care se pot ajusta în mod automat la condițiile de utilizare a software-ului sau de a face mai ușor de a modifica manual necesare și îmbunătățiri.

Izuchaemost: conținutul informațional (așa cum se aplică aici la documentația de întreținere)-documentare C, claritate, structurare, lizibilitatea.

Modifiability: scalabilitate, modifiability (în sens restrâns, deoarece calitatea primitiv), structurarea, modularitatea.

Mobilitate: Independența dispozitivului, autonomie, structurare, modularitatea.

Mai jos sunt definiții ale calității primitivelor software.

Completitudinea (exhaustivitate) - proprietate care caracterizează gradul de posesie asupra tuturor pieselor necesare și funcțiile necesare pentru a-și îndeplini funcțiile lor explicite și implicite.

Acc (precizie) - o măsură care caracterizează valoarea de eroare acceptabilă în programele emise pe baza rezultatelor în ceea ce privește utilizarea lor intenționată.

Autonomie (auto-containedness) - proprietăți ce caracterizează capacitatea de a îndeplini funcția urmărită fără ajutorul sau sprijinul altor componente software.

Stabilitate (robustețe) - proprietăți ce caracterizează capacitatea de a continua funcționarea corectă, în ciuda intrării incorecte (eronată).

Securitate (defensiveness) - proprietăți ce caracterizează capacitatea de a rezista (distrugerea) acțiunilor utilizatorilor intenționate sau accidentale distructive.

P-documentare (documentare u.) - proprietate care caracterizează disponibilitatea, caracterul complet, claritatea, accesibilitatea și vizibilitatea documentelor de formare, de orientare și de referință necesare pentru software-ul de aplicație.

Informativeness (responsabilitate) - proprietate, caracterizată prin prezența în compoziție în conformitate cu informațiile necesare și suficiente pentru scopul de a înțelege software-ul, ipotezele făcute, limitările existente, datele de intrare și rezultatele componentelor individuale, precum și starea actuală a programului în cursul funcționării lor.

temporaláEficiența I (eficiență timp) - o măsură care caracterizează capacitatea de a îndeplini funcția sa pentru o anumită perioadă de timp.

Eficacitatea resurselor (eficiența resurselor) - o măsură care caracterizează capacitatea de a-și îndeplini funcțiile sale în conformitate cu anumite restricții privind resursele utilizate (de utilizare a memoriei).

Eficiența dispozitivelor (eficiența dispozitivului) - o măsură care caracterizează economia de utilizare a echipamentului mașinii pentru sarcina.

C-dokumentirovapnnost (documentație) - caracteristică de proprietate în ceea ce privește disponibilitatea documentației care să reflecte cerințele de software și rezultatele diferitelor etape ale dezvoltării acestui software, inclusiv capacitățile, limitările și alte caracteristici ale software-ului, precum și justificarea acestora.

Comprehensibilitatea (inteligibilitatea) - proprietăți ce caracterizează gradul în care software-ul vă permite să studieze fața lui să înțeleagă scopul, ipotezele făcute și limitările, datele de intrare și rezultatele programelor sale, textele acestor programe și stadiul punerii în aplicare a acestora.

Structured (structuredness) - proprietăți care caracterizează software-ul programului din perspectiva părților interconectate într-o singură unitate într-un anumit mod (de exemplu, în conformitate cu principiile programării structurate).

Lizibilitate (lizibilitate) - proprietăți ce caracterizează ușurința de percepție a textului cu privire la programul (liniuțe, fragmentarea, formatare).

Extensibilitate (augmentability) - proprietăți ce caracterizează capacitatea de a software-ului de a utiliza mai multă memorie pentru stocarea de date sau extinderea funcționalității componentelor individuale.

Modifiability (modifiability) - o măsură care caracterizează software-ul în ceea ce privește ușurința de a face modificări și îmbunătățiri necesare în toate fazele și etapele ciclului de viață al software-ului.

Modularitate (modularitate) - proprietăți ce caracterizează software-ul din perspectiva programelor sale de astfel de componente discrete care se schimba intr-unul are un impact minim asupra altor componente.

Independența față de dispozitive (independența) - dispozitiv de proprietate care caracterizează capacitatea de a rula pe hardware-ul divers (diferite tipuri, marci, modele de calculator).