Specyfikacja i systemy wspomagania projektowania oprogramowania

Cel zajęć

Cykl życia oprogramowania (w ujęciu tradycyjnym) składa się z kilku faz:

  • specyfikacji wymagań,
  • projektowania,
  • implementacji
  • konserwacji.

Celem zajęć jest zrealizowanie projektu polegającego na sporządzeniu dokumentacji obejmującej etapy: specyfikacji (analizy) wymagań i projektowania oprogramowania.

Uczestniczy zajęć powinni wykazać się znajomością języka modelowania UML oraz umiejętnością jego praktycznego zastosowania przy sporządzaniu dokumentacji projektowej.

Celem zajęć nie jest wykonanie programu; niemniej, doświadczenia programistyczne, znajomość konkretnych technologii mogą być znaczną pomocą podczas projektowania aplikacji

Organizacja

Projekty są wykonywane w grupach. Zaleca się, aby były to grupy 3-4-osobowe. Grupa powinna wybrać temat projektu z listy i zarezerwować za pomocą formularza rejestracji. Tematy projektów muszą być unikalne. Możliwe jest zaproponowanie własnego tematu po uprzedniej akceptacji przez prowadzącego. Jeżeli na liście pojawią się dwie rezerwacje tego samego projektu – późniejszy wpis zostanie usunięty.

Zakres projektu pokrywa się z prowadzonymi wcześniej zajęciami Analiza i modelowanie oprogramowania (AMO) dla kierunku Informatyka. W ramach AMO dodatkowo prowadzone było laboratorium. Materiały do laboratorium mogą być przydatne przy realizacji projektu.

Harmonogram

Wykonanie projektu podzielone jest na etapy zgodnie z harmonogramem. Dokumenty będą dostarczane przez UPEL (kiedy zgłębię temat indywidualnego tworzenia grup przez studentów).

Składniki oceny

  • 60% - pierwsze 5 etapów
  • 40% - dokumentacja końcowa

Narzędzia

Językiem używanym w dokumentacji może być wyłącznie język UML. Nie jest akceptowane zastosowanie Analizy Strukturalnej (diagramy DFD). W rozdziale dotyczącym projektu bazy danych można użyć notacji ERD.

Do sporządzania diagramów można użyć dowolnego programu pozwalającego na sporządzanie diagramów UML. AGH jako posiadacz licencji MSDN dla całej uczelni udostępnia program Visio, zawierający bibliotekę (przybornik) do rysowania diagramów UML. Wiele innych, w tym bezpłatnych programów, np.: ArgoUML, ma podobne możliwości.

Bardzo polecam: Plant UML » Edytor online Plant UML jest szczególnie przydatny przy rysowaniu diagramów sekwencji (rozdział SDD - projekt oprogramowania)

Diagram Plant UML jest tworzony na podstawie opisu tekstowego. ChatGPT jest w stanie wygenerować diagramy, np.: ten diagram powstał w odpowiedzi na prompt:

Generate PlantUML class diagram for online auctions including products, categories, offers, bidders, and events related to bidding process. At least 12 classes should be included

Nie jest to wynik w pełni oczekiwany bo:

  • BiddingSystem i EventNotifier nie są klasami modelu dziedziny
  • Zamiast Contains i Part of oczekujemy po prostu symboli agregacji <>—-
  • Brakuje wystawiającego (Seller)
  • Nazwy relacji nie muszą być obecne
  • Zamiast atrybutów lepsze są role (nazwy atrybutów przy relacji)
  • Drobne błędy - winningOffer powinno mieć krotność 0..1 (bo mógł nikt nie zagłosować)

Ale można od podobnego diagramu zacząć, wygenerować wstępną strukturę, itd.

Dokumentacja

Dokumentacja powinna być sporządzana zgodnie z podanym dalej układem (Szkielet dokumentacji). Powinna stanowić jeden plik, najchętniej w formacie PDF. Nie należy dostarczać plików źródłowych wymagających dalszego przetwarzania lub otwierania za pomocą specyficznych narzędzi.

Uwaga - dostarczając dokumentację zgodnie z etapami realizacji projektu, zachowujemy wszystkie wcześniejsze rozdziały. Czyli dokument stopniowo przyrasta, ale oceniany będzie przyrost.

Informacje merytoryczne

Laboratoria z Analizy i modelowania oprogramowania - proszę przewinąć do linków do laboratoriów w lewym dolnym rogu

specif/projekt.txt · Last modified: 2023/12/12 17:52 by pszwed
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0