Post on 27-Jan-2016
description
System zarządzania System zarządzania parafiąparafią
Informatyka SSIStudia DzienneRok 2009/2010Semestr LetniGrupa GKiO 1Skład podsekcji:Gąsiorowski JacekKruszy DamianMazur KrzysztofMośko PiotrRychlik Paweł
Projekt programistycznyProjekt programistyczny
Zarys środowiska projektu:
• Narzędzie case: Enterprise Architect 7.5• Narzędzie wersjonujące: SVN• Narzędzie pracy grupowej: Google Code• Narzędzie deweloperskie: Visual Studio 2008
Professional Edition• Baza danych: Microsoft SQL Server 2008• Biblioteka: NHibernate• Zarządzanie zmianami: TortoiseSVN + Google
Code• Środowisko testowania: Wirtualna maszyna z
Windowsem XP
Szczegółowy zarys środowiska:• Narzędzie case: Enterprise Architect 7.5• Narzędzie deweloperskie: Visual Studio 2008
Professional Edition• Baza danych: Microsoft SQL Server 2008• Biblioteka: NHibernate
• Wybór narzędzi jest zdeterminowany ich dobrą znajomością z poprzednich projektów oraz laboratoriów (Programowanie Komputerów, Inżynieria Oprogramowania, Języki Asemblerowe, Systemy Operacyjne). Dzięki nabytemu doświadczeniu możliwe będzie efektywniejsze zorganizowanie pracy.
Szczegółowy zarys środowiska:
• Rozmiar projektu wymusił ostrożność z odpowiednim doborem narzędzi, gdyż nieodpowiednia decyzja może spowodować niedotrzymanie terminu pracy. Z tego powodu ryzykowne byłoby użycie nowszych narzędzi (np. Visual Studio 2010), a poprzestanie na znanych rozwiązaniach, które dobrze się już sprawdziły nie obniża ani jakości, ani komfortu przy tworzeniu aplikacji.
Szczegółowy zarys środowiska:• Narzędzie wersjonujące: SVN• Narzędzie pracy grupowej: Google Code• Zarządzanie zmianami: TortoiseSVN + Google Code
• Wybór powyższych narzędzi związanych z porozumiewaniem się pomiędzy członkami zespołu jest uzasadniony brakiem kosztów związanych z założeniem tego typu repozytorium. Oczywiście wadą jest dostęp do naszego kodu osób z zewnątrz, które mogą wykorzystywać nasz kod we własnych celach.
Szczegółowy zarys środowiska:• Środowisko testowania: Wirtualna maszyna z
Windowsem XP
• Chcąc zachować kompatybilność wstecz oraz świadomość tego, że przyszli użytkownicy aplikacji nie muszą korzystać z nowszych wersji systemu Windows (Vista, 7) zmusiła nas do wybrania systemu operacyjnego Windows XP. Mamy tym samym pewność, że na komputerach wszystkich członków zespołu projekt będzie wyglądał identycznie i nie będzie żadnych problemów z kompatybilnością podczas uruchamiania i testowania aplikacji. Virtual PC zapewnia, że żadne inne zaistalowane aplikacje na systemie operacyjnym nie będą miały wpływu na projekt.
Zwięzły opis rozwiązania:
• Model interakcji realizującej wybrany przypadek użycia zapisany w postaci diagramów przebiegu i współdziałania zostanie przedstawiony na kilku następnych slajdach.
• Ze względu na mało skomplikowane przypadki użycia (używające 1-2 klas) postanowiliśmy przedstawić diagramy dla 5 przypadków użycia, które zostaną następnie zaimplementowane.
Zwięzły opis rozwiązania – I przypadek użycia:
sd Dia gram współdzia łania - Dodanie dziennego rozchodu/przychodu
Funds
Proboszcz Ksiądz
ReadForm(TabControl*) :bool
Fil lForm(TabControl*):bool
EnterData()
:Data
InsertData() :bool
:bool
Zwięzły opis rozwiązania – I przypadek użycia:sd Dia gram se kwencj i - Doda nie dzie nne go rozchodu/przychodu
Proboszcz
(from Aktorzy)
Ksiądz
(from Aktorzy)
Model klas::Funds
fund_commentsfunds_ da te funds_ expendi ture funds_ id funds_ incomefunds_ numbe r funds_ paymentfunds_ payment_ account funds_ ti tle funds_ type
ReadForm(TabControl*) :bool
czytaj() :datetime
czytaj() :int
czytaj() :int
EnterData()
:data
create()
update()
create()
update()
create()
update()
create()
create()
create()
ceate()
:bool
Zwięzły opis rozwiązania – II przypadek użycia:sd Dia gra m współdzia ła nia - Doda nie kolę dy
Ksiądz
Carol
ReadForm(TabControl*) :bool
Fil lForm(TabControl*) :bool
EnterData()
:data
InsertData() :bool
:bool
Zwięzły opis rozwiązania – II przypadek użycia:sd Doda nie kolę dy
Ksiądz
(from Aktorzy)
Model klas::Carol
ca rol_ id fa mi ly_ id ca rol ca rol_ comme ntsca rol_ e xce ption_ id
ReadForm(TabControl*) :bool
read()
EnterData()
:data
update()
create()
create()
create()
create()
:bool
Zwięzły opis rozwiązania – III przypadek użycia:sd Dia gra m współdzia ła nia - Doda nie użytkownika
Proboszcz
User
ReadForm(TabControl*) :bool
Fil lForm(TabControl*) :bool
EnterData()
:Data
InsertData()
:bool
Zwięzły opis rozwiązania – III przypadek użycia:sd Dia gra m se kwe ncj i - Doda nie użytkownika
Proboszcz
User
Use r_ na me Use r_ la st_ na me Use r_ loca tion Use r_ a cce ss_ rightsUse r_ da teUse r_ id pa ssword
ReadForm(TabControl*) :bool
ReadI() :int
Read() :datetime
Read() :int
Read() :int
EnteData()
:Data
Upade(int) :bool
Update(datetime) :bool
Create(string) :bool
Create(string) :bool
Create(string) :bool
Update(int) :bool
Update(int) :bool
:bool
Zwięzły opis rozwiązania – IV przypadek użycia:
sd Dia gra m współdzia ła nia - Doda wnie tra sy kolę dy
Ksiądz
Carol_route
ReadForm(TabControl*) :bool
Fil lForm(TabControl*) :bool
EnterData()
:data
InsertData() :bool
:bool
Zwięzły opis rozwiązania – IV przypadek użycia:
sd Doda nie tra sy kolę dy
Ksiądz
(from Aktorzy)
Modelklas::Carol_route
ca rol_ route _ idca rol_ route _ da te ca rol_ route _ numbe rsca rol_ route _ stre e t ca rol_ route _ nume ra tion prie st_ id
ReadForm(TabControl*) :bool
read()
read()
EnterData()
:data
update()
update()
create()
create()
create()
create()
:bool
Zwięzły opis rozwiązania – V przypadek użycia:
sd Dia gra m współdzia ła nia - Logowa nie
KsiądzProboszcz Sołtys Strażak
Program User
ReadForm()
Fil lForm() :bool
EnterData()
:Data
GetPassword(int) :string
CheckPassword()
:string
:bool
Zwięzły opis rozwiązania – V przypadek użycia:
sd Dia gra m se kwe ncj i - Logowa nie
KsiądzProboszcz Sołtys Strażak
Program User
Use r_ id pa ssword
ReadForm()
GetPassword(int)
Read() :int
Read() :string
:string
CheckPassword()
:bool
Zwięzły opis rozwiązania – podsumowanie:
• Z przedstawionych powyżej diagramów współdziałania i diagramów sekwencji można wywnioskować, że użytkownik musi najpierw wybrać żądaną opcję aplikacji, wpisać dane, po czym następuje sprawdzenie zgodności danych lub wykonana jest zadana przez użytkownika czynność.
Podział prac z uwzględnieniem kontraktów, które wynikają z interfejsów i odpowiedzialności klas:
• Podział prac zebrany jest w tabeli:
Podział prac z uwzględnieniem kontraktów, które wynikają z interfejsów i odpowiedzialności klas:
• Opis poszczególnych klas zebrany jest na dwóch kolejnych slajdach:
• Family – klasa rodziny oprócz informacji o parafianach tworzących rodzinę zawiera dodatkowe informacje, takie jak: wspólny adres zamieszkania, datę ślubu rodziców itd. Klasa umożliwia podstawowe operacje na tablicy, takie jak: tworzenie rodziny, jej edycja oraz usuwanie.
• User – klasa użytkownik zawiera podstawowe informacje o użytkownikach systemu, takie jak: imię, nazwisko, adres oraz zakres dostępnych praw w systemie. Klasa ta będzie umożliwiać tworzenie, edytowanie oraz usuwanie użytkowników systemu przez administratora.
Podział prac z uwzględnieniem kontraktów, które wynikają z interfejsów i odpowiedzialności klas:
• Parishioners – parafianie jest podstawową klasą systemu operującą na tabeli danych wszystkich parafian, zawierającą dużą ilość informacji o nich. Klasa będzie umożliwiać tworzenie, edytowanie i usuwanie wpisów o parafianach.
• Carol – klasa kolędy przechowuje informacje niezbędne przy ustalaniu kolędy rodzinnej, takie jak: data jej odbycia, u jakiej rodziny, kto w niej uczestniczył itd. Możliwe będzie dodawanie nowych kolęd, ich edycja oraz usuwanie.
• Intentions – klasa intencji mszalnych zawiera podstawowe dane o intencjach, takie jak: data, za co, od kogo itd. Klasa będzie umożliwiała dodawanie nowych intencji, edytowanie ich oraz usuwanie.
Dziękujemy za uwagę.