Inżynieria Oprogramowania II Projekt modułu „Strusia Jama” Logika - Budynki Justyna Post Michał Kieszek Inżynieria Oprogramowania II poniedziałek, 12:15 2009/2010
Cel i założenia Cel: Stworzenie modułu zarządzającego budynkami, który będzie odpowiadał za tworzenie nowych budynków, rozwijanie technologii i zatrudniania agentów do walki z przeciwnikami w internetowej, turowej grze strategicznej. Założenia: Skalowalność – w wyniku oddzielenia logiki od danych za pomocą szablonów przesyłanych z menadżera (wykorzystanie plików xml)
Wymagania Wymagania funkcjonalne: Możliwość budowania różnych rodzajów budynków: Laboratorium – zajmuje się przetrzymywaniem technologii możliwych do odkrycia przez gracza. Mieszkalny – od niego zależy ilość mieszkańców w mieście. Przemysłowy – im bardziej jest rozbudowany tym więcej miasto zarabia pieniędzy i potrzebuje odpowiednią ilość populacji. Schron – w przypadku ataku przeciwnika odpowiada za minimalizację zniszczeń w mieście Kontrwywiad – służy do infiltracji przeciwnika. Można tu odkrywać i rekrutować jednostki, które będą szpiegować lub sabotażować przeciwnika. Możliwość rozwijania przemysłu i technologii. Możliwość obliczenia zniszczeń danego budynku Wymagania niefunkcjonalne: Niezależność logiki od danych.
Diagram przypadków użycia
Powiązania z innymi modułami Lista budynków wybudowanych przez użytkownika znajduje się w klasie Miasto (połączenie między modułem logiki-budynki, a modułem logiki-miasto) W budynku wywiad z modułu logika-budynki zatrudniani są agenci (szpiedzy i sabotażyści) , którymi zarządza moduł logiki-miasto Wszystkie szablony (technologii, budynków i agentów) dziedziczą po szablonie obiektu z podmodułu zarządzania. Dostarczanie podmodułowi zarządzania informacji na temat jakie budynki są możliwe do wybudowania i wynalazki są możliwe do odkrycia.
Diagram klas
Scenariusz 1 Nazwa: Odkryj technologię Poziom ważności: Wysoki Typ przypadku użycia: Ogólny Aktorzy: GameManager Krótki opis: Odkrycie nowej technologii Warunki wstępne: Wybudowanie laboratorium, określony stan konta Warunki końcowe: System dodaje technologię do odkrytych Główny przepływ zdarzeń: Otrzymanie polecenia odkrycia nowej technologii pod postacią szablonu Weryfikacja w laboratorium, która technologia ma zostać odkryta Stworzenie nowej technologii Alternatywne przepływy zdarzeń: brak Specjalne wymagania: Komunikacja z managerem Notatki i kwestie:
Diagram sekwencji 1
Scenariusz 2 Nazwa: Zbuduj budynek Poziom ważności: Wysoki Typ przypadku użycia: Ogólny Aktorzy: GameManager Krótki opis: Stworzenie nowego budynku określonego typu Warunki wstępne: Wybudowanie fabryki, odkrycia na określonym poziomie, określony stan konta Warunki końcowe: System tworzy budynek Główny przepływ zdarzeń: otrzymanie polecenia, wybudowania budynku sprawdzenie, który budynek ma zostać wybudowany zbudowanie budynku mieszkalnego Alternatywne przepływy zdarzeń: 3a zbudowanie bunkra 3b zbudowanie budynku wywiadu 3c zbudowanie budynku przemysłowego 3d zbudowanie laboratorium Specjalne wymagania: brak Notatki i kwestie:
Diagram sekwencji 2
Diagram komponentów
Realizacja założeń i wymagań Dziedziczenie odpowiednich klas budynków, po klasie Budynek, pozwala nam na stworzenie różnych rodzajów budynków. Zastosowanie szablonów do komunikacji między Managerem a klasą zarządzającą tworzeniem budynków, odkrywaniem wynalazków i zatrudnianiem agentów pozwala nam na dużą skalowalność – łatwiejsze dodawanie nowych podtypów budynków. Niezależność logiki od danych uzyskaliśmy za pomocą szablonów: budynków, wynalazków i agentów. Jest to efekt wczytywania danych z plików xml.
Realizacja powiązań z innymi modułami Dzięki naszemu modułowi podmoduł zarządzania otrzymuje listę wynalazków budynków, które mogą zostać odkryte lub wybudowane, co powoduje, że Manager jest w stanie zajmować się określaniem czy akcja, którą chce podjąć gracz jest możliwa do zrealizowania. Jest to także bardzo ważne dla modułu wyrzutni, ponieważ na podstawie informacji co zostało wynalezione w laboratorium mogą Oni tworzyć wyrzutnie na różnym poziomie zaawansowania.