Programska oprema je program ali niz programov, ki vsebuje navodila, ki zagotavljajo želeno funkcionalnost. Inženiring je proces oblikovanja in gradnje nečesa, kar služi določenemu namenu in najde stroškovno učinkovito rešitev za težave.
Kazalo
- Kaj je programsko inženirstvo?
- Ključna načela programskega inženiringa
- Glavni atributi programskega inženiringa
- Dvojna vloga programske opreme
- Cilji programskega inženiringa
- Program proti programskemu izdelku
- Prednosti programskega inženiringa
- Slabosti programskega inženiringa
- Vprašanja za vajo
- Pogosta vprašanja o programskem inženiringu
Kaj je programsko inženirstvo?
Programsko inženirstvo je proces oblikovanja, razvoja, testiranja in vzdrževanja programske opreme. Gre za sistematičen in discipliniran pristop k razvoju programske opreme, katerega namen je ustvariti visokokakovostno, zanesljivo in vzdržljivo programsko opremo.
- Programsko inženirstvo vključuje različne tehnike, orodja in metodologije, vključno z analizo zahtev, načrtovanjem, testiranjem in vzdrževanjem.
- To je hitro razvijajoče se področje in nenehno se razvijajo nova orodja in tehnologije za izboljšanje procesa razvoja programske opreme.
- Z upoštevanjem načel programskega inženiringa ter uporabo ustreznih orodij in metodologij lahko razvijalci programske opreme ustvarijo visoko kakovostno, zanesljivo in vzdržljivo programsko opremo, ki ustreza potrebam uporabnikov.
- Programsko inženirstvo se večinoma uporablja za velike projekte, ki temeljijo na programskih sistemih in ne na posameznih programih ali aplikacijah.
- Glavni cilj programskega inženiringa je razvoj programskih aplikacij za izboljšanje kakovosti, proračuna in časovne učinkovitosti.
- Programsko inženirstvo zagotavlja, da mora biti programska oprema, ki jo je treba zgraditi, dosledna, pravilna, tudi v skladu s proračunom, pravočasno in v okviru zahtevanih zahtev.
Ključna načela programskega inženiringa
- Modularnost : Razdelitev programske opreme na manjše komponente za večkratno uporabo, ki jih je mogoče razviti in preizkusiti neodvisno.
- Abstrakcija : Skrivanje izvedbenih podrobnosti komponente in izpostavljanje samo potrebnih funkcij drugim delom programske opreme.
- Enkapsulacija : Zavijanje podatkov in funkcij objekta v eno samo enoto in zaščita notranjega stanja objekta pred zunanjimi spremembami.
- Ponovno uporabnost : Ustvarjanje komponent, ki jih je mogoče uporabiti v več projektih, kar lahko prihrani čas in vire.
- Vzdrževanje : redno posodabljanje in izboljševanje programske opreme za odpravljanje napak, dodajanje novih funkcij in odpravljanje varnostnih ranljivosti.
- Testiranje : Preverjanje, ali programska oprema izpolnjuje svoje zahteve in je brez napak.
- Oblikovalski vzorci : Reševanje ponavljajočih se težav pri načrtovanju programske opreme z zagotavljanjem predlog za njihovo reševanje.
- Agilne metodologije: Uporaba iterativnih in inkrementalnih razvojnih procesov, ki se osredotočajo na zadovoljstvo strank, hitro dostavo in prilagodljivost.
- Nenehna integracija in uvajanje: Nenehno vključevanje sprememb kode in njihovo uvajanje v produkcijsko okolje.
Glavni atributi programskega inženiringa
Programsko inženirstvo je sistematična, disciplinirana, merljiva študija in pristop k oblikovanju, razvoju, delovanju in vzdrževanju programskega sistema. Obstajajo štiri glavne lastnosti programskega inženiringa.
- Učinkovitost: Zagotavlja učinkovito merjenje potreb po sredstvih programskega izdelka.
- Zanesljivost: Zagotavlja, da bo izdelek dosegel enake rezultate, če se uporablja v podobnem delovnem okolju.
- Ponovna uporabnost: Ta atribut zagotavlja, da se modul lahko uporablja v več aplikacijah.
- Vzdrževanje: To je zmožnost programske opreme, da jo je mogoče enostavno spremeniti, popraviti ali izboljšati glede na spreminjajoče se zahteve.
Dvojna vloga programske opreme
Programska oprema ima v industriji dvojno vlogo. Prvi je kot izdelek, drugi pa kot sredstvo za dostavo izdelka. Razpravljali bomo o obeh.
prilagojena izjema v Javi
1. Kot izdelek
- Zagotavlja računalniški potencial v omrežjih strojne opreme.
- Strojni opremi omogoča zagotavljanje pričakovane funkcionalnosti.
- Deluje kot pretvornik informacij, ker proizvaja, upravlja, pridobiva, spreminja, prikazuje ali prenaša informacije.
2. Kot sredstvo za dostavo izdelka
- Zagotavlja funkcionalnost sistema (npr. sistem obračuna plač).
- Nadzoruje drugo programsko opremo (npr. operacijski sistem).
- Pomaga graditi drugo programsko opremo (npr. programska orodja).
Cilji programskega inženiringa
- Vzdrževanje: Programska oprema bi morala biti izvedljiva, da bi se razvijala tako, da bi ustrezala spreminjajočim se zahtevam.
- Učinkovitost: Programska oprema ne sme potratno uporabljati računalniških naprav, kot so pomnilnik, cikli procesorja itd.
- Pravilnost: Programski izdelek je pravilen, če so izpolnjene različne zahteve, določene v Dokument SRS so bili pravilno izvedeni.
- Ponovna uporabnost: Programski izdelek ima dobro možnost ponovne uporabe, če je mogoče različne module izdelka zlahka ponovno uporabiti za razvoj novih izdelkov.
- Preizkušljivost: Tukaj programska oprema olajša vzpostavitev testnih meril in vrednotenje programske opreme v zvezi s temi merili.
- Zanesljivost: Je atribut kakovosti programske opreme. Obseg, v katerem se lahko pričakuje, da bo program izvajal želeno funkcijo v poljubnem časovnem obdobju.
- Prenosljivost: V tem primeru se programska oprema lahko prenese iz enega računalniškega sistema ali okolja v drugega.
- Prilagodljivost: V tem primeru programska oprema omogoča različne sistemske omejitve in uporabnik mora biti zadovoljen s spremembami programske opreme.
- Interoperabilnost: Zmožnost 2 ali več funkcionalnih enot za skupno obdelavo podatkov.
Program proti programskemu izdelku
| Parametri | Program | Programski izdelek |
|---|---|---|
| Opredelitev | Program je niz navodil, ki so dana računalniku za dosego določene naloge. java podniz | Programska oprema je, ko je program na voljo za komercialno poslovanje in je ustrezno dokumentiran skupaj z licenco. Programski izdelek = Program + Dokumentacija + Licenciranje. |
| Vključene stopnje | Program je ena od stopenj razvoja programske opreme. | Razvoj programske opreme običajno sledi življenjskemu ciklu, ki vključuje študijo izvedljivosti projekta, zbiranje zahtev, razvoj prototipa, načrtovanje sistema, kodiranje in testiranje. |
Prednosti programskega inženiringa
Uporaba sistematičnega in discipliniranega pristopa k razvoju programske opreme ima več prednosti, kot so:
- Izboljšana kakovost: Z upoštevanjem uveljavljenih načel in tehnik programskega inženiringa je mogoče programsko opremo razviti z manj napakami in večjo zanesljivostjo.
- Povečana produktivnost: Uporaba sodobnih orodij in metodologij lahko poenostavi razvojni proces, kar razvijalcem omogoča večjo produktivnost in hitrejše dokončanje projektov.
- Boljša vzdržljivost: Programsko opremo, ki je zasnovana in razvita z dobrimi praksami programskega inženiringa, je lažje vzdrževati in sčasoma posodabljati.
- Zmanjšani stroški: Z odkrivanjem in obravnavanjem morebitnih težav zgodaj v razvojnem procesu lahko inženiring programske opreme pomaga zmanjšati stroške odpravljanja napak in kasnejšega dodajanja novih funkcij.
- jaz Povečano zadovoljstvo strank: Z vključevanjem strank v razvojni proces in razvojem programske opreme, ki ustreza njihovim potrebam, lahko inženiring programske opreme pomaga povečati zadovoljstvo strank.
- Boljše timsko sodelovanje: Z uporabo Agile metodologij in nenehne integracije programski inženiring omogoča boljše sodelovanje med razvojnimi ekipami.
- Boljša razširljivost : z načrtovanjem programske opreme z mislijo na razširljivost lahko programski inženiring pomaga zagotoviti, da bo programska oprema zmožna obravnavati vse večje število uporabnikov in transakcij.
- Boljša varnost: S sledenjem Življenjski cikel razvoja programske opreme (SDLC) in izvajanju varnostnega testiranja lahko programski inženiring pomaga preprečiti kršitve varnosti in zaščiti občutljive podatke.
Če povzamemo, programski inženiring ponuja strukturiran in učinkovit pristop k razvoju programske opreme, ki lahko vodi do kakovostnejše programske opreme, ki jo je lažje vzdrževati in prilagajati spreminjajočim se zahtevam. To lahko pripomore k izboljšanju zadovoljstva strank in zmanjšanju stroškov, hkrati pa spodbuja boljše sodelovanje med razvojnimi ekipami.
Slabosti programskega inženiringa
Medtem ko programski inženiring ponuja številne prednosti, je treba upoštevati tudi nekaj možnih pomanjkljivosti:
- Visoki vnaprejšnji stroški: Izvajanje sistematičnega in discipliniranega pristopa k razvoj programske opreme je lahko intenziven z viri in zahteva znatne naložbe v orodja in usposabljanje.
- Omejena prilagodljivost: Sledenje uveljavljenim načelom in metodologijam programskega inženiringa je lahko togo in lahko omeji zmožnost hitrega prilagajanja spreminjajočim se zahtevam.
- Birokratsko : Programski inženiring lahko ustvari okolje, ki je birokratsko, z veliko procesi in papirologijo, kar lahko upočasni razvojni proces.
- Kompleksnost : S povečanjem števila orodij in metodologij je programsko inženirstvo lahko zapleteno in težko krmariti.
- Omejena ustvarjalnost: Osredotočenost na strukturo in proces lahko zaduši ustvarjalnost in inovativnost med razvijalci.
- Visoka krivulja učenja: Razvojni proces je lahko zapleten in zahteva veliko učenja in usposabljanja, kar je za nove razvijalce lahko izziv.
- Velika odvisnost od orodja: Programski inženiring je močno odvisen od orodij in če orodja niso pravilno konfigurirana ali niso združljiva s programsko opremo, lahko povzroči težave.
- Drago vzdrževanje : Postopek programskega inženiringa zahteva redno vzdrževanje, da se zagotovi učinkovito delovanje programske opreme, kar je lahko drago in dolgotrajno.
Če povzamemo, programsko inženirstvo je lahko drago in dolgotrajno ter lahko omejuje prilagodljivost in ustvarjalnost. Vendar pa lahko koristi izboljšane kakovosti, povečane produktivnosti in boljše vzdržljivosti odtehtajo stroške in kompleksnost. Pomembno je pretehtati prednosti in slabosti uporabe programskega inženiringa in ugotoviti, ali je to pravi pristop za določen projekt programske opreme.
Vprašanja za vajo
1. Orodje za upravljanje konfiguracije programske opreme pomaga pri [GATE CS 2004]
(A) spremljanje urnika na podlagi doseženega mejnika
(B) vzdrževanje različnih različic nastavljivih postavk
nick pulos črna strela
(C) upravljanje distribucije delovne sile s spreminjanjem strukture projekta
(D) vse našteto
rešitev: Pravilen odgovor je (B).
2. Katera od naslednjih trditev je/so resnične? [UGC NET CSE 2018]
P: Prenova programske opreme je boljša za izdelke programske opreme, ki imajo visoko stopnjo napak, slabo zasnovo in/ali slabo strukturo kode.
V: Povratni inženiring programske opreme je proces analiziranja programske opreme s ciljem obnoviti njeno zasnovo in specifikacijo zahtev.
(A) Samo P
(B) Niti P niti Q
(C) Samo Q
dekodiranje js base64
(D) Tako P kot Q
rešitev: Pravilen odgovor je (D).
3. Diagram, ki pomaga razumeti in predstaviti zahteve uporabnikov za projekt programske opreme z uporabo UML (Unified Modeling Language), je: [GATE CS 2004]
(A) Diagram odnosa entitet
(B) Diagram razmestitve
(C) Diagram toka podatkov
(D) Diagram primera uporabe
rešitev: Pravilen odgovor je (D).
četrtina v poslu
Pogosta vprašanja o programskem inženiringu
Kaj je prenova programske opreme?
leta: Re-inženiring programske opreme je v bistvu proces razvoja programske opreme, ki pomaga ohranjati kakovost sistema.
2. Navedite nekaj modelov življenjskega cikla razvoja programske opreme?
leta: Nekateri modeli življenjskega cikla razvoja programske opreme so omenjeni spodaj.
- Model slapa
- Model velikega poka
- Spiralni model
- Iterativni model
- V-model
3. Kaj je preverjanje in validacija v programskem inženirstvu?
leta: Preverjanje se nanaša na niz dejavnosti ali funkcij, ki preverjajo, ali je programska oprema implementirala pravilno funkcijo ali ne.
Validacija se nanaša na nabor dejavnosti, ki zagotavlja, da je programska oprema izdelana v skladu z zahtevami odjemalca.
Za več glejte Preverjanje in validacija v programskem inženirstvu .