Model jakości McCalla

Podobne dokumenty
Wprowadzenie do jakości systemów informatycznych

Wdrażanie systemów zarządzania w małych, średnich i dużych przedsiębiorstwach. prof. PŁ dr hab. inż. Andrzej Szymonik 2015/2016

Jarosław Kuchta Jakość Systemów Informatycznych Jakość Oprogramowania. Pomiary w inżynierii oprogramowania

Inżynieria Wytwarzania Systemów Wbudowanych

Jakość w procesie wytwarzania oprogramowania

Wprowadzenie do systemów informacyjnych

Struktury systemów operacyjnych Usługi, funkcje, programy. mgr inż. Krzysztof Szałajko

Metodyka projektowania komputerowych systemów sterowania

1. Opis. 2. Wymagania sprzętowe:

<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0>

Wymagania bezpieczeństwa wobec statycznych bezpośrednich 1-fazowych i 3-fazowych liczników energii elektrycznej. Wymaganie techniczne

IO - Plan testów. M.Jałmużna T.Jurkiewicz P.Kasprzyk M.Robak. 5 czerwca 2006

Instrukcja zarządzania systemem informatycznym służącym do przetwarzania danych osobowych w Urzędzie Miasta Lublin

ZAŁĄCZNIK Nr 3 do CZĘŚCI II SIWZ

Inżynieria wymagań. Jarosław Kuchta Dokumentacja i Jakość Oprogramowania

Tom 6 Opis oprogramowania

Projekt wymagań bezpieczeństwa wobec statycznych bezpośrednich 1-fazowych i 3- fazowych liczników energii elektrycznej:

Zasady organizacji projektów informatycznych

Podstawy Techniki Komputerowej. Temat: BIOS

Uniwersytet Jagielloński Interfejsy graficzne. Wykład 6. Style interfejsu. Barbara Strug

Wstęp. Inżynieria wymagań. Plan wykładu. Wstęp. Wstęp. Wstęp. Schemat procesu pozyskiwania wymagań

ZAŁĄCZNIK Nr 1 do CZĘŚCI II SIWZ

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

Szablon Planu Testów Akceptacyjnych

Przewodnik instalacji i rozpoczynania pracy. Dla DataPage+ 2013

Jarosław Kuchta Projektowanie Aplikacji Internetowych. Projektowanie IU -nawigacja

Zakres wymagań dotyczących Dokumentacji Systemu

DOKUMENTACJA ADMINISTRATORA SYSTEMU INFORMATYCZNEGO POLSKI FADN

Program Rejestr zużytych materiałów. Instrukcja obsługi

NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI. asix. Aktualizacja pakietu asix 4 do wersji 5 lub 6. Pomoc techniczna

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania

OMNITRACKER Wersja testowa. Szybki przewodnik instalacji

PROGRAMOWALNE STEROWNIKI LOGICZNE

Maciej Oleksy Zenon Matuszyk

Ełk, dn r. DOMSET Marcin Brochacki. ul. Wojska Polskiego 43 lok. 3, Ełk. Nip ZAPYTANIE OFERTOWE

Microsoft SharePoint Współpraca bez barier oraz organizacja portalu intranetowego i obiegu dokumentów

Galileo - encyklopedia internetowa Plan testów

Win Admin Replikator Instrukcja Obsługi

Wykład 7. Projektowanie kodu oprogramowania

Szybkie prototypowanie w projektowaniu mechatronicznym

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

Bazy danych 2. Wykład 1

Przewodnik instalacji i rozpoczynania pracy. dla DataPage+ 2012

Ćwiczenie Nr 6 Przegląd pozostałych najważniejszych mechanizmów systemu operacyjnego Windows

Jarosław Kuchta. Projektowanie Aplikacji Internetowych. Wprowadzenie

Koncepcja systemu zarządzania jakością w dużym projekcie informatycznym zgodnie z normą ISO/IEC 9001:2008

Przewodnik użytkownika (instrukcja) AutoMagicTest

DOKUMENTACJA BEZPIECZEŃSTWA <NAZWA SYSTEMU/USŁUGI>

BIOS, tryb awaryjny, uśpienie, hibernacja

Dział Dopuszczający Dostateczny Dobry Bardzo dobry Celujący

INSTRUKCJA ZARZĄDZANIA SYSTEMEM INFORMATYCZNYM SŁUŻĄCYM DO PRZETWARZANIA DANYCH OSOBOWYCH

biegle i poprawnie posługuje się terminologią informatyczną,

SZCZEGÓŁOWY HARMONOGRAM SZKOLENIA

27/13 ZAŁĄCZNIK NR 4 DO SIWZ. 1 Serwery przetwarzania danych. 1.1 Serwery. dostawa, rozmieszczenie i zainstalowanie 2. serwerów przetwarzania danych.

FAQ Systemu EKOS. 1. Jakie są wymagania techniczne dla stanowiska wprowadzania ocen?

Ćwiczenia z systemu operacyjnego WINDOWS

Struktury systemów operacyjnych

Goal Question Metrics. Jarosław Kuchta Jakość Systemów Informatycznych

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

Biuletyn techniczny. CDN OPT!MA 8.5 Wskazówki dotyczące instalacji programu. Copyright 2006 COMARCH SA

REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką

Wprowadzenie. Dariusz Wawrzyniak 1

Systemy operacyjne III

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Cele przedsięwzięcia

Opis zmian funkcjonalności platformy E-GIODO wprowadzających możliwość podpisania wniosku bezpośrednio w oknie przeglądarki.

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

SAPL instrukcja obsługi. SAPL instrukcja obsługi

SSI Katalog. Program do katalogowania zawartości dysków. Dariusz Kalinowski

PROCEDURA ADMINISTROWANIA ORAZ USUWANIA AWARII I BŁĘDÓW W CSIZS

Instrukcja obsługi SafeIT - modułu zdalnego sterowania do sterowników kotłów CO firmy Foster v1.0

OMNITRACKER Wersja testowa. Szybki przewodnik instalacji

Wykład 8. Testowanie w JEE 5.0 (1) Autor: Zofia Kruczkiewicz. Zofia Kruczkiewicz

Instalowanie certyfikatów celem obsługi pracy urządzenia SIMOCODE pro V PN z poziomu przeglądarki internetowej w systemie Android

Win Admin Replikator Instrukcja Obsługi

ZAŁĄCZNIK NR 1.8 do PFU Serwery wraz z system do tworzenia kopii zapasowych i archiwizacji danych - wyposażenie serwerowni

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows Vista

Architektura bezpiecznych aplikacji internetowych na platformie Java Enterprise Edition. Jakub Grabowski Warszawa,

Dobór systemów klasy ERP

ROZPORZĄDZENIE MINISTRA SPRAW WEWNĘTRZNYCH I ADMINISTRACJI 1) z dnia 29 kwietnia 2004 r.

POLITYKA E-BEZPIECZEŃSTWA

1. Zakres modernizacji Active Directory

Skrócony przewodnik OPROGRAMOWANIE PC. MultiCon Emulator

Instrukcja użytkownika ARsoft-CFG WZ1 4.0

DLA SEKTORA INFORMATYCZNEGO W POLSCE

WPROWADZENIE DO UML-a

Część I Rozpoczęcie pracy z usługami Reporting Services

Instalacja programu SEE Electrical Expert V4

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa

Plan. Zapewnienie jakości produktu informatycznego. Zarządzanie jakością i metryki oprogramowania. Podstawowe parametry mierzalne

SAPL 2.0 instrukcja obsługi

Egzamin / zaliczenie na ocenę*

Specyfikacja wymagań systemowych (może podlegać edytowaniu na kolejnych etapach)

System Kontroli Bazy Danych Topograficznych (SKBDT) zawód kartografa?

DESlock+ szybki start

Wymagania pozafunkcjonalne - projektowanie interfejsu użytkownika

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

INŻYNIERIA OPROGRAMOWANIA TESTOWANIE SYSTEMOWE

Od programowania wizualnego do tekstowego

POLITYKA BEZPIECZEŃSTWA

Transkrypt:

Jarosław Kuchta Jakość Systemów Informatycznych Jakość Oprogramowania Model jakości McCalla http://www.eti.pg.gda.pl/katedry/kask/pracownicy/jaroslaw.kuchta/jakosc J.Kuchta@eti.pg.gda.pl

Czynniki jakości produktu Utrzymywalność (Czy mogę to utrzymać?) Elastyczność (Czy mogę to zmieniać?) Testowalność (Czy mogę to testować?) Przeglądy produktu Zmiany produktu 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?) Operacje produktu źródło: Pressman 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?) Model jakości McCalla 2

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 Model jakości McCalla 3

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 Model jakości McCalla 4

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 Model jakości McCalla 5

Czynniki a metryki F q = c 1 m 1 + c 2 m 2 +... + c n m n Czynniki Metryki Model jakości McCalla 6

Czynniki a metryki (1/4) Poprawność Kompletność Spójność Łatwość śledzenia Wiarygodność Dokładność Prostota Spójność Odporność na błędy Wydajność Zwartość Efektywność wykonania Operatywność Integralność Łatwość kontroli Komunikatywność Ochrona Model jakości McCalla 7

Czynniki a metryki (2/4) Łatwość pielęgnacji Zwartość Spójność Komunikatywność Modularność Samo-dokumentacja Prostota Elastyczność Zwartość Spójność Rozszerzalność Ogólność Modularność Samo-dokumentacja Prostota Model jakości McCalla 8

Czynniki a metryki (3/4) 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 Model jakości McCalla 9

Czynniki a metryki (4/4) Łatwość współdziałania Standaryzacja komunikacji Standaryzacja danych Ogólność Modularność Użyteczność Operatywność Łatwość nauki Testowalność Łatwość kontroli Komunikatywność Modularność Samo-dokumentacja Prostota Model jakości McCalla 10

Ochrona (security) zastosowanie mechanizmów ochrony programów i danych Czy zastosowano uwierzytelnianie i autoryzację użytkowników? Czy wyróżnia się kategorie (role) użytkowników z różnym poziomem dostępu? Czy zastosowano szyfrowanie poufnych danych? Czy zastosowano odpowiednio silny algorytm szyfrowania? 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? Model jakości McCalla 11

Dokładność (accuracy) dokładność obliczeń i sterowania Czy zastosowano odpowiednią precyzję obliczeń? Czy odpowiednio określono zakresy danych? Czy sterowanie urządzeniami ma odpowiednią dokładność? Model jakości McCalla 12

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? Model jakości McCalla 13

Komunikatywność (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 wsparcie dotyczy też usunięcia przyczyny/skutku błędu? Model jakości McCalla 14

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 funkcjonalności wymagane dla swojej kategorii? Czy istnieje możliwość dodania szczególnych funkcji wymaganych przez niektórych użytkowników? Model jakości McCalla 15

Łatwość kontroli (auditability) łatwość sprawdzenia zgodności ze standardami Czy system wykazuje zgodność ze standardami? Czy system posiada dokumentację? Czy dokumentacja systemu jest zrozumiała dla ekspertów? Czy system oferuje pomoc dla użytkownika? Czy pomoc dla użytkownika może być wykorzystana do kontroli? Model jakości McCalla 16

Łatwość śledzenia (traceability) łatwość powiązania projektu lub programu z wymaganiami Czy struktura menu odpowiada strukturze wymagań funkcjonalnych? Czy działanie programu jest monitorowane dokumentowane w logach? Czy istnieje możliwość wygenerowania i sprawdzenia dokumentów pośrednich? Model jakości McCalla 17

Ł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 system oferuje pomoc dla użytkownika? Czy pomoc dla użytkownika jest kontekstowa? Czy stosuje się podpowiedzi do menu i przycisków sterowania? Czy dialogi również są zaopatrzone w pomoc? 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)? Model jakości McCalla 18

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? Model jakości McCalla 19

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? Model jakości McCalla 20

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? Model jakości McCalla 21

Odporność na błędy (error tolerance) odporność na 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? Czy jest akceptowalna ilość danych tracona w przypadku awarii systemu (czas od ostatniej archiwacji danych)? 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? Model jakości McCalla 22

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? Model jakości McCalla 23

Operatywność (operability) łatwość posługiwania się programem Czy liczba kroków (kliknięć) wiodących użytkownika do najczęściej wykonywanych operacji nie przekracza dwóch? Czy stosuje się menu kontekstowe? Czy stosuje się przyciski narzędziowe do często 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 istnieje możliwość dostosowania menu i przycisków sterowania? Czy stosuje się podpowiedzi przy wprowadzaniu danych? Czy istnieje możliwość automatyzacji pracy? Model jakości McCalla 24

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 Model jakości McCalla 25

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)? Model jakości McCalla 26

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? Model jakości McCalla 27

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? Model jakości McCalla 28

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? Model jakości McCalla 29

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? Czy do połączeń komunikacyjnych stosuje się odpowiednio wysokie szybkości? Model jakości McCalla 30

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? Model jakości McCalla 31

Literatura Pressman R.S., Software engineering. A practitioner s approach, McGraw-Hill, International Edition, 1992 Model jakości McCalla 32