Kaj je programsko inženirstvo? Definicija, osnove, značilnosti

Kazalo:

Anonim

Kaj je programsko inženirstvo?

Programsko inženirstvo je opredeljeno kot postopek analize uporabniških zahtev in nato oblikovanja, izdelave in preizkušanja programske opreme, ki bo tem zahtevam ustrezala.

Poglejmo si različne definicije programskega inženiringa:

  • IEEE v svojem standardu 610.12-1990 programsko inženirstvo opredeljuje kot uporabo sistematičnega, discipliniranega, kar je izračunljiv pristop za razvoj, delovanje in vzdrževanje programske opreme.
  • Fritz Bauer jo je opredelil kot "ustanovo in uporabil standardna inženirska načela. Pomaga vam ekonomično pridobiti zanesljivo programsko opremo, ki učinkovito deluje na resničnih strojih.
  • Boehm opredeljuje programsko inženirstvo, ki vključuje "praktično uporabo znanstvenega znanja pri kreativnem oblikovanju in gradnji računalniških programov. Vključuje tudi pripadajočo dokumentacijo, potrebno za njihov razvoj, delovanje in vzdrževanje. '

V tej vadnici programskega inženiringa boste izvedeli:

  • Kaj je programsko inženirstvo?
  • Zakaj programsko inženirstvo? Kriza programske opreme in njena rešitev
  • Zakaj je programsko inženirstvo priljubljeno?
  • Povezava programskega inženirstva z drugimi disciplinami
  • Izzivi programskega inženirstva
  • Atributi za programske izdelke
  • Značilnosti dobre programske opreme

Zakaj programsko inženirstvo? Kriza programske opreme in njena rešitev:

Kaj je bila kriza programske opreme?

  • Bilo je konec šestdesetih let, ko je veliko programskih projektov propadlo.
  • Številna programska oprema je presegla proračun. Rezultat je bila nezanesljiva programska oprema, ki jo je drago vzdrževati.
  • Večjo programsko opremo je bilo težko in precej drago vzdrževati.
  • Veliko programske opreme ni sposobno zadovoljiti naraščajočih zahtev kupca.
  • Kompleksnost programskih projektov se je povečevala, ko se je povečala njihova zmogljivost strojne opreme.
  • Povpraševanje po novi programski opremi se je hitreje povečalo v primerjavi z zmožnostjo ustvarjanja nove programske opreme.

Vsa zgoraj navedena vprašanja vodijo do "programske krize".

Rešitev

Rešitev problema je bila pretvorba neorganiziranega kodiranja v disciplino programskega inženiringa. Ti inženirski modeli so podjetjem pomagali pri racionalizaciji poslovanja in dobavi programske opreme, ki ustreza zahtevam strank.

  • Konec sedemdesetih let je bila razširjena uporaba načel programskega inženiringa.
  • V osemdesetih letih je prišlo do avtomatizacije procesa programskega inženiringa in rasti računalniškega programskega inženirstva (CASE).
  • V devetdesetih letih je bil vse večji poudarek na "upravljavskih" vidikih standardov kakovosti in procesov projektov, tako kot ISO 9001

Zakaj je programsko inženirstvo priljubljeno?

Tu so pomembni razlogi za priljubljenost programskega inženiringa:

  • Velika programska oprema - V našem resničnem življenju je zidanje zidov bolj prijetno kot hiše ali stavbe. Ko se velikost programske opreme povečuje, vam tudi programska tehnika pomaga pri izdelavi programske opreme.
  • Razširljivost - če bi postopek razvoja programske opreme temeljil na znanstvenih in inženirskih konceptih, je lažje znova ustvariti novo programsko opremo za razširitev obstoječe.
  • Prilagodljivost : Kadar koli je proces programske opreme temeljil na znanstvenem in inženirskem delu, je enostavno znova ustvariti novo programsko opremo s pomočjo programskega inženirstva.
  • Stroškovna industrija strojne opreme je pokazala svoje spretnosti, velika proizvodnja pa znižuje stroške računalniške in elektronske strojne opreme.
  • Dinamična narava - vedno narašča in prilagaja naravo programske opreme. Odvisno od okolja, v katerem uporabnik deluje.
  • Upravljanje kakovosti : ponuja boljši način razvoja programske opreme za zagotavljanje kakovostnih programskih izdelkov.

Povezava programskega inženirstva z drugimi disciplinami

Tukaj je opisano, kako je programsko inženirstvo povezano z drugimi disciplinami:

  • Računalništvo: daje znanstvene temelje programski opremi, saj je elektrotehnika odvisna predvsem od fizike.
  • Znanost o upravljanju: Programsko inženirstvo je delovno intenzivno delo, ki zahteva tako tehnični kot vodstveni nadzor. Zato se pogosto uporablja v znanosti o upravljanju.
  • Ekonomija: V tem sektorju vam programsko inženirstvo pomaga pri ocenjevanju virov in nadzoru stroškov. Razviti je treba računalniški sistem in podatke je treba redno vzdrževati v okviru danega proračuna.
  • Sistemsko inženirstvo: Večina programske opreme je sestavni del veliko večjega sistema. Na primer programska oprema v industrijskem nadzornem sistemu ali letalska programska oprema na letalu. Za preučevanje te vrste sistemov je treba uporabiti metode programskega inženirstva.

Izzivi programskega inženirstva

Tu je nekaj kritičnih izzivov, s katerimi se soočajo programski inženirji:

  • Na varnostno kritičnih področjih, kot so vesolje, letalstvo, jedrske elektrarne itd., So lahko stroški odpovedi programske opreme veliki, ker so ogrožena življenja.
  • Povečane zahteve na trgu po hitrem času obrata.
  • Spopadanje s povečano zapletenostjo potrebe po programski opremi za nove aplikacije.
  • Raznolikost programskih sistemov mora biti medsebojna komunikacija.

Atributi za programske izdelke

Značilnosti katerega koli programskega izdelka vključujejo funkcije, ki jih izdelek prikaže, ko je nameščen in v uporabi.

Niso storitve, ki jih zagotavlja izdelek. Namesto tega so povezani z dinamičnim vedenjem izdelkov in njegovo uporabo.

Primeri teh lastnosti so:

Efficiency, reliability, robustness, maintainability, etc.

Vendar se relativni pomen teh značilnosti razlikuje od posameznega programskega sistema do drugega.

Značilnosti izdelka Opis
Vzdrževalnost Programska oprema bi se morala razvijati tako, da bo ustrezala spreminjajočim se zahtevam strank.
Zanesljivost Zanesljivost vključuje različne značilnosti. Zanesljiva programska oprema v času okvare sistema ne sme povzročiti fizične ali ekonomske škode.
Učinkovitost Programska aplikacija bi morala pretirano uporabljati sistemske vire, kot sta pomnilnik in cikel procesorja.
Uporabnost Programska aplikacija mora imeti poseben uporabniški vmesnik in dokumentacijo.

Optimizacija zgornjega atributa je zelo zahtevna. Ponudba boljšega uporabniškega vmesnika lahko na primer zmanjša učinkovitost sistema.

Značilnosti dobre programske opreme

Vsako programsko opremo je treba ocenjevati glede na to, kaj ponuja, in katere metode vam pomagajo pri njeni uporabi.

Vsaka programska oprema mora izpolnjevati naslednje lastnosti:

  • Operativni
  • Prehodna
  • Vzdrževanje

Tu je nekaj pomembnih značilnosti dobre programske opreme, ki so jo razvili strokovnjaki za programsko opremo

Operativni

Ta značilnost nam sporoča, kako dobro deluje programska oprema pri operacijah, ki jih je mogoče izmeriti na:

  • Proračun
  • Učinkovitost
  • Uporabnost
  • Zanesljivost
  • Pravilnost
  • Funkcionalnost
  • Varnost
  • Varnost

Prehodna

To je bistven vidik pri selitvi programske opreme z ene platforme na drugo:

  • Interoperabilnost
  • Ponovna uporabnost
  • Prenosljivost
  • Prilagodljivost

Vzdrževanje

Ta vidik govori o tem, kako dobro se programska oprema lahko prilagaja v hitro spreminjajočem se okolju:

  • Prilagodljivost
  • Vzdrževalnost
  • Modularnost
  • Razširljivost

Povzetek

  • Programsko inženirstvo je postopek analize uporabniških zahtev in nato oblikovanje, izdelava in preizkušanje programske aplikacije, ki bo tem zahtevam ustrezala
  • Pomembni razlogi za uporabo programskega inženiringa so: 1) velika programska oprema, 2) razširljivost 3) prilagodljivost 4) stroški in 5) dinamična narava.
  • Konec šestdesetih let prejšnjega stoletja je veliko programske opreme preveč. Zato ponuja nezanesljivo programsko opremo, ki je draga za vzdrževanje.
  • Konec sedemdesetih let je bila razširjena uporaba načel programskega inženiringa.
  • Koncept programskega inženirstva 1) Računalništvo 2) Znanost o upravljanju 3) Sistemsko inženirstvo in 4) Ekonomija
  • Povečanje zahtev trga po hitrem preobratu je največji izziv na področju programskega inženiringa.
  • 1) Vzdrževalnost, 2) Zanesljivost, 3) Učinkovitost in, 4) Uporabnost so najpomembnejši atributi programskih izdelkov.
  • Tri najpomembnejše značilnosti dobre programske opreme so 1) operativna 2) prehodna 3) vzdrževanje.