część 3

74
Organizacja i Zarządzanie Projektem Informatycznym Część 3 Część 3 OiZPI 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

Upload: marietta-anglim

Post on 30-Dec-2015

34 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

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>>