Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałStefan Tomasiewicz Został zmieniony 11 lat temu
1
Jarosław Kuchta Dokumentacja i Jakość Oprogramowania
Model jakości McCalla
2
Czynniki jakości produktu
Operacje produktu Zmiany produktu Przeglądy Przenośność (Czy mogę to uruchomić na innej maszynie?) Utrzymywalność (Czy mogę to utrzymać?) Łatwość powtórnego użycia (Czy mogę wykorzystać część tego?) Elastyczność (Czy mogę to zmieniać?) Łatwość współdziałania (Czy będę mógł współpracować z innym systemem?) Testowalność (Czy mogę to testować?) Poprawność (Czy to robi to, co ja chcę?) źródło: Pressman Wiarygodność (Czy to robi dokładnie to przez cały czas?) Wydajność (Czy to będzie odpowiednio działać na moim sprzęcie?) Integralność (Czy to jest bezpieczne?) Użyteczność (Czy to jest zaprojektowane pod użytkownika?) Dokumentacja i Jakość Oprogramowania Model jakości McCalla
3
Czynniki jakości (1/3) Poprawność (correctness) - stopień zgodności programu ze specyfikacją i zaspokojenia celów przedsięwzięcia Wiarygodność (reliability) - stopień, w jakim program wykonuje zamierzone funkcje z wymaganą precyzją Wydajność (efficiency) - ilość przetwarzanych zasobów i kodu, które program potrzebuje do wykonywania swoich funkcji Integralność (integrity) - stopień odporności programu lub danych na nieuprawnione użycie lub modyfikację Użyteczność (usability) - wysiłek, który musi być włożony w nauczenie się programu, w jego użycie, przygotowanie danych wejściowych i interpretację danych wyjściowych Dokumentacja i Jakość Oprogramowania Model jakości McCalla
4
Czynniki jakości (2/2) Łatwość pielęgnacji (maintainability) - wysiłek, który musi być włożony w lokalizację błędów i ich naprawę Elastyczność (flexibility) - wysiłek wymagany dla modyfikacji działającego programu Testowalność (testability) - wysiłek, który jest potrzebny dla upewnienia się, że program funkcjonuje poprawnie Dokumentacja i Jakość Oprogramowania Model jakości McCalla
5
Czynniki jakości (3/3) Przenośność (portability) - wysiłek, który może być wymagany dla przeniesienia oprogramowania z jednego systemu sprzętowego lub programowego do drugiego Możliwość powtórnego wykorzystania (reusability) - stopień, w jakim całość lub część oprogramowania może zostać powtórnie wykorzystana w innej aplikacji Łatwość współdziałania (interoperability) - wysiłek, który musi być włożony dla podłączenia jednego systemu do drugiego Dokumentacja i Jakość Oprogramowania Model jakości McCalla
6
Czynniki a metryki Fq = c1×m1 + c2×m2 + ... + cn×mn Czynniki Metryki
Dokumentacja i Jakość Oprogramowania Model jakości McCalla
7
Czynniki a metryki (1/4) Poprawność Wiarygodność Wydajność
Kompletność Spójność Łatwość śledzenia Wiarygodność Dokładność Prostota Odporność na błędy Wydajność Zwartość Efektywność wykonania Operatywność Integralność Komunikatywność Instrumentacja Ochrona Dokumentacja i Jakość Oprogramowania Model jakości McCalla
8
Czynniki a metryki (2/4) Łatwość pielęgnacji Elastyczność Zwartość
Spójność Instrumentacja Modularność Samo-dokumentacja Prostota Elastyczność Zwartość Spójność Rozszerzalność Ogólność Modularność Samo-dokumentacja Prostota Dokumentacja i Jakość Oprogramowania Model jakości McCalla
9
Czynniki a metryki (3/4) Łatwość powtórnego wykorzystania Przenośność
Ogólność Niezależność sprzętowa Niezależność programowa Modularność Samo-dokumentacja Łatwość powtórnego wykorzystania Ogólność Niezależność sprzętowa Niezależność programowa Modularność Samo-dokumentacja Dokumentacja i Jakość Oprogramowania Model jakości McCalla
10
Czynniki a metryki (4/4) Łatwość współdziałania Użyteczność
Standaryzacja komunikacji Standaryzacja danych Ogólność Modularność Użyteczność Operatywność Łatwość nauki Testowalność Komunikatywność Instrumentacja Modularność Samo-dokumentacja Prostota Dokumentacja i Jakość Oprogramowania Model jakości McCalla
11
Ochrona (security) zastosowanie mechanizmów ochrony programów i danych
Czy zastosowano logowanie użytkowników? Czy wyróżnia się kategorie użytkowników z różnym poziomem dostępu? Czy zastosowano szyfrowanie poufnych danych? Jaki algorytm szyfrowania zastosowano? Czy zablokowano boczne furtki dostępu? Czy wykrywa się próby nieuprawnionego dostępu lub nieautoryzowanej modyfikacji? Czy istnieje możliwość odtworzenia danych w przypadku nieuprawnionej modyfikacji? Dokumentacja i Jakość Oprogramowania Model jakości McCalla
12
Dokładność (accuracy)
dokładność obliczeń i sterowania Jaką zastosowano precyzję obliczeń? Czy odpowiednio określono zakresy danych? Czy sterowanie urządzeniami ma odpowiednią dokładność? Dokumentacja i Jakość Oprogramowania Model jakości McCalla
13
Efektywność wykonania (execution efficiency)
wydajność programu w czasu wykonania Czy czas reakcji programu na działania użytkownika jest zadowalający? Czy czas reakcji systemu na zdarzenia zewnętrzne jest wystarczający? Czy dla długotrwałych operacji zastosowano osobne wątki? Dokumentacja i Jakość Oprogramowania Model jakości McCalla
14
Instrumentacja (instrumentation)
stopień, w jakim program monitoruje swoje własne działania i identyfikuje pojawiające się błędy Czy program podaje stan, w jakim się znajduje? Czy program podaje nazwę dokumentu, nad którym pracuje? Czy program podaje położenie dokumentu, nad którym pracuje? Czy program podaje postęp długotrwałych operacji? Czy, w przypadku błędu, podawany opis błędu jest zrozumiały? Czy istnieje wsparcie umożliwiające ustalenie przyczyny błędu? Czy program wspiera usunięcie przyczyny błędu? Dokumentacja i Jakość Oprogramowania Model jakości McCalla
15
Kompletność (completeness)
stopień implementacji wymaganych funkcji Czy wszystkie jawnie wyspecyfikowane funkcje są w pełni zaimplementowane? Czy niejawne wymagania są wypełnione? W jakim stopniu? Czy system spełnia standardy wymagane dla swojej kategorii? Czy istnieje możliwość dodania szczególnych funkcji wymaganych przez niektórych użytkowników? Dokumentacja i Jakość Oprogramowania Model jakości McCalla
16
Komunikatywność (auditability)
łatwość sprawdzenia zgodności ze standardami Czy system wykazuje zgodność ze standardami? Czy dokumentacja systemu jest zrozumiała? Czy system oferuje pomoc? Czy istnieje pomoc kontekstowa? Czy istnieją menu kontekstowe? Czy stosuje się podpowiedzi do menu i przycisków sterowania? Czy istnieje możliwość dostosowania menu i przycisków sterowania? Czy dialogi również są zaopatrzone w pomoc? Dokumentacja i Jakość Oprogramowania Model jakości McCalla
17
Łatwość śledzenia (traceability)
łatwość powiązania projektu lub programu z wymaganiami Czy struktura menu odpowiada strukturze wymagań funkcjonalnych? Czy działanie programu może być dokumentowane w logach? Czy istnieje możliwość wygenerowania i sprawdzenia dokumentów pośrednich? Dokumentacja i Jakość Oprogramowania Model jakości McCalla
18
Łatwość nauki (training)
stopień, w jakim system pomaga nowym użytkownikom we wdrożeniu się do pracy Czy system informuje nowego użytkownika o swoich podstawowych możliwościach? Czy interfejs systemu jest zgodny ze stosowanymi standardami? Czy system zachowuje się w sposób zgodny z intuicją? Czy podpowiedzi systemu są zrozumiałe dla przeciętnego użytkownika? Czy system dostosowuje się do umiejętności użytkownika? Czy system oferuje szablony? Czy system oferuje dokumenty przykładowe? Czy system jest wyposażony w programy demonstracyjne? Czy system jest wyposażony w programy edukacyjne (samouczki)? Dokumentacja i Jakość Oprogramowania Model jakości McCalla
19
Modularność (modularity)
niezależność funkcjonalna komponentów programowych Czy system składa się z modułów? Czy istnieją w systemie niezależnie wykonywane programy? Czy istnieją w systemie biblioteki DLL? Czy system wymaga do swojego działania programów z innych systemów? Czy system wymaga do swojego działania bibliotek z innych systemów? Dokumentacja i Jakość Oprogramowania Model jakości McCalla
20
Niezależność programowa (software system independence)
stopień, w którym program jest niezależny od niestandardowych rozwiązań programowych, charakterystyki systemu operacyjnego i innych ograniczeń środowiska Czy program może zostać uruchomiony pod różnymi systemami operacyjnymi? Czy istnieją wersje programu dla różnych systemów operacyjnych? Czy dane są przenośne na różne systemy operacyjne? Czy sposób kodowania znaków uwzględnia różne języki? Czy sposób kodowania liczb i dat uwzględnia różne języki? Czy istnieją różne wersje językowe interfejsu użytkownika? Dokumentacja i Jakość Oprogramowania Model jakości McCalla
21
Niezależność sprzętowa (hardware independence)
stopień, w jakim program jest niezależny od sprzętu, na którym pracuje Czy program można uruchomić na starszych komputerach? Jakie są wymagania na pamięć operacyjną w stosunku do przeciętnej pojemności pamięci współcześnie stosowanego sprzętu? Jakie są wymagania na pamięć dyskową w stosunku do przeciętnej pojemności pamięci współcześnie stosowanego sprzętu? Czy program jest niezależny od producenta (typu) procesora? Jaka szybkość pracy procesora jest wymagana w stosunku do przeciętnie stosowanego sprzętu? Czy system ma inne wymagania co do sprzętu? Jakie? Dokumentacja i Jakość Oprogramowania Model jakości McCalla
22
Odporność na błędy (error tolerance)
uszkodzenia, które mogą powstać w przypadku błędu Czy stosuje się kopie zapasowe danych? Czy istnieje możliwość odtworzenia danych w przypadku awarii systemu? Jak duża część danych jest tracona w przypadku awarii systemu? Czy jest to akceptowalne? Czy istnieje wsparcie techniczne dla sytuacji awaryjnych? Czy producent systemu publikuje listę najczęściej zadawanych pytań i odpowiedzi? Czy producent systemu zbiera informację o błędach od użytkowników? Czy producent systemu oferuje bezpłatne nakładki korygujące błędy? Czy aktualizacje systemu do kolejnych wersji są oferowane po preferencyjnych cenach? Dokumentacja i Jakość Oprogramowania Model jakości McCalla
23
Ogólność (generality)
zakres potencjalnych zastosowań programu Ile klas zastosowań ma program? W jakich przypadkach program nie ma zastosowania? Czy program lub jego fragment może mieć inne zastosowanie niż tylko podstawowe? Dokumentacja i Jakość Oprogramowania Model jakości McCalla
24
Operatywność (operability)
łatwość posługiwania się programem Jaka jest liczba kroków wiodących użytkownika przez menu do najczęściej wykonywanych operacji? Jaka jest liczba kroków wiodących użytkownika przez menu do rzadziej wykonywanych operacji? Czy stosuje się przyciski narzędziowe do najczęściej wykonywanych operacji? Czy istnieją skróty klawiszowe do najczęściej wykonywanych operacji? Czy istnieje możliwość dostosowania przycisków narzędziowych dla bardziej zaawansowanych użytkowników? Czy istnieje możliwość dostosowania skrótów klawiszowych? Czy stosuje się podpowiedzi przy wprowadzaniu danych? Czy istnieje możliwość automatyzacji pracy? Dokumentacja i Jakość Oprogramowania Model jakości McCalla
25
Prostota (simplicity)
stopień, w jakim system może być bez trudu zrozumiały Czy struktura menu jest prosta (ma nie więcej niż siedem*) elementów na każdym poziomie)? Czy elementy menu mają standardowe nazwy? Czy paski narzędziowe są proste (podzielone na maks. 7 grup po 7 przycisków)? Czy ikony na przyciskach są zrozumiałe? *) przyjmuje się, że przeciętny człowiek jest w stanie naraz zapamiętać do 7 elementów Dokumentacja i Jakość Oprogramowania Model jakości McCalla
26
Rozszerzalność (expandability)
stopień, w jakim można rozszerzyć architekturę, dane lub funkcjonalność systemu Czy istnieje możliwość stosowania makrodefinicji (skryptów)? Czy można rozszerzyć menu o makrodefinicje? Czy istnieją dodatki (add-ins) do programu? Czy istnieje możliwość napisania własnego dodatku? Czy system ma specjalne mechanizmy wspierające pracę z dużymi dokumentami? Czy istnieje możliwość włączenia do dokumentu obiektów zarządzanych przez inne aplikacje (np. typu COM)? Dokumentacja i Jakość Oprogramowania Model jakości McCalla
27
Samo-dokumentacja (self-documentation)
stopień, w którym kod źródłowy dostarcza użytecznej informacji Czy system przedstawia dokumenty w postaci What You See Is What You Get? Czy program pamięta listę ostatnio otwartych dokumentów? Jak długą? Czy program przedstawia listę otwartych dokumentów? Czy przy otwieraniu dokumentu system oferuje podgląd jego zawartości? Czy program prezentuje podgląd wydruku? Dokumentacja i Jakość Oprogramowania Model jakości McCalla
28
Spójność (consistency)
użycie jednolitych technik projektowania i dokumentacji w całym procesie wytwarzania oprogramowania Czy w całym systemie używa się tej samej formy przechowywania danych? Czy interfejs systemu w różnych jego modułach jest zgodny? W jakim stopniu? Czy przejście od jednego modułu systemu do drugiego jest możliwe bez wychodzenia z systemu? Czy podsystem pomocy jest wspólny dla całego systemu? Dokumentacja i Jakość Oprogramowania Model jakości McCalla
29
Zgodność danych (data commonality)
użycie standardowych struktur i typów danych Czy w systemie stosuje się standardowy sposób kodowania znaków (ANSI, Unicode)? Czy stosuje się standardowe formaty plików (np. XML)? Czy stosuje się powszechnie dostępne systemy baz danych? Dokumentacja i Jakość Oprogramowania Model jakości McCalla
30
Zgodność komunikacji (communication commonality)
stopień stosowania standardowych interfejsów, protokołów, zakresów Czy do połączenia z innymi systemami stosuje się standardowe interfejsy? Czy do połączenia z innymi systemami stosuje się standardowe protokoły? Na ile nowe? Czy do połączeń komunikacyjnych stosuje się standardowe szybkości? Na ile maksymalne? Dokumentacja i Jakość Oprogramowania Model jakości McCalla
31
Zwartość (conciceness)
upakowanie programu w liniach kodu Czy stosuje się zapis tekstowy, czy binarny danych? Ile zajmują dane na dysku w stosunku do wewnętrznej postaci danych? Czy stosowana jest kompresja danych? Czy istnieje jedna, wspólna część systemu, wykorzystywana przez różne części systemu? Dokumentacja i Jakość Oprogramowania Model jakości McCalla
32
Literatura Pressman R.S., Software engineering. A practitioner’s approach, McGraw-Hill, International Edition, 1992 Dokumentacja i Jakość Oprogramowania Model jakości McCalla
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.