Model jakości McCalla

32
Model jakości Model jakości McCalla McCalla Jarosław Kuchta Jarosław Kuchta Dokumentacja i Jakość Dokumentacja i Jakość Oprogramowania Oprogramowania tp://www.eti.pg.gda.pl/katedry/kask/pracownicy/Jaroslaw.Kuchta/Jakos [email protected]

description

Model jakości McCalla. Jarosław Kuchta Dokumentacja i Jakość Oprogramowania. http://www.eti.pg.gda.pl/katedry/kask/pracownicy/Jaroslaw.Kuchta/Jakosc. [email protected]. Przeglądy produktu. Zmiany produktu. Operacje produktu. Czynniki jakości produktu. - PowerPoint PPT Presentation

Transcript of Model jakości McCalla

Page 1: Model jakości  McCalla

Model jakości Model jakości McCallaMcCalla

Jarosław KuchtaJarosław Kuchta

Dokumentacja i Jakość Dokumentacja i Jakość OprogramowaniaOprogramowania

http://www.eti.pg.gda.pl/katedry/kask/pracownicy/Jaroslaw.Kuchta/Jakosc

[email protected]

Page 2: Model jakości  McCalla

Dokumentacja i Jakość Oprogramowania 2Model jakości McCalla

Czynniki jakości Czynniki jakości produktuproduktu

Operacje produktu

Zmiany produktu

Przeglądy produktu

źródło: Pressman

Utrzymywalność (Czy mogę to utrzymać?)

Elastyczność (Czy mogę to zmieniać?)

Testowalność(Czy mogę to testować?)

Przenośność (Czy mogę to uruchomić na innej maszynie?)

Łatwość powtórnego użycia (Czy mogę wykorzystać część tego?)

Łatwość współdziałania (Czy będę mógł współpracować z innym systemem?)

Poprawność (Czy to robi to, co ja chcę?)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?)

Page 3: Model jakości  McCalla

Dokumentacja i Jakość Oprogramowania 3Model jakości McCalla

Czynniki jakości (1/3)Czynniki jakości (1/3) Poprawność (Poprawność (correctnesscorrectness)) - stopień zgodności programu - stopień zgodności programu

ze specyfikacją i zaspokojenia celów przedsięwzięciaze specyfikacją i zaspokojenia celów przedsięwzięcia Wiarygodność (Wiarygodność (reliabilityreliability)) - stopień, w jakim program - stopień, w jakim program

wykonuje zamierzone funkcje z wymaganą precyzjąwykonuje zamierzone funkcje z wymaganą precyzją Wydajność (Wydajność (efficiencyefficiency)) - ilość przetwarzanych zasobów i - ilość przetwarzanych zasobów i

kodu, które program potrzebuje do wykonywania swoich kodu, które program potrzebuje do wykonywania swoich funkcjifunkcji

Integralność (Integralność (integrityintegrity)) - stopień odporności programu - stopień odporności programu lub danych na nieuprawnione użycie lub modyfikacjęlub danych na nieuprawnione użycie lub modyfikację

Użyteczność (Użyteczność (usabilityusability)) - wysiłek, który musi być - wysiłek, który musi być włożony w nauczenie się programu, w jego użycie, włożony w nauczenie się programu, w jego użycie, przygotowanie danych wejściowych i interpretację danych przygotowanie danych wejściowych i interpretację danych wyjściowychwyjściowych

Page 4: Model jakości  McCalla

Dokumentacja i Jakość Oprogramowania 4Model jakości McCalla

Czynniki jakości (2/2)Czynniki jakości (2/2)

Łatwość pielęgnacji (Łatwość pielęgnacji (maintainabilitymaintainability)) - wysiłek, który musi być włożony w - wysiłek, który musi być włożony w lokalizację błędów i ich naprawęlokalizację błędów i ich naprawę

Elastyczność (Elastyczność (flexibilityflexibility)) - wysiłek - wysiłek wymagany dla modyfikacji działającego wymagany dla modyfikacji działającego programuprogramu

Testowalność (Testowalność (testabilitytestability)) - wysiłek, - wysiłek, który jest potrzebny dla upewnienia się, który jest potrzebny dla upewnienia się, że program funkcjonuje poprawnieże program funkcjonuje poprawnie

Page 5: Model jakości  McCalla

Dokumentacja i Jakość Oprogramowania 5Model jakości McCalla

Czynniki jakości (3/3)Czynniki jakości (3/3) Przenośność (Przenośność (portabilityportability) ) - wysiłek, który - wysiłek, który

może być wymagany dla przeniesienia może być wymagany dla przeniesienia oprogramowania z jednego systemu oprogramowania z jednego systemu sprzętowego lub programowego do drugiegosprzętowego lub programowego do drugiego

Możliwość powtórnego wykorzystania Możliwość powtórnego wykorzystania ((reusabilityreusability)) - stopień, w jakim całość lub - stopień, w jakim całość lub część oprogramowania może zostać część oprogramowania może zostać powtórnie wykorzystana w innej aplikacjipowtórnie wykorzystana w innej aplikacji

Łatwość współdziałania (interoperability)Łatwość współdziałania (interoperability) - wysiłek, który musi być włożony dla - wysiłek, który musi być włożony dla podłączenia jednego systemu do drugiegopodłączenia jednego systemu do drugiego

Page 6: Model jakości  McCalla

Dokumentacja i Jakość Oprogramowania 6Model jakości McCalla

Czynniki a metrykiCzynniki a metryki

Fq = c1×m1 + c2×m2 + ... + cn×mn

Czynniki Metryki

Page 7: Model jakości  McCalla

Dokumentacja i Jakość Oprogramowania 7Model jakości McCalla

Czynniki a metryki Czynniki a metryki (1/4)(1/4)

PoprawnośćPoprawność KompletnośćKompletność SpójnośćSpójność Łatwość śledzeniaŁatwość śledzenia

WiarygodnośćWiarygodność DokładnośćDokładność ProstotaProstota SpójnośćSpójność Odporność na błędyOdporność na błędy

WydajnośćWydajność ZwartośćZwartość Efektywność Efektywność

wykonaniawykonania OperatywnośćOperatywność

IntegralnośćIntegralność KomunikatywnośćKomunikatywność InstrumentacjaInstrumentacja OchronaOchrona

Page 8: Model jakości  McCalla

Dokumentacja i Jakość Oprogramowania 8Model jakości McCalla

Czynniki a metryki Czynniki a metryki (2/4)(2/4)

Łatwość Łatwość pielęgnacjipielęgnacji ZwartośćZwartość SpójnośćSpójność InstrumentacjaInstrumentacja ModularnośćModularność Samo-Samo-

dokumentacjadokumentacja ProstotaProstota

ElastycznośćElastyczność ZwartośćZwartość SpójnośćSpójność RozszerzalnośćRozszerzalność OgólnośćOgólność ModularnośćModularność Samo-Samo-

dokumentacjadokumentacja ProstotaProstota

Page 9: Model jakości  McCalla

Dokumentacja i Jakość Oprogramowania 9Model jakości McCalla

Czynniki a metryki Czynniki a metryki (3/4)(3/4)

PrzenośnośćPrzenośność OgólnośćOgólność Niezależność Niezależność

sprzętowasprzętowa Niezależność Niezależność

programowaprogramowa ModularnośćModularność Samo-Samo-

dokumentacjadokumentacja

Łatwość Łatwość powtórnego powtórnego wykorzystaniawykorzystania OgólnośćOgólność Niezależność Niezależność

sprzętowasprzętowa Niezależność Niezależność

programowaprogramowa ModularnośćModularność Samo-Samo-

dokumentacjadokumentacja

Page 10: Model jakości  McCalla

Dokumentacja i Jakość Oprogramowania 10Model jakości McCalla

Czynniki a metryki Czynniki a metryki (4/4)(4/4)

Łatwość Łatwość współdziałaniawspółdziałania Standaryzacja Standaryzacja

komunikacjikomunikacji Standaryzacja Standaryzacja

danychdanych OgólnośćOgólność ModularnośćModularność

UżytecznośćUżyteczność OperatywnośćOperatywność Łatwość naukiŁatwość nauki

TestowalnośćTestowalność KomunikatywnośćKomunikatywność InstrumentacjaInstrumentacja ModularnośćModularność Samo-Samo-

dokumentacjadokumentacja ProstotaProstota

Page 11: Model jakości  McCalla

Dokumentacja i Jakość Oprogramowania 11Model jakości McCalla

Ochrona (Ochrona (securitysecurity))

zastosowanie mechanizmów ochrony zastosowanie mechanizmów ochrony programów i danychprogramów i danych Czy zastosowano logowanie użytkowników?Czy zastosowano logowanie użytkowników? Czy wyróżnia się kategorie użytkowników z różnym Czy wyróżnia się kategorie użytkowników z różnym

poziomem dostępu?poziomem dostępu? Czy zastosowano szyfrowanie poufnych danych?Czy zastosowano szyfrowanie poufnych danych? Jaki algorytm szyfrowania zastosowano?Jaki algorytm szyfrowania zastosowano? Czy zablokowano boczne furtki dostępu?Czy zablokowano boczne furtki dostępu? Czy wykrywa się próby nieuprawnionego dostępu lub Czy wykrywa się próby nieuprawnionego dostępu lub

nieautoryzowanej modyfikacji?nieautoryzowanej modyfikacji? Czy istnieje możliwość odtworzenia danych w Czy istnieje możliwość odtworzenia danych w

przypadku nieuprawnionej modyfikacji?przypadku nieuprawnionej modyfikacji?

Page 12: Model jakości  McCalla

Dokumentacja i Jakość Oprogramowania 12Model jakości McCalla

Dokładność Dokładność ((accuracyaccuracy))

dokładność obliczeń i sterowaniadokładność obliczeń i sterowania Jaką zastosowano precyzję obliczeń?Jaką zastosowano precyzję obliczeń? Czy odpowiednio określono zakresy danych?Czy odpowiednio określono zakresy danych? Czy sterowanie urządzeniami ma odpowiednią Czy sterowanie urządzeniami ma odpowiednią

dokładność?dokładność?

Page 13: Model jakości  McCalla

Dokumentacja i Jakość Oprogramowania 13Model jakości McCalla

Efektywność wykonaniaEfektywność wykonania((execution efficiencyexecution efficiency))

wydajność programu w czasu wydajność programu w czasu wykonaniawykonania Czy czas reakcji programu na działania użytkownika Czy czas reakcji programu na działania użytkownika

jest zadowalający?jest zadowalający? Czy czas reakcji systemu na zdarzenia zewnętrzne jest Czy czas reakcji systemu na zdarzenia zewnętrzne jest

wystarczający?wystarczający? Czy dla długotrwałych operacji zastosowano osobne Czy dla długotrwałych operacji zastosowano osobne

wątki?wątki?

Page 14: Model jakości  McCalla

Dokumentacja i Jakość Oprogramowania 14Model jakości McCalla

InstrumentacjaInstrumentacja((instrumentationinstrumentation))

stopień, w jakim program monitoruje stopień, w jakim program monitoruje swoje własne działania i identyfikuje swoje własne działania i identyfikuje pojawiające się błędypojawiające się błędy Czy program podaje stan, w jakim się znajduje?Czy program podaje stan, w jakim się znajduje? Czy program podaje nazwę dokumentu, nad którym pracuje?Czy program podaje nazwę dokumentu, nad którym pracuje? Czy program podaje położenie dokumentu, nad którym Czy program podaje położenie dokumentu, nad którym

pracuje?pracuje? Czy program podaje postęp długotrwałych operacji?Czy program podaje postęp długotrwałych operacji? Czy, w przypadku błędu, podawany opis błędu jest Czy, w przypadku błędu, podawany opis błędu jest

zrozumiały?zrozumiały? Czy istnieje wsparcie umożliwiające ustalenie przyczyny Czy istnieje wsparcie umożliwiające ustalenie przyczyny

błędu?błędu? Czy program wspiera usunięcie przyczyny błędu?Czy program wspiera usunięcie przyczyny błędu?

Page 15: Model jakości  McCalla

Dokumentacja i Jakość Oprogramowania 15Model jakości McCalla

KompletnośćKompletność((completenesscompleteness))

stopień implementacji wymaganych stopień implementacji wymaganych funkcjifunkcji Czy wszystkie jawnie wyspecyfikowane funkcje są w Czy wszystkie jawnie wyspecyfikowane funkcje są w

pełni zaimplementowane?pełni zaimplementowane? Czy niejawne wymagania są wypełnione? W jakim Czy niejawne wymagania są wypełnione? W jakim

stopniu?stopniu? Czy system spełnia standardy wymagane dla swojej Czy system spełnia standardy wymagane dla swojej

kategorii?kategorii? Czy istnieje możliwość dodania szczególnych funkcji Czy istnieje możliwość dodania szczególnych funkcji

wymaganych przez niektórych użytkowników?wymaganych przez niektórych użytkowników?

Page 16: Model jakości  McCalla

Dokumentacja i Jakość Oprogramowania 16Model jakości McCalla

KomunikatywnośćKomunikatywność((auditabilityauditability))

łatwość sprawdzenia zgodności ze łatwość sprawdzenia zgodności ze standardamistandardami Czy system wykazuje zgodność ze standardami?Czy system wykazuje zgodność ze standardami? Czy dokumentacja systemu jest zrozumiała?Czy dokumentacja systemu jest zrozumiała? Czy system oferuje pomoc?Czy system oferuje pomoc? Czy istnieje pomoc kontekstowa?Czy istnieje pomoc kontekstowa? Czy istnieją menu kontekstowe?Czy istnieją menu kontekstowe? Czy stosuje się podpowiedzi do menu i przycisków Czy stosuje się podpowiedzi do menu i przycisków

sterowania?sterowania? Czy istnieje możliwość dostosowania menu i przycisków Czy istnieje możliwość dostosowania menu i przycisków

sterowania?sterowania? Czy dialogi również są zaopatrzone w pomoc?Czy dialogi również są zaopatrzone w pomoc?

Page 17: Model jakości  McCalla

Dokumentacja i Jakość Oprogramowania 17Model jakości McCalla

Łatwość śledzeniaŁatwość śledzenia((traceabilitytraceability))

łatwość powiązania projektu lub łatwość powiązania projektu lub programu z wymaganiamiprogramu z wymaganiami Czy struktura menu odpowiada strukturze wymagań Czy struktura menu odpowiada strukturze wymagań

funkcjonalnych?funkcjonalnych? Czy działanie programu może być dokumentowane w Czy działanie programu może być dokumentowane w

logach?logach? Czy istnieje możliwość wygenerowania i sprawdzenia Czy istnieje możliwość wygenerowania i sprawdzenia

dokumentów pośrednich?dokumentów pośrednich?

Page 18: Model jakości  McCalla

Dokumentacja i Jakość Oprogramowania 18Model jakości McCalla

Łatwość naukiŁatwość nauki(training)(training)

stopień, w jakim system pomaga nowym stopień, w jakim system pomaga nowym użytkownikom we wdrożeniu się do pracyużytkownikom we wdrożeniu się do pracy Czy system informuje nowego użytkownika o swoich Czy system informuje nowego użytkownika o swoich

podstawowych możliwościach?podstawowych możliwościach? Czy interfejs systemu jest zgodny ze stosowanymi standardami?Czy interfejs systemu jest zgodny ze stosowanymi standardami? Czy system zachowuje się w sposób zgodny z intuicją?Czy system zachowuje się w sposób zgodny z intuicją? Czy podpowiedzi systemu są zrozumiałe dla przeciętnego Czy podpowiedzi systemu są zrozumiałe dla przeciętnego

użytkownika?użytkownika? Czy system dostosowuje się do umiejętności użytkownika?Czy system dostosowuje się do umiejętności użytkownika? Czy system oferuje szablony?Czy system oferuje szablony? Czy system oferuje dokumenty przykładowe?Czy system oferuje dokumenty przykładowe? Czy system jest wyposażony w programy demonstracyjne?Czy system jest wyposażony w programy demonstracyjne? Czy system jest wyposażony w programy edukacyjne Czy system jest wyposażony w programy edukacyjne

(samouczki)?(samouczki)?

Page 19: Model jakości  McCalla

Dokumentacja i Jakość Oprogramowania 19Model jakości McCalla

ModularnośćModularność((modularitymodularity))

niezależność funkcjonalna niezależność funkcjonalna komponentów programowychkomponentów programowych Czy system składa się z modułów?Czy system składa się z modułów? Czy istnieją w systemie niezależnie wykonywane Czy istnieją w systemie niezależnie wykonywane

programy?programy? Czy istnieją w systemie biblioteki DLL?Czy istnieją w systemie biblioteki DLL? Czy system wymaga do swojego działania programów z Czy system wymaga do swojego działania programów z

innych systemów?innych systemów? Czy system wymaga do swojego działania bibliotek z Czy system wymaga do swojego działania bibliotek z

innych systemów?innych systemów?

Page 20: Model jakości  McCalla

Dokumentacja i Jakość Oprogramowania 20Model jakości McCalla

Niezależność Niezależność programowaprogramowa

((software system software system independenceindependence)) stopień, w którym program jest niezależny stopień, w którym program jest niezależny

od niestandardowych rozwiązań od niestandardowych rozwiązań programowych, charakterystyki systemu programowych, charakterystyki systemu operacyjnego i innych ograniczeń operacyjnego i innych ograniczeń środowiskaśrodowiska Czy program może zostać uruchomiony pod różnymi systemami Czy program może zostać uruchomiony pod różnymi systemami

operacyjnymi?operacyjnymi? Czy istnieją wersje programu dla różnych systemów Czy istnieją wersje programu dla różnych systemów

operacyjnych?operacyjnych? Czy dane są przenośne na różne systemy operacyjne?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 znaków uwzględnia różne języki? Czy sposób kodowania liczb i dat 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?Czy istnieją różne wersje językowe interfejsu użytkownika?

Page 21: Model jakości  McCalla

Dokumentacja i Jakość Oprogramowania 21Model jakości McCalla

Niezależność sprzętowaNiezależność sprzętowa((hardware hardware

independenceindependence)) stopień, w jakim program jest niezależny stopień, w jakim program jest niezależny

od sprzętu, na którym pracujeod sprzętu, na którym pracuje Czy program można uruchomić na starszych komputerach?Czy program można uruchomić na starszych komputerach? Jakie są wymagania na pamięć operacyjną w stosunku do Jakie są wymagania na pamięć operacyjną w stosunku do

przeciętnej pojemności pamięci współcześnie stosowanego przeciętnej pojemności pamięci współcześnie stosowanego sprzętu?sprzętu?

Jakie są wymagania na pamięć dyskową w stosunku do Jakie są wymagania na pamięć dyskową w stosunku do przeciętnej pojemności pamięci współcześnie stosowanego przeciętnej pojemności pamięci współcześnie stosowanego sprzętu?sprzętu?

Czy program jest niezależny od producenta (typu) procesora?Czy program jest niezależny od producenta (typu) procesora? Jaka szybkość pracy procesora jest wymagana w stosunku do Jaka szybkość pracy procesora jest wymagana w stosunku do

przeciętnie stosowanego sprzętu?przeciętnie stosowanego sprzętu? Czy system ma inne wymagania co do sprzętu? Jakie?Czy system ma inne wymagania co do sprzętu? Jakie?

Page 22: Model jakości  McCalla

Dokumentacja i Jakość Oprogramowania 22Model jakości McCalla

Odporność na błędyOdporność na błędy((error toleranceerror tolerance))

uszkodzenia, które mogą powstać w uszkodzenia, które mogą powstać w przypadku błęduprzypadku błędu Czy stosuje się kopie zapasowe danych?Czy stosuje się kopie zapasowe danych? Czy istnieje możliwość odtworzenia danych w przypadku awarii Czy istnieje możliwość odtworzenia danych w przypadku awarii

systemu?systemu? Jak duża część danych jest tracona w przypadku awarii systemu? Czy Jak duża część danych jest tracona w przypadku awarii systemu? Czy

jest to akceptowalne?jest to akceptowalne? Czy istnieje wsparcie techniczne dla sytuacji awaryjnych?Czy istnieje wsparcie techniczne dla sytuacji awaryjnych? Czy producent systemu publikuje listę najczęściej zadawanych pytań i Czy producent systemu publikuje listę najczęściej zadawanych pytań i

odpowiedzi?odpowiedzi? Czy producent systemu zbiera informację o błędach od Czy producent systemu zbiera informację o błędach od

użytkowników?użytkowników? Czy producent systemu oferuje bezpłatne nakładki korygujące błędy?Czy producent systemu oferuje bezpłatne nakładki korygujące błędy? Czy aktualizacje systemu do kolejnych wersji są oferowane po Czy aktualizacje systemu do kolejnych wersji są oferowane po

preferencyjnych cenach?preferencyjnych cenach?

Page 23: Model jakości  McCalla

Dokumentacja i Jakość Oprogramowania 23Model jakości McCalla

OgólnośćOgólność((generalitygenerality))

zakres potencjalnych zastosowań zakres potencjalnych zastosowań programuprogramu Ile klas zastosowań ma program?Ile klas zastosowań ma program? W jakich przypadkach program nie ma zastosowania?W jakich przypadkach program nie ma zastosowania? Czy program lub jego fragment może mieć inne Czy program lub jego fragment może mieć inne

zastosowanie niż tylko podstawowe?zastosowanie niż tylko podstawowe?

Page 24: Model jakości  McCalla

Dokumentacja i Jakość Oprogramowania 24Model jakości McCalla

OperatywnośćOperatywność((operabilityoperability))

łatwość posługiwania się programemłatwość posługiwania się programem Jaka jest liczba kroków wiodących użytkownika przez menu do Jaka jest liczba kroków wiodących użytkownika przez menu do

najczęściej wykonywanych operacji?najczęściej wykonywanych operacji? Jaka jest liczba kroków wiodących użytkownika przez menu do Jaka jest liczba kroków wiodących użytkownika przez menu do

rzadziej wykonywanych operacji?rzadziej wykonywanych operacji? Czy stosuje się przyciski narzędziowe do najczęściej Czy stosuje się przyciski narzędziowe do najczęściej

wykonywanych operacji?wykonywanych operacji? Czy istnieją skróty klawiszowe do najczęściej wykonywanych Czy istnieją skróty klawiszowe do najczęściej wykonywanych

operacji?operacji? Czy istnieje możliwość dostosowania przycisków narzędziowych Czy istnieje możliwość dostosowania przycisków narzędziowych

dla bardziej zaawansowanych użytkowników?dla bardziej zaawansowanych użytkowników? Czy istnieje możliwość dostosowania skrótów klawiszowych?Czy istnieje możliwość dostosowania skrótów klawiszowych? Czy stosuje się podpowiedzi przy wprowadzaniu danych?Czy stosuje się podpowiedzi przy wprowadzaniu danych? Czy istnieje możliwość automatyzacji pracy?Czy istnieje możliwość automatyzacji pracy?

Page 25: Model jakości  McCalla

Dokumentacja i Jakość Oprogramowania 25Model jakości McCalla

ProstotaProstota((simplicitysimplicity))

stopień, w jakim system może być stopień, w jakim system może być bez trudu zrozumiałybez trudu zrozumiały Czy struktura menu jest prosta (ma nie więcej niż Czy struktura menu jest prosta (ma nie więcej niż

siedemsiedem*)*) elementów na każdym poziomie)? elementów na każdym poziomie)? Czy elementy menu mają standardowe nazwy?Czy elementy menu mają standardowe nazwy? Czy paski narzędziowe są proste (podzielone na maks. 7 Czy paski narzędziowe są proste (podzielone na maks. 7

grup po 7 przycisków)?grup po 7 przycisków)? Czy ikony na przyciskach są zrozumiałe?Czy ikony na przyciskach są zrozumiałe?

*) przyjmuje się, że przeciętny człowiek jest w stanie naraz zapamiętać do 7 elementów

Page 26: Model jakości  McCalla

Dokumentacja i Jakość Oprogramowania 26Model jakości McCalla

RozszerzalnośćRozszerzalność((expandabilityexpandability))

stopień, w jakim można rozszerzyć stopień, w jakim można rozszerzyć architekturę, dane lub funkcjonalność architekturę, dane lub funkcjonalność systemusystemu Czy istnieje możliwość stosowania makrodefinicji Czy istnieje możliwość stosowania makrodefinicji

(skryptów)?(skryptów)? Czy można rozszerzyć menu o makrodefinicje?Czy można rozszerzyć menu o makrodefinicje? Czy istnieją dodatki (Czy istnieją dodatki (add-insadd-ins) do programu?) do programu? Czy istnieje możliwość napisania własnego dodatku?Czy istnieje możliwość napisania własnego dodatku? Czy system ma specjalne mechanizmy wspierające pracę z Czy system ma specjalne mechanizmy wspierające pracę z

dużymi dokumentami?dużymi dokumentami? Czy istnieje możliwość włączenia do dokumentu obiektów Czy istnieje możliwość włączenia do dokumentu obiektów

zarządzanych przez inne aplikacje (np. typu COM)?zarządzanych przez inne aplikacje (np. typu COM)?

Page 27: Model jakości  McCalla

Dokumentacja i Jakość Oprogramowania 27Model jakości McCalla

Samo-dokumentacjaSamo-dokumentacja((self-documentationself-documentation))

stopień, w którym kod źródłowy stopień, w którym kod źródłowy dostarcza użytecznej informacjidostarcza użytecznej informacji Czy system przedstawia dokumenty w postaci Czy system przedstawia dokumenty w postaci What You What You

See Is What You GetSee Is What You Get?? Czy program pamięta listę ostatnio otwartych Czy program pamięta listę ostatnio otwartych

dokumentów? Jak długą?dokumentów? Jak długą? Czy program przedstawia listę otwartych dokumentów?Czy program przedstawia listę otwartych dokumentów? Czy przy otwieraniu dokumentu system oferuje podgląd Czy przy otwieraniu dokumentu system oferuje podgląd

jego zawartości?jego zawartości? Czy program prezentuje podgląd wydruku?Czy program prezentuje podgląd wydruku?

Page 28: Model jakości  McCalla

Dokumentacja i Jakość Oprogramowania 28Model jakości McCalla

SpójnośćSpójność((consistencyconsistency))

użycie jednolitych technik użycie jednolitych technik projektowania i dokumentacji w projektowania i dokumentacji w całym procesie wytwarzania całym procesie wytwarzania oprogramowaniaoprogramowania Czy w całym systemie używa się tej samej formy Czy w całym systemie używa się tej samej formy

przechowywania danych?przechowywania danych? Czy interfejs systemu w różnych jego modułach jest Czy interfejs systemu w różnych jego modułach jest

zgodny? W jakim stopniu?zgodny? W jakim stopniu? Czy przejście od jednego modułu systemu do drugiego Czy przejście od jednego modułu systemu do drugiego

jest możliwe bez wychodzenia z systemu?jest możliwe bez wychodzenia z systemu? Czy podsystem pomocy jest wspólny dla całego systemu?Czy podsystem pomocy jest wspólny dla całego systemu?

Page 29: Model jakości  McCalla

Dokumentacja i Jakość Oprogramowania 29Model jakości McCalla

Zgodność danychZgodność danych((data commonalitydata commonality))

użycie standardowych struktur i użycie standardowych struktur i typów danychtypów danych Czy w systemie stosuje się standardowy sposób Czy w systemie stosuje się standardowy sposób

kodowania znaków (ANSI, Unicode)?kodowania znaków (ANSI, Unicode)? Czy stosuje się standardowe formaty plików (np. XML)?Czy stosuje się standardowe formaty plików (np. XML)? Czy stosuje się powszechnie dostępne systemy baz Czy stosuje się powszechnie dostępne systemy baz

danych?danych?

Page 30: Model jakości  McCalla

Dokumentacja i Jakość Oprogramowania 30Model jakości McCalla

Zgodność komunikacjiZgodność komunikacji((communication communication

commonalitycommonality)) stopień stosowania standardowych stopień stosowania standardowych

interfejsów, protokołów, zakresówinterfejsów, protokołów, zakresów Czy do połączenia z innymi systemami stosuje się Czy do połączenia z innymi systemami stosuje się

standardowe interfejsy?standardowe interfejsy? Czy do połączenia z innymi systemami stosuje się Czy do połączenia z innymi systemami stosuje się

standardowe protokoły? Na ile nowe?standardowe protokoły? Na ile nowe? Czy do połączeń komunikacyjnych stosuje się Czy do połączeń komunikacyjnych stosuje się

standardowe szybkości? Na ile maksymalne?standardowe szybkości? Na ile maksymalne?

Page 31: Model jakości  McCalla

Dokumentacja i Jakość Oprogramowania 31Model jakości McCalla

Zwartość Zwartość ((concicenessconciceness))

upakowanie programu w liniach upakowanie programu w liniach kodukodu Czy stosuje się zapis tekstowy, czy binarny danych?Czy stosuje się zapis tekstowy, czy binarny danych? Ile zajmują dane na dysku w stosunku do wewnętrznej Ile zajmują dane na dysku w stosunku do wewnętrznej

postaci danych?postaci danych? Czy stosowana jest kompresja danych?Czy stosowana jest kompresja danych? Czy istnieje jedna, wspólna część systemu, Czy istnieje jedna, wspólna część systemu,

wykorzystywana przez różne części systemu?wykorzystywana przez różne części systemu?

Page 32: Model jakości  McCalla

Dokumentacja i Jakość Oprogramowania 32Model jakości McCalla

LiteraturaLiteratura

Pressman R.S., Pressman R.S., Software Software engineering. A practitioner’s engineering. A practitioner’s approachapproach, McGraw-Hill, , McGraw-Hill, International Edition, 1992International Edition, 1992