logo

Ievads programmatūras inženierijā – programmatūras inženierija

Programmatūra ir programma vai programmu kopa, kas satur instrukcijas, kas nodrošina vēlamo funkcionalitāti. Inženierzinātnes ir process, kurā tiek izstrādāts un veidots kaut kas tāds, kas kalpo noteiktam mērķim un atrod izmaksu ziņā efektīvu risinājumu problēmām.

Satura rādītājs



Kas ir programmatūras inženierija?

Programmatūras inženierijas ir programmatūras projektēšanas, izstrādes, testēšanas un uzturēšanas process. Tā ir sistemātiska un disciplinēta pieeja programmatūras izstrādei, kuras mērķis ir radīt augstas kvalitātes, uzticamu un uzturējamu programmatūru.

  1. Programmatūras inženierija ietver dažādas metodes, rīkus un metodoloģijas, tostarp prasību analīzi, projektēšanu, testēšanu un apkopi.
  2. Tā ir joma, kas strauji attīstās, un programmatūras izstrādes procesa uzlabošanai pastāvīgi tiek izstrādāti jauni rīki un tehnoloģijas.
  3. Ievērojot programmatūras inženierijas principus un izmantojot atbilstošus rīkus un metodoloģijas, programmatūras izstrādātāji var izveidot kvalitatīvu, uzticamu un uzturējamu programmatūru, kas atbilst tās lietotāju vajadzībām.
  4. Programmatūras inženieriju galvenokārt izmanto lieliem projektiem, kuru pamatā ir programmatūras sistēmas, nevis atsevišķas programmas vai lietojumprogrammas.
  5. Programmatūras inženierijas galvenais mērķis ir izstrādāt lietojumprogrammas kvalitātes, budžeta un laika efektivitātes uzlabošanai.
  6. Programmatūras inženierija nodrošina, ka programmatūrai, kas ir jāveido, jābūt konsekventai, pareizai, arī budžetam, laikā un noteiktajām prasībām.

Programmatūras inženierijas galvenie principi

  1. Modularitāte : programmatūras sadalīšana mazākos, atkārtoti lietojamos komponentos, kurus var izstrādāt un pārbaudīt neatkarīgi.
  2. Abstrakcija : komponenta ieviešanas informācijas slēpšana un tikai nepieciešamās funkcionalitātes pakļaušana citām programmatūras daļām.
  3. Iekapsulēšana : objekta datu un funkciju apkopošana vienā vienībā un objekta iekšējā stāvokļa aizsardzība pret ārējām modifikācijām.
  4. Atkārtota izmantošana : veidojot komponentus, kurus var izmantot vairākos projektos, kas var ietaupīt laiku un resursus.
  5. Apkope : regulāri atjauniniet un uzlabojiet programmatūru, lai labotu kļūdas, pievienotu jaunas funkcijas un novērstu drošības ievainojamības.
  6. Testēšana : pārbauda, ​​vai programmatūra atbilst tās prasībām un tajā nav kļūdu.
  7. Dizaina modeļi : Atkārtotu problēmu risināšana programmatūras projektēšanā, nodrošinot veidnes to risināšanai.
  8. Agile metodikas: Iteratīvu un pakāpenisku izstrādes procesu izmantošana, kas vērsta uz klientu apmierinātību, ātru piegādi un elastību.
  9. Nepārtraukta integrācija un izvietošana: Pastāvīga koda izmaiņu integrēšana un izvietošana ražošanas vidē.

Programmatūras inženierijas galvenie atribūti

Programmatūras inženierija ir sistemātisks, disciplinēts, kvantitatīvi nosakāms pētījums un pieeja programmatūras sistēmas projektēšanai, izstrādei, darbībai un uzturēšanai. Ir četri galvenie programmatūras inženierijas atribūti.

  1. Efektivitāte: Tas efektīvi nosaka programmatūras produkta resursu prasības.
  2. Uzticamība: Tas nodrošina, ka produkts sniegs tādus pašus rezultātus, ja to izmantos līdzīgā darba vidē.
  3. Atkārtoti lietojama: Šis atribūts nodrošina, ka moduli var izmantot vairākās lietojumprogrammās.
  4. Uzturamība: Tā ir programmatūras iespēja viegli modificēt, labot vai uzlabot, mainoties prasībām.

Programmatūras dubultā loma

Nozarē programmatūrai ir divējāda loma. Pirmais ir kā produkts, bet otrs ir kā līdzeklis preces piegādei. Mēs tos abus apspriedīsim.



1. Kā produkts

  • Tas nodrošina skaitļošanas potenciālu visos aparatūras tīklos.
  • Tas ļauj aparatūrai nodrošināt gaidīto funkcionalitāti.
  • Tas darbojas kā informācijas pārveidotājs, jo ražo, pārvalda, iegūst, modificē, parāda vai pārraida informāciju.

2. Kā transportlīdzeklis preces piegādei

  • Tas nodrošina sistēmas funkcionalitāti (piemēram, algu sistēma).
  • Tas kontrolē citu programmatūru (piemēram, operētājsistēmu).
  • Tas palīdz izveidot citu programmatūru (piemēram, programmatūras rīkus).

Programmatūras inženierijas mērķi

  1. Uzturamība: Programmatūrai jābūt iespējai attīstīties, lai tā atbilstu mainīgajām prasībām.
  2. Efektivitāte: Programmatūra nedrīkst izšķērdīgi izmantot skaitļošanas ierīces, piemēram, atmiņu, procesora ciklus utt.
  3. Pareizība: Programmatūras produkts ir pareizs, ja tiek izpildītas dažādās prasības, kas norādītas VID dokuments ir pareizi īstenoti.
  4. Atkārtoti lietojama: Programmatūras produktam ir laba atkārtota izmantošana, ja dažādus produkta moduļus var viegli izmantot, lai izstrādātu jaunus produktus.
  5. Pārbaudāmība: Šeit programmatūra atvieglo gan pārbaudes kritēriju noteikšanu, gan programmatūras novērtēšanu saistībā ar šiem kritērijiem.
  6. Uzticamība: Tas ir programmatūras kvalitātes atribūts. Apmērs, kādā programma var veikt vēlamo funkciju patvaļīgā laika periodā.
  7. Pārnesamība: Šajā gadījumā programmatūru var pārsūtīt no vienas datorsistēmas vai vides uz citu.
  8. Pielāgošanās spēja: Šajā gadījumā programmatūra pieļauj dažādus sistēmas ierobežojumus, un lietotājam ir jāapmierina, veicot programmatūras izmaiņas.
  9. Sadarbspēja: 2 vai vairāku funkcionālo vienību iespēja kopīgi apstrādāt datus.

Programma pret programmatūras produktu

Parametri

Programma

string.formāts java

Programmatūras produkts



Definīcija

java datu bāze jdbc

Programma ir instrukciju kopums, kas tiek dota datoram, lai veiktu noteiktu uzdevumu.

Programmatūra ir tad, kad programma ir pieejama komerciālai darbībai un ir pareizi dokumentēta kopā ar tās licencēšanu.

Programmatūras produkts = programma + dokumentācija + licencēšana.

Iesaistītie posmi

Programma ir viens no programmatūras izstrādes posmiem.

Programmatūras izstrāde parasti notiek pēc dzīves cikla, kas ietver projekta priekšizpēti, prasību apkopošanu, prototipa izstrādi, sistēmas projektēšanu, kodēšanu un testēšanu.

Programmatūras inženierijas priekšrocības

Sistemātiskas un disciplinētas programmatūras izstrādes pieejas izmantošanai ir vairākas priekšrocības, piemēram:

  1. Uzlabota kvalitāte: Ievērojot noteiktos programmatūras inženierijas principus un metodes, programmatūru var izstrādāt ar mazāku kļūdu skaitu un lielāku uzticamību.
  2. Paaugstināta produktivitāte: Izmantojot mūsdienīgus rīkus un metodoloģijas, var racionalizēt izstrādes procesu, ļaujot izstrādātājiem būt produktīvākiem un ātrāk pabeigt projektus.
  3. Labāka apkope: Programmatūru, kas izstrādāta un izstrādāta, izmantojot pareizu programmatūras inženierijas praksi, laika gaitā ir vieglāk uzturēt un atjaunināt.
  4. Samazinātas izmaksas: Nosakot un risinot iespējamās problēmas izstrādes procesa sākumā, programmatūras inženierija var palīdzēt samazināt kļūdu labošanas un jaunu funkciju pievienošanas izmaksas vēlāk.
  5. es paaugstināta klientu apmierinātība: Iesaistot klientus izstrādes procesā un izstrādājot viņu vajadzībām atbilstošu programmatūru, programmatūras inženierija var palīdzēt palielināt klientu apmierinātību.
  6. Labāka komandas sadarbība: Izmantojot Agile metodoloģijas un nepārtrauktu integrāciju, programmatūras inženierija nodrošina labāku sadarbību starp izstrādes komandām.
  7. Labāka mērogojamība : Izstrādājot programmatūru, ņemot vērā mērogojamību, programmatūras inženierija var palīdzēt nodrošināt, ka programmatūra spēj apstrādāt arvien lielāku lietotāju un darījumu skaitu.
  8. Labāka drošība: Sekojot līdzi Programmatūras izstrādes dzīves cikls (SDLC) un veicot drošības testēšanu, programmatūras inženierija var palīdzēt novērst drošības pārkāpumus un aizsargāt sensitīvus datus.

Rezumējot, programmatūras inženierija piedāvā strukturētu un efektīvu pieeju programmatūras izstrādei, kas var radīt augstākas kvalitātes programmatūru, kuru ir vieglāk uzturēt un pielāgot mainīgajām prasībām. Tas var palīdzēt uzlabot klientu apmierinātību un samazināt izmaksas, vienlaikus veicinot arī labāku sadarbību starp izstrādes komandām.

Programmatūras inženierijas trūkumi

Lai gan programmatūras inženierija piedāvā daudzas priekšrocības, jāņem vērā arī daži iespējamie trūkumi:

  1. Augstas sākotnējās izmaksas: Sistemātiskas un disciplinētas pieejas ieviešana programmatūras izstrāde var būt resursietilpīgs un prasa ievērojamus ieguldījumus instrumentos un apmācībā.
  2. Ierobežota elastība: Ievērotu programmatūras inženierijas principu un metodoloģiju ievērošana var būt stingra un var ierobežot spēju ātri pielāgoties mainīgajām prasībām.
  3. Birokrātisks : Programmatūras inženierija var radīt birokrātisku vidi, kurā ir daudz procesu un dokumentu, kas var palēnināt izstrādes procesu.
  4. Sarežģītība : palielinoties rīku un metodoloģiju skaitam, programmatūras inženierija var būt sarežģīta un grūti orientējama.
  5. Ierobežots radošums: Koncentrēšanās uz struktūru un procesu var apslāpēt izstrādātāju radošumu un inovācijas.
  6. Augsta mācīšanās līkne: Izstrādes process var būt sarežģīts, un tas prasa daudz mācīšanās un apmācības, kas var būt izaicinājums jaunajiem izstrādātājiem.
  7. Liela atkarība no instrumentiem: Programmatūras inženierija lielā mērā ir atkarīga no rīkiem, un, ja rīki nav pareizi konfigurēti vai nav saderīgi ar programmatūru, tas var radīt problēmas.
  8. Augstas uzturēšanas : programmatūras inženierijas procesam ir nepieciešama regulāra apkope, lai nodrošinātu programmatūras efektīvu darbību, kas var būt dārgi un laikietilpīgi.

Rezumējot, programmatūras inženierija var būt dārga un laikietilpīga, un tā var ierobežot elastību un radošumu. Tomēr uzlabotas kvalitātes, paaugstinātas produktivitātes un labākas apkopes priekšrocības var atsvērt izmaksas un sarežģītību. Ir svarīgi izsvērt programmatūras inženierijas izmantošanas plusus un mīnusus un noteikt, vai tā ir pareizā pieeja konkrētam programmatūras projektam.

Jautājumi praksei

1. Programmatūras konfigurācijas pārvaldības rīks palīdz [GATE CS 2004].

(A) sekot līdzi grafikam, pamatojoties uz sasniegto atskaites punktu

(B) dažādu konfigurējamo vienumu versiju uzturēšana

(C) vadīt darbaspēka sadali, mainot projekta struktūru

(D) visu iepriekš minēto

cik nedēļas mēnesī

Risinājums: Pareizā atbilde ir (B).

2. Kurš no šiem apgalvojumiem ir patiess? [UGC NET PMP 2018]

P: Programmatūras pārveidošana ir ieteicama programmatūras produktiem ar augstu kļūmju līmeni, sliktu dizainu un/vai sliktu koda struktūru.

J: Programmatūras reversā inženierija ir programmatūras analīzes process, lai atgūtu tās dizainu un prasību specifikāciju.

(A) Tikai P

(B) Ne P, ne Q

(C) Tikai Q

kas ir obj java

(D) Gan P, gan Q

Risinājums: Pareizā atbilde ir (D).

3. Diagramma, kas palīdz izprast un attēlot lietotāja prasības programmatūras projektam, izmantojot UML (Unified Modeling Language), ir šāda: [GATE CS 2004]

(A) Entītijas attiecību diagramma

(B) Izvietošanas diagramma

(C) Datu plūsmas diagramma

(D) Izmantot gadījuma diagrammu

Risinājums: Pareizā atbilde ir (D).

javascript ielādes skripts

Bieži uzdotie jautājumi par programmatūras inženieriju

Kas ir programmatūras pārprojektēšana?

Gadi: Programmatūras pārprojektēšana būtībā ir programmatūras izstrādes process, kas palīdz uzturēt sistēmas kvalitāti.

2. Norādiet dažus programmatūras izstrādes dzīves cikla modeļus?

Gadi: Daži programmatūras izstrādes dzīves cikla modeļi ir minēti tālāk.

  • Ūdenskrituma modelis
  • Lielā sprādziena modelis
  • Spirālveida modelis
  • Iteratīvais modelis
  • V-modelis

3. Kas ir verifikācija un validācija programmatūras inženierijā?

Gadi: Verifikācija attiecas uz darbību vai funkciju kopumu, kas pārbauda, ​​vai programmatūra ir ieviesusi pareizo funkciju.

Validācija attiecas uz darbību kopumu, kas nodrošina, ka programmatūra ir izveidota atbilstoši klienta prasībām.

Lai uzzinātu vairāk, skatiet Verifikācija un validācija programmatūras inženierijā .