Laboratorium 2 - Instytut Sterowania i Systemów Informatycznych

Transkrypt

Laboratorium 2 - Instytut Sterowania i Systemów Informatycznych
Uniwersytet Zielonogórski
Wydział Informatyki, Elektrotechniki i Telekomunikacji
Instytut Sterowania i Systemów Informatycznych
Informatyka niestacjonarne-zaoczne pierwszego stopnia z tyt. inżyniera
Laboratorium Podstaw Modelowania Programów
Laboratorium 2
Diagramy klas — rozwinięcie projektu. Różnice między kompozycją
a agregacją.
1
Zadania wprowadzające
Po zakończeniu pracy nad każdym zadaniem przez wszystkich studentów odbywa się dyskusja wad i zalet
zaproponowanych rozwiązań. Każda grupa ćwiczeniowa musi umieć przedstawić argumenty na korzyść zaproponowanego przez siebie rozwiązania.
1. Utworzyć diagram klas UML prostego programu do projektowania wnętrza budynku wielorodzinnego.
Jaki rodzaj zależności wiąże mieszkanie i pokoje, które się w nim znajdują?
2. Utworzyć diagram klas UML systemu wspomagającego przyjmowanie pacjentów w przychodni. Jaki rodzaj
zależności wiąże lekarza i jego pacjentów?
2
Zadanie
Narysować diagram klas dla następującego problemu:
Ponieważ ekspres do kawy zamodelowany w poprzednim ćwiczeniu okazał się sukcesem, firma zdecydowała o wprowadzeniu oferty kilku modeli, od najprostszego do najbardziej zaawansowanego. Na podstawie
poprzedniego opracowania należy zmodyfikować diagram klas tak, aby zminimalizować zmiany struktury modelu między poszczególnymi rodzajami ekspresów — jeden projekt ma pasować do wszystkich. Model najbardziej zaawansowany będzie posiadał możliwość sterowania przy pomocy panelu dotykowego, SMSa lub obsługi
głosowej (decyzja zostanie podjęta później). Ekspres ten będzie zawierał ok. 5 pojemników na różne rodzaje
kawy, 3 rodzaje mleka (pełnotłuste, odtłuszczone i sojowe), 2 rodzaje cukru (biały i trzcinowy) oraz możliwość
ozdobienia kawy bitą śmietaną i ew. posypką. Każdy rodzaj napoju musi być reprezentowany jako oddzielny
przepis na jego wykonanie. Musi istnieć możliwość dodawania nowych przepisów podczas działania ekspresu.
Ekspres musi mieć możliwość drukowania raportów, które zostną ręcznie wprowadzone do istniejącego systemu finansowo-księgowego (z założenia wprowadzanie automatyczne nie jest możliwe), gdzie zostanie obliczony
należny podatek.
3
Zadanie domowe
Dokonać implementacji w dowolnie wybranym języku (zalecane jest wykorzystanie języka zarządzalnego, np. C#
lub Java) opracowanego projektu. Wywołania API zastąpić interakcją z użytkownikiem przy pomocy konsoli.
Przy implementacji zwrócić szczególną uwagę na stosowanie zasad DRY i KISS, (WAŻNE!) poprawne nazwenictwo zmiennych i funkcji oraz możliwość łatwej rozbudowy zaproponowanego rozwiązania. Przy implementacji
zastosować programowanie defensywne. Zawsze należy preferować jakość kodu nad czas jego działania.
1
4
Literatura
1. Analiza obiektowa i projektowanie : przykłady zastosowań, Edward Yourdon, WNT 1999
2. Język UML 2.0 w modelowaniu systemów informatycznych, Helion 2006
3. Zrozumieć UML 2.0. Metody modelowania obiektowego, Michał Śmiałek, Helion 2005
4. UML dla każdego, Joseph Schmuller, Helion 2003
2

Podobne dokumenty