Zestaw 3
1. Wyjaśnić, dlaczego programy tworzone za pomocą podejścia ewolucyjnego będą prawdopodobnie trudne do pielęgnowania
Tworzenie ewolucyjne polega na opracowaniu wstępnej implementacji, pokazaniu jej użytkownikowi z prośbą o komentarze i udoskonalaniu jej w wielu wersjach aż do powstania odpowiedniego systemu.
Problemy
Proces nie jest widoczny
System ma złą strukturę
Konieczne mogą być specjalne narzędzia i techniki
2. Wyjaśnij, dlaczego w procesie inżynierii wymagań tak ważne jest rozróżnienie między opracowaniem wymagań użytkownika i opracowywaniem wymagań systemu
Wymagania użytkownika są przeznaczone dla osób, które mają używać i zaopatrywać się w system. Należy spisać je za pomocą języka naturalnego, tabel i diagramów tak, aby były zrozumiałe.
W wymaganiach stawianych systemowi oprogramowania ustala się co system powinien robić, oraz definiuje ograniczenia działania i implementację. Brak rozgraniczenia pomiędzy tymi wymaganiami może spowodować błędną interpretacje wymagań. Natura programisty każe mu interpretować jednoznaczne wymagania tak, aby uprościć implementację. Zwykle nie jest to jednak to, czego chciał klient. Wtedy należy opracować nowe wymagania i dokonać zmian w systemie. Opóźnia to dostarczenie systemu i podnosi koszty.
3. Opisz podstawowe czynności procesu projektowania oprogramowania
Projektowanie architektury
Specyfikowanie abstrakcyjne
Projektowanie interfejsów
Projektowanie komponentów
Projektowanie struktur danych
Projektowanie algorytmów
4. Z jakich 5ciu komponentów składa się metoda oprojektowania
5. Przedstaw model kaskadowy tworzenia oprogramowania. Wskaż krótko jego zalety i wady
Problemy modelu kaskadowego:
Następnej fazy nie powinno się rozpoczynać, jeśli poprzednia się nie zakończy.
Koszty opracowania i akceptacji dokumentów są wysokie i dlatego iteracje są również kosztowne oraz wymagają powtarzania wielu prac.
Wadą modelu kaskadowego jest zawarty w nim nieelastyczny podział na rozłączne etapy.
Model kaskadowy powinien być używany jedynie wówczas, gdy wymagania są jasne i zrozumiałe.
6. Przedstaw Diagram tworzenia przyrostowego (?okazyjnego?)
System nie ukończony
System
końcowy
Zweryfikuj system
Zintegruj system
Zaprojektuj
architekturę systemu
Zweryfikuj
przyrost
Przypisz wymagania
do przyrostów
Wytwórz przyrost
systemu
Zdefiniuj zarys
wymagań
Działanie i pielęgnacja
Integracja i testowanie
systemu
Implementacja i testowanie
jednostek
Projektowanie systemu
i oprogramowania
Definiowanie wymagań