Projektowanie systemów informacyjnych

Slides:



Advertisements
Podobne prezentacje
Modelowanie przypadków użycia
Advertisements

Projektowanie w cyklu życia oprogramowania
Jarosław Kuchta Dokumentacja i Jakość Oprogramowania
Złożoność procesu konstrukcji oprogramowania wymusza podział na etapy.
Propozycja metodyki nauczania inżynierii oprogramowania
Co UML może zrobić dla Twojego projektu?
Czym jest zarządzanie operacyjne
Tomasz Jabłoński Michał Ziach
Cykle życia oprogramowania
Projektowanie systemów informacyjnych
Jakość systemów informacyjnych (aspekt eksploatacyjny)
Projektowanie systemów informacyjnych
Wstęp do programowania obiektowego
Projektowanie i programowanie obiektowe II - Wykład IV
Projektowanie i programowanie obiektowe II - Wykład II
Praca Inżynierska „Analiza i projekt aplikacji informatycznej do wspomagania wybranych zadań ośrodków sportowych” Dyplomant: Marcin Iwanicki Promotor:
Informacja o ciekawym wykładzie: "IT - branża dla ekonomistów którzy nie lubią się nudzić". Odbędzie się on 13 listopada o godzinie w sali 4 pawilonu.
Jakość i niezawodność systemu informacyjnego
Projektowanie obiektowe
Wykład 4 Analiza i projektowanie obiektowe
Wykład 5 UML - Unified Modeling Language
Wykład 3 Analiza i projektowanie strukturalne
Wykład 2 Cykl życia systemu informacyjnego
C.d. wstępu do tematyki RUP
Unified Modeling Language graficzny język wizualizacji, specyfikowania, tworzenia i dokumentowania systemów informatycznych.
Wykonawcy:Magdalena Bęczkowska Łukasz Maliszewski Piotr Kwiatek Piotr Litwiniuk Paweł Głębocki.
Źródła: podręcznikopracował: A. Jędryczkowski.
Wykład 6 Przypadki użycia a proces
Podsumowanie metodologii OMT
Programowanie obiektowe – język C++
Rational Unified Process Implementacja Aleksandra Reiman, gr. I-52.
Model przypadków użycia
Dr Karolina Muszyńska Na podst.:
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
1 Każdy obiekt jest scharakteryzowany poprzez: tożsamość – daje się jednoznacznie wyróżnić; stan; zachowanie. W analizie obiektowej podstawową strukturą
Modelowanie obiektowe Diagramy UML – diagram przypadków użycia
Unified Modeling Language - Zunifikowany Język Modelowania
Modelowanie obiektowe Diagramy klas
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
Moduł III Definiowanie i planowanie zadań typu P 1.
Bazy i Systemy Bankowe Sp. z o.o. ul. Kasprzaka 3, 85 – 321 Bydgoszcz
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Model obiektowy bazy danych
PROCESY W SYSTEMACH SYSTEMY I PROCESY.
Diagram aktywności (czynności)
Diagram przypadków użycia
Zarządzanie zagrożeniami
Proces tworzenia oprogramowania Proces tworzenia oprogramowania jest zbiorem czynności i związanych z nimi wyników, które prowadzą do powstania produktu.
Przykłady analiza i projektowanie
Modelowanie obiektowe - system zarządzania projektami.
Eksploatacja zasobów informatycznych przedsiębiorstwa.
Projektowanie obiektowe. Przykład: Punktem wyjścia w obiektowym tworzeniu systemu informacyjnego jest zawsze pewien model biznesowy. Przykład: Diagram.
Projekt modułu Nazwa całego projektu Nazwa modułu Imię i Nazwisko Inżynieria Oprogramowania II dzień, godzina rok akademicki W szablonie na niebiesko zamieszczone.
Diagramy przepływu danych
Eksploatacja zasobów informatycznych przedsiębiorstwa.
Struktura systemu operacyjnego
Studia Podyplomowe IT w Biznesie Inżynieria Oprogramowania
Wstęp do systemów informatycznych Model przypadków użycia.
E. Stemposz. UML i Analiza Obiektowa, Wykład 2, Slajd 1/42 Wykład 2 Model przypadków użycia dr inż. Ewa Stemposz
Architektura Rafał Hryniów. Architektura Wizja projektu systemu, którą dzielą twórcy Struktura komponentów systemu, ich powiązań oraz zasad i reguł określających.
Wykład 2 – Zintegrowane systemy informatyczne Michał Wilbrandt.
Budowa i integracja systemów informacyjnych Wykład 1 Wprowadzenie do inżynierii oprogramowania mgr inż. Rafał Hryniów P olsko J apońska W yższa S zkoła.
Cykle życia oprogramowania oraz role w zespole projektowym Autor: Sebastian Szałachowski s4104.
Inżynieria systemów informacyjnych
Projekt modułu BANK INTERNETOWY Moduł funkcji banku
Modele wg Jacobsona Model przypadków użycia: definiuje zewnętrze (aktorów = systemy zewnętrzne = kontekst) oraz wnętrze (przypadki użycia), określające.
Budowa i integracja systemów informacyjnych
Wykład 1 – część pierwsza
Zapis prezentacji:

Projektowanie systemów informacyjnych Wykład 1 Kryzys oprogramowania Model przypadków użycia Ewa Stemposz, Kazimierz Subieta Instytut Podstaw Informatyki PAN, Warszawa Polsko-Japońska Wyższa Szkoła Technik Komputerowych, Warszawa

Zagadnienia Czynniki jakości oprogramowania Kryzys oprogramowania Zadania inżynierii oprogramowania Model przypadków użycia: Notacja Analiza aktorów Analiza przypadków użycia Analiza relacji między przypadkami użycia Określanie aktorów Określanie przypadków użycia Dokumentowanie przypadków użycia Zadania modelu przypadków użycia

Jakość oprogramowania - czynniki Poprawność określa, czy oprogramowanie wypełnia postawione przed nim zadania i czy jest wolne od błędów. Łatwość użycia jest miarą stopnia łatwości korzystania z oprogramowania. Czytelność pozwala na określenie wysiłku niezbędnego do zrozumienia oprogramowania. Ponowne użycie charakteryzuje przydatność oprogramowania, całego lub tylko pewnych fragmentów, do wykorzystania w innych produktach programistycznych. Stopień strukturalizacji (modularność) określa, jak łatwo oprogramowanie daje się podzielić na części o dobrze wyrażonej semantyce i dobrze wyspecyfikowanej wzajemnej interakcji. Efektywność opisuje stopień wykorzystania zasobów sprzętowych i programowych stanowiących podstawę działania oprogramowania. Przenaszalność mówi o łatwości przenoszenia oprogramowania na inne platformy sprzętowe czy programowe. Skalowalność opisuje zachowanie się oprogramowania przy rozroście liczby użytkowników, objętości przetwarzanych danych, dołączaniu nowych składników, itp. Współdziałanie charakteryzuje zdolność oprogramowania do niezawodnej współpracy z innym niezależnie skonstruowanym oprogramowaniem.

Kryzys oprogramowania - symptomy (1) Symptomy kryzysu oprogramowania: USA: (IEEE Software Development, Aug 94, p.65) Utrzymanie 10 mld. linii istniejących programów kosztuje 70 mld. $ rocznie (PC Week, 16 Jan 95, p.68) 31% nowych projektów jest anulowane przed zakończeniem; koszt 81 mld. $ (Failed technology projects in Investor’s Business Daily, Los Angeles, Jan. 25, 1995, p. A8) 31% projektów jest anulowane jeszcze w trakcie konstrukcji 53% projektów jest kończone z przekroczeniem zaplanowanego czasu, budżetu i z ograniczeniem planowanego zbioru funkcji systemu Zaledwie 16% projektów jest kończone w zaplanowanym czasie, bez przekroczenia budżetu i okrajania funkcjonalności

Kryzys oprogramowania - symptomy (2) (Ed Yourdon’s Guerilla Programmer, Jul 95) Średnia wydajność wykonawców oprogramowania spadła o 13% w ciągu dwóch lat; stosunek najlepszej wydajności do najgorszej od 1990 r. rozszerzył się od 4:1 do 600:1. Uzależnienie organizacji od systemów komputerowych i przyjętych technologii przetwarzania informacji, które nie są stabilne w długim horyzoncie czasowym. Problemy współdziałania niezależnie zbudowanego oprogramowania, szczególnie istotne przy dzisiejszych tendencjach integracyjnych. Problemy przystosowania już istniejących i działających systemów do nowych wymagań, tendencji i platform sprzętowo-programowych. Frustracje informatyków wynikające ze zbyt szybkiego postępu w zakresie narzędzi i metod wytwarzania oraz uciążliwości i długotrwałości procesów produkcji i pielęgnacji oprogramowania. Znaczące zmiany w przemyśle informatycznym następują co 5-7 miesięcy w porównaniu do 5-7 lat w innych dziedzinach.

Kryzys oprogramowania - przyczyny Konflikt pomiędzy odpowiedzialnością, jaka spoczywa na współczesnych SI, a ich zawodnością wynikającą ze złożoności i ciągle niedojrzałych metod tworzenia i weryfikacji oprogramowania. Długi i kosztowny cykl tworzenia oprogramowania, wysokie prawdopodobieństwo niepowodzenia projektu programistycznego. Niska kultura ponownego użycia wytworzonych komponentów projektów i oprogramowania (reuse); niski stopień powtarzalności poszczególnych przedsięwzięć. Długi i kosztowny cykl życia SI, wymagający stałych (często globalnych) zmian. Eklektyczne, niesystematyczne narzędzia i języki programowania. Podstawowym powodem kryzysu oprogramowania jest złożoność produktów informatyki i procesów ich wytwarzania.

Źródła złożoności oprogramowania Dziedzina problemowa, obejmująca ogromną liczbę wzajemnie uzależnionych aspektów i problemów. Zespół projektantów podlegający ograniczeniom pamięci, percepcji, wyrażania informacji i komunikacji. Oprogramowanie Środki i technologie informatyczne: sprzęt, oprogramowanie, sieć, języki, narzędzia, itd. Potencjalni użytkownicy: czynniki psychologiczne, ergonomia, ograniczenia pamięci i percepcji, skłonność do błędów i nadużyć, tajność, prywatność.

Walka ze złożonością oprogramowania (1) Złożoność powoduje, że głównym problemem w procesie konstrukcji produktów informatycznych stał się człowiek (analityk, projektant, programista, ...) z jego różnymi uwarunkowaniami fizycznymi, psychologicznymi i mentalnymi. Wniosek: Technologie komputerowe powinny być bardziej zorientowane na ludzi, niż na maszyny. Co robić? Należy wykorzystywać: Mechanizmy abstrakcji - pozwalają operować jednostkami bez wnikania w ich wewnętrzną strukturę (poprzez pominięcie mniej istotnych elementów, np. poprzez oddzielanie specyfikacji od implementacji), co znacząco ułatwia proces rozumienia; wyodrębnianie cech wspólnych i niezmiennych (inwariantnych) dla pewnego zbioru bytów.

Walka ze złożonością oprogramowania (2) Mechanizmy kompozycji i dekompozycji, czyli podział na części o dobrze wyrażonej semantyce i dobrze wyspecyfikowanej wzajemnej interakcji (strukturalizację oprogramowania): można komponować większe jednostki oprogramowania z mniejszych; można dekomponować złożone struktury na fragmenty a następnie rozpatrywać te fragmenty niezależnie od siebie i niezależnie od całości. Ponowne użycie - pozwala na wykorzystanie wcześniej wytworzonych schematów, metod, wzorców, komponentów projektu, komponentów oprogramowania, itd. Zasada sprzyjania naturalnym ludzkim własnościom -pozwala na dopasowanie modeli pojęciowych i realizacyjnych systemów do mechanizmów percepcji i rozumienia świata przez ludzi. Nie tylko wzrost efektywności procesu wytwarzania produktu programistycznego ale też i wzrost jakości oprogramowania, czyli np. poprawności, niezawodności, czytelności, testowalności, skalowalności, łatwej pielęgnacji, współdziałania, przenaszalności, itp. Efekty:

Strukturalizacja oprogramowania Korzyści jakie przynosi strukturalizacja oprogramowania: Jeśli wystarczy jedynie rozpoznać interface do komponentu, a nie jego szczegółową implementację, musi to zaowocować większą wydajnością pracy. Jeśli można bezpiecznie zignorować niektóre aspekty systemu (objęte przez wykorzystywany komponent) to większą uwagę można przyłożyć do swojej pracy, przez co mniej błędów wprowadza się do systemu. Dzięki strukturalizacji oprogramowania łatwiej znajduje się błędy (zarówno w trakcie budowania, jak i konserwacji systemu); nie wszystkie moduły muszą być testowane przy usuwaniu konkretnego błędu. Dobrze przetestowny, udokumentowany komponent może być wielokrotnie wykorzystywany (ponowne użycie). Modularna budowa ułatwia podział pracy. “Nawet ubogi interface do źle skonstruowanego komponentu może uczynić system ( jako całość) łatwiejszym do zrozumienia, a przez to do modyfikacji.” Ze strukturalizacją oprogramowania związane są dwa, opisane dalej, pojęcia: kohezja i skojarzenia.

Kohezja i skojarzenia Kohezja (cohesion) oznacza zwartość, spoistość. Terminu tego używa się np. w odniesieniu do komponentu oprogramowania (klasy, modułu, itp.) na oznaczenie wzajemnego zintegrowania jego elementów składowych. Duża kohezja oznacza silną interakcję wewnątrz i relatywnie słabszą interakcję z zewnętrzem. Komponenty powinna cechować duża kohezja, co oznacza, że komponent stanowi dobrą, intuicyjną abstrakcję “czegoś”, czyli posiada precyzyjnie określoną semantykę, jest dobrze wyizolowany z kontekstu (maksymalnie od niego niezależny) oraz posiada dobrze zdefiniowany interface. Skojarzenie (coupling) określa stopień powiązania między komponentami, np. dla klas: jak często obiekty jednej klasy występują razem z obiektami innych klas, jak często obiekty jednej klasy wysyłają komunikaty do obiektów innej klasy, itp. Możliwe są skojarzenia silne, słabe czy w ogóle brak skojarzenia. Duża ilość silnych skojarzeń miedzy elementami składowymi (high coupling) jest tym, czego powinno się unikać. Analiza stopnia kohezji i wzajemnych skojarzeń stanowi podstawę do konstruowania architektury systemu, czyli wyróżniania elementów składowych systemu, określania ich wzajemnych interakcji oraz sposobów przesyłania między nimi danych.

Zadania inżynierii oprogramowania Zadania stojące przed inżynierią oprogramowania w walce z narastającą złożonością oprogramowania: Redukcja złożoności oprogramowania; Propagowanie wykorzystywania technik i narzędzi ułatwiających pracę nad złożonymi systemami; Upowszechnianie metod wspomagających analizę nieznanych problemów oraz ułatwiających wykorzystanie wcześniejszych doświadczeń; Usystematyzowanie procesu wytwarzania oprogramowania, tak aby ułatwić jego planowanie i monitorowanie; Wytworzenie wśród producentów i nabywców przekonania, że budowa dużego systemu wysokiej jakości jest zadaniem wymagającym profesjonalnego podejścia.

Modele wg Jacobsona Model przypadków użycia: definiuje zewnętrze (aktorów = systemy zewnętrzne = kontekst) oraz wnętrze (przypadki użycia), określające zachowanie się systemu w interakcji z jego zewnętrzem. Obiektowy model dziedziny: odwzorowywuje byty świata rzeczywistego (czyli dziedziny problemowej) w obiekty istniejące w systemie. Obiektowy model analityczny: efekt fazy analizy dla konkretnego zastosowania. Model projektowy (logiczny): opisuje założenia przyszłej implementacji. Model implementacyjny (fizyczny): reprezentuje konkretną implementację systemu. Model testowania: określa plan testów, specyfikuje dane testowe i raporty. Modele wymagają odpowiednich procesów ich tworzenia Proces analizy wymagań, składa się z dwóch podprocesów: - proces modelowania przypadków użycia - Proces analizy związany z obiektowym modelem analitycznym Proces projektowania Proces implementacji Proces testowania

Model analityczny Model analityczny z reguły wykracza poza zakres odpowiedzialności systemu. Przyczyny: Ujęcie w modelu pewnych elementów dziedziny problemu nie będących częścią systemu czyni model bardziej zrozumiałym. Przykładem jest ujęcie w modelu systemów zewnętrznych, z którymi system ma współpracować. Na etapie modelowania może nie być jasne, które elementy modelu będą realizowane przez oprogramowanie, a które w sposób sprzętowy lub ręcznie. Dziedzina problemu Dostępne środki mogą nie pozwolić na realizację systemu w całości. Model analityczny Zakres odpowiedzialności systemu Celem budowy modelu analitycznego może być wykrycie tych fragmentów dziedziny problemu, których wspomaganie za pomocą innego oprogramowania będzie szczególnie przydatne.

Model wymagań Model przypadków użycia Składowe: Obiektowy model analityczny Składowe: Model przypadków użycia wykorzystuje dwa podstawowe pojęcia: Aktor Reprezentuje rolę, którą może grać w sytemie jakiś jego użytkownik; (np. kierownik, urzędnik, klient) Reprezentuje sekwencję operacji, niezbędnych do wykonania zadania zleconego przez aktora, np. potwierdzenie pisma, złożenie zamówienia, itp. Przypadek użycia Aktorem jest dowolny byt zewnętrzny, który uczestniczy w interakcji z systemem. Każdy potencjalny aktor może wchodzić w interakcję z systemem na pewną liczbę jemu właściwych sposobów. Każdy z tych sposobów nosi nazwę przypadku użycia i reprezentuje przepływ operacji w systemie związany z obsługą zadania zleconego przez aktora w procesie interakcji.

Notacja Przypadek użycia: Powinien mieć unikalną nazwę, opisującą przypadek użycia z punktu widzenia jego zasadniczych celów. Czy lepiej jest stosować nazwę opisującą czynność (“wypłata pieniędzy”) czy polecenie (“wypłać pieniądze”) - zdania są podzielone. wypłata pieniędzy klient Aktor: Powinien mieć unikalną nazwę. Interakcja: Pokazuje interakcję pomiędzy przypadkiem użycia a aktorem. Blok ponownego użycia: Pokazuje fragment systemu, który jest używany przez kilka przypadków użycia; może być oznaczony jako samodzielny przypadek użycia. weryfikacja klienta Relacja typu «include» lub «extend»: Pokazuje związek zachodzący między dwoma przypadkami użycia lub przypadkiem użycia a blokiem ponownego użycia. «include» System obsługi klienta Nazwa systemu wraz z otoczeniem systemu: Pokazuje granicę pomiędzy systemem a jego otoczeniem. wnętrze systemu

Aktor - konkretny byt czy rola? Metoda przypadków użycia wymaga od analityka określenia wszystkich aktorów związanych z wykorzystywaniem projektowanego systemu, czyli określenia “przyszłych użytkowników systemu”. Zazwyczaj aktorem jest osoba, ale może nim być 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 ? Aktor to przecież, zgodnie z definicją, byt z otoczenia systemu. Aktor jest tu 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. Sprawca zdarzeń? Czy np. klient, nie posiadający bezpośredniego dostępu do funkcji systemu jest tu aktorem?

Administrator systemu Analiza aktorów Wyjaśnienie różnic pomiedzy konkretnymi użytkownikami a aktorami Użytkownik Aktor Przypadek użycia Może grać rolę zleca Jan Kowalski Adam Malina Gość Konkretny klient Administrator systemu Pracownik Osoba informowana Klient Przeładowanie systemu Wejście z kartą i kodem Uzyskanie informacji ogólnych Wypłata z konta

Przykład diagramu przypadków użycia (1) wpłata pieniędzy ? klient wypłata pieniędzy Czy klient jest aktorem dla przypadku użycia: wpłata pieniędzy - zdania są podzielone. W operacjach wpłaty i wypłaty pieniędzy mogą uczestniczyć także inni aktorzy, np. kasjer. Możemy go dołączyć jako kolejny element rozbudowujący nasz model. wpłata pieniędzy wypłata pieniędzy klient kasjer

Przykład diagramu przypadków użycia (2) Automat do sprzedaży papierosów uzupełnienie towaru zakup paczki papierosów operacja pieniężna klient operator sporządzenie raportu wnętrze systemu granica systemu kontroler otoczenie systemu

Zależności między przypadkami użycia Przypadki użycia mogą być konstruowane w dowolnej kolejności, chyba że występują między nimi relacje typu «include» czy «extend». p1 jest tu przypadkiem bazowym i zawsze występuje jako pierwsze w kolejności działania. p1 «include» p2 Przebieg podstawowy (sekwencyjny): p1 zawsze włącza (używa) p2. p1 «extend» p2 Przebieg opcjonalny (alternatywny): p1 jest czasami rozszerzane o p2 (inaczej: p2 czasami rozszerza p1).

Relacja: «include» «include» «include» «include» Automat do operacji bankowych prowadzenie konta klienta podsystem zarządzania bazą danych banku «include» informowanie o stanie konta klienta «include» weryfikacja karty i kodu klienta klient «include» inicjalizacja karty klienta administrator systemu

Relacje: «include» i «extend» «include»: wskazuje na wspólny fragment wielu przypadków użycia (wyłączony “przed nawias”); wykorzystywane w przebiegach podstawowych (operacje zawsze wykonywane) rejestracja klienta «include» sprzedaż samochodu «include» «include» przegląd samochodu naprawa samochodu «extend» «extend»: strzałka prowadzi od przypadku użycia, który czasami rozszerza inny przypadek użycia - wykorzystywane w przebiegach opcjonalnych (operacje nie zawsze ykonywane) «extend» «extend» umycie samochodu przyholowanie samochodu

Rozbudowa modelu przypadków użycia wpłata pieniędzy wpłata pieniędzy kasjer kasjer «include» wypłata pieniędzy wypłata pieniędzy «extend» «include» uaktualnianie stanu konta klient banku sprawdź stan konta klient banku sprawdź stan konta weź pożyczkę weź pożyczkę zarząd banku zarząd banku Model przypadków użycia można rozbudowywać poprzez dodawanie nowych aktorów, nowych przypadków użycia czy też nowych relacji pomiędzy nimi.

Diagram interakcji dla przypadku użycia Przesyłanie komunikatów pomiędzy blokami: Aktor Blok 1 Blok 2 Blok 3 Blok 4 k1 k2 k3 czas k4 k5 Bloki - obiekt ki - komunikat, czyli polecenie wykonania operacji; komunikat nosi nazwę tej operacji

Przykład diagramu interakcji scenariusz Wypełnij formularz wpłaty Podaj formularz i gotówkę do kasy Zwiększ konto klienta Zwiększ bilans kasy Zwiększ bilans banku Wydaj pokwitowanie dla klienta wpłata pieniędzy :Klient :Formularz :Kasa :Konto :Bank wypełnij podaj formularz zwiększ zwiększ bilans zwiększ bilans wydaj pokwitowanie

Stopień szczegółowości diagramów Model przypadków użycia dostarcza bardzo abstrakcyjnego spojrzenia na system - spojrzenia z pozycji aktorów, którzy go używają. Nie włącza zbyt wielu szczegółów, co pozwala wnioskować o fukcjonalności systemu na odpowiednio wysokim poziomie. Podstawowym (choć nie jedynym) zastosowaniem jest tu dialog z przyszłymi użytkownikami zmierzający do sformułowania poprawnych wymagań na system. Model zbyt szczegółowy - utrudnia analizę, zbyt ogólny - nie pozwala na wykrycie bloków ponownego użycia. edycja programu Tworzenie przypadków użycia jest niezdeterminowane i subiektywne. Na ogół, różni analitycy tworzą różne modele. kompilacja programu «include» «include» wykonanie programu programista drukowanie pliku użytkownik

Kolejne kroki w konstrukcji modelu Konstrukcja modelu przypadków użycia opiera się na kilku krokach i 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”. Jednocześnie powinien być budowany model obiektowy. Krok: Udokumentowany w: 1 Sporządzenie słownika pojęć Słownik pojęć 2 Określenie aktorów Dokument opisu aktorów 3 Określenie przypadków użycia 4 Tworzenie opisu każdego przypadku użycia plus: podział na nazwane części znalezienie wspólnych części w różnych przypadkach użycia Diagram przypadków użycia + dokument opisu przypadków użycia

Sporządzanie słownika pojęć Ważnym jest, by już na tym etapie rozpocząć organizowanie 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. Przykład: Konto - pojedyncze konto w banku, w stosunku do którego wykonywane są bieżące transakcje. Konta mogą być różnych typów, a w szczególności: konta indywidualne, małżeńskie, firmowe i inne. Każdy klient może posiadać więcej niż jedno konto. Na co należy zwrócić uwagę przy kwalifikowaniu terminów do słownika: na rzeczowniki - mogą one oznaczać aktorów lub byty z dziedziny problemowej na frazy opisujące funkcje, akcje, zachowanie się - mogą one być podstawą wyróżnienia przypadków użycia.

Określanie aktorów Przy określaniu aktorów istotne są odpowiedzi na następujące pytania: Jaka grupa użytkowników potrzebuje wspomagania ze strony systemu (np. osoba wysyłająca korespondencję)? Jacy użytkownicy są konieczni do tego, aby system działał i wykonywał swoje funkcje (np. administrator systemu)? Z jakich elementów zewnętrznych (innych systemów, komputerów, czujników, sieci, itp.) musi korzystać system, aby realizować swoje funkcje. Ustalanie potencjalnych aktorów musi być powiązane z ustalaniem granic systemu, tj. odrzucaniem obszarów dziedziny problemowej, którymi system nie będzie się zajmować (zakres odpowiedzialności systemu). Po wyszukaniu aktorów, należy ustalić: nazwę dla każdego aktora/roli, zakresy znaczeniowe dla poszczególnych nazw aktorów oraz relacje pomiędzy zakresami (np. sekretarka  pracownik administracji  pracownik  dowolna osoba). Niekiedy warto ustalić hierarchię dziedziczenia dostępu do funkcji systemu dla aktorów.

Struktury dziedziczenia dla aktorów osoba pracownik gość pracownik administracji księgowa Np. pracownik administracji dziedziczy dostęp do przypadków użycia wyspecyfikowanych dla każdego pracownika, oraz ma dostęp do przypadków związanych z jego własnym, specyficznym sposobem wykorzystywania systemu.

Określanie przypadków użycia (1) Dla każdego aktora, znajdź funkcje (zadania), które powinien wykonywać w zwiazku z jego działalnością w zakresie zarówno dziedziny przedmiotowej, jak i wspomagania działalności systemu informacyjnego. Staraj się powiązać w jeden przypadek użycia zespół funkcji realizujących podobne cele. Unikaj rozbicia jednego przypadku użycia na zbyt wiele pod-przypadków. Nazwy dla przypadków użycia: powinny być krótkie, ale jednoznacznie określające charakter zadania lub funkcji. Nazwy powinny odzwierciedlać czynności z punktu widzenia aktorów, a nie systemu, np. “wpłacanie pieniędzy”, a nie “przyjęcie pieniędzy od klienta”. Opisz przypadki użycia przy pomocy zdań w języku naturalnym, używając terminów ze słownika. Uporządkuj aktorów i przypadki użycia w postaci diagramu. Niektóre z powstałych w ten sposób przypadków użycia mogą być mutacjami lub szczególnymi przypadkami innych przypadków użycia. Przeanalizuj powiązania aktorów z przypadkami użycia i ustal, które z nich są zbędne lub mogą być uogólnione.

Określanie przypadków użycia (2) Wyodrębnij “przypadki bazowe”, czyli te, które stanowią istotę zadań, są normalnym, standardowym użyciem. Pomiń czynności skrajne, wyjątkowe, uzupełniające lub opcyjne. Nazwij te “przypadki bazowe”. Ustal powiązania “przypadków bazowych” z innymi przypadkami, poprzez ustalenie ich wzajemnej zależności: sekwencji czy alternatywy. Dodaj zachowania skrajne, wyjątkowe, uzupełniające lub opcjonalne. Ustal powiązanie “przypadków bazowych” z tego rodzaju zachowaniem. Może ono byc także powiązane w pewną strukturę. Staraj się, aby bloki specyfikowane wewnątrz każdego przypadku użycia nie były zbyt ogólne lub zbyt szczegółowe. Zbyt szczegółowe bloki utrudniają analizę. Zbyt ogólne bloki zmniejszają możliwość wykrycia bloków ponownego użycia. Struktura nie może być zbyt duża i złożona. Staraj się wyizolować bloki ponownego użycia. Przeanalizuj podobieństwo nazw przypadków użycia, podobieństwo nazw i zachowania bloków ponownego użycia występujących w ich specyfikacji. Wydzielenie bloku ponownego użycia może być powiązane z określeniem bardziej ogólnej funkcji lub dodaniu nowej specjalizacji do istniejącej funkcji.

Dokumentowanie przypadków użycia Dokumentacja przypadków użycia powinna zawierać: 1. Diagramy przypadków użycia: aktorzy, przypadki użycia i relacje zachodzące między przypadkami. 2. Krótki, ogólny opis każdego przypadku użycia: jak i kiedy przypadek użycia zaczyna się i kończy, opis interakcji przypadku użycia z aktorami, włączając w to kiedy interakcja ma miejsce i co jest przesyłane, kiedy i do czego przypadek użycia potrzebuje danych zapamiętanych w systemie oraz jak i kiedy zapamiętuje dane w systemie, wyjątki występujące przy obsłudze przypadku, specjalne wymagania, np. czas odpowiedzi, wydajność, jak i kiedy używane są pojęcia dziedziny problemowej. 3. Opis szczegółowy każdego przypadku użycia: scenariusz(e) specyfikację uczestniczących obiektów, diagram(y) interakcji.

Zadania modelu przypadków użycia Główne zadanie modelu przypadków użycia to prawidłowe określenie wymagań funkcjonalnych na projektowany system. Prawidłowe określenie funkcjonalności systemu uznawane jest za jeden z podstawowych problemów w procesie konstrukcji. Model przypadków użycia pozwala na: lepsze zrozumienie możliwych sposobów wykorzystania projektowanego systemu (przypadków użycia), co oznacza zwiększenie stopnia świadomości analityków i projektantów co do celów systemu, czyli innymi słowy jego funkcjonalności, umożliwienie interakcji zespołu projektowego z przyszłymi użytkownikami systemu, ustalenie praw dostępu do zasobów, zrozumienie strukturalnych własności systemu, a przez to ustalenie składowych systemu i związanego z nimi planu konstrukcji systemu, dostarczenie podstawy do sporządzenia planu testów systemu, weryfikację poprawności i kompletności projektu. Przypadki użycia odwzorowywują strukturę systemu tak, jak ją widzą jego użytkownicy.

Przypadki użycia w analizie Eksperci Doświadczenie w dziedzinie przedmiotowej Model dziedziny Model analizy Przypadki użycia Model zastosowania mocny wpływ słaby wpływ Użytkownicy