Wymagania, specyfikacja i projektowanie

Podobne dokumenty
Faza Określania Wymagań

Metodyka projektowania komputerowych systemów sterowania

MODELE CYKLU ŻYCIA OPROGRAMOWANIA (1) Model kaskadowy (często stosowany w praktyce do projektów o niewielkiej złożonoś

PROJEKTOWANIE. kodowanie implementacja. PROJEKT most pomiędzy specyfikowaniem a kodowaniem

Metoda eliminacji Gaussa

Praktyka testowania dla początkujących testerów

Inżynieria wymagań. Inżynieria wymagań 1/1

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

Podstawy programowania III WYKŁAD 4

Jarosław Kuchta Dokumentacja i Jakość Oprogramowania. Wymagania jakości w Agile Programming

Etapy życia oprogramowania

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

Cyfrowy rejestrator parametrów lotu dla bezzałogowych statków powietrznych. Autor: Tomasz Gluziński

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

Egzamin / zaliczenie na ocenę*

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

Zarządzanie konfiguracją produktu w całym cyklu Ŝycia. Aleksandra Grzywak-Gawryś Warsztaty Rola IRIS w branŝy kolejowej

Testowanie wymagań KAROLINA ZMITROWICZ, RADOSŁAW SMILGIN

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

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

Wykład 7. Projektowanie kodu oprogramowania

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

Wrocław, dnia 21 maja 2015 r. Wszyscy, którzy pobrali SIWZ

Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1

ZASADY UZNAWANIA PROGRAMÓW KOMPUTEROWYCH

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

SVN. 10 października Instalacja. Wchodzimy na stronę i pobieramy aplikację. Rysunek 1: Instalacja - krok 1

Szybkie prototypowanie w projektowaniu mechatronicznym

Analiza najczęstszych błędów w sprawozdawanych danych

Wykład I. Wprowadzenie do baz danych

Narzędzia informatyczne wspierające przedsięwzięcia e-commerce

Algorytmy i struktury danych

Dlaczego testowanie jest ważne?

Kompresja bezstratna. Entropia. Kod Huffmana

Programowanie I. Wprowadzenie. Proces programowania

Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).

2 Zarówno zanonimizowany zbiór danych ilościowych, jak i opis jego struktury powinny mieć format csv:

Języki i metodyka programowania

Spis treści. 1 Moduł RFID (APA) 3

1 Układy równań liniowych

Macierze symetryczne i nasycone grupy permutacji

1 Moduł Modbus ASCII/RTU 3

DLA SEKTORA INFORMATYCZNEGO W POLSCE

Jakość w procesie wytwarzania oprogramowania

Zadanie 1. Suma silni (11 pkt)

SIECI KOMPUTEROWE Adresowanie IP

1 Moduł Modbus ASCII/RTU

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura

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

Instrukcja rejestracji programu MicroSurvey FieldGenius.

POLITECHNIKA OPOLSKA

Normalizacja baz danych

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

Ć W I C Z E N I A Z W Y K O R Z Y S T A N I E M E D Y T O R A T E K S T U. M i c r o s o f t

Zad. 5: Układ równań liniowych liczb zespolonych

Diagram przypadków użycia

Zakres wykładu. Podstawy InŜynierii Oprogramowania

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

zna metody matematyczne w zakresie niezbędnym do formalnego i ilościowego opisu, zrozumienia i modelowania problemów z różnych

Inżynieria Programowania Inżynieria wymagań. Plan wykładu. Motto. Wstęp. Notatki. Notatki. Notatki. Notatki. Arkadiusz Chrobot

ZASADY TWORZENIA OPROGRAMOWANIA

Testowanie oprogramowania

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania

1 Moduł Konwertera. 1.1 Konfigurowanie Modułu Konwertera

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Algorytm. Algorytmy Marek Pudełko

STANDARDY PRZYGOTOWANIA PRACY DYPLOMOWEJ W WSHE

3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki.

Tab. 1 Tab. 2 t t+1 Q 2 Q 1 Q 0 Q 2 Q 1 Q 0

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9,

<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0>

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

1 Wprowadzenie do algorytmiki

Jacek Skorupski pok. 251 tel konsultacje: poniedziałek , sobota zjazdowa

Sposoby sprawdzania osiągnięć edukacyjnych uczniów

Wstęp do zarządzania projektami

Algorytm. Krótka historia algorytmów

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

Temat 12. Rozkaz Wykonać! Języki programowania

Polcode Code Contest PHP-10.09

Algorytmy i struktury danych. wykład 2

Podstawy programowania

Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation)

Spis treúci. 1. Wprowadzenie... 13

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

Rozdział ten zawiera informacje o sposobie konfiguracji i działania Modułu OPC.

Załącznik nr 19 do Umowy nr... z dnia... Plan Testów Systemu. Projekt ZEFIR 2

Rozdział 5: Zarządzanie testowaniem. Pytanie 1

PROGRAMOWALNE STEROWNIKI LOGICZNE

Efekt kształcenia. Ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną w zakresie algorytmów i ich złożoności obliczeniowej.

Nierówność Krafta-McMillana, Kodowanie Huffmana

KATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA

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

1 Moduł Centrali PPoż 3

UKŁADY MIKROPROGRAMOWALNE

9 10 = U1. Przykład dla liczby dziesiętnej ( 9): negacja 1001= =10110 U1. Podsumowując: w zapisie dziesiętnym

APIO. W7 SPECYFIKACJA (UŻYCIA) DOSTĘPU DO DANYCH I SPOSOBU ICH PRZETWARZANIA 1. METODA CRUD 2. LOGIKA FUNKCJI

Laboratorium 5 - Projektowanie programów zorientowanych obiektowo. Indywidualny projekt programistyczny

Zapisywanie algorytmów w języku programowania

Transkrypt:

określenie wymagań specyfikowanie projektowanie kodowanie implementacja testowanie produkt konserwacja Faza strategiczna Analiza Dokumentacja Instalacja Właściwości dobrych wymagań zrozumiałe dla użytkowników zwięzłe jednoznaczne dające się śledzić bez zbędnych wytycznych precyzyjne spójne umożliwiające testowanie łatwe do modyfikacji jasne kompletne wykonalne Inżynieria Oprogramowania, w6, 1#10

Zrozumiałe dla użytkowników...aby zapewnić przewidywalne działanie, system nie powinien posługiwać się metodami niedeterministycznymi... (wymaganie główne)...działanie systemu powinno być przewidywalne i powtarzalne... Wymagania wyprowadzone powinny być pomijane lub rejestrowane jako zlecenia dla projektanta (wymaganie wyprowadzone)... system nie powinien stosować metod niedeterministycznych... Inżynieria Oprogramowania, w6, 2#10

Brak zbędnych wytycznych Dokument wymagań: co oprogramowanie będzie robić (nie jak)...oprogramowanie zastosuje B-drzewa w celu składowania informacji przechowywanej w pamięci... Decyzje dotyczące algorytmów lub struktur danych należą do dokumentu projektowania a nie do dokumentu wymagań Poprawność Jedynym sędzią poprawności jest UŻYTKOWNIK... system będzie przyjmował dane wejściowe na 10 stanowiskach... Wymagania zasadnicze z punktu widzenia kosztów i możliwości (łatwo realizowane) należą do twórców oprogramowania Inżynieria Oprogramowania, w6, 3#10

Kompletność Czy nie brakuje żadnego z wymagań koniecznych? Czy w danym wymaganiu nie brakuje informacji? Choć nie znamy wszystkich warunków działania systemu to zaznaczamy je dla uniknięcia niekompletności (wymaganie blankietowe - jedno stwierdzenie dla wielu sytuacji)... system dostarczy operatorowi informacji potrzebnych do bezpiecznego wyłączenia maszyny, jeśli wystąpi sytuacja wyjątkowa......system dostarczy operatorowi komunikaty z zaznaczeniem czasu, opisujące sytuacje wyjątkowe... (działania operatora przerzucamy na instrukcję) (... system dostarczy operatorowi komunikaty z zaznaczeniem czasu, opisujące wyjątkowe sytuacje w systemie (lista sytuacji wyjątkowych TBD)... Inżynieria Oprogramowania, w6, 4#10

Zwięzłość Eliminacja skrótów na poziomie wymagań (GB, Gb, PAO itp.) Pisząc zawile, można zgubic sedno...wiemy, że dobre systemy dostarczają użytkownikowi docelowemu dobrych parametrów przy jak największej pojemności pamięci operacyjnej. Z tego powodu sugerujemy aby system uzyskiwał odpowiednią efektywność pracy przy wielkości PAO równej 1GB, ponieważ jest to najtańsza pamięć, jaką możemy zakupić u wskazanego dostawcy. Użytkownik oczywiście może wybrać skonfigurowanie systemu dla większej pamięci operacyjnej, co zalecalibyśmy, ale będziemy próbować rozwiązać większość problemów wynikających z użycia mniejszej pamięci i sądzimy, że mogą być one w całości rozwiązane... (wymaganie główne)...system będzie realizował wszystkie określone funkcje przy konfiguracji z 1-gigabajtową pamięcią operacyjną... (wymaganie wyprowadzone)... system będzie konfigurowalny ze względu na dostępną pamięć operacyjną... Inżynieria Oprogramowania, w6, 5#10

Precyzja...system będzie przyjmował dopuszczalne ID pracownika z przedziału od 1 do 9999... Czy wszystkie liczby są dopuszczalne? Czy 1 lub 9999 są dopuszczalne? Czy ma znaczenie reprezentacja liczb (2, 0002)? Tzw. zapis elegancki Unikamy wątpliwości!!... system będzie przyjmował tylko dopuszczalne numery ID zgodnie z definicją podaną w TBP. Żadne inne liczby nie będą przyjmowane poza liczbami całkowitymi z przedziału od 1 do 9999 włącznie, reprezentowane bez zer wiodących... (będą przyjmowane jedynie..) (02, 723?) Inżynieria Oprogramowania, w6, 2#10

Jasność Najbezpieczniej jest zapisać wymagania na poziomie szkolnym używając krótkich deklaratywnych zdań...elementy w kolumnach oddzielonych znakiem tabulatora i wiersze oddzielone podkreśleniem, dotyczące wyjścia, mogą odwoływać się do siebie, ale żaden element na pozycji (wiersz, kolumna) (i,j) nie może odwoływać się do innego elementu na pozycji (p,q), chyba że p<i lub i=p, q<j...... Wynik składa się z wierszy i kolumn. Elementy znajdujące się w wierszu są oddzielone tabulatorami. Między wierszami znajduje się podkreślenie. Gdy element X odwołuje się do elementu Y, Y musi być albo w wierszu powyżej X, albo, jeśli oba elementy są w tym samym wierszu, Y musi być w kolumnie na lewo od X. Element nie może odwoływać się do samego siebie... Inżynieria Oprogramowania, w6, 2#10

Jednoznaczność Niejednoznaczność jest głównym problemem przy formułowaniu wymagań Wieloznaczność przy określaniu formatu danych komputerowych separator/terminator. Rola zaimków wymaganiach...parametr funkcji jest wskaźnikiem szybkości procesu. Stanowi on warunek właczenia strumienia danych na porcie 137... (parametr czy wskaźnik?) Spójność Zbiór wymagań jest niespójny, gdy dwie jego części są sprzeczne lub po prostu inne Jeżeli nie jest całkowicie oczywiste, co system ma robić z pewnością nie może być testowany!!...system będzie śledził obiekty poruszające się z prędkością od 100 do 300 km/h...system będzie śledził obiekty poruszające się z prędkością od 200 do 400 km/h Takie problemy pojawiają się najczęściej przy zmianach wymagań systemu Wymagania łatwe do modyfikacji nie tracą szybko spójności Inżynieria Oprogramowania, w6, 3#10

Możliwość śledzenia Dokument wymagań kieruje pracami!! Powiązanie szczegółów z elementami kolejnych dokumentów w projektach, planach testów i kodzie -wprowadzenie unikatowych identyfikatorów np. wymaganie 4.1.2......proszę spojrzeć na czwarty akapit od góry, trzecia linijka od dołu zdanie zaczyna się od słów... System będzie... To wymaganie wydaje mi się.. Zastępujemy tekstem... Wymaganie 4.1.2... -wykorzystanie wprowadzonych identyfikacji w pozostałych dokumentach projektowych dla lokalizacji miejsc uwzględnienia wymagań. - możliwość śledzenia w drugą stronę jeżeli projektant chce zmienić fragment projektu to musi wiedzieć które wymagania są realizowane przez ten fragment aby sprawdzić, czy nadal będą one spełnione. Łatwość modyfikacji Ma na celu między innymi możliwość usunięcia niespójności Lokalizacja informacji w jednym miejscu Możliwość śledzenia jest zasadniczym elementem przyjętej filozofii zbierania i organizowania informacji [1.1.1] Zakres normalnego działania wynosi 200 do 500km/h włącznie [1.1.2] Obiekt jest wyjątkowy gdy jego szybkość jest o 100km/h większa od dolnej granicy normalnego działania [4.1.5] System będzie śledził jedynie obiekty poruszające się w zakresie normalnego działania Inżynieria Oprogramowania, w6, 3#10

Możliwość testowania Nie nakładamy wymagań których nie można przetestować (..system będzie działał na PC bezawaryjnie przez okres 3000 godzin... Nie nakładamy tzw. wymagań mglistych (niemierzalnych) (ich realizacja jest kwestią uznania szybka odpowiedź systemu, efektywnie przechowywane itp..) Wykonalność Weryfikacja wymagań poprzez ich uzdatnienie do testowania. Uzupełnienie planu testów!! Wymagania absurdalne są nie do realizacji...oprogramowanie będzie działać na proc. 486 z zegarem 100MHz...oprogramowanie będzie reagować na zdarzenie krytyczne w ciągu 1 pikosekundy Inżynieria Oprogramowania, w6, 3#10

określenie wymagań specyfikowanie projektowanie kodowanie implementacja testowanie produkt konserwacja Faza strategiczna Analiza Dokumentacja Instalacja Właściwości dobrych wymagań zrozumiałe dla użytkowników zwięzłe jednoznaczne dające się śledzić bez zbędnych wytycznych precyzyjne spójne umożliwiające testowanie łatwe do modyfikacji jasne kompletne wykonalne Inżynieria Oprogramowania, w6, 1#10

określenie wymagań specyfikowanie projektowanie kodowanie implementacja testowanie produkt konserwacja Faza strategiczna Analiza Dokumentacja Instalacja Specyfikowanie wymagania bez użytkownika zwięzłe jednoznaczne dające się śledzić bez zbędnych wytycznych precyzyjne spójne umożliwiające testowanie łatwe do modyfikacji jasne kompletne wykonalne Inżynieria Oprogramowania, w6, 1#10

Dokumenty wymagań i specyfikacji odbiorcy Użytkownicy docelowi Stanowią dla nich kontrakty na prace do wykonania projektanci Stanowią dla nich definicje podsystemów realizujących poszczególne funkcje testujący Stanowią dla nich podstawę do znalezienia przypadków testowych Wymagania: poprawne, kompletne i łatwe do zrozumienia Specyfikacja: Raczej trudna do czytania Wymagania: poprawne, zwięzła, kompletne i łatwa do podziału na funkcje Specyfikacja: Jeżeli jej nie ma to mogą pracować na dokumentach wymagań Wymagania: testowalne i łatwe do analizy z punktu widzenia we-wy Specyfikacja: Musi być precyzyjna, jednoznaczna, spójna, kompletna i poprawna Inżynieria Oprogramowania, w6, 1#10

Specyfikowanie (element projektowania?) Specyfikowanie formalne Metody formalne nazwa określająca rodzaj czynności matematycznego specyfikowania mającego na celu rzeczywistą zmianę w rozumieniu rozwiązywanych problemów przez oprogramowanie. Metody formalne - w sposób naturalny skierowane nie na to co? System robi lecz jak to ma być zrobione (wewnętrzna dekompozycja - projektowanie) Metody formalne uznawane jako pierwsza część projektowania Etapy tworzenia oprogramowania są definiowane przez DOKUMENTACJĘ tworzona do ich rozdzielenia. Języki specyfikacji Główną trudnością w tworzeniu oprogramowania jest komunikacja z użytkownikiem docelowym Logika predykatów Języki programowania Służą do komunikacji człowiek komputer!!! PROgramming in LOGic Inżynieria Oprogramowania, w6, 2#10