[WikiDyd] [TitleIndex] [WordIndex

(DI1615) Inżynieria wymagań oprogramowania

Aktualizacja dla semestru 2011L

Wykład

Prowadzący: Michał Śmiałek

Cel przedmiotu

Celem przedmiotu jest przedstawienie tematyki metod specyfikowania i zarządzania wymaganiami systemów oprogramowania oraz wykształcenie praktycznych umiejętności wykorzystania wybranych techniki i notacji inżynierii wymagań.

Zasady zaliczenia

Literatura

Plan wykładu

Wykład 1

Wprowadzenie do wymagań oprogramowania. Co to są wymagania i na czym polega inżynieria wymagań? Wymagania i ich reprezentacje. Podstawy zarządzania wymaganiami. Problemy związane z zarządzaniem wymaganiami w projektach konstrukcji oprogramowania. Znaczenie wymagań w procesie wytwarzania oprogramowania. Klasyfikacja wymagań. Źródła wymagań i odbiorcy specyfikacji wymagań. Dziedzina problemu i potrzeby zamawiającego.

Wykład 2

Organizacja i jakość specyfikacji wymagań. Podział specyfikacji wymagań z punktu widzenia szczegółowości i znaczenia wymagań dla budowanego systemu. Podstawowe cechy dobrej specyfikacji wymagań. Jednoznaczność i precyzja w specyfikowaniu wymagań. Spójność specyfikacji wymagań. Atrybuty wymagań.

Wykład 3

Procesy biznesowe i wizja systemu oprogramowania. Elementy modelowania procesów biznesowych. Techniki analizy procesów biznesowych w kontekście budowy systemu oprogramowania. Cechy systemu oprogramowania. Dokumentowanie wizji systemu.

Wykład 4

Wymagania użytkownika. Techniki analizy problemu. Zrozumienie potrzeb użytkownika i zamawiającego. Określanie zakresu systemu. Dokumentowanie wymagań użytkownika. Wymagania użytkownika, jako podstawa kontraktu między wykonawcą i zamawiającym.

Wykład 5

Specyfikowanie przypadków użycia systemu. Definicja przypadku użycia systemu. Notacja diagramów przypadków użycia. Relacje między przypadkami użycia. Punkty rozszerzenia. Opis przypadku użycia systemu. Zgodność modelu przypadków użycia z wizją systemu.

Wykład 6

Specyfikowanie wymagań jakościowych. Rodzaje wymagań jakościowych. Formułowanie metryk dla wymagań jakościowych. Powiązania wymagań jakościowych z wymaganiami funkcjonalnymi (tzw. operacjonalizacja wymagań jakościowych). Wpływ wymagań jakościowych na złożoność architektoniczną i koszt systemu.

Wykład 7

Specyfikowanie słownika dziedziny. Poszukiwanie pojęć w dziedzinie problemu. Przedstawianie słownika w formie graficznej. Definiowanie pojęć. Przedstawianie relacji między pojęciami oraz opisów przypadków użycia z pojęciami. Utrzymywanie jednolitości słownika - technika hiperłączy.

Wykład 8

Wymagania oprogramowania. Techniki specyfikowania szczegółowych wymagań odnośnie oprogramowania. Definiowanie systemu. Dokumentowanie wymagań oprogramowania. Wymagania oprogramowania jako podstawa projektowania systemu.

Wykład 9

Pisanie scenariuszy przypadków użycia. Notacja dla scenariuszy przypadków użycia. Zdania POD(D). Zapisywanie scenariuszy w formie graficznej; diagramy czynności. Wzorce scenariuszy przypadków użycia. Ponowne wykorzystanie specyfikacji scenariuszy.

Wykład 10

Tworzenie szczegółowego słownika dla systemu oprogramowania. Definiowanie atrybutów i operacji dla pojęć w słowniku. Szczegóły dla notacji graficznej słownika. Specyfikowanie fraz czasownikowych. Przygotowanie słownika w celu ponownego wykorzystania.

Wykład 11

Pisanie scenopisów i prototypowanie. Projektowanie interfejsu użytkownika, jako składnik specyfikowania wymagań. Definicja scenopisu. Tworzenie scen w ramach tworzenia prototypu systemu. Zgodność prototypu i scenopisów ze scenariuszami przypadków użycia.

Wykład 12

Techniki współpracy z klientem. Podsumowanie wiedzy na temat przeprowadzania wywiadów: przygotowanie wywiadu, zadawanie właściwych pytań, sterowanie wywiadem. Organizowanie warsztatów wymagań i burz mózgów. Rola moderatora i uczestników warsztatów.

Wykład 13

Wymagania w procesie wytwarzania oprogramowania. Wymagania w cyklu kaskadowym i iteracyjnym (przyrostowym). Śledzenie wymagań. Przejście od wymagań do budowy systemu. Budowa przypadków testowych na podstawie przypadków użycia. Zarządzanie zakresem systemu i zmianami wymagań.

Wykład 14

Ćwiczenia - przygotowanie do sprawdzianu końcowego

Projekt

Prowadzący: Michał Śmiałek, Wiktor Nowakowski

Grupy projektowe składają się z ok. 10 osób (po ok. 3 grupy projektowe na grupę dziekańską). Grupy projektowe oraz indywidualni studenci otrzymują punkty za przygotowanie do spotkań projektowych. Na każdym spotkaniu można zdobyć 2-3 pkt. grupowe lub 5 pkt. indywidualnych. Spotkania typu "wywiad" są oceniane indywidualnie (wywiad prowadzą kolejno 2 lub 3 wybrane osoby z grupy). Pozostałe spotkania oceniane są grupowo. Na ostatnim spotkaniu typu "prezentacja" wystawiana jest ocena końcowa dla grupy. Na spotkaniu podsumowującym wystawiana jest ocena indywidualna za indywidualnie wykonywane elementy specyfikacji wymagań.

Każda grupa składa się z 1 kierownika, 1 administratora oraz ok. 8 analityków wymagań.

Projekt wykonywany jest w narzędziu Enterprise Architect, przy wykorzystaniu systemu SVN zintegrowanego z e-Dziekanatem. Każda grupa projektowa ma przydzielone w systemie SVN repozytorium. Repozytorium należy zintegrować z narzędziem Enterprise Architect, zgodnie z instrukcją (help) zawartą w narzędziu. Model należy podzielić na pakiety. Za każdy pakiet odpowiada jeden analityk. Za pakiet słownika odpowiada kierownik i wszyscy analitycy. Pakiety powinny być wersjonowane w systemie SVN zgodnie z instrukcją EA. UWAGA: prowadzący ma w każdej chwili wgląd do repozytorium.

Spotkanie 1

Przedstawienie regulaminu projektu. Podział na grupy. Ustalenie harmonogramu spotkań. Omówienie pierwszego zadania. Omówienie wzorcowego modelu (pobierz: IWO.eap).

Spotkanie 2

Wywiad z zamawiającym - określenie procesów biznesowych i wizji systemu. (bez pkt. - wprowadzenie)

Spotkanie 3

Omówienie wstępnej wersji procesów biznesowych i wizji systemu. (2 pkt. grup.)

Spotkanie 4

Prezentacja i omówienie przygotowanego przez zespół dokumentu wizji systemu (wraz z procesami biznesowymi). (3 pkt. grup.)

Spotkanie 5

Wywiad z zamawiającym - określenie wymagań zamawiającego: przypadki użycia, słownik, wymagania jakościowe. (5 pkt. ind.)

Spotkanie 6

Omówienie wstępnej wersji specyfikacji wymagań zamawiającego. (2 pkt. grup.)

Spotkanie 7

Prezentacja i omówienie przygotowanego przez zespół dokumentu specyfikacji wymagań zamawiającego. Omówienie macierzy zależności opisującej zgodność wymagań użytkownika z wizją systemu i modelem biznesu. Omówienie podziału iteracji w oparciu o przypadki użycia (it1 - it3). (3 pkt. grup.)

Spotkanie 8

Wywiad z zamawiającym - określenie wymagań oprogramowania: szczegóły przypadków użycia. (5 pkt. ind.)

Spotkanie 9

Omówienie pierwszej iteracji specyfikacji wymagań oprogramowania. (2 pkt. grup.)

Spotkanie 10

Wywiad z zamawiającym - określenie wymagań oprogramowania: iteracja 2. (5 pkt. ind.)

Spotkanie 11

Omówienie drugiej iteracji specyfikacji wymagań oprogramowania. (2 pkt. grup.)

Spotkanie 12

Wywiad z zamawiającym - określenie wymagań oprogramowania: iteracja 3. (5 pkt. ind.)

Spotkanie 13

Omówienie trzeciej iteracji specyfikacji wymagań oprogramowania. (2 pkt. grup.)

Spotkanie 14

Prezentacja i omówienie ostatecznego dokumentu specyfikacji wymagań. Omówienie wyceny systemu (metoda Use Case Points). (9 pkt. grup.)

Spotkanie 15

Podsumowanie. (15 pkt. ind.)


2015-09-23 06:43