Da bi se umanjio rizik od promašaja u projektu, pre nego što počnemo da pravimo važno je da znamo šta hoćemo da napravimo. Zato se moraju jasno definisati zahtevi (tj. željene sposobnosti sistema). Gradimo i ispitujemo prema tim zahtevima. Oni su naš osnov za promene i naš ugovor sa poslovnim klijentima. Oni nisu samo reči na papiru. Oni su od suštinskog značaja. Naši ciljevi pri definisanju zahteva su:
1. da se utvrde okviri sistema koga treba da pravimo;
2. da se postigne precizno razumevanje željenih sposobnosti sistema;
Utvrđivanje okvira sistema često je veliki lični izazov za rukovodioca razvoja ili vođu projektnog tima. To može da bude i veliki kulturni šok za neku organizaciju. U toj ranoj fazi razvojnog životnog ciklusa, naši kupci (tj. poslovni ljudi za koje pravimo taj sistem) često su kao deca u prodavnici slatkiša. Hteli bi sve. Kao i deca, izgleda da nikad nemaju para da sve to plate. Nažalost, mi koji smo na strani razvoja često moramo da igramo ulogu strogog roditelja, koji uskraćuje slatkiše našim kupcima. Taj zadatak, ako se ne obavlja prikladno i blago, može da se plati karijerom, pa zato moramo da ispunimo i drugi cilj - precizno razumevanje željenih sposobnosti sistema. To zaista obezbeđuje osnovu za postizanje prvog cilja - utvrđivanja okvira sistema.
Model korisničkih funkcija
Glavna tvorevina koja proizilazi iz definisanja zahteva jeste model korisničkih funkcija sistema. Ali, zar nismo već razvili model korisničkih funkcija kada smo modelovali poslovni sistem? Jesmo, ali model korisničkih funkcija koji treba sada da razvijemo je model podsistema koga će koristiti radnici u sistemu i poslovni izvođači u svojim svojim specifičnim poslovnim funkcijama.
Izobilje elemenata modela otkrivenih tokom modelovanja poslovnog sistema mora da se prenese u model korisničkih funkcija podsistema. Prvi korak u tom procesu može da bude sasvim neposredan, jer mnogi elementi iz poslovnog sistema direktno ulaze u model korisničkih funkcija. Na primer, u dabeli ispod navedene su neke mogućnosti transformacije, koje se preporučuju u okviru Rational Unified Process.
U poslovnom modelu U modelu korisničnih funkcija
Poslovne korisničke funkcije postaju Podsistemi
Poslovni izvođači postaju Izvođači
Radnici u sistemu postaju Izvođači ili korisničke funkcije
Aktivnosti radnika u sistemu postaju Korisničke funkcije
Kada se obave početna prevođenja, poslovni ljudi imaju veoma važnu ulogu u overavanju i razradi.
Jedno upozorenje: potrebno je biti veoma obazriv pri razvoju modela korisničkih funkcija. Ako u svom modelovanju koristimo stereotipe "extends" ili "includes", potrebno je izbegnuti ulaženje u funkcionalnu dekompoziciju. Korisničke funkcije se ne sastoje od većeg broja korisničkih funkcija nižeg nivoa. Poslovna korisnička funkcija može da bude bude "realizovana" pomoću brojnih podsistemskih korisničkih funkcija, ali se ona ne dekomponuje na te podsistemske korisničke funkcije, niti se te podsistemske korisničke funkcije dekomponuju na manje korisničke funkcije. Potrebno je imati na umu da svaka korisnička funkcija prestvavlja kompletan tok događaja koji za izvođača proizvodi neki vredan rezultat. Ako dekomponujemo korisničku funkciju, razbićemo njenu "kompletnost". Na primer, ako kod automatske blagajničke mašine imamo korisničku funkciju Preuzmi Gotovinu, ta korisnička funkcija se ne dekomponuje na korisničke funkcije kao što su Ubaci Karticu, Unesi PIN, Izaberi Račun i slične. Nijedna od ovih funkcija nije pojedinačno kompletan tok niti pojedinačno obezbeđuje vrednost za izvođača.
Evo i primera nekih od dijagrama.
Dijagram podsistema:
Evo i nekoliko dijagrama korisničkih funkcija podsitema.
Evo i prikaza korisnika podsistema:
Za svaku korisničku funkciju je izrađen dijagram aktivnosti, kao i dijagram analize i sekvenci.
Svaka korisnička funkcija u podsistemu trebalo bi da ima sopstveni opis korisničke funkcije. Deo tog opisa je i scenario. Potrebno je imati makar jedan scenario tj. osnovni tok. Takođe moguće je uneti više scenarija tj. alternativnih tokova.
U prilogu se nalazi i model pa pogledajte. Sledeća faza je izrada dijagrama klasa. Iz dijagrama klasa proističe dijagram baze podataka sa tabelama. Pošto ja već imam veći deo modela odrađen ovaj deo posla neće mi oduzimati puno vremena. Kao što sam na početku rekao imam model u BPwinu i ERwinu ali je sadašnji model proširen tako da ču morati da ubacujem nove klase odnosno tabele.
[Ovu poruku je menjao biske86 dana 20.08.2009. u 22:46 GMT+1]
[Ovu poruku je menjao biske86 dana 20.08.2009. u 22:57 GMT+1]