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