oddajmy je w ręce solidnych, doświadczonych testerów. I podobnie, niech ten kawałek kodu napiszą osoby z doświadczeniem, których sposób działania pozwoli na uniknięcie bardzo pospolitych i trywialnych błędów.
o Można leż stosować techniki programowania N-wersyjnego, np. budujmy jakiś kawałek kodu ża pomocą kilku algorytmów, które rozwiązują te same problemy. Jeśli każdy’jest napisany przez itrny zespół i trzy dają dobrą odpowiedz, to jesteśmy zadowoleni. Jeśli wszystkie trzy (bądź wybrana przez nas kombinacja) dają zlą odpowiedź, to coś trzeba zrobić. Możemy wystawić komunikat. Ze coś jest nie tak.
Systcmyjakoścl
Systemy jakości wprowadzone zostały w celu poprawienia jakości towarów przemysłowych, ale wykorzystuje sieje także przy produkcji software'u. Charakteryzują się one opisywaniem procedur powtarzalnych, za którymi powinniśmy podążać, zapewnieniem minimalnej ilości defektów oraz tworzeniem coraz lepszych produktów (jap. kaizen - jeśli możesz zrobić coś lepiej, możesz coś poprawić, to zrób to). Na wykładzie było mówione, że historycznie systemy jakości były wprowadzone wjakiś fabrykaclt, gdzie producenci kantowali kupców sprzedając towar o niższej jakości - polityka jakości to byl opis procesu tworzenia produktu, którego producent zaw sze się trzymał
• Jak przełożyć te charakterystyki na 10?
• Jak zdefiniować dane o defektach?
• Jakich norm cząstkowych (standardów) się trzymać?
• Jakość oprogramowania wynika z kosztów, jakie ma ponieść klient. W przypadku usterek, płaci za nie klient.
CMM - Capubility Maturity Model
Opis jego systemu jakości znajduje się w PDFie dr a. Unolda i jest naprawdę dobrze opisany. Model propagacji błędów - model Pressmana (IBM)
Model propagacji błędów wg Pressmana (IBM) - koszt błędów zależy od fazy w której ten błąd został znaleziony i rośnie znacznie wraz z kolejnymi fazami (koszt dla fazy projektowania to tylko I. a dla fazy po uruchomieniu systemu to już 67 (80)). Ilość błędów wychodzących z systemu to smna (liczby błędów przepuszczanych + liczba błędów wzmacnianych (razy wzmocnienie, zależne od fazy) + liczba nowych błędów każdej fazy -efektywność wykr ycia błędów na każdym etapie). Wzmocnienie zależy od fazy projektu i dla fazy projektowania szczegółowego wynosi 1,5. a dla implementacji 3. Z tego modelu wynika, że na każdym etapie efektywność wykrywania błędów powinna być wysoka.
Konserwacja oprogramow ania
Konserwacja oprogramowania to z punktu widzenia klienta jego dalsza eksploatacja, z punktu widzenia twórców
systemu jest to modyfikacja, pielęgnacja Definiujemy trzy klasy konserwacji:
• modyfikacje poprawiające: gdy pojawią się Wędy, względnie do podpisanej milowy serwisowej, twórcy reagują w miarę szybko i wprowadzają poprawki, by pozbawić system kolejnej partii Wędów, nie wyłapanych podczas testów;
• modyfikacje ulepszające: wynikają zwykle z zachcianek klienta i zmiany jego wymagań; zdarza się jednak, że to finna wychodzi z inicjatywą ulepszenia oprogramowania, ot np. żeby obsługiwało dodatkowe wzory druków bądź dodatkowe urządzenie fiskalne; (najczęściej po to żeby wyprzedzić konkurencję)
• modyfikacje dostosowujące: wynikają ze zmiany środowiska, w którym pracuje system, np. ze zmiany przepisów prawa, regulaminów, druków, zasad i polityki