Inżynieria oprogramowania

Podobne dokumenty
Specyfikacja wymagań. Autor: Łukasz Olek. Szanowni Państwo! Witam serdecznie na kolejnym wykładzie z serii Inżynieria oprogramowania.

Specyfikacja wymagań. Autor: Łukasz Olek. Szanowni Państwo! Witam serdecznie na kolejnym wykładzie z serii Inżynieria oprogramowania.

Inżynieria oprogramowania II

PROJEKT INTERFEJSU UśYTKOWNIKA PROJEKT <NAZWA PROJEKTU> WERSJA <NUMER WERSJI DOKUMENTU>

Inżynieria oprogramowania wykład IV Faza określenia wymagań

Projektowanie Graficznych Interfejsów Użytkownika Robert Szmurło

Modelowanie przypadków użycia. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Faza Określania Wymagań

Inżynieria Oprogramowania. Robert Szmurło

Moduł raportowy systemu MGśP. Dokumentacja użytkownika

Kurier GLS by CTI. Instrukcja

Inżynieria wymagań. Wykład 2 Proces pisania przypadków użycia. Część 6 Wskazówki i sugestie

Cele przedsięwzięcia

Inżynieria oprogramowania. Wykład 7 Inżynieria wymagań: punkty widzenia, scenariusze, przypadki użycia

INSTRUKCJA UŻYTKOWNIKA

Wymagania klienta mogą być opisane na różnych poziomach abstrakcji: Podział wymagań: Wymagania funkcjonalne Wymagania niefunkcjonalne

Określanie wymagań. Cele przedsięwzięcia. Kontekst przedsięwzięcia. Rodzaje wymagań. Diagramy przypadków użycia use case diagrams

Procesowa specyfikacja systemów IT

Specyfikowanie wymagań przypadki użycia

Diagramy przypadków użycia

Obsługa modułu. e-deklaracje. w programach WF-FaKir oraz WF-Gang. (opracował Przemysław Gola)

Cel wykładu. Literatura. Wyższa Szkoła Menedżerska w Legnicy. Modelowanie wymagań Wykład 2

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Moduł Użytkownika w ING BankOnLine. Opis funkcjonalności systemu ING BankOnLine Moduł Użytkowników

Zasady organizacji projektów informatycznych

REQB POZIOM PODSTAWOWY PRZYKŁADOWY EGZAMIN

Prowadzone są przeliczenia z PLN na Euro i odwrotnie.

Zagadnienia (1/3) Inżynieria Oprogramowania

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

Instrukcja obsługi Generatora

Co to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką?

Projektowanie bazy danych przykład

Bazy danych do rejestracji termograficznych badań medycznych

KATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

Analiza i projektowanie obiektowe 2015/2016. Wykład 2: Przypadki użycia

REKOMENDACJE DOTYCZĄCE PLATFORMY ZARZĄDZANIA KOMPETENCJAMI

BSX PRINTER INSTRUKCJA UŻYTKOWNIKA. Autor: Karol Wierzchołowski 30 marca 2015

Maciej Oleksy Zenon Matuszyk

PLATFORMA ACTIVE FORMS. Kreator Formularzy Internetowych ze wsparciem dla RWD

System kadrowo-płacowy KOMAX 2.0

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2

Wykład 1 Inżynieria Oprogramowania

Egzamin / zaliczenie na ocenę*

Przelewy24 Wirtualny Koszyk

Projektowanie oprogramowania. Wykład Weryfikacja i Zatwierdzanie Inżynieria Oprogramowania Kazimierz Michalik

WOJSKOWA AKADEMIA TECHNICZNA

Specyfikacja wymagań systemowych (może podlegać edytowaniu na kolejnych etapach)

INSTRUKCJA grupowania dokumentów do koperty / dokładania załączników pdf do listu

Metodyka projektowania komputerowych systemów sterowania

FORMULARZ OCENY PARAMETRÓW TECHNICZNYCH

ARCHIWUM PRAC DYPLOMOWYCH

Prezentacja programu. Parentis Sp. z o.o. Dział Informatyki. Kartoszyno, ul. Przemysłowa 5, Krokowa

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Biznesowy serwis internetowy umożliwiający bezpieczne weryfikowanie poprawności danych wygenerowanych w Jednolitych Plikach Kontrolnych (JPK).

Dlaczego GML? Gdańsk r. Karol Stachura

Wprowadzenie do systemów informacyjnych

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI

Łatwa czy niełatwa droga do celu? - wdrożenie COSMIC w ZUS

Firma Handlowa GIGA Utworzono : 28 czerwiec 2016

ZAPYTANIE OFERTOWE Dotyczy: Zakupu specjalistycznego oprogramowania niezbędnego do świadczenia usług w ośrodku doskonalenia techniki jazdy.

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie

Archiwum Prac Dyplomowych.

Wymagania pozafunkcjonalne - projektowanie interfejsu użytkownika

Wymagania na poszczególne oceny szkolne dla klasy VI. (na podstawie Grażyny Koba, Teraz bajty. Informatyka dla szkoły podstawowej.

Instrukcja uŝytkownika

plansoft.org Zmiany w Plansoft.org Panel wyszukiwania PLANOWANIE ZAJĘĆ, REZERWOWANIE SAL I ZASOBÓW

unikupon.pl Unikupon PC Instrukcja obsługi

Projektowanie baz danych za pomocą narzędzi CASE

Wersja programu

Archiwum Prac Dyplomowych

ZARZĄDZANIE PROJEKTAMI I PROCESAMI. Mapowanie procesów AUTOR: ADAM KOLIŃSKI ZARZĄDZANIE PROJEKTAMI I PROCESAMI. Mapowanie procesów

Instrukcja uŝytkownika

Diagramy obiegu dokumentów a UML w modelowaniu procesów biznesowych. Stanisław Niepostyn, Ilona Bluemke Instytut Informatyki, Politechnika Warszawska

UPEDU: Rozpoznanie wymagań (ang. requirements discipline)

Spis treści. Rejestracja/logowanie. Zmiana numeru konta klienta. Tworzenie nowej przesyłki. Zamawianie kuriera

HumanTechnology. Projektowanie interakcji. czyli łatanie dziury w procesie produkcji

Wstęp. Inżynieria wymagań. Plan wykładu. Wstęp. Wstęp. Wstęp. Schemat procesu pozyskiwania wymagań

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym

SPECYFIKACJA WYMAGAŃ

Instrukcja do programu DoKEX 1.0

raporty-online podręcznik użytkownika

Instrukcja modułu BKD - Wykonawca

Piotr Krząkała. Dyrektor Handlowy ds. Kluczowych Klientów

Etapy życia oprogramowania

WOJSKOWA AKADEMIA TECHNICZNA

Modelowanie i analiza systemów informatycznych Spis treści

Za 0 zł ułatwisz bieżącą pracę szkoły

PRZEWODNIK PO PRZEDMIOCIE

Tester oprogramowania 2014/15 Tematy prac dyplomowych

Inżynieria wymagań. Jarosław Kuchta Dokumentacja i Jakość Oprogramowania

Inżynieria wymagań. Wykład 2 Proces pisania przypadków użycia. Część 3 Identyfikacja przypadków użycia

Przelewy24 Wirtualny Koszyk

Podstawy programowania III WYKŁAD 4

Załącznik numer 1 do Instrukcji Zarządzania Systemem Informatycznym Załącznik numer 1 do Instrukcji Zarządzania Systemem Informatycznym

Laboratorium nr 5. Bazy danych OpenOffice Base.

RFP. Wymagania dla projektu. sklepu internetowego B2C dla firmy Oplot

Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania

Programowanie od pierwszoklasisty do maturzysty. Grażyna Koba

Transkrypt:

Inżynieria oprogramowania Definicja IEEE: inżynieria oprogramowania jest to zastosowanie - systematycznego, - zdyscyplinowanego, - ilościowego podejścia do - rozwoju, - eksploatacji - utrzymania oprogramowania.

Inżynieria oprogramowania Inżynieria oprogramowania jest jednym z czternastu obszarów informatyki wyodrębnionych w dokumencie Computing Curricula 2001 stworzonym wspólnie przez ACM oraz IEEE (inne to np. sztuczna inteligencja, bazy danych, systemy operacyjne, grafika komputerowa).

Obligatoryjne jednostki wiedzy Wymagania Projektowanie Walidacja Ewolucja Procesy Zarządzanie Narzędzia API

Opcjonalne jednostki wiedzy Metody formalne Systemy specjalne Komponenty Niezawodność

Specyfikacja wymagań Powinna być to najważniejsza część kontraktu pomiędzy klientem a dostawcą (firmą informatyczną) Wymaganie = opis co system powinien robić Specyfikacja = zbiór wymagań

Problemy W założeniu po spisaniu wymagań klient dostanie to, czego potrzebuje. Problemy lingwistyczne: raport miesięczny, SAD (dokument celny) Wiedza świadoma i nieświadoma (np. klawiatura musi być po tej samej stronie telefonu co ekran) Spisywanie wymagań to sztuka

Podział wymagań Funkcjonalne (użytkownika): Wprowadzanie nowej faktury Generowanie raportu miesięcznego Pozafunkcjonalne (bezpieczeństwo, wydajność, niezawodność) minimum 20 faktur na godzinę 200000h MTBF maksimum 2 godziny potrzebne na przeszkolenie 1 pracownika

Podejścia do tworzenia specyfikacji System powinien... Funkcje systemu Przypadki użycia

System powinien... Wystawiać faktury, generować miesięczne zestawienie faktur, faktura powinna... itp. IEEE 830-1998 Łatwe spisywanie Słaba czytelność Trudne sprawdzanie spójności, kompletności i poprawności

Funkcje systemu Analogicznie do funkcji matematycznych, mamy: Wejście: pozycje faktury Wyjście: wysłanie faktury Efekty uboczne: zapis faktury w rejestrze Słaba czytelność (rozbicie na wiele małych funkcji) Trudne do zrozumienia

Przypadki użycia Łatwość spisywania Czytelność Łatwość zrozumienia, podział hierarchiczny

Przypadki użycia Nazwa: Wystawianie faktury fraza czasownikowa Identyfikator: UC1 Główny scenariusz: 1. Sprzedawca pragnie wystawić fakturę. 2. Sprzedawca wpisuje pozycje faktury. 3. System podlicza fakturę, nadaje jej nowy numer i zapisuje w rejestrze 4. Sprzedawca drukuje fakturę.

Przypadki użycia Rozszerzenia: 3.A. Sprzedawca nie dodał ż adnej pozycji 3.A.1. System prosi o ponowne wprowadzenie pozycji (powrót do 2.) Atrybuty: Główny aktor: Użytkownik Priorytet: Wysoki Źródło: Jan Kowalski

Diagram przypadków użycia Nazwy przypadków użycia Powiązania z aktorami Dobre jako mapa

Fraza czasownikowa w nazwie Kilka przykładów złych nazw: Nazwy nic nie znaczące: Główny przypadek użycia, Przypadek użycia 2 Zbyt ogólna, przez co nie stanowi żadnej wartości dla czytelnika: Zarządzanie

Scenariusz i rozszerzenia Generalną zasadą jest zwięzłość i przejrzystość, aby czytelnik nie pogubił się. Dlatego, każdy scenariusz powinien zawierać od 3-9 kroków (gdy jest ich mniej, specyfikacja wymagań jest zbyt fragmentaryczna, natomiast gdy jest ich więcej - czytelnik nie jest w stanie ogarnąć pamięcią całości). Ze względu na czytelność, również poszczególne kroki scenariusza nie powinny być zbyt skomplikowane. Najlepiej gdy są wyrażone prostym zdaniem zawierającym podmiot (czyli aktora). Rozszerzenia natomiast, to sekwencje kroków wykonywane podczas sytuacji wyjątkowych. Numer rozszerzenia składa się zawsze z numeru kroku, którego rozszerzenie dotyczy, oraz litery stanowiącej numer rozszerzenia (w ramach tego kroku). Czyli przykładowo możemy się spotkać z takimi rozszerzeniami: 1.A. 2.A. 3.A. 1.B.

Obojętność technologiczna Błędem jest, gdy przypadki użycia zawierają szczegóły technologiczne: technologia jest zmienna - może sie okazać, że następny podobny projekt będzie realizowany w nowej technologii, mimo że część wymagań będzie identyczna. Jeżeli przypadki użycia będą zawierać szczegóły technologiczne, to ponowne zastosowanie raz napisanych wymagań będzie dużo trudniejsze szczegóły Graficznego Interfejsu Użytkownika (ang. GUI - Graphical User Interface) zaciemniają jedynie obraz czytelnika - gubi się on w gąszczu szczegółów. Czasem jednak jest potrzeba zobrazowania klientowi takich szczegółów - wtedy warto naszkicować poszczególne ekrany aplikacji i dodać je jako załącznik do specyfikacji wymagań klient nie rozumie terminów technicznych w stylu SOAP, baza danych, HTTP, itp.

Szerokość przed głębokością Kolejność: 1. Lista aktorów 2. Nazwy przypadków użycia 3. Główny scenariusz 4. Rozszerzenia

Mały zespół autorów 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łych zespołów z jednym architektem odpowiedzialnym za spójną wizję systemu

Zrównoważony zespół 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

UC1: Faktura Główny scenariusz: 1. Sprzedawca wpisuje kod dostępu. 2. System weryfikuje użytkownika. 3. Kliknięcie na przycisk wystawiania faktury. 4. System prezentuje formularz. 5. Wpisanie pozycji w dolnym okienku. 6. Wpisanie wartości pozycji, stawki VAT, liczby pozycji i nr. porządkowego. 7. System podlicza fakturę i prezentuje sumę. 8. System nadaje nowy numer i zapisuje w rejestrze faktur. 9. Wydruk faktury. 10. Jeżeli wystawianie faktur zakończyło się, to użytkownik się wylogowuje. Rozszerzenia: 3.A. Sprzedawca nie dodał żadnej pozycji 3.A.1. System prosi o ponowne wprowadzenie pozycji (powrót do 2.)

Najważniejsze błędy Tytuł przypadku użycia nie mówi, czym przypadek użycia będzie się zajmował (nie wiemy czy to jest wystawienie faktury, wysłanie, przefaksowanie, odbiór, czy cokolwiek innego) W krokach 3, 5, 6, 7 znajdują się zbędne szczegóły (część to szczegóły techniczne, np. informacje o GUI, wyliczenia pól na ekranie, itp.) W krokach 3, 5, 6, 9 - nie ma sprecyzowanego podmiotu, czyli aktora, który wykonuje krok. Krok 10 zawiera konstrukcję warunkową - warunki powinny się znaleźć w sekcji rozszerzeń, a nie w głównym scenariuszu. Scenariusz posiada 10 kroków, czyli jest za długi dla przeciętnego czytelnika. Liczba kroków powinna oscylować pomiędzy 3-9.

Zbieranie wymagań Oceń możliwość zbudowania systemu Zapisuj źródła wymagań Zdefiniuj środowisko operacyjne

Analiza i negocjacja wymagań Określ granice systemu Korzystaj z list kontrolnych podczas analizy wymagań Określ priorytety wymagań

Walidacja wymagań Sprawdź, czy wymagania spełniają standardy Zorganizuj formalne inspekcje wymagań Zdefiniuj listy kontrolne walidacji Wykorzystaj zespoły wielodyscyplinarne do przeglądów wymagań