Tematy Projektów - Inżynieria Oprogramowania

Transkrypt

Tematy Projektów - Inżynieria Oprogramowania
Inżynieria oprogramowania semestr V
Tematy projektów
Kategoria I (tematy 1 osobowe)
1. Referat na temat Rational Unified Process (dokładny opis metodyki i procesu
produkcji oprogramowania)
2. Referat na temat Extreme Programming (dokładny opis metodyki I procesu
produkcji oprogramowania)
3. Referat na temat Capability Maturity Model (CMM) (dokładny opis metodyki I
procesu produkcji oprogramowania)
4. Referat na temat Capability Maturity Model Integration (CMMI) (dokładny opis
metodyki I procesu produkcji oprogramowania)
5. Przygotowanie grafiku projektu uwzględniającego podział pracy, zależności
pomiędzy zadaniami, przydział ludzi do zadań, itp. dla produktu
zdefiniowanego przez podanie specyfikacji wymagań
6. Referat na temat Feature Driven Development - lekka metodyka tworzenia
oprogramowania
7. Opracowanie referatu na temat narzędzi wspomagających zarządzanie
zmianami (wymagań, kodu) w procesie produkcji oprogramowania
8. Opracowanie referatu na temat metod estymacji pracochłonności. Metoda
COCOMO II (w szczególności przykłady tzw. calibration cases)
9. Opracowanie referatu na temat metod estymacji wielkości kodu. Metoda
COSMIC function point
10. Przeprowadzenie integracji narzędzia do kontroli wersji CVS z interfejsem
web’owym. Utworzenie dokumentacji dla administratora umożliwiającej
instalację i konfigurację interfejsu web’owego dla narzędzia CVS.
11. Referat na temat narzędzi umożliwiających tworzenie scentralizowanej polityki
prowadzenia backupów
12. Referat na temat: Techniki zarządzania ryzykiem w projektach
informatycznych, przykład analizy dla systemu korporacyjnej sieci wymiany
danych.
13. Referat na temat Przegląd i ewaluacja narzędzi do szybkiego tworzenia
interfejsu użytkownika ( RAD ).
14. Referat na temat: Notacje graficzne w modelowaniu i analizie systemów baz
danych.
15. Referat na temat: Notacje graficzne w modelowaniu obiektowym dla Java i
C++.
16. Referat temat architektur systemów czasu rzeczywistego (RTOS).
17. Analiza i projekt aplikacji typu Klient – Sewer z gwarancją jakości usług QoS.
18. Opracowanie referatu na temat: The Visual Architecting Process (VAP).
19. Opracowanie referatu: Feature Driven Development
Kategoria II (tematy dla grup 2 osobowych)
20. Przegląd i ewaluacja (na stworzonym przykładowym programie) narzędzi do
automatycznego testowania graficznego interfejsu użytkownika (GUI)
21. Przegląd i ewaluacja (na utworzonej wcześniej przykładowej specyfikacji
wymagań) narzędzi służących do zarządzania wymaganiami (DOORS,
RequisitePro, ...)
Inżynieria Oprogramowania
Grzegorz Młynarczyk, Jacek Kołodziej
WSZiB
Semestr V
1z4
22. Wybrane metryki dotyczące jakości oprogramowania (np. Length of code
(logical LOC, physical LOC,…) , cyclomatic complexity, depth of conditional
nesting)
23. Opracowanie raportu omawiającego podobieństwa i różnice metodyk Extreme
Programming i Rational Unified Process
24. Opracowanie
raportu
porównującego
lekkie
metodyki
tworzenia
oprogramowania.
25. Opracowanie raportu opisującego główne założenia lekkich metodyk produkcji
oprogramowania
26. Opracowanie referatu omawiającego dostosowanie praktyk Extreme
Programming do wymagań norm ISO dla oprogramowania
27. Opracowanie referatu na temat narzędzi wspomagające modelowanie
biznesowe
28. Opracowanie referatu na temat techniki zarządzania ryzykiem w projektach
informatycznych
29. Opracowanie referatu porównującego metody i techniki testowania
oprogramowania
30. Referat na temat narzędzi przeprowadzających statyczną analizę kodu
źródłowego (zgodność ze standardami kodowania, kontrola poprawnej
inicjalizacji, nazewnictwo stałych itp.)
31. Referat na temat: Języki formalne specyfikacji wymagań. Przykład
zastosowania metodyki do realizacji projektu: Kalkulator macierzowy.
32. Opracowanie raportu na temat: Style tworzenia kodu w wybranych językach
programowania. Implementacja narzędzia do syntaktycznej kontroli stylu.
33. Opracowanie raportu na temat: Co potrafią narzędzia CASE na bazie Rational
Software. Przykład zastosowania na wybranym etapie projektu.
34. Opracowanie kursu CVS na bazie wybranego serwera zawierającego
wskazówki dotyczące instalacji, konfiguracja oraz zarządzania repozytorium
danych.
35. Opracowanie kursu: „Wspomaganie procesu projektowania aplikacji w .NET”
36. Przegląd i ewaluacja narzędzi do tworzenia interaktywnych podręczników.
Implementacja podręcznika do nauki podstaw inżynierii oprogramowania.
37. Przegląd metod tworzenie plików pomocy zawierających indeksy, odsyłacze i
zapytania. Przykład realizacji samouczka notacji UML.
38. Analiza i projekt aplikacji typu Klient – Sewer z gwarancją jakości usług QoS.
39. Projektowanie aplikacji sieciowych w oparciu o serwery aplikacji (np.Netscape)
40. Technologie dla komponentowych, rozproszonych aplikacji internetowych ,
przykłady zastosowań.
41. Zastosowanie metodyk IO do tworzenia asynchronicznych aplikacji sieciowych.
42. Przykłady modelowanie systemów czasu rzeczywistego w UML.
43. Zintegrowane środowiska programistyczne – elementy systemów CASE.
44. Projekt OPHELIA.
Kategoria III (tematy dla grup 2-3 osobowych)
45. Implementacja narzędzia obliczającego wybraną metrykę dla programu
zapisanego w wybranym języku oprogramowania (np. Java)
Inżynieria Oprogramowania
Grzegorz Młynarczyk, Jacek Kołodziej
WSZiB
Semestr V
2z4
46. Implementacja narzędzia generującego diagram klas w UML-u dla danego
programu w wybranym języku (Java/C++)
47. Opracowanie referatu (przykłady wykorzystania, testowe programy) na temat
narzędzi wspomagających weryfikację, testowanie i walidację oprogramowania
(ze szczególnym uwzględnieniem testowania aplikacji uruchamianych na
serwerach zgodnych ze specyfikacją J2EE oraz platformie .NET)
48. Metody lokalizowania oprogramowania. Ewaluacja dostępnych narzędzi
wspomagających proces lokalizacji (przy użyciu prostej przykładowej
aplikacji). Na podstawie zgromadzonych materiałów utworzenie własnego
narzędzia dla wybranego języka programowania.
49. Implementacja narzędzia umożliwiającego pomiar czasu spędzonego przez
indywidualne osoby przy poszczególnych czynnościach projektowych
(centralna baza danych, możliwość automatycznego generowania raportów dla
podanego okresu czasu, grupy osób, itp.)
50. Implementacja dla wybranego języka programowania narzędzia wykonującego
statyczną analizę kodu według jednego z kryteriów (np. cyclomatic
complexity)
51. Projekt i implementacja narzędzia integrujące się z systemem Bugzilla
umożliwiającego automatyczne przyjmowanie zgłoszeń za pośrednictwem
poczty email i przypisywanie ich w bazie Bugzilli jako nowe zgłoszenie
problemu (email, automatyczne nadawanie ID każdemu zgłoszeniu, generacja
odpowiedź w postaci email)
52. Metodyki projektowania aplikacji zdarzeniowych Projekt sytemu monitoringu z
wykorzystaniem Google Web Toolkit technology
53. Opracowanie techniki szybkiej implementacji interfejsu WWW (zbiór
dynamicznie generowanych stron html) bazującego na udostępnionym
WebService (znalezienie istniejących bibliotek i opracowanie techniki ich użycia
lub stworzenie własnych bibliotek i opracowanie techniki ich użycia.
54. Implementacja narzędzia zarządzającego podziałem pracy, zależnościami
między zadaniami, przydziałem ludzi do zadań dla produktu zdefiniowanego
przez podanie specyfikacji wymagań.
55. Monitoring procesu produkcyjnego z wykorzystaniem Google Web Toolkit
technology.
56. Implementacja narzędzia do zarządzania przydziałem zadań dla systemu
SUSZI.
57. Budowa aplikacji wspomagającej prace przy tworzeniu oprogramowania
począwszy od etapu analizy a skończywszy na wsparciu technicznym.
Aplikacja tego typu powinna realizować przynajmniej jedną z podanych
funkcji:
a. zarządzanie błędami/zgłoszeniami (zgłaszanie błędów, komentowanie
przypisanie błędu do osoby, zmiana statusu np. na “usunięty”.
Przykładowe aplikacje to bugzilla, DCL itp.)
b. zarządzanie czasem pracy (rejestracje czasu pracy pracownika,
rejestracje czasu pracy w obrębie konkretnego zadania generowanie
raportów np. timecardów)
c. planowanie pracy (zbieranie zadań, grupowanie, szacowanie czasu
wykonania, przydzielanie do konkretnych członków grupy projektowej.
Przykładowa aplikacja: XPlanner, MS Project)
Inżynieria Oprogramowania
Grzegorz Młynarczyk, Jacek Kołodziej
WSZiB
Semestr V
3z4
d. wymiana informacji (dokumentów i nie tylko) (komunikacja
bezpośrednia jak w ICQ czy Gadu-Gadu, tworzenie notatek,
przechowywanie dokumentów, rożnego rodzaju powiadomienia o
zmianach w dokumentach/notatek, tworzenie własnych list “todo” itp.
Przykładowa aplikacja: rożne implementacja WIKI)
Każdy z tematów I kategorii musi zostać opracowany w formie pracy
pisemnej, sformatowanej według określonego wzorca oraz być uzupełniony o
prezentację multimedialną programu PowerPoint lub podobnego. Praca musi być
wykonana zgodnie z ustalonym na drugich lub trzecich zajęciach
harmonogramem i zakresem merytorycznym.
Każdy z projektów z kategorii II i III powinien zostać dostarczony wraz z
odpowiednią dokumentacją projektową obejmującą między innymi: analizę i
specyfikację wymagań, harmonogram realizacji, projekt techniczny architektury,
dokumentację wdrożeniową. Dokładny zakres określony zostanie dla każdego z
projektów w trakcie zajęć projektowych.
Inżynieria Oprogramowania
Grzegorz Młynarczyk, Jacek Kołodziej
WSZiB
Semestr V
4z4

Podobne dokumenty