Podstawy Inżynierii Oprogramowania WYKŁAD 6 Modele cyklu życia oprogramowania MODEL KASKADOWY Faza analizy i Faza Projektowania Dr hab. inż. Barbara Dębska, prof. PWSZ Dr hab. inż. Barbara Dębska, prof. PWSZ
ANALIZA STRUKTURALNA Metody analizy strukturalnej to metody tradycyjne, rozwijane od lat 60-tych. Analiza strukturalna rozpoczyna się od budowy dwóch różnych modeli systemu: modelu danych i modelu funkcji. Modele są następnie integrowane i powstaje model przepływu danych. Przykłady. Mogą być systemy informatyczne służące do przechowywania złożonych struktur danych, nie realizujące żadnych złożonych funkcji. Znane są systemy realizujące złożone funkcje na bardzo prostych danych, np. złożone obliczenia naukowe - wtedy istotne jest modelowanie funkcji. Dr hab. inż. Barbara Dębska, prof. PWSZ
Cechy analizy strukturalnej: budowa dwóch różnych modeli ułatwia zrozumienie różnorodnych aspektów systemu (zwolennicy metody), integracja dwóch różnych modeli może być trudna, w szczególności gdy te modele wykonywane były przez różne zespoły, są szczególnie przydatne, gdy jeden z aspektów (pasywny lub aktywny) jest wyraźnie bardziej istotny niż drugi, analiza i projektowanie strukturalne nie stanowią dobrej postawy do implementacji modelu w środowisku obiektowym. Dr hab. inż. Barbara Dębska, prof. PWSZ
NOTACJE STRUKTURALNE I ICH IMPLEMENTACJA DIAGRAMY ZWIĄZKÓW ENCJI Encja – zbiór obiektów, czyli wystąpień encji, posiadających tożsamość i stan. Encja składa się z atrybutów, które opisują stan obiektów encji. Atrybut nazywany jest kluczem jeśli w sposób jednoznaczny identyfikuje poszczególne wystąpienia encji, tj przyjmuje unikalne wartości w zbiorze wystąpień encji. Nazwa encji Podanik Key Data Podatnik_id 01 NIP Non-Key Data Nazwisko Pierwsze imię Data urodzenia Adres Symbol encji Podatnik przedstawia rysunek: Klucze Cos takiego jak encja było na bazach danych Atrybuty Dr hab. inż. Barbara Dębska, prof. PWSZ
PORÓWNANIE CECH ENCJI I KLASY: Obiekty klasy są rozróżnialne niezależnie od wartości pól Musi posiadać unikalny identyfikator - klucz Pola elementarne i złożone Atrybuty elementarne Dopuszczalne są klasy nie posiadające atrybutów Musi zawierać atrybuty Trwała lub ulotna Trwała Jest wzorcem obiektów Jest wzorcem oraz zbiorem obiektów Aktywna Pasywna Klasa Encja Dr hab. inż. Barbara Dębska, prof. PWSZ
Przykład związku encji: Diagramy związków encji służą do prezentowania danych przechowywanych w systemie oraz związków między nimi. Przykład związku encji: Pracownik naukowy Wydział zero lub wiele zero lub jeden Dr hab. inż. Barbara Dębska, prof. PWSZ
Oznaczenia krotności związków encji: Nieoznaczona Więcej niż 1 Zero lub jeden Jeden lub wiele Zero lub wiele Dokładnie jeden Związek encji można opisywać podając: - nazwę związku, np. zatrudnianie, - rolę (role) odgrywane w związku przez wystąpienia danej encji, - czasownik opisujący czynność (zadanie, operację) wykonywaną w ramach związku przez wystąpienia (obiekty) danej encji. Oznaczenie Krotność Dr hab. inż. Barbara Dębska, prof. PWSZ
DIAGRAMY PRZEPŁYWU DANYCH Diagramy przepływu danych: służą do prezentowania sposobu w jaki dane przepływają oraz są przetwarzane w systemie. Opisują również procesy przetwarzające dane. Symbole elementów występujących w diagramach przepływu danych: Zbiornik danych: składowa systemu przechowująca dane. Podatnicy D P Oblicz należny podatek Proces: operacja, czynność wykonywana przez system. System zewnętrzny: to system z którym system wymienia dane. Użytkownik Dr hab. inż. Barbara Dębska, prof. PWSZ
MODEL STRUKTURALNY Przepływ danych: opisuje dane przesyłane pomiędzy procesami, może być jedno- lub dwu-kierunkowy, pomiędzy procesami oznacza przekazanie danych pomiędzy tymi procesami, pomiędzy procesem i zbiornikiem danych oznacza fakt odczytywania, zapisywania lub modyfikowania przez proces danych zawartych w zbiorniku, pomiędzy procesem a systemem zewnętrznym opisuje fakt wymiany danych z tym systemem. Niedopuszczalne przepływy danych: pomiędzy dwoma zbiornikami, oraz pomiędzy systemem zewnętrznym i zbiornikiem danych. Dr hab. inż. Barbara Dębska, prof. PWSZ
Hierarchiczny diagram przepływów danych: Użytkownik P Drukuj Parametry wydruku Dokument D Opis dokumentu Oznaczenie istnienia diagramu potomnego Proces Drukuj jest dekomponowany do diagramu przepływu danych niższego poziomu Użytkownik P Edytuj parametry wydruku Parametry wydruku Dokument D P Formatuj dokument P Transmituj dane Sformatowany dokument Opis dokumentu Dr hab. inż. Barbara Dębska, prof. PWSZ
W modelu strukturalnym rozróżnia się hierarchię diagramów przepływu danych: poziom najwyższy (zerowy), tzw. diagram kontekstowy na którym cały system opisany jest przez pojedynczy proces, diagramy poziomów wyższych – np. na poziomie 1 znajduje się diagram opisujący główne procesy systemu, oraz diagramy poziomów niższych, diagram ”potomny” – bardziej szczegółowo opisujący proces będący jego ”rodzicem”. Dr hab. inż. Barbara Dębska, prof. PWSZ
- złożoność obliczeniową. W modelu strukturalnym, takimi samymi metodami jak w modelu obiektowym tworzy się: diagramy przejść stanów, które stosowane są do modelowania dynamicznego zachowania całego systemu, grup lub pojedynczych encji oraz procesów, specyfikację modelu, której składowymi są elementy zdefiniowane przez nazwę i ogólny opis. Dodatkowo dla procesów specyfikuje się: - warunki wstępne, tj. warunki jakie muszą spełniać dane zawarte w zbiornikach danych i encjach, z których korzysta proces oraz dane wejściowe, niezbędne aby proces mógł się rozpocząć, - warunki końcowe, tj. warunki jakie muszą spełniać dane zawarte w zbiornikach danych i encjach, z których korzysta proces oraz dane wyjściowe, po zakończeniu poprawnie wykonanego procesu, - wyjątki, tj. sytuacje wyjątkowe, które mogą zajść w trakcie realizacji procesu (np. błąd odczytu z pliku), - złożoność czasową, - złożoność obliczeniową. dane, tj. encje, zbiorniki danych i przepływy danych, które specyfikuje się dokładnie tak samo jak ich odpowiedniki w modelu obiektowym. Dr hab. inż. Barbara Dębska, prof. PWSZ
Przykład: Przykładowe diagramy Systemu podatkowego PITy 2003 Diagram kontekstowy Systemu podatkowego PITy 2003: P System podatkowy Informacje o podatnikach Użytkownik Informacje podatkowe Informacje o Urzędach Skarbowych Informacje o zeznaniach podatkowych Dr hab. inż. Barbara Dębska, prof. PWSZ
Diagram potomny procesu System podatkowy PITy 2003 Podatnicy D P Ewidencja podatników Ewidencja Urzędów Skarbowych Ewidencja zeznań podatkowych Urzędy skarbowe Zeznania podatkowe Informacja o urzędach skarbowych Informacja o podatnikach Informacje podatkowe Informacje o zeznaniach podatkowych Dr hab. inż. Barbara Dębska, prof. PWSZ
PODSUMOWANIE: PODSTAWOWE REZULTATY FAZY ANALIZY poprawiony dokument opisujący wymagania, słownik danych wypełniony specyfikacją modelu, dokument opisujący stworzony model, który składa się diagramu(ów) klas diagramów interakcji i obiektów diagramów przejść stanów raportów - definicji encji - definicji atrybutów - definicji procesów - definicji zbiorników danych - definicji przepływów danych - definicji danych złożonych oraz elementarnych - definicji klas - definicji pól - definicji danych złożonych oraz elementarnych - definicji metod diagramu(ów) związków encji diagramów przepływu danych dla modelu strukturalnego z: dla modelu obiektowego z: 4. harmonogram fazy projektowania. Dr hab. inż. Barbara Dębska, prof. PWSZ
FAZA PROJEKTOWANIA Określenie wymagań Projektowanie Projektowanie Implementacja Testowanie Konserwacja Analiza Faza strategiczna Instalacja Dokumentacja Dr hab. inż. Barbara Dębska, prof. PWSZ
Cele fazy projektowania: 1. opracowanie szczegółowego opisu implementacji systemu, uszczegółowienie wyników fazy analizy, (przeanalizowanie modelu utworzonego w poprzedniej fazie i wprowadzenie takich zmian, które zagwarantują, że system będzie łatwo adaptowalny w przypadku niewielkich zmian wprowadzanych przez użytkownika) 2. zaprojektowanie składowych systemu nie związanych bezpośrednio z dziedziną problemu: składową kontaktu z użytkownikiem odpowiedzialną za współpracę systemu z użytkownikiem, składową zarządzania danymi odpowiedzialną za przechowywanie oraz dostęp do trwałych danych, składową zarządzania pamięcią, oraz składową zarządzania zadaniami. Dr hab. inż. Barbara Dębska, prof. PWSZ
Cele fazy projektowania: (cd.) 3. optymalizacja systemu, bardziej efektywne zamodelowanie funkcji systemu i struktury danych niż zrobiono to w fazie analizy, 4. określenie charakterystyki środowiska implementacji systemu (rozważenie języka, bibliotek i narzędzi), dostosowanie projektu do możliwości środowiska implementacji, (transformacja konstrukcji pojawiających się w modelu do odpowiednich konstrukcji środowiska implementacji) 5. określenie fizycznej struktury systemu. Dr hab. inż. Barbara Dębska, prof. PWSZ
USZCZEGÓŁOWIENIE WYNIKÓW ANALIZY Założenia : tylko wystarczająco szczegółowy projekt może być dobrą podstawą implementacji, stopień uszczegółowienia projektu zależy od umiejętności programistów odpowiedzialnych za implementację, szczegółowy projekt jest dobrym elementem dokumentacji technicznej przedsięwzięcia programistycznego, każdy model można uszczegółowić na kilka sposobów; najczęściej stosuje się jeden, wynikający ze standardów przyjętych w firmie programistycznej, - w przypadku stosowanie metod obiektowych w fazach analizy, projektowania i implementacji stosuje się te same pojęcia: klas, pól i metod, - w przypadku stosowania metod strukturalnych fazie projektowania i implementacji stosuje się odmienne pojęcia niż użyte w fazie analizy Dr hab. inż. Barbara Dębska, prof. PWSZ
Techniki obiektowe stosowane w fazie projektowania Notacja obiektowa wykorzystywana w fazie projektowania stosuje model OMT (Object Modelling Technique), analogiczny do stosowanego w fazie analizy. Dodatkowe techniki stosowane wyłącznie w fazie projektowania: 1. związek skierowany – opisuje przypadek, gdy tylko obiekty jednej klasy odwołują się do obiektów drugiej klasy. Rysunek przedstawia przykładowe zastosowanie symbolu związku skierowanego: PIT Urząd skarbowy Dr hab. inż. Barbara Dębska, prof. PWSZ
2. symbole poziomu dostępu do pól i metod. W językach programowania (np. C ++) istnieje możliwość ograniczenia dostępu do pól i metod. Poziomy dostępności: dostęp publiczny ” + ”– dana składowa jest dostępna dla wszystkich funkcji i metod systemu mających dostęp do obiektów danej klasy, dostęp zabezpieczony ” # ” – dana składowa jest dostępna wyłącznie dla metod (oraz funkcji zaprzyjaźnionych) danej klasy oraz jej specjalizacji, dostęp prywatny ” - ” - dana składowa jest dostępna wyłącznie dla metod (oraz funkcji zaprzyjaźnionych) danej klasy. Dr hab. inż. Barbara Dębska, prof. PWSZ
Przykład. + Wyświetl nazwę + Pobierz adres + Pobierz stan # Zmień stan + Nazwa + Adres # Nazwa # Stan + Rok Urząd Skarbowy PIT Dla metody Zmień stan i pól: Nazwa oraz Stan wprowadzono poziom dostępu zabezpieczonego, gdyż będą one wykorzystywane wyłącznie przez metody tej klasy i jej specjalizacji. Dr hab. inż. Barbara Dębska, prof. PWSZ
3. Uszczegółowienie metod W tym etapie należy opracować algorytmy tych metod, które w fazie analizy przedstawiono w formie opisów. Należy szczegółowo opracować nagłówki metod. Przyjmuje się, że: - dane wejściowe powinny być przekazywane do metody za pomocą parametrów. - dane wyjściowe powinny być zwracane przez metodę za pomocą parametrów. Jeśli metoda zostanie zrealizowana jako funkcja, może ona zwracać dane wyjściowe także poprzez wartość tej funkcji. Dr hab. inż. Barbara Dębska, prof. PWSZ
Techniki strukturalne stosowane w fazie projektowania Notacją strukturalną wykorzystywaną w fazie projektowania są diagramy strukturalne, które posługują się odmiennymi pojęciami niż diagramy w fazie implementacji. Podstawowe pojęcia używane w fazie projektowania: 1. Moduł. Moduł reprezentuje aktywną składową programu, a więc procedurę lub funkcję. Reprezentowany jest symbolem, np.: Drukuj zeznanie podatkowe 2. Moduł biblioteczny. To gotowa procedura lub funkcja wykorzystywana w programie. Moduł biblioteczny reprezentowany jest symbolem: Oblicz roczne przychody Dr hab. inż. Barbara Dębska, prof. PWSZ
Ewidencja zeznań podatkowych 3. Dane. Pod pojęciem danych rozumie się relację w bazie danych, plik lub zmienne programu. Przykład symbolu ”dane”: Zeznania podatkowe 4. Wywołanie. Pojęcie to służy do przedstawienia wywołania przez pewien moduł innego modułu. Jedno z wywołań w projekcie PITy 2003 przedstawia rysunek: Ewidencja zeznań podatkowych Drukuj zeznanie Dr hab. inż. Barbara Dębska, prof. PWSZ
5. Flagi przepływu danych. Wywołanie może powodować przepływ danych z modułu wywołującego do wywoływanego (przekazanie parametrów wejściowych) lub/i z modułu wywoływanego do modułu wywołującego (przepływ parametrów wyjściowych). Przykłady symboli flag przepływu danych dla modułu ”Drukuj zeznanie”: Drukuj zeznanie Sformatowane zeznanie Parametry wydruku Sformatowane zeznanie Parametry wydruku Edytuj parametry Formatuj zeznanie Transmituj dane Dr hab. inż. Barbara Dębska, prof. PWSZ
6. Korzystanie z danych. Jeśli Moduł czyta, zapisuje lub modyfikuje Dane, to łączymy oba symbole pogrubioną kreską, np.: Drukuj zeznanie Zeznania podatkowe Dr hab. inż. Barbara Dębska, prof. PWSZ
Edytuj parametry wydruku Diagramy strukturalne otrzymuje się w wyniku transformacji diagramów przepływu danych. Przykład. Dany jest diagram przepływu danych: Dokonać jego transformacji do diagramu strukturalnego. P Drukuj zeznanie P Edytuj parametry wydruku Formatuj zeznanie Parametry wydruku Dr hab. inż. Barbara Dębska, prof. PWSZ
a. Drukuj zeznanie Edytuj parametry Formatuj zeznanie b. Parametry wydruku b. Drukuj zeznanie Edytuj parametry Formatuj zeznanie Parametry wydruku c. Drukuj zeznanie Formatuj zeznanie Edytuj parametry Parametry wydruku Dr hab. inż. Barbara Dębska, prof. PWSZ
NIE ZWIĄZANYCH Z DZIEDZINĄ PROBLEMU PROJEKTOWANIE SKŁADOWYCH SYSTEMU NIE ZWIĄZANYCH Z DZIEDZINĄ PROBLEMU Składowa interfejsu użytkownika Składowa zarządzania pamięcią Zarządzanie pamięcią i zadaniami jest wykonywane automatycznie przez kompilator i system operacyjny. Składowa dziedziny problemu Składowa zarządzania zadaniami Składowa zarządzania danymi Dr hab. inż. Barbara Dębska, prof. PWSZ
Projektowanie składowej kontaktu z użytkownikiem. Nowoczesne systemy zarządzania interfejsem użytkownika (np. Visual Basic, Object Windows) pozwalają na budowę nawet bardzo złożonego interfejsu w sposób dialogowy, praktycznie z pominięciem programowania. Prototyp interfejsu użytkownika może powstać w fazie określania wymagań modelu kaskadowego. Systemy zarządzania interfejsem użytkownika umożliwiają łatwą budowę interfejsów i zintegrowanie interfejsu ze składową dziedziny problemu. Dr hab. inż. Barbara Dębska, prof. PWSZ
Rodzaje komunikacji użytkownika z komputerem: 1. wydawanie przez użytkownika poleceń. Sposoby wydawania poleceń: - wpisywanie poleceń za pomocą komend, - wybór opcji z menu, - wciśnięcie odpowiedniej kombinacji klawiszy (klawisze skrótu), - korzystanie z ikon w paskach narzędzi, - wybór przycisku w dialogu, lub - korzystanie z przycisków myszy. 2. przepływ danych pomiędzy użytkownikiem a systemem. - Wprowadzanie danych do systemu: • podawanie parametrów poleceń w przypadku systemów z linią komend, • wprowadzanie danych w odpowiedzi na zaproszenie systemu, lub • wprowadzanie danych metodą dialogową. - Przekazywanie danych użytkownikowi: • wyświetlanie informacji w dialogach, • wyświetlanie lub/i wydruki raportów, lub • graficzna prezentacja danych. Dr hab. inż. Barbara Dębska, prof. PWSZ
Różne sposoby realizacji komunikatów wysyłanych przez użytkownika: Przykład. Różne sposoby realizacji komunikatów wysyłanych przez użytkownika: Roczne przychody Edytuj Komunikat wysyłany przez użytkownika może odpowiadać opcji menu... ... lub przyciskowi w dialogu System podatkowy Dane Rozliczenie Roczne przychody Ulgi Dr hab. inż. Barbara Dębska, prof. PWSZ
Przykład. Okno dialogowe do realizacji metody (procedury) służącej do edycji obiektów danej klasy. Postać okna edycyjnego uwzględniającego specyfikacje przepływów danych, parametrów, klas, encji lub zbiorników danych. Przychody z konkretnego źródła Edytuj ...., który pozwala na edycję pól danej klasy. Metoda edytuj odpowiada dialogowi.... Przychody z konkretnego źródła Dokument Opis Przychody Kwota przychodu Kwota kosztów Kwota dochodu Kwota zaliczek Dr hab. inż. Barbara Dębska, prof. PWSZ
Dziękuję za uwagę Dr hab. inż. Barbara Dębska, prof. PWSZ