Ce este ingineria software? Definiție, elemente de bază, caracteristici

Cuprins:

Anonim

Ce este ingineria software?

Ingineria software este definită ca un proces de analiză a cerințelor utilizatorilor și apoi de proiectare, construire și testare a aplicațiilor software care vor satisface aceste cerințe.

Să ne uităm la diferitele definiții ale ingineriei software:

  • IEEE, în standardul său 610.12-1990, definește ingineria software ca aplicarea unui sistematic, disciplinat, care este o abordare calculabilă pentru dezvoltarea, funcționarea și întreținerea software-ului.
  • Fritz Bauer a definit-o ca „stabilirea și a folosit principiile standard de inginerie. Vă ajută să obțineți, din punct de vedere economic, software care este fiabil și funcționează eficient pe mașinile reale.
  • Boehm definește ingineria software, care implică „aplicarea practică a cunoștințelor științifice la proiectarea creativă și construirea de programe de calculator. De asemenea, include documentația asociată necesară dezvoltării, operării și întreținerii acestora. '

În acest tutorial de inginerie software, veți învăța:

  • Ce este ingineria software?
  • De ce inginerie software? Criza software și soluția sa
  • De ce este popular Ingineria software?
  • Relația ingineriei software cu alte discipline
  • Provocările ingineriei software
  • Atribute pentru produsele software
  • Caracteristicile bunului software

De ce inginerie software? Criza software și soluția sa:

Care a fost criza software-ului?

  • La sfârșitul anilor 1960, multe proiecte software au eșuat.
  • Multe programe software au depășit bugetul. Ieșirea a fost un software de încredere, care este scump de întreținut.
  • Un software mai mare a fost dificil și destul de scump de întreținut.
  • O mulțime de programe software care nu pot satisface cerințele în creștere ale clientului.
  • Complexitatea proiectelor software a crescut ori de câte ori capacitatea hardware a crescut.
  • Cererea de software nou a crescut mai rapid în comparație cu capacitatea de a genera software nou.

Toate problemele de mai sus conduc la „Criza software-ului”.

Soluția

Soluția era problema transformării efortului de codare neorganizat într-o disciplină de inginerie software. Aceste modele de inginerie au ajutat companiile să eficientizeze operațiunile și să furnizeze software care îndeplinește cerințele clienților.

  • La sfârșitul anilor '70 s-au văzut utilizarea pe scară largă a principiilor de inginerie software.
  • În anii 1980, automatizarea proceselor de inginerie software și creșterea (CASE) Inginerie software asistată de computer.
  • Anii 1990 au văzut un accent sporit asupra aspectelor de „management” ale proiectelor standard de calitate și procese la fel ca ISO 9001

De ce este popular Ingineria software?

Iată câteva motive importante care stau la baza popularității ingineriei software:

  • Software mare - În viața noastră reală, este destul de confortabil să construim un perete decât o casă sau o clădire. În același mod, pe măsură ce dimensiunea software-ului devine mare, ingineria software vă ajută să creați software.
  • Scalabilitate - Dacă procesul de dezvoltare software s-a bazat pe concepte științifice și inginerești, este mai ușor să recreezi software nou pentru a scala unul existent.
  • Adaptabilitate : Ori de câte ori procesul software s-a bazat pe știință și inginerie, este ușor să recreezi software nou cu ajutorul ingineriei software.
  • Costul - industria hardware și-a arătat abilitățile și producția uriașă a redus costul computerului și al hardware-ului electronic.
  • Natura dinamică - Creșterea și adaptarea întotdeauna a naturii software-ului. Depinde de mediul în care lucrează utilizatorul.
  • Managementul calității : oferă o metodă mai bună de dezvoltare software pentru a oferi produse software de calitate.

Relația ingineriei software cu alte discipline

Iată cum se referă ingineria software la alte discipline:

  • Informatică: oferă fundamentul științific pentru software, deoarece ingineria electrică depinde în principal de fizică.
  • Știința managementului: ingineria software este o muncă intensivă în muncă, care necesită atât control tehnic, cât și managerial. Prin urmare, este utilizat pe scară largă în știința managementului.
  • Economia: În acest sector, ingineria software vă ajută în estimarea resurselor și controlul costurilor. Sistemul de calcul trebuie dezvoltat, iar datele trebuie menținute în mod regulat într-un anumit buget.
  • Ingineria sistemului: Majoritatea software-ului este o componentă a unui sistem mult mai mare. De exemplu, software-ul dintr-un sistem de monitorizare industrial sau software-ul de zbor pe un avion. Metodele de inginerie software ar trebui aplicate studiului acestui tip de sisteme.

Provocările ingineriei software

Iată câteva provocări critice cu care se confruntă inginerii software:

  • În zone critice pentru siguranță, cum ar fi spațiul, aviația, centralele nucleare, etc., costul defectării software-ului poate fi masiv, deoarece viețile sunt expuse riscului.
  • Cereri crescute de piață pentru un timp de livrare rapid.
  • Gestionarea complexității crescute a nevoilor de software pentru aplicații noi.
  • Diversitatea sistemelor software ar trebui să comunice între ele.

Atribute pentru produsele software

Caracteristicile oricărui produs software includ caracteristici care sunt afișate de produs atunci când este instalat și pus în funcțiune.

Acestea nu sunt serviciile furnizate de produs. În schimb, acestea s-au referit la comportamentul dinamic al produselor și la utilizarea produsului.

Exemple ale acestor atribute sunt:

Efficiency, reliability, robustness, maintainability, etc.

Cu toate acestea, importanța relativă a acestor caracteristici variază de la un sistem software la altul.

Caracteristicile produsului Descriere
Mentenabilitate Software-ul ar trebui să evolueze pentru a satisface cerințele în schimbare ale clienților.
Fiabilitate Fiabilitatea include diverse caracteristici. Software-ul de încredere nu ar trebui să provoace niciodată daune fizice sau economice în momentul defectării sistemului.
Eficienţă Aplicația software ar trebui să utilizeze excesiv resursele sistemului, cum ar fi memoria și ciclul procesorului.
Utilizare Aplicația software ar trebui să aibă interfață de utilizare și documentație specifice.

Optimizarea atributului de mai sus este foarte provocatoare. De exemplu, oferirea unei UI mai bune poate reduce eficiența sistemului.

Caracteristicile bunului software

Orice software ar trebui să fie judecat după ce oferă și care sunt metodele care vă ajută să îl utilizați.

Fiecare software trebuie să îndeplinească următoarele atribute:

  • Operațional
  • Tranzitorie
  • întreținere

Iată câteva caracteristici importante ale unui software bun dezvoltat de profesioniști în software

Operațional

Această caracteristică ne anunță cât de bine funcționează software-ul în operațiile care pot fi măsurate pe:

  • Buget
  • Eficienţă
  • Utilizare
  • Fiabilitate
  • Corectitudine
  • Funcționalitate
  • Siguranță
  • Securitate

Tranzitorie

Acesta este un aspect esențial atunci când software-ul este mutat de pe o platformă pe alta:

  • Interoperabilitate
  • Reutilizarea
  • Portabilitate
  • Adaptabilitate

întreținere

Acest aspect vorbește despre cât de bine software-ul are capacitățile de a se adapta în mediul în schimbare rapidă:

  • Flexibilitate
  • Mentenabilitate
  • Modularitate
  • Scalabilitate

rezumat

  • Ingineria software este un proces de analiză a cerințelor utilizatorilor și apoi de proiectare, construire și testare a aplicațiilor software care vor satisface aceste cerințe
  • Motivele importante pentru utilizarea ingineriei software sunt: ​​1) Software mare, 2) Scalabilitate 3) Adaptabilitate 4) Cost și 5) Natura dinamică.
  • La sfârșitul anilor 1960, multe programe software depășesc bugetul. Prin urmare, oferă software necredibil, care este scump de întreținut.
  • La sfârșitul anilor '70 s-au văzut utilizarea pe scară largă a principiilor de inginerie software.
  • Conceptul de inginerie software 1) Informatică 2) Știința managementului 3) Ingineria sistemelor și 4) Economia
  • Cererile crescute ale pieței pentru o perioadă de timp rapidă sunt cele mai mari provocări din domeniul ingineriei software.
  • 1) Mentenabilitate, 2) Încredere, 3) Eficiență și, 4) Utilizare sunt cele mai importante atribute ale produselor software.
  • Cele mai importante trei caracteristici ale unui software bun sunt 1) Operațional 2) Tranzitor 3) Întreținere.