Jakość Oprogramowania Oraz Modele Procesu Produkcji Oprogramowania Prezentacja

Preview:

DESCRIPTION

 

Citation preview

Jakość oprogramowania oraz modele procesu produkcji oprogramowania

CZADO TOMASZCZADO TOMASZDOBOSZ PIOTRDOBOSZ PIOTR

Omawiane zagadnienia:Omawiane zagadnienia:

- Jakość, opinie, punkty widzenia- Jakość oprogramowania- Zarządzanie jakością- Model kaskadowy- Tworzenie prototypów- Model spiralny- Model iteracyjny- Model obiektowy- Metodologia Cleanroom- Proces zapobiegania defektom- Dojrzałość procesu i standard jakości

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

- pojęcie jakości jako „zgodności z wymaganiami” czyli dokładność określenia wymagań, do których chcemy porównywać końcowy efekt- pojęcie jakości jako „przydatności do użytku” czyli wymagania klienta (przydatność produktu do określonego celu)- satysfakcja miarą jakości dla klienta

Czym jest jakość oprogramowania?Czym jest jakość oprogramowania?

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

- wewnętrzna jakość produktu (małe q)- końcowa jakość produktu, jakość procesu, zadowolenie klienta (duże Q)

Różne punkty widzenia jakości:Różne punkty widzenia jakości:

Sekwencja jakości produktu:Sekwencja jakości produktu:

potrzeby i oczekiwania klienta -> wymagania i specyfikacje -> zaprojektowany, opracowany i wykonany z wcześniejszymi ustaleniami produkt stale poprawiany jakościowo -> doskonała jakość produktu, dystrybucji serwisu -> zadowolenie klienta

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

c – capability (funkcjonalność)u – usability (łatwość obsługi)p – performance (wydajność)r - reliability (niezawodność)i – installability (łatwość instalacji)m – maintainability (łatwość zarządzania)

Schematy monitorowania jakościowego – CUPRIMDSO:Schematy monitorowania jakościowego – CUPRIMDSO:

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Schematy monitorowania jakościowego – FURPS:Schematy monitorowania jakościowego – FURPS:

f – functionality (funkcjonalność)u – usability (łatwość obsługi)r – reliability (niezawodność)p – performance (wydajność)s – service (serwis)

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Wzajemne zależności parametrów oprogramowaniaWzajemne zależności parametrów oprogramowania

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Uproszczone przedstawienie procesu produkcji w modelu kaskadowymUproszczone przedstawienie procesu produkcji w modelu kaskadowym

W tym modelu każda faza jest pół projektem – klientem jest kolejny tester – programista. Nie będzie on mógł zacząć dalszej części projektu zanim poprzedni nie zostanie ukończony.

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Elementy kompleksowego zarządzania jakościąElementy kompleksowego zarządzania jakością

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

- scharakteryzowanie projektu i środowiska jego działania- określenie celów- wybór odpowiednich procesów- wykonanie procesów- analiza danych- zachowanie doświadczeń w celu przyszłego użycia

Wzorce poprawy jakości bazujące na doświadczeniu produkcyjnym:Wzorce poprawy jakości bazujące na doświadczeniu produkcyjnym:

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Modele życia oprogramowania – model kaskadowyModele życia oprogramowania – model kaskadowy

Faza określania wymagań i analizy - określane są cele oraz szczegółowe wymagania wobec tworzonego systemu

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Modele życia oprogramowania – model kaskadowyModele życia oprogramowania – model kaskadowy

Faza projektowania - powstaje szczegółowy projekt systemu spełniającego ustalone wcześniej wymagania.

Faza projektowania dzieli się na projektowanie pojęciowe oraz implementacyjne. W projektowaniu pojęciowym nie bierze się pod uwagę żadnego języka programowania.

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Modele życia oprogramowania – model kaskadowyModele życia oprogramowania – model kaskadowy

Faza implementacji/kodowania - (oraz testowania modułów) projekt zostaje zaimplementowany w konkretnym środowisku programistycznym oraz wykonywane są testy poszczególnych modułów

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Modele życia oprogramowania – model kaskadowyModele życia oprogramowania – model kaskadowy

Faza testowania i integracji następuje integracja poszczególnych podsystemów oraz całego oprogramowania

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Modele życia oprogramowania – model kaskadowyModele życia oprogramowania – model kaskadowy

Faza konserwacji – oprogramowanie wykorzystywane jest przez użytkowników a producent dokonuje konserwacji oprogramowania - wykonuje modyfikacje polegające na usuwaniu błędów, zmianach i rozszerzaniu funkcji systemu.

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Modele życia oprogramowania – model kaskadowyModele życia oprogramowania – model kaskadowy

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Modele życia oprogramowania – model kaskadowyModele życia oprogramowania – model kaskadowy

Faza strategiczna – wykonywana przed formalnym podjęciem decyzji o realizacji przedsięwzięcia. W niej podejmowane są dalsze decyzje odnośnie kolejnych etapów prac. Wymaga przynajmniej ogólnego określenia wymagań.

Faza analizy - budowany jest logiczny model systemu.

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Modele życia oprogramowania – model kaskadowyModele życia oprogramowania – model kaskadowy

Faza dokumentacji - najdłuższa z faz modelu kaskadowego, w której wytwarzana jest dokumentacja użytkownika, tworzona równolegle z produkcją oprogramowania

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Modele życia oprogramowania – model kaskadowyModele życia oprogramowania – model kaskadowy

Faza instalacji - przekazanie systemu użytkownikowi.

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Modele życia oprogramowania – model kaskadowyModele życia oprogramowania – model kaskadowy

ZALETY- ułatwia organizację: planowanie, harmonogramowanie, monitorowanie przedsięwzięcia- zmusza do zdyscyplinowanego podejścia- wymusza kończenie dokumentacji po każdej fazie

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Modele życia oprogramowania – model kaskadowyModele życia oprogramowania – model kaskadowy

WADY- narzucana ścisła kolejność wykonywania prac- występują trudności w sformułowaniu wymagań od samego początku- wysokie koszty błędów popełnionych we wczesnych fazach,- długie przerwy w kontaktach z klientem.- brak weryfikacji i elastyczności- możliwa jest niezgodność z faktycznymi potrzebami klienta- niedopasowanie- realizatorzy kolejnych faz muszą czekać na zakończenie wcześniejszych

Prototyp jest częściowym, fizycznym lub logicznym, wdrożeniem produktu, posiadającym wszystkie zewnętrzne interfejsy

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Modele życia oprogramowania – tworzenie prototypówModele życia oprogramowania – tworzenie prototypów

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Modele życia oprogramowania – tworzenie prototypówModele życia oprogramowania – tworzenie prototypów

ZALETY- lepsze poznanie potrzeb i wymagań klienta- możliwość szybkiej demonstracji pracującej wersji systemu-możliwość szkoleń zanim zbudowany zostanie pełny system

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Modele życia oprogramowania – tworzenie prototypówModele życia oprogramowania – tworzenie prototypów

WADY-niezadowolenie klienta, który po obejrzeniu działającego prototypu musi następnie długo czekać na dostawę gotowego systemu- (pozorna) koszt budowy prototypu

Szybkie odrzucanie prototypów - metodę tą stosuje się wówczas, gdy zespół analityczny nie do końca rozumie pewne części systemu, lub gdy zespół pracuje nad oprogramowaniem o wysokim współczynniku

ryzyka.

Ewolucja prototypu - Po ocenie klienta, prototyp nie jest odrzucany, ale jest ulepszany i dopracowywany.

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Modele życia oprogramowania – tworzenie prototypówModele życia oprogramowania – tworzenie prototypów

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Modele życia oprogramowania – model spiralnyModele życia oprogramowania – model spiralny

Fazy modelu spiralnegoAnaliza ryzyka - rozważanie ogólnych opcji budowy nowej wersji systemu, biorąc przy tym pod uwagę ryzyko związane z jego realizacjąKonstrukcji - konstruowanie kolejnej wersji systemu w sposób zgodny z modelem kaskadowymAtestowanie - ocena przez klienta, przy pozytywnej ocenia, rozpoczyna się kolejny etap.Planowanie - ustalanie generalnych celów produkcji kolejnej wersji systemu.

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Modele życia oprogramowania – model spiralnyModele życia oprogramowania – model spiralny

ZALETY- regularne kontakty z klientem- minimalizacja ryzyka porażki- realizacja przyrostowa- z punktu widzenia klienta - pełna kontrola postępów prac- duże projekty - szybka reakcja na zmiany

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Modele życia oprogramowania – model spiralnyModele życia oprogramowania – model spiralny

WADY- koszty realizacji większe niż w modelu kaskadowym- trudność w szacowaniu ryzyka- pokusa odkładania realizacji szczegółów na później

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Modele życia Modele życia

oprogramowania – iteracyjny oprogramowania – iteracyjny

model procesu produkcjimodel procesu produkcji

Analiza domen- definiowanie wymagań- określenie architektury- analiza ryzyka- tworzenie prototypu- testowanie oprogramowania i towarzyszącego mu środowiska- integracja z poprzednimi wersjami (sprzed danej iteracji)- wypuszczenie iteracji do użytku

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Modele życia oprogramowania – iteracyjny model procesu produkcjiModele życia oprogramowania – iteracyjny model procesu produkcji

Osiem kroków w programowaniu obiektowym- wymodelowanie podstawowego systemu - określeniu wymagań danego klienta- uzyskanie proponowanych klas - wybieranie odpowiednich klas oraz metod - ograniczenie podstawowego modelu - powstanie tzw. modelu inkarnacyjnego lub wcieleniowego- opracowanie dodatkowych klas - dobranie dodatkowych klas i metod- synteza klas - budowa hierarchii klas- definiowanie interfejsów - tworzenie definicji klas, deklaracji typów obiektów oraz interfejsy- dokończenie projektu- wdrożenie rozwiązania - kodowanie implementacji klas i testowania powstałej aplikacji.

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Modele życia oprogramowania – obiektowo zorientowany proces produkcjiModele życia oprogramowania – obiektowo zorientowany proces produkcji

Praktyki stosowane w programowaniu XP- planowanie- metafora systemu- prosty projekt- programowanie parami- test jednostki i test akceptacji- refaktoryzacja- uwspólnienie kodu- ciągła integracja- przedstawiciel klienta- 40-godzinny tydzień pracy- „Małe” wersje - standard kodowania

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Modele życia oprogramowania – programowanie ekstremalne XPModele życia oprogramowania – programowanie ekstremalne XP

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Proces CLEANROOMProces CLEANROOM

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Proces zapobiegania defektom składa się z czterech elementów:Proces zapobiegania defektom składa się z czterech elementów:

- Spotkania analityczne- Zespół operacyjny- Spotkania podczas rozpoczynania etapu produkcji- Śledzenie czynności i zbieranie danych

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Proces zapobiegania Proces zapobiegania

defektom składa się z defektom składa się z

czterech elementów:czterech elementów:

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

- Poziom 1 – wstępny- Poziom 2 – Powtarzalny- Poziom 3 – Zdefiniowany - Poziom 4 – Zarządzany - Poziom 5 – Optymalizujący

Model dojrzałości procesu SEIModel dojrzałości procesu SEI

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Ocena SPR porusza następujące tematy:- pomiary jakości i produktywności- doświadczenia programistów w usuwaniu defektów przed testami- doświadczenia programistów w usuwaniu defektów podczas testów- zamierzone cele jakości i niezawodności oprogramowania- usuwanie defektów na poziomie projektu przed testami- usuwanie defektów na poziomie projektu podczas testów- usuwanie defektów po wypuszczeniu oprogramowania

Ocena Instytutu Badań Produktywności OprogramowaniaOcena Instytutu Badań Produktywności Oprogramowania

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Rezultaty oceny SPR dzieli się na pięć podstawowych kategorii- oceniany projekt lub produkt- użyte technologie- użyte procesy- ergonomia i środowisko pracy zespołu- personel i szkolenie kadry zarządzającej i pozostałych pracowników

Ocena Instytutu Badań Produktywności OprogramowaniaOcena Instytutu Badań Produktywności Oprogramowania

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Pod ocenę brane są trzy aspekty:- podejście do zagadnienia – brane jest pod uwagę wykorzystanie przez firmę metod do osiągnięcia określonych uprzednio celów- rozwój – określa stopień wprowadzenia postanowień zawartych w podejściu do zagadnienia- wyniki – końcowy rezultat oraz stopień zrealizowania projektu

Ocena Malcolma Baldrige’aOcena Malcolma Baldrige’a

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Ocena Malcolma Baldrige’aOcena Malcolma Baldrige’a

Aby ubiegać się o nagrodę Malcolma Baldrige’a firma musi spełnić pięć postulatów:- podnieść poziom oczekiwań jakościowych i standardów jakości (terytorium Stanów Zjednoczonych)- ułatwić komunikację i dzielenie się doświadczeniami pomiędzy organizacjami i wewnątrz organizacji kluczowymi wymaganiami jakościowymi- zapewnić działające narzędzia planowania, szkoleń itd.- określić warunki do przyznania nagrody - dokładnie ocenić aplikujące instytucje

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

Model zarządzania jakościąModel zarządzania jakością

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

ISO 9000ISO 9000

Elementami wymaganymi do rejestracji ISO 9000 są:- odpowiedzialność zarządzania- system jakości - sprawdzanie kontraktów- kontrola wykonania- kontrola dokumentów- sposób zakupu- produkt dostarczony kupującemu- identyfikacja i możliwość śledzenia produktu- kontrola procesu- sprawdzanie i testy- narzędzia sprawdzające i testujące

- status sprawdzania testów- kontrola elementów nie spełniających wymagań- działania korekcyjne- zadania logistyczne (transport, magazynowanie, pakowanie, dostawa)- historia jakości- wewnętrzne sprawdzanie jakości- szkolenie- serwis- techniki statystyczne

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

ISO 9000ISO 9000

Jakość oprogramowania i modele procesu produkcji Jakość oprogramowania i modele procesu produkcji oprogramowaniaoprogramowania

AutorzyAutorzy

CZADO TomaszDOBOSZ PiotrGr. 1, Rok 3Wydział Inżynierii Mechanicznej i InformatykiKierunek: Informatyka

Recommended