Przypadki użycia (use cases) Po co są przypadki użycia? Próby definicji Podstawowe pojęcia Notacje Relacje Dokumentacja Kroki metody Przykłady



Podobne dokumenty
MAS dr. Inż. Mariusz Trzaska

Analiza procesów: notacja UML, modele przypadków użycia, Rich Picture

Diagramy przypadków użycia

KATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA

Diagram przypadków użycia

Cel wykładu. Literatura. Wyższa Szkoła Menedżerska w Legnicy. Modelowanie wymagań Wykład 2

Modelowanie przypadków użycia. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Świat rzeczywisty i jego model

Projektowanie systemów informatycznych. Diagramy przypadków użycia

Modelowanie obiektowe - Ćw. 3.

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Diagramy przypadków użycia

Język UML w modelowaniu systemów informatycznych

Diagramy przypadków użycia. WYKŁAD Piotr Ciskowski

Specyfikowanie wymagań przypadki użycia

Inżynieria oprogramowania II

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

Agenda. Cele projektu Wizja projektu Modelowanie biznesowe Wymagania użytkownika Przypadki użycia

Diagramy przypadków uŝycia. związków między nimi

Projektowanie Graficznych Interfejsów Użytkownika Robert Szmurło

Analiza i projektowanie obiektowe 2017/2018. Wykład 3: Model wiedzy dziedzinowej

ZARZĄDZANIU. Wykład VI. dr Jan Kazimirski

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD

Podstawy programowania III WYKŁAD 4

Język UML. dr inż. Piotr Szwed C3, pok

Faza Określania Wymagań

Inżynieria oprogramowania. Wykład 7 Inżynieria wymagań: punkty widzenia, scenariusze, przypadki użycia

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017

Rysunek 1: Przykłady graficznej prezentacji klas.

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym

Projektowanie i wdrażanie systemów informatycznych (materiały do wykładu cz. II)

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

Inżynierski Projekt Zespołowy

TECHNOLOGIE OBIEKTOWE. Wykład 3

Modelowanie i analiza systemów informatycznych Spis treści

Faza analizy (modelowania) Faza projektowania

TECHNOLOGIE OBIEKTOWE WYKŁAD 2. Anna Mroczek

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

UML w Visual Studio. Michał Ciećwierz

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

Spis treúci. 1. Wprowadzenie... 13

Procesowa specyfikacja systemów IT

Diagramu Związków Encji - CELE. Diagram Związków Encji - CHARAKTERYSTYKA. Diagram Związków Encji - Podstawowe bloki składowe i reguły konstrukcji

Modelowanie danych, projektowanie systemu informatycznego

Podstawy inżynierii oprogramowania

Inżynieria oprogramowania wykład IV Faza określenia wymagań

Feature Driven Development

Podejście obiektowe - podstawowe pojęcia

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania

Źródło: S. Wrycza, B. Marcinkowski, K. Wyrzykowski Język UML 2.0 w modelowaniu systemów informatycznych Helion DIAGRAMY INTERAKCJI

MiASI. Modele, perspektywy, diagramy UML. Piotr Fulmański. 7 grudnia Wydział Matematyki i Informatyki, Uniwersytet Łódzki, Polska

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 1

Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1

Inżynieria wymagań. Wykład 3 Zarządzanie wymaganiami w oparciu o przypadki użycia. Część 9 Strukturyzacja modelu przypadków użycia

Tutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu.

Inżynieria oprogramowania Jarosław Kuchta. Modelowanie interakcji

Inżynieria wymagań. Wykład 2 Proces pisania przypadków użycia. Część 6 Wskazówki i sugestie

KATEDRA INFORMATYKI STOSOWANEJ PŁ ANALIZA I PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH

Tworzenie warstwy zasobów projektowanie metodą strukturalną

1 Projektowanie systemu informatycznego

Wykorzystanie standardów serii ISO oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych

Analiza i programowanie obiektowe 2016/2017. Wykład 6: Projektowanie obiektowe: diagramy interakcji

MiASI. Modelowanie systemów biznesowych. Piotr Fulmański. 7 stycznia Wydział Matematyki i Informatyki, Uniwersytet Łódzki, Polska

Wzorce projektowe. dr inż. Marcin Pietroo

Podrozdziały te powinny zawierać informacje istotne z punktu widzenia przyjętego celu pracy

Projekt aplikacji internetowej specyfikacja wymagań (cz.1)

Systemy informatyczne. Modelowanie danych systemów informatycznych

Wymagania klienta mogą być opisane na różnych poziomach abstrakcji: Podział wymagań: Wymagania funkcjonalne Wymagania niefunkcjonalne

UML cz. I. UML cz. I 1/1

Diagramy klas. WYKŁAD Piotr Ciskowski

Inżynieria wymagań. Wykład 3 Zarządzanie wymaganiami w oparciu o przypadki użycia. Część 5 Definicja systemu

Programowanie obiektowe - 1.

1. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Diagramy interakcji. Jarosław Kuchta Dokumentacja i Jakość Oprogramowania

Określanie wymagań. Cele przedsięwzięcia. Kontekst przedsięwzięcia. Rodzaje wymagań. Diagramy przypadków użycia use case diagrams

Projektowanie oprogramowania

12) Wadą modelu kaskadowego jest: Zagadnienia obowiązujące na egzaminie z inżynierii oprogramowania: 13) Wadą modelu opartego na prototypowaniu jest:

Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty

Wymiar poziomy: oś na której umieszczono instancje klasyfikatorów biorące udział w interakcji.

Wykład 3 Wymagania. MIS n Inżynieria oprogramowania Październik Kazimierz Michalik Akademia Górniczo-Hutnicza im. S. Staszica w Krakowie

Zasady organizacji projektów informatycznych

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Inżyniera wymagań

Programowanie zespołowe

Modelowanie testów. czyli po co testerowi znajomość UML

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 5 Ćwiczenia w narzędziu CASE diagram przypadków uŝycia. Materiały dla nauczyciela

Technologia programowania

Programowanie komputerów

UML. zastosowanie i projektowanie w języku UML

Inżynieria wymagań. Inżynieria wymagań 1/1

PRZEWODNIK PO PRZEDMIOCIE

Inżynieria Programowania Inżynieria wymagań. Plan wykładu. Motto. Wstęp. Notatki. Notatki. Notatki. Notatki. Arkadiusz Chrobot

Modelowanie obiektowe - Ćw. 5.

Wstęp [2/2] Wbrew częstemu przekonaniu, nie są one gotowymi rozwiązaniami, to tylko półprodukty rozwiązania.

Modelowanie diagramów klas w języku UML. Łukasz Gorzel @stud.umk.pl 7 marca 2014

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura

Algorytm. Algorytmy Marek Pudełko

Transkrypt:

Po co są przypadki użycia? Próby definicji Podstawowe pojęcia Notacje Relacje Dokumentacja Kroki metody Przykłady

Po co są przypadki użycia? Gdy projektujemy jakikolwiek system, najważniejszym etapem jest!!! określenie wymagań!!! Podejście przypadków użycia ma przede wszystkim na względzie ten problem.

Definicje Przypadki użycia odwzorowują strukturę systemu tak, jak ją widzą jego użytkownicy. Przypadek użycia specyfikuje zachowanie systemu lub jego części. Jest to opis zbioru ciągów akcji (i ich wariantów) wykonywanych przez system w celu dostarczenia określonemu aktorowi godnego uwagi wyniku Ich głównym celem jest odwzorowanie funkcji projektowanego systemu w taki sposób, w jaki będą je widzieć jego użytkownicy. W metodykach opartych na UML przypadkom użycia przypisuje się szczególne znaczenie jako środka napędzającego cały proces rozwoju systemu.

Przypadki użycia w analizie Eksperci Potrzeby Pomysły Koncepcja zastosowania Doświadczenie w dziedzinie przedmiotowej Model dziedziny Kompletny model analizy Technologie Przypadki użycia Model zastosowania Użytkownicy mocny wpływ słaby wpływ

Przypadki użycia w analizie c.d. Cele : głębsze zrozumienie użycia systemu (z punktu widzenia użytkownika) zwiekszenie stopnia świadomości analityków i projektantów umożliwienie interakcji zespołu projektowego z przyszłymi użytkownikami systemu weryfikacja poprawności i kompletności projektu ustalenie składowych systemu i związanego z nimi planu konstrukcji systemu dostarczenie podstawy do sporządzenia planu testów systemu

Projektowanie mieszkania Co bierzemy pod uwagę? poruszanie się po mieszkaniu miejsce na urządzenia, np. w kuchni szybka droga z garażu do kuchni odpowiednia wielkość pokoi... analiza oparta na przypadkach użycia W ten sposób kształtuje się architekturę mieszkania Konsultacja z architektem (ekspertem)

Zalety zastosowania Nie narzucają sposobu implementacji pozwalają zapomnieć o strukturze i architekturze systemu i jego detalach technicznych na etapie analizy Użytkownicy i eksperci mogą rozmawiać z projektantami i programistami bez konieczności analizowania nieistotnych szczegółów Intuicyjna reprezentacja funkcjonalna systemu, nie wprowadza komputerowego żargonu Posiadają notację graficzną Język zunifikowany, znany na całym świecie

Aktor Używa systemu na wiele sposobów (przypadków użycia) Jest sprawcą zdarzeń powodujących uruchomienie przypadków użycia Odbiera informacje wyprodukowane przez system Jest modelem (obiektem), nie konkretną osobą reprezentuje rolę, jaką może grać konkretny użytkownik Można tworzyć aktorów abstrakcyjnych (nadklasy)

Notacje 1. Graficzna 2. Tekstowa

Notacja graficzna - pojęcia Przypadek użycia To unikalna nazwa, która opisuje przypadek z punktu widzenia głównego aktora Aktor Reprezentuje zbiór ról odgrywanych przez użytkowików przypadku użycia. Zwykle jest to człowiek, maszyna, inny system Powinien mieć unikalną, jednoznaczną nazwę

Notacja graficzna - pojęcia c.d. Interakcje Pokazuje związek między przypadkiem użycia i aktorem (środowiskiem zewnętrznym) Blok ponownego użycia weryfikacja klienta Pokazuje pewien fragment działalności systemu, który jest używany w kilku przypadkach użycia. (Może być także oznaczony jako samodzielny przypadek użycia).

Notacja graficzna - pojęcia c.d. Asocjacje z blokiem ponownego użycia Pokazuje związek przypadku użycia z pewnym blokiem ponownego użycia Nazwa systemu wraz z granicami systemu System obsługi klienta Pokazuje granicę pomiędzy systemem i jego otoczeniem...system informacyjny...

Przykład diagramu PU (Siergiej) wpłata pieniedzy klient banku wypłata pieniedzy Woperacjach wpłaty i wypłaty pieniędzy uczestniczą takze inni aktorzy, np. kasjer. Możemy go dołączyć jako kolejny element rozbudowujacy wpłata pieniedzy klient banku wypłata pieniedzy kasjer

Przykład diagramu PU 2 Automat do sprzedaży papierosów uzupełnienie towaru zakup paczki papierosów operacje pieniężne klient sporządzenie raportów operator kontroler

<<rozszerza>> i <<używa>> Relacje pomiędzy przypadkami użycia rejestracja klienta używa używa używa sprzedaż samochodu używa: wskazuje na wspólny fragment wielu przypadków użycia, wyłączony przed nawias (w tym sensie jest abstrakcyjny, podobieństwo do dziedziczenia) przegląd samochodu rozszerza umycie samochodu rozszerza naprawa samochodu rozszerza przyholowanie samochodu rozszerza: strzałka prowadzi od przypadku użycia, który czasami (nie zawsze) rozszerza przypadki użycia.

Powiązania w modelu PU «uses» Modeluje sytuację kiedy przypadek (przypadki) użycia wykorzystuje (wykorzystują) wspólny przypadek użycia (np. blok ponownego użycia) na zasadzie podobnej do wywołania procedury. «extends» Modeluje sytuację kiedy rozszerzający przypadek użycia definiuje wspólne lub dobrze wyodrębnione akcje. Rozszerzony przypadek użycia wykonuje wszystkie zdefiniowane w nim akcje plus niekiedy dodatkowo akcje określane przez przypadek rozszerząjący. Jest on zwykle niekompletny. Zmiany: «uses» «import», «extends» «extend»

Zależności czasowe między PU Właściwie nie występuje w tym modelu nacisk na uwzględnianie zależności czasowych między przypadkami użycia, tzn. nie interesuje nas wzajemna kolejność przypadków użycia (co oznacza, że mogą być konstruowane w dowolnej kolejności), ale jeśli... p1 <<używa>> p2 Przebieg podstawowy - p1 (przypadek bazowy, podstawowy) zawsze używa p2, a więc p1 musi być pierwsze w kolejności działania. p1 <<rozszerza>> p2 Przebieg opcjonalny - p1 (przypadek bazowy) jest czasami rozszerzane o p2, tutaj też p1 musi być pierwsze w kolejności działania.

Przykład diagramu 3 (Bartek) Automat do operacji bankowych Baza danych banku Prowadzenie konta klienta <<używa>> Klient Administrator systemu Informowanie o stanie konta klienta Inicjalizacja karty klienta <<używa>> <<używa>> Weryfikacja karty i kodu klienta

Notacja tekstowa Przypadek użycia może być wyspecyfikowany przez opisanie ciągu zdarzeń w formie tekstu zrozumiałego nawet dla laika. Wymagane informacje : Jak i kiedy zaczyna się i kończy Kiedy dochodzi do interakcji z aktorami Jakie obiekty są przekazywane Główny ciąg zdarzeń

Notacja tekstowa - przykład Weryfikacja użytkownika Główny ciąg zdarzeń : Przypadek użycia zaczyna się, gdy system pyta klienta o PIN. Klient może teraz wprowadzić hasło z klawiatury. Klient potwierdza wprowadzone dane za pomocą klawisza Wykonaj. System sprawdza poprawność PIN`u. Jeśli jest on poprawny, system informuje o tym. Na tym kończy się przypadek użycia. Nadzwyczajny ciąg zdarzeń : Klient może w każdej chwili anulować transakcję, naciskając klawisz Stop. Przypadek użycia wraca teraz do punktu początkowego. Na koncie klienta nie zachodzą żadne zmiany

Przykład c.d. Weryfikacja użytkownika Nadzwyczajny ciąg zdarzeń : Przed potwierdzeniem PIN`u Klient może w każdej chwili wprowadzić go jeszcze raz. Nadzwyczajny ciąg zdarzeń : Gdy klient wprowadzi błędny PIN, przypadek użycia wraca do punktu początkowego. Gdy zdarzy się to trzy razy z rzędu, system anuluje całą transakcję i przez 60 sekund nie reaguje na żadne działania klienta.

Rozbudowa modelu PU (Siergiej) wpłata pieniedzy wpłata pieniedzy wypłata pieniedzy kasjer wypłata pieniedzy kasjer używa klient banku sprawdź bilans klient banku sprawdź bilans weź pożyczkę zarząd banku weź pożyczkę zarząd banku

Charakterystyka PU W późniejszej fazie przypadki użycia mogą być wyspecyfikowane bardziej precyzyjnie przy pomocy notacji lub diagramów obiektowych. Następną fazą w postępowaniu opartym na przypadkach użycia jest rozpisanie ich w postaci scenariuszy. programista edycja programu używa wykonanie programu kompilacja programu używa drukowanie pliku Tworzenia przypadków użycia jest niezdeterminowane i subiektywne. Na ogół różni analitycy tworzą różne modele. użytkownik

Opis przypadków użycia Co powinien zawierać opis przypadku użycia? Opis przypadku użycia może być dowolnie rozbudowany, w szczególności może zawierać następujące fragmenty: 1) Jak i kiedy przypadek użycia zaczyna się i kończy? 2) Opis interakcji przypadku użycia z aktorami, włączając w to kiedy interakcja ma miejsce i co jest przesyłane. 3) Kiedy i do czego przypadek użycia potrzebuje danych zapamiętanych w systemie, lub jak i kiedy zapamiętuje dane w systemie? 4) Wyjątki przy przepływie zdarzeń. 5) Jak i kiedy używane są pojęcia dziedziny problemowej?

Dokumentacja PU 1. Krótki opis przypadku użycia 2. Przepływ zdarzeń opisany nieformalnie 3. Asocjacje pomiędzy przypadkami użycia 4. Uczestniczące obiekty 5. Specjalne wymagania (np. czas odpowiedzi, wydajność) 6. Obrazy interfejsu użytkownika 7. Ogólny pogląd na przypadki użycia (powiązania w postaci diagramów) 8. Diagramy interakcji dla każdego aktora

Metoda oparta na PU Metoda dotyczy analizy wymagań i opiera się na kilku krokach. Jednocześnie jest budowany obiektowy model dziedziny. Metoda jest oparta na ścisłej współpracy z przyszłym użytkownikiem. Nie opisuj przypadków użycia w sposób, który nie jest łatwo zrozumiały dla użytkownika. Krok Sporządzenie słownika pojęć Udokumentowany w: Słownik pojęć Ustalenie aktorów Ustalenie przypadków użycia Dokument opisu aktorów Opis każdego przypadku użycia: * podział na nazwane części * wyspecyfikowanie w szczegółach * znalezienie wspólnych części w różnych przypadkach użycia Diagram przypadków użycia

Sporządzenie słownika pojęć Polega na wyłowieniu wszystkich terminów z początkowych wymagań. Słownik dotyczy dziedziny problemowej. Terminy ze słownika powinny być normą przy opisie problemu, sytuacji lub modelu. Powinny być zdefiniowane w sposób precyzyjny i jednoznaczny. Terminy mogą odnosić się do aktorów, przypadków użycia, obiektów, aktywności, zdarzeń, itd. Na co należy zwrócić uwagę przy kwalifikowaniu terminów do słownika: * na rzeczowniki: mogą one oznaczać aktorów lub obiekty dziedziny problemowej * na frazy opisujące funkcje, akcje, zachowanie się: mogą one być podstawą wyróżnienia przypadków użycia.

Ustalenie aktorów Jaka grupa potrzebuje wspomagania ze strony systemu? Jacy użytkownicy są konieczni do tego, aby system? Funkcje należy rozbić na odnoszące się do - dziedziny przedmiotowej (np. osoba rejestrująca) i - wspomagania systemu (np. administrator systemu) Z jakiego sprzętu zewnętrznego (komputerów, sieci, itp.) musi korzystać system aby realizować swoje funkcje. Wyszukanie potencjalnych aktorów musi być powiązane z ustaleniem granic systemu, tj. odrzucenia obszarów dziedziny problemowej, którymi system nie zajmuje się.

Ustalenie aktorów c.d. Po wyszukaniu aktorów, należy ustalić: - czy jest to aktor konkretny (Jan Kowalski), czy też określenie roli (magazynier) -nazwę dla każdego aktora/roli - zakresy znaczeniowe dla poszczególnych nazw aktorów oraz relacje pomiędzy zakresami (sekretarka pracownik administracji pracownik dowolna osoba). Niekiedy warto ustalić hierarchię dziedziczenia dla aktorów. -opisać relacje pomiędzy konkretnymi użytkownikami i aktorami -czy użytkownik może łączyć funkcje kilku aktorów i jakich

Analiza aktorów Jakie jest główne zadanie dla każdego aktora? Czy aktor będzie czytał/pisał/zmieniał informację w systemie? Czy aktor ma informować system o zmianach na zewnątrz? Użytkownik Aktor Przypadek użycia Jest związany z: Może grać rolę Jan Kowalski Administrator systemu Przeładowanie systemu Adam Malina Pracownik Wejście z kartą i kodem Gość Osoba informowana Informacja ogólna Konkretny klient Klient Wypłata z konta

Ustalenie przypadków użycia Dla każdego aktora, znajdź zadania i funkcje, które powinien wykonywać w związku z jego działalnością w zakresie dziedziny przedmiotowej jak i systemu informacyjnego. Staraj się powiązać w jeden przypadek użycia zespół funkcji i zadań wspólnie realizujących ten sam cel. Unikaj rozbicia jednego przypadku użycia na wiele pod-przypadków, o ile każdy z nich realizuje cel cząstkowy, który musi być uzupełniony przez inne funkcje lub zadania. 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.

Specyfikacja każdego PU Wyodrębnij przypadki bazowe, tj. takie, które stanowią istotę zadania lub funkcji, są normalnym, standardowym użyciem. Pomiń czynności skrajne, wyjątkowe, uzupełniające lub opcyjne. Nazwij te przypadki bazowe ; nazwy powinny być proste i zrozumiałe. Ustal wzajemne powiązanie przypadków bazowych, poprzez ustalenie ich sekwencji, alternatywy, zależności, związku przyczyna-skutek, itd. Dodaj zachowanie 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 wielokrotnego użycia. Struktura nie może być zbyt duża i złożona. Staraj się wyizolować bloki wielokrotnego użycia. Przeanalizuj podobieństwo nazw przypadków użycia, podobieństwo nazw i zachowania bloków występujących w ich specyfikacji. Wydzielenie bloku wielokrotnego użycia może być powiązane z określeniem nieco bardziej ogólnej funkcji lub dodaniu nowej specjalizacji do istniejącej funkcji.