Dizajni i softuerit
Aktiviteti i specifikimit të natyrës dhe përbërjes së produkteve të softuerit që plotësojnë nevojat dhe dëshirat e klientëve, nën kushte të caktuara.
| Term | Definition |
|---|---|
Dizajni i softuerit | Aktiviteti i specifikimit të natyrës dhe përbërjes së produkteve të softuerit që plotësojnë nevojat dhe dëshirat e klientëve, nën kushte të caktuara. |
Abstraktimi | Injorimi i disa karakteristikave të objekteve, ngjarjeve ose situatave në favor të të tjerave. |
Rëndësia e abstraktimit | Abstraktimi është i rëndësishëm për thjeshtimin e problemit. |
Top-down | Strategji që zgjedh një version abstrakt të problemit dhe pastaj shton detaje. |
Bottom-up | Strategji që zgjidh pjesë të një problemi dhe i bashkon për të krijuar një pjesë të plotë. |
Modelimi | Fsheh detajet e panevojshme që sistemi të kuptohet më lehtë. |
Qëllimet e modelimit | Kuptimi i problemit, krijimi i dizajnit, hetimi i dizajnit dhe dokumentimi. |
Kuptimi i problemit | Një nga qëllimet e modelimit. |
Krijimi i dizajnit | Një nga qëllimet e modelimit. |
Hetimi i dizajnit | Një nga qëllimet e modelimit. |
Dokumentimi | Një nga qëllimet e modelimit. |
Dështimi i modelit | Një model mund të dështojë nëse hiqen detaje të rëndësishme. |
Modeli statik | Paraqet pjesët e programit që nuk ndryshojnë gjatë ekzekutimit të programit. |
Shembuj të modelit statik | Modeli i objekteve dhe modeli i klasave. |
Modeli i objekteve | Shembull i modelit statik. |
Modeli i klasave | Shembull i modelit statik që paraqet klasat në sistem. |
Modeli dinamik | Paraqet pjesët e programit që ndryshojnë gjatë ekzekutimit dhe çfarë ndodh gjatë ekzekutimit. |
Shembuj të modelit dinamik | Diagrami i sekuencave dhe diagrami i gjendjeve. |
Diagrami i sekuencave | Shembull i modelit dinamik. |
Diagrami i gjendjeve | Shembull i modelit dinamik. |
Dizajni i produktit softuerik | Aktiviteti i specifikimit të karakteristikave, aftësive dhe ndërfaqeve të produktit softuerik për të plotësuar nevojat dhe dëshirat e klientëve. |
Dizajni i inxhinierisë së softuerit | Aktiviteti i specifikimit të programeve dhe nënsistemeve, si dhe funksionimit të tyre, për të përmbushur specifikimet e produktit softuerik. |
Metoda e dizajnit | Procedurë e rregullt për krijimin e një zgjidhjeje të saktë dhe të plotë të dizajnit të softuerit që plotëson nevojat dhe kufizimet e klientit. |
Procesi i dizajnit | Koleksion detyrash të ndërlidhura që transformon një grup të dhënash hyrëse në një grup të dhënash dalëse. |
Notacionet e dizajnit | Sistem simbolik përfaqësues. |
Heuristikat e dizajnit | Rregulla që ofrojnë udhëzime, por nuk japin garanci për arritjen e një qëllimi. |
Dizajni arkitekturor | Zgjidhje e dizajnit të nivelit të lartë të inxhinierisë softuerike. |
Specifikimi i dizajnit arkitekturor | Specifikimi i pjesëve kryesore të një programi, përgjegjësive, vetive, ndërfaqeve, marrëdhënieve dhe ndërveprimeve midis tyre. |
Dizajni i detajuar | Zgjidhje e nivelit të ulët të inxhinierisë softuerike. |
Specifikimi i dizajnit të detajuar | Specifikimi i elementeve të brendshme të të gjitha pjesëve kryesore të programit, strukturës, marrëdhënieve, përpunimit, algoritmeve dhe strukturave të të dhënave. |
Planifikimi | Formulimi i një skeme për realizimin e një projekti. |
Organizimi | Strukturimi i entiteteve të përfshira në një projekt dhe caktimi i autoritetit dhe përgjegjësive të tyre. |
Stafi | Plotësimi i pozicioneve në një strukturë organizative dhe angazhimi i tyre. |
Ndjekja | Vëzhgimi i progresit të punës dhe përshtatja e punës dhe planeve në përputhje me rrethanat. |
Udhëheqja | Drejtimi dhe mbështetja e njerëzve që kryejnë punë në projekt. |
Modeli analitik | Paraqet entitetet, atributet e tyre dhe marrëdhëniet. |
Modeli i klasave të dizajnit | Paraqet klasat në një sistem softuerik, atributet dhe asociacionet, por pa detaje implementimi. |
Modeli i klasave të implementimit | Paraqet klasat në një sistem softuerik me detaje implementimi. |
Objekti | Entitet që mban të dhëna dhe tregon sjellje. |
Klasa | Abstraksion i një grupi objektesh me operacione dhe atribute të përbashkëta. |
Atributi | Element i të dhënave i mbajtur nga një objekt ose klasë. |
Operacioni | Sjellja e një objekti ose klase. |
Asociacioni | Lidhja midis klasave që përfaqëson një marrëdhënie mbi grupet e instancave të klasave të lidhura. |
Multipliciteti | Numri i instancave të klasës së targetuar që mund të lidhen me një instancë të vetme të klasës burim. |
Parimet themelore të dizajnit | Karakteristika që e bëjnë një dizajn më të aftë për të përmbushur nevojat dhe dëshirat e palëve të interesuara. |
Fizibiliteti | Një dizajn është i pranueshëm vetëm nëse mund të realizohet. |
Përshtatshmëria | Dizajnet që plotësojnë më shumë nevojat dhe dëshirat e palëve të interesuara, në varësi të kufizimeve, janë më të mira. |
Ekonomia | Dizajnet që ndërtohen me më pak përpjekje njerëzore, më pak kosto dhe më pak kohë janë më të mira. |
Ndryshueshmëria | Dizajnet që e bëjnë një program më të lehtë për t'u ndryshuar janë më të mira. |
Modulariteti | Programi përbëhet nga njësi të mirëpërcaktuara, të thjeshta dhe të pavarura që komunikojnë përmes ndërfaqeve të mirëpërcaktuara. |
Parimet e moduleve të mira | Small Modules, Information Hiding, Least Privilege, Coupling dhe Cohesion. |
Small Modules | Parimi që modulet e vogla janë më të mira. |
Information Hiding | Çdo modul duhet t'i fshehë detajet e strukturës dhe përpunimit të brendshëm nga modulet e tjera. |
Least Privilege | Moduli nuk duhet të ketë qasje në burime që nuk i nevojiten. |
Coupling | Lidhja ose varësia ndërmjet moduleve duhet të jetë sa më e vogël. |
Cohesion | Pjesët brenda një moduli duhet të jenë sa më të lidhura me njëra-tjetrën. |
Programi modular | Program i përbërë nga njësi të përcaktuara mirë, konceptualisht të thjeshta dhe të pavarura, të cilat komunikojnë përmes ndërfaqeve. |
Përparësitë e modularitetit | Më i lehtë për t'u kuptuar dhe shpjeguar, dokumentuar, ndryshuar, testuar dhe debuguar, më i ripërdorshëm dhe më i lehtë për t'u optimizuar. |
Kuptueshmëria e modularitetit | Një program modular është më i lehtë për t'u kuptuar dhe shpjeguar. |
Dokumentimi i modularitetit | Një program modular është më i lehtë për t'u dokumentuar. |
Ndryshueshmëria e modularitetit | Një program modular është më i lehtë për t'u ndryshuar. |
Testimi dhe debugimi | Një program modular është më i lehtë për t'u testuar dhe debuguar. |
Ripërdorimi i moduleve | Një program modular është më i ripërdorshëm. |
Optimizimi i moduleve | Një program modular është më i lehtë për t'u optimizuar. |
Dokumenti i Arkitekturës së Softuerit (SAD) | Dokument që përmban përmbledhjen e produktit, modelet arkitekturore, DeSCRIPTR, hartimin ndërmjet modeleve dhe arsyetimin e dizajnit arkitekturor. |
Përmbledhja e produktit | Pjesë e SAD që përmban vizionin, palët e interesuara, tregun e synuar etj. |
Vizioni | Pjesë e përmbledhjes së produktit në SAD. |
Palët e interesuara | Pjesë e përmbledhjes së produktit në SAD. |
Tregu i synuar | Pjesë e përmbledhjes së produktit në SAD. |
Modelet arkitekturore | Pjesë e SAD që përfshin modele statike dhe dinamike. |
DeSCRIPTR | Pjesë e Dokumentit të Arkitekturës së Softuerit. |
Hartimi ndërmjet modeleve | Tabela dhe tekst që lidhin modelet. |
Arsyetimi i dizajnit arkitekturor | Shpjegimi i vendimeve të rëndësishme të dizajnit arkitekturor. |
Karakteristikat e cilësisë | Ndahen në karakteristika të zhvillimit dhe karakteristika operacionale. |
Karakteristikat e zhvillimit | Mbajtshmëria dhe ripërdorimi. |
Karakteristikat operacionale | Performanca, disponueshmëria, besueshmëria dhe siguria. |
Atributi i cilësisë | Karakteristikë ose veçori e një produkti softuerik, e pavarur nga funksioni i tij, që është e rëndësishme për plotësimin e nevojave të palëve të interesuara. |
Atributet e zhvillimit | Mbajtshmëria dhe ripërdorimi. |
Mbajtshmëria | Lehtësia me të cilën produkti mund të korrigjohet. |
Ripërdorimi | Shkalla në të cilën pjesët e produktit mund të ripërdoren në një produkt tjetër. |
Atributet operacionale | Performanca, disponueshmëria, besueshmëria dhe siguria. |
Performanca | Aftësia për të kryer funksionet brenda kufizimeve të kohës ose burimeve. |
Disponueshmëria | Gatishmëria për t'u përdorur. |
Besueshmëria | Aftësia për të vepruar sipas kërkesave në kushte normale operimi. |
Siguria | Aftësia për t'iu kundërvënë dëmtimit ose për të mos shkaktuar dëme nga ndikimet armiqësore. |
Ndërfaqja (Interface) | Kufi komunikimi midis entiteteve. |
Specifikimi i ndërfaqes | Përshkruan mekanizmin që një entitet përdor për të komunikuar me mjedisin e tij. |
Pjesët e specifikimit të ndërfaqes | Sintaksa, semantika dhe pragmatika. |
Sintaksa | Elementet e mediumit të komunikimit dhe mënyra si kombinohen për të formuar mesazhe. |
Semantika | Kuptimi i mesazheve. |
Pragmatika | Mënyra si përdoren mesazhet në kontekst për të realizuar detyra. |
Para-kushti (Pre-condition) | Pohim që duhet të jetë i vërtetë në fillim të një aktiviteti ose operacioni. |
Pas-kushti (Post-condition) | Pohim që duhet të jetë i vërtetë në përfundim të një aktiviteti ose operacioni. |
Komponenti UML | Njësi modulare dhe e zëvendësueshme me ndërfaqe të mirëpërcaktuara. |
Ndërfaqja e siguruar (Provided Interface) | Ndërfaqe që komponenti e realizon ose implementon, pra shërbimet që ai ofron. |
Simboli i Provided Interface | Paraqitet me simbolin top/lollipop. |
Ndërfaqja e kërkuar (Required Interface) | Ndërfaqe që komponentit i nevojitet për të funksionuar, pra shërbimet që kërkon nga komponentët e tjerë. |
Simboli i Required Interface | Paraqitet me simbolin socket. |
Lidhësi i delegimit (Delegation Connector) | Lidh një ndërfaqe të komponentit me një ose më shumë klasa ose komponentë të brendshëm që e realizojnë ose përdorin atë ndërfaqe. |
Arkitektura logjike | Konfigurimi i pjesëve kryesore të produktit dhe marrëdhënieve të tyre, pa u fokusuar në implementimin real. |
Arkitektura fizike | Realizimi i produktit si kod dhe skedarë të dhënash, të cilët vendosen dhe ekzekutohen në burime kompjuterike. |
Artefakti UML | Çdo përfaqësim fizik i të dhënave të përdorura ose prodhuara gjatë zhvillimit apo operimit. |
Shembuj të artefakteve UML | Skedarë, dokumente dhe kod programi. |
Skedari | Shembull i artefaktit UML. |
Dokumenti | Shembull i artefaktit UML. |
Kodi i programit | Shembull i artefaktit UML. |
Nyja (Node) UML | Një burim kompjuterik. |
Llojet e nyjeve UML | Pajisje dhe mjedis ekzekutimi. |
Pajisja | Një lloj nyje UML, për shembull një pajisje kompjuterike. |
Mjedisi i ekzekutimit | Një lloj nyje UML, për shembull sistem operativ ose interpretues. |
Sistemi operativ | Shembull i mjedisit të ekzekutimit. |
Interpretuesi | Shembull i mjedisit të ekzekutimit. |
Arkitektura e softuerit | Struktura e programit, e përbërë nga komponentët kryesorë, përgjegjësitë dhe marrëdhëniet ndërmjet tyre. |
Stili arkitektonik | Model i nivelit të lartë për organizimin e programeve dhe nënsistemeve. |
Layered | Stil ku programi ndahet në shtresa; secila shtresë përdor shërbimet e shtresave poshtë dhe ofron shërbime për ato lart. |
Shtresa (Layer) | Pjesë e arkitekturës Layered që përdor shërbimet e shtresave poshtë dhe ofron shërbime për shtresat lart. |
Pipe-and-Filter | Stil ku programi ndahet në filtra që përpunojnë të dhënat dhe pipes që i bartin të dhënat nga një filtër te tjetri. |
Filter | Komponent në stilin Pipe-and-Filter që përpunon të dhënat. |
Pipe | Komponent në stilin Pipe-and-Filter që bart të dhënat nga një filtër te tjetri. |
Shared-Data | Stil ku komponentët komunikojnë përmes një depoje të përbashkët të të dhënave. |
Depoja e përbashkët e të dhënave | Mekanizëm përmes të cilit komponentët komunikojnë në stilin Shared-Data. |
Blackboard | Variant i Shared-Data ku depoja aktivizon aksesuesit kur të dhënat ndryshojnë. |
Repository | Variant i Shared-Data ku depoja është pasive dhe manipulohet nga aksesuesit. |
Aksesuesit | Komponentë që përdorin ose manipulojnë depon e përbashkët të të dhënave. |
Event-Driven | Stil ku komponentët komunikojnë përmes ngjarjeve. |
Event | Ngjarje përmes së cilës komunikojnë komponentët në stilin Event-Driven. |
Event Dispatcher | Komponent që njofton komponentët e interesuar kur ndodh një ngjarje. |
MVC | Stil që organizon marrëdhënien mes ndërfaqes së përdoruesit dhe domain-it. |
Model | Në MVC, ruan të dhënat dhe operacionet e programit. |
View | Në MVC, shfaq të dhënat. |
Controller | Në MVC, merr dhe vepron mbi inputin e përdoruesit. |
Domain | Pjesa e sistemit me të cilën MVC organizon marrëdhënien e ndërfaqes së përdoruesit. |
Ndërfaqja e përdoruesit | Pjesa e sistemit marrëdhënia e së cilës me domain-in organizohet nga MVC. |