Download - Inxhinieri Software - Leksion 1

Transcript
Page 1: Inxhinieri Software - Leksion 1

1

Hyrje ne Inxhinieri software(SE)

Page 2: Inxhinieri Software - Leksion 1

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.

Page 3: Inxhinieri Software - Leksion 1

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

Page 4: Inxhinieri Software - Leksion 1

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

Page 5: Inxhinieri Software - Leksion 1

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

Page 6: Inxhinieri Software - Leksion 1

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 .

Page 7: Inxhinieri Software - Leksion 1

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

Page 8: Inxhinieri Software - Leksion 1

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 .

Page 9: Inxhinieri Software - Leksion 1

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.

Page 10: Inxhinieri Software - Leksion 1

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 .

Page 11: Inxhinieri Software - Leksion 1

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

Page 12: Inxhinieri Software - Leksion 1

12

Karakteristikat e nje Engineered Software te mire • Ofron funksionalitetin e kerkuar • Mirembahet brenda rregullave • I besueshem • Eficent • User-friendly • Kosto efektive

Page 13: Inxhinieri Software - Leksion 1

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 .

Page 14: Inxhinieri Software - Leksion 1

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.

Page 15: Inxhinieri Software - Leksion 1

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

Page 16: Inxhinieri Software - Leksion 1

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.

Page 17: Inxhinieri Software - Leksion 1

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 .

Page 18: Inxhinieri Software - Leksion 1

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.

Page 19: Inxhinieri Software - Leksion 1

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

Page 20: Inxhinieri Software - Leksion 1

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.

Page 21: Inxhinieri Software - Leksion 1

21

Waterfall model

Page 22: Inxhinieri Software - Leksion 1

22

Fazat Waterfall model Analiza e kerkesave dhe percaktimi • Sistemi dhe projektimi software • Implementimi dhe njesia integruese • Integrimi dhe testimi • Mirembajtja

Page 23: Inxhinieri Software - Leksion 1

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.

Page 24: Inxhinieri Software - Leksion 1

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

Page 25: Inxhinieri Software - Leksion 1

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

Page 26: Inxhinieri Software - Leksion 1

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

Page 27: Inxhinieri Software - Leksion 1

27

Software Development Process: Waterfall Model

Concept

•Gjenerimi I kodit .

•Integrimi I komponenteve .

Requirements

Design

Implementation

Page 28: Inxhinieri Software - Leksion 1

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

Page 29: Inxhinieri Software - Leksion 1

29

Software Development Process: Waterfall Model

Concept

•Dokumentimi.

•Trajnimi I

perdorueve .

•Vendosja

Requirements

Design

Implementation

Testing

Delivery

Page 30: Inxhinieri Software - Leksion 1

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