Inżynieria Oprogramowania 12. Zarządzanie jakością

Slides:



Advertisements
Podobne prezentacje
Wprowadzenie do informatyki Wykład 6
Advertisements

Jarosław Kuchta Jakość Oprogramowania
Modelowanie przypadków użycia
Inżynieria Oprogramowania 10. Szacowanie kosztu oprogramowania cz. 2
WYKORZYSTANIE B-LEARNING’U W NAUCZANIU JĘZYKA SPECJALISTYCZNEGO (ANGIELSKI W TURYSTYCE) Joanna Jercha - Malinowska.
Ludwik Antal - Numeryczna analiza pól elektromagnetycznych –W10
Projekt Do kariery na skrzydłach – studiuj Aviation Management Projekt współfinansowany ze ś rodków Europejskiego Funduszu Społecznego. Biuro projektu:
Opis metodyki i procesu produkcji oprogramowania
JAKOŚĆ & Metody Jej Pomiaru
MOF Microsoft Operations Framework
1 Stan rozwoju Systemu Analiz Samorządowych czerwiec 2009 Dr Tomasz Potkański Z-ca Dyrektora Biura Związku Miast Polskich Warszawa,
Ksantypa2: Architektura
Doskonalenie łańcuchów dostaw Supply Chain Operations Reference Model
Ministerstwo Gospodarki Poland'sexperience Waldemar Pawlak Deputy Prime Minister, Minister of Economy March 2010.
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego LOGISTICS PACKAGING Imię i nazwisko: Alicja Małek Grupa.
Jakość systemów informacyjnych (aspekt eksploatacyjny)
Zestawienie wyników badań Researches summary. 1. Czy Twoi rodzice uprawiają jakieś sporty lub w inny aktywny sposób spędzają wolny czas poświęcając im.
Wykonawcy:Magdalena Bęczkowska Łukasz Maliszewski Piotr Kwiatek Piotr Litwiniuk Paweł Głębocki.
Licencjonowanie wirtualizacji
Licencjonowanie rodziny System Center 2012
Licencjonowanie Lync 2013 Poziom 200.
Licencjonowanie SharePoint 2013
Author: Welcome to London's history and culture.
Damian Ciunowicz i Krystian Baranowski – kl. I „TL’’
Licencjonowanie aplikacji serwerowych
Usługi online oraz Office 365. Przegląd usług online Dodawanie usług online do umów grupowych Nabywanie licencji Office 365.
Podstawy modeli i programów licencyjnych Microsoft.
Licencjonowanie narzędzi dla programistów
Licencjonowanie rodziny produktów Forefront oraz System Center
KOLEKTOR ZASOBNIK 2 ZASOBNIK 1 POMPA P2 POMPA P1 30°C Zasada działanie instalacji solarnej.
ŻYWE JĘZYKI PROGRAMOWANIA LIVING IT UP WITH A LIVE PROGRAMMING LANGUAGE Sean McDirmid Ecole Polytechnique Fédérale de Lausanne (EPFL)
SZKOŁA Z KLASĄ 2.0 English SOS.
-17 Oczekiwania gospodarcze – Europa Wrzesień 2013 Wskaźnik > +20 Wskaźnik 0 a +20 Wskaźnik 0 a -20 Wskaźnik < -20 Unia Europejska ogółem: +6 Wskaźnik.
SHOPPING- ROBIENIE ZAKUPÓW.
Zarządzanie zagrożeniami
Wydział Elektroniki Kierunek: AiR Zaawansowane metody programowania Wykład 5.
Proces tworzenia oprogramowania Proces tworzenia oprogramowania jest zbiorem czynności i związanych z nimi wyników, które prowadzą do powstania produktu.
Rights of the child. Kliknij, aby edytować format tekstu konspektu Drugi poziom konspektu  Trzeci poziom konspektu Czwarty poziom konspektu  Piąty poziom.
Economic development in biodiversity-rich areas Tomasz Żylicz University of Warsaw
Przetwarzanie sprzedaży z wykorzystaniem strony trzeciej (bez awiza dostawy) SAP Best Practices.
Polsko-Norweski Fundusz Badań Naukowych / Polish-Norwegian Research Fund Testowanie metriksów czyli do czego jesteśmy zobowiązani zapisami aplikacji Warsztaty.
Wstęp do Fizyki Środowiska - Podstawy mechaniki płynów Problems 1 Lecture 1 1)In a vertical capillary filled with water air bubbles are rising Sketch the.
CROSSWORD: SLANG. Konkurs polega na rozwiązaniu krzyżówki. CROSSWORD: SLANG Wypełnione karty odpowiedzi prosimy składać w bibliotece CJK, lub przesyłać.
Przegląd usług online Dodawanie usług online do umów grupowych Nabywanie licencji Office 365.
Copyright © Jerzy R. Nawrocki Team Software Process Inżynieria oprogramowania II Wykład.
… there was someone in the past who said: „To earn million you need billion”. In my opinion, it’s true.
Les meilleures photos de L'année 2005 D'après NBC A life for two, full of tenderness, obtains happiness as they get closer to heaven. Życie we dwoje,
Komponentowe i rozproszone Interludium czyli krótki wykład o rozpraszaniu.
Assessment of the impact of regular pilates exercises on static balance in healthy adult women. Preliminary report. 1 Rehabilitation Department, Division.
You are about to see a few sentences in Polish. Try to translate them into English, but keep in mind they are: The First Conditonal The Second Conditional.
Adaptive, Component Based System Architecture for Monitoring Data Storing Distributed Systems Research Group Department of Computer Science AGH-UST Cracow,
JOB SEARCH IS A JOB Career planning is building bridges from one’s current job/career.
Gini index measures the extent to which the distribution of income (or, in some cases, consumption expenditure) among individuals or.
Foundation for Promotion of Entrepreneurship – Continuing Education and Lifelong Learning NGO that responds to the training needs Fundacja Rozwoju Przedsiębiorczości.
Marcin Gliński Instytut Języków Romańskich i Translatoryki UŚ Regionalny Ośrodek Doskonalenia Nauczycieli WOM w Katowicach NOCNE POWTÓRKI MATURALNE 2016.
C PRZEWODNIK PO NAJCIEKAWSZYCH MIEJSCACH WROCŁAWIA - GUIDE TO THE MOST INTERESTING PLACES OF WROCLAW Cześć jestem Krzysztof. Dziś będę pokazywał Ci Najciekawsze.
Dzień dobry! Cześć! This project has been funded with support from the European Commission. This document reflects the views only of the authors, and.
Informatyczne Systemy w Zarządzaniu Tomek Marszał Wyższa Szkoła Informatyki I Umiejętności Zaliczenie przedmiotu Studia niestacjonarne.
Opracowanie: Katarzyna Gagan, Anna Krawczuk
Forest fire protection
Przetestuj Usability Mateusz Kaczmarek
Trudny czy łatwy labirynt?
SafeSurfing Moduł 1 Jak bezpiecznie korzystać z internetu i jak chronić swoje dane osobowe?
Zarządzanie projektami informatycznymi
A prototype of distributed modelling environment
Running Dictation Activity to Engage Students in Reading, Writing, Listening, and Speaking.
EMPOWEREMENT IN ICT SKILLS. I CREATED MY WEBSITE TO USE IT FOR TEACHING.
zl
1) What is Linux 2) Founder and mascot of linux 3) Why Torvalds created linux ? 4) System advantages and disadvantages 5) Linux distributions 6) Basic.
Combining chemical and biological methods for integrated environmental assessment The safety and quality of environment (living space, human and animal.
Zapis prezentacji:

Inżynieria Oprogramowania 12. Zarządzanie jakością 26/03/2017 Inżynieria Oprogramowania 12. Zarządzanie jakością Leszek J Chmielewski Wydział Zastosowań Informatyki i Matematyki SGGW www.lchmiel.pl

Źródła Ian Sommerville, Inżynieria Oprogramowania, WNT, Warszawa 2003 Ian Sommerville http://www.software-engin.com Chapter 24: Quality Management tekst przetłumaczony i zaadaptowany przez Leszka J Chmielewskiego, WZIM SGGW Paul Drath, Singleimage Co., UK. Workshops on EC FP Research Programmes, 1999-2002

Plan Wstęp Jakość oprogramowania Standardy Pomiary oprogramowania i metryki Podsumowanie

Plan Wstęp Jakość oprogramowania Standardy Pomiary oprogramowania i metryki Podsumowanie

Wstęp Jakość jest ważna – trzeba zarządzać jakością 26/03/2017 Wstęp Jakość jest ważna – trzeba zarządzać jakością Trzy główne zagadnienia: Poziom organizacyjny: ustalenie ram organizacyjnych dla procesów i norm, które wesprą produkcję oprogramowania o wysokiej jakości Poziom projektu: zastosowanie procesów i ich kontroli ustalenie planu jakości – celów jakości i sposobów ich osiągnięcia

Plan Wstęp Jakość oprogramowania Standardy Pomiary oprogramowania i metryki Podsumowanie

Działania dla zarządzania jakością Zarządzanie jakością to osobny, niezależny element kontroli procesu produkcji oprogramowania Sprawdza zgodność z celami i normami Zespół zarządzania jakością powinien być niezależny od zespołu wytwarzającego, aby mieć obiektywne zdanie, niezależne od zagadnień wytwarzania

Zarządzanie jakością a wytwarzanie

Planowanie jakości Plan jakości ustala wymagane aspekty jakościowe, sposoby ich oceny, oraz najważniejsze cechy jakościowe Plan powinien definiować proces oceny jakości Plan powinien ustalać, które normy organizacyjne powinny być zastosowane i ewentualnie definiować dodatkowe normy

Plany jakości Struktura Wprowadzenie o produkcie Plany związane z produktem Cele i cechy jakości Opisy procesów jakości Ryzyka i zarządzanie ryzykiem Plany jakości powinny być krótkie i zwięzłe przeciwnie – nikt ich nie będzie czytał

Zakres zarządzania jakością Ważne szczególnie dla dużych, złożonych systemów Dokumentacja jest zapisem postępu prac i ułatwia ciągłość produkcji na wypadek zmian w zespole Dla mniejszych systemów zarządzanie jakością wymaga mniej dokumentacji i powinno skupiać się na tworzeniu kultury jakości Zasadniczo, celem zarządzania jakością jest właśnie wytworzenie pożądanej kultury jakości

Jakość oprogramowania 26/03/2017 Jakość oprogramowania Prosto: zgodność produktu ze specyfikacją Dla systemów oprogramowania jest to problematyczne Napięcie pomiędzy wymaganiami jakości ze strony klienta (wydajność, niezawodność, ...) i producenta (zdatność do pielęgnacji, wielokrotne użycie, ...) Niektóre wymagania trudno jednoznacznie wyrazić Specyfikacja jest zwykle niepełna i często niekonsekwentna Kryterium może być raczej przydatność produktu do celów klienta

Przydatność do celów Czy standardy programowania i dokumentacji były stosowane? Czy oprogramowanie zostało odpowiednio przetestowane? Czy oprogramowanie jest wystarczająco niezawodne, aby je wprowadzić do użytkowania? Czy wydajność oprogramowania jest do przyjęcia dla normalnej eksploatacji? Czy oprogramowanie jest łatwe w użyciu? Czy oprogramowanie ma dobrą strukturę i jest zrozumiałe? Czy oprogramowanie realizuje to, czego po nim oczekiwano? Obciążenie helpdesku nie jest miarą jakości

Atrybuty jakości Safety Understandability Portability Security Testability Usability Reliability Adaptability Reusability Resilience Modularity Efficiency Robustness Complexity Learnability

Atrybuty jakości Bezpieczeństwo Zrozumiałość Przenośność Zabezpieczenie Testowalność Łatwość użycia Niezawodność Adaptowalność Zdatn. do wielokr. uż. Elastyczność Modularność Wydajność Odporność Złożoność Łatwość uczenia

Konflikty jakości Nie można zoptymalizować wszystkich atrybutów jednocześnie – na przykład, odporność (na co?; krzepkość) jest zwykle sprzeczna z wydajnością Plan jakości powinien zatem definiować cechy najważniejsze Plan powinien także zawierać definicję procesu oceny jakości – uzgodnionego sposobu oceny, czy konkretne atrybuty, takie jak np. zdatność do pielęgnacji lub odporność, są obecne w produkcie

Jakość procesu a jakość produktu 26/03/2017 Jakość procesu a jakość produktu Jakość produktu jest pod wpływem jakości procesu produkcyjnego W tworzeniu oprogramowania jest to istotne, gdyż niektóre atrybuty jakościowe oprogramowania są trudne do oszacowania Jednakże, relacja pomiędzy procesem produkcyjnym a jakością produktu jest mało zrozumiała i słabo zbadana W produkcji ważne są indywidualne zdolności i doświadczenie Czynniki zewnętrzne, jak nowość aplikacji lub wymaganie przyspieszonego dostarczenia mogą źle wpływać na jakość produktu

Jakość produktu oparta na procesie Zdefiniuj proces Rozwiń produkt Oceń jakość produktu Jakość produktu odpowiednia ? Opracuj standard procesu Popraw proces Nie Tak

Plan Wstęp Jakość oprogramowania Standardy Pomiary oprogramowania i metryki Podsumowanie

Standardy oprogramowania 26/03/2017 Standardy oprogramowania Standardy (normy) definiują wymagane cechy produktu lub procesu. Są ważne w zarządzaniu jakością. Normy mogą być międzynarodowe, narodowe, firmowe lub projektowe Normy produktowe definiują cechy, które mają charakteryzować wszystkie komponenty oprogramowania, na przykład wspólny styl programowania jednolity styl dokumentowania jednolity styl komunikacji z użytkownikiem ... Normy procesowe definiują jak należy realizować proces

26/03/2017 Ważność standardów Obudowanie najlepszych praktyk – unikanie powtarzania błędów Są ramą dla określenia co oznacza jakość w konkretnym przypadku, tzn. jakość z punktu widzenia organizacji Zapewniają ciągłość – nowi pracownicy rozumieją organizację rozumiejąc używane w niej standardy

Standardy produktu i procesu Standardy procesu Formularz przeglądu projektu Postępowanie w czasie przeglądu Struktura dokumentu wymagań Dostarczenie nowego kodu Format nagłówka metody Proces wydania wersji Styl programowania w Javie Proces zatwierdzania planu projektu Format planu projektu Proces sterowania zmianą Formularz wymagania zmiany Proces zapisu przebiegu testu

Problemy ze standardami Mogą być uważanie za nieistotne lub nieaktualne przez inżynierów Często wymagają biurokratycznego wypełniania formularzy Jeśli nie są wsparte oprogramowaniem narzędziowym, pielęgnacja dokumentacji jakości często wymaga nudnego wypełniania formularzy Sposób? Dalej.

Rozwój standardów Zaangażuj praktyków w rozwój standardów 26/03/2017 Rozwój standardów Zaangażuj praktyków w rozwój standardów Inżynierowie powinni rozumieć uzasadnienie dla standardu Regularnie przeglądaj standardy i ich użycie Standardy mogą się szybko starzeć Obniża to ich wiarygodność wśród praktyków Szczegółowe standardy powinny mieć wsparcie w postaci wyspecjalizowanych narzędzi Nadmierna praca urzędnicza powoduje najwięcej narzekań na standardy Formularze w sieci nie wystarczą

Standardy ISO 9001 Do budowy systemów zarządzania jakością można użyć międzynarodowego zbioru norm ISO 9001, najbardziej ogólna z norm tego rodzaju, stosuje się do organizacji które projektują, rozwijają i obsługują produkty w tym oprogramowanie Norma ISO 9001 jest ramą dla budowy standardów oprogramowania Ustala ogólne zasady jakości, opisuje procesy jakości w ogólności i przedkłada standardy i procedury organizacyjne, które należy zdefiniować. Należy je opisać w firmowym podręczniku jakości

Główne procesy ISO 9001 Procesy dostarczania produktu przyjmowanie zamówienia projektowanie i rozwój testowanie produkcja i dostarczanie serwis i wsparcie Procesy wspierające zarządzanie biznesowe zarządzanie dostawcami zarządzanie zasobami zarządzanie konfiguracjami

ISO 9001 i zarządzanie jakością Model jakości ISO 9001 jego egzemplarzem jest Firmowy podręcznik jakości dokumentuje Firmowy proces jakości jego egzemplarzem jest jest użyty przy opracowaniu Plan jakości projektu 1 Plan jakości projektu 2 Plan jakości projektu 3 Zarządzanie jakością projektów wspomaga

Certyfikacja ISO 9001 Standardy jakości i procedury powinny być udokumentowane w firmowym podręczniku jakości Zewnętrzna instytucja certyfikuje, że formowy podręcznik jakości jest zgodny z normą ISO 9001 Niektórzy klienci wymagają, by dostawcy mieli certyfikat ISO 9001, jakkolwiek potrzeba elastyczności jest uważana za coraz ważniejszą

Plan Wstęp Jakość oprogramowania Standardy Pomiary oprogramowania i metryki Podsumowanie I

Podsumowanie Zarządzanie jakością oprogramowania jest związane z zapewnieniem, że oprogramowanie ma mało defektów i że spełnia wymagane standardy niezawodności, zdatności do pielęgnacji, przenośności itd. Zarządzanie obejmuje standardy dla procesu i produktu oraz sposoby sprawdzania zgodności z tymi standardami Standardy oprogramowania są ważne, ponieważ reprezentują najlepsze praktyki Procedury zarządzania jakością mogą być udokumentowane w firmowym podręczniku jakości Można skorzystać z ogólnego modelu podręcznika jakości zasugerowanego przez normę ISO 9001

Plan Wstęp Jakość oprogramowania Standardy Pomiary oprogramowania i metryki (UK) Podsumowanie II

Software measurement and metrics Software measurement is concerned with deriving a numeric value for an attribute of a software product or process. This allows for objective comparisons between techniques and processes. Although some companies have introduced measurement programmes, most organisations still don’t make systematic use of software measurement. There are few established standards in this area. Chapter 24 Quality management 32

Chapter 24 Quality management 26/03/2017 Software metric Any type of measurement which relates to a software system, process or related documentation Lines of code in a program, the Fog index, number of person-days required to develop a component. Allow the software and the software process to be quantified. May be used to predict product attributes or to control the software process. Product metrics can be used for general predictions or to identify anomalous components. Chapter 24 Quality management 33

Predictor and control measurements Chapter 24 Quality management 34

Chapter 24 Quality management Use of measurements To assign a value to system quality attributes By measuring the characteristics of system components, such as their cyclomatic complexity, and then aggregating these measurements, you can assess system quality attributes, such as maintainability. To identify the system components whose quality is sub-standard Measurements can identify individual components with characteristics that deviate from the norm. For example, you can measure components to discover those with the highest complexity. These are most likely to contain bugs because the complexity makes them harder to understand. Chapter 24 Quality management 35

Chapter 24 Quality management 26/03/2017 Metrics assumptions A software property can be measured. The relationship exists between what we can measure and what we want to know. We can only measure internal attributes but are often more interested in external software attributes. This relationship has been formalised and validated. It may be difficult to relate what can be measured to desirable external quality attributes. Chapter 24 Quality management 36

Relationships between internal and external software attributes Chapter 24 Quality management 37

Problems with measurement in industry It is impossible to quantify the return on investment of introducing an organizational metrics program. There are no standards for software metrics or standardized processes for measurement and analysis. In many companies, software processes are not standardized and are poorly defined and controlled. Most work on software measurement has focused on code-based metrics and plan-driven development processes. However, more and more software is now developed by configuring the enterprise resource planning systems (ERP) or commercial-off-the-shelf systems (COTS). Introducing measurement adds additional overhead to processes. Chapter 24 Quality management 38

Chapter 24 Quality management 26/03/2017 Product metrics A quality metric should be a predictor of product quality. Classes of product metric Dynamic metrics which are collected by measurements made of a program in execution Static metrics which are collected by measurements made of the system representations Dynamic metrics help assess efficiency and reliability Static metrics help assess complexity, understandability and maintainability. Chapter 24 Quality management 39

Dynamic and static metrics Dynamic metrics are closely related to software quality attributes It is relatively easy to measure the response time of a system (performance attribute) or the number of failures (reliability attribute). Static metrics have an indirect relationship with quality attributes You need to try and derive a relationship between these metrics and properties such as complexity, understandability and maintainability. Chapter 24 Quality management 40

Static software product metrics Software metric Description Fan-in/Fan-out Fan-in is a measure of the number of functions or methods that call another function or method (say X). Fan-out is the number of functions that are called by function X. A high value for fan-in means that X is tightly coupled to the rest of the design and changes to X will have extensive knock-on effects. A high value for fan-out suggests that the overall complexity of X may be high because of the complexity of the control logic needed to coordinate the called components. Length of code This is a measure of the size of a program. Generally, the larger the size of the code of a component, the more complex and error-prone that component is likely to be. Length of code has been shown to be one of the most reliable metrics for predicting error-proneness in components. Chapter 24 Quality management 41

Static software product metrics Software metric Description Cyclomatic complexity This is a measure of the control complexity of a program. This control complexity may be related to program understandability. I discuss cyclomatic complexity in Chapter 8. Length of identifiers This is a measure of the average length of identifiers (names for variables, classes, methods, etc.) in a program. The longer the identifiers, the more likely they are to be meaningful and hence the more understandable the program. Depth of conditional nesting This is a measure of the depth of nesting of if-statements in a program. Deeply nested if-statements are hard to understand and potentially error-prone. Fog index This is a measure of the average length of words and sentences in documents. The higher the value of a document’s Fog index, the more difficult the document is to understand. Chapter 24 Quality management 42

The CK object-oriented metrics suite Description Weighted methods per class (WMC) This is the number of methods in each class, weighted by the complexity of each method. Therefore, a simple method may have a complexity of 1, and a large and complex method a much higher value. The larger the value for this metric, the more complex the object class. Complex objects are more likely to be difficult to understand. They may not be logically cohesive, so cannot be reused effectively as superclasses in an inheritance tree. Depth of inheritance tree (DIT) This represents the number of discrete levels in the inheritance tree where subclasses inherit attributes and operations (methods) from superclasses. The deeper the inheritance tree, the more complex the design. Many object classes may have to be understood to understand the object classes at the leaves of the tree. Number of children (NOC) This is a measure of the number of immediate subclasses in a class. It measures the breadth of a class hierarchy, whereas DIT measures its depth. A high value for NOC may indicate greater reuse. It may mean that more effort should be made in validating base classes because of the number of subclasses that depend on them. Chapter 24 Quality management 43

The CK object-oriented metrics suite Description Coupling between object classes (CBO) Classes are coupled when methods in one class use methods or instance variables defined in a different class. CBO is a measure of how much coupling exists. A high value for CBO means that classes are highly dependent, and therefore it is more likely that changing one class will affect other classes in the program. Response for a class (RFC) RFC is a measure of the number of methods that could potentially be executed in response to a message received by an object of that class. Again, RFC is related to complexity. The higher the value for RFC, the more complex a class and hence the more likely it is that it will include errors. Lack of cohesion in methods (LCOM) LCOM is calculated by considering pairs of methods in a class. LCOM is the difference between the number of method pairs without shared attributes and the number of method pairs with shared attributes. The value of this metric has been widely debated and it exists in several variations. It is not clear if it really adds any additional, useful information over and above that provided by other metrics. Chapter 24 Quality management 44

Software component analysis System component can be analyzed separately using a range of metrics. The values of these metrics may then compared for different components and, perhaps, with historical measurement data collected on previous projects. Anomalous measurements, which deviate significantly from the norm, may imply that there are problems with the quality of these components. Chapter 24 Quality management 45

Measurement surprises Reducing the number of faults in a program leads to an increased number of help desk calls The program is now thought of as more reliable and so has a wider more diverse market. The percentage of users who call the help desk may have decreased but the total may increase; A more reliable system is used in a different way from a system where users work around the faults. This leads to more help desk calls. Chapter 24 Quality management 46

Plan Wstęp Jakość oprogramowania Standardy Pomiary oprogramowania i metryki Podsumowanie II

Chapter 24 Quality management Key points Software measurement can be used to gather data about software and software processes. Product quality metrics are particularly useful for highlighting anomalous components that may have quality problems. Chapter 24 Quality management 48

Organiczna (Biologiczna) Mapa Mole’a Polska? Komisja Europejska? Rosja Indywidualne Francja Hiszpania USA Niemcy Belgia Przywództwo Portugalia System jakości Włochy Irlandia Holandia Luksemburg UK Dania Grupowe Grecja Organiczna (Biologiczna) Systematyczna Organizacja Zaadaptowano na podstawie: Paul Drath, Singleimage Co., Workshops on EC FP Research Programmes, 1999-2002 (z pamięci)