Što je softversko inženjerstvo? Definicija, osnove, karakteristike

Što je softversko inženjerstvo?

Softverski inženjering definiran je kao proces analize zahtjeva korisnika, a zatim projektiranja, izrade i testiranja softverske aplikacije koja će zadovoljiti te zahtjeve.

Pogledajmo različite definicije softverskog inženjeringa:

  • IEEE u svom standardu 610.12-1990 definira softversko inženjerstvo kao primjenu sustavnog, discipliniranog pristupa koji se može izračunati za razvoj, rad i održavanje softvera.
  • Fritz Bauer definirao je to kao 'uspostavu i koristio standardna inženjerska načela. Pomaže vam u dobivanju, ekonomski, pouzdanog softvera koji učinkovito radi na pravim strojevima '.
  • Boehm definira softversko inženjerstvo, koje uključuje 'praktičnu primjenu znanstvenog znanja na kreativno projektiranje i izradu računalnih programa. Također uključuje pripadajuću dokumentaciju potrebnu za njihov razvoj, rad i održavanje. '

U ovom vodiču za softversko inženjerstvo naučit ćete:

Zašto softversko inženjerstvo? Kriza softvera i njegovo rješenje:

Što je bila softverska kriza?

  • Bilo je to krajem 1960 -ih kada su mnogi softverski projekti propali.
  • Mnogi su programi postali proračunski. Output je bio nepouzdan softver koji je skup za održavanje.
  • Veći softver bio je težak i prilično skup za održavanje.
  • Mnogo softvera ne može zadovoljiti rastuće zahtjeve kupaca.
  • Složenost softverskih projekata povećavala se kad god se povećala njegova hardverska sposobnost.
  • Potražnja za novim softverom brže je rasla u usporedbi sa sposobnošću generiranja novog softvera.

Svi gore navedeni problemi dovode do 'softverske krize'.

Rješenje

Rješenje problema bilo je pretvaranje neorganiziranog kodiranja u disciplinu softverskog inženjeringa. Ovi inženjerski modeli pomogli su tvrtkama da pojednostave poslovanje i isporuče softver koji zadovoljava zahtjeve kupaca.

  • Kasnih 1970 -ih došlo je do široke uporabe načela softverskog inženjeringa.
  • 1980-ih došlo je do automatizacije procesa softverskog inženjeringa i rasta (CASE) računalno potpomognutog softverskog inženjeringa.
  • U devedesetima se povećao naglasak na aspektima 'upravljanja' standardima kvalitete projekata i procesa, poput ISO 9001

Zašto je softversko inženjerstvo popularno?

Evo važnih razloga za popularnost softverskog inženjeringa:

  • Veliki softver - U našem stvarnom životu prilično je ugodnije izgraditi zid nego kuću ili zgradu. Na isti način, kako veličina softvera postaje velika, softversko inženjerstvo pomaže vam u izgradnji softvera.
  • Skalabilnost- Ako proces razvoja softvera temeljene na znanstvenim i inženjerskim konceptima, lakše je ponovno stvoriti novi softver kako bi se povećao postojeći.
  • Prilagodljivost : Kad god se softverski proces temeljio na znanosti i inženjeringu, lako je ponovno stvoriti novi softver uz pomoć softverskog inženjeringa.
  • Trošak- Industrija hardvera pokazala je svoje vještine, a ogromna proizvodnja smanjila je troškove računala i elektroničkog hardvera.
  • Dinamička priroda - Uvijek rastuća i prilagođavajuća priroda softvera. Ovisi o okruženju u kojem korisnik radi.
  • Upravljanje kvalitetom : Nudi bolju metodu razvoja softvera za pružanje kvalitetnih softverskih proizvoda.

Odnos softverskog inženjeringa s drugim disciplinama

Evo kako se softversko inženjerstvo odnosi na druge discipline:

  • Računarstvo: Daje znanstvene temelje za softver jer elektrotehnika uglavnom ovisi o fizici.
  • Znanost o upravljanju: Softverski inženjering je radno intenzivan posao koji zahtijeva i tehničku i upravljačku kontrolu. Stoga se naširoko koristi u znanosti o upravljanju.
  • Ekonomija: U ovom sektoru softversko inženjerstvo pomaže vam u procjeni resursa i kontroli troškova. Računalni sustav mora se razviti, a podaci se trebaju redovito održavati unutar zadanog proračuna.
  • Inženjering sustava: Većina softvera sastavni je dio mnogo većeg sustava. Na primjer, softver u sustavu za nadzor industrije ili softver za let u zrakoplovu. Za proučavanje ove vrste sustava treba primijeniti metode softverskog inženjeringa.

Izazovi softverskog inženjeringa

Evo nekoliko kritičnih izazova s ​​kojima se suočavaju softverski inženjeri:

  • U područjima kritičnim za sigurnost, poput svemira, zrakoplovstva, nuklearnih elektrana itd., Troškovi kvara softvera mogu biti veliki jer su životi ugroženi.
  • Povećani zahtjevi tržišta za brzo vrijeme obrade.
  • Suočavanje sa povećanom složenošću softverskih potreba za novim aplikacijama.
  • Raznolikost softverskih sustava trebala bi međusobno komunicirati.

Atributi softverskih proizvoda

Karakteristike svakog softverskog proizvoda uključuju značajke koje proizvod prikazuje kada je instaliran i stavljen u upotrebu.

To nisu usluge koje pruža proizvod. Umjesto toga, oni se odnose na dinamičko ponašanje proizvoda i uporabu proizvoda.

Primjeri ovih atributa su: | _+_ |

Međutim, relativna važnost ovih karakteristika razlikuje se od jednog do drugog softverskog sustava.

Karakteristike proizvoda Opis
OdrživostSoftver bi se trebao razvijati kako bi zadovoljio promjenjive zahtjeve klijenata.
PouzdanostPouzdanost uključuje različite karakteristike. Pouzdani softver nikada ne bi trebao uzrokovati nikakvu fizičku ili ekonomsku štetu u trenutku pada sustava.
UčinkovitostSoftverska aplikacija trebala bi prekomjerno koristiti sistemske resurse poput memorije i ciklusa procesora.
UpotrebljivostSoftverska aplikacija treba imati posebno korisničko sučelje i dokumentaciju.

Optimiziranje gornjeg atributa vrlo je izazovno. Na primjer, ponuda boljeg korisničkog sučelja može smanjiti učinkovitost sustava.

Karakteristike dobrog softvera

O svakom softveru treba suditi prema onome što nudi i prema metodama koje mu pomažu u korištenju.

Svaki softver mora zadovoljiti sljedeće atribute:

  • Operativno
  • Prijelazno
  • Održavanje

Evo nekoliko važnih karakteristika dobrog softvera koje su razvili softverski stručnjaci

Operativno

Ova karakteristika nam daje do znanja koliko softver radi u operacijama koje se mogu mjeriti na:

  • Proračun
  • Učinkovitost
  • Upotrebljivost
  • Pouzdanost
  • Ispravnost
  • Funkcionalnost
  • Sigurnost
  • Sigurnost

Prijelazno

Ovo je bitan aspekt pri premještanju softvera s jedne platforme na drugu:

  • Interoperabilnost
  • Ponovna upotreba
  • Prenosivost
  • Prilagodljivost

Održavanje

Ovaj aspekt govori o tome koliko softver ima mogućnosti prilagodbe u brzo mijenjajućem se okruženju:

  • Fleksibilnost
  • Održivost
  • Modularnost
  • Skalabilnost

Sažetak

  • Softverski inženjering je proces analize zahtjeva korisnika, a zatim projektiranja, izgradnje i testiranja softverske aplikacije koja će zadovoljiti te zahtjeve
  • Važni razlozi za korištenje softverskog inženjeringa su: 1) veliki softver, 2) skalabilnost 3) prilagodljivost 4) cijena i 5) dinamička priroda.
  • Krajem 1960 -ih mnogi softver postaje proračun. Stoga nudi nepouzdan softver koji je skup za održavanje.
  • Kasnih 1970 -ih došlo je do široke uporabe načela softverskog inženjeringa.
  • Koncept softverskog inženjeringa 1) Računalne znanosti 2) Znanosti upravljanja 3) Inženjering sustava i 4) Ekonomija
  • Povećani zahtjevi tržišta za brzom obradom najveći su izazovi na polju softverskog inženjeringa.
  • 1) Održivost, 2) Pouzdanost, 3) Učinkovitost i, 4) Upotrebljivost su najvažniji atributi softverskih proizvoda.
  • Tri najvažnije karakteristike dobrog softvera su 1) Operativno 2) Prijelazno 3) Održavanje.