Download
wytw rstwo oprogramowania n.
Skip this Video
Loading SlideShow in 5 Seconds..
Wytwórstwo oprogramowania PowerPoint Presentation
Download Presentation
Wytwórstwo oprogramowania

Wytwórstwo oprogramowania

109 Vues Download Presentation
Télécharger la présentation

Wytwórstwo oprogramowania

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Wytwórstwo oprogramowania Jarosław Deminet

  2. Powszechna wiedza • Komputery są wszystkiemu winne, czyli jak działa czarownica (Prawo Demineta) • Informatyka zaczyna się tam, gdzie coś przestaje działać (Prawo Pacholczyka) • Żadne przedsięwzięcie informatyczne nie kończy się tak, jak powinno (czas/budżet, zakres, jakość) • Każde przedsięwzięcie może być sukcesem (Prawo Ciećwierza)

  3. Fakty • Gdzie bylibyśmy bez komputerów  • Było źle, ale idzie ku lepszemu

  4. Kłopoty • Jak opisać zakres (zmiany są pewne!) • Jak oszacować czas • Jak oszacować budżet

  5. Problemy świata • Krótka historia (pierwszy most – ?, pierwszy tunel – 700 pne, pierwszy program – 1843 , następne ok. 1945) • Ciągłe i szybkie zmiany technologiczne, nowe możliwości • Wielka różnorodność • Wielki udział faz intelektualnych (trudnych do oceny) w koszcie całości

  6. Nie my jedni mamy problemy • Eurotunel • przetarg – 1985 • rozpoczęcie prac – 1987 • zakończenie – 1993 – 1994 (+17%) • planowany koszt – 4,9 G £ – 12 G £ (+145%) • zmiana szerokości drzwi z 60 na 70 cm – 40 M £ i 9 miesięcy opóźnień projektowych

  7. Nie my jedni mamy problemy • Lotnisko w Atlancie • 1977 – 1980 zgodnie z czasem i budżetem (500 M $) • 2003 – 20?? wpadka

  8. Cykl życia Po co? Strategia biznesowa Czego chcą? Wymagania Co zrobić? Specyfikacja Jak? Projekt Wykonanie i wdrożenie Czy warto?

  9. Ocena kosztów • Po fakcie (wariant amerykański) • za roboczogodzinę • za wiersz kodu • za formatkę ekranową • Trudna ocena efektywności • Konsekwencja: ucieczka za granicę

  10. Prognozowanie kosztów • Przewidywanie jest trudne, zwłaszcza przyszłości • Metoda ekspercka, czyli sufitowa • Wg wymagań biznesowych • Wg obiektów analitycznych (zbiory danych, strumienie danych, zapytania) – Metoda Punktów Funkcyjnych

  11. Informatyka a sprawa polska • Biuro na tranzystorach • premiera 24.10.1955 1989 – 1955 = 1,5 pokolenia • Nowa (normalna) ekonomia i organizacja + nowa technika • Od wołu do automatycznej skrzyni biegów

  12. Co jest celem systemu do obsługi podatków Obsługa izb i urzędów skarbowych? Wspieranie poboru podatków? Czy to jest to samo? Czy wprowadzenie informatyki powinno spowodować zmiany procesów biznesowych?

  13. System wspomagania dowodzenia dla Policji • Zdarzenie trzeba powiązać z policjantem • W opisie policjanta jest zapisany jego aktualny stopień • Zmiana danych policjanta jest odnotowywana w jego opisie (bez historii) • Oskarżony twierdzi, że na miejscu był kapral Nowak, a Policja twierdzi, że to był sierżant Nowak!!!

  14. System sterowania ciągiem wstecznym w Airbusie • Ciąg wsteczny można włączyć tylko wtedy, gdy samolot kołuje po pasie • Pilot może nie zauważyć, czy samolot wylądował • Samolot kołuje po pasie, jeśli kręcą mu się koła (na wszelki wypadek – wszystkie) • A co jeśli na pasie jest mokro i samolot wpadnie w poślizg? • Propozycja rozwiązania: może wystarczy, że trzy koła z czterech będą się kręcić?

  15. Informatyka w firmie • Obserwacja: przedsięwzięcia realizowane wewnętrznie zwalają się szczególnie często • Diagnoza 1: klient zawsze chce więcej • Diagnoza 2: lepsze jest wrogiem dobrego • Diagnoza 3: księgowy jest ważniejszy od informatyka

  16. Jest tyle spokojniejszych zawodów, • np. można być pogromcą lwów • (I zasada Stokalskiego)

  17. Model wodospadu Analiza (specyfikacja) Projekt Wykonanie Wdrożenie Zintegrowany System X

  18. Iteracje i prototypy Analiza Projekt Wykonanie Wdrożenie Analiza Projekt Wykonanie Wdrożenie Mniejsze ryzyko za znaną cenę Analiza Projekt Wykonanie Wdrożenie

  19. Model spiralny

  20. Model V

  21. Techniki ekstremalne Analiza Projekt Wykonanie Analiza Wdrożenie Projekt Analiza Wykonanie Analiza Wdrożenie Projekt Projekt Wykonanie Wykonanie Analiza Wdrożenie Projekt Wdrożenie Wykonanie Wdrożenie

  22. Metodyki produkcji • Lekkie (giętkie) • Programowanie jest sztuką • Mamy artystów programistów • Programiści są zindywidualizowani • Użytkownicy są mądrzy i chętni do współpracy • Zmiany są podstawą Klasyczne • Programowanie jest rzemiosłem • Mamy różnych programistów • Programiści są zastępowalni • Użytkownicy są różni • Zmiany są przykrą koniecznością

  23. Rational Unified Process

  24. Jakość • Ogół cech i właściwości wyrobu lub usługi decydujących o zdolności wyrobu lub usługi do zaspokojenia stwierdzonych lub przewidywanych potrzeb (norma ISO 9000) • Brak wad w produkcie, a wadą produktu jest każda taka negatywna cecha produktu – negatywna z punktu widzenia klienta – której klient ma prawo nie oczekiwać (Leszek Wasilewski) • Zasada 4P: product, place, promotion, price (np. tani jednorazowy aparat, zepsute mięso dla lwa)

  25. Jakość • 85% problemów z jakością wynika z błędów w systemie, a 15% z winy pracowników (Joseph Juran – Japonia) • 95% problemów z jakością wynika z błędów w systemie, a 5% z winy pracowników (Edwards Deming – USA) • Czy płacąc lepiej za dobrą pracę godzimy się na złą pracę? • Niska jakość kosztuje • Koszt skutków wywołanych przez wadę w produkcie rośnie bardzo szybko wraz z odległością między miejscem powstania wady a miejscem jej wykrycia

  26. Jakość (podejście tradycyjne) Kontrola jakości (testy) Dostawcy Klienci Firma (procesy wytwórcze) Produkt

  27. Jakość (podejście kompleksowe, TQM) Zapewnienie jakości (organizacja) Dostawcy Klienci Firma (procesy wytwórcze) Produkt

  28. Trzy zasady • Podejście systemowe – łańcuch jakości • Udział wszystkich pracowników – współpraca i życzliwość • Ciągłe doskonalenie

  29. Księga procedur • Treść • instrukcje (np. zasady kodowania) • podręczniki (np. korzystania ze środowiska) • procedury (np. prowadzenia analizy) • regulaminy (np. pracowniczy) • zakresy obowiązków (np. projektantów i programistów) • wzorce dokumentów (np. notatek z wywiadów) • Odpowiedzialni • Adresaci (dostępność) • Nadzór nad dokumentami (zatwierdzanie, przeglądy, zmiany)

  30. ISO 9001: Zarządzanie zasobami • Ludzie • wykształcenie • szkolenie • umiejętności • doświadczenie • Infrastruktura • Środowisko

  31. ISO 9001: Realizacja wyrobu • Planowanie • cele (biznesowe) • specyficzne wymagania (specyfikacja) • specyficzne działania weryfikacyjne i kontrolne (testy) • Obsługa klienta • wymagania (z różnych źródeł) • przegląd wymagań (po udokumentowaniu) • sposób komunikacji

  32. ISO 9001: Realizacja wyrobu • Projektowanie i rozwój • podział na etapy, przegląd, weryfikacja • powiązania między grupami • zebranie i przegląd danych wejściowych • dane wyjściowe zgodne z wymaganiami • systematyczne przeglądy i weryfikacja • nadzorowanie zmian • Zakupy • nadzór nad dostawcą • szczegółowe wymagania • weryfikacja

  33. ISO 9001: Realizacja wyrobu • Produkcja • informacja o właściwościach • instrukcje • wyposażenie • monitoring i pomiary • walidacja (badanie zgodności z wymaganiami) – gdy niezbędne • identyfikacja (zarządzanie konfiguracją) • Wyposażenie do monitorowania i pomiarów • Korygowanie, doskonalenie, zapobieganie

  34. Model dojrzałości • Poziom początkowy (initial) • kompetentni ludzie i wiele heroizmu • Poziom zarządzany (managed) • planowanie i wykonywanie zgodnie z polityką • Poziom definiowany (defined) • standardowe procesy i procedury • Poziom mierzony (quantitatively managed) • zastosowanie metod statystycznych • Poziom usprawniany (optimizing)

  35. CMMI – korzyści

  36. Capability Maturity Model Integration

  37. Process Areas • Poziom mierzony • QPM – Quantitative Project Management • OPP – OrganizationalProcess Performance • Poziom usprawniany • CAR – CausalAnalysis and Resolution • OIP – OrganizationalInnovation and Deployment • Kategorie: • Support • Project Management • Process Management • Engineering • Poziom zarządzany • CM - Configuration Management • MA - Measurement and Analysis • PMC - Project Monitoring and Control • PP - Project Planning • PPQA - Process and Product Quality Assurance • REQM - Requirements Management • Poziom definiowany • DAR - Decision Analysis and Resolution • IPM - Integrated Project Management • OPD - Organizational Process Definition • OPF - Organizational Process Focus • OT - Organizational Training • PI - Product Integration • RD - Requirements Development • RSKM - Risk Management • TS - Technical Solution • VAL – Validation • VER – Verification

  38. Goals and practices • Generic • GG 1 Achieve Specific Goals • GP 1.1 Perform Specific Practices • GG 2 Institutionalize a Managed Process • GP 2.1 Establish an Organizational Policy • GP 2.2 Plan the Process • GP 2.3 Provide Resources • GP 2.4 Assign Responsibility • GP 2.5 Train People • GP 2.6 Manage Configurations • GP 2.7 Identify and Involve Relevant Stakeholders • GP 2.8 Monitor and Control the Process • GP 2.9 Objectively Evaluate Adherence • GP 2.10 Review Status with Higher Level Management • GG 3 Institutionalize a Defined Process • GP 3.1 Establish a Defined Process • GP 3.2 Collect Improvement Information • Specific

  39. Goals and practices • Generic • Specific (Configuration Management) • SG 1 Establish Baselines • SP 1.1 Identify Configuration Items • SP 1.2 Establish a Configuration Management System • SP 1.3 Create or Release Baselines • SG 2 Track and Control Changes • SP 2.1 Track Change Requests • SP 2.2 Control Configuration Items • SG 3 Establish Integrity • SP 3.1 Establish Configuration Management Records • SP 3.2 Perform Configuration Audits

  40. Integrated Project Management • SP 1.1Establish the Project’s Defined Process • Select a lifecycle model • Select the standard processes • Tailor the organization’s set of standard processes and other assets to produce the project’s defined process • Use other library assets as appropriate • Document the process • Conduct peer reviews • Revice as necessary

  41. Zarządzanie przedsięwzięciem • Zarządzanie • harmonogramem • konfiguracją • wymaganiami • zasobami • budżetem • ryzykiem • zmianami • jakością

  42. Zarządzanie harmonogramem • WBS – Work Breakdown Structure • Nadzorowanie stanu realizacji • Mierzalne kryteria – kamienie milowe • Analiza wykorzystania zasobów • Akcje naprawcze – „Plan B”

  43. Zarządzanie konfiguracją • Określenie konfiguracji stabilnej • Nadzorowanie zmian • Zapewnienie spójności • Udostępnianie stabilnej wersji wykonawcom, użytkownikom, klientom itp. • Plany • Opisy procesów • Wymagania • Diagramy • Moduły kodu • Scenariusze testowe • Dokumentacja

  44. Zarządzanie konfiguracją • Sposób przechowywania i nazywania • Procedury • Narzędzia

  45. Zarządzanie zmianami • Kto ma prawo zgłaszać żądania zmian • Kto zgłosił zmianę • Powód zmiany i jej ważność • Wpływ zmiany na cechy produktu • Sposób realizacji zmiany • Koszt zmiany i jej wpływ na harmonogram • Tryb realizacji – decyzja • Status realizacji

  46. Wymagania użytkownika • CMMI: celem jest zarządzanie wymaganiami stawianymi produktom przedsięwzięcia oraz wskazywanie niezgodności między tymi wymaganiami a planami i produktami roboczymi. • Cykl życia wymagania: • zgłoszenie przez uprawnioną osobę • przegląd i sprecyzowanie, usunięcie sprzeczności • włączenie do planu – zobowiązanie • zarządzanie zmianą

  47. Wymagania użytkownika • Źródła wymagań: • istniejące procedury • istniejące dokumenty i formularze (wypełnione, z dopiskami i skreśleniami) • plany rozwoju • wywiady • obserwacja na stanowisku pracy (a także samego stanowiska – karteczki, kalkulator, notatki) • Wymagania formułowane nieformalnie, w języku użytkowników • Narzędzia do wspomagania: • uporządkowanie, nazewnictwo • hierarchia, priorytety, zależności

  48. Wymagania użytkownika • Metody aktywne • prezentacje istniejących rozwiązań • prototypy i modele • burza mózgów

  49. Wymagania użytkownika • Przykładowe kryteria oceny wymagań: • zrozumiałe i prawidłowo sformułowane • zupełne • spójne • jednoznacznie zidentyfikowane • możliwe do zrealizowania • możliwe do zweryfikowania/przetestowania • możliwe do prześledzenia w cyklu życia (w obie strony)

  50. Wymagania użytkownika • Rodzaje wymagań: • funkcjonalne, określające funkcje widoczne dla użytkowników • pozafunkcjonalne, określające inne cechy – wydajność, bezpieczeństwo, przenośność, modyfikowalność; zwykle określają informatycy