część 3
DESCRIPTION
Część 3. OiZPI Przypadki użycia Obiektowy model organizacji w materiałach wykorzystano: K.Subieta : Budowa i integracja systemów informatycznych A.Kobieliński : Inżynieria Oprogramowania I.Sommerville : Software Engineering Guides. - PowerPoint PPT PresentationTRANSCRIPT
Organizacja i Zarządzanie Projektem Informatycznym
Część 3Część 3
OiZPIOiZPI>Przypadki użycia
>Obiektowy model organizacji
w materiałach wykorzystano:
K.Subieta: Budowa i integracja systemów informatycznychA.Kobieliński: Inżynieria Oprogramowania
I.Sommerville: Software Engineering Guides
Organizacja i Zarządzanie Projektem Informatycznym
Przypadki użycia i aktorzyPrzypadki użycia i aktorzy
• Przypadek użyciaPrzypadek użycia – opis zbioru ciągów akcji i ich wariantów wykonywanych przez system w celu dostarczenia określonemu aktorowi godnego uwagi rezultatu. Przypadek użycia opisuje co robi system ale nie określa jak to robi.
• AktorAktor – spójny zbiór ról odgrywanych przez użytkowników przypadku użycia w czasie interakcji z tym przypadkiem użycia. Aktorem może być dowolny byt zewnętrzny, także systemy i urządzenia
Organizacja i Zarządzanie Projektem Informatycznym
NotacjaNotacjaPrzypadek użyciaPrzypadek użycia: Powinien mieć unikalną nazwę, opisującą przypadek użycia z punktu widzenia jego zasadniczych celów.
AktorAktor: Powinien mieć unikalną nazwę.
InterakcjaInterakcja: Pokazuje interakcję pomiędzy przypadkiem użycia a aktorem.
Relacja zależnościRelacja zależności : o stereotypach : o stereotypach«include» lub «extend»: Pokazuje związek zachodzący między dwoma przypadkami użycia.
badanie składu
«include»
laborant
Źródło:K.Subieta wykł.
Organizacja i Zarządzanie Projektem Informatycznym
AktorAktor
• Budowa modelu przypadków użycia wymaga od analityka określenia wszystkich aktorów związanych z wykorzystywaniem projektowanego systemu,
• AktorAktor - “przyszły użytkownik systemu”.
• Aktor to osoba, ale także pewna organizacja (np. biuro prawne) lub inny system komputerowy.
• Aktor modeluje grupę osób pełniących pewną rolę, a nie konkretną osobę.
• Jedna osoba może wchodzić w interakcję z systemem z pozycji wielu aktorów; np. być zarówno sprzedawcą, jak i klientem.
• I odwrotnie, jeden aktor może odpowiadać wielu konkretnym osobom, np. aktor “strażnik budynku”.
• Czy system może być aktorem sam dla siebie ? Nie - aktor to przecież, zgodnie z definicją, byt z otoczenia systemu.
• Aktor jest pierwotną przyczyną napędzającą przypadki użycia.
• Jest on sprawcą zdarzeń powodujących uruchomienie przypadku użycia, jak też odbiorcą danych wyprodukowanych przez przypadki użycia.
Źródło:K.Subieta wykł.
Organizacja i Zarządzanie Projektem Informatycznym
Przypadek użyciaPrzypadek użycia
• Dla przypadków użycia podaje się dokładną specyfikację
• Specyfikuje się czynność lub ciąg czynności
• Specyfikacja może mieć różną formę ( np. tekst ustrukturalizowany)
• Można wyspecyfikować również scenariusz
Źródło:K.Subieta wykł.
Organizacja i Zarządzanie Projektem Informatycznym
Przykład diagramu przypadków użyciaPrzykład diagramu przypadków użycia
przykład: Automat do sprzedaży papierosów
zakup paczkipapierosów
otoczenie systemugranica systemu
wnętrze systemu
klientoperator
kontroler
Źródło:K.Subieta wykł.
uzupełnienietowaru
operacjapieniężna
sporządzenieraportu
Organizacja i Zarządzanie Projektem Informatycznym
Relacja uogólnienia - aktorzyRelacja uogólnienia - aktorzy
Mistrz dziedziczy dostęp do przypadków użycia wyspecyfikowanych dla każdego hutnika, oraz ma dostęp do przypadków związanych z jego własnym, specyficznym sposobem wykorzystywania systemu. Kierownik rafinerii nie jest mistrzem ponieważ nie występuje w przypadkach użycia w których mistrz jest aktorem
operator systemu
hutnik
kierownikrafinerii
mistrz próbkarz
laborant księgowy
Organizacja i Zarządzanie Projektem Informatycznym
Relacja uogólnienia – przypadki użyciaRelacja uogólnienia – przypadki użycia
Przypadki użycia można uporządkować przez zdefiniowanie uogólnień
uogólnienie oznacza, że przypadek użycia – potomek, dziedziczy całe zachowanie i znaczenie po przypadku – przodku
Potomek może dodać do odziedziczonego zachowania dodać nowe elementy, albo – jeśli to konieczne – całkowicie je zmienić
Wyliczenie Średniej Ocen
Wyliczanie Średniej Za Semestr
Wyliczanie Średniej Końcowej
Organizacja i Zarządzanie Projektem Informatycznym
Zależności - przypadki użyciaZależności - przypadki użycia
p1 p2«include»
p1 p2«extend»
przebieg podstawowy (sekwencyjny): p1 zawsze włącza (używa) p2.
przebieg opcjonalny (alternatywny): p1 jest czasami rozszerzane o p2 (inaczej: p2 czasami rozszerza p1).
Źródło:K.Subieta wykł.
ZależnośćZależność – dla przypadków użycia znaczenie zależy od stereotypu Stereotypy – określa przebieg
<<include>> - przebieg podstawowy <<extend>> - przebieg opcjonalny
Organizacja i Zarządzanie Projektem Informatycznym
Zależności - przypadki użyciaZależności - przypadki użycia
Źródło:K.Subieta wykł.
przykład: Logowanie użytkownika do systemu
Identyfikacja Użytkownika
Sprawdzenie Hasła
Okresowa Zmiana Hasła
Logowanie do systemu
<<include>>
<<include>>
<<extend>>
Użytkownik
Organizacja i Zarządzanie Projektem Informatycznym
Konstrukcja modeluKonstrukcja modelu
Użytkownik Aktor Przypadek użycia
Jan Kowalski
Adam Malina
Gość
Konkretny klient
Administrator systemu
Pracownik
Osoba informowana
Klient
Restart systemu
Wejście z kartą
Poinformowanie
Wypłata z konta
Źródło:K.Subieta wykł.
Organizacja i Zarządzanie Projektem Informatycznym
Konstrukcja modelu opiera się na kilku krokach Wymaga ścisłej współpracy z przyszłym użytkownikiem, co implikuje zasadę:
“nie opisuj przypadków użycia w sposób, który nie jest łatwo zrozumiały dla użytkownika”.
Sporządzenie słownika pojęć
Dokument: Słownik pojęć
Określenie aktorów
Określenie przypadków użycia
Tworzenie opisu każdego przypadku użycia, podział na nazwane części, znalezienie
wspólnych części w różnych przypadkach użycia
Dokument: Opis aktorów
Diagram przypadków użycia plus dokument opisu przypadków użycia
Źródło:K.Subieta wykł.
Konstrukcja modeluKonstrukcja modelu
Organizacja i Zarządzanie Projektem Informatycznym
Sporządzanie słownika pojęćSporządzanie słownika pojęć
Słownik dotyczy dziedziny problemowej. Tworzenie go polega na wyłowieniu wszystkich terminów z wymagań
użytkownika. Terminy mogą odnosić się do aktorów, przypadków użycia, obiektów,
operacji, zdarzeń, itp. Terminy w słowniku powinny być zdefiniowane w sposób precyzyjny i
jednoznaczny. Posługiwanie się terminami ze słownika powinny być regułą przy opisie
każdego kolejnego problemu, sytuacji czy modelu.
Źródło:K.Subieta wykł.
Organizacja i Zarządzanie Projektem Informatycznym
Warsztaty przypadków użycia Warsztaty przypadków użycia (wersja uproszczona Use-Case Workshop)(wersja uproszczona Use-Case Workshop)
Warsztaty przypadków użycia to spotkanie osób uczestniczących w projekcie mające na celu opracowanie modelu biznesowego opisanego notacją diagramów przypadków użycia.
Opisany przebieg warsztatu jest nieco uproszczony w stosunku do wytycznych opisanych w Rational Unified Process ™.
Uproszczenia wynikają z ograniczeń dotyczących wyposażenia i czasu jakim dysponują studenci na ćwiczeniach.
W tej uproszczonej wersji do realizacji warsztatu konieczne są:
co najmniej kilka kartek formatu A4,
kilkanaście formatu A5 (lub również A4),
pisaki w dwóch kolorach (np. niebieski, i czerwony),
bardzo pomoże duży stół lub tablica do rozłożenia lub rozwieszenia kartek,
ponadto konieczne jest posiadania dokumentu wymagań i słownika.
Źródło:K.Subieta wykł.
Organizacja i Zarządzanie Projektem Informatycznym
cz. I warsztatów – identyfikacja aktorówcz. I warsztatów – identyfikacja aktorów
Na środku jednej z kartek formatu A4 należy narysować kształt przypominający chmurkę (korzystamy teraz z niebieskiego pisaka).
Teraz należy zastanowić się jakie osoby (lub jakiego rodzaju użytkownicy) będą korzystały z systemu - to Aktorzy.
Interesują nas tylko te osoby, które pracują bezpośrednio przy komputerze.
Staramy się określić rolę takiej osoby (np. Magazynier, Administrator, Księgowy, Sprzedawca, itp.).
Należy zwrócić uwagę na to, aby zbytnio nie generalizować i nie wskazywać aktorów typu „Użytkownik Systemu”.
Dla każdego aktora rysujemy postać „chłopka” (stick man) na kartce z narysowaną „chmurką” i opisać ją nazwą określającą rolę.
Źródło:K.Subieta wykł.
Organizacja i Zarządzanie Projektem Informatycznym
cz. II warsztatów – identyfikacja przypadków użyciacz. II warsztatów – identyfikacja przypadków użycia
Teraz wyciągamy nową kartkę formatu A4 i przerysowujemy na nią aktorów jednego po drugim zastanawiając się za każdym razem gdy na kartce pojawia się nowy aktor, jakie czynności w systemie będzie on realizować.
Dla każdej czynności dorysowujemy na kartce przypadek użycia.
Nazywamy go skrótem myślowym dobrze określającym ową czynność.
Źródło:K.Subieta wykł.
Organizacja i Zarządzanie Projektem Informatycznym
cz. III warsztatów – opis przypadków użyciacz. III warsztatów – opis przypadków użycia
Bierzemy mniejsze kartki.
Przenosimy na nie każdy przypadek użycia wraz z aktorem, który go realizuje (jeden przypadek użycia na jednej kartce).
Opisujemy w trzech zadaniach czynność realizowaną w ramach danego przypadku użycia.
Możemy też wypisać kolejne kroki wykonywane w ramach realizacji określonej funkcji.
Źródło:K.Subieta wykł.
Organizacja i Zarządzanie Projektem Informatycznym
cz. IV warsztatów – przypadki użycia i wymaganiacz. IV warsztatów – przypadki użycia i wymagania
Teraz musimy skonfrontować ze sobą dwie wizje systemu: tę zarysowaną w dokumencie wymagań oraz tę, którą opracowano w ramach warsztatu przypadków użycia.
Do każdej z kartek zawierających opis przypadku użycia dopisujemy czerwonym pisakiem numer wymagania (numery wymagań) najniższego poziomu, które jest odpowiedzialne za realizację danej czynności.
Źródło:K.Subieta wykł.
Organizacja i Zarządzanie Projektem Informatycznym
Model organizacji (business model)Model organizacji (business model)
Model obiektowy organizacji (business object model) – model organizacji, model działania organizacji, w której w przyszłości będzie realizowany projekt informatyczny
Synonimy ang. business model, model biznesowy, model procesów biznesowych
Model integruje cztery aspekty Pracowników organizacji (business workers) Byty występujące w organizacji (Business entities) Przypadki użycia (Business use-cases) Realizacje przypadków użycia (Business usce-cse realizations)
Organizacja i Zarządzanie Projektem Informatycznym
Cele modelowaniaCele modelowania
Zrozumienie struktury i działania organizacji, której będzie tworzony system informatyczny
Zrozumienie obecnych problemów organizacji i wskazanie potencjalnych usprawnień
Upewnienie się, że klienci, użytkownicy i twórcy oprogramowania w sposób jednakowy postrzegają organizację i jej problemy
Umożliwienie „wyprowadzenia” wymagań względem systemu (model jako źródło dla dyscypliny formułowania wymagań)
Organizacja i Zarządzanie Projektem Informatycznym
Narzędzia typu e-biznes Narzędzia typu e-biznes
W szczególności modelowanie organizacji zaleca się, jeśli elementem organizacji jest tzw. e-biznes (znowu – „nie jako modne słówko”, buzzword)
Klasyfikacja narzędzi e-biznes C2BC2B; ang. Customer to business; aplikacje wspomagające
na zakup towarów i usług za pośrednictwem sieci Internet B2BB2B; ang. Business to business; oprogramowanie służące
do automatyzacji wymiany danych w ramach łańcucha dostaw pomiędzy dwoma firmami (organizacjami);
B2CB2C; Business to customer; pasywne oprogramowanie dostarczające informacji klientom (np. newsletter, RSS)
C2CC2C; ang. Customer to customer; oprogramowanie pozwalające wymieniać się informacjami. Zachodzi z pewną pomocą dostawcy usługi/oprogramowania. (np. aukcje)
Organizacja i Zarządzanie Projektem Informatycznym
MotywacjeMotywacje
Oprogramowanie nie jest już jedynie dodatkiem do zasadniczego zestawu narzędzi działania organizacji, jest zasadniczym narzędziem
Oprogramowanie musi zatem pasować do organizacji i być przydatne , na pewno - nie może pozostawać kosztownym „wodotryskiem”
Oprogramowanie musi efektywnie wpływać na sposób prowadzenia działalności (nie chodzi jedynie o automatyzację pracy)
Organizacja i Zarządzanie Projektem Informatycznym
Wskazywane scenariusze Wskazywane scenariusze
„„Organisation Organisation CCharthart”” (schemat organizacji); tworzony jest prosty, podstawowy model organizacji i
zachodzących w niej procesów. jest elementem projektu informatycznego
„„Domain ModelingDomain Modeling”” (modelowanie dziedziny); tworzony jest dla systemów, w których nadrzędnym celem jest
kontrolowanie i prezentacja informacji w obrębie jednej dziedziny przedmiotowej
Jest elementem projektu informatycznego
„„One Business, Many Systems”One Business, Many Systems” (jedna organizacja, wiele systemów); tworzony jest w celu opracowania jednego (spójnego) modelu
stanowiącego bazę dla kilku projektów informatycznych lub dla jednego ale obszernego systemu
Jest autonomicznym projektem
Organizacja i Zarządzanie Projektem Informatycznym
Wskazywane scenariusze Wskazywane scenariusze
„„Generic Business ModelGeneric Business Model”” (model typowej organizacji); tworzony jest w celu opracowania jednego (spójnego) modelu
typowej organizacji w celu ujednolicenia wymagań dla systemów przeznaczonych do użytku w wielu organizacjach podobnego typu
jest elementem projektu informatycznego ułatwia selekcję wymagań względem priorytetu
„„New Business”New Business” (nowy pomysł na działalność); tworzony jest dla systemów, w których docelowym polem działania
będzie zupełnie nowa (nowatorska) działalność jest autonomicznym projektem
„„RevampRevamp”” (zmiana struktury i funkcjonowania organizacji); tworzony jest w przypadku, w którym organizacja pragnie
diametralnie zmienić sposób funkcjonowania (BPR – business process reengineering)
jest autonomicznym projektem
Organizacja i Zarządzanie Projektem Informatycznym
Pracownicy organizacjiPracownicy organizacji
Pracownik organizacji (business worker) reprezentuje rolę lub zestaw ról jaką może pełnić jakaś osoba (jakieś osoby) w modelowanej organizacji
Pracownik organizacji reprezentowany jest w modelu przez klasę o stereotypie <<business worker>>
Dla stereotypu tego przewidziano określony w metodyce RUP ™ symbol.
Referent Dziekanatu
(from Use Case View)
Kierownik Dziekanatu
Organizacja i Zarządzanie Projektem Informatycznym
Byty organizacjiByty organizacji
Byt organizacji (business entity) reprezentuje dowolną rzecz jaką "zajmują" się pracownicy organizacji
Bytem może być dowolny zasób, zdarzenie lub byt pojęciowy występujący w organizacji
Byt organizacji reprezentowany jest w modelu przez klasę o stereotypie <<business entity>>
Dla stereotypu tego przewidziano określony w metodyce RUP ™ symbol.
Kartoteka Studentów
Rok
Dopisz()Odczytaj()
Skreśl Studanta(SymbolRoku : String)
Karta zaliczeniowa
Atrybuty i operacje
Organizacja i Zarządzanie Projektem Informatycznym
Realizacje przypadków użyciaRealizacje przypadków użycia
Realizacja przypadku użycia opisuje sposób współdziałania pracowników i bytów organizacji
W metodyce RUP ™ realizację przypadku użycia przedstawia się w postaci trzech rodzajów diagramów języka UML
Diagramu klas Diagramu czynności Diagramu przebiegu
Odpowiedni element języka UML - przypadek użycia o stereotypie <<use-case realization>>
Dla stereotypu tego przewidziano określony w metodyce RUP ™ symbol
Skreślenie Studenta
Organizacja i Zarządzanie Projektem Informatycznym
Konstrukcja modelu Konstrukcja modelu (identyfikacja (identyfikacja bytów, podejście uproszczone)bytów, podejście uproszczone)
Model organizacji - duża zawartość informacji W uproszczonym podejściu warto zastosować metodykę
identyfikacji bytów Cel identyfikacji bytów – określenie zbioru bytów, które w dalszym
procesie analizy staną się:
Klasami Klasami aktywnymi Zbiorami danych
Organizacja i Zarządzanie Projektem Informatycznym
Identyfikacja (podejście Identyfikacja (podejście uproszczone)uproszczone)
Przebieg procesu identyfikacji bytów może być następujący:
Przygotować roboczy wydruk słownika projektu Utworzyć nowy diagramu klas Nanieść na diagram klasy reprezentujące aktorów z
diagramu Przypadków Użycia i ustaw ich stereotyp na <<Business Worker>>
Dla każdego z aktorów ustalić, jakimi "rzeczami" może się on zajmować w organizacji
Organizacja i Zarządzanie Projektem Informatycznym
Identyfikacja (podejście Identyfikacja (podejście uproszczone)uproszczone)
Przebieg procesu identyfikacji bytów c.d.:
Wprowadzić na diagram klasy odpowiadające tym rzeczom i połączyć je z klasą reprezentującą pracownika relacją zależności
Można sprawdzić, czy ta "rzecz" jest opisana w słowniku projektu, jeśli tak, to na roboczym wydruku skreśl ów termin,
Jeśli już wydaje się, że opisano wszystkie rzeczy, sprawdzić, czy w słowniku projektu są jeszcze jakieś terminy (rzeczowniki), dla których nie ma żadnych klas
Jeśli takie terminy istnieją to wprowadzić je na diagram klas i połączyć z określoną klasą reprezentującą pracownika
Nadać klasom podstawowe atrybuty (takie, które nasuwają się od razu)
Organizacja i Zarządzanie Projektem Informatycznym
Przykładowy diagram klasPrzykładowy diagram klas
Referent Dziekanatu
(from Use Case View)
Kierownik Dziekanatu
Kartoteka Studentów
Rok
Dopisz()Odczytaj()
Skreśl Studanta(SymbolRoku : String)
Karta zaliczeniowa
Zatwierdź()
Organizacja i Zarządzanie Projektem Informatycznym
Przykład - opis dziedziny problemowejPrzykład - opis dziedziny problemowej
Pokazuje przejście od modelu organizacji do modelu analitycznego
Pewna firma świadczy usługi w zakresie outsourcingu IT.
Podpisuje umowy z klientami, którzy posiadają bardziej rozbudowaną infrastrukturę informatyczną.
Realizacja umowy polega na:
usuwaniu awarii sprzętu i oprogramowania,
pracach prewencyjnych,
pracach rozwojowych.
Organizacja i Zarządzanie Projektem Informatycznym
Opis dziedziny problemowejOpis dziedziny problemowej
Obsługę konkretnego klienta zwykło się nazywać “Projektem”.
Projekt to zazwyczaj obsługa infrastruktury w siedzibie klienta, ale także w innych lokalizacjach, tj. innych miejscach prowadzenia działalności przez klienta.
Projekty obsługiwane są rotacyjnie, tzn. pracownicy firmy usługodawcy zgodnie z opracowanym harmonogramem odwiedzają określone lokalizacje.
Niekiedy wizyta ma charakter całodziennego dyżuru.
Dyżury są zakontraktowane w umowach. Na przykład z klientem X obowiązuje umowa, w której wskazano, że pracownik firmy usługodawcy będzie dostępny w siedzibie klienta X dwa dni robocze w tygodniu od 8:00 do16:00.
Organizacja i Zarządzanie Projektem Informatycznym
Opis dziedziny problemowej – scena 1Opis dziedziny problemowej – scena 1
Jest nowy temat. Prezes firmy X skarży się na niską wydajność przyłącza sieci Internet. Zobacz mają tam jakieś stare urządzenia. To nie jest zatem tylko kwestia przyłącza.
Trzeba zmodernizować cały węzeł sieciowy.
Pytanie, czy mają na to pieniądze.
Jest kasa. Możemy kupić zabawek za 10 tysięcy, a koszt miesięczny abonamentu nie
może przekroczyć 300 zł.Zajmijcie się tym z chłopakami, musimy
się wyrobić do końca miesiąca.Ty zrób specyfikację zakupów i wyznacz
zadania dla chłopaków.
Organizacja i Zarządzanie Projektem Informatycznym
Opis dziedziny problemowej – scena 2Opis dziedziny problemowej – scena 2Na prośbę Starego zrobiłem specyfikację do
zakupów dla X S.A. Zabawki sieciowe przyjdą jutro (szafka i switch, WiFi). Trzeba
je poskładać i zamontować. Po jutrze przyjdzie software do QoSa, zainstaluj go.
Potem załatw z TPSA podniesienie łącza do DSL 2.
O.K. zrobię to. Będę potrzebował jakichś trzech dniówek.
Zamelduj mi potem w mailu ile godzin Ci to zajęło. Ostatnio wydaje mi się, że trzeba będzie z nimi porozmawiać o tym, żeby
wykupili jeszcze jeden dzień. Napisz dokładnie co robiłeś – muszę mieć jakieś
argumenty.
Organizacja i Zarządzanie Projektem Informatycznym
Opis dziedziny problemowej scena 3Opis dziedziny problemowej scena 3
Faktycznie – tandeta. Jak to mogło do tej pory działać?!! Samo rozplątanie tych kabli
to robota na parę ładnych godzin.
Organizacja i Zarządzanie Projektem Informatycznym
Co będziemy modelować – zakres modeli?Co będziemy modelować – zakres modeli?
System ITCMMS
Zarządzanie pracą
Obsługa tematów
Nowy temat
Modelowanie organizacji
Realizacja przypadków użycia
organizacji
Model przypadków użycia
systemowych
Rejestracja tematu Realizacja
przypadków użycia systemowych
Organizacja i Zarządzanie Projektem Informatycznym
Co będziemy modelować – zakres modeli?Co będziemy modelować – zakres modeli?
Logical View Model Organizacji
Model Systemowy
Use Case View Model Organizacji Model Systemowy
Model Analityczny
Model Analityczny
Model Projektowy
[1] Przypadki Biznesowe-Realizacje
[2] Realizacje-Przypadki Analityczne
[3] Przypadki Analityczne-Realizacje
[4] Klasy Analityczne-Klasy ProjektoweComponent View
Podsytem Kontroli Pracy
[5] Klasy-Komponenty
UWAGA! Kierunek transformacji modeli jest przeciwnydo kierunku zależności
Model systemu ITCMMSUtrzymanie Ruchu Sieci InformatycznejWersja: Rozp#1.00.02Autor: J acek SzedelData Modyfikacji: 2006.12.13
Organizacja i Zarządzanie Projektem Informatycznym
Prześledźmy proces biznesowy (proces Prześledźmy proces biznesowy (proces organizacyjny)organizacyjny)
1. Analiza problemu2. Zlecenie obsługi wątku
1. Analiza problemu2. Wyznaczenie zadań3. Zlecenie realizacji zadań
1. Wykonanie czynności w ramach realizacji zadania2. Odnotowanie czasu pracy
Spotkanie z klientem
1. Zgłoszenie problemu2. Pojawienie się nowego wątku3. Odnotowanie wątku np. w notesie sponsora
Tego nie było w scenkach, ale była o tym mowa – tu musi zadziałać nasza
wyobraźnia!
Organizacja i Zarządzanie Projektem Informatycznym
Model organizacji – od czego zacząćModel organizacji – od czego zacząć
Rookie: To jest trochę skomplikowane, co powinniśmy zrobić, żeby sobie wszystko poukładać w głowie?
Guru: Trzeba postępować metodycznie krok po kroku, i w danym momencie koncentrować się tylko na danym zadaniu.
R: Jakie zadania musimy zrealizować w pierwszej kolejności.
G: Najlepiej zacząć od sporządzenia słownika pojęć (RUP – Capturing common business vocabulary).
R: Jak to zrobimy ?
Organizacja i Zarządzanie Projektem Informatycznym
Model organizacji – od czego zacząćModel organizacji – od czego zacząć
G. Zbierzemy nasze materiały i wynotujemy wszystkie pojęcia, które wydadzą się nam istotne.
R: Skąd będziemy wiedzieć co jest istotne, a co nie?
G: Na to niestety nie mam gotowego przepisu, trzeba „mieć nosa”, to przychodzi z czasem. Na początku można przyjąć zasadę: „od przybytku głowa nie boli” i jeśli mamy wątpliwość co do istotności danego terminu – odnotować go.
R: Jakim narzędziem się posłużymy?
G: Wystarczy edytor MS Word, dla większych projektów lepiej posłużyć się elementem narzędzia CASE np. Rational Requisite Pro™.
Organizacja i Zarządzanie Projektem Informatycznym
Poszukiwanie pojęćPoszukiwanie pojęć
Pewna firma świadczy usługi w zakresie outsourcingu IT.
Podpisuje umowy z klientami, którzy posiadają bardziej rozbudowaną infrastrukturę informatyczną.
Realizacja umowy polega na:
usuwaniu awarii sprzętu i oprogramowania,
pracach prewencyjnych,
pracach rozwojowych.
Organizacja i Zarządzanie Projektem Informatycznym
Poszukiwanie pojęćPoszukiwanie pojęć
Obsługę konkretnego klienta zwykło się nazywać “Projektem”.
Projekt to zazwyczaj obsługa infrastruktury w siedzibie klienta, ale także w innych lokalizacjach, tj. innych miejscach prowadzenia działalności przez klienta.
Projekty obsługiwane są rotacyjnie, tzn. pracownicy firmy usługodawcy zgodnie z opracowanym harmonogramem odwiedzają określone lokalizacje.
Niekiedy wizyta ma charakter całodziennego dyżuru.
Dyżury są zakontraktowane w umowach. Na przykład z klientem X obowiązuje umowa, w której wskazano, że pracownik firmy usługodawcy będzie dostępny w siedzibie klienta X dwa dni robocze w tygodniu od 8:00 do16:00.
Organizacja i Zarządzanie Projektem Informatycznym
Poszukiwanie pojęćPoszukiwanie pojęć
1. Analiza problemu2. Zlecenie obsługi wątku koordynatorowi
1. Analiza problemu2. Wyznaczenie zadań3. Zlecenie realizacji zadań
1. Wykonanie czynności w ramach realizacji zadania2. Odnot. czasu pracy
Spotkanie z klientem
1. Zgłoszenie problemu2. Pojawienie się nowego wątku3. Odnotowanie wątku np. w notesie sponsora
Tego nie było w scenkach, ale była o tym mowa – tu musi zadziałać nasza
wyobraźnia!
Organizacja i Zarządzanie Projektem Informatycznym
Poszukiwanie pojęć – słownik organizacjiPoszukiwanie pojęć – słownik organizacji
Firma usługodawcy Firma świadcząca usługi outsourcingowe.Klient (firma usługobiorcy) Klient firmy usługodawcy korzystający z usług outsourcingu.Pracownik Osoba zatrudniona w firmie usługodawcy na podstawie umowy o pracę, umowy cywilno-prawnej, kontraktu
menadżerskiego.Projekt Współpraca firmy usługodawcy z klientem w zakresie outsourcingu IT.Koordynator Pracownik odpowiedzialny z koordynację działań związanych z określonym projektem lub projektami.Sponsor Członek zarządu firmy usługodawcy wspierający działania określonych projektów.Siedziba Siedziba firmy klienta podana jako siedziba w dokumentach rejestrowych. Infrastruktura informatyczna Pozostające pod opieką firmy usługodawcy elementy infrastruktury.Element infrastruktury Serwer, stacja robocza, terminal, urządzenie sieciowe, urządzenie zewnętrzne, oprogramowanie.Lokalizacja Miejsce prowadzenia działalności przez klienta, w którym mogą byś świadczone usługi związane z
prowadzeniem projektu.Serwer Komputer pełniący rolę dostawcy usług dla innych komputerów. Stacja robocza Komputer klienta (zlokalizowany na biurku użytkownika).Wątek (temat) Obszerny tematycznie zakres działań związanych z realizacją określonego celu, np:
- Wdrożenie nowego systemu ERP- Bieżące utrzymanie ruchu IT- Budowa sieci korporacyjnej
Zadanie Zadanie wyznaczone pracownikowi w ramach działań związanych z danym wątkiem, np. w ramach wątku „Wdrożenie systemu ERP”:
- Instalacja serwera bazy danych MS SQL Serwer- Opracowanie podziału bazy indeksów materiałowych- Konfiguracja algorytmów płacowych dla umów o pracę w systemie 6 godzinowym- Instalacja czytnika kart RCP
Czynność Efektywne przepracowanie określonego czasu przez pracownika w ramach realizacji określonego zadania, np. w ramach zadania „Instalacja czytnika kart RCP”:
- Montaż czytnika na ścianie w budynku portierni, Kowalski Jan, 2006-11-02, 2 godziny- Rozprowadzenie instalacji elektrycznej i logicznej czytników, Kowalski Jan, 2006-11-03, 4
godziny- Podłączenie czytnika do stacji roboczej, testy, Kowalski Jan, 2006-11-05, 4 godziny
Zgłoszenie problemu Poinformowanie sponsora o poważnym problemie przez klienta.Odnotowanie wątku Utrwalenie informacji o problemie zgłoszonym przez klientaZlecenie obsługi wątku Skierowanie do koordynatora prośby o zajęcie się danym wątkiem (tematem)Zlecenie zadania Skierowanie do koordynatora polecenia wykonania określonego zadania i nadzorowanie jego wykonania.Wykonanie czynności Wykonanie czynności przez pracownika na podstawie polecenia koordynatora lub z własnej inicjatywy.Odnotowanie czasu pracy Zapisanie liczby godzin poświęconych na realizacje zadaniaWyznaczenie zadania Wydzielenie zadania w ramach wątku
Organizacja i Zarządzanie Projektem Informatycznym
Poszukujemy aktorówPoszukujemy aktorów
R: Och! Dużo tego, w dodatku strasznie wymieszane.
G: Tak zgadzam się, gdyby pojęć było więcej musielibyśmy pogrupować je np. osobno przedmioty, osobno osoby, osobno czynności.
R: Co teraz zrobimy?
G. Wyłowimy ze słownika pojęcia, które oznaczają osoby.
R: Po co?
G: Znajdziemy „kandydatów” na aktorów.
G: Potem wyłowimy pojęcia oznaczające jakieś czynności.
R: Po co?
G: Znajdziemy „kandydatów” na przypadki użycia.
Organizacja i Zarządzanie Projektem Informatycznym
Poszukiwanie aktorówPoszukiwanie aktorów
Firma usługodawcy Firma świadcząca usługi outsourcingowe.Klient (firma usługobiorcy) Klient firmy usługodawcy korzystający z usług outsourcingu.Pracownik Osoba zatrudniona w firmie usługodawcy na podstawie umowy o pracę, umowy cywilno-prawnej, kontraktu
menadżerskiego.Projekt Współpraca firmy usługodawcy z klientem w zakresie outsourcingu IT.Koordynator Pracownik odpowiedzialny z koordynację działań związanych z określonym projektem lub projektami.Sponsor Członek zarządu firmy usługodawcy wspierający działania określonych projektów.Siedziba Siedziba firmy klienta podana jako siedziba w dokumentach rejestrowych. Infrastruktura informatyczna Pozostające pod opieką firmy usługodawcy elementy infrastruktury.Element infrastruktury Serwer, stacja robocza, terminal, urządzenie sieciowe, urządzenie zewnętrzne, oprogramowanie.Lokalizacja Miejsce prowadzenia działalności przez klienta, w którym mogą byś świadczone usługi związane z
prowadzeniem projektu.Serwer Komputer pełniący rolę dostawcy usług dla innych komputerów. Stacja robocza Komputer klienta (zlokalizowany na biurku użytkownika).Wątek (temat) Obszerny tematycznie zakres działań związanych z realizacją określonego celu, np:
- Wdrożenie nowego systemu ERP- Bieżące utrzymanie ruchu IT- Budowa sieci korporacyjnej
Zadanie Zadanie wyznaczone pracownikowi w ramach działań związanych z danym wątkiem, np. w ramach wątku „Wdrożenie systemu ERP”:
- Instalacja serwera bazy danych MS SQL Serwer- Opracowanie podziału bazy indeksów materiałowych- Konfiguracja algorytmów płacowych dla umów o pracę w systemie 6 godzinowym- Instalacja czytnika kart RCP
Czynność Efektywne przepracowanie określonego czasu przez pracownika w ramach realizacji określonego zadania, np. w ramach zadania „Instalacja czytnika kart RCP”:
- Montaż czytnika na ścianie w budynku portierni, Kowalski Jan, 2006-11-02, 2 godziny- Rozprowadzenie instalacji elektrycznej i logicznej czytników, Kowalski Jan, 2006-11-03, 4
godziny- Podłączenie czytnika do stacji roboczej, testy, Kowalski Jan, 2006-11-05, 4 godziny
Zgłoszenie problemu Poinformowanie sponsora o poważnym problemie przez klienta.Odnotowanie wątku Utrwalenie informacji o problemie zgłoszonym przez klientaZlecenie obsługi wątku Skierowanie do koordynatora prośby o zajęcie się danym wątkiem (tematem)Zlecenie zadania Skierowanie do koordynatora polecenia wykonania określonego zadania i nadzorowanie jego wykonania.Wykonanie czynności Wykonanie czynności przez pracownika na podstawie polecenia koordynatora lub z własnej inicjatywy.Odnotowanie czasu pracy Zapisanie liczby godzin poświęconych na realizacje zadaniaWyznaczenie zadania Wydzielenie zadania w ramach wątku
Organizacja i Zarządzanie Projektem Informatycznym
Model organizacji – diagram przypadków Model organizacji – diagram przypadków użycia – aktorzyużycia – aktorzy
Klient
Sponsor Kordynator
Pracownik
G: Czy można jeszcze coś do tego dodać?
R: Jakieś dodatkowe informacje?
G: Właśnie! Można uporządkować klasyfikatory i wprowadzić uogólnienia.
R: A właśnie! Przecież sponsor i koordynator to też pracownicy. To się na pewno przyda.
Klient
Sponsor Kordynator
Pracownik
Organizacja i Zarządzanie Projektem Informatycznym
Poszukiwanie aktorów i Poszukiwanie aktorów i przypadków użyciaprzypadków użycia
Firma usługodawcy Firma świadcząca usługi outsourcingowe.Klient (firma usługobiorcy) Klient firmy usługodawcy korzystający z usług outsourcingu.Pracownik Osoba zatrudniona w firmie usługodawcy na podstawie umowy o pracę, umowy cywilno-prawnej, kontraktu
menadżerskiego.Projekt Współpraca firmy usługodawcy z klientem w zakresie outsourcingu IT.Koordynator Pracownik odpowiedzialny z koordynację działań związanych z określonym projektem lub projektami.Sponsor Członek zarządu firmy usługodawcy wspierający działania określonych projektów.Siedziba Siedziba firmy klienta podana jako siedziba w dokumentach rejestrowych. Infrastruktura informatyczna Pozostające pod opieką firmy usługodawcy elementy infrastruktury.Element infrastruktury Serwer, stacja robocza, terminal, urządzenie sieciowe, urządzenie zewnętrzne, oprogramowanie.Lokalizacja Miejsce prowadzenia działalności przez klienta, w którym mogą byś świadczone usługi związane z
prowadzeniem projektu.Serwer Komputer pełniący rolę dostawcy usług dla innych komputerów. Stacja robocza Komputer klienta (zlokalizowany na biurku użytkownika).Wątek (temat) Obszerny tematycznie zakres działań związanych z realizacją określonego celu, np:
- Wdrożenie nowego systemu ERP- Bieżące utrzymanie ruchu IT- Budowa sieci korporacyjnej
Zadanie Zadanie wyznaczone pracownikowi w ramach działań związanych z danym wątkiem, np. w ramach wątku „Wdrożenie systemu ERP”:
- Instalacja serwera bazy danych MS SQL Serwer- Opracowanie podziału bazy indeksów materiałowych- Konfiguracja algorytmów płacowych dla umów o pracę w systemie 6 godzinowym- Instalacja czytnika kart RCP
Czynność Efektywne przepracowanie określonego czasu przez pracownika w ramach realizacji określonego zadania, np. w ramach zadania „Instalacja czytnika kart RCP”:
- Montaż czytnika na ścianie w budynku portierni, Kowalski Jan, 2006-11-02, 2 godziny- Rozprowadzenie instalacji elektrycznej i logicznej czytników, Kowalski Jan, 2006-11-03, 4
godziny- Podłączenie czytnika do stacji roboczej, testy, Kowalski Jan, 2006-11-05, 4 godziny
Zgłoszenie problemu Poinformowanie sponsora o poważnym problemie przez klienta.Odnotowanie wątku Utrwalenie informacji o problemie zgłoszonym przez klientaZlecenie obsługi wątku Skierowanie do koordynatora prośby o zajęcie się danym wątkiem (tematem)Zlecenie zadania Skierowanie do koordynatora polecenia wykonania określonego zadania i nadzorowanie jego wykonania.Wykonanie czynności Wykonanie czynności przez pracownika na podstawie polecenia koordynatora lub z własnej inicjatywy.Odnotowanie czasu pracy Zapisanie liczby godzin poświęconych na realizacje zadaniaWyznaczenie zadania Wydzielenie zadania w ramach wątku
Organizacja i Zarządzanie Projektem Informatycznym
Model organizacji – diagram przypadków Model organizacji – diagram przypadków użyciaużycia
System
Klient<<business actor>>
Zgłoszenie problemu<<business use-case>>
Sponsor<<business actor>>
Odnotowanie wątku<<business use-case>>
Zlecenie obsługiwątku
<<business use-case>>
Zlecenie zadania<<business use-case>>
Kordynator<<business actor>>
Wyznaczeniezadania
<<business use-case>>
Pracownik<<business actor>>
Wykonanieczynności
<<business use-case>>
Odnotowanie czasupracy
<<business use-case>>
Symbolizuje zastany system organizacji
Organizacja i Zarządzanie Projektem Informatycznym
Model organizacji – porządkowanie Model organizacji – porządkowanie przypadków użyciaprzypadków użycia
R: Strasznie to rozdrobniłeś. Można to jakoś uprościć.
G: Nawe trzeba. Niektóre scenariusze można scalić.
R: Jak?
G: Stosując relację zależności.
Odnotowanie wątku<<business use-case>>
Zlecenie obsługiwątku
<<business use-case>>Obsługa nowego
wątku
<<business use-case>>
<<include>>
<<include>>
Obsługa nowegozadania
<<business use-case>>Wyznaczenie
zadania
<<business use-case>>
Zlecenie zadania<<business use-case>>
<<include>>
<<include>>
Odnotowanie czasupracy
<<business use-case>>Pracownik
<<business actor>>
Sponsor<<business actor>>
Kordynator<<business actor>>
Organizacja i Zarządzanie Projektem Informatycznym
Model organizacji – przypadki użycia – Model organizacji – przypadki użycia – ostatni niuansostatni niuans
R: Czy moglibyśmy w naszym diagramie rozróżnić aktorów wewnętrznych i zewnętrznych.
G: Można to zrobić. Przynajmniej tak zaleca metodyka RUP. R: Jak? G: Stosując klasy o stereotypie <<business worker>>, <<case worker>>
i <<business actor>>.
<<<<business actorbusiness actor>>>> - rola działająca w otoczeniu organizacji <<<<case workercase worker>>>> - rola działająca na styku organizacji ze „światem” <<<<business workerbusiness worker>>>> - rola działająca wewnątrz organizacji, pracownik.
WPracownik
WSponsor
Sponsor<<business actor>>
Kordynator<<business actor>>
Pracownik<<business actor>>
<<trace>>
WKoordynator
<<trace>>
<<trace>>
Organizacja i Zarządzanie Projektem Informatycznym
Model organizacji – przypadki użycia – Model organizacji – przypadki użycia – wersja finalna (prawie)wersja finalna (prawie)
System
Zgłoszenie problemu<<business use-case>>
Odnotowanie wątku<<business use-case>>
Zlecenie obsługi wątku<<business use-case>>
Zlecenie zadania<<business use-case>>
Wykonanie czynności<<business use-case>>
Odnotowanie czasu pracy<<business use-case>>
Wyznaczenie zadania<<business use-case>>
Obsługa nowego wątku<<business use-case>>
<<include>>
<<include>>
Obsługa nowego zadania<<business use-case>>
<<include>>
<<include>>
Klient<<business actor>>
WPracownik
WSponsor
+ZanotujWątek()
WKoordynator
+ZanotujWątek()
Symbolizuje zastany system organizacji
Organizacja i Zarządzanie Projektem Informatycznym
Model organizacji – porządkowanie Model organizacji – porządkowanie słownictwasłownictwa
R: Teraz należy zamodelować realizację naszych trzech przypadków użycia.
G: Racja. Najpierw jednak sugeruję uporządkowanie pojęć.
R: Po co?
G: Dla lepszego zrozumienia dziedziny problemowej.
R: Skąd weźmiemy pojęcia?
G: Naturalnie ze słownika.
Organizacja i Zarządzanie Projektem Informatycznym
Model organizacji – porządkowanie Model organizacji – porządkowanie słownictwasłownictwa
Firma usługodawcy Firma świadcząca usługi outsourcingowe.Klient (firma usługobiorcy) Klient firmy usługodawcy korzystający z usług outsourcingu.Pracownik Osoba zatrudniona w firmie usługodawcy na podstawie umowy o pracę, umowy cywilno-prawnej, kontraktu
menadżerskiego.Projekt Współpraca firmy usługodawcy z klientem w zakresie outsourcingu IT.Koordynator Pracownik odpowiedzialny z koordynację działań związanych z określonym projektem lub projektami.Sponsor Członek zarządu firmy usługodawcy wspierający działania określonych projektów.Siedziba Siedziba firmy klienta podana jako siedziba w dokumentach rejestrowych. Infrastruktura informatyczna Pozostające pod opieką firmy usługodawcy elementy infrastruktury.Element infrastruktury Serwer, stacja robocza, terminal, urządzenie sieciowe, urządzenie zewnętrzne, oprogramowanie.Lokalizacja Miejsce prowadzenia działalności przez klienta, w którym mogą byś świadczone usługi związane z
prowadzeniem projektu.Serwer Komputer pełniący rolę dostawcy usług dla innych komputerów. Stacja robocza Komputer klienta (zlokalizowany na biurku użytkownika).Wątek (temat) Obszerny tematycznie zakres działań związanych z realizacją określonego celu, np:
- Wdrożenie nowego systemu ERP- Bieżące utrzymanie ruchu IT- Budowa sieci korporacyjnej
Zadanie Zadanie wyznaczone pracownikowi w ramach działań związanych z danym wątkiem, np. w ramach wątku „Wdrożenie systemu ERP”:
- Instalacja serwera bazy danych MS SQL Serwer- Opracowanie podziału bazy indeksów materiałowych- Konfiguracja algorytmów płacowych dla umów o pracę w systemie 6 godzinowym- Instalacja czytnika kart RCP
Czynność Efektywne przepracowanie określonego czasu przez pracownika w ramach realizacji określonego zadania, np. w ramach zadania „Instalacja czytnika kart RCP”:
- Montaż czytnika na ścianie w budynku portierni, Kowalski Jan, 2006-11-02, 2 godziny- Rozprowadzenie instalacji elektrycznej i logicznej czytników, Kowalski Jan, 2006-11-03, 4
godziny- Podłączenie czytnika do stacji roboczej, testy, Kowalski Jan, 2006-11-05, 4 godziny
Zgłoszenie problemu Poinformowanie sponsora o poważnym problemie przez klienta.Odnotowanie wątku Utrwalenie informacji o problemie zgłoszonym przez klientaZlecenie obsługi wątku Skierowanie do koordynatora prośby o zajęcie się danym wątkiem (tematem)Zlecenie zadania Skierowanie do koordynatora polecenia wykonania określonego zadania i nadzorowanie jego wykonania.Wykonanie czynności Wykonanie czynności przez pracownika na podstawie polecenia koordynatora lub z własnej inicjatywy.Odnotowanie czasu pracy Zapisanie liczby godzin poświęconych na realizacje zadaniaWyznaczenie zadania Wydzielenie zadania w ramach wątku
Organizacja i Zarządzanie Projektem Informatycznym
ZadanieWątek Czynność
Klient<<business actor>>
Projekt
Lokalizacja Siedziba
WPracownik
WSponsor WKoordynator
Notes
Model organizacji – porządkowanie Model organizacji – porządkowanie słownictwasłownictwa
Zadanie
Wątek
Czynność
Klient<<business actor>>
Projekt
Relizowany u
11
Pojawia się w ramach
0..*
1
Dotyczy 1
1..*
Wykonywana w ramach
1..*
1
Lokalizacja
Siedziba
Realizowana w
1..*0..1WPracownik
Wykonuje
+Wykonawca
0..*1
WSponsor
Opiekuje się
+Opiekun
Zleca realizację
+Zlecający
1
WKoordynator
Zleca+Zlecający
0..*
1
Notes
<<access>>
Organizacja i Zarządzanie Projektem Informatycznym
Model organizacji – realizacja przypadków Model organizacji – realizacja przypadków użyciaużycia
G: Wykonaliśmy dwie operacje. Z jednej strony zidentyfikowaliśmy określone byty fizyczne i pojęciowe, z drugiej – ustaliliśmy relacje pomiędzy nimi.
R: Co dalej?
G: Oczywiście przedstawimy sobie realizacje naszych przypadków użycia przy pomocy diagramów czynnościowych.
G: Ograniczymy się do zagadnienia „Obsługi wątku”, pominiemy też opis przypadków użycia.
R: A co to za śmieszne znaczki – jakaś nowa notacja.
G: Nie to tylko graficzna prezentacja stereotypów zdefiniowanych dla modelowania biznesowego (modelowania organizacji).
Organizacja i Zarządzanie Projektem Informatycznym
Model organizacji – Model organizacji – realizacja przypadków użycia – realizacja przypadków użycia – interakcja „Obsługa Wątku”interakcja „Obsługa Wątku”
Obsługa wątkusd
/ : Klient / : WSponsor / : WKoordynator / : Wątek / : Notes1 : ZanotujWątek()
2 : ZapiszInformacje()
3<<create>>
4 : PrzekażKoordynatorowi()
5 : PrzyjmijDoWiadomości()
6 : ZapiszInformacje()
Organizacja i Zarządzanie Projektem Informatycznym
Model systemu – transformacja modelu Model systemu – transformacja modelu organizacjiorganizacji
R: Czy teraz trzeba to odnieść do wszystkich przypadków użycia?
G: Tak, ale żeby skrócić tok myślowy, przejdziemy do kolejnego kroku.
R: Jakiego?
G: Kolejnym krokiem będzie transformacja naszej realizacji w model analityczny.
R: Co to oznacza ?
G: Teraz zrobimy z naszych pracowników wewnętrznych aktorów w modelu analitycznym.
R: A co potem ?
G: „Posadzimy ich przy komputerachPosadzimy ich przy komputerach” i wymyślimy dla nich przypadki użycia zgodnie z operacjami biznesowymi, które wcześniej ustaliliśmy.
R: Czyli można powiedzieć, że staną się oni użytkownikami systemu, przesiądą się do komputerów i te same operacje wykonają posługując się komputerem.
Organizacja i Zarządzanie Projektem Informatycznym
Model systemu – transformacja modelu Model systemu – transformacja modelu organizacjiorganizacji
Model Analityczny
WSponsor
+ZanotujWątek()+PrzekażKoordynatorowi()
WKoordynator
+PrzyjmijDoWiadomości()
RejestracjaNowego Wątku
Sponsor
Koordynator
Podgląd Wątku
PowiadomKoordynatora
<<trace>>
<<trace>>
R: Hola! Nie tak szybko, skąd się to wszystko wzięło.
G: Dla każdego pracownika organizacji (<<business worker>>) tworzysz nowego aktora – jak mówiliśmy.
R: A przypadki użycia? G: Ustalasz je sam, choć nie do końca, jest tu
element proceduralny – przeważnie kandydatem na przypadek użycia jest operacja klasy pracownika organizacji.
Organizacja i Zarządzanie Projektem Informatycznym
Model systemu – transformacja modelu Model systemu – transformacja modelu organizacjiorganizacji
R: Co dalej ?
G: Teraz uporządkujemy przypadki użycia i i skonfrontujemy je z wymaganiami.
R: Jeśli coś pominęliśmy?
G: To jest spora szansa, że teraz na to wpadniemy.
Organizacja i Zarządzanie Projektem Informatycznym
Model Analityczny
WSponsor
+ZanotujWątek()+PrzekażKoordynatorowi()
WKoordynator
+PrzyjmijDoWiadomości()
Utrzymanie BazyWątków
<<CRUD>>
RejestracjaNowego Wątku
<<include>>
Sponsor
Koordynator
Podgląd Wątku
<<include>>
SzybkaRejestracja Wątku
<<extend>>
Możliwość rejestracji z pominięcieminterfejsu bazy danych
PowiadomKoordynatora
<<extend>>
<<trace>>
<<trace>>
Model systemu – porządkowanie modelu Model systemu – porządkowanie modelu analitycznegoanalitycznego
R: A co to za dziwny przypadek o stereotypie <<CRUD>>?
G: To jeden z najbardziej typowych scenariuszy – związany jest z edycją bazy danych dla określonej klasy (tabeli)
R: Skąd ten skrót? G: Create, Read, Update, Delete. G: Zauważ, że nasze przypadki scaliłem z tym
typowym, gdyż są jego elementami.
Organizacja i Zarządzanie Projektem Informatycznym
Model Analityczny
WSponsor
+ZanotujWątek()+PrzekażKoordynatorowi()
WKoordynator
+PrzyjmijDoWiadomości()
Utrzymanie BazyWątków
<<CRUD>>
RejestracjaNowego Wątku
<<include>>
Sponsor
Koordynator
Podgląd Wątku
<<include>>
SzybkaRejestracja Wątku
<<extend>>
Możliwość rejestracji z pominięcieminterfejsu bazy danych
PowiadomKoordynatora
<<extend>>
<<trace>>
<<trace>>
Model systemu – transformacja modelu Model systemu – transformacja modelu organizacjiorganizacji
R: A te rozszerzenia? G: Przypadek „Powiadom koordynatora” wynika wprost z
metody klasy WSponsor. A Drugi? G: Umieściłem go na diagramie, gdyż wiem, że docelowo
system ma umożliwić szybką rejestrację wątków, zadań i czynności.
R: Czyli można powiedzieć, że wyczytałeś go w wymaganiach. G: Tak? R: Jaka będzie różnica. G: Edytowanie danych z użyciem formularza lub tabeli jest
niewygodne. Przygotujemy więc inny, prostszy scenariusz, który liczbę kliknięć niezbędnych do wprowadzenia nowego wiersza ograniczy do minimum.
Organizacja i Zarządzanie Projektem Informatycznym
Model systemu – transformacja modelu Model systemu – transformacja modelu organizacjiorganizacji
Model Analityczny
WSponsor
+ZanotujWątek()+PrzekażKoordynatorowi()
WKoordynator
+PrzyjmijDoWiadomości()
Utrzymanie BazyWątków
<<CRUD>>
RejestracjaNowego Wątku
<<include>>
Sponsor
Koordynator
Podgląd Wątku
<<include>>
SzybkaRejestracja Wątku
<<extend>>
Możliwość rejestracji z pominięcieminterfejsu bazy danych
PowiadomKoordynatora
<<extend>>
<<trace>>
<<trace>>
R: Mam wątpliwość, czy „Powiadomienie” jest obowiązkowe, czy opcjonalne.
G: Ja też, ale zakładam, że opcjonalne. Jak sobie chłopaki pogadają, to po co mają do siebie słać e-maile?
?
Organizacja i Zarządzanie Projektem Informatycznym
Model systemu – poziom analityczny – Model systemu – poziom analityczny – dalsze krokidalsze kroki
Gdzie jesteśmy – model systemu poziom analityczny
Dokąd zmierzamy – model systemu poziom projektowy
Dalsze kroki
Opis scenariuszy (pomijamy).
Realizacja przypadków użycia.
Architektura.
Ustalenie słownictwa systemu (słownik projektu – systemowy).
Porządkowanie analitycznego modelu klas.
Transformacja do modelu projektowego.
Organizacja i Zarządzanie Projektem Informatycznym
Model systemu – realizacja przypadku użycia Model systemu – realizacja przypadku użycia
R: Jaki przypadek należy teraz zrealizować.
G: „Utrzymanie bazy wątków”, niestety ze względu na czas zrealizujemy tylko jego pierwszą część.
R: Jaką?
G: Związaną z rejestracją wątku.
R: Skąd weźmiemy pojęcia do tej realizacji?
G: Musimy wypracować te pojęcia.
R: Jak?
G: Analizując różne źródła
1. Mamy aktorów analitycznych i biznesowych
2. Mamy byty organizacji
3. Znamy typowe pojęcia związane z systemami takie jak: baza danych, zbiór danych, formatka
Organizacja i Zarządzanie Projektem Informatycznym
Model systemu – realizacja przypadku użycia Model systemu – realizacja przypadku użycia – pojęcia systemowe – pojęcia systemowe
FormatkaEdycjiWątku<<IDE>>
Zbiór Danych<<IDE>>
Wątek
Przechowuje
10..*
Klient
Zleca 0..*1
Pracownik
Sponsor
Rejestruje 0..*
1
R: Dlaczego właśnie ten zestaw pojęć wybrałeś?
G: Są to moim zdaniem wszystkie byty niezbędne do skutecznego przeprowadzenia naszej interakcji.
G: Stereotyp <<IDE>> wprowadziłem sobie<<IDE>> wprowadziłem sobie, żeby wyróżnić klasy, które projektant „zaczerpnie” z biblioteki swojego środowiska programistycznego.
R: Jak przedstawimy interakcję dla tej realizacji?
G: Tradycyjnie – za pomocą diagramu przebiegu.
Organizacja i Zarządzanie Projektem Informatycznym
Model systemu – realizacja przypadku użycia Model systemu – realizacja przypadku użycia – interakcja – interakcja
Wątek cz.Isd
Nowy Wątekalt
/ : Sponsor
/ FormEdW :FormatkaEdycjiWątku
/ Wątki : Zbiór Danych / Nowy : Wątek
/ : Klient1 : Odnotuj()
2 : NowyWątek()3 : WstawRekord()
4 : Edytuj()
5 : ZapiszRekord()
6 : PrzygotujDaneSamodzienie()
7 : SzybkaRejestracja()
8<<create>>
9 : Rejestruj()
10 : WalidujDane()
11 : ZapiszRekord()
Pominięcie machanizmówkontrolnych zbioru danych wymaga walidacji
12<<destroy>>
R: Litości! Co to jest?
G: Spokojnie spróbujmy sobie wszystko wytłumaczyć.
R: To że klient najpierw „prosi” Sponsora o odnotowanie nurtującego go problemu jest jasne. Ale ta ramka w środku.
G: To tzw. fragment wyodrębnionyfragment wyodrębniony.
R: A linia przerywana?
G: Rozdziela tzw. operandyoperandy, czyli „podfragmenty”.
R: A napis „altalt”?
G: To jeden z możliwych operatorów interakcjioperatorów interakcji, ten oznacza przebiegi alternatywne. W tym przypadku: rejestrację za pomocą standardowych elementów formatki, lub szybką rejestrację za pomocą czegoś w rodzaju kreatora.
Standardowa edycja.
Szybka rejestracja.
Organizacja i Zarządzanie Projektem Informatycznym
Model systemu – realizacja przypadku użycia Model systemu – realizacja przypadku użycia – klasy i operacje – klasy i operacje
FormatkaEdycjiWątku<<IDE>>
+NowyRekord()+Edytuj()+Zapisz()+PrzygotujDaneSamodzienie()+SzybkaRejestracja()
Zbiór Danych<<IDE>>
+WstawRekord()+ZapiszRekord()+WalidujRekord()
Wątek
-WalidujDane()+Rejestruj()
IZarządzanie
IObsługa Zbioru
Przechowuje
10..*Klient
Zleca
0..*
1
Pracownik
Sponsor
Rejestruje
0..*
1
Operacje ustalone w trakcie konstruowania interakcji
R: Co oznaczają te symbole „wtyczek” ?
G: To są interfejsy „podłączone” do klas, czyli specyfikacje usług udostępnianych i wymaganych przez klasy:
Formatka odwołuje się do kilku funkcji związanych z obsługą Zbioru Danych, podobnie jak Wątek.
Ponadto formatka odwołuje się do funkcji zarządzających Wątkiem.
R: Jakie relacje łączą te klasyfikatory, tzn. np. klasę FormatkaEdycjiWątków z IZarządzanie oraz Wątek z IZarzadzanie?
G: Formatkę z IZarządzanie – relacja zależnościrelacja zależności, a IZarządzanie z Wątkiem relacja realizacjirelacja realizacji.
Organizacja i Zarządzanie Projektem Informatycznym
Model systemu – realizacja przypadku użycia Model systemu – realizacja przypadku użycia – klasy i operacje – klasy i operacje
FormatkaEdycjiWątku<<IDE>>
+NowyRekord()+Edytuj()+Zapisz()+PrzygotujDaneSamodzienie()+SzybkaRejestracja()
Zbiór Danych<<IDE>>
+WstawRekord()+ZapiszRekord()+WalidujRekord()
Wątek
-WalidujDane()+Rejestruj()
IZarządzanie
IObsługa Zbioru
Przechowuje
10..*Klient
Zleca
0..*
1
Pracownik
Sponsor
Rejestruje
0..*
1
R: Co teraz – atrybuty?
G: Tak.
R: Jak zwykle zapytam skąd ?
G: Specyfikacje, Wymagania dot. Danych, Słownik Organizacji.
Organizacja i Zarządzanie Projektem Informatycznym
Model systemu – realizacja przypadku użycia Model systemu – realizacja przypadku użycia – klasy i operacje – klasy i operacje
FormatkaEdycjiWątku<<IDE>>
+NowyRekord()+Edytuj()+Zapisz()+PrzygotujDaneSamodzienie()+SzybkaRejestracja()
Zbiór Danych<<IDE>>
+Nazwa
+WstawRekord()+ZapiszRekord()+WalidujRekord()
Wątek
+Opis+Tytuł+DataWprowadzenia+TerminZakończenia+Zakończony
-WalidujDane()+Rejestruj()
IZarządzanie
IObsługaZbioru
Przechowuje
10..*
Klient
Zleca
0..*
1
Sponsor
Rejestruje
0..*1
Pracownik
+Imię+Nazwisko
R: A atrybuty Klienta, Pracownika?
G: Nie teraz, zasada abstrakcji – teraz interesuje nas realizacja określonego scenariusza.
Organizacja i Zarządzanie Projektem Informatycznym
Model systemu – co dalej? Model systemu – co dalej?
R: Czy jeszcze coś w tym fragmencie modelu?
G: Nie, analitycy już kończą, reszta to praca dla projektantów. Mam nadzieję, że opanowałeś podstawy metodyki związanej z analizą?
R: Hmmmm? ….
Organizacja i Zarządzanie Projektem Informatycznym
Z lotu ptaka Z lotu ptaka
Słownik pojęć
J edź na rowerze w czapce
J azda na rowerze wczapce
<<realize>>
Realizacja Use Case
Rower Czapka
Rowerzysta
<<use>><<use>>
Niezbędne przedmioty
/ Szymek : Rowerzysta
/ Czapka Szymka : Czapka / Rower Szymka : Rower
1 : Uchwyć()
2 : ZałóżNaGłowę()
3 : Wejdź()
4 : J edź()
5 : Hamuj()
6 : Zejdź()
Diagramy interakcji (przebiegu i współdziałania)
/ Szymek : Rowerzysta/ Czapka Szymka : Czapka
/ Rower Szymka : Rower
Rower
+Jedź()+Hamuj()+Zejdź()+Wejdź()
Czapka
+Uchwyć()+ZałóżNaGłowę()
Rowerzysta
<<use>>
<<use>>
„Ujawnione” (operacje)
Rowerzysta
Jazda na rowerze Założenie czapki
J azda na rowerzew czapce
<<include>> <<include>>
Diagram Use Casei scenariusze
Organizacja i Zarządzanie Projektem Informatycznym
Z lotu ptaka Z lotu ptaka
Słownik systemu
J edź na rowerze w czapce
J azda na rowerze wczapce
<<realize>>
Realizacja Use Case
Rower Czapka
Rowerzysta
<<use>><<use>>
Klasy
/ Szymek : Rowerzysta
/ Czapka Szymka : Czapka / Rower Szymka : Rower
1 : Uchwyć()
2 : ZałóżNaGłowę()
3 : Wejdź()
4 : J edź()
5 : Hamuj()
6 : Zejdź()
Diagramy interakcji (przebiegu i współdziałania)
/ Szymek : Rowerzysta/ Czapka Szymka : Czapka
/ Rower Szymka : Rower
Rower
+Jedź()+Hamuj()+Zejdź()+Wejdź()
Czapka
+Uchwyć()+ZałóżNaGłowę()
Rowerzysta
<<use>>
<<use>>
„Ujawnione” (operacje, atrybuty)
Rowerzysta
Jazda na rowerze Założenie czapki
J azda na rowerzew czapce
<<include>> <<include>>
Diagram Use Casei scenariusze
Zadanie
Wątek
Czynność
Klient<<business actor>>
Projekt
Relizowany u
11
Pojawia się w ramach
0..*
1
Dotyczy 1
1..*
Wykonywana w ramach
1..*
1
Lokalizacja
Siedziba
Realizowana w
1..*0..1WPracownik
Wykonuje
+Wykonawca
0..*1
WSponsor
Opiekuje się
+Opiekun
Zleca realizację
+Zlecający
1
WKoordynator
Zleca+Zlecający
0..*
1
Notes
<<access>>