1. Wprowadzenie do inżynierii oprogramowania

Rozwiązanie zadania 1

Przykładowy projekt polega na stworzeniu systemu obsługi studiów na uczelni wyższej. Kilka hipotetycznych (przewidywanych lub rzeczywistych) problemów występujących w projekcie:

1.      Spory między przedstawicielami kierownictwa uczelni o zakres sytemu.

2.      Brak akceptacji podstawowych funkcjonalności obsługi planu studiów przez samorząd studencki.

3.      Konieczność kosztownej wymiany systemu bazy danych w końcowej fazie projektu z uwagi na niezadowalającą wydajność dostępu do przechowywanych danych.

4.      Brak akceptacji przedstawicieli nauczycieli dla interfejsu użytkownika modułu zarządzania przedmiotami i ocenami.

5.      W ostatnim miesiącu projektu programiści muszą dokonać znaczących modyfikacji całej struktury systemu z uwagi na brak niezbędnych interfejsów, który został stwierdzony dopiero pod koniec projektu.

Rozwiązanie zadania 5

Przykładowe sposoby na pokonanie problemów z rozwiązania zadania 1 (w kolejności jak w rozwiązaniu):

1.      Zorganizowanie wspólnych warsztatów wymagań z udziałem doświadczonego moderatora.

2.      Szybkie dostarczenie w pierwszym etapie (iteracji) projektu podstawowych funkcjonalności obsługi planu studiów. Uzyskanie informacji zwrotnej na podstawie obserwacji pracy przedstawicieli samorządu z pierwszym wydaniem systemu.

3.      Wykonanie testów wydajnościowych systemu na wczesnym etapie projektu i powtarzanie tych testów w miarę rozwoju systemu. Szybka reakcja na niezadowalające rezultaty testów.

4.      Przeprowadzenie testów interfejsu użytkownika z udziałem przedstawicieli nauczycieli wystarczająco wcześnie w trakcie projektu, aby możliwe było dokonanie niezbędnych poprawek.

5.      Wykonanie projektu architektonicznego całego systemu, uwzględniającego wszystkie interfejsy oraz uszczegóławianie oraz ew. aktualizacja tego projektu w trakcie kolejnych etapów (iteracji) projektu. Ciągła kontrola zgodności projektu architektonicznego z wymaganiami uczelni.