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



Podobne dokumenty
Faza analizy (modelowania) Faza projektowania

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

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

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

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

Programowanie obiektowe - 1.

Podstawy programowania III WYKŁAD 4

Inżynieria oprogramowania II

Zalety projektowania obiektowego

Co to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką?

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

Zasady organizacji projektów informatycznych

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

Etapy życia oprogramowania

REQB POZIOM PODSTAWOWY PRZYKŁADOWY EGZAMIN

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

Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania

Paweł Kurzawa, Delfina Kongo

Cykle życia systemu informatycznego

Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska

Podstawy Programowania Obiektowego

Wykład 1 Inżynieria Oprogramowania

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

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

PRZEWODNIK PO PRZEDMIOCIE

Modelowanie i analiza systemów informatycznych

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

Świat rzeczywisty i jego model

Technologie i usługi internetowe cz. 2

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

Procedury ustalania kompetencji w projekcie EDGE wzór do celów badań w zakładach

Inżynieria oprogramowania

Site Installer v2.4.xx

Rysunek 1: Okno z lista

tel. (+48 81) /22 fax (+48 81) Wykład Ćwiczenia Laboratorium Projekt

PROGRAMOWALNE STEROWNIKI LOGICZNE

Modelowanie i Programowanie Obiektowe

Egzamin / zaliczenie na ocenę*

Inżynieria oprogramowania

Modelowanie obiektowe - Ćw. 3.

Metodyki i techniki programowania

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

Podstawy programowania III WYKŁAD 5

INŻYNIERIA OPROGRAMOWANIA

MODELE CYKLU ŻYCIA OPROGRAMOWANIA (1) Model kaskadowy (często stosowany w praktyce do projektów o niewielkiej złożonoś

Przedsięwzięcia Informatyczne w Zarządzaniu

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

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

Modułowy programowalny przekaźnik czasowy firmy Aniro.

dr inż. Jarosław Forenc

Laboratorium 5 - Projektowanie programów zorientowanych obiektowo. Indywidualny projekt programistyczny

Metodyki i techniki programowania

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

KATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA

Spis treści. 1 Moduł RFID (APA) 3

2/4. informatyka" studia I stopnia. Nazwa kierunku studiów i kod. Informatyka WM-I-N-1 programu wg USOS. Tytuł zawodowy uzyskiwany przez

Faza Określania Wymagań

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

Programowanie zespołowe

Wykład 5: Klasy cz. 3

Zagadnienia Semestr IV Inżynieria Oprogramowania WSZiB

KARTA MODUŁU KSZTAŁCENIA

Narzędzia informatyczne wspierające przedsięwzięcia e-commerce

SVN. 10 października Instalacja. Wchodzimy na stronę i pobieramy aplikację. Rysunek 1: Instalacja - krok 1

Inżynieria Programowania Inżynieria wymagań

Faza strategiczna. Synteza. Analiza. Instalacja. Faza strategiczna. Dokumentacja. kodowanie implementacja. produkt konserwacja

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2012/2013

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

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie

Podstawy modelowania programów Kod przedmiotu

Projekt systemu informatycznego

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Przedmioty kierunkowe

Dziedzina problemu. System. Model. Uzytkownik. Przewoznik. Zleceniodawca Wydawanie opinii. Zarzadzanie pojazdami

Język programowania. Andrzej Bobyk

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

PRZEWODNIK PO PRZEDMIOCIE

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Inżynieria oprogramowania, C12

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2012/2013

Wykład 8: klasy cz. 4

problem w określonym kontekście siły istotę jego rozwiązania

Dokument Detaliczny Projektu

Opracowanie systemu sterowania wybranej linii technologicznej z uwzględnieniem zagadnień inżynierii oprogramowania

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

Satel Integra FIBARO

koniec punkt zatrzymania przepływów sterowania na diagramie czynności

Projekt z przedmiotu Specjalizowane języki programowania Temat: Zastosowanie programowania obiektowego w środowisku LabView

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

PROJEKTOWANIE. kodowanie implementacja. PROJEKT most pomiędzy specyfikowaniem a kodowaniem

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

Formularze w programie Word

UML w Visual Studio. Michał Ciećwierz

Inżynieria Oprogramowania w Praktyce

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

Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation)

MODELOWANIE OBIEKTOWE

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

WPROWADZENIE DO UML-a

Analiza i projektowanie obiektowe 2015/2016. Wykład 2: Przypadki użycia

Transkrypt:

Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32

Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie: co i przy jakich ograniczeniach system ma robić? Celem fazy projektowania jest udzielenie odpowiedzi na pytanie: jak system ma zostać zaimplementowany? Celem fazy analizy jest udzielenie odpowiedzi na pytanie: jak system ma działać?

Dziedzina problemu, model i zakres odpowiedzialności Analiza i projektowanie oprogramowania 3/32

Analiza i projektowanie oprogramowania 4/32 Analiza obiektowa Cel analizy obiektowej Celem analizy obiektowej jest stworzenie modelu, który będzie opisywał oprogramowanie komputerowe zgodne z oczekiwaniami klienta Kroki 1. Uzgodnić z klientem podstawowe wymagania stawiane systemowi 2. Zidentyfikować klasy 3. Stworzyć hierarchię klas 4. Opisać związki (połączenia) pomiędzy obiektami 5. Sporządzić model zachowania obiektów 6. Powtarzać kroki 1 5 aż do utworzenia kompletnego modelu

Analiza i projektowanie oprogramowania 5/32 Faza analizy Składowe inżynierii oprogramowania wykorzystywane w fazie analizy to: notacje służące do zapisu modelu, metody budowy modelu, narzędzia ułatwiające stosowanie notacji i metod.

Analiza i projektowanie oprogramowania 6/32 Role i rodzaje notacji Do zapisu modelu stosuje się następujące notacje: język naturalny, notacje graficzne, specyfikacje częściowo ustrukturalizowany zapis tekstowy i numeryczny. Notacja może być wykorzystana: podstawowe narzędzie pracy analityka, komunikacja z użytkownikiem, komunikacja z członkami zespołu, podstawa implementacji oprogramowania, zapis dokumentacji technicznej.

Analiza i projektowanie oprogramowania 7/32 Metody strukturalne Składowe analizowanego systemu: składowe pasywne odzwierciedlają przechowywanie w systemie pewnych danych, składowe aktywne odzwierciedlają wykonywanie w systemie pewnych operacji.

Analiza i projektowanie oprogramowania 8/32 Metody obiektowe Dany system jest analizowany w sposób obiektowy, gdy: jest dzielony na obiekty, posiadające: tożsamość (ang. identity), stan (ang. state), zachowanie (ang. behavior), obiekty są grupowane w klasy złożone z obiektów o podobnych stanach i zachowaniu.

Analiza i projektowanie oprogramowania 9/32 Metody obiektowe Programowanie obiektowe ułatwia: ukrywanie danych, wykorzystanie gotowych elementów, ponowne wykorzystanie oprogramowania, szybkie prototypowanie, programowanie oparte na zdarzeniach, programowanie przyrostowe.

Analiza i projektowanie oprogramowania 10/32 Specyfikacja klas Typowe składowe specyfikacji klas to: nazwa, ogólny opis. Dodatkowe składowe specyfikacji klas to: lista pól, lista metod, ograniczenia, jakie muszą spełniać pola tej klasy, szacowana lub dokładna liczba obiektów klasy, trwałość.

Analiza i projektowanie oprogramowania 11/32 Specyfikacja metod Metody specyfikuje się podając następujące informacje: dane wejściowe, dane wyjściowe, algorytm, warunki wstępne, warunki końcowe, wyjątki, złożoność czasowa, złożoność pamięciowa.

Analiza i projektowanie oprogramowania 12/32 Specyfikacja pól Pola elementarne specyfikuje się podając następujące dane: typ przechowywanej wartości, jednostka miary, zakres dopuszczalnych wartości, lista możliwych wartości, wymagana precyzja, wartość domyślna, informacja o tym, czy pole może być puste Dla wszystkich rodzajów pól można specyfikować: ograniczenia metody, które mogą odczytywać bądź modyfikować pole

Analiza i projektowanie oprogramowania 13/32 Proces tworzenia modelu obiektowego W procesie budowy modelu obiektowego można wyróżnić cztery główne zadania: identyfikację klas i obiektów, identyfikację związków klas i obiektów, identyfikację i definiowanie pól, identyfikację i definiowanie metod i komunikatów.

Analiza i projektowanie oprogramowania 14/32 Identyfikacja klas i obiektów Metody identyfikacji klas i obiektów: Podejście klasyczne Analiza dziedziny problemu Analiza opisu w języku naturalnym Wykorzystanie związków klas i obiektów Analiza funkcji (przypadków użycia)

Analiza i projektowanie oprogramowania 15/32 Podejście klasyczne Typowe klasy przedmioty namacalne (samochód, czujnik) role pełnione przez osoby (pracownik, wykładowca, polityk) zdarzenia, o których system przechowuje informacje interakcje pomiędzy osobami lub systemami, o których system przechowuje informacje (pożyczka, spotkanie) lokalizacje miejsca przeznaczone dla ludzi lub przedmiotów grupy przedmiotów namacalnych (samochody czujniki) organizacje (firma, wydział, związek) koncepcje (miara jakości, zadanie) dokumenty (prawo jazdy, faktura) klasy będące interfejsami dla systemów zewnętrznych klasy będące interfejsami dla urządzeń sprzętowych

Analiza i projektowanie oprogramowania 16/32 Analiza dziedziny Proces analizy dziedziny Dziedzinowa analiza oprogramowania polega na identyfikowaniu, analizowaniu i specyfikowaniu wymagań wspólnych dla wielu aplikacji związanych z jedną dziedziną. Rysunek: Dane wejściowe i wyjściowe analizy dziedziny

Analiza i projektowanie oprogramowania 17/32 Proces analizy dziedziny zdefiniowanie analizowanej dziedziny grupowanie elementów dziedziny ustalenie reprezentacyjnej próbki aplikacji z danej dziedziny analiza poszczególnych wybranych aplikacji przygotowanie modelu wybranych obiektów

Analiza i projektowanie oprogramowania 18/32 Analiza opisu w języku naturalnym Charakterystyka: opis w języku naturalnym wyróżnianie rzeczowników (klasy, obiekty, pola) wyróżnianie czasowników (metody związki)

Analiza i projektowanie oprogramowania 19/32 Identyfikowanie klas i obiektów Rola obiektów w systemie elementy zewnętrzne rzeczy sytuacje i zdarzenia role jednostki organizacyjne miejsca struktury

Analiza i projektowanie oprogramowania 20/32 Kryteria włączenia obiektu do systemu Kryteria: 1. przechowywane informacje 2. potrzebne usługi 3. więcej niż jeden atrybut 4. wspólne atrybuty 5. wspólne operacje 6. najważniejsze wymagania

Analiza i projektowanie oprogramowania 21/32 Kryteria włączenia obiektu do systemu przykład Opis: Oprogramowanie sterujące systemem Bezpieczny dom umożliwia właścicielowi domu konfigurowanie systemu bezpieczeństwa podczas instalacji, kontroluje stan wszystkich czujników podłączonych do systemu i komunikuje się z właścicielem za pomocą panelu sterowania. Podczas instalacji systemu można go zaprogramować i skonfigurować za pomocą panelu sterowania. Każdemu czujnikowi przypisuje się numer i typ, ustala się hasło główne, służące do włączania i wyłączania systemu, wprowadza się numery telefonów wybieranych w razie włączenia któregoś z czujników. W razie włączenia się czujnika oprogramowanie uruchamia syrenę alarmową podłączoną do systemu. po określonym czasie oprogramowanie wybiera numer centrali monitorującej system i przekazuje informację o rodzaju wykrytego zdarzenia. Numer będzie wybierany co 20 sekund aż do uzyskania połączenia.

Analiza i projektowanie oprogramowania 22/32 Kryteria włączania obiektów do systemu przykład Potencjalny obiekt/klasa właściciel czujnik panel sterowania instalowanie system (lub system bezpieczeństwa) numer, typ hasło główne numer telefonu sygnał od czujnika syrena alarmowa centrala Funkcja w systemie rola lub element zewnętrzny element zewnętrzny element zewnętrzny sytuacja rzecz atrybuty czujników (nie obiekty) rzecz rzecz sytuacja element zewnętrzny jednostka organizacyjna lub element zewnętrzny

Analiza i projektowanie oprogramowania 23/32 Kryteria włączania obiektów do systemu przykład Potencjalny obiekt/klasa Funkcja w systemie właściciel odrzucony: 1 i 2 nie zachodzą, chociaż 6 zachodzi czujnik przyjęty: wszystkie warunki zachodzą panel sterowania przyjęty: wszystkie warunki zachodzą instalowanie odrzucony system (lub system bezpieczeństwa) przyjęty: wszystkie warunki zachodzą numer, typ odrzucony: 3 nie zachodzi (atrybuty czujnika) hasło główne odrzucony: 3 nie zachodzi numer telefonu odrzucony: 3 nie zachodzi sygnał od czujnika przyjęty: wszystkie warunki zachodzą syrena alarmowa przyjęty: 2, 3, 4, 5, 6 zachodzą centrala odrzucony: 1, 2 nie zachodzą, chociaż 6 zachodzi

Analiza i projektowanie oprogramowania 24/32 Identyfikowanie elementów modelu obiektowego specyfikowanie atrybutów definiowanie operacji uzupełnianie definicji obiektów

Analiza i projektowanie oprogramowania 25/32 Wykorzystanie związków klas i obiektów Należy rozważyć: Czy klasa ma potencjalne specjalizacje i/lub generalizacje? Czy ma części składowe i/lub jest częścią większej całości? Czy pozostaje w związkach z innymi klasami?

Analiza i projektowanie oprogramowania 26/32 Analiza funkcji (przypadków użycia) Sposób przeprowadzenia wybór pewnej funkcji (przypadku użycia) systemu tworzenie opisu realizacji funkcji w języku naturalnym tworzenie opisu interakcji obiektów

Analiza i projektowanie oprogramowania 27/32 Przypadki użycia Identyfikuje się je podczas analizowania wymagań w celu opisania funkcjonalnych i operacyjnych wymagań stawianych systemowi w scenariuszach użycia przygotowania jasnego i jednoznacznego opisu interakcji użytkowników z systemem umożliwienia testowania zgodności (zatwierdzania)

Analiza i projektowanie oprogramowania 28/32 Przykład System alarmowy sposoby współpracy użytkownika z systemem wprowadzenie hasła, aby uzyskać pozwolenie na dalszą pracę z systemem pytanie o stan stref bezpieczeństwa pytanie o stan czujników naciśnięcie przycisku alarmowego w razie niebezpieczeństwa włączenie lub wyłączenie systemu

Analiza i projektowanie oprogramowania 29/32 Weryfikacja klas i obiektów Nieobecność pól i metod Nieliczne pola i metody Tylko jeden obiekt w klasie Brak związków z innymi klasami

Analiza i projektowanie oprogramowania 30/32 Identyfikacja i definiowanie pól Odpowiedź na pytania: Co jest potrzebne do opisu danej klasy w ramach dziedziny problemu? Jakie dane będą potrzebne metodom danej klasy do realizacji ich zadań? Jakie pola należy wprowadzić, aby opisać stany w jakich mogą znajdować się obiekty danej klasy?

Analiza i projektowanie oprogramowania 31/32 Identyfikacja i definiowanie metod i komunikatów Podział metod: algorytmicznie proste, konstruktory, destruktory, metody służące do pobierania/ustawiania wartości pól klasy, metody służące do ustawiania związków pomiędzy obiektami, metody służące do edycji pól danej klasy, algorytmicznie złożone, metody służące do wykonywania obliczeń, metody śledzące pracę urządzeń lub systemów zewnętrznych.

Analiza i projektowanie oprogramowania 32/32 W wykładzie wykorzystano materiały Jaszkiewicz A.: Inżynieria oprogramowania, Helion, Gliwice 1997, Pressman R. S.: Praktyczne podejście do inżynierii oprogramowania, WNT, Warszawa 2004