Innowacyjność w inżynierii wymagań 10:00-10:15 Wprowadzenie 10:15-11:30 Innowacje w inżynierii wymagań 11:30–12:00 Przerwa kawowa 12:00-13:30 UC Workbench - ćwiczenia 13:30-14:30 Obiad 14:30-16:00 Przeglądy w oparciu o listy kontrolne
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Plan dnia ▪ 10:00-10:15 Wprowadzenie ▪ 10:15-11:30 Innowacje w inżynierii wymagań ▪ 11:30–12:00 Przerwa kawowa ▪ 12:00-13:30 UC Workbench - ćwiczenia ▪ 13:30-14:30 Obiad ▪ 14:30-16:00 Przeglądy w oparciu o listy kontrolne
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Dojrzałość wytwarzania oprogramowania
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Dojrzałość wytwarzania oprogramowania
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Poziomy dojrzałości CMMI 1. Początkowy 2. Zarządzany (powtarzalny) 3. Zdefiniowany 4. Zarządzany ilościowo 5. Optymalizujący
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Poziomy dojrzałości IW 1. Początkowy 2. Zarządzany 3. Zdefiniowany ▪ Sommerville & Sawyer ’97 ▪ 8 obszarów ▪ 66 dobrych praktyk
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Dobre praktyki IW Obszar Podst. 36 Pośred. 21 Zaaw. 9 Dokument wymagań8-- Zbieranie wymagań661 Analiza i negocjacja wym.521 Opisywanie wymagań41- Modelowanie systemu33- Walidacja wymagań431 Zarządzanie wymaganiami432 IW dla systemów krytycznych234 BIA
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Przykładowe praktyki Obszar PodstPośrZaaw Dokument wymagań8-- Zbieranie wymagań661 Analiza i negocjacja521 Opisywanie wymagań41- Modelowanie systemu33- Walidacja wymagań431 Zarządzanie wym.432 IW dla systemów krytycznych 234 Zdefiniuj standardową strukturę dokumentu Napisz szkic podr. użytkownika Korzystaj z przypadków użycia do pozyskiwania wym. Wykorzystuj wym. ponownie Animuj wymagania przy użycia prototypu Zaproponuj przypadki testowe dla wymagań Oceniaj ryzyko wymagań BIA
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Ocena procesów IW 3 punkty standard w organizacji 2 punkty powszechne użycie 1 punktsporadycznie 0 punktównigdy
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Ocena procesów IW
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Model dojrzałości IW Poziom 1 - Początkowy - podejście ad-hoc - częste problemy z wymaganiami Poziom 2 - Powtarzalny - standardy dla dokumentu wymagań i czynności - mniej problemów Poziom 3 - Zdefiniowany - z góry zdefiniowany proces IW bazujący na najlepszych praktykach - obecny program poprawy procesu Podst < 55 Podst >= 55, Pośr & Zaaw < 40 Podst >= 85, Pośr & Zaaw >= 40
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Jak zapisywać wymagania? ▪ 1997, S & S: „Korzystaj z przypadków użycia do wydobywania wymagań” ▪ 2000, Alistair Cockburn: „Writing Effective Use Cases” ▪ 2003, Steve Adolph et al.: „Patterns for Effective Use Cases”
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Plan dnia ▪ 10:00-10:15 Wprowadzenie ▪ 10:15-11:30 Innowacje w inżynierii wymagań ▪ 11:30–12:00 Przerwa kawowa ▪ 12:00-13:30 UC Workbench - ćwiczenia ▪ 13:30-14:30 Obiad ▪ 14:30-16:00 Przeglądy w oparciu o listy kontrolne
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Cel wykładu ▪ Umiejętność tworzenia przypadków użycia ▪ Umiejętność zastosowania wybranych „dobrych praktyk” ▪ Znajomość zalet i wad narzędzi: Rational RequisitPro UC Workbench
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Rational RequisitPro
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Rational RequisitPro
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. UC Workbench
Sommerville & Sawyer Wybrane praktyki
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. SS: Dokument wymagań ▪ Określ standardową strukturę dokumentu: Zalety: — Łatwiejsze czytanie kolejnych dokumentów — Standard jako lista kontrolna IEEE : — 1. Wprowadzenie — 2. Ogólny opis produktu — 3. Wymagania funkcjonalne — 4. Wymagania pozafunkcjonalne — Dodatki — Indeks B
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. RequisitPro/UC Workbench
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. SS: Pozyskiwanie i analiza wym. ▪ Zapisuj źródła wymagań (ludzie, dokumenty): Główny koszt to konsultacja ze źródłami wymagań Źródło jest często pomocne w zrozumieniu uzasadnienia wymagania ▪ Przydziel wymaganiom priorytety: Pomaga znaleźć główne wymagania Pomaga rozwiązywać konflikty pomiędzy udziałowcami B B
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. RequisitPro/UC Workbench
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. SS: Analiza i negocjacja wym. ▪ Korzystaj z list kontrolnych podczas analizy wymagań: Systematyczne sprawdzenie każdego wymagania Redukuje prawdopodobieństwo błędów i przeoczeń Tworzenie listy kontrolnej to „reużywanie” wiedzy dot. Wymagań ▪ Problemy: Niewłaściwe listy kontrolne Skupianie się jedynie na problemach z listy B
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Przykładowa lista kontrolna
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Przykładowe pytania kontr. (1) ▪ Czy każdy krok przypadku użycia ma określonego aktora, który go wykonuje? ▪ Czy przypadek użycia ma 3-9 kroków? ▪ Czy aktorzy występujący w przypadku użycia są zdefiniowani? ▪ Czy odwołania do kroków i innych przypadków użycia są poprawne?
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Przykładowe pytania kontr. (2) ▪ Czy jest jasny cel przypadku użycia i korzyść wynikająca dla aktora z osiągnięcia celu? ▪ Czy tytuł przypadku użycia wystarczająco odzwierciedla ten cel przypadku użycia? ▪ Czy jest jasne, który aktor wykonuje przypadek użycia? ▪ Czy przypadek użycia dobrze oddaje intencje użytkownika? ▪ Czy przypadek użycia jest wolny od szczegółów projektowych i technicznych (również GUI)?
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. RequisitPro/UC Workbench ×
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. SS: Walidacja wymagań ▪ Animuj wymagania za pomocą prototypu: Prototyp działa na wyobraźnię udziałowców Łatwiejsze znalezienie problemów i zaproponowanie ulepszeń Podstawa do tworzenia testów wymagań I
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. RequisitPro/UC Workbench ×
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. SS: Walidacja wymagań ▪ Zaproponuj przypadki testowe dla wymagań: Efektywny sposób odkrywania problemów wymagań (np.: niekompletność, niejasność) Zaproponowane przypadki testowe można wykorzystać w fazie testowania I
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. RequisitPro/UC Workbench ▪ 2005/2006: Generowanie skryptów testowych w oparciu o przypadki użycia Automatyczna pielęgnacja przypadków testowych Tworzenie testów bezpośrednio na makiecie ×
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. SS: Analiza i negocjacja wym. ▪ Wykorzystuj macierze interakcji do wykrycia konfliktów I
Wzorce efektywnych przypadków użycia
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Wzorce przypadków użycia ▪ Zespół (3) ▪ Proces (4) ▪ Zbiór przypadków użycia (1) ▪ Przypadek użycia (3) ▪ Scenariusze i kroki (1)
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Przypadek użycia UC1: Rejestracja na szkolenie Główny aktor: Firma Priorytet: Wysoki Źródło: Ewa Nawrocka Główny scenariusz: 1. Firma otwiera kalendarium. 2. System prezentuje listę szkoleń w widoku dwuletnim. 3. Firma wybiera szkolenie i rejestruje się na nie. Rozszerzenia: 3.A. Firma posiada zaległe ankiety do wypełnienia. 3.A.1. System wyświetla prośbę o wypełnienie ankiet przed przystąpieniem do rejestracji na szkolenie. Przypadek użycia kończy się.
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Zespół (1/3) ▪ MałyZespółAutorów (SmallWritingTeam): wielkość zespołu to najważniejszy czynnik wpływający na jakość 2-3 osoby w zupełności wystarczają zaangażuj więcej osób w proces recenzji duże systemy – kilka MałychZespołówAutorów z jednym architektem odpowiedzialnym za spójną wizję systemu
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Zespół (2/3) ▪ UdziałPubliczności (ParticipatingAudience): dobre wymagania potrzebują wkładu i sprzężenia zwrotnego udziałowców użytkownicy nie patrzą z tej samej perspektywy co analitycy włączaj klientów i przyszłych użytkowników systemu
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Zespół (3/3) ▪ ZrównoważonyZespół (BalancedTeam): grupa podobnych specjalistów skupi się jedynie na ograniczonych problemach synergia: kompensuj słabe strony jednych, dobrymi stronami innych połącz ludzi różnej specjalności analitycy i użytkownicy ▪ SS: Wykorzystaj ludzi z różnych dyscyplin do przeglądu wymagań B
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Proces (1/4) ▪ RóżneFormy (MultipleForms): — zarys — forma niestrukturalna — forma strukturalna wybór zależy od potrzeb projektu UC Workbench: — zarys — forma strukturalna
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Proces (1/4): RóżneFormy ▪ Zarys: Rejestracja na szkolenie: Firma wybiera z kalendarium szkolenie, które ją interesuje i zapisuje się na nie
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Proces (1/4): Różne formy ▪ Forma niestrukturalna: Rejestracja na szkolenie: Firma wybiera z kalendarium szkolenie, na które chce się zapisać. System zapisuje firmę na to szkolenie i informuje ją poprzez wysłanie a. W przypadku gdy firma posiada zaległe ankiety, system prosi ją o uzupełnienie ich przed rejestracją.
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Proces (1/4): Różne formy ▪ Forma strukturalna UC1: Rejestracja na szkolenie Główny aktor: Firma Priorytet: Wysoki Źródło: Ewa Nawrocka Główny scenariusz: 1. Firma otwiera kalendarium. 2. System prezentuje listę szkoleń w widoku dwuletnim. 3. Firma wybiera szkolenie i rejestruje się na nie. Rozszerzenia: 3.A. Firma posiada zaległe ankiety do wypełnienia. 3.A.1. System wyświetla prośbę o wypełnienie ankiet przed przystąpieniem do rejestracji na szkolenie. Przypadek użycia kończy się. Wspierana przez UC Workbencha
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Proces (2&3/4) ▪ SzerokośćPrzedGłębokością (BreadthBeforeDepth) & RozwójSpiralny (SpiralDevelopment): pozyskiwania wymagań to proces odkrywczy pisanie kompletnych przypadków użycia od razu to strata energii zacznij od zarysu przypadku użycia, stopniowo dodawaj szczegółów
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Proces (2&3/4) ▪ Lista Aktor-Cel FirmaRejestracja na szkolenie Pobieranie artykułu Zgłoszenie do udziału w projekcie KonsultantAkceptuje zgłoszenia nowych firm Zarządza artykułami w portalu Przeprowadza ankiety
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Proces (2&3/4) UC1: Rejestracja na szkolenie Główny aktor: Firma Priorytet: Wysoki Źródło: Ewa Nawrocka Główny scenariusz: 1. Firma otwiera kalendarium. 2. System prezentuje listę szkoleń w widoku dwuletnim. 3. Firma wybiera szkolenie i rejestruje się na nie. Rozszerzenia: 3.A. Firma posiada zaległe ankiety do wypełnienia. 3.A.1. System wyświetla prośbę o wypełnienie ankiet przed przystąpieniem do rejestracji na szkolenie. Przypadek użycia kończy się.
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Proces (4/4) ▪ PrzeglądDwupoziomowy (TwoTierReview): ▪ przeglądy są konieczne ▪ przeglądy są kosztowne ▪ wymagania muszą być przejrzane przez wiele osób ▪ 2-poziomowe przeglądy: I wewnętrzny II zewnętrzny ⇒
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Zbiór przypadków użycia (1/1) ▪ StaleRozwijalnaHistoria (EverUnfoldingStory): Hierarchiczne scenariusze Można rozwijać, lub zwijać w celu pokazania lub ukrycia szczegółów „We don’t know how you like to spend your time, but reading a thirty-page use case is not our idea of fun”
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Zbiór przypadków użycia (1/1) ▪ Poziom celu użytkownika: główny aktor osiąga zamierzony cel, najczęściej podczas jednej sesji przy komputerze
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Zbiór przypadków użycia (1/1) ▪ Poziom podfuncji: osiągnięcie częściowego celu użytkownika, precyzuje wykonanie pewnej funkcji
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Zbiór przypadków użycia (1/1) ▪ Poziom streszczenia (biznesowy): składa się z wielu celów użytkownika, może trwać tygodniami, miesiącami, latami…
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. StaleRozwijalnaHistoria
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. StaleRozwijalnaHistoria
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. StaleRozwijalnaHistoria
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Przypadek użycia (1/2) ▪ FrazaCzasownikowaWNazwie (VerbPhraseName): nie stosuj ogólnych, niewiele znaczących nazw: — Główny przypadek użycia — Przypadek użycia 2 — Zarządzanie zastosuj frazę czasownikową dobrze określającą cel przypadku użycia: — Przebieg projektu InMoST — Publikowanie artykułów
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Przypadek użycia (2/2) ▪ ScenariuszPlusRozszerzenia (ScenarioPlusFragments): konstrukcje warunkowe zaśmiecają scenariusz ludzie dobrze sobie radzą z narastającym poziomem złożoności scenariusz główny zakłada pełne powodzenie osobno znajdują się rozszerzenia, które pokazują sytuacje alternatywne (np. obsługa błędu) ⇒
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Scenariusze i kroki (1/1) ▪ ObojętnośćTechnologiczna (TechnologyNeutral): technologia jest zmienna niepotrzebne ograniczenia szczegóły zaciemniają obraz (zwłaszcza szczegóły GUI)
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. ObojętnośćTechnologiczna – zły przykład UC1: Rejestracja na szkolenie Główny scenariusz: 1. Firma otwiera główną stronę portalu. 2. Firma klika na link kalendarium, a następnie na datę, która ją interesuje 3. System prezentuje szczegóły szkolenia: nazwę, lokalizację, datę i godzinę oraz plan szkolenia. 4. Firma naciska przycisk rejestracji na szkolenie. 5. System pyta o imię i nazwisko osoby rejestrowanej oraz jej System weryfikuje formularz oraz zapisuje użytkownika w wewnętrznej bazie danych Rozszerzenia: …
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Elementy struktury języka ▪ Kroki zagnieżdżone: 1. Użytkownik wybiera książki do koszyka: 1.1. Użytkownik wyszukuje książkę i dodaje ją do koszyka System uaktualnia koszyk i pokazuje jego wartość. ▪ Alternatywy: 1.Either: Użytkownik dodaje książkę. 2.Or: Użytkownik usuwa książkę.
Ćwiczenia praktyczne
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. BC1.3. Główny przypadek użycia
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. UC3.1. Redagowanie ankiety
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. UC3.2. Wypełnianie ankiety
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. UC3.3. Logowanie się firmy w portalu
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. UC Dodanie komponentu do ankiety
Dziękuję za uwagę Zapraszam na kawę…