[WikiDyd] [TitleIndex] [WordIndex

Laboratorium narzędzi obiektowych CASE

Prowadzący przedmiot:

Wykład

Materiały teoretyczne dotyczące laboratorium można znaleźć w wykładzie dr. Michała Śmiałka "Analiza i projektowanie obiektowe" na stronie http://www.iem.pw.edu.pl/~smialek/apo/index.htm

Laboratorium

Cel: Podstawowym celem laboratorium jest zapoznanie się z przebiegiem projektów wytwarzania oprogramowania przy wykorzystaniu narzędzi CASE (Computer-Aided Software Engineering) opartych na języku UML.

Goal: The fundamental goal of this lab is to acquire experience in participating in software development projects where UML-based CASE tools are extensively used.

Short description: The laboratory is based on large groups of students (around 12 people). Several such groups (usually 5-6) are formed to constitute “project teams”. These teams divide themselves into smaller sub-teams (architects + designers/programmers). The teams receive an assignment to write a small but complete distributed software system according to a specific requirements specification. The teams divide their systems into components assigned to sub-teams. The development process is controlled by the architecture sub-teams. All the development efforts are centered on the usage of a CASE tool.

Wszyscy w projekcie wykorzystują narzędzie CASE dostępne w laboratoriach. Przez cały czas projektu poszczególne grupy uaktualniają projekt udostępniany on-line na stronie WWW całego zespołu. Projekt jest systematycznie weryfikowany przez prowadzących.

Role projektowe

W trakcie zajęć grupy dziekańskie są podzielone na kilkuosobowe zespoły. W ramach każdego zespołu liczącego około 9 osób, wyróżnione są następujące grupy:

  1. Grupa architektów (3 osoby)
  2. Grupy realizacyjne
    • Grupa 1 (3 osoby)

    • Grupa 2 (3 osoby)

Laboratorium jest podzielone na dwie zasadnicze części: projektową i implementacyjno-wdrożeniową. W części projektowej każda z grup tworzy projekt przydzielonych przypadków użycia lub w przypadku architektów projekt architektury systemu (komponentów i interfejsów pośredniczących) oraz bazy danych. Druga część laboratorium składa się z implementacji oraz wdrożenia systemu. W drugiej części grupy zajmują się implementacją przypadków użycia, które zostały zaprojektowane przez inną grupę w poprzedniej części. Oznacza to, że grupy nie zajmują się implementacją przypadków użycia zaprojektowanych przez siebie. Do celów wdrożeniowych każdy zespół otrzymuje do dyspozycji własną maszynę wirtualną w technologii VMware. Zadaniem wybranych członków zespołu jest samodzielna instalacja systemu operacyjnego oraz odpowiedniego oprogramowania. Główną osobą kontaktową w sprawie maszyn wirtualnych jest Robert Szmurło (GE229).

Harmonogram

Zajęcia 1

Przedstawienie podstawowych zagadnień języka UML. Ćwiczenia w narzędziu CASE. Podział na zespoły i grupy.

Zajęcia 2

Przedstawienie podstawowych zagadnień języka UML. Ćwiczenia w narzędziu CASE. Przydział przypadków użycia do realizacji.

Zajęcia 3

Przedstawienie podstawowych zagadnień języka UML. Ćwiczenia w narzędziu CASE.

Zajęcia 4

Odbiór przez prowadzących scenariuszy przypadków użycia i scenopisów (10pkt), oraz przygotowanej przez architektów pierwszej wersji projektu komponentów systemu (10pkt). Komponenty systemu uwzględniają również dostęp do bazy danych.

Zajęcia 5

Praca zespołowa głównie między architektami i grupami realizacyjnymi w celu uzgodnienia projektu komponentów systemu ze szczególnym nastawieniem na interfejsy i dostęp do danych w bazie danych.

Zajęcia 6

Odbiór przez prowadzących diagramów klas i diagramów sekwencji przygotowanych przez grupy realizacyjne ( 15pkt + 15pkt), odbiór drugiej wersji projektu komponentów systemu, interfejsów przygotowanych przez architektów i projektu bazy danych. (15pkt + 15pkt) Przydzielenie przypadków użycia do implementacji, współpraca między grupami, które zaprojektowały przypadek użycia z grupą która będzie go implementować. Krytycznym elementem dla sukcesu projektu jest jak najszybsze rozpoczęcie implementacji przez architektów komponentów dostępowych do bazy danych.

Zajęcia 7

Architekci prezentują grupom wstępną wersję komponentów dostępowych do bazy danych. W trakcie spotkania ustalane są ewentualne zmiany w projekcie. Zmiany muszą być naniesione przez odpowiednie grupy (architekci lub grupy realizacyjne).

Zajęcia 8

Grupy implementujące oceniają jakość projektu przygotowanego przez grupę, która go zaprojektowała (10pkt). (W dalszej części instrukcji znajdą się podpowiedzi jakimi kryteriami grupy powinny się kierować. Wszystkie grupy realizacyjne oceniają projekt architektów (10pkt).

Zajęcia 9-12

Implementacja przypadków użycia oraz ich sukcesywne wdrażanie. Jeden z architektów zajmuje się konfiguracją środowiska wdrożeniowego (maszyna VMware).

Zajęcia 13

Odbiór testów funkcjonalnych całego systemu przygotowanego przez architektów (15pkt), oraz odbiór implementacji systemu przez grupy realizacyjne (20pkt). Wykonanie przez grupy realizacyjne razem z prowadzącym testów uruchomionego systemu. (10 pkt)

Zajęcia 14

Realizacja poprawek z uwzględnieniem poprawek/zmian w projekcie.

Zajęcia 15

Wykonanie ponowne testów po usunięciu pierwszych usterek (10pkt). Odbiór i weryfikacja zgodności dokumentacji projektowej z zrealizowanym systemem. (10pkt) Wpisy.

Zadania i Punktacja

W trakcie zajęć do zrealizowania będą następujące zadania, które zostaną odpowiednio rozdzielone przez prowadzących:

Grupy realizacyjne:

  1. Zadania projektowe:
    • Scenariusze przypadków użycia połączone ze scenopisami. (10 pkt)
    • Diagramy klas (15pkt)
    • Diagramy sekwencji (15pkt)
  2. Ocena jakości projektu ustalona przy współpracy z prowadzącym przez grupę implementującą (10pkt).
  3. Zadania implementacyjne i wdrożeniowe:
    • Implementacja poszczególnych modułów (20pkt)
    • Wykonanie testów oraz ich ocena przez prowadzących (10pkt)
    • Wykonanie testów po drugiej iteracji (10pkt)
    • Zgodność projektu z implementacją (10pkt)

Architekci:

  1. Zadania projektowe:
    • Projekt komponentów systemu z interfejsami (10pkt (I iteracja) + 15pkt (II iteracja))
    • Projekt bazy danych oraz komponentów dostępowych do bazy (15pkt)
  2. Ocena jakości projektu architektów przez wszystkie grupy realizacyjne (10pkt)
  3. Zadania implementacyjne i wdrożeniowe:
    • Koordynacja projektu, powadzenie spotkań, zapewnienie spójności systemu, dostępność strony WWW. (15pkt)
    • Zarządzanie środowiskiem wdrożeniowym: system operacyjny, serwer aplikacji + instalacja bazy danych.
      • Projekt graficzny: style, projekt interfejsu użytkownika. Administracja bazy danych (konfiguracja, zarządzanie użytkownikami). (10pkt)
    • Przygotowanie dokumentu testów funkcjonalnych. (15pkt)
    • Zgodność projektu komponentów, interfejsów i bazy danych z implementacją (10pkt)

Wzory plików i dokumentów

Strony zespołów

Strony zespołów z roku 2009

Strony zespołów z roku 2008

Strony zespołów z roku 2007

Literatura

  1. Michał Śmiałek - Zrozumieć UML 2.0. Metody modelowania obiektowego, Helion, 2005, ISBN: 83-7361-918-6
  2. Grady Booch, James Rumbaugh, Ivar Jacobson - UML, przewodnik użytkownika, WNT, Warszawa, 2001
  3. Joseph Schmuller - UML dla każdego, Helion, Gliwice, 2003, recenzja
  4. Martin Fowler, Kendall Scott - UML w kropelce, LT&P, 2002, recenzja

  5. Robert J. Muller - Bazy danych. Język UML w modelowaniu danych, Mikom, Warszawa, 2000
  6. Clemens Szyperski - Oprogramowanie komponentowe. Obiekty to za mało, WNT, Warszawa, 2001
  7. Cetus Links - obszerny zbiór odnośników n/t obiektów i komponentów

Skala oceny końcowej laboratorium

Próg punktowy

Ocena

51

3.0

61

3.5

71

4.0

81

4.5

91

5.0


2015-09-23 06:32