1
Hyrje ne Inxhinieri software(SE)
2
Pse Software Engineering? • Zhvillimi I Software eshte I veshtire !
• Eshte shume me rendesi qe nje sistem te veshtire te ndahet ne sisteme te thjeshta.
• Problemet jane komplekse
Software engineering eshte rreth menaxhimit dhe kompleksitet.
3
Librat referues
• Sommerville I. (2001,2004) Software Engineering 6th or 7th Edition, Addison-Wesley, Harlow, Essex,UK
• Stevens P. with Pooley, R. (2000) Using UML: Software Engineering with Objects and Components, Addison-Wesley, Harlow, Essex, UK
• Introducing Asml (2001) Microsoft corporation
Sommerville + Stevens
Bundle
4
Permbajtja 1. Cfare eshte nje software ?
1. Cfare eshte software engineering? 2. Diferenca ndermjet nje SE dhe nje shkence kompjuterike ? 3. Diferenca ndermjet nje SE dhe nje sistemi inxhinierik 4. Cfare eshte nje software process? 5. Cfare eshte model software process? 6. Karakteristikat e nje procesi te mire. 7. Modeli Waterfall. 8. Modele te tjera 9. Planifikimi I nje projekti
5
Cfare eshte nje software ?
Programet kompjuterike dhe dokumentacionet e asocuara , modelet projektuese dhe manualet e perdorimit .
Produktet sofware mund te zhvillohen per nje klient te vecante ose per nje treg te gjere .. Produktet sofware jane : • • Generic - te cilat zhvillohen qe te shiten tek kliente te ndryshem. • p.s. PC software sic jane Excel ose Word. • • Bespoke (custom) – zhvillohen per nje klient te vetem ne lidhje me specifikimin qe ai ka dhene
6
Sfidat qe na shfaqen ne projekt ete gjate
– Perpjekje intensive – Kosto e larte – Harxhim kohe I madh per ta zhvilluar – Rrezik I larte deshtimi ,performance dhe mirembajtje .
7
Suksesi I nje sistemi software • Projektet Software nuk kane qene gjithmone te sukseshem .Kur nje sistem
quhen I suskseshem ? – Zhvillimi u kompletua – Eshte I perdorshem – Mirembahet – Nje relacion I perkryer ndermjet kostos dhe efektivitetit
8
Cfare eshte SE ?
• Software engineering eshte nje disipline inxhinierike qe eshte e perqendruar ne te gjitha aspektet e nje prodhimi software.
Inxhinieret Software duhet te adoptojne te gjitha ceshtjet ne menyre sistematike dhe te organizuara me punen e tyre dhe perdorimi I teknikave ne varesi te problemit qe do te zhgjidhet dhe ne varesi te burimeve qe jane te disponueshme .
9
Cfare eshte SE (vazhdim) • Eshtë aplikimi i një zhvillimi sistematik, të disiplinuar, me aksesim
sasiore, operuar dhe mirëmbajtjen e softuerit dhe studimi i këtyre metodave, ne , aplikimin e inxhinierisë se softuerit
• Termi SE u percaktua ne vitin 1968 ne nje konference per SE.
10
Aktivitetet Baze te SE
• Percaktimi I proceseve software qe do te krijohen per tu perdorur • Menaxhimi I projketit zhvillues the development project • Pershkrimi I brendshem i produktit software • Projektimi I produktit • Implementimi I produktit • Testimi I pjeseve te ndyshme te produktit • Integrimi I pjeseve • Mirembajtja e produktit .
11
Kater rolet e SE
• Projekti – puna qe ne kemi ne dore • Njerezit – ato qe po e realizojne kete projekt • Procesi – menyra se si po realizojne • Produkti – objektet e prodhuara
12
Karakteristikat e nje Engineered Software te mire • Ofron funksionalitetin e kerkuar • Mirembahet brenda rregullave • I besueshem • Eficent • User-friendly • Kosto efektive
13
Diferenca ndermjet nje SE dhe nje shkence kompjuterike ?
• Shkenca kompjuterike eshte e perqendruar ne teori dhe ne tutoriale themelore .;
• SE lidhet me praktikat e zhvillimit dhe me software me te perdorshem .
14
Diferenca ndermjet nje SE dhe nje sistemi inxhinierik
• Sistemi inxhinierik ka të bëjë me të gjitha aspektet e bazuara në sistemet kompjuterike duke përfshirë hardware, software dhe proceset inxhinirike . SE merret me zhvillimin e infrastrukturës software, kontrollin, aplikimet dhe bazave të të dhënave në sistem. ● Inxhinierët e sistemit janë të përfshirë në sistemin dhe ne specifikimin, projektimin e arkitektures , integrimin dhe vendosjen.
15
Sfidat e SE?
: • Trashegimia e sistemeve
– I vjeter , vleresimi I sistemeve duhet qe te updatohet • Heterogjeniteti
– Systemet jane te shperndare dhe perfshijne mix te h/s • Vendosja • Nuk ka një nxitje në rritje
për ofrimin më të shpejtë të programeve
16
Cfare eshte nje proces software
• Një sërë aktivitetesh qëllimi i të cilit është zhvillimi apo evolimi e softuerit. ● Aktivitetet e pergjithshme në të gjitha proceset software janë: • Specifikimi - çfarë duhet të bëjë sistemi dhe kufizimet zhvillimit te tij
• Zhvillimi - prodhim i sistemit kompjuter • Vleresimi • - kontrollon nese software është çfarë
konsumatori dëshiron Evolimi - ndryshimin e programeve kompjuterike në përgjigje tëndryshimin e kërkesave.
17
Cfare eshte model software process?
• Një paraqitje e thjeshtuar e një procesi software, të paraqitura nga një perspektivë të veçantë .
• Shembuj te modeleve te proceseve • • Workflow perspective – sekuence veprimesh • • Data-flow perspective – rrejdhje informacioni ; • • Role/action perspective – kush e realizon .
18
Karakteristikat e nje procesi te mire
• Duhet të përcaktohet saktësisht - nuk ka paqartësi se çfarë do të bëhet, kur, si, etj Ajo duhet të jetë i parashikueshëm - mund të përsëritet në projekte të tjera me besim në lidhje me rezultatin e saj Parashikueshëm në lidhje me përpjekje, me kosto.
19
Karakteristikat e nje procesi te mire • Zbulimin e hershëm te difekteve dhe lehtësimin heqjes se defekteve
.Ne rast se zbulimi eshte vonë / korrigjimi është I shtrenjtë
.Ajo duhet të lehtësoje monitorimin dhe përmirësimin . Leje përdorimi per mjete të reja, teknologjitë e reja
20
Modelet e pergjithshme te proceseve software
• Modeli waterfall – Fazat e specifikimeve dhe te zhvillimit jane te ndara .
• Zhvillimet evolutive – Specifikimi , zhvillimi dhe vleresimi jane ne shtresa
• Component-based software engineering – Sistemi ngihet mbi bazen e kompnenteve ekzistues.
21
Waterfall model
22
Fazat Waterfall model Analiza e kerkesave dhe percaktimi • Sistemi dhe projektimi software • Implementimi dhe njesia integruese • Integrimi dhe testimi • Mirembajtja
23
Problemet Waterfall model • Ndarja e projektit në faza të ndryshme e bën të vështirë për t'iu përgjigjur
ndryshimit të kërkesave të konsumatorëve. Prandaj, ky model është vetëm e përshtatshme kur kushtet jane te mire-kuptohet dhe ndryshimet do të jenë te kufizuara në mënyrë të drejtë gjatë procesit të projektimit. Modeli waterfall është përdorur kryesisht për projekte të sistemeve të mëdha inxhinierike ku një sistem është zhvilluar në disa vende.
24
Software Development Process: Waterfall Model
Concept
•Idea fillestare .
•Mund te perfshije edhe
prototipe qe te percaktohet
realizueshmeria e idese.
•.
Analiza e kerkesave dhe percaktimi
25
Software Development Process: Waterfall Model
Concept
•Të gjitha kushtet e mundshme të sistemit të
zhvilluar janë kapur në këtë fazë. . Kërkesat janë
mbledhur nga end_user per konsultim, këto
kërkesa janë analizuar për vlefshmërinë e tyre.
Requirements
26
Software Development Process: Waterfall Model
Concept
•Eshtë shumë e rëndësishme për të kuptuar se
çfarë ne do të krijojme? Analiza e kërkesës nga
faza e parë eshte studiuar per këtë fazë dhe
hartimin e sistemit është i përgatitur. Sistemi
Design ndihmon në specifikimin hardware dhe
kërkesat e sistemit dhe gjithashtu ndihmon në
përcaktimin e arkitekturën e përgjithshme të
sistemit.
Requirements
Design
27
Software Development Process: Waterfall Model
Concept
•Gjenerimi I kodit .
•Integrimi I komponenteve .
Requirements
Design
Implementation
28
Software Development Process: Waterfall Model
Concept
•Sigurohemi qe te
gjitha kerkesat
jane marre
parasysh dhe
jane realizuar
Requirements
Design
Implementation
Testing
Pas nje testimi te sukseshem I dergohet klientit
29
Software Development Process: Waterfall Model
Concept
•Dokumentimi.
•Trajnimi I
perdorueve .
•Vendosja
Requirements
Design
Implementation
Testing
Delivery
30
Waterfall Model Permbledhje system
engineering
Analysis Project planning
design
code
testing & integration
Installation & maintenance
-Pjese software e sisteme te medha
-Vendosja e kerkesave per te gjithe elementet e sistemit
-Kuptohet informacioni I marre ,funksionet ,performanca
dmth behet plani I projektit .
-Perkthehen kerkesat ne arkitekture s/w a, strukture te
dhenash dhe detaje proceduriale .
-Programimi
-test logjik dhe nderfaqet e
funksioneve
-Zbatimi t; behen ndryshime ne rast se
ka
-Errore, performance
-Ndryshime ne kerkesa
Top Related