Podcast
Questions and Answers
Które z poniższych przykładów nie są przykładami wymagań niefunkcjonalnych?
Które z poniższych przykładów nie są przykładami wymagań niefunkcjonalnych?
Który z poniższych przykładów nie jest przykładem ograniczenia, które może prowadzić do powstania wymagań niefunkcjonalnych?
Który z poniższych przykładów nie jest przykładem ograniczenia, które może prowadzić do powstania wymagań niefunkcjonalnych?
Która z poniższych kategorii nie jest zaliczana do klasyfikacji wymagań niefunkcjonalnych?
Która z poniższych kategorii nie jest zaliczana do klasyfikacji wymagań niefunkcjonalnych?
Do jakiej kategorii wymagań niefunkcjonalnych należą wymagania dotyczące interfejsu użytkownika?
Do jakiej kategorii wymagań niefunkcjonalnych należą wymagania dotyczące interfejsu użytkownika?
Signup and view all the answers
Jakie ograniczenie może prowadzić do powstania wymagania niefunkcjonalnego, które mówi, że system musi być zgodny ze standardem SWIFT?
Jakie ograniczenie może prowadzić do powstania wymagania niefunkcjonalnego, które mówi, że system musi być zgodny ze standardem SWIFT?
Signup and view all the answers
Które z poniższych stwierdzeń odnoszących się do Diagramu Hierarchii Funkcji jest prawdziwe?
Które z poniższych stwierdzeń odnoszących się do Diagramu Hierarchii Funkcji jest prawdziwe?
Signup and view all the answers
Jaki jest główny cel tworzenia Diagramu Hierarchii Funkcji?
Jaki jest główny cel tworzenia Diagramu Hierarchii Funkcji?
Signup and view all the answers
Która z poniższych technik jest pomocna w tworzeniu Diagramu Hierarchii Funkcji?
Która z poniższych technik jest pomocna w tworzeniu Diagramu Hierarchii Funkcji?
Signup and view all the answers
Które z poniższych pytań jest odpowiednie do sprawdzenia Diagramu Hierarchii Funkcji?
Które z poniższych pytań jest odpowiednie do sprawdzenia Diagramu Hierarchii Funkcji?
Signup and view all the answers
Na jakim etapie analizy systemu stosuje się Specyfikację Funkcji?
Na jakim etapie analizy systemu stosuje się Specyfikację Funkcji?
Signup and view all the answers
Które z poniższych stwierdzeń dotyczących Specyfikacji Funkcji jest nieprawdziwe?
Które z poniższych stwierdzeń dotyczących Specyfikacji Funkcji jest nieprawdziwe?
Signup and view all the answers
Co oznacza F#1.1.1
w Specyfikacji Funkcji opisanej w tekście?
Co oznacza F#1.1.1
w Specyfikacji Funkcji opisanej w tekście?
Signup and view all the answers
Który z poniższych przykładów jest najlepszym zastosowaniem Diagramu Hierarchii Funkcji?
Który z poniższych przykładów jest najlepszym zastosowaniem Diagramu Hierarchii Funkcji?
Signup and view all the answers
Które z poniższych stwierdzeń opisuje wady metodologii OMT?
Które z poniższych stwierdzeń opisuje wady metodologii OMT?
Signup and view all the answers
Jaka jest najnowsza wersja specyfikacji UML?
Jaka jest najnowsza wersja specyfikacji UML?
Signup and view all the answers
Co stanowiło podstawę do stworzenia UML?
Co stanowiło podstawę do stworzenia UML?
Signup and view all the answers
Co odróżnia UML od metodyki?
Co odróżnia UML od metodyki?
Signup and view all the answers
Jaki standard ISO dotyczy języka UML?
Jaki standard ISO dotyczy języka UML?
Signup and view all the answers
Co w UML stanowi podstawę do tworzenie diagramów?
Co w UML stanowi podstawę do tworzenie diagramów?
Signup and view all the answers
Do jakich celów można wykorzystać UML poza modelowaniem systemów informatycznych?
Do jakich celów można wykorzystać UML poza modelowaniem systemów informatycznych?
Signup and view all the answers
Która z wymienionych metod najlepiej opisuje metodykę OOSE?
Która z wymienionych metod najlepiej opisuje metodykę OOSE?
Signup and view all the answers
Co oznacza pojęcie 'atrybut' w kontekście obiektowości?
Co oznacza pojęcie 'atrybut' w kontekście obiektowości?
Signup and view all the answers
Które z poniższych stwierdzeń o klasie jest FAŁSZYWE?
Które z poniższych stwierdzeń o klasie jest FAŁSZYWE?
Signup and view all the answers
Jakiego rodzaju relację przedstawia dziedziczenie w obiektowości?
Jakiego rodzaju relację przedstawia dziedziczenie w obiektowości?
Signup and view all the answers
Co oznacza stwierdzenie, że klasa A dziedziczy po klasie B?
Co oznacza stwierdzenie, że klasa A dziedziczy po klasie B?
Signup and view all the answers
Jaka jest główna zaleta korzystania z dziedziczenia w obiektowości?
Jaka jest główna zaleta korzystania z dziedziczenia w obiektowości?
Signup and view all the answers
Które z poniższych stwierdzeń o obiektach jest prawdziwe?
Które z poniższych stwierdzeń o obiektach jest prawdziwe?
Signup and view all the answers
Które z poniższych metod analizy należą do metod strukturalnych?
Które z poniższych metod analizy należą do metod strukturalnych?
Signup and view all the answers
Co oznacza pojęcie 'metoda' w kontekście obiektowości?
Co oznacza pojęcie 'metoda' w kontekście obiektowości?
Signup and view all the answers
Które z poniższych elementów nie są wykorzystywane w fazie analizy?
Które z poniższych elementów nie są wykorzystywane w fazie analizy?
Signup and view all the answers
Jaki jest związek między klasą a obiektem?
Jaki jest związek między klasą a obiektem?
Signup and view all the answers
Które z poniższych nie jest wadą analizy strukturalnej?
Które z poniższych nie jest wadą analizy strukturalnej?
Signup and view all the answers
W którym roku pojawiły się metody obiektowe?
W którym roku pojawiły się metody obiektowe?
Signup and view all the answers
Który z poniższych elementów nie jest częścią modelu danych w analizie strukturalnej?
Który z poniższych elementów nie jest częścią modelu danych w analizie strukturalnej?
Signup and view all the answers
Który diagram jest najczęściej wykorzystywany do opisu modelu logicznego danych?
Który diagram jest najczęściej wykorzystywany do opisu modelu logicznego danych?
Signup and view all the answers
Które z poniższych nie jest wykorzystywane jako wynik analizy systemu?
Które z poniższych nie jest wykorzystywane jako wynik analizy systemu?
Signup and view all the answers
Które z poniższych nie stanowi problemu związanego z analizą strukturalną?
Które z poniższych nie stanowi problemu związanego z analizą strukturalną?
Signup and view all the answers
Która z poniższych opcji nie jest głównym obszarem zainteresowania informatyki ekonomicznej?
Która z poniższych opcji nie jest głównym obszarem zainteresowania informatyki ekonomicznej?
Signup and view all the answers
Która z wymienionych właściwości oprogramowania odnosi się do efektywnego wykorzystania zasobów systemowych, takich jak pamięć i czas procesora?
Która z wymienionych właściwości oprogramowania odnosi się do efektywnego wykorzystania zasobów systemowych, takich jak pamięć i czas procesora?
Signup and view all the answers
Która z poniższych dziedzin nie jest bezpośrednio związana z informatyką?
Która z poniższych dziedzin nie jest bezpośrednio związana z informatyką?
Signup and view all the answers
Co to jest inżynieria oprogramowania?
Co to jest inżynieria oprogramowania?
Signup and view all the answers
Jaka jest główna różnica między inżynieria oprogramowania a informatyką?
Jaka jest główna różnica między inżynieria oprogramowania a informatyką?
Signup and view all the answers
Która cecha dobrego oprogramowania jest najważniejsza dla zapewnienia, że oprogramowanie działa prawidłowo i zgodnie z oczekiwaniami?
Która cecha dobrego oprogramowania jest najważniejsza dla zapewnienia, że oprogramowanie działa prawidłowo i zgodnie z oczekiwaniami?
Signup and view all the answers
Która z poniższych cech nie jest cechą dobrego oprogramowania?
Która z poniższych cech nie jest cechą dobrego oprogramowania?
Signup and view all the answers
Który z wymienionych obszarów nie jest głównym zastosowaniem informatyki ekonomicznej?
Który z wymienionych obszarów nie jest głównym zastosowaniem informatyki ekonomicznej?
Signup and view all the answers
Flashcards
Wymagania niefunkcjonalne
Wymagania niefunkcjonalne
Ograniczenia, przy których system ma realizować swoje funkcje, zależne od różnych czynników.
Ograniczenia budżetowe
Ograniczenia budżetowe
Wymagania wynikające z maksymalnego budżetu projektu, np. nieprzekraczanie 1 mln zł.
Wymagania produktowe
Wymagania produktowe
Określają zachowanie produktu, np. szybkość działania systemu i zapotrzebowanie na pamięć.
Wymagania organizacyjne
Wymagania organizacyjne
Signup and view all the flashcards
Wymagania zewnętrzne
Wymagania zewnętrzne
Signup and view all the flashcards
Diagram Hierarchii Funkcji
Diagram Hierarchii Funkcji
Signup and view all the flashcards
Podejście zstępujące
Podejście zstępujące
Signup and view all the flashcards
Funkcja najwyższego poziomu
Funkcja najwyższego poziomu
Signup and view all the flashcards
Funkcja nadrzędna
Funkcja nadrzędna
Signup and view all the flashcards
Funkcje podrzędne
Funkcje podrzędne
Signup and view all the flashcards
Sprawdzenie drzewa funkcji
Sprawdzenie drzewa funkcji
Signup and view all the flashcards
Analiza cyklu życia encji
Analiza cyklu życia encji
Signup and view all the flashcards
Specyfikacja funkcji
Specyfikacja funkcji
Signup and view all the flashcards
Właściwości dobrego oprogramowania
Właściwości dobrego oprogramowania
Signup and view all the flashcards
Zdolność do pielęgnacji
Zdolność do pielęgnacji
Signup and view all the flashcards
Niezawodność
Niezawodność
Signup and view all the flashcards
Efektywność
Efektywność
Signup and view all the flashcards
Użyteczność
Użyteczność
Signup and view all the flashcards
Inżynieria oprogramowania
Inżynieria oprogramowania
Signup and view all the flashcards
Informatyka
Informatyka
Signup and view all the flashcards
Informatyka ekonomiczna
Informatyka ekonomiczna
Signup and view all the flashcards
Faza analizy
Faza analizy
Signup and view all the flashcards
Metody analizy
Metody analizy
Signup and view all the flashcards
Analiza strukturalna
Analiza strukturalna
Signup and view all the flashcards
Model danych
Model danych
Signup and view all the flashcards
Model funkcji
Model funkcji
Signup and view all the flashcards
Wady analizy strukturalnej
Wady analizy strukturalnej
Signup and view all the flashcards
Diagram związków encji
Diagram związków encji
Signup and view all the flashcards
Atrybut encji
Atrybut encji
Signup and view all the flashcards
UML
UML
Signup and view all the flashcards
OMG
OMG
Signup and view all the flashcards
Diagramy UML
Diagramy UML
Signup and view all the flashcards
ISO 19505
ISO 19505
Signup and view all the flashcards
OMT
OMT
Signup and view all the flashcards
OOSE
OOSE
Signup and view all the flashcards
OOAD
OOAD
Signup and view all the flashcards
Przeznaczenie UML
Przeznaczenie UML
Signup and view all the flashcards
Obiekt
Obiekt
Signup and view all the flashcards
Klasa
Klasa
Signup and view all the flashcards
Instancja
Instancja
Signup and view all the flashcards
Atrybut
Atrybut
Signup and view all the flashcards
Metoda
Metoda
Signup and view all the flashcards
Dziedziczenie
Dziedziczenie
Signup and view all the flashcards
Hierarchia klas
Hierarchia klas
Signup and view all the flashcards
Obiekt-wzorzec
Obiekt-wzorzec
Signup and view all the flashcards
Study Notes
Fakty o Oprogramowaniu
- Gospodarki wszystkich rozwiniętych krajów zależą od oprogramowania.
- Coraz więcej systemów wymaga niezawodnego oprogramowania.
- Obecnie wytwarzanie oprogramowania jest poważną gałęzią gospodarki narodowej w rozwiniętych krajach.
- W Polsce, według stanu na 2020 rok, sektor ICT wygenerował 8% PKB.
Inżynieria oprogramowania
- Inżynieria oprogramowania zajmuje się teorią, metodami i narzędziami związanymi z wytwarzaniem oprogramowania.
- Obejmuje wszystkie aspekty tworzenia oprogramowania, od początkowej fazy do pielęgnacji.
Koszty oprogramowania
- Koszty oprogramowania często stanowią dominujący składnik kosztów całego systemu.
- Koszt utrzymania i konserwacji oprogramowania jest wyższy niż koszt jego wytworzenia.
- Długoterminowa konserwacja oprogramowania może wielokrotnie przekroczyć koszt jego zakupu.
Geneza inżynierii oprogramowania
- Początki inżynierii oprogramowania sięgają połowy lat 60. XX wieku.
- Powstała jako odpowiedź na kryzys oprogramowania.
- Kryzys oprogramowania wiązał się z rosnąca złożonością systemów informatycznych i trudnościami w ich wytwarzaniu.
- Niepowtarzalność poszczególnych przedsięwzięć, nieprzejrzystość procesu tworzenia oprogramowania oraz pozorna łatwość poprawek stanowiły istotne wyzwania.
- Uważa się, że kryzys oprogramowania trwa do dziś.
Pojęcia podstawowe
- Oprogramowanie to programy komputerowe, cała dokumentacja i dane konfiguracyjne związane z nimi.
- Rodzaje produktów oprogramowania:
- Powszechne (generic products) – kierowane do wielu odbiorców.
- Dostosowane (customized products) – tworzone na zamówienie dla konkretnego odbiorcy.
Właściwości dobrego oprogramowania
- Zdolność do pielęgnacji – zdolność do dostosowania do potrzeb klientów.
- Niezawodność (dependability and security) – działanie zgodne z przeznaczeniem bez zakłóceń.
- Efektywność – efektywne wykorzystanie zasobów systemu.
- Użyteczność – łatwość i przyjemność w korzystaniu z oprogramowania.
Inżynieria oprogramowania – dziedzina wiedzy
- Obejmuje wszystkie aspekty tworzenia i pielęgnacji oprogramowania.
- Zajmuje się teorią, metodami i narzędziami związanymi z wytwarzaniem oprogramowania.
- Praca inżynierów oprogramowania charakteryzuje się systematycznością i uporządkowaniem.
Informatyka
- Obejmuje teorie informatyczne.
- Budowę systemów informatycznych (w tym programowanie).
- Budowę i działanie sprzętu komputerowego.
- Zastosowanie metod informatycznych w różnych dziedzinach działalności ludzkiej.
Informatyka ekonomiczna
- Zajmuje się systemami informatycznymi w organizacjach.
- Obejmuje obszary inżynierii oprogramowania, systemy typu ERP, SCM, CRM, WFM, Business Intelligence oraz biznes elektroniczny.
Inżynieria oprogramowania vs Informatyka
- Informatyka skupia się na teorii i podstawach działania komputerów.
- Inżynieria oprogramowania koncentruje się na praktycznych problemach związanych z tworzeniem oprogramowania.
Inżynieria systemów vs inżynieria oprogramowania
- Inżynieria systemów obejmuje wszystkie aspekty tworzenia systemów komputerowych, w tym sprzęt, oprogramowanie oraz procesy.
- Inżynierowie systemów uczestniczą w specyfikacji systemu i definiowaniu jego ogólnej architektury.
Proces tworzenia oprogramowania
- Niezależnie od metodyki, proces tworzenia oprogramowania obejmuje: specyfikację, tworzenie, zatwierdzenie i ewolucję oprogramowania.
Model procesu tworzenia oprogramowania
- Niektóre modele procesu tworzenia oprogramowania obejmują: model kaskadowy, tworzenie ewolucyjne i formalne przekształcenia oraz składanie systemu z komponentów.
- Modele te przedstawiają uproszczone reprezentacje procesu tworzenia oprogramowania.
Koszty inżynierii oprogramowania
- Koszty wytworzenia oprogramowania mogą być zbliżone do kosztów jego testowania.
- Ewolucja oprogramowania może przewyższyć koszty jego wytworzenia.
- Koszty zmian oprogramowania użytkwanego przez długi okres czasu, mogą wielokrotnie przekroczyć koszty jego wytworzenia.
- Koszty zależą od stosowanego modelu tworzenia oprogramowania.
CASE (Computer-Aided Software Engineering)
- Obejmuje różne programy wspomagające proces tworzenia oprogramowania.
- Wiele programów wspomagających (np. edytory kodów, generatory, programy CASE).
Wyzwania dla inżynierów oprogramowania
- Pielęgnacja i modyfikacje dużych, istniejących systemów informatycznych.
- Wspieranie pracy oprogramowania w zróżnicowanych systemach i typach komputerów.
- Dostarczenie gotowego oprogramowania w krótkim czasie bez utraty jakości.
- Dostosowanie oprogramowania do zmieniającej się otoczenia biznesowego i społecznego.
- Tworzenie rozwiązań, którym użytkownicy mogą zaufać.
- Skalowanie oprogramowania (od małych systemów lokanych do rozległych systemów w chmurze).
System
- System jest strukturą komponentów powiązanych ze sobą, które współpracują, aby osiągnąć określony cel.
- Przykłady prostych systemów – pióro, złożone – system kontroli lotu.
- Funkcjonowanie i zachowanie systemów jest nierozerwalnie związane z właściwościami ich komponentów.
Właściwości systemu
- Właściwości niefunkcjonalne, np. niezawodność, efektywność, bezpieczeństwo i zabezpieczenia.
- Właściwości funkcjonalne, np. wydajność i użyteczność systemu.
- Ważnym aspektem jest zależność komponentów od otoczenia i innych komponentów.
Niezawodność systemu
- Niezawodność jest złożonym pojęciem, które należy badać na poziomie całości systemu, a nie jego poszczególnych elementów.
- Komponenty systemowe są od siebie zależne, a awarie w jednym elemencie mogą mieć wpływ na działanie innych komponentów.
Czynniki wpływające na niezawodność systemu
- Niezawodność sprzętu— prawdopodobieństwo awarii komponentów sprzętowych i czas naprawy.
- Niezawodność oprogramowania— prawdopodobieństwo błędnych danych wyjściowych.
- Niezawodność operatora— prawdopodobieństwo błędu operatora systemu.
Efektywność, użyteczność, bezpieczeństwo i zabezpieczenia systemu
- Efektywność i użyteczność oceniane po uruchomieniu systemu.
- Bezpieczeństwo i zabezpieczenia to wymagania dotyczące zachowania systemu.
Modelowanie systemu
- Proces tworzenia, spisywania wymagań i projektowania systemów obejmuje konstruowanie modeli systemu.
- Przy użyciu diagramów blokowych, przedstawia się najważniejsze podsystemy i połączenia między nimi.
Proces tworzenia oprogramowania
- Obejmuje kolejne, zazwyczaj powiązane, etapy.
- Przykładowe etapy: specyfikacja, projektowanie, implementacja, integracja oraz konserwacja.
Kontekst systemu
- Stanowi opis otoczenia, z którym system będzie współpracował.
- Opisuje wszystkie systemy, z którymi dany system ma kontaktu.
Komponenty funkcjonalne systemu
- Detektorowe – zbierają informacje ze środowiska.
- Efektorowe – powodują zmiany w środowisku.
- Obliczeniowe – pobierają dane, wykonują obliczenia i tworzą wyniki.
- Komunikacyjne - komunikują się z innymi komponenty.
- Koordynujące – synchronizują działanie innych komponentów.
- Interfejsu – przetwarzają dane w odpowiednim formacie.
Komponenty funkcjonalne systemu - kontynuacja
- Są to elementy, które definiują w jaki sposób system obsługuje dane wejściowe, wykonuje procesy i generuje dane wyjściowe.
Proces inżynierii systemów
- Obejmuje etapy: definicję wymagań, projektowanie, tworzenie podsystemów, integrację, instalację, ewolucję i likwidację systemu.
Modele cyklu życia oprogramowania
- Upraszczają sposób prezentacji procesu tworzenia oprogramowania poprzez określanie faz i ich kolejności.
- Przykłady ogólnych modeli (paradygmatów) tworzenia oprogramowania – model kaskadowy, model cyklu życia iteracyjnego, model formalnych przekształceń, model składania z komponentów.
Koszty inżynierii oprogramowania
- Koszty w procesie tworzenia oprogramowania to nie tylko koszty bezpośrednio związane z tworzeniem, lecz także koszty testowania, konserwacji, adaptacji i dostosowania do nowych wymagań.
- Koszty są związane z wytworzeniem, testowaniem, ewolucją oprogramowania.
- Zależą od stosowanego modelu i zmienności otoczenia.
Wzorce architektury
- Wzorce architektoniczne udostępnione dla wielokrotnego wykorzystania, dające strukturę i zasady tworzenia oprogramowania.
- Niektóre wzorce takie jak klient-serwer, peer-to-peer czy SOA oferują zbiór rozwiązań dla konkretnej dziedziny.
Model repozytorium
- W tym modelu dane wykorzystywane przez wiele podsystemów znajdują się w centralnym repozytorium.
Modele sterowania
- Centralizowane – jeden podsystem zarządza uruchamianiem i zatrzymywaniem pozostałych podsystemów.
- Zdarzeniowe – systemy komunikują się za pośrednictwem zdarzeń.
Rozkład na moduły
- Rozkład systemu na moduły to podział podsystemów na mniejsze, niezależne elementy (moduły).
- Zapewnia lepsza czytelność, łatwość utrzymania i modyfikacji.
- Istnieją dwa główne modele podziału na moduły - przepływ danych i model obiektowy.
Modele przepływu danych
- Przedstawiają sposób przepływu danych między komponentami, procesami i składnicami.
- W miarę przepływu danych wykonywane są przekształcenia i działania.
Model obiektowy systemu fakturowania
- Przedstawia podział całego systemu fakturowania na oddzielne obiekty (klienci, faktury, płatności), odpowiadające na konkretne funkcje systemu.
- Znaczącym aspektem jest komunikacja pomiędzy tymi obiektami, określającą przepływ danych i transakcji.
Architektura charakterystyczna
- Reprezentują cechy architektoniczne specyficzne dla określonego obszaru zastosowań oprogramowania (np. dziedziny).
- Modele ogólne oparcie dla rozwiązań w tej samej dziedzinie, modele odniesienia opisujące ideały rozwiązań.
Model kompilatora
- Przykładem ogólnego modelu architektonicznego.
- Zbiór modułów: analizator leksykalny, tabela symboli, analizator składniowy, drzewo składni, analizator znaczeniowy, generator kodu.
Modele odniesienia
- Reprezentują wyidealizowane architektury obejmujące wszystkie udogodnienia, które system mógłby oferować.
- Służą jako punkty odniesienia do oceny i porównania istniejących systemów z perspektywy idealnego wzorca.
Projektowanie architektoniczne
- Skupione na tworzeniu struktury wysokiego poziomu oprogramowania.
- Obejmuje podział systemu na moduły, określenie ich wzajemnych relacji oraz sposób sterowania między nimi.
Środowisko implementacyjne
- Języki programowania, system operacyjny, baza danych (relacyjna/nierekcyjna) to elementy środowiska programistycznego używane w procesie implementacji oprogramowania.
IDE (Zintegrowane środowisko programistyczne)
- Zintegrowany pakiet programów służący do obsługi różnych faz tworzenia oprogramowania.
- Obejmuje edytory tekstu, kompilatory, debbueger, edytory interfejsu użytkownika, narzędzia do tworzenia baz danych itp.
Narzędzia RAD (Rapid Application Development)
- Narzędzia wspierające zwalidowany sposób tworzenia oprogramowania, zazwyczaj z wykorzystaniem komponentów.
- Często wykorzystywane przy tworzeniu prototypu.
- Zapewniają wsparcie w różnych etapach tworzenia oprogramowania.
Testowanie
- Proces weryfikacji i walidacji oprogramowania
- Wykorzystuje się różne testy jednostkowe, komponentów, integracyjne i systemowe, akceptacyjne.
Testowanie- kontynuacja
- Część testów przeprowadza się przed, a część po implementacji
- Ważne jest uwzględnienie różnych przypadków użycia i specyfikacji wymagań.
Błędy w kodzie
- Rodzaje błędów w kodzie, z przykładami.
Klasyfikacja testów
- Statyczne (analiza kodu bez uruchamiania).
- Dynamiczne (wykonanie kodu).
- Strukturalne (bazujące na strukturze kodu).
- Funkcjonalne (bazujące na wymaganiach).
- Statystyczne (służą do określania niezawodności poprzez symulację dużej ilości operacji).
- Wydajnościowe (pozwala ocenić wydajność systemu dla większego obciążenia).
Testy wydajnościowe
- Testy obciążeniowe i przeciążeniowe.
Skalowalność
- Zdolność systemu do efektywnie przetwarzania informacji przy rosnącym obciążeniu.
Model V
- Model cyklu życia oprogramowania skupiający się na testoaniu.
- Przykłady powiązano poszczególne etapy testowania z fazami implementacji oprogramowania. -Testowanie akceptacyjne -Testowanie systemowe -Testowanie integracyjne -Testowanie komponentu -Testowanie jednostkowe
Specyfikacja testów
- Definicja warunków testowych.
- Opis przypadków testowych.
- Opis sposobów przeprowadzenia testów w formie kroków (Given, When, Then).
Automatyzacja testów
- Zautomatyzowane narzędzie do testowania kodu.
Testy regresyjne
- Testy mają na celu sprawdzenie czy system nadal działa prawidłowo po modyfikacji.
Test Driven Development (TDD)
- Technika programowania w oparciu o testy jednostkowe.
Dokumentacja
- Dokumentacja musi opisywać system i jego sposób funkcjonowania.
- Powinna być aktualizowana na bieżąco.
Dokumentacja techniczna
- Dokumentacja przeznaczona dla osób, które będą rozwijać lub modyfikować system.
Dokumentacja użytkownika
- Dokumentacja przeznaczona dla użytkowników, którzy będą korzystać z systemu.
Instalacja
- Obejmuje szkolenie, instalację sprzętu, instalację oprogramowania, zasilenie danymi, rozruch, nadzór pracy i przekazanie systemu klientowi.
DevOps
- Zbiór praktyk i narzędzi wspomagających współpracę pomiędzy zespołami programistów i administratorów.
- Wsparciem dla ciągłego ulepszania i rozwoju oprogramowania.
Inne pojęcia
- Terminy z zakresu testowania oprogramowania, takie jak błędy, powiązania, techniki oceny oraz aspekty związane z testowaniem COTS oraz narzędzi wspierających, tj. CASE.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Quiz ten dotyczy wymagań niefunkcjonalnych oraz Diagramu Hierarchii Funkcji. Uczestnicy będą oceniani na podstawie swojej wiedzy na temat klasyfikacji wymagań oraz technik ich analizy. Sprawdź, ile wiesz o tych kluczowych elementach inżynierii oprogramowania!