Polsko-Japońska Wyższa Szkoła Technik Komputerowych

Seminarium magisterskie: Inżynieria Oprogramowania i Baz Danych

Opracował: Kazimierz Subieta

Wersja z dnia: 28 luty 2004

 

Konspekt pracy magisterskiej

1. Konspekt pracy magisterskiej powinien być dostarczony przez każdego magistranta pod koniec drugiego semestru 1-szego roku magisterskiego. Powinien posiadać objętość 4-10 stron formatu A4, pojedyncza linia, czcionka Times New Roman 11 punktów, marginesy 2.5 cm z każdej z czterech stron. Powinien być przygotowany wg załączonego formularza.

2. Konspekt powinien być realistyczny i konkretny. Sformułowania powinny podawać wyraźne założenia pracy magisterskiej w terminach na tyle technicznych, aby było z nich jasno widać, że praca jest realizowalna w przeciągu roku.

3. Dostarczenie dobrze sporządzonego, realistycznego konspektu jest warunkiem zaliczenia seminarium magisterskiego w drugim semestrze.

4. Dopuszcza się konspekty (i co za tym idzie, prace magisterskie) przygotowane przez dwie lub trzy osoby. W takich przypadkach konspekt powinien wyraźnie precyzować role poszczególnych osób, zadania, które te osoby mają wykonać, i/lub części pracy, które te osoby mają napisać.

5. Przy podejmowaniu decyzji o pisaniu pracy magisterskiej w zespole dwu lub trzy-osobowym zespołowych, należy przemyśleć ryzyko opóźnienia obrony wskutek tego, że jeden ze współ-autorów nie uzyska na odpowiedni czas absolutorium. Nie dopuszcza się możliwości częściowej obrony pracy, praca zespołowa musi być broniona jednocześnie przez wszystkie uczestniczące w niej osoby.

6. Dopuszcza się konspekty alternatywne, o ile dana osoba (osoby, w przypadku prac zespołowych) nie podjęła dotychczas decyzji odnośnie tematu, którym chciałaby się zająć.

7. Konspekt pracy magisterskiej powinien zawierać wszystkie punkty zawarte w załączonym formularzu. Numeracja punktów nie może być zmieniana, punkty nie zawierające treści powinny być opatrzone klauzulą „Nie dotyczy".

Zalecany plan pracy magisterskiej

Niżej zamieszczony plan pracy magisterskiej zawiera również wytyczne dla przygotowania pracy. W zależności od charakteru pracy i od pewnych indywidualnych upodobań kolejność punktów merytorycznych może być zmieniona. Praca powinna być napisana czcionką 11 punktów Times New Roman, pojedynczy odstęp linii, marginesy 2.5 cm z lewej i prawej, 3 cm z dołu i góry, numeracja centralna u góry, według wzorca stanowiącego dodatek do tych zaleceń.

Zalecana objętość pracy:

ˇ         Nie mniej niż 60 stron i nie więcej niż 100 stron w przypadku prac indywidualnych; nie mniej niż 90 stron i nie więcej niż 150 stron w przypadku prac dwu-osobowych; nie mniej niż 120 stron i nie więcej niż 200 stron w przypadku prac trzy-osobowych.

ˇ         Dopuszczalne są wyjątki od tego zalecenia, po uzgodnieniu z osobą prowadzącą.

ˇ         Do tej objętości nie są zaliczane: pełne kody programów, dokumentacja techniczna i użytkowa tych programów, pełne diagramy klas i diagramy dynamiczne, dokumentacja techniczna użytych systemów, języków, narzędzi i udogodnień, oraz inne dodatki. Część tego materiału może być umieszczona w dodatkach na końcu pracy, w przypadku, jeżeli mogą one mieć znaczenie dla zrozumienia merytorycznej części pracy. Pozostałe dodatki, np. kody programów, nie powinny być zamieszczane w dodatkach, mogą natomiast znaleźć się na załączonej dyskietce lub CD-ROMie.

Spis treści i zawartość pracy

1.      Strona tytułowa - patrz załączony wzorzec (wzorzec zaktualizowano zgodnie z szablonem strony tytułowej zawartym w "Niezbędniku pracy dyplomowej" dostępnym na stronach Biblioteki PJWSTK).

2.      Streszczenie pracy. Od pół do trzy czwarte strony zawierające opis podstawowych założeń i rezultatów pracy.

3.      Podziękowania. Mogą dotyczyć wyłącznie osób trzecich lub firm, który bezpośrednio okazały pomoc przy przygotowaniu pracy. Nie mogą dotyczyć osoby prowadzącej oraz dowolnych innych osób, które były związane z pracą obowiązkiem służbowym.

4.      Spis treści pracy

5.      Rozdział pierwszy - Wstęp. Stanowi on wprowadzenie w temat oraz w zawartość pracy. Powinien on składać się z następujących podpunktów, niekoniecznie wyróżnionych w postaci podrozdziałów:

a) Kontekst pracy - przedstawienie działu informatyki, którego praca dotyczy;

b) Krótkie omówienie problemu, który będzie przedmiotem pracy;

c) Krótkie omówienie stanu sztuki w zakresie tego problemu oraz motywacji, które skłoniły autora/autorów do zajęcia się tym problemem;

d) Krótkie omówienie celu pracy oraz rozwiązania proponowanego w pracy;

e) Krótkie omówienie teorii, metodologii, języków, narzędzi, systemów, itd. zastosowanych przy realizacji pracy;

f) Krótkie omówienie osiągniętych rezultatów oraz ich znaczenia praktycznego, teoretycznego, rozwojowego, itd.;

g) Krótkie omówienie organizacji pracy oraz naświetlenie jej najbardziej istotnych elementów.

6.      Rozdział drugi - Dokładne omówienie kontekstu pracy, problemu, którym praca się zajmuje, stanu sztuki z odwołaniem się do literatury, wad, niedoskonałości obecnych rozwiązań, nowej jakości, którą należałoby stworzyć. Koniec powinien przedstawiać ogólna charakterystykę podejścia lub rozwiązania proponowanego w pracy.

7.      Rozdział trzeci - Omówienie narzędzi, metodologii, teorii, języków, systemów, itd. zastosowanych przy realizacji pracy.

8.      Rozdział czwarty - Dokładne omówienie rozwiązania, metody, organizacji, algorytmu stanowiącego zasadniczy rezultat pracy.

9.      Rozdział piąty - Omówienie rozwiązań implementacyjnych zastosowanych przy realizacji pracy - w miarę dokładne, ale bez nadmiernego wchodzenia w detale techniczne.

10.  Rozdział szósty: omówienie trudności przy realizacji pracy, zalet i wad przyjętego rozwiązania, potencjalnych zastosowań pracy, planów rozwojowych w zakresie tematu pracy, dalszych prac, które należałoby wykonać w przyszłości, itd.

11.  Podsumowanie: krótkie omówienie wyników pracy, z podaniem jej osiągnięć oraz jej niedostatków (rzeczy do rozwiązania w przyszłości).

12.  Spis prac cytowanych. Zaleca się, aby ten spis nie przekraczał dwóch stron. Powinny być cytowane wyłacznie pozycje relewantne w stosunku do treści pracy i przeczytane przez magistranta. Nie zaleca się cytowania podręczników, chyba, ze znajduje sie w nich materiał bezposrednio wykorzystany w pracy. Cytowanie dokumentacji powinno byc precyzyjne, ze wskazaniem wersji systemu i roku wydania. Cytowania stron Webu są dopuszczalne, jakkolwiek nie zalecane ze wzgledu na ich małą stabilność.

13.  Dodatki: np. słownik użytej terminologii i skrótów, lista przyjętych oznaczeń, pełne algorytmy w abstrakcyjnej notacji, spisy rysunków i tabel, dowody twierdzeń matematycznych, schematy danych, opisy protokołów, dokumentacja techniczna, dokumentacja użytkowa, pełna gramatyka zastosowanego lub stworzonego języka, dłuższe przykłady zawartości bazy danych, zmiany stanu struktur danych, itd. Dodatki nie liczą się do zalecanej objętości pracy. Praca powinna być skonstruowana w taki sposób, aby dodatki nie były niezbędne dla zrozumienia jej treści; mogą one być wyłącznie pomocą dla czytelnika interesującego się w szczegółach. Dodatki nie mogą zawierać treści bardzo słabo czytelnych (np. programów) lub nieczytelnych, np. kodów programów generowanych przez automatyczne generatory.

Kategorie tematyczne pracy magisterskiej

Możliwe są inne kategorie, o ile zostaną uzgodnione z osobą prowadzącą. Kategorie nie muszą być formułowane dokładnie w podanym niżej brzmieniu. Możliwe jest podawanie kategorii bardziej ogólnych lub bardziej szczegółowych od kategorii podanych niżej.

1.      Analiza i projektowanie systemów informatycznych;

2.      Metodyki i notacje do analizy i projektowania; w tym UML, OPEN, BON, encja -związek, itd.;

3.      Modelowanie pojęciowe; narzędzia i języki wspomagające modelowanie pojęciowe;

4.      Narzędzia CASE;

5.      Narzędzia wspomagające zarządzanie projektem;

6.      Inżynieria wymagań użytkownika;

7.      Analiza dziedziny przedmiotowej, analiza systemowa;

8.      Projektowanie aplikacji i systemów informatycznych;

9.      Konstrukcja i programowanie aplikacji i systemów informatycznych;

10.  Testowanie aplikacji i systemów informatycznych;

11.  Instalacja i wdrożenie aplikacji i systemów informatycznych.

12.  Konserwacja, pielęgnacja, ewolucja aplikacji i systemów informatycznych;

13.  Organizacja szkolenia użytkowników;

14.  Zarządzania przedsięwzięciem programistycznym; zarządzanie ryzykiem; audyt i zarządzanie jakością oprogramowania;

15.  Miary złożoności i jakości oprogramowania;

16.  Dokumentowanie oprogramowania i procesów wytwarzania oprogramowania;

17.  Zarządzanie konfiguracjami i wersjami oprogramowania;

18.  Ponowne użycie oprogramowania, dokumentacji i procesów wytwarzania oprogramowania;

19.  Wzorce projektowe, szkielety aplikacji;

20.  Graficzne interfejsy użytkownika;

21.  Rozproszone i federacyjne bazy danych;

22.  Replikacje w rozproszonych bazach danych,

23.  Migracja obiektów;

24.  Przetwarzanie zapytań w rozproszonych bazach danych;

25.  Architektury systemów oprogramowania, w tym architektury klient-serwer, architektury wielowarstwowe, itd.;

26.  Oprogramowanie pośredniczące (middleware) i komponentowe;

27.  Interoperacyjność (współdziałanie) systemów heterogenicznych i/lub rozproszonych; odwzorowanie heterogenicznych ontologii; mediatory i osłony;

28.  Standardy w zakresie rozproszonych obiektów, w tym standardy CORBA/IIOP, JavaBeans, RMI i COM/DCOM/ActiveX; brokery (ORB) zbudowane wg tych standardów, np. Orbix, Visibroker, i inne;

29.  Zarządzanie przepływem prac (workflow);

30.  Technologie mobilnych agentów;

31.  Obiektowe i obiektowo-relacyjne bazy danych: anatomia, projektowanie, pielęgnacja, użycie;

32.  Standardy obiektowych baz danych, w tym standard ODMG;

33.  Systemy zarządzania obiektowymi bazami danych, np. ObjectStore, Versant, Poet, O2;

34.  Repozytoria multimediów, dane temporalne i przestrzenne (geograficzne), optymalizacja dostępu do danych multimedialnych, temporalnych i przestrzennych;

35.  Fizyczna organizacja danych, składy trwałych obiektów; optymalizacja fizycznej organizacji i dostępu do danych, organizacja indeksów, buforowanie danych, przemiana wskaźników (pointer swizzling);

36.  Systemy obiektowo-relacyjne, w tym Oracle-8, Informix Dynamic Server, DB/2 Universal Server, Sybase, i inne;

37.  Standard SQL3, SQL 1999 i jego następcy;

38.  Teoria obiektowych języków zapytań do baz danych;

39.  Integracja języków zapytań z językami programowania;

40.  Tranzytywne domknięcia, zadania rekurencyjne, bill-of-material (BOM);

41.  Języki programowania baz danych (z trwałymi zmiennymi lub obiektami), w tym SQL, Java z trwałością; interfejsy ODBC, JDBC i SQLJ;

42.  Języki czwartej generacji (4GL), narzędzia RAD i RAP;

43.  Schematy i podschematy baz danych; zarządzanie schematami i podschematami;

44.  Teoria typów, w tym typów polimorficznych; nowe typy danych;

45.  Optymalizacja obiektowych języków zapytań;

46.  Wirtualne perspektywy baz danych;

47.  Zmaterializowane perspektywy baz danych;

48.  Hurtownie danych, magazyny danych, kostki danych, przetwarzanie analityczne (OLAP);

49.  Przetwarzanie transakcji, rozproszone transakcje, monitory transakcji;

50.  Aktywne reguły, aktywne bazy danych, programowanie zdarzeniowe;

51.  Technologie WWW, w tym WAP i technologie oparte na XML, DHTML, PHP, ASP, JSP; repozytoria XML, języki zapytań dla XML, perspektywy w XML, odwzorowania na/z XML, w tym XSLT;

52.  Bazy danych w Internecie;

53.  Systemy zarządzania treścią (content management), np. Web Sphere, Web Logic, Vignette, itp.;

54.  Repozytoria danych sformatowanych, tekstowych i multimedialnych;

55.  Systemy pracy grupowej (CSCW), w tym wspomaganie grup współpracujących poprzez Internet;

56.  Pełno-tekstowe bazy danych; wyszukiwanie w danych pełnotekstowych; Internetowe wyszukiwarki informacji w pełnym tekście;

57.  Przetwarzanie danych półstrukturalnych; języki zapytań i repozytoria danych półstrukturalnych;

58.  Projektowanie i programowanie generycznych aplikacji; szablony (templates), programowanie generyczne poprzez refleksję lingwistyczną;

59.  Bezpieczeństwo i ochrona danych i systemów; prywatność i autoryzacja dostępu; ochrona przed wirusami, wandalizmem, sabotażem, odmową płatności;

60.  Elektroniczna komercja, sklepy internetowe, portale biznesowe;

61.  Internetowe systemy wspomagania dziedzin życia i gospodarki (vortale): finanse, handel, usługi, telekomunikacja, mała i średnia przedsiębiorczość, szkolnictwo, ubezpieczenia, itd.;

62.  Biblioteki cyfrowe; systemy wspomagania dużych archiwów dokumentów.

63.  Inżynieria lingwistyczna.

64.  Web Services

65.  Portale biznesowe

66.  Sieci P2P

67.  Systemy wspomagające zdalne nauczanie (e-learning)