Podstawy Inżynierii Oprogramowania

Slides:



Advertisements
Podobne prezentacje
Projektowanie w cyklu życia oprogramowania
Advertisements

Interfejs użytkownika do zarządzania konfiguracją oprogramowania
MS Access 2000 Normalizacja Paweł Górczyński 2005.
SIECI KOMPUTEROWE (SieKom) PIOTR MAJCHER WYŻSZA SZKOŁA ZARZĄDZANIA I MARKETINGU W SOCHACZEWIE Zarządzanie.
Projektowanie Aplikacji Komputerowych
Wykład 5 Faza projektowania, cz.1 Studia Podyplomowe IT w Biznesie Inżynieria Oprogramowania Polsko-Japońska Wyższa Szkoła Technik Komputerowych, Warszawa.
Cykle życia oprogramowania
Systemy operacyjne.
Podstawy Inżynierii Oprogramowania
Podstawy Inżynierii Oprogramowania
Podstawy Inżynierii Oprogramowania
Podstawy Inżynierii Oprogramowania
Podstawy Inżynierii Oprogramowania
Wstęp do programowania obiektowego
Projektowanie i programowanie obiektowe II - Wykład IV
Projektowanie i programowanie obiektowe II - Wykład II
Wstęp do interpretacji algorytmów
1 Podstawy informatyki H. P. Janecki- 2006_ Systemy Operacyjne W6.
Praca Inżynierska „Analiza i projekt aplikacji informatycznej do wspomagania wybranych zadań ośrodków sportowych” Dyplomant: Marcin Iwanicki Promotor:
Modele baz danych - spojrzenie na poziom fizyczny
Projektowanie - wprowadzenie
Evident – Środki Trwałe
Wykład 4 Analiza i projektowanie obiektowe
Wykład 3 Analiza i projektowanie strukturalne
Wykład 2 Cykl życia systemu informacyjnego
Bazy Danych II prowadzący: mgr inż. Leszek Siwik
Wykonawcy:Magdalena Bęczkowska Łukasz Maliszewski Piotr Kwiatek Piotr Litwiniuk Paweł Głębocki.
Wprowadzenie do edytorów tekstu.
Poznaj bliżej program Microsoft Office Word 2007
Wprowadzanie opisu przedmiotu po stronie USOSweb (według sylabusa zgodnego z załącznikiem 1 do Zarządzenia nr 11 Rektora UW z dnia 19 lutego 2010) DAK.
Diagramy obiegu dokumentów a UML w modelowaniu procesów biznesowych
Prezentacja i szkolenie
Konkurs Ofert 2007 Instalacja oprogramowania Kopiowanie danych.
Wybrane zagadnienia relacyjnych baz danych
Programowanie obiektowe – język C++
Programowanie obiektowe 2013/2014
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
Programowanie w języku C++
Projektowanie relacyjnych baz danych – postacie normalne
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.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Programowanie strukturalne i obiektowe C++
Model obiektowy bazy danych
Diagram aktywności (czynności)
Diagram klas Kluczowymi elementami są: klasy (class)
Proces tworzenia oprogramowania Proces tworzenia oprogramowania jest zbiorem czynności i związanych z nimi wyników, które prowadzą do powstania produktu.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Faza projektowania. Cele projektowania Celem projektowania jest opracowanie szczegółowego opisu implementacji systemu W odróżnieniu od analizy, w projektowaniu.
Modelowanie obiektowe - system zarządzania projektami.
Projektowanie relacyjnych baz danych – diagramy związków encji
Projektowanie obiektowe. Przykład: Punktem wyjścia w obiektowym tworzeniu systemu informacyjnego jest zawsze pewien model biznesowy. Przykład: Diagram.
Diagramy przepływu danych
Projektowanie bazy danych z użyciem diagramów UML Obiektowe projektowanie relacyjnej bazy danych Paweł Jarecki.
Projektowanie postaci formularza:
Wstęp do interpretacji algorytmów
BAZY DANYCH MS Access.
Modelowanie model związków encji
Do czego służy arkusz kalkulacyjny, jego budowa
Temat: Tworzenie bazy danych
Wyższa Szkoła Bankowa, Poznań, dr inż. mirosław Loręcki
Inżynieria systemów informacyjnych
T. 18. E Proces DGA - Działania (operatorka).
Projektowanie wspomagane komputerem
Inżynieria Oprogramowania Laboratorium
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Modele baz danych - spojrzenie na poziom fizyczny
Zapis prezentacji:

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