Inżynieria oprogramowania Copyright, 1999 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład 3
Wprowadzenie do informatyki, Wykład 3 Kryzys oprogramowania Symptomy OOP: Over time Over budget Poor quality Początek: lata 60s Przykłady: OS 360, POLTAX, KSI ZUS...
Wprowadzenie do informatyki, Wykład 3 Software Process Improvement Struktura czy procesy Business Process Improvement ISO 9000, BPI SPI SPI: identyfikacja procesów, ich definiowanie i doskonalenie Procesy są jak przyzwyczajenia: trudno je wprowadzić, ale jeszcze trudniej je zmienic.
Wprowadzenie do informatyki, Wykład 3 Co to jest CMM ? CMM = Capability Maturity Model CMM: a way for organisations to determine the capabilities of their current processes and to establish priorities for improvement. Software Engineering Institute (SEI),
Wprowadzenie do informatyki, Wykład 3 Poziomy CMM 3. Zdefiniowany 4. Zarządzany 5. Optymalizujący 2. Powtarzalny 1. Początkowy
Wprowadzenie do informatyki, Wykład 3 Poziomy PSP 3. Proces cykliczny 2. Zarządzanie jakością 1. Osobiste planowanie 0. Proces bazowy
Wprowadzenie do informatyki, Wykład 3 Irlandia Ludność: ~ 3.5 millionLudność: ~ 3.5 million 2-gi największy eksporter oprogramowania2-gi największy eksporter oprogramowania ~każda znana firma w branży IT ma swój oddział w Dublinie i okolicach~każda znana firma w branży IT ma swój oddział w Dublinie i okolicach Obrót na pracownika IT: ~ USDObrót na pracownika IT: ~ USD Zysk na pracownika IT: ~ USDZysk na pracownika IT: ~ USD Zalety Irlandii: angielski, tania siła robocza, na krawędzi Europy, podatkiZalety Irlandii: angielski, tania siła robocza, na krawędzi Europy, podatki
Wprowadzenie do informatyki, Wykład 3 Potrzeby rynku pracy USA: wakatów USA: Wzrost 25% rocznie Irlandia: w wzrost zatrutnienia w przemyśle IT wyniósł 54% rocznie Polska: Motorola Kraków: 300 inżynierów oprogramownia do roku 2002
Wprowadzenie do informatyki, Wykład 3 Szacowanie rozmiaru oprogramowania Po co szacować rozmiar oprogramowania? Aby szacować nakład pracy.Aby szacować nakład pracy. Aby tworzyć dobry harmonogram.Aby tworzyć dobry harmonogram. Aby podejmować właściwe zobowiązania.Aby podejmować właściwe zobowiązania. Sizing represents the project planners first major challengeSizing represents the project planners first major challenge -- R.S. Pressman
Wprowadzenie do informatyki, Wykład 3 Szacowanie pracochłonności COCOMO: Effort = a Size bEffort = a Size b COCOMO 2.0: Effort = ( e i ) A Size BEffort = ( e i ) A Size B Walston-Felix model: Effort = 5.2 Size 0.91Effort = 5.2 Size 0.91 Software equation (Putnam): Effort = (Size B /P) 3 / t 4Effort = (Size B /P) 3 / t 4
Wprowadzenie do informatyki, Wykład 3 Szacowanie a CMM i PSP.. Project planning.. Size estimating
Wprowadzenie do informatyki, Wykład 3 Plan wykładu Medota delfijskaMedota delfijska Metoda wartości rozmytychMetoda wartości rozmytych Metoda standardowego składnikaMetoda standardowego składnika Punkty funkcyjnePunkty funkcyjne
Wprowadzenie do informatyki, Wykład 3 Plan wykładu Metoda delfijskaMetoda delfijska Metoda wartości rozmytychMetoda wartości rozmytych Metoda standardowego składnikaMetoda standardowego składnika Punkty funkcyjnePunkty funkcyjne Metoda ProbeMetoda Probe
Wprowadzenie do informatyki, Wykład 3 Metoda delfijska Rand Corporation, Boehm81 Kilku ekspertów indywidualnie szacuje rozmiar.Kilku ekspertów indywidualnie szacuje rozmiar. Stosując proces delfijski dochodzi się do konsensusu.Stosując proces delfijski dochodzi się do konsensusu. Pytia
Wprowadzenie do informatyki, Wykład 3 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 rozmiar oprogramowania. 4. Szacunki trafiają do moderatora, który opracowuje wyniki i przedstawia je ekspertom. Procedura delfijska Moderator
Wprowadzenie do informatyki, Wykład 3 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.:
Wprowadzenie do informatyki, Wykład 3 Metoda delfijska 5. Eksperci spotykają się by przedyskutować wyniki. Dyskutują zadania, które zdefiniowali, ale nie dyskutują ich szacunkowych rozmiarów. 6. Procedura jest powtarzana od kroku 3 aż szacunki ekspertów są dostatecznie bliskie. Prodedura delfijska (cd.) Moderator
Wprowadzenie do informatyki, Wykład 3 Plan wykładu Metoda delfijskaMetoda delfijska Metoda wartości rozmytychMetoda wartości rozmytych Metoda standardowego składnikaMetoda standardowego składnika Punkty funkcyjnePunkty funkcyjne
Wprowadzenie do informatyki, Wykład 3 Metoda wartości rozmytych Putnam92: Potrzebujemy dokładnych, ale nie koniecznie precyzyjnych szacunków rozmiaru.Potrzebujemy dokładnych, ale nie koniecznie precyzyjnych szacunków rozmiaru. Szacunki można odnieść do danych historycznych.Szacunki można odnieść do danych historycznych. Wysoki Średni Niski
Wprowadzenie do informatyki, Wykład 3 Metoda wartości rozmytych Zakresy rozmytych rozmiarów
Wprowadzenie do informatyki, Wykład 3 Metoda wartości rozmytych Mając najmniejszy (S) i największy (L) rozmiar programu, znajdź granice zakresów A, B, C, D takie, że S, A, B, C, D, L tworzą postęp geometryczny. A/S = B/A = C/B = D/C = L/D = p L/S = p 5 p = (L/S) 0.2 Jeśli S= i L= , to p=4 B. duży: D - L Duży: C - D Średni: B - C Mały: A - B B. mały: S - A
Wprowadzenie do informatyki, Wykład 3 Metoda wartości rozmytych Uwagi: Potrzebne są dane historyczne dla dużej liczby projektów.Potrzebne są dane historyczne dla dużej liczby projektów. Nie zmieniaj dotychczasowych zakresów. Dodaj dodatkowe zakresy, jeśli to konieczne.Nie zmieniaj dotychczasowych zakresów. Dodaj dodatkowe zakresy, jeśli to konieczne. Wysoki Średni Niski ?
Wprowadzenie do informatyki, Wykład 3 Plan wykładów Metoda delfijskaMetoda delfijska Metoda wartości rozmytychMetoda wartości rozmytych Metoda standardowego składnikaMetoda standardowego składnika Punkty funkcyjnePunkty funkcyjne
Wprowadzenie do informatyki, Wykład 3 Metoda standardowego składnika Putnam92 System dekomponowany jest do zbioru standardowych składników (ekrany, pliki, moduły itp.)System dekomponowany jest do zbioru standardowych składników (ekrany, pliki, moduły itp.) Dla każdego standardowego składnika mamy dane historyczne dotyczące jego rozmiaru.Dla każdego standardowego składnika mamy dane historyczne dotyczące jego rozmiaru.
Wprowadzenie do informatyki, Wykład 3 Metoda standardowego składnika Dla każdego typu składnika trzeba określić: S - najmniejszą liczbę składników tego typu; L - największą liczbę; M - najbardziej prawdopodobną liczbę. Szacowana liczba składników danego typu: (S+4*M+L) / 6 Dla każdego typu składnika znamy średnią wartość LOC.
Wprowadzenie do informatyki, Wykład 3 Plan wykładu Metoda delfijskaMetoda delfijska Metoda wartości rozmytychMetoda wartości rozmytych Metoda standardowego składnikaMetoda standardowego składnika Punkty funkcyjnePunkty funkcyjne
Wprowadzenie do informatyki, Wykład 3 Punkty funkcyjne Albrecht, IBM, 1979 Podstawowe funkcje: WejściaWejścia WyjściaWyjścia ZapytaniaZapytania Pliki danychPliki danych InterfejsyInterfejsy
Wprowadzenie do informatyki, Wykład 3 Punkty funkcyjne
Wprowadzenie do informatyki, Wykład 3 Punkty funkcyjne FP = UT * CM FP - Punkty funkcyjne UT - Punkty surowe (poprzedni slajd) CM - Czynnik złożoności ( ) CM = * Czynniki_wpływu 14 czynników wpływów, punktów za każdy czynnik
Wprowadzenie do informatyki, Wykład 3 Punkty funkcyjne Data communications Distributed functions Performance objectives Heavily used configuration On line data entry Complex processing Reusability End-user efficiency Transaction rate On line update Installation ease Operational ease Multiple sites Facilitate change Czynniki wpływu
Wprowadzenie do informatyki, Wykład 3 Punkty funkcyjne Język Język asemblera CCobolFortranPascalAda Języki obiektowe Arkusze kalkulacyjne LOC/FP
Wprowadzenie do informatyki, Wykład 3 Punkty funkcyjne Modyfikacje metody PF: Feature points (C. Jones, 1991)Feature points (C. Jones, 1991) Object points (R. Kauffman, R. Kumar, 1993)Object points (R. Kauffman, R. Kumar, 1993) 3D function points (S.A. Whitmire, 1995)3D function points (S.A. Whitmire, 1995)
Wprowadzenie do informatyki, Wykład 3 Podsumowanie Po analizie wymagań: Punkty funkcyjne Po projekcie ogólnym: Metoda delfijska Metoda wartości rozmytych Metoda standardowego składnika