Procesi i zhvillimit të softuerit. Dizajni i Softuerit

Sot, procesi i krijimit të aplikacioneve komplekse softuerike nuk mund të imagjinohet pa e ndarë atë në faza të ciklit jetësor. Me ciklin jetësor të një programi nënkuptojmë një grup fazash:

  • Analiza e fushës së lëndës dhe krijimi i specifikimeve teknike (ndërveprimi me klientin)
  • Hartimi i strukturës së programit
  • Kodimi (bashkësia e kodit të programit sipas dokumentacionit të projektit)
  • Testimi dhe korrigjimi
  • Zbatimi i programit
  • Mbështetja e programit
  • Asgjesimi
Le të hedhim një vështrim më të afërt në procesin e projektimit. Gjatë procesit të projektimit, një arkitekt ose një programues me përvojë krijon dokumentacionin e projektimit, duke përfshirë përshkrimet e tekstit, diagramet dhe modelet e programit të ardhshëm. Gjuha UML do të na ndihmojë në këtë detyrë të vështirë.

UML është një gjuhë grafike për vizualizimin, përshkrimin e parametrave, dizajnimin dhe dokumentimin e sistemeve të ndryshme (në veçanti të programeve). Diagramet krijohen duke përdorur mjete speciale CASE, të tilla si Rational Rose (http://www-01.ibm.com/software/rational/) dhe Enterprise Architect (http://www.sparxsystems.com.au/). Bazuar në teknologjinë UML, një unifikuar model informacioni. Mjetet e mësipërme CASE janë të afta të gjenerojnë kode në gjuhë të ndryshme të orientuara nga objekti, dhe gjithashtu kanë shumë funksion i dobishëm inxhinieri e kundërt. (Inxhinieria e kundërt ju lejon të krijoni një model grafik nga kodi ekzistues i programit dhe komentet në të.)

Le të shohim llojet e diagrameve për vizualizimin e modelit (kjo është e domosdoshme, megjithëse ka shumë lloje të tjera):

A ka ndonjë përfitim nga ndërtimi i aplikacioneve të segmentit të shkurtër?

Edhe pa asnjë funksione shtesë mund të përdoret, për shembull, për korrespondencë biznesi. Në shumë projekte, në fillim duket se dihet mirë se si duhet të funksionojë aplikacioni. Por kur bëhet fjalë për përgatitjen e një zgjidhjeje, rezulton se ky vizion nuk është plotësisht i qartë.

Ndërsa numri i klientëve rritet, aplikacioni duhet të sigurojë akses të lehtë në bazën e të dhënave. Ky kërkim mund të bëhet menyra te ndryshme: Nga kërkimi i thjeshtë sipas emrit, duke renditur sipas parametrave të ndryshëm si koha e kontaktit të fundit, madhësia e porosisë së fundit ose vendndodhja e fundit e klientit, etj. Ky është shpesh rasti kur përdoruesit fillojnë të përdorin këtë aplikacion. Ju e dini se çfarë kërkimi preferojnë. Mund të përpiqeni ta parashikoni në fazën e projektimit, por jeta mund të befasojë edhe njerëzit më me përvojë.

Përdor diagramin e rastit

Sistemi i projektuar përfaqësohet si një grup entitetesh ose aktorësh që ndërveprojnë me sistemin duke përdorur të ashtuquajturat precedentë. Në këtë rast, një aktor ose aktor është çdo ent që ndërvepron me sistemin nga jashtë. Me fjalë të tjera, çdo rast përdorimi përcakton një grup të caktuar veprimesh të kryera nga sistemi gjatë një dialogu me aktorin. Megjithatë, nuk thuhet asgjë se si do të zbatohet ndërveprimi i aktorëve me sistemin.

diagrami i klasës

Një diagram klasësh shërben për të përfaqësuar strukturën statike të një modeli sistemi në terminologjinë e klasave të programimit të orientuara nga objekti. Një diagram i klasës mund të pasqyrojë, në veçanti, marrëdhëniet e ndryshme midis entiteteve individuale të domenit, si objektet dhe nënsistemet, dhe gjithashtu përshkruan strukturën e tyre të brendshme (fushat, metodat...) dhe llojet e marrëdhënieve (trashëgimi, zbatimi i ndërfaqeve... ). Ky diagram nuk jep informacion në lidhje me aspektet e kohës së funksionimit të sistemit. Nga ky këndvështrim, diagrami i klasës është një zhvillim i mëtejshëm i modelit konceptual të sistemit të projektuar. Në këtë fazë, njohja e qasjes OOP dhe modeleve të projektimit është thelbësore.


Cilat janë këshillat e përdoruesit?

Përdoruesit paraqesin pyetje të tilla si unë e përdor këtë më shpesh. Kjo veçori mund të vendoset në ekranin bazë.

Pastaj si të filloni një Sprint së pari

Le të fillojmë duke përcaktuar një produkt me funksionalitetin minimal të kërkuar. Ky është një veçori bazë që duhet të zbatohet në mënyrë që klienti të verifikojë përshtatshmërinë e biznesit të produktit. Ndonjëherë, për ta arritur këtë, nuk ka një, por disa sprinte.

Sa kohë duhet për të krijuar versionin e parë të softuerit?

Një muaj më vonë patëm versionin e parë software. Nëse kjo kohë është shumë më e gjatë, është mirë të përgatitet një prototip që do t'i lejojë përdoruesit të vlerësojnë zgjidhjen e propozuar. Në një prototip të tillë, disa funksione nuk do të funksionojnë, por përdoruesit do të jenë në gjendje të formulojnë vlerësimet e para.

diagrami i gjendjes

Qëllimi kryesor i këtij diagrami është të përshkruajë sekuencat e mundshme të gjendjeve dhe tranzicioneve që së bashku karakterizojnë sjelljen e një elementi model gjatë ciklit të tij jetësor. Diagrami i gjendjes paraqet sjelljen dinamike të subjekteve bazuar në specifikimin e përgjigjes së tyre ndaj perceptimit të disa ngjarjeve specifike.


Çfarë është e rëndësishme në bashkëpunimin e mirë në zhvillimin e softuerit?

Reagimet janë të rëndësishme. Pa të, metodologjia e shkathët nuk funksionon. Pa informacion, ne duhet të krijojmë softuer duke hamendësuar nëse do të na pëlqejë ajo që bëjmë. Për fat të mirë, klientët tanë janë shumë të interesuar për komunikim, dhe kjo ndihmon.

Është e vështirë të thuhet se sa do të kushtojë i gjithë projekti, kështu që do t'ju duhet të përgatisni një specifikim shumë të detajuar paraprakisht. Megjithatë, kostoja e krijimit të një specifikimi të tillë është shpesh më e madhe se gabimi i vlerësimit të kostos në një dizajn të ngadaltë. Si me çdo biznes, ndërtimi i besimit kërkon më shumë sesa thjesht biznes. Furnizuesi duhet të punojë për ta. Është e vështirë të supozohet se do t'i merrni ato falas, veçanërisht nëse klienti ka pasur përvoja të këqija me kompani të tjera. Kemi pasur situata ku kemi nisur një bashkëpunim me besim shumë të kufizuar, por me rritjen e premtimeve.

Diagrami i sekuencës

Për të modeluar ndërveprimin e objekteve në gjuhën UML, përdoren diagrame të përshtatshme ndërveprimi. Ndërveprimet e objekteve mund të shihen në kohë, dhe më pas përdoret një diagram sekuence për të përfaqësuar kohën e transmetimit dhe marrjes së mesazheve ndërmjet objekteve. Objektet që ndërveprojnë shkëmbejnë disa informacione me njëri-tjetrin. Në këtë rast, informacioni merr formën e mesazheve të përfunduara. Me fjalë të tjera, megjithëse mesazhi ka përmbajtje informative, ai fiton veçori shtesë për të ushtruar një ndikim të drejtuar tek marrësi i tij.

Është gjithashtu e rëndësishme që në një metodologji të shkathët, në vend që të paguajë për dokumentacionin e padobishëm, nga këndvështrimi i tij, i detajuar që më vonë mund të ndryshohet, ai të shohë se si funksionon me ne dhe të marrë versionin e parë të produktit. Ai nuk ka pse të supozojë - ai mund të na bindë se ne mund të përgatisim për të pikërisht atë që i nevojitet.

Nëse produktet tuaja janë bërë në këtë mënyrë, a keni kohë t'i provoni ato?

Përveç korrigjimit të gabimeve, është shumë i shtrenjtë dhe mund të dëmtojë gjithashtu reputacionin tonë. Softueri ynë është i testuar menyra te ndryshme. Na pëlqen testimi i automatizuar: ne testojmë të dy funksionet individuale në kod dhe të gjithë funksionalitetin. Ju mund të imagjinoni se si makina testoi aplikacionin tonë: ajo klikoi dhe u zhvendos në ekranet e saj. Për disa nga projektet tona, këto teste të automatizuara janë aq komplekse saqë u duhet gjithë nata për të kryer gjithçka. Falë tyre, kur vijmë në punë në mëngjes, mund të shohim menjëherë nëse duhet të përmirësohemi.

Diagrami i bashkëpunimit

Në diagramin e bashkëpunimit, objektet që marrin pjesë në bashkëveprim përshkruhen në formën e drejtkëndëshave, që përmbajnë emrin e objektit, klasën e tij dhe, ndoshta, vlerat e atributeve. Ashtu si një diagram klase, lidhjet midis objekteve tregohen në formën e linjave të ndryshme lidhëse. Në këtë rast, ju mund të specifikoni në mënyrë eksplicite emrat e shoqatës dhe rolet që luajnë objektet në këtë shoqatë.
Ndryshe nga një diagram sekuence, një diagram bashkëpunimi përshkruan vetëm marrëdhëniet midis objekteve që luajnë role specifike në ndërveprim.

Sigurisht, edhe testet më të mira të automatizuara nuk do të zëvendësojnë testuesit tanë të lirë. Zgjuarsia e tyre e jashtëzakonshme shpesh i lejon ata të zbulojnë situata që nuk janë parashikuar nga programuesi ose të rrëmbejnë makinën. Metodologjia tradicionale justifikohet kur klienti e di saktësisht se si duket produkti dhe nuk mund të përballojë akses dhe pjesëmarrje të vazhdueshme në takime. Në vend të kësaj, ai preferon të personalizojë një sistem jashtë raftit sipas specifikimeve të sakta. Sidoqoftë, nëse ka shumë dyshime për dizajnin brenda ekipit të projektit, ia vlen të merret parasysh përdorimi i metodave të shkathëta.

Diagrami i komponentit

Një diagram përbërës, ndryshe nga diagramet e diskutuara më parë, përshkruan veçoritë e paraqitjes fizike të sistemit. Një diagram komponent ju lejon të përcaktoni arkitekturën e sistemit që po zhvillohet duke vendosur varësi midis komponentëve të softuerit, të cilët mund të jenë kod burimor, binar dhe i ekzekutueshëm. Në shumë mjedise zhvillimi, një modul ose komponent korrespondon me një skedar. Shigjetat me pika që lidhin modulet tregojnë marrëdhënie ndërvarësie të ngjashme me ato që ndodhin gjatë përpilimit të kodit burimor të programit. Elementet kryesore grafike të një diagrami përbërës janë komponentët, ndërfaqet dhe varësitë ndërmjet tyre.


Atëherë shumica e dyshimeve do të zgjidhen gjatë projektit, me pjesëmarrjen e përdoruesve përfundimtarë. Secili prej nesh punon pak më ndryshe. Disa punojnë në monitorë të mëdhenj 30 inç. Më mjafton të punoj në laptop. Gjithsesi, bisedat janë pjesë e metodologjisë që përdorim - takohemi në mëngjes për të diskutuar mbi detyrat e ditës: çfarë është bërë, çfarë po pengon, në çfarë duhet të përqendrohemi dhe çfarë do të bëjmë sot. Zhvillimi i uebit, megjithëse ka avantazhe të pamohueshme ndaj zgjidhjeve softuerike, në shumë raste këto avantazhe nuk mund të përdoren më dhe në këto raste bëhet i nevojshëm zhvillimi i aplikacioneve softuerike që funksionojnë në sistemet operative të makinerive dhe kanë akses të plotë në burimet e tyre.

Diagrami i vendosjes

Diagrami i vendosjes është krijuar për të vizualizuar elementet dhe komponentët e një programi që ekzistojnë vetëm në fazën e ekzekutimit. Në këtë rast, përfaqësohen vetëm komponentët e shembullit të programit, të cilët janë skedarë të ekzekutueshëm ose biblioteka dinamike. Ata komponentë që nuk përdoren në kohën e ekzekutimit nuk tregohen në diagramin e vendosjes.
Diagrami i vendosjes përmban imazhe grafike procesorët, pajisjet, proceset dhe lidhjet ndërmjet tyre. Ndryshe nga diagramet e paraqitjes logjike, një diagram vendosjeje është uniform për sistemin në tërësi, pasi duhet të pasqyrojë plotësisht tiparet e zbatimit të tij. Ky diagram në thelb përfundon procesin OOAP për një specifikë sistemi softuerik dhe zhvillimi i tij është zakonisht faza e fundit e specifikimit të modelit.

Zhvillimi i programeve për desktop dhe server

Programimi i aplikacionit bazohet në standarde strikte të kodimit dhe parimet e "provës më të mirë" për të siguruar kod dhe arkitekturë superiore. Kur aplikimi juaj kërkon të lartë fuqia llogaritëse ose aplikacionet që duhet të përdorin burime të ruajtura në kompjuterin lokal, duhet të zgjidhni një aplikacion të specializuar që funksionon në sistemin operativ lokal dhe jo në internet.

Softueri i desktopit mund të ketë një ndërfaqe grafike dhe lejon përdoruesin të operojë lehtësisht. Këto aplikacione mund të ndërveprojnë me platforma të jashtme në internet, të jenë të pavarura makinë lokale ose punoni në mënyrë efektive me një sërë pajisjesh të jashtme. Softueri i serverit zakonisht nuk ka një ndërfaqe grafike të përdoruesit, por lëshohet nga tastiera sistemi operativ. Nëse është e nevojshme, këto aplikacione mund të krijojnë gjithashtu ndërfaqen e përdoruesit si në mënyrë origjinale ashtu edhe në internet.

Kjo përfundon përmbledhjen tonë të diagrameve në veçanti dhe dizajnit në përgjithësi. Vlen të përmendet se procesi i projektimit është bërë prej kohësh një standard për zhvillimin e softuerit, por shpesh ju duhet të merreni me një program të shkruar shkëlqyeshëm, i cili, për shkak të mungesës së dokumentacionit normal, bëhet i tejmbushur me funksionalitete anësore të panevojshme, paterica, bëhet i rëndë. dhe humbet cilësinë e mëparshme. =(

Nisja e aplikacioneve nga tastiera

Përvoja jonë në disa fusha të zhvillimit na lejon të njihemi me një gamë të gjerë teknologjish, në mënyrë që të gjejmë zgjidhjen optimale për t'i kombinuar ato.

Software për menaxhimin e bazës së të dhënave

Software për përpunimin e të dhënave. Zhvillimi i softuerit me integrimin e harduerit. Aplikacioni softuer i lejon atij të aksesojë plotësisht burimet kompjuter lokal, të cilën ai e lançon, duke hapur kështu mundësi të reja zhvillimi. Shpesh një aplikacion i thjeshtë nuk mund të plotësojë të gjitha nevojat tuaja.

Unë jam i bindur se një programues është para së gjithash një kodues - ai NUK duhet të komunikojë me klientin, NUK duhet të mendojë për arkitekturën e sistemit, nuk duhet të shpikë një ndërfaqe me programin, ai duhet vetëm të kodojë - të zbatojë algoritme, funksionalitet, pamjen, përdorshmëria, por asgjë më shumë... Projektuesi duhet, duke filluar nga diagramet abstrakte (që përshkruajnë fushën e lëndës) deri te diagramet që përfaqësojnë strukturën e të dhënave, klasat dhe proceset e ndërveprimit të tyre, të përshkruajë gjithçka në detaje hap pas hapi. Kjo do të thotë, kompleksiteti i punës dhe paga e një projektuesi duhet të jetë një rend i madhësisë më i lartë se ai i një programuesi == kodues. Me falni per rebelimin....

Në këtë rast, ekziston nevoja për integrim me harduerin që zgjeron aftësitë e programit dhe në këtë mënyrë zgjeron horizontet e përdorimit të aplikacionit. Këto programe, duke përdorur kanale të ndryshme komunikimi, mund të hapin kanale transmetimi duke përdorur harduerin dhe kështu të kapin dhe transmetojnë të dhëna tek ata. Protokolle të ndryshme komunikimi mund të integrohen ose zhvillohen nëpër kanale komunikimi, kështu që ju mund të integroheni me një shumëllojshmëri të gjerë të pajisjeve të kontrollit ose monitorimit industrial.

Zhvillimi i produkteve softuerike njeh shumë metodologji të denja - me fjalë të tjera, praktikat më të mira të vendosura. Zgjedhja varet nga specifikat e projektit, sistemi i buxhetimit, preferencat subjektive dhe madje edhe temperamenti i menaxherit. Artikulli përshkruan metodologjitë që hasim rregullisht në Edison.

Në shumë raste, shumë sisteme ose nënsisteme duhet të punojnë së bashku, në të cilin rast mund të zhvillohen aplikacione të përparme që lidhin ose softuerin ose Hardware, apo edhe dy lloje të ndryshme pajisjesh që nuk kanë aftësinë amtare për të komunikuar me njëra-tjetrën. Programet e integrimit që ne zhvillojmë i ofrojnë klientit një ndërfaqe të qëndrueshme mbi të cilën bazohet një proces biznesi ose industrial.

Qëllimi ynë është që zgjidhjet e personalizuara të softuerit të funksionojnë në përputhje me kërkesat e klientëve dhe specifikimet e zbuluara gjatë periudhës së analizës. Ne jemi duke monitoruar nga afër planet tona për të arritur afatet tona kontraktuale.

1. "Modeli i ujëvarës" (modeli i kaskadës ose "ujëvara")



Një nga më të vjetrat, përfshin kalimin e njëpasnjëshëm të fazave, secila prej të cilave duhet të përfundojë plotësisht përpara se të fillojë tjetra. Modeli Waterfall e bën të lehtë menaxhimin e një projekti. Falë ngurtësisë së tij, zhvillimi vazhdon shpejt, kostoja dhe afati janë të paracaktuara. Por kjo është një thikë me dy tehe. Modeli i ujëvarës do të japë rezultate të shkëlqyera vetëm në projekte me kërkesa dhe mënyra të zbatimit të tyre qartë dhe të paracaktuara. Nuk ka asnjë mënyrë për të bërë një hap prapa; testimi fillon vetëm pasi zhvillimi të jetë i plotë ose pothuajse i përfunduar. Produktet e zhvilluara sipas këtij modeli pa një zgjedhje të justifikuar mund të kenë mangësi (lista e kërkesave nuk mund të rregullohet në çdo kohë), të cilat bëhen të njohura vetëm në fund për shkak të sekuencës së rreptë të veprimeve. Kostoja e bërjes së ndryshimeve është e lartë sepse kërkon pritje derisa të përfundojë i gjithë projekti për ta nisur atë. Megjithatë, kostoja fikse shpesh tejkalon disavantazhet e qasjes. Korrigjimi i mangësive të realizuara gjatë procesit të krijimit është i mundur dhe, sipas përvojës sonë, kërkon një deri në tre marrëveshje shtesë të kontratës me një specifikim të vogël teknik.

Zhvillimi i softuerit: fazat kryesore

Analiza e projektit për zhvillimin e softuerit

Qëllimi i kësaj faze është të përcaktojë dhe të kuptojë saktë kërkesat e klientit për zbatimin e projektit:. - Ne sjellim pershkrim i detajuar ose bazuar në specifikimet ose në një specifikim të funksionalitetit që aplikacioni i ri duhet të kryejë. - Ne ofrojmë zgjidhje se si do të zbatohet funksionaliteti i kërkuar.

E rëndësishme: Është shumë e dobishme për përfituesin e projektit që të ndajë burimet e nevojshme për të përcaktuar kërkesat e biznesit dhe për të pranuar kriteret. Aktivitetet e kryera në këtë fazë rezultojnë në një dokument “Specifikimet e Projektit” që do t'i dërgohet përfituesit për shqyrtim.

Duke përdorur modelin e ujëvarës, ne krijuam shumë projekte nga e para, duke përfshirë vetëm zhvillimin e specifikimeve teknike. Projektet e shkruara rreth Habré: të mesme - , të vogla - .

Kur të përdoret metodologjia e ujëvarës?

  • Vetëm kur kërkesat njihen, kuptohen dhe regjistrohen. Nuk ka kërkesa kontradiktore.
  • Nuk ka probleme me disponueshmërinë e programuesve me kualifikimet e kërkuara.
  • Në projekte relativisht të vogla.

2. "V-Model"



Trashëgoi strukturën "hap pas hapi" nga modeli i kaskadës. Modeli në formë V është i zbatueshëm për sistemet për të cilat funksionimi i pandërprerë është veçanërisht i rëndësishëm. Për shembull, programet e aplikimit në klinikat për monitorimin e pacientëve, softuer të integruar për mekanizmat e kontrollit të airbagëve të urgjencës në automjete, etj. Një tipar i veçantë i modelit është se ai synon të kontrollojë dhe testojë tërësisht një produkt që është tashmë në fazat fillestare të projektimit. Faza e testimit kryhet njëkohësisht me fazën përkatëse të zhvillimit, për shembull, testet e njësive shkruhen gjatë kodimit.

Krijimi i një diagrami të projektit

Ai do të krijohet së bashku me klientin në varësi të burimeve që mund të ndahen nga të dyja palët dhe në përputhje me afatet e përcaktuara në kontratë.

Konfigurimi dhe konfigurimi i aplikacionit tuaj të softuerit

Konfigurimi dhe konfigurimi kryhen në një mjedis testimi të klientit.

Dorëzoni, instaloni dhe konfiguroni aplikacionin në një mjedis prodhimi

Gjatë fazës së konfigurimit dhe konfigurimit, por edhe në përfundim, kryhet testimi i pjesshëm ose përfundimtar. Qëllimi i testeve është të kontrollojë përputhshmërinë dhe të kontrollojë ndikimin e cilësimeve në funksionalitetin e mirë të moduleve ose të gjithë aplikacionit.

Trajnimi i përdoruesve dhe administratorëve

Seancat e trajnimit kanë për qëllim fitimin e aftësive në përdorimin dhe menaxhimin e aplikacionit të ofruar.

Një shembull i punës sonë bazuar në metodologjinë V - aplikacioni celular për evropiane operatori celular, e cila kursen kostot e roaming kur udhëtoni. Projekti kryhet sipas një specifikimi të qartë, por përfshin një fazë të rëndësishme të testimit: komoditetin e ndërfaqes, funksionalitetin, ngarkesën dhe duke përfshirë integrimin, i cili duhet të konfirmojë që disa komponentë nga prodhues të ndryshëm punojnë së bashku në mënyrë të qëndrueshme, vjedhja e parave dhe kredive është e pamundur.

Ne planifikojmë seanca trajnimi me klientin, në varësi të ekipeve që do të duhet të trajnohen. Materialet e trajnimit do të përfshijnë rrjedha specifike të marrësit në përputhje me dokumentin " Specifikimet projekt." Procesi mësimor përfundon me “Procesverbalet mësimore”.

Hyrja në përpunimin e aplikimit

Në këtë moment fillon aplikimi. Hyrja në prodhim shënohet me nënshkrimin e hyrjes së prodhimit ose hyrjen në minutat e punës ditore.

Ndihmë shtesë gjatë hyrjes në prodhim

Në këtë fazë, disa veçori të identifikuara gjatë procesit të prodhimit do të rregullohen dhe ridizajnohen në krahasim me analizën e tyre origjinale.

Kur të përdoret modeli V?

  • Nëse kërkohet testim i plotë i një produkti, atëherë modeli V do të justifikojë idenë e tij të qenësishme: vërtetimin dhe verifikimin.
  • Për projekte të vogla dhe të mesme ku kërkesat janë të përcaktuara dhe të fiksuara qartë.
  • Në kushtet e disponueshmërisë së inxhinierëve me kualifikimet e nevojshme, veçanërisht testues.

3. "Modeli rritës" (modeli inkremental)

Në modelin inkremental, kërkesat e plota të sistemit ndahen në asamble të ndryshme. Terminologjia përdoret shpesh për të përshkruar montimin hap pas hapi të softuerit. Zhvillohen disa cikle zhvillimi dhe së bashku ato përbëjnë ciklin jetësor me shumë ujëvara. Cikli është i ndarë në module më të vogla, të krijuara lehtësisht. Çdo modul kalon nëpër fazat e përcaktimit të kërkesave, projektimit, kodimit, zbatimit dhe testimit. Procedura e zhvillimit sipas modelit rritës përfshin lëshimin e një produkti me funksionalitet bazë në fazën e parë të madhe, dhe më pas shtimin vijues të funksioneve të reja, të ashtuquajturat "rritje". Procesi vazhdon derisa të krijohet sistemi i plotë.


Modelet rritëse përdoren aty ku kërkesat individuale për ndryshim janë të qarta dhe mund të zyrtarizohen dhe zbatohen lehtësisht. Në projektet tona, ne e përdorëm atë për të krijuar lexuesin DefView dhe më pas rrjetin e bibliotekave elektronike Vivaldi.

Si shembull, ne do të përshkruajmë thelbin e një rritjeje. zëvendësoi DefView. DefView është lidhur me një server dokumentesh dhe tani mund të lidhet me shumë. Një server ruajtjeje është instaluar në faqen e një institucioni që dëshiron të transmetojë përmbajtjen e tij tek një audiencë specifike, e cila akseson drejtpërdrejt dokumentet dhe i konverton ato në formatin e kërkuar. Është shfaqur elementi rrënjësor i arkitekturës - serveri qendror Vivaldi, duke vepruar si një i vetëm motor kërkimi në të gjithë serverët e ruajtjes të instaluar në institucione të ndryshme.

Kur të përdoret modeli rritës?

  • Kur kërkesat bazë për sistemin janë të përcaktuara dhe të kuptueshme qartë. Në të njëjtën kohë, disa detaje mund të rafinohen me kalimin e kohës.
  • Kërkohet futja e hershme e produktit në treg.
  • Ka disa tipare ose qëllime të rrezikshme.

4. "Modeli RAD" (modeli i zhvillimit të shpejtë të aplikacionit ose zhvillimi i shpejtë i aplikacionit)

Modeli RAD është një lloj modeli në rritje. Në modelin RAD, komponentët ose funksionet zhvillohen paralelisht nga disa ekipe shumë të aftë, si disa mini-projekte. Afati kohor i një cikli është rreptësisht i kufizuar. Modulet e krijuara më pas integrohen në një prototip pune. Synergy ju lejon që shumë shpejt t'i siguroni klientit diçka që funksionon për rishikim në mënyrë që të marrë reagimet dhe duke bërë ndryshime.


Modeli i zhvillimit të shpejtë të aplikacionit përfshin fazat e mëposhtme:

  • Modelimi i biznesit: përcaktimi i një liste të rrjedhave të informacionit ndërmjet departamenteve të ndryshme.
  • Modelimi i të dhënave: informacioni i mbledhur në fazën e mëparshme përdoret për të përcaktuar objektet dhe entitetet e tjera të nevojshme për qarkullimin e informacionit.
  • Modelimi i procesit: Rrjedhat e informacionit lidhin objektet për të arritur qëllimet e zhvillimit.
  • Ndërtoni aplikacionin: Përdor mjete të automatizuara montimi për të kthyer modelet CAD në kod.
  • Testimi: janë testuar komponentë dhe ndërfaqe të reja.
Kur përdoret modeli RAD?

Mund të përdoret vetëm me arkitektë të kualifikuar dhe shumë të specializuar. Buxheti i projektit është i madh për të paguar për këta specialistë së bashku me koston e mjeteve të gatshme të montimit të automatizuara. Modeli RAD mund të zgjidhet me njohuri të sigurt për biznesin e synuar dhe nevojën për prodhimin urgjent të sistemit brenda 2-3 muajve.

5. “Modeli i shkathët” (metodologjia e zhvillimit fleksibël)



Në metodologjinë e zhvillimit "të shkathët", pas çdo përsëritjeje klienti mund të vëzhgojë rezultatin dhe të kuptojë nëse ai e kënaq atë apo jo. Ky është një nga përfitimet e modelit fleksibël. Disavantazhet e tij përfshijnë faktin se për shkak të mungesës së formulimeve specifike të rezultateve, është e vështirë të vlerësohen kostot e punës dhe kostot e nevojshme për zhvillim. Programimi ekstrem (XP) është një nga aplikacionet më të njohura të modelit të shkathët në praktikë.

Ky lloj bazohet në takime të shkurtra ditore - "Scrum" dhe takime të përsëritura rregullisht (një herë në javë, një herë në dy javë ose një herë në muaj), të quajtura "Sprint". Në takimet e përditshme, anëtarët e ekipit diskutojnë:

  • raport mbi punën e bërë që nga Scrum-i i fundit;
  • një listë e detyrave që punonjësi duhet të kryejë përpara takimit të ardhshëm;
  • vështirësitë e hasura gjatë punës.
Metodologjia është e përshtatshme për projekte të mëdha ose që synojnë një cikël të gjatë jete, duke u përshtatur vazhdimisht me kushtet e tregut. Prandaj, kërkesat ndryshojnë gjatë procesit të zbatimit. Vlen të kujtohet klasa e njerëzve krijues që kanë tendencë të gjenerojnë, krijojnë dhe provojnë ide të reja në baza javore apo edhe ditore. Zhvillimi i shkathët është më i përshtatshmi për këtë lloj menaxheri. Ne zhvillojmë startup-et e brendshme të kompanisë duke përdorur Agile. Një shembull i projekteve të klientëve është Sistemi Elektronik i Ekzaminimeve Mjekësore, i krijuar për të kryer ekzaminime mjekësore masive në pak minuta. Në paragrafin e dytë të këtij rishikimi, partnerët tanë amerikanë përshkruan një gjë shumë të rëndësishme që është thelbësore për suksesin në Agile.

Kur të përdorni Agile?

  • Kur nevojat e përdoruesve ndryshojnë vazhdimisht në një biznes dinamik.
  • Ndryshimet e shkathëta zbatohen me një kosto më të ulët për shkak të rritjeve të shpeshta.
  • Ndryshe nga modeli i ujëvarës, modeli i shkathët kërkon vetëm pak planifikim për të nisur një projekt.

6. "Modeli përsëritës" (modeli përsëritës ose përsëritës)

Një model i përsëritur i ciklit jetësor nuk kërkon një specifikim të plotë të kërkesave për të filluar. Në vend të kësaj, krijimi fillon me zbatimin e një pjese të funksionalitetit, e cila bëhet baza për përcaktimin e kërkesave të mëtejshme. Ky proces përsëritet. Versioni mund të mos jetë i përsosur, gjëja kryesore është se funksionon. Duke kuptuar qëllimin përfundimtar, ne përpiqemi për të në mënyrë që çdo hap të jetë efektiv dhe çdo version të jetë i zbatueshëm.


Diagrami tregon "zhvillimin" përsëritës të Mona Lizës. Siç mund ta shihni, në përsëritjen e parë ka vetëm një skicë të Mona Lizës, në të dytën shfaqen ngjyrat, dhe përsëritja e tretë shton detaje, ngopje dhe përfundon procesin. Në modelin inkremental, funksionaliteti i produktit ndërtohet pjesë-pjesë, produkti përbëhet nga pjesë. Ndryshe nga modeli përsëritës, çdo pjesë përfaqëson një element të plotë.

Një shembull i zhvillimit përsëritës është njohja e zërit. Hulumtimi dhe përgatitja e parë e aparatit shkencor ka filluar shumë kohë më parë, fillimisht në mendime, pastaj në letër. Me çdo përsëritje të re, cilësia e njohjes përmirësohej. Sidoqoftë, njohja e përsosur ende nuk është arritur, prandaj, problemi ende nuk është zgjidhur plotësisht.

Kur është optimale të përdoret një model përsëritës?

  • Kërkesat për sistemin përfundimtar janë përcaktuar qartë dhe kuptohen paraprakisht.
  • Projekti është i madh ose shumë i madh.
  • Objektivi kryesor duhet të përcaktohet, por detajet e zbatimit mund të evoluojnë me kalimin e kohës.

7. "Spiral Model" (modeli spirale)



"Modeli spirale" është i ngjashëm me modelin rritës, por me theks në analizën e rrezikut. Funksionon mirë për zgjidhjen e problemeve kritike të biznesit kur dështimi është i papajtueshëm me aktivitetet e kompanisë, në kontekstin e lëshimit të linjave të reja të produkteve, kur kërkimi shkencor dhe testimi praktik janë të nevojshëm.

Modeli spirale përfshin 4 faza për çdo kthesë:

  1. planifikimi;
  2. analiza e rrezikut;
  3. dizajni;
  4. vlerësimi i rezultatit dhe, nëse cilësia është e kënaqshme, kalimi në një fazë të re.
Ky model nuk është i përshtatshëm për projekte të vogla; është i arsyeshëm për ato komplekse dhe të shtrenjta, për shembull, si zhvillimi i një sistemi të rrjedhës së dokumenteve për një bankë, kur çdo hap tjetër kërkon më shumë analiza për të vlerësuar pasojat sesa programimi. Në një projekt për të zhvilluar një EDMS për ODU të Siberisë SO UES, dy takime për ndryshimin e kodifikimit të seksioneve të arkivit elektronik marrin 10 herë më shumë kohë sesa kombinimi i dy dosjeve nga një programues. Projektet qeveritare në të cilat kemi marrë pjesë filluan me përgatitjen nga ana e komunitetit të ekspertëve të një koncepti të shtrenjtë, i cili nuk është gjithmonë i padobishëm, pasi jep rezultate në shkallë kombëtare.

Le të përmbledhim



Sllajdi demonstron ndryshimet midis dy metodologjive më të zakonshme.

Në praktikën moderne, modelet e zhvillimit të softuerit janë shumëvariare. Nuk ka një model të vetëm të duhur për të gjitha projektet, kushtet fillestare dhe modelet e pagesave. Edhe Agile, kaq e dashur për të gjithë ne, nuk mund të aplikohet kudo për shkak të papërgatitjes së disa klientëve apo pamundësisë së financimit fleksibël. Metodologjitë pjesërisht mbivendosen në mjete dhe janë pjesërisht të ngjashme me njëra-tjetrën. Disa koncepte të tjera u përdorën vetëm për të promovuar përpiluesit e tyre dhe nuk sollën asgjë të re në praktikë.

Rreth teknologjive të zhvillimit:
.
.
.
.

Çfarë metodologjish përdorni?