·
Naszym
celem będzie opracowanie indywidualnego projektu systemu informatycznego,
przeznaczonego dla podanej w temacie firmy, przedsiębiorstwa lub
organizacji.
·
W większości
będą to systemy możliwe do implementacji np. w formie aplikacji internetowej,
umożliwiającej bądź ułatwiającej użytkownikowi korzystanie z oferty danej
firmy/organizacji.
·
Główny
nacisk położymy na poprawność faz: określenia wymagań, analizy oraz projektowania.
·
Końcowa
implementacja systemu w postaci gotowej, działającej aplikacji nie będzie
wymagana (może być to wymagane w ramach przedmiotu o nazwie Projekt systemu informatycznego)
·
Integralną
częścią projektowanego systemu stanowić będzie relacyjna baza danych – dlatego
istotnym elementem projektu systemu będzie wstępny projekt bazy w formie tzw. diagramu związków encji.
·
Diagramy
projektowe wykonujemy z wykorzystaniem poznanego na zajęciach narzędzia CASE –
pakietu Power Designer, zaś
dokumentację projektową (opracowanie pisemne) – w dowolnym edytorze
tekstu.
·
W trakcie
zaliczenia oddajemy dokumentację oraz prezentujemy na komputerze diagramy
projektowe.
1.
Sportowe rozgrywki ligowe
w wybranej dyscyplinie (ewidencja drużyn, zawodników, kolejek, spotkań, ich
wyników, sędziów, zdobytych bramek, itp.)
2.
Biuro pośrednictwa nieruchomości
(ewidencja nieruchomości, ofert sprzedaży i kupna, klientów, agentów, umów
pośrednictwa, okazań, transakcji, itp.)
3.
Internetowa
wypożyczalnia filmów z możliwością wypożyczania
na nośnikach klasycznych (ewidencja tytułów, nośników, typów nośników,
rezerwacji, wypożyczeń, klientów, pracowników, itp.)
4.
Firma organizująca przewozy
międzynarodowe (ewidencja pojazdów, kierowców, przejazdów, biletów,
klientów, tras regularnych, miejscowości, itp.)
5.
Korty tenisowe
(ewidencja kortów, sprzętu, pracowników, klientów, trenerów, rezerwacji,
udostępniania kortów, wypożyczeń sprzętu, itp.)
6.
Przychodnia lekarska
(ewidencja gabinetów, lekarzy, specjalności, rejestracji, wizyt, pacjentów,
pracowników, itp.)
7.
Motel
(ewidencja pokoi, rezerwacji, pobytów, gości, miejsc parkingowych, pracowników
hotelu, itp.)
8.
Multikino
(ewidencja tytułów, seansów, sal kinowych, sprzedaży
biletów, rezerwacji, pracowników, itp.)
9.
Ogród zoologiczny
(ewidencja gatunków, zwierząt, sektorów, wybiegów, pomieszczeń, opiekunów,
dyżurów, pokarmów, itp.)
10.
Szkoła
nauki jazdy (ewidencja kursów, kursantów, instruktorów,
zajęć teoretycznych, jazd, pojazdów, egzaminów, itp.)
11.
Wielostanowiskowy warsztat samochodowy
(ewidencja stanowisk, napraw, przeglądów, pojazdów, klientów, pracowników,
części samochodowych, itp.)
12.
Biblioteka
internetowa z możliwością wypożyczania klasycznych pozycji
(ewidencja tytułów, pozycji książkowych, czasopism, wypożyczeń,
zamówień, czytelników, pracowników, zakupów, itp.)
13.
Obsługa
portierni na
uczelni (ewidencja pomieszczeń, pracowników i ich uprawnień, kluczy,
pilotów do projektorów, wypożyczeń kluczy oraz
pilotów przez pracowników, itp.)
14.
Wypożyczalnia
samochodów i przyczep samochodowych (ewidencja samochodów, przyczep,
klientów, zamówień, wypożyczeń, pracowników, napraw,
przeglądów technicznych, itp.)
15.
Komis samochodowy
i motocyklowy (ewidencja pojazdów,
transakcji kupna, sprzedaży, sprzedających, nabywców, jazd próbnych,
pracowników, itp.)
16.
Biuro organizujące wczasy pobytowe
(ewidencja ofert, kierunków wyjazdów, terminów, hoteli, klientów, ajentów,
sporządzonych umów, itp.)
17.
Organizacja i obsługa (katering) przyjęć weselnych,
studniówek, itp. (ewidencja lokali, zamówień, klientów, sal,
menu, potraw, pracowników, kelnerów, itp.).
18.
Antykwariat
- książki, starodruki, pocztówki, itp. (ewidencja
zbiorów, sprzedawców, kupujących, zamówień, transakcji kupna i sprzedaży,
pracowników, itp.)
Przykład
opisu (punkt 1).
Na
całość projektu będą się składać:
Przed przystąpieniem do opracowania
dokumentacji projektowej, należy dokładnie zapoznać się z uwagami redakcyjnymi
w zawartymi w szablonie
pracy dyplomowej.
Dokumentacja projektowa powinna być
sformatowana zgodnie z uwagami w szablonie oraz zawierać następujące elementy:
·
Część I, a w jej ramach:
1. stronę tytułową z nazwiskiem i imieniem autora oraz
tematem projektu;
2. spis treści (rozdziały, podrozdziały);
3. zwięzły (tzn. w formie jednego lub dwóch zdań) opis celu projektu;
4. opis obszaru i przedmiotu projektowania, a w tym:
4.1.
opis dziedziny problemu
– ogólne omówienie zakresu i charakteru działalności jednostki, dla której
przeznaczony jest projektowany system; Opis musi być na tyle szczegółowy, aby w
fazie strategicznej zastępował model systemu, oraz aby na podstawie tego opisu
mógł powstać pełny model analityczny. Może mieć np. formę wywiadu z klientem, dla którego system będzie przeznaczony.
4.2.
opis zakresu i kontekstu przedsięwzięcia – szczegółowe omówienie tej części
zakresu działalności jednostki, w której ma być używany projektowany system.
5. opis wymagań funkcjonalnych dotyczących
projektowanego systemu (zawierający także funkcje administracyjne),
sporządzony w postaci:
5.1.
graficznej hierarchii
funkcji, jakie system powinien realizować;
5.2.
scenariuszy wszystkich przypadków użycia
wraz z diagramem przypadków
użycia;
6. opis wymagań niefunkcjonalnych a także specjalnych wymagań i
ograniczeń (np. co do pojemności bazy danych, obowiązkowego czasu
przechowywania danych archiwalnych, okresowości przygotowywania raportów itp.).
·
Część II, dotyczącą analizy strukturalnej systemu, a
w jej ramach:
1. hierarchiczny
diagram przepływu danych
(DFD), stanowiący model procesów zachodzących w przedsiębiorstwie i opisujący
zależności dynamiczne między jego elementami. Powinien zawierać co najmniej 3
poziomy – diagram kontekstowy, diagram systemowy, diagramy procesów
elementarnych, a także macierze CRUD dla wszystkich magazynów danych. Należy pamiętać, aby do każdego z
magazynów danych oraz przepływów na diagramie przypisane były odpowiednie dane.
Diagram DFD powinien być zbudowany z wykorzystaniem narzędzia PowerDesigner;
2. diagram związków
encji (ERD), stanowiący model
potrzeb informacyjnych przedsiębiorstwa i opisujący zależności statyczne między
jego elementami (około 6-10 encji). Diagram ERD powinien być zbudowany z
wykorzystaniem narzędzia PowerDesigner;
3. słownik danych, zawartych w modelach DFD oraz ERD;
4. specyfikacja procesów
– wystarczy ograniczyć się do 3
wybranych funkcji najniższego poziomu. Najlepiej wykorzystać w tym celu tzw.
pseudokod dla danego procesu.
·
Część III, dotyczącą częściowej fizycznej implementacji
systemu, a w jej ramach:
1. fizyczny model danych
(PDM) dla dostępnej platformy bazy danych (np. SQL Anywhere), wygenerowany
w oparciu o ERD i odpowiednio rozszerzony (dodana przynajmniej jedna tabela,
jeden widok, jeden trigger i dane testowe dla jednej
tabeli). Model fizyczny powinien być
zbudowany z wykorzystaniem narzędzia PowerDesigner;
2. skrypty SQL: tworzący bazę danych oraz wstawiający dane
testowe do wybranej tabeli.
3. propozycja i uzasadnienie wyboru narzędzi programistycznych niezbędnych do implementacji systemu;
4. propozycja i uzasadnienie wyboru architektury systemu (monolityczna, klient-serwer, WWW),
wykorzystywane standardowe lub dedykowane niezależne podsystemy (np. silnik
bazy danych), biblioteki (np. funkcji interfejsu graficznego), systemy
operacyjne, itp.;
5. specyfikacja platformy
sprzętowej (hardware) niezbędnej do implementacji systemu.
·
Część IV, dotyczącą analizy obiektowej systemu oraz
projektu interfejsu graficznego, a w jej ramach:
1. diagram klas, stanowiący
odpowiednik diagramu związków encji z modelu strukturalnego;
Uwaga
1: diagram klas nie może być jednak „kalką” diagramu ERD - powinien
uwzględniać, oprócz odmiennej notacji, także specyficzne aspekty
„obiektowości”: związki dziedziczenia, klasy abstrakcyjne, związki agregacji,
kompozycji, asocjacje, itp.
Uwaga 2: na diagramie klas uwzględniamy
jedynie klasy wchodzące w skład warstwy danych projektowanego systemu;
nie jest wymagany diagram klas realizujących np. interfejs użytkownika;
2.
pliki z kodem w języku
C++, Java lub C#, wygenerowane na podstawie diagramu klas –
podczas zaliczenia trzeba umieć wytłumaczyć szczegóły kodu;
3.
dodatkowe typy diagramów UML,
ukazujące niektóre aspekty działania naszego systemu: przykładowy diagram
obiektów (przynajmniej po dwa
obiekty każdej klasy), dwa
diagramy sekwencji dla dwóch
wybranych przypadków użycia. Wszystkie diagramy
UML powinny być zbudowany z wykorzystaniem narzędzia PowerDesigner;
4.
wstępny projekt
graficznego interfejsu użytkownika.
Może być to prototyp sporządzony przy pomocy dostępnego w pracowni narzędzia
IDE (np. Microsoft Visual Studio).
Należy zwrócić uwagę na jego jakość i ergonomię (układ i grupowanie elementów,
skalowanie, kolorystyka, filozofia działania).
Przy tworzeniu części pisemnej projektu wykorzystać można np.
opcję raportowania programu PowerDesigner
(nie muszą być to pełne raporty). Ważne jest rozszerzenie projektu o słowny
komentarz autora dotyczący kolejnych faz tworzenia projektu – tak, aby nasz
projekt nie ograniczał się jedynie do „gołych” diagramów i tabel !
UWAGA: Wszystkie powyższe punkty dotyczą pełnego
projektu, tzn. takiego, który (w najlepszym przypadku) można będzie zaliczyć na
ocenę bardzo dobrą.
Istnieje
także możliwość zaliczenia projektu:
·
w wersji „light” (tzn. na ocenę najwyżej dostateczną) –
wówczas do wykonania jest część I oraz II powyższego wykazu;
·
w wersji „medium”
(tzn. na ocenę najwyżej dobrą) – część I, II oraz III.
W trakcie zaliczenia należy:
·
oddać wydrukowane i
estetycznie obłożone pisemne opracowanie projektu,
·
zaprezentować (na komputerze) opracowane w
programie Power Designer diagramy wchodzące w skład projektu,
·
zademonstrować bazę danych oraz proste operacje
na niej wykonywane, a także prototyp interfejsu użytkownika,
·
wykazać się wiedzą na tematy związane z
projektem (np. przeczytać notację wskazanego związku encji, ewentualnie
wyjaśnić wskazany fragment skryptu SQL, omówić kod deklaracji wybranej klasy w
pliku nagłówkowym wygenerowanym z diagramu klas),
·
znać podstawowe pojęcia oraz zagadnienia
dotyczące analizy strukturalnej (ewentualnie obiektowej):
a) w
przypadku projektu w wersji „light”:
-
modelowanie związków encji,
Przykładowe pytania: definicja identyfikatora
encji, poprawnie przeczytać wskazany związek encji, itp. ...
-
modelowanie diagramów przepływu
danych,
Przykładowe pytania: co to jest terminator,
na czym polega bilansowanie procesów, itp. ...
b) w
przypadku projektu w wersji „medium”:
-
jak na ocenę dostateczną, a
ponadto:
-
fizyczny model danych oraz
podstawy relacyjnych baz danych,
Przykładowe pytania: co to jest widok
(perspektywa), co to jest pierwsza postać normalna relacji (tabeli), do czego
służy polecenie DROP, itp. ...
c) w
przypadku projektu w wersji „full”:
-
jak na ocenę dobrą, a ponadto:
-
modelowanie i programowanie
obiektowe,
Przykładowe pytania: na czym polega związek generalizacji-specjalizacji,
różnica między agregacją a kompozycją, co to jest polimorfizm, mapowanie
relacyjno-obiektowe, co to jest konstruktor, itp. ...
Ocena końcowa z projektu może zostać obniżona:
-
o ½ za każdą kolejną nieusprawiedliwioną
nieobecność na zajęciach w części ćwiczeniowej (1 nieobecność
nieusprawiedliwiona dozwolona bez konsekwencji),
-
o ½ za brak zaliczenia projektu lub obowiązkowych
konsultacji w wymaganym terminie.
TERMINY PIERWSZYCH
OBOWIĄZKOWYCH KONSULTACJI
(konsultacje te odbywać się będą równolegle z częścią
laboratoryjną)
Semestr 5 studiów stacjonarnych (konsultacje nie dotyczą osób,
które kontynuują u mnie temat z przedmiotu Inżynieria
oprogramowania I):
·
podgrupa A: 16.10.2017 (poniedziałek),
·
podgrupa B: 23.10.2017 (poniedziałek).
Na te
konsultacje należy przygotować słowny opis wycinka rzeczywistości (wydrukowany,
przynajmniej 2 strony A4, czcionka 11-12 pt,
pojedyncze odstępy) – np. wywiad z właścicielem firmy, dla której projektujemy
system – wydrukowany. Patrz także punkt: „Do przygotowania na pierwsze
obowiązkowe konsultacje”.
Semestr 5 studiów niestacjonarnych:
·
podgrupa A: 19.11.2017 (niedziela),
·
podgrupa B: 26.11.2017 (niedziela).
TERMINY DRUGICH
OBOWIĄZKOWYCH KONSULTACJI („przedzaliczeniowych”)
Semestr 5 studiów stacjonarnych:
·
podgrupa A: 11.12.2017 (poniedziałek),
·
podgrupa B: 18.12.2017 (poniedziałek).
Semestr 5 studiów niestacjonarnych:
·
podgrupa A: 14.01.2018 (niedziela),
·
podgrupa B: 21.01.2018 (niedziela).
Zagadnienia do przygotowania na konsultacje:
najlepiej (prawie) gotowy projekt, ale przede wszystkim:
1. Cel, zakres oraz kontekst projektu informatycznego (wydrukowane).
2. Opis dziedziny problemu (np. w formie wywiadu z klientem, dla którego
system będzie zaprojektowany).
3. Wymagania funkcjonalne:
- Wykres hierarchii funkcji, jakie system będzie
realizować (w formie graficznej, wydrukowany).
- Diagram przypadków użycia - kompletny. Sporządzony
w programie PowerDesigner,
wydrukowany.
- Szczegółowe scenariusze dla 3 wybranych przypadków
użycia (w formie tabeli, wydrukowane).
W każdym przypadku należy uwzględnić scenariusz
główny oraz możliwe scenariusze alternatywne.
3. Wymagania niefunkcjonalne
(opcjonalnie).
4. Diagram związków encji -
kompletny:
- Sporządzony w programie PowerDesigner, wydrukowany.
- Powinien wykorzystywać notację używaną na
zajęciach i wykładach.
- Powinien uwzględniać atrybuty encji, ich typy,
opcjonalność, identyfikatory encji, nazwy ról w związkach.
- W razie potrzeby należy uwzględnić w modelu
związki dziedziczenia, rekurencyjne, encje słabe.
5.Diagram przepływu danych:
- Sporządzony w programie PowerDesigner, wydrukowany.
- Powinien zawierać przynajmniej 2 poziomy: diagram kontekstowy oraz
diagram systemowy (zerowego poziomu).
- Kompletna dekompozycja jednego wybranego procesu z
diagramu systemowego (opcjonalnie).
6. Opcjonalnie
można przynieść dodatkowe składniki projektu, np. fizyczny model danych,
naszkicowany lub sporządzony w formie prototypu projekt graficznego interfejsu
użytkownika.
TERMINY ZALICZEŃ PROJEKTU
Semestr 5 studiów stacjonarnych:
·
podgrupa A: 22.01.2018 (poniedziałek),
·
podgrupa B: 24.01.2018 (środa wg planu poniedziałkowego).
Semestr 5 studiów niestacjonarnych:
·
podgrupa A i B: 28.01.2018 (niedziela).
ostatnia aktualizacja: 25.09.2017
Krzysztof
Bartecki, k.bartecki@po.opole.pl