Tuesday, April 26, 2011

Inxhinieria_Software

Shkarko librin  6.21MB



Inxhinierimi i software (Software Engineering –SE) është displina e modelimit, krijimit dhe mirëmbajtjes së softwareve duke zbatuar teknologji dhe praktika të informatikës, e menaxhimit të projekteve, e modelimit të ndërfaqes grafike, etj. Kjo disipline merret me identifikimin, percaktimin, kuptimin dhe verifikimin e karakteristikave të kërkuara të software përfundimtar. Këto karakteristika mund të përfshijnë     funksionalitetin(functionality), besueshmerine(reliability), mundesine per mirembajtje(maintainability),testueshmërinë(testability), lehtësinë e përdorimit,  portability dhe atribute të tjerë. Këto karakteristika adresohen nga inxhinierët e softwareve duke përgatitur modelime dhe specifikime teknike, të cilat, nqs implementohen ashtu si duhet, do te rezultojnë në një software të verifikueshëm përsa i përket këtyre kërkesave.
Përmbledhtasi, mund të themi që SE është disiplina inxhinierike që merret me të tërë aspektet e ndertimit të një software nga fazat e para të specifikimit të sistemit deri në mirembajtjen e sistemit pasi ai është vene në punë. SE trajton dhe adreson proceset e software, modelet e proceseve, kostot, atributet e software, mjete të ndryshme që zgjidhen për tu perdorur gjatë ndërtimit të software, përgjegjësitë profesionale dhe etike.
Objektivi kryesor i SE është të ofroje mënyra për të siguruar një prodhimin e një software që permbush qellimet për të cilat është kerkuar (kerkesa funksionale/ jo funksionale, kufizime të ndryshme të mjedisit në të cilin do të ekzekutohet, kosto, respektimin e ligjeve, etj).

Nevoja për inxhinierimin e software

Në ditët e sotme:
-         ekomonia e të tëra shteteve të zhvilluara është e varur nga softet
-         software kontrollojnë gjithmonë e më shumë sistemet.
-         shpenzimet për software përbëjnë një pjesë të konsiderueshme të shpenzimeve te shteteve të zhvilluara.
-         kostoja e një software është mbizotëruese në koston e një sistemi kompjuterik, software kushton më shume sesa hardware.
-         zhvillimi i software kushton më pak sesa mirëmbajtja e tij. Për një software me jetë të gjatë, kostoja e mirembajtjes mund te jete shumefish i asaj te zhvillimit.

Inxhinierimi i software merret me zhvillimin e nje software me kosto efektive.
Termi inxhinierim software (SE) u perdor per here të parë në vitin 1968 në konferencën e NATO-s, e organizuar nga komiteti shkencor i NATO-s, ne Gjermani. Besohet që kjo konference i dha pikënisjen profesionit të inxhinierimit të software. Objektivi ishte zgjidhja e të ashtuquajturës krizë e software e viteve 1960, 1970, 1980, e cila evidentoi problemet e zhvillimit të software. Termi ‘krizë e software’ u përdor fillimisht në lidhje me produktivitetin, por evoloi më pas për të theksuar cilësinë. Këtë krizë e evidentonin:
-         software dorëzoheshin pas afatit të duhur(vonë)
-         software kushtonin më shumë nga sa ishte parashikuar (shtrenjtë). Shembull klasik është zhvillimi i sistemit të operimit OS/360. Ishte një projekt që zgjati afërsisht një dekadë, nga 1960 deri në 1970 dhe krijoi një nga produktet më komplekse të krijuara ndonjëherë. OS/360 ishte projekti i parë i madh i marrë përsipër me rreth 1000 programues. Fred Brooks thotë tek ‘The Mythical Man Monthse bëri një gabim prej miliona dollarë duke mos ndërtuar më parë një arkitekturë koherente për sistemin përpara se të fillonte zhvillimi.
-         software nuk ishin të besueshëm(dëmtim)
-         software nuk kishin cilësi që t’i bënin të jetonin gjatë(mungesë mirëmbajteje)
-         software kishin performancë të ulët.
Në këto kushte, pyetja që shtrohej ishte: ç’mund të bëhet për t’i lehtësuar dhe shmangur këto probleme. Përgjigjja e vetme për problemet ishte: software duhet të jetë një produkt që duhet inxhinieruar. Softet e sotme janë aq të mëdha dhe komplekse sa përpjeka për të filluar zhvillimin e tyre duke shkruar menjëherë kod është fillimi i dështimit.

Kur fillon projekti i ndertimit te nje ndertese, nuk fillon menjehere puna duke ndertuar ndertesen. Inxhinieret perdorin metoda te percaktuara me pare dhe te dokumentuara mire.
  1. Analizohet ndertimi i kerkuar duke biseduar shpesh me klientet/perdoruesit per te kutpuar sa me mire ate qe kerkohet.
  2. Dizenjohet ndertimi ne perputhje me kerkesat e perdoruesit. Keto kerkesa jane gjeneruar nga nje specifikim i caktuar.
  3. Ndertohet nje model per te testuar dizenjon.
  4. Se fundmi, fillohet ndertimi konkret.
Veprimet e pershkruara me lart, jane faza te inxhinierimit të një ndërtese cfarëdo. Në këto faza duhet të kalojë dhe ndërtimi i një software.

Inxhinierimi është krijimi i zgjidhjeve për problemet praktike, me pak shpenzim, duke përdorur njohuri shkencore, për të ndërtuar gjëra në shërbim të njerëzimit.

Kriza e software po zhduket shumë ngadalë. Po pranohet që zgjidhja e problemeve të zhvillimit të software janë vërtet të vështira dhe ato mund të zgjidhen vetëm me shumë punë gjatë periudhave shumë të gjata.
Nga viti 1970 e deri në vitet 1990, përdorimi i mjeteve të ndyshme, disiplina, metodat formale, proçesi, dhe profesionalizmi trumbetoheshin si çelësi i zgjidhjes së krizës.

Zhvillimi i sistemeve të kompjuterizuara është shoqëruar nga një numër i madh problemesh, shumica e të cilëve janë të pranishëm akoma. Përparimet në hardware mbizotërojnë mbi aftësitë tona për të ndërtuar me të njëjtat ritme software që i përgjigjen potencialeve të hardwareve. Aftësitë për të ndërtuar programe të reja nuk ecin me të njëjtin ritëm me kërkesat për programe të reja. Aftësitë janë të kufizuara edhe për të ndërtuar shpejt programe që t’i përgjigjen kërkesave të tregut. Përdorimi shumë i gjerë i kompjuterave e ka berë shoqërinë më shumë të varur nga operimi i besueshem i programeve.
Deshtimet e software shkaktojnë dëme të mëdha ekonomike. Aftesite per te zhvilluar dhe mbështetur më tej programet ekzistuese kërcënohet nga dizenjim i varfër i tyre dhe burime të kufizuara (burimet e kufizuara shpesh cojnë në një zhvillim të software pa ndjekur standarte ose pa kaluar nëper fazat që percakton SE, gje që rezulton edhe në dizenjim të varfer dhe software që është i vështirë për tu mirembajtur) .
Këto janë arsyet që kanë çuar në krijimin e disiplinës së SE. Duhet maksimizuar cilësia e software duke ulur kohën e kërkuar për zhvillim dhe shpenzimet.

No comments:

Post a Comment