Upload
cybertech
View
560
Download
7
Embed Size (px)
Citation preview
Sadržaj
1. Uvod
2. Životni ciklus razvoja softvera
2
Uvod
• Softversko inženjerstvo možemo definisati kao sistemski pristup razvoju, korišćenju, održavanju i odumiranju softvera.
• Pored isporuke softvera, visok kvalitet, mali troškovi i kratak vremenski rok su dodatni ciljevi koje softverski inženjer mora da dostigne.
• Na kvalitet i produktivnost utiču 3 faktora: ljudi, procesi i tehnologija.
3
Uvod
• Kvalitet i produktivnost konačnog proizvoda zavise od veštine ljudi uključenih u projekat, procesa koji koriste za različite zadatke u projektu i alata koje koriste.
• U softverskom inženjerstvu glavni fokus je dat na procesima. Osnovni zadatak procesa je da pomogne ljudima da
postignu veći kvalitet i produktivnost kroz specifikaciju zadataka koje treba uraditi i definisanjem načina na koji ih treba uraditi.
4
Softverski proces
• Softverski proces definiše način izrade softvera. On obuhvata: Model životnog ciklusa softvera Alate koji se koriste Pojedince koji učestvuju u izradi softvera
• Model životnog ciklusa softvera definiše način na koji se upravlja različitim fazama životnog ciklusa softvera.
5
Životni ciklus razvoja softvera
Šta je informacioni sistem (IS)?
Hardver, softver, podaci, ljudi i procedure koji funkcionišu
zajedno da bi proizveli kvalitetne informacije.
Sistem—Skup komponenti koje međusobno sarađuju
kako bi postigli zajednički cilj.
U poslovanju se koriste različiti tipovi sistema
6
Šta je životni ciklus razvoja softvera?• (engl. System Development Life Cycle – SDLC) • Proces kroz koji stručnjaci različitih profila
(analitičari, projektanti, inženjeri, programeri, ...) i korisnici informacionog sistema prave informacioni sistem.
7
Životni ciklus razvoja softvera
Životni ciklus razvoja softvera
Koje su faze životnog ciklusa razvoja softvera?
Faza 1. Planiranje
Faza 2. Analiza
Faza 3. Dizajn
Faza 4. ImplementacijaFaza 5. Podrška
Pregled projektnih zahteva
Analiza prioriteta projektnih zahteva
Dodeljivanje resursa Identifikovanje proj.
razvojnog tima
Izvođenje preliminarne analize Izvršenje detaljne analize:
Proučavanje trenutnog sistemaUtvrđivanje korisničkih zahtevaPredlog rešenja
Nabavka hardvera i softvera, ukoliko je potrebno
Razvoj detalja sistema
Razvoj programa, Instaliranje i testiranje novog
sistema Obuka korisnika Korišćenje novog sistema
Revizije sistema Identifikovanje grešaka i
unapređenja Praćenje performansi sistema
8
Životni ciklus razvoja softvera
Koje su preporuke za razvoj sistema?
Uključivanje korisnika (bilo koje lice za koje se sistem implementira)
Grupisanje zadataka pofazama (grupama aktivnosti)
Razvoj jasno definisanih standarda (procedure za koje kompanija očekuje da zaposleni treba da ih primenjuju)
9
Životni ciklus razvoja softvera
Ko su učesnici u životnom ciklusu razvoja softvera?
10
Životni ciklus razvoja softvera
Šta je analitičar sistema?
Osoba odgovorna za dizajn i razvoj
informacionog sistema
Veza između korisnika i IT profesionalaca
11
Životni ciklus razvoja softvera
Šta je projektni tim?
Sastoji se od korisnika, analitičara sistema i drugih IT profesionalaca
Grupa ljudi koji rade na projektu od početka do kraja
Vođa projekta—jedan od članova tima koji upravlja i kontroliše budžetom projekta i vremenskim planom
12
Životni ciklus razvoja softvera
Šta je izvodljivost?
Procena koliko će koristi
kompanija imati od
razvoja sistema
Operaciona izvodljivost
Izvodljivost vremenskog
roka
Četiri testa izvodljivosti:
Tehnička izvodljivost
Ekonomska izvodljivost
(poznata i kao cost/benefit
analiza)
13
Životni ciklus razvoja softvera
Šta je dokumentacija?
Obuhvata izveštaje, dijagrame, programe i druge izveštaje
Kolekcija i rezime podataka i informacija
14
Životni ciklus razvoja softvera
Šest tehnika za prikupljanje podataka i informacija? Analiza dokumentacije Posmatranje Upitnici Intervjui Joint-application
design (JAD) sesija Istraživanje
15
Planiranje
Koji su razlozi za kreiranje ili modifikovanje informacionog sistema?
Konkurentnost može voditi do promene
Unapređenje postojećeg sistema
Spoljašnji uslovi zahtevaju promenu
Rešavanje problema u postojećem sistemu
16
Planiranje
Šta je zahtev za održavanjem sistema? Formalni zahtev za
novim ili modifikovanim informacionim sistemom Takođe zvan
projektni zahtev
17
Planiranje
Šta je faza planiranja?
Počinje kada upravni odbor primi projektni zahtev
Upravni odbor—
rukovodeće telo kompanije
Funkcije odbora:
Recenzija i odobravanja projektnih
zahteva
Dodeljivanje resursa
Formiranje razvojnog tima
projekta za svaki odobreni
projekat
Određivanje prioriteta
projektnim zahtevima
18
Analiza
Šta je faza analize?
Izvršenje preliminarnog istraživanja, poznato i kao
studija izvodljivosti
Izvršenje detaljne analize
19
Analiza
Šta je preliminarno istraživanje? Utvrđivanje tačne prirode problema ili unapređenja i
utvrđivanje da li je vredno truda Zaključci se prezentuju u izveštaju o izvodljivosti, poznatom kao studija
izvodljivosti
20
Analiza
Šta je detaljna analiza?
Ponekad se zove logički dizajn
2. Utvrđivanje šta korisnik želi, šta mu je potrebno i definisanje
zahteva
3. Predlaganje rešenja
1. Proučavanje kako trenutni sistem funkcioniše
21
Predstavlja se upravnom
odboru, koji donosi odluku o tome kako će se sistem razvijati
Analiza
Šta je predlog projekta? Procenjuje
izvodljivost svakog
alternativnog rešenja
Predlaže najizvodljivije
rešenje za projekat
22
Analiza
Šta su moguća rešenja?
Kupovina paketskog softvera —softver dostupan na tržištu
Outsource—spolja razvijen softver
Izrada sopstvenog korisničkog softvera—softver razvijen prema
korisničkim zahtevima
Softver za vertikalno tržište—dizajniran za
određenu industriju
Softver za horizontalno
tržište—rađen za potrebe mnogih
kompanija
23
Dizajn
Šta je faza dizajna?
Izlaz:• dokument koji opisuje arhitekturu• plan implementacije• analiza osnovnih prioriteta• Plan testiranja
Razvoj svih detalja novog ili modifikovanog informacionog
sistema
Definiše se arhitektura sistema (komponente, njihov interfejs i ponašanje).
24
Razgovor sa kompanijama za izradu softvera
Dizajn
Šta je potrebno za nabavku novog softvera? Identifikovanje svih hardverskih i softverskih zahteva
novog ili modifikovanog sistema
Pretraživanje Weba
Čitanje štampanih i online trgovačkih časopisa, novina,
oglasa…
Razgovor sa drugim analitičarima sistema
25
Dizajn
Koja su tri osnovna dokumenta koja se koriste za pregled tehničkih specifikacija?
Manje formalni metod koji koristi
standardnu formu za dobijanje informacije o proizvodu ili usluzi
Prodavac daje cene za
navedene proizvode
Prodavac bira proizvod(e) koji
ispunjavanju definisane zahteve i
predlaže cene
Kupac definiše
proizvode koje želi
Zahtev za informacijom
Zahtev za predlog
Zahtev za izjašnjavanjem
26
Dizajn
Kako analitičari sistema testiraju softverski proizvod? Proučavanje referenci prodavca Razgovor sa trenutnim korisnicima proizvoda Demonstracije proizvoda Korišćenje trial verzija softvera Merenje performansi korišćenjem benchmark testova
27
Dizajn
Šta je detaljni dizajn?
Obuhvata nekoliko aktivnosti
Dizajn baze podataka Dizajn ulaza i izlaza Dizajn programa
Detaljna specifikacija dizajna za komponente u predloženom rešenju
28
Dizajn
Šta je mockup? Funkcionalnosti sistema se predstavljaju crtanjem
elemenata korisničkog interfejsa.
http://www.balsamiq.com/
Primer izgleda ekrana predstavljen korišćenjem alata za kreiranje mockup-a
29
Implementacija
Šta je prototip?
Radni model za predloženi sistem
Izrada prototipa previše rano može dovesti do
problema
Nekompletna verzija softvera koji se razvija. Obično simulira samo nekoliko aspekata funkcionalnosti
eventualnog softvera i može biti potpuno drugačiji od kranjeg proizvoda.
Omogućava korisnicima softvera da evaluiraju ono što su developeri predložili kao rešenje.
30
Implementacija
Šta je computer-aided software engineering (CASE)? Softverski alati dizajnirani da podrže aktivnosti
životnog ciklusa razvoja softvera
31
Prelazak na novi sistem
Implementacija
Šta je faza implementacije? Cilj je da se konstruiše ili izgradi novi ili modifikovani
sistem a zatim isporuči korisnicima
Obuka korisnika
Instalacija i testiranje novog sistema
Razvoj programa
32
Implementacija
Koja su tri tipa testova koje izvršava projektni tim?
Provera da li aplikacija radi sa
drugim aplikacijama
Testiranje sistema
Testiranje integracije
Testiranje jedinice
Provera da li svaka pojedinačna komponenta funkcioniše
Provera da li svi programi u aplikaciji
rade zajedno
33
Podrška
Šta je obuka? Pokazivanje
korisnicima kako će koristiti hardver i softver u sistemu
34
Podrška
Šta je faza podrške?
Upravljanje analizom sistema nakon implementacije—vođenje sastanaka da bi se utvrdilo da li se informacioni sistem ponaša prema
očekivanjima
Identifikovanje grešaka
Identifikovanje potencijalnih unapređenja
Praćenje performansi sistema
Obezbeđuje tekuću pomoć nakon implementacije sistema
35