Inżynieria oprogramowania Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład 6
J.Nawrocki, Wprowadzenie.., Wykład 6 Plan wykładu Wprowadzenie Co to jest CMM Zarządzanie wymaganiami Planowanie Zapewnienie jakości PSP
J.Nawrocki, Wprowadzenie.., Wykład 6 Wprowadzenie Dziedzina informatyki zajmująca się problemami wytwarzania oprogramowania rozumianego jako produkt komercyjny. Inż. Oprogramowania Algorytmy i struktury danych Czym jest Inż. Oprogramowania?
J.Nawrocki, Wprowadzenie.., Wykład 6 Wprowadzenie Ludność: ~ 3.5 million 2-gi największy eksporter oprogramowania ~każda znana firma w branży IT ma swój oddział w Dublinie i okolicach Obrót na pracownika IT: ~ USD Zysk na pracownika IT: ~ USD Zalety Irlandii: angielski, tania siła robocza, na krawędzi Europy, podatki Irlandia
J.Nawrocki, Wprowadzenie.., Wykład 6 Wprowadzenie USA: wakatów USA: Wzrost 25% rocznie Irlandia: w wzrost zatrudnienia w przemyśle IT wyniósł 54% rocznie Polska: Motorola Kraków: 300 inżynierów oprogramowania do roku 2002 Potrzeby rynku pracy
J.Nawrocki, Wprowadzenie.., Wykład 6 CMM Syndrom LOOP: Late Over time Over budget Poor quality Początek: lata 60-te Przykłady: OS 360, POLTAX, KSI ZUS... Potrzeba poprawy procesów
J.Nawrocki, Wprowadzenie.., Wykład 6 Co to jest CMM ? CMM = Capability Maturity Model (model dojrzałości wytwórczej) Firmy programistyczne określenie możliwości bieżących procesów + kierunki poprawy Software Engineering Institute (SEI),
J.Nawrocki, Wprowadzenie.., Wykład 6 Poziomy CMM 3. Zdefiniowany 4. Zarządzany 5. Optymalizujący 2. Powtarzalny 1. Początkowy
J.Nawrocki, Wprowadzenie.., Wykład 6 CMM Poziom 2 Zarządzanie wymaganiami Planowanie przedsięwzięcia Śledzenie postępów Zarządzanie podzleceniami Zapewnienie jakości Zarządzanie konfiguracją Powtarzalny
J. Nawrocki, PSP, Lecture 7 Jakość oprogramowania Philip Crosby83: zgodność z wymaganiami Jakość projektu (wymagania a projekt) Jakość wykonania (projekt a implementacja)
J.Nawrocki, Wprowadzenie.., Wykład 6 Zarządzanie wymaganiami Rodzaje wymagań TechniczneNie-techniczne Funkcjonalne Poza- funkcjonalne
J.Nawrocki, Wprowadzenie.., Wykład 6 Zarządzanie wymaganiami Wymagania systemowe Wymaganie systemowe: Spelling must be checked. Wymaganie softwareowe: Spelling of all HTML files must be checked automatically.
J.Nawrocki, Wprowadzenie.., Wykład 6 Zarządzanie wymaganiami Architektura systemu Hardware Software Users System
J.Nawrocki, Wprowadzenie.., Wykład 6 Zarządzanie wymaganiami Rodzaje wymagań Hardware requirements Software requirements Skills & resources Wymagania systemowe
J.Nawrocki, Wprowadzenie.., Wykład 6 Zarządzanie wymaganiami Główne problemy Wielość źródeł (konflikty) Zmienność wymagań
J.Nawrocki, Wprowadzenie.., Wykład 6 Planowanie Główne problemy Szacowanie nakładów (metoda delfijska) Szeregowanie zadań Analiza czynników ryzyka
J.Nawrocki, Wprowadzenie.., Wykład 6 Metoda delfijska Rand Corporation, Boehm81 Kilku ekspertów indywidualnie szacuje nakład (rozmiar). Stosując proces delfijski dochodzi się do konsensusu. Pytia
J.Nawrocki, Wprowadzenie.., Wykład 6 Metoda delfijska 1. Eksperci dostają specyfikację i formularz estymacyjny. 2. Spotykają się by przedyskutować: cele projektu, założenia, problemy estymacji. 3. Ekspert anonimowo wylicza zadania i szacuje nakład (rozmiar). 4. Szacunki trafiają do moderatora, który opracowuje wyniki i przedstawia je ekspertom. Moderator
J.Nawrocki, Wprowadzenie.., Wykład 6 Metoda delfijska Estymator: Jerzy Nawrocki Data: Projekt: Procedura sortowania Oszacowania z 1-szej rundy: e E M e e e E M e e e - oszacowania, E - Twoje oszac., M - średnie oszac. Twoje oszacowanie do następnej rundy: LOC Uzasadnienie Twojego oszac.:
J.Nawrocki, Wprowadzenie.., Wykład 6 Metoda delfijska 5. Eksperci spotykają się by przedyskutować wyniki. Dyskutują zadania, które zdefiniowali, ale nie dyskutują ich szacunkowych nakładu (rozmiarów). 6. Procedura jest powtarzana od kroku 3 aż szacunki ekspertów są dostatecznie bliskie. Moderator
J.Nawrocki, Wprowadzenie.., Wykład 6 Zapewnienie jakości Testowanie Przeglądy Standardy kodowania i standardy dokumentów Główne metody
J.Nawrocki, Wprowadzenie.., Wykład 6 Zapewnienie jakości Pewien dyrektor w Sopocie Pracując w PZJ-cie Chcąc robić coś w robocie Wymyślał standardy na krocie Za co dostanie w XXXX po robocie. -- Anonim Ostrzeżenie
J.Nawrocki, Wprowadzenie.., Wykład 6 Co to jest PSP ? PSP = Personal Software Process (osobisty proces budowy oprogram.) Indywidualni programiści poznanie swoich możliwości + kierunki doskonalenia Software Engineering Institute (SEI),
J.Nawrocki, Wprowadzenie.., Wykład 6 Poziomy PSP 3. Proces cykliczny 2. Zarządzanie jakością 1. Osobiste planowanie 0. Proces bazowy
J.Nawrocki, Wprowadzenie.., Wykład 6 Podsumowanie Najważniejszymi problemami inżynierii oprogramowania są: jakość terminowość Wreszcie!
J.Nawrocki, Wprowadzenie.., Wykład 6 Literatura
J.Nawrocki, Wprowadzenie.., Wykład 6 Ocena wykładu 1. Wrażenie ogólne? (1 - 6) 2. Zbyt wolno czy zbyt szybko? 3. Czy dowiedziałeś się czegoś ważnego? 4. Co poprawić i jak?