Technologie obiektowe. Plan. Ewolucja technik wytwarzania oprogramowania



Podobne dokumenty
Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 1 Wprowadzenie do narzędzia CASE. Materiały dla nauczyciela

Diagramy czynności Na podstawie UML 2.0 Tutorial

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

PRZEWODNIK PO PRZEDMIOCIE

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 3 Ćwiczenia w narzędziu CASE diagram sekwencji. Materiały dla nauczyciela

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

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

Inżynieria oprogramowania

Modelowanie klas i obiektów. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 2 Ćwiczenia w narzędziu CASE diagram klas. Materiały dla nauczyciela

Inżynieria oprogramowania

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla nauczyciela

Analiza i projektowanie obiektowe w UML Kod przedmiotu

Modelowanie. Wykład 1: Wprowadzenie do Modelowania i języka UML. Anna Kulig

INŻYNIERIA OPROGRAMOWANIA. laboratorium

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

Inżynieria oprogramowania Jarosław Kuchta. Modelowanie interakcji

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

Inżynieria oprogramowania Wprowadzenie. WYKŁAD Piotr Ciskowski

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla studenta

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

Wykład 1 Inżynieria Oprogramowania

Modelowanie obiektowe - Ćw. 3.

Techniki modelowania programów Kod przedmiotu

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

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

Modelowanie i analiza systemów informatycznych Spis treści

Inżynieria oprogramowania. Jan Magott

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

UML w Visual Studio. Michał Ciećwierz

Diagramy UML, przykład problemu kolizji

Świat rzeczywisty i jego model

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2

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

Wprowadzenie do UML, przykład użycia kolizja

Projektowanie logiki aplikacji

Technologia programowania

Projekt systemu informatycznego

WPROWADZENIE DO UML-a

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

Programowanie obiektowe Object-Oriented Programming. Automatyka i Robotyka II stopień ogólnoakademicki

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

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

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

KARTA MODUŁU KSZTAŁCENIA

Modelowanie i Programowanie Obiektowe

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 3 Ćwiczenia w narzędziu CASE diagram sekwencji. Materiały dla studentów

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

HumanTechnology. Projektowanie interakcji. czyli łatanie dziury w procesie produkcji

Model przypadków użycia - rola diagramów aktywności Część 2 Wykładowca Dr inż. Zofia Kruczkiewicz

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

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

Diagramy czynności tworzenie modelu przypadków użycia Wykład 2

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

PRZEWODNIK PO PRZEDMIOCIE

Modelowanie i analiza systemów informatycznych

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

UML w kropelce. czynność rozwinięcia 146 różnice między wersjami UML-a 175 wewnętrzna 130

Wprowadzenie do UML Rodzaje diagramów Przeglad oprogramowania Zadania Rozwiazania zadań Bibliografia. Warsaw Dziobax

Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne

Diagramy klas. dr Jarosław Skaruz

Projektowanie interakcji. Jarosław Kuchta

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 1

Diagram przypadków użycia

Inżynierski Projekt Zespołowy

Paweł Kurzawa, Delfina Kongo

KATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA

Zapisywanie algorytmów w języku programowania

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

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów niestacjonarnych studiów II stopnia)

Wykład I. Wprowadzenie do baz danych

Podstawy inżynierii oprogramowania

Inżynieria oprogramowania Wprowadzenie. WYKŁAD Piotr Ciskowski

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

Projektowanie Zorientowane na Dziedzinę. ang. Domain Driven Design

Automatyka i Robotyka I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny)

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

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

Tworzenie modelu konceptualnego systemu informatycznego część 1

Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton

Języki Programowania Obiektowego

Inżynieria oprogramowania

Relacyjne, a obiektowe bazy danych. Bazy rozproszone

UML cz. II. UML cz. II 1/38

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Modelowanie i Programowanie Obiektowe

JĘZYK UML JAKO NARZĘDZIE MODELOWANIA PROCESU PROJEKTOWO-KONSTRUKCYJNEGO

Podejście obiektowe - podstawowe pojęcia

PRZEWODNIK PO PRZEDMIOCIE

Przepływy danych. Oracle Designer: Modelowanie przepływów danych. Diagramy przepływów danych (1) Diagramy przepływów danych (2)

Programowanie i projektowanie obiektowe

Projektowanie systemów informatycznych. wykład 6

Spis treści. Analiza i modelowanie_nowicki, Chomiak_Księga1.indb :03:08

MODELOWANIE SYSTEMU INFORMATYCZNEGO WSPOMAGAJĄCEGO DZIAŁALNOŚĆ USŁUGOWĄ W ŚRODOWISKU OBIEKTOWO ZORIENTOWANYM.

REQB POZIOM PODSTAWOWY PRZYKŁADOWY EGZAMIN

Transkrypt:

Literatura Marek Kisiel-Dorohinicki doroh@agh.edu.pl Brett D. McLaughlin, Gary Pollice, David West Head First Object-Oriented Analysis and Design Martin Fowler UML Distilled ( UML w kropelce ) Grady Booch, James Rumbaugh, Ivar Jacobson UML przewodnik użytkownika James Martin, James J. Odell Podstawy metod obiektowych (c) 1997 2010 AGH Plan Ewolucja technik wytwarzania oprogramowania reprezentacja programów komputerowych przerzucenie ciężaru tłumaczenia opisu problemu i jego rozwiazania na system komputerowy zwiększa efektywność programowania planowanie procesu i produktu przyjęcie określonej metodyki ułatwia opanowanie złożoności tworzonego systemu

Modelowanie model = uproszczona reprezentacja czegoś odzwierciedla zdolność do abstrakcji (pomijania nieistotnych szczegółow) pomaga lepiej zrozumieć złożoność problemu lub jego rozwiazania (systemu) ułatwia prezentację, dokumentację i specyfikację Zasady modelowania 1. wybór modelu ma decydujace znaczenie na sposób podejścia do problemu i jego rozwiazania 2. każdy model może być wyrażony na różnych poziomach szczegółowości 3. pojedynczy model rzadko kiedy jest wystarczajacy najlepsze zrozumienie daje możliwie niewiele możliwie niezależnych modeli 4. najlepsze modele to te, które dobrze odzwierciedlaja rzeczywistość opanowywanie złożoności problemu opiera się na powszechnie (choć nie zawsze świadomie) stosowanych zasadach: rozróżnianie i opisywanie poszczególnych obiektów ich cech i możliwości wykorzystania klasyfikowanie obiektów i definiowanie pojęć określanie relacji między obiektami (powiazania) znajdowanie zależności między pojęciami (skojarzenie) i wyprowadzanie nowych (generalizacja) Istota modelowania obiektowego hermetyzacja stanu i zachowań jednostek które ze soba współpracuja poprzez wykorzystanie udostępnianych usług w realizacji określonych scenariuszy działania Dwie warstwy modelowania: 1. obiekty i relacje między nimi (model wybranej sytuacji migawka z życia systemu) 2. pojęcia i relacje między nimi (model dziedziny ogólna struktura systemu)

Karty CRC Poszerzona karta CRC Class name Some responsibility Some collaborator modelowanie kart CRC to prosta technika analizy obiektowej zorientowane na pracę zespołowa oddaja charakter współpracy klas/obiektów w realizacji wymaganych scenariuszy działania Class name Super Classes: Super class name Description: some class description Attributes: Description Some attribute Some attribute description Some responsibility Some collaborator Sesja modelowania kart CRC 1. Wybór scenariusza (typowy przebieg przypadku użycia) 2. Wybór wyjściowego zestawu klas (np. na podstawie obiektów scenariusza) 3. Analiza scenariusza i poszukiwanie, klas które moga dostarczyć wymaganych zobowiazań 4. Poszukiwanie współpracowników dla klas, które nie moga w pełni zrealizować wymaganych zobowiazań 5. Współpracujace klasy układamy blisko siebie, często używane na środku Przykładowy scenariusz Wystaw fakture 1. wyszukuje klienta, na ktorego ma byc wystawiona faktura wg ustalonych kryteriow 2. tworzy fakture dla danego klienta 3.Na stworzonej fakturze sprzedawca odnotowuje zakupione produkty 4. wylicza ewentualny rabat, ktory zalezy od obrotow danego klienta (czyli wartosc poprzednich faktur)

Modelowanie CRC krok #1 Modelowanie CRC krok #2 Tworzy nowa fakture dla danego klienta Dodaje nowy produkt do faktury Sprawdza czy klient spelnia okreslone kryteria Rabat Rabat Modelowanie CRC krok #3 Modelowanie CRC krok #4 Tworzy nowa fakture dla danego klienta Dodaje nowa pozycje Sprawdza czy klient spelnia okreslone kryteria dane o kliencie (np., NIP) Przechowuje informacje o ilosci danego produktu dane o produkcie (, cena) Rabat Tworzy nowa fakture dla danego klienta Dodaje nowa pozycje Oblicza rabat Oblicza wartosc dane o kliencie (np., NIP) Oblicza obroty Dodanie faktury do historii Przechowuje informacje o ilosci danego produktu Oblicza wartosc dane o produkcie (, cena)

modelowanie wymagań diagramy przypadków użycia modelowanie struktury diagramy klas modelowanie zachowań (obiektów) diagramy interakcji (sekwencji, komunikacji) Modelowanie wymagań przypadki użycia Uzytkownik system aukcyjny Licytuj <<Extend>> Wyszukaj przedmiot Sprzedajacy Wystaw komentarz Wystaw przedmiot Modelowanie struktury diagram klas Modelowanie zachowań diagram sekwencji Komentarz czy_pozytywny opis Kategoria opis Sprzedajacy punkty * Przedmiot opis liczba_sztuk 1 wystawia wystawiony na 1 Uzytkownik dane_osobowe data_rejestracji 0..1 Aukcja data_rozpoczecia czas_trwania cena_wywolawcza cena_minimalna {ordered} 1 licytuje * Oferta kwota liczba_sztuk 1: wystawkomentarz : Aukcja : Przedmiot : Sprzedajacy <<create>> 2: new : Komentarz 3: ktowystawil 4: dodajkomentarz 5: zaktualizujpunkty

Modelowanie zachowań diagram komunikacji : Przedmiot 5: zaktualizujpunkty dziedzina: działalność firmy handlowej (sklepu) przypadek użycia: wystawienie dokumentu sprzedaży (faktury) 3: ktowystawil 1: wystawkomentarz 4: dodajkomentarz : Aukcja : Sprzedajacy <<create>> 2: new : Komentarz Przypadek użycia Współdziałanie obiektów w realizacji przypadku użycia : : wybrany : : : Wystaw fakture 1: szukaj() 2: new(klient) nowa : Klasy loop 3: szukaj() 4: new(produkt,faktura) nowa : adres NIP obliczobroty() numer data_sprzedazy forma_platnosci rabat obliczwartosc() obliczpodatek() obliczrabat() ilosc obliczwartosc() obliczpodatek() dotyczy cena stawka_podatku opt 6: obliczrabat 5: dodaj 7: obliczobroty() loop loop 8: obliczwartosc() 9: obliczwartosc()