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

Podobne dokumenty
Inżynieria Programowania Weryfikacja i zatwierdzanie

Inżynieria Programowania Weryfikacja i zatwierdzanie. Plan wykładu. Motto. Wstęp. Notatki. Notatki. Notatki. Notatki.

Kontrola jakości artefaktów

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

Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz

Egzamin / zaliczenie na ocenę*

Kod doskonały : jak tworzyć oprogramowanie pozbawione błędów / Steve McConnell. Gliwice, cop Spis treści. Wstęp 15.

Wykład 8. Testowanie w JEE 5.0 (1) Autor: Zofia Kruczkiewicz. Zofia Kruczkiewicz

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

Zasady organizacji projektów informatycznych

Wytwórstwo oprogramowania. michał możdżonek

Inżynieria Programowania Zarządzanie projektem

Inżynieria Programowania Zarządzanie projektem. Plan wykładu. Motto. Motto 2. Notatki. Notatki. Notatki. Notatki.

Testowanie oprogramowania. Testowanie oprogramowania 1/34

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2012/2013

Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz

Testowanie według modelu (MBT) Stowarzyszenie Inżynierii Wymagań wymagania.org.pl

KARTA MODUŁU KSZTAŁCENIA

Podstawy programowania III WYKŁAD 4

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

Cykle życia systemu informatycznego

Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz

Metody wytwarzania oprogramowania. Metody wytwarzania oprogramowania 1/31

Usługa: Audyt kodu źródłowego

Testowanie oprogramowania. Piotr Ciskowski

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

Inżynieria oprogramowania

Etapy życia oprogramowania

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

Wykład 3 Wymagania. MIS n Inżynieria oprogramowania Październik Kazimierz Michalik Akademia Górniczo-Hutnicza im. S. Staszica w Krakowie

Oceny z prezentacji INKU011S. Zofia Kruczkiewicz

Wstęp do zarządzania projektami

Maciej Oleksy Zenon Matuszyk

Plan Testów Systemu SOS

Wykład 1 Inżynieria Oprogramowania

Inżynieria Oprogramowania. Robert Szmurło

Grupa treści kształcenia, w ramach której przedmiot jest realizowany Przedmiot kierunkowy

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

Wstęp do zarządzania projektami

Projekt systemu informatycznego

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Inżynieria oprogramowania, C12

Jarosław Kuchta Jakość Systemów Informatycznych Jakość Oprogramowania. Pomiary w inżynierii oprogramowania

In ż ynieria oprogramowania wykład II Modele i fazy cyklu życia oprogramowania

PRZEWODNIK PO PRZEDMIOCIE

Faza strategiczna. Synteza. Analiza. Instalacja. Faza strategiczna. Dokumentacja. kodowanie implementacja. produkt konserwacja

Programowanie zespołowe

Praktyka testowania dla początkujących testerów

Testowanie i walidacja oprogramowania

Dwuwymiarowy sposób na podróbki > 34

PRZEWODNIK PO PRZEDMIOCIE

Przedsięwzięcia Informatyczne w Zarządzaniu

Inżynieria oprogramowania (Software Engineering) Wykład 1

Rozdział 5: Zarządzanie testowaniem. Pytanie 1

Inżynieria oprogramowania II

Jakość w procesie wytwarzania oprogramowania

Wykład 7. Projektowanie kodu oprogramowania

KARTA PRZEDMIOTU. Systemy czasu rzeczywistego: D1_9

PRZEWODNIK PO PRZEDMIOCIE

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2015/2016

PRZEWODNIK PO PRZEDMIOCIE

Czym jest jpalio? jpalio jpalio jpalio jpalio jpalio jpalio jpalio jpalio

ZASADY TWORZENIA OPROGRAMOWANIA

Zarządzanie i realizacja projektów systemu Microsoft SharePoint 2010

PRZEWODNIK PO PRZEDMIOCIE

Program kształcenia i plan studiów podyplomowych: Zarządzanie projektami

PRZEWODNIK PO PRZEDMIOCIE

KARTA PRZEDMIOTU. Projektowanie systemów czasu rzeczywistego D1_13

PRZEWODNIK PO PRZEDMIOCIE

1. Planowanie strategiczne. 4. Monitorowanie i ewaluacja. 3. Wdrażanie polityk. 2. Tworzenie polityk. Odniesienie do procesu

Zarządzanie testowaniem wspierane narzędziem HP Quality Center

KARTA PRZEDMIOTU. Projekt zespołowy D1_10

Narzędzia CASE dla.net. Łukasz Popiel

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

Wstęp do zarządzania projektami

Wprowadzenie do systemów informacyjnych

Projektowanie systemów informatycznych. wykład 6

Porównanie metod i technik testowania oprogramowania. Damian Ryś Maja Wojnarowska

Tworzenie i śledzenie harmonogramów Wykładowca Dr inż. Zofia Kruczkiewicz

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Projekt zespołowy D1_10

Inżynieria oprogramowania - opis przedmiotu

Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne

Analityk i współczesna analiza

Lokalizacja Oprogramowania

Inżynieria Oprogramowania w Praktyce

Cele przedsięwzięcia

Plan zarządzania projektem

Usługa: Testowanie wydajności oprogramowania

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

12) Wadą modelu kaskadowego jest: Zagadnienia obowiązujące na egzaminie z inżynierii oprogramowania: 13) Wadą modelu opartego na prototypowaniu jest:

DLA SEKTORA INFORMATYCZNEGO W POLSCE

Dni: 3. Opis: Adresaci szkolenia

KARTA PRZEDMIOTU. 1) Nazwa przedmiotu: INŻYNIERIA SYSTEMÓW I ANALIZA SYSTEMOWA. 2) Kod przedmiotu: ROZ-L3-20

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

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

Modelowanie i analiza systemów informatycznych

Zespół Szkół Ponadgimnazjalnych nr 1 im. ks. Stanisława Konarskiego w Jędrzejowie

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

Procesowa specyfikacja systemów IT

W. 3. Zarządzanie projektami: potrzeba str. 30. W. 4. Odpowiedź na zmieniające się warunki str. 32. W. 5. Systemowe podejście do zarządzania str.

PYTANIA PRÓBNE DO EGZAMINU NA CERTYFIKAT ZAAWANSOWANY REQB KLUCZ ODPOWIEDZI. Część DODATEK

Transkrypt:

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

Agenda Weryfikacja i zatwierdzanie Testowanie oprogramowania Zarządzanie Zarządzanie personelem Szacowanie kosztu oprogramowania Zarządzanie jakością Ulepszanie procesu Ewolucja...

Agenda Ewolucja Systemy odziedziczone Modyfikacja oprogramowania Restrukturyzacja oprogramowania Zarządzanie konfiguracjami

Weryfikacja i zatwierdzanie Co to jest weryfikacja? Czym się różni od zatwierdzania? Z czego wynika przewaga kontroli nad testowaniem? Jak wykrywać defekty w programie podczas kontroli? Jaka jest wzajemna relacja kontroli i testowania? Co to jest analiza statyczna jak jej używać jako istotnego elementu weryfikacji? Jaka jest istota metodologii Cleanroom?

Weryfikacja a zatwierdzanie Zatwierdzanie: Czy budujemy odpowiedni produkt? (CO budujemy?) vs Weryfikacja: Czy budujemy produkt odpowiednio? (JAK to budujemy?)

Weryfikacja a zatwierdzanie Weryfikacja: Czy oprogramowanie zgodne ze specyfikacją? Zaczyna się od weryfikacji wymagań Trwa przez wszystkie czynności procesu tworzenia oprogramowania

Weryfikacja a zatwierdzanie Zatwierdzanie: Podobny okres trwania Bardziej ogólny proces Czy oprogramowanie spełnia oczekiwania klienta? (nie tylko czy spełnia formalne wymagania)

Weryfikacja i zatwierdzanie Metody sprawdzania i analizy systemu: Kontrole oprogramowania (inspekcje) Sprawdzanie dokumentacji, diagramów Analizy kodu Nie potrzeba działającego programu Testowanie oprogramowania Dotyczy wykonywalnej wersji systemu Oparte na uruchamianiu programu

Kontrola i testowanie Kontrola: Bada źródła systemu (model, kod) Jest tańsze niż testowanie Wykrywa więcej błędów Nieformalna kontrola ponad 60% Formalna (matematyczna) ponad 90% Wiele różnych defektów można wykryć w czasie jednej kontroli Uwzględniają wielokrotne użycie wiedzy dziedzinowej Pozwalają wykazać jakościowe cechy programu

Kontrola i testowanie Testowanie: Jest jedyną metodą możliwą do zastosowania na poziomie całego systemu Pozwala na zatwierdzenie dynamicznego stanu systemu Pozwala ocenić niezawodność systemu, analizę efektywności, zatwierdzenie interfejsu użytkownika. Pozwala zweryfikować zgodność z oczekiwaniami użytkownika

Proces kontroli Powinien być przeprowadzony przez zespół przynajmniej 4 osób. Role w zespole: Autor/właściciel odpowiada za usunięcie znalezionych defektów Kontroler znajduje błędy, pominięcia, niespójności Czytelnik interpretuje kod w trakcie spotkania kontrolnego Pisarz odnotowuje rezultaty spotkania kontrolnego Przewodniczący/moderator zarządza procesem i ułatwia kontrolę, informuje naczelnego moderatora o wynikach procesu. Naczelny moderator odpowiada za ulepszanie procesu kontroli, aktualizację list kontrolnych, standardy

Automatyczna analiza statyczna Wykorzystuje narzędzia programowe, które przeglądają kod źródłowy programu i wykrywają potencjalne usterki i anomalie. Analiza przepływu sterowania Analiza użycia danych Analiza interfejsu Analiza przepływu informacji Analiza ścieżek

Automatyczna analiza statyczna Analiza statyczna najlepiej sprawdza się w językach bez ścisłej kontroli typów C (w mniejszym stopniu C++) FORTRAN języki interpretowalne bez ścisłych typów Najbardziej znanym jest LINT (unix/linux, język C)

Metoda Cleanroom Podstawą jest unikanie defektów oprogramowania dzięki rygorystycznej kontroli 1) Specyfikacja formalna 2)Tworzenie przyrostowe 3)Programowanie strukturalne 4)Weryfikacja statyczna 5)Testowanie statystyczne systemu.

Zarządzanie Zarządzanie personelem Szacowanie kosztu oprogramowania Zarządzanie jakością Ulepszanie procesu

Zarządzanie personelem Personel to najważniejsze dobro firmy Złe zarządzanie personelem jest podstawową przyczyną niepowodzeń Menedżerowie muszą ludzi motywować planować i organizować pracę dbać by praca była wykonana rzetelnie

Szacowanie kosztu oprogramowania Różne metody: Metoda delficka wspólne oszacowanie niezleżnych ekspertów Model COCOMO II na podstawie rozmiaru oprogramowania Use Case Points w oparciu i specyfikacje wymagań Gra Planistyczna klient wybiera w oparciu o szacowanie dostawcy oprogramowania

Szacowanie kosztu oprogramowania Jakie są miary kosztu oprogramowania? SLOC (source lines of code) Czas (osobo-godziny) Pieniądze ($$) http://csse.usc.edu/tools/cocomoii.php

Systematyczne podejście do planowania 1.Szacowanie rozmiaru (SLOC lub inne metryki) 2.Szacowanie pracochłonności Na podstawie metryki przy pomocy dostępnych modeli zamienia się rozmiar na pracochłonność. 3.Szacowanie harmonogramu Posiadając wymaganą pracochłonność oraz dostępne zasoby (ludzkie) można zaplanować harmonogram wykonania.

Metoda delficka Koniec lat 40-tych Kilku niezależnych ekspertów szacuje rozmiar według wspólnej metryki Następnie należy dojść do konsensusu

Metoda delficka 1. Indywidualna analiza dokumentacji 2. Dyskusja w grupie nt. Analizy 3. Głosowanie oszacowania (tajne) 4. Opracowanie raportów przez moderatora 5. Dyskusja ekspertów nt. wyników (bez podawania oszacowań) 6. Oszacowanie końcowe lub powtórzenie procedury Oszacowanie = (Pesymista + 4*Średnia + Optymista)/6

Ewolucja Systemy odziedziczone Modyfikacja oprogramowania Restrukturyzacja oprogramowani Zarządzanie konfiguracjami