41
Informatyka Techniczna Część 1 Część 1 IT IT >Charakterystyka oprogramowania > Zarządzanie jakością oprogramowania cz. I w materiałach wykorzystano: K.Subieta: Budowa i integracja systemów informatycznych A.Kobieliński: Inżynieria Oprogramowania I.Sommerville: Software Engineering Guides S.H. Kan: Metryki i modele w inżynierii jakości oprogramowania G.G. Shulmeyer: Handbook of Software Quality Assurance

IT Slajdy cz.1

  • Upload
    zielu16

  • View
    235

  • Download
    0

Embed Size (px)

DESCRIPTION

IT dla ubogich AEI

Citation preview

  • Informatyka Techniczna

    Cz 1Cz 1

    ITIT>Charakterystyka oprogramowania

    > Zarzdzanie jakoci oprogramowania cz. I

    w materiaach wykorzystano:K.Subieta: Budowa i integracja systemw informatycznych

    A.Kobieliski: Inynieria OprogramowaniaI.Sommerville: Software Engineering Guides

    S.H. Kan: Metryki i modele w inynierii jakoci oprogramowaniaG.G. Shulmeyer: Handbook of Software Quality Assurance

  • Informatyka Techniczna

    OprogramowanieOprogramowanie

    Czym jest oprogramowanie Rodzaje programw Charakterystyka

    oprogramowania Cechy oprogramowania

  • Informatyka Techniczna

    Czym jest oprogramowanieCzym jest oprogramowanie

    Oprogramowanie toOprogramowanie to: kod (program), realizujcy okrelone funkcje struktury danych umoliwiajce programowi

    odpowiednie przetwarzanie danych dokumentacja

    opisujca mechanizmy dziaania programu przedstawiajca sposoby korzystania z programu

  • Informatyka Techniczna

    Rodzaje programwRodzaje programw

    Rodzaje programw: oglne z pki, (off the shelf) na zamwienie (bespoke)

    Problemy i metody stosowane w obu przypadkach s identyczne. Gwna rnica to rdo specyfikacji programu

    dla oglnych tworzona wewntrznie np. przez dzia marketingu

    w systemach na zamwienie okrelana przez klienta skadajcego zamwienie

  • Informatyka Techniczna

    Systemy COTSSystemy COTS

    Model poredni to systemy COTS (commercial off-the-shelf) System posiada typowe funkcje dla danej klasy systemw Pewna cz jest nadmiarowa Pewne specyficzne wymagania wymagaj dodatkowej konfiguracji lub

    uzupenienia funkcjonalnoci Brakujca cz jest krytyczna dla powodzenia projektu

    Wymagania klienta

    60%-70% 20%-30%10%

    Cz nadmiarowaCz dopasowana

    Brakujca cz

  • Informatyka Techniczna

    Charakterystyka oprogramowaniaCharakterystyka oprogramowania

    Oprogramowanie jest tworzone, a nie produkowane w klasycznym sensie

    Oprogramowanie nie zuywa si z biegiem czasu, ale moe si pogarsza na skutek wprowadzanych zmian

    Oprogramowanie w wikszoci budowane jest od podstaw, rzadziej skadane z gotowych elementw (ta sytuacja ulega stopniowej zmianie)

  • Informatyka Techniczna

    Ewolucja oprogramowaniaEwolucja oprogramowania

    Aby oprogramowanie pozostawao uyteczne musi si zmienia

    Wane zagadnienie organizacje s uzalenione od oprogramowania, z ktrego korzystaj

    Przyczyny wystpowania koniecznoci zmian Zmiana regulacji prawnych Zmiana zasad dziaania organizacji Zmiana platformy sprztowej i systemowej Pojawianie si nowych wymaga

  • Informatyka Techniczna

    Cykl zarzdzania ewolucjCykl zarzdzania ewolucj

    Struktura cyklu zarzdzania ewolucj uwzgldnia Zgaszanie da Analiz skutkw Planowanie Implementacj Dystrybucj

    Zgaszanie daZgaszanie da Analiza skutkwAnaliza skutkw ImplementacjaImplementacja DystrybucjaDystrybucjaPlanowaniePlanowanie

  • Informatyka Techniczna

    Prawa LehmanaPrawa Lehmana

    Mair Lehman et. al. (1996-2001) sformuowali 8 praw okrelajcych dynamik rozwoju oprogramowania

    Prawo cigej zmiany: program pozostajcy w uytku w okrelonym rodowisku musi si zmienia lub stawa mniej uytecznym w tym rodowisku

    Prawo rosncej zoonoci : rozwijajcy si program zmienia si i staje si coraz bardziej zoony. Zachowanie jego wyjciowej zoonoci wymaga angaowania dodatkowych rodkw.

  • Informatyka Techniczna

    Prawa LehmanaPrawa Lehmana

    Prawo ewolucji duych programw: ewolucja duych programw to proces samoregulujcy si. Atrybuty systemu takie jak rozmiar, czas pomidzy kolejnymi wersjami i liczba zgaszanych bdw s w przyblieniu stae dla kolejnych jego dystrybucji.

    inaczej: dynamika rozwoju duych programw jest staa o dynamice decyduje proces tworzenia programu przyjte tu rozwizania (popenione bdy) wyznaczaj

    zasadnicze trendy dotyczce nakadw ponoszonych w fazie eksploatacji

  • Informatyka Techniczna

    Prawa LehmanaPrawa Lehmana

    Prawo stabilnoci organizacji : tempo rozwoju oprogramowania na przestrzeni cyklu yciowego jest w przyblieniu stae i niezalene od iloci zasobw zaangaowanych w jego powstanie.

    Prawo zachowania zmiennoci : przyrostowa zmiana w obrbie kadej dystrybucji programu jest w przyblieniu staa.

    Prawo cigego wzrostu : aby utrzyma wysoki poziom zadowolenia uytkownikw funkcjonalno systemu musi cigle wzrasta.

  • Informatyka Techniczna

    Prawa LehmanaPrawa Lehmana

    Prawo spadajcej jakoci : jako systemu postrzegana jest coraz gorzej, jeli nie jest on stale dostosowywany do zmian zachodzcych w rodowisku dziaania

    Prawo sprzenia zwrotnego : znaczcy rozwj systemu moliwy jest tylko w przypadku stosowania iteracyjnych metod zarzdzania uwzgldniajcych zwrotne informacje od uytkownikw.

  • Informatyka Techniczna

    Utrzymanie oprogramowaniaUtrzymanie oprogramowania

    Utrzymanie oprogramowania proces zmian oprogramowania zachodzcy po wdroeniu (dostarczeniu).

    Rodzaje dziaa zwizanych z utrzymaniem oprogramowania Naprawa bdw Dostosowanie do zmian zachodzcych w rodowisku

    dziaania oprogramowania Rozbudowa funkcjonalnoci

    Nakady zasobw na poszczeglne dziaania

    rdo: Nosek J. T., Plavia P., Software Maintenance: Research and Practice 1990

  • Informatyka Techniczna

    Atrybuty oprogramowaniaAtrybuty oprogramowania

    Podstawowe atrybutyatrybuty dobrego oprogramowania uniwersalnouniwersalno - moliwo dostosowania oprogramowania do

    zmieniajcych si potrzeb pewnopewno - niezawodno i bezpieczestwo, czyli

    zabezpieczenie przed oddziaywaniem otoczenia (security) oraz pewno pracy (safety) - awaria oprogramowanie nie powinna powodowa fizycznych i ekonomicznych szkd

    wydajnowydajno - oprogramowanie nie powinno marnowa zasobw systemowych

    wygoda w uyciuwygoda w uyciu - oprogramowanie powinno mie waciwy interfejs uytkownika i dokumentacj

  • Informatyka Techniczna

    KompromisyKompromisy

    Jeli wymagany jest wysoki poziom jednego z atrybutw (np. wydajnoci) koszty wytworzenia oprogramowania rosn wykadniczo

    Koszt

    Wydajno

  • Informatyka Techniczna

    Inne atrybuty oprogramowaniaInne atrybuty oprogramowania PoprawnoPoprawno okrela, czy oprogramowanie wypenia postawione przed

    nim zadania i czy jest wolne od bdw. CzytelnoCzytelno pozwala na okrelenie wysiku niezbdnego do

    zrozumienia oprogramowania. Ponowne uyciePonowne uycie charakteryzuje przydatno oprogramowania, caego

    lub tylko pewnych fragmentw, do wykorzystania w innych produktach programistycznych.

    Stopie strukturalizacjiStopie strukturalizacji (modularno) okrela, jak atwo oprogramowanie daje si podzieli na czci o dobrze wyraonej semantyce i dobrze wyspecyfikowanej wzajemnej interakcji.

  • Informatyka Techniczna

    EfektywnoEfektywno opisuje stopie wykorzystania zasobw sprztowych i programowych stanowicych podstaw dziaania oprogramowania.

    PrzenaszalnoPrzenaszalno mwi o atwoci przenoszenia oprogramowania na inne platformy sprztowe czy programowe.

    SkalowalnoSkalowalno opisuje zachowanie si oprogramowania przy rozrocie liczby uytkownikw, objtoci przetwarzanych danych, doczaniu nowych skadnikw, itp.

    WspdziaanieWspdziaanie charakteryzuje zdolno oprogramowania do niezawodnej wsppracy z innym niezalenie skonstruowanym oprogramowaniem.

    Inne atrybuty oprogramowaniaInne atrybuty oprogramowania

  • Informatyka Techniczna

    Zarzdzanie jakoci oprogramowaniaZarzdzanie jakoci oprogramowania

    Zrby systemu zarzdzania jakociKolejny wykad: Model dojrzaoci procesu Proces przetwarzania skarg Podstawowe narzdzia jakoci

  • Informatyka Techniczna

    Zrby systemuZrby systemu

    Zrby systemu podstawa, fundament, struktura Okrelenie angielskojzyczne QMF (quality management

    framework) Koncepcja opracowana w 1982 w kontekcie jakoci

    rnych produktw, w tym oprogramowania Zostaa rozwinita w rnych pniejszych standardach w

    tym w DOD (US Department of Defense), CMMI (Capability Maturity Model Integration), SW-CMM (Software adopted CMMI)

  • Informatyka Techniczna

    QMF podstawowe pojciaQMF podstawowe pojcia

    Definiuje podstawowe pojcia Obiekt pojcie uoglnione Proces Wymaganie Uytkownik Ewaluacja Miara i pomiary Jako

  • Informatyka Techniczna

    QMF obiektyQMF obiekty

    Obiektem moe by Produkt Proces Usuga Zasb Artefakt Dziaanie Miara i pomiary rodowisko Kolekcja obiektw

  • Informatyka Techniczna

    QMF definicjeQMF definicje

    ProduktProdukt namacalne, znaczce wyjcie lub usuga bdce wynikiem procesu

    Produktem moe by sprzt oprogramowanie dokumentacja dowolna kombinacja powyszych

  • Informatyka Techniczna

    QMF definicjeQMF definicje

    ProcesProces zbir dziaa podejmowanych w okrelonym celu Jako produktu zaley od jakoci procesu towarzyszcego

    jego powstawaniu WymaganieWymaganie podana moliwo, cecha, warunek, ktr

    musi posiada obiekt aby speni zaoenia kontraktu, standardu, specyfikacji lub innej formalnie narzuconej normie

    Dla produktu, jakim jest oprogramowanie obowizuje okrelona kategoryzacja wymaga

  • Informatyka Techniczna

    QMF definicjeQMF definicje

    UytkownikUytkownik klient lub uytkownik kocowy Wyrnia si trzy przypadki Dla uproszczenia termin uytkownik odnosi si do

    wszystkich trzech sytuacji

    Klient to uytkownik kocowy

    Klient Uytkownik kocowy

    Klient

    Uytkownik kocowy

  • Informatyka Techniczna

    QMF definicjeQMF definicje

    EwaluacjaEwaluacja proces wyznaczania stopnia speniania wymaga

    Inna definicja proces wyznaczania jakoci produktw i zwizanych z nimi elementw dokumentacji, procesw i dziaa majcych wpywa na jako produktu.

    Ewaluacja moe obejmowa Wszelkie analizy Inspekcje Przegldy Testy

  • Informatyka Techniczna

    QMF definicjeQMF definicje

    Miara i pomiaryMiara i pomiary zdolno do pomiaru jakoci procesw i produktw i moliwo przypisywania jej okrelonych wartoci wyraonych liczbami

    Miara okrela wielko odnoszc si do zgodnoci procesu i produktu ze standardami

    Pomiar definiuje proces wyznaczania wartoci reprezentujcej miar stosowany w organizacji

    Uwaga terminologiczna: pojcie miara bywa stosowane zamiennie z pojciem metryki taka zamiana jest poprawna, ale w niektrych opracowaniach (standardach) pojcia te posiadaj odmienne definicje

  • Informatyka Techniczna

    QMF definicjeQMF definicje

    Jako Jako stopie w jakim obiekt (proces, produkt, usuga) spenia zestaw wymaganych atrybutw oraz wymaga

    Istniej dwie zasadnicze kategorie rozumienia i postrzegania jakoci Jako rozumiana jako zgodno z wymaganiami.

    Kade odstpstwo od wymaga traktowane jest jako defekt. Inaczej: mwi si o ocenie atrybutw oprogramowania (produktu)

    Jako rozumiana jako przydatno do uytku. W tym przypadku bierze si pod uwag wymagania i oczekiwania uytkownikw.

    Specyfik oprogramowania jest due znaczenie drugiego z wymienionych aspektw.

  • Informatyka Techniczna

    QMF elementy programu jakociQMF elementy programu jakoci

    Program zarzdzania jakoci obejmuje trzy elementy wymagane do: Ustalenia wymaga i zarzdzania zmianami Ustalenia i wdroenia metod Okrelenia jakoci produktu i procesu

    W pierwszej kolejnoci okrela si podane atrybuty produktu, nastpnie opracowuje si metody wytwrcze i wdraa je, ostatecznie definiuje si sposb opomiarowania jakoci procesu wytwrczego i samego

    produktu.

    Program jakoci

    Ustal wymagania i

    zarzdzaj zmianami

    Ustal i wdraaj metody

    Ewaluuj proces i jako

    produktu

  • Informatyka Techniczna

    QMF Ustalenie wymaga i zarzdzanie QMF Ustalenie wymaga i zarzdzanie zmianamizmianami

    Ustalenie wymaga, a raczej stworzenie metody ustalania wymaga pierwszy element programu jakoci

    Wymagania musz odzwierciedla aktualne potrzeby spoecznoci uytkownikw

    Wymagania musz odzwierciedla potrzeby inwestorw i respektowa wyznaczone przez nich ograniczenia

    Wymagania naley gromadzi w sposb sformalizowany

  • Informatyka Techniczna

    QMF Ustalenie wymaga i zarzdzanie QMF Ustalenie wymaga i zarzdzanie zmianamizmianami

    Nie mniej jednak poczucie jakoci jest przewanie subiektywne (uytkownik postrzega produkt z wasnej perspektywy)

    Proces formuowania wymaga jako proces formalny powinien rwnie podlega ocenie

    Wspdziaa zatem z pozostaymi dwoma elementami QMF (metody i ewaluacja jakoci)

    Cel : wyspecyfikowanie wymaga, ktrych wypenienie zaowocuje wysokim stopniem jakoci i satysfakcji klienta

  • Informatyka Techniczna

    QMF Ustalenie wymaga i zarzdzanie QMF Ustalenie wymaga i zarzdzanie zmianamizmianami

    Proces akwizycji wymaga wymaga wprowadzenia mechanizmu zarzdzania konfiguracj, ktry umoliwi: Ustalenie momentu, w ktrym mona rozpocz dalsze

    dziaania zwizane z rozwojem projektu (ustalenie faktu, e specyfikacja wymaga osigna ju odpowiedni poziom stabilnoci)

    Zapobiega niekontrolowanym zmianom w zasadniczej specyfikacji produktu

    Sprawi, e rozwj produktu i kolejne fazy procesu wytwrczego nie bd miay negatywnego wpywu na jego jako

  • Informatyka Techniczna

    QMF Ustalenie wymaga i zarzdzanie QMF Ustalenie wymaga i zarzdzanie zmianamizmianami

    Kontrolowaniu zjawiska ewolucji wymaga suy proces zarzdzania zmianami

    Proces powinien by wsparty narzdziami (programy komputerowe w postaci repozytoriw wymaga)

    Zarzdzanie zmianami pozwala na osignicie nastpujcych celw: Wprowadzenie sformalizowane cieki zgaszania da

    zmiany Wprowadzenie mechanizmw oceny da Wprowadzenie jasnych regu akceptacji/odrzucania

    zmian Wprowadzenie mechanizmw rozlicze klienta z

    wykonawc Wytworzenie poczucia satysfakcji klienta (kto zajmuje

    si moim problemem) Wytworzenie poczucia bezpieczestwa wykonawcy (nie

    boj si eskalacji da)

  • Informatyka Techniczna

    QMF Ustalenie i wdroenie metodQMF Ustalenie i wdroenie metod

    Drugi element QMF polega na wyborze, wdroeniu okrelonych procesw metod i praktyk i ma na celu wbudowanie jakoci w produkt.

    Jako nie jest postrzegana jako byt zewntrzny w stosunku do produktu jest jego elementem.

    Klient

    System zarzdzaniajakoci

    Produkt

  • Informatyka Techniczna

    QMF Ustalenie i wdroenie metodQMF Ustalenie i wdroenie metod

    Wdraane metody mog wynika z globalnych lub korporacyjnych standardw i mog by powielane w kolejnych projektach

    Czasami zachodzi potrzeba wdroenia wyspecjalizowanych rozwiza odnoszcych si do konkretnego projektu

    I w jednym i w drugim przypadku mamy do czynienia z organizacj dziaa firmy (wdraanie istniejcych, wzgldnie opracowywanie nowych standardw)

    Istnieje silna zaleno pomidzy jakoci procesu a jakoci samego produktu

    Jeli przykadowo firma jest w wysokim stopniu niezorganizowana (dziaa chaotycznie) naley spodziewa si, e jej produkty bd posiaday niska jako

  • Informatyka Techniczna

    QMF Ustalenie i wdroenie metod QMF Ustalenie i wdroenie metod (standardy rozwoju procesu)(standardy rozwoju procesu)

    CMMI (Capability Maturity Model Integration) 1995 rok Standard rozwinity przez SEI (Software Engineering

    Institute) przy Carnegie Mellon University Wymienione: model procesu i metodyk jego oceny stosuje

    si charakteryzujc dojrzao procesu wytwrczego i towarzyszcej mu metodyki.

  • Informatyka Techniczna

    QMF Ustalenie i wdroenie metod QMF Ustalenie i wdroenie metod (standardy rozwoju procesu)(standardy rozwoju procesu)

    Model CMMI zakada sze poziomw organizacji: Wstpny Zarzdzany Zdefiniowany Mierzalny Optymalizowany

  • Informatyka Techniczna

    QMF Ustalenie i wdroenie metod QMF Ustalenie i wdroenie metod (standardy rozwoju procesu)(standardy rozwoju procesu)

    Poziom wstpnyPoziom wstpny proces jest nieprzewidywalny, le kontrolowany i czuy

    Poziom zarzdzanyPoziom zarzdzany wdraa si standardy i procesy; zarzdzanie ma miejsce na poziomie pojedynczego projektu; zarzdzanie jest wraliwe na bodce zewntrzne

    Poziom zdefiniowanyPoziom zdefiniowany Standardy s wdroone na poziomie caej organizacji

    Poziom mierzalnyPoziom mierzalny Proces jest opomiarowany i sterowany przez zastosowanie metryk statystycznych i liczbowych

    Poziom optymalizowanyPoziom optymalizowany na tym poziomie kadzie si nacisk na cige doskonalenie procesu

  • Informatyka Techniczna

    QMF Pomiar jakoci produktu i procesuQMF Pomiar jakoci produktu i procesu

    Trzeci element QMF zwizany jest z ocen procesu i powstajcego w jego efekcie produktu

    Ocena dotyczy: Jakoci produktu Odpowiednioci procesw i dziaa odpowiedzialnych za

    jako produktu Zgodnoci dziaa z ustalonym w firmie procesem

    wytwrczym (rozumianym szeroko, jako metodyka)

  • Informatyka Techniczna

    QMF Pomiar jakoci QMF Pomiar jakoci produktuproduktu i procesu i procesu

    Ocena produktu polega na ustaleniu jego zgodnoci z wymaganiami w ramach zaoonych kosztw i ustalonego harmonogramu

    Koszty wytworzenia i harmonogram naley wczy do oceny produktu

    Przykadowo: przy nieograniczonych kosztach i bez zaoe co do harmonogramu, przynajmniej teoretycznie mona by wytworzy produkt o bardzo wysokiej jakoci

    Moliwe jest dokonywanie oceny i pomiaru Ocena obejmuje analizy, audyty, wywiady, itp., nie

    dostarcza twardej wiedzy ilociowej Pomiar dostarcza ilociowej wiedzy, moe przyjmowa

    form rnego rodzaju testw, uruchomie, metryk, list kontrolnych, itp.

  • Informatyka Techniczna

    QMF Pomiar jakoci produktu i QMF Pomiar jakoci produktu i procesuprocesu

    Ocena procesu sprowadza si gwnie do ustalenia tego, czy produkt wytwarzany jest zgodnie z ustalonymi standardami

    Zgodno ze standardami rozumiemy jako zgodno ze zdefiniowanym i wdroonym w firmie procesem wytwrczym i wszystkimi jego elementami, takimi jak standardy dokumentacji, metodyki, zasady bezpieczestwa, itp.

    W dojrzaych organizacjach, wnioski z oceny procesu (negatywne) powoduj wdraanie dziaa naprawczych

    W ten sposb proces w miar upywu czasu jest stale doskonalony (Continuous Process Improvement) poziom szsty CMMI.

    W organizacjach mniej dojrzaych w ramach pomiaru jakoci procesu rozwijane np. kolejne narzdzia kontrolne poziom pity CMMI.

  • Informatyka Techniczna

    QMF Podstawowe problemyQMF Podstawowe problemy

    Przekonanie, e kwestie jakoci s tylko i wycznie spraw dziau jakoci (osb odpowiedzialnych za jako)

    Zaoenie: rbmy swoje, bdy wychwyc testerzy jest sprzeczne z przytoczonym trzyelementowym zrbem systemy jakoci

    Oddzielanie zagadnie jakoci od produktu jako takiego Koncentrowanie si na jakoci produktu, z pominiciem

    jakoci procesu Wniosek: kady pracownik zaangaowany w wytwarzanie

    produktu powinien realizowa jaki fragment oglnego systemu zarzdzania jakoci

    W dalszej czci wykadu:Zarzdzanie skargamiNarzdzia jakoci w wytwarzaniu oprogramowania

    Slajd 1Slajd 2Slajd 3Slajd 4Slajd 5Slajd 6Slajd 7Slajd 8Slajd 9Slajd 10Slajd 11Slajd 12Slajd 13Slajd 14Slajd 15Slajd 16Slajd 17Slajd 18Slajd 19Slajd 20Slajd 21Slajd 22Slajd 23Slajd 24Slajd 25Slajd 26Slajd 27Slajd 28Slajd 29Slajd 30Slajd 31Slajd 32Slajd 33Slajd 34Slajd 35Slajd 36Slajd 37Slajd 38Slajd 39Slajd 40Slajd 41