Problem, o którym mówisz, oznacza, że kilka rzeczy zostało pominiętych, dlatego powstały system nie działa. Pozwól mi opisać niektóre brakujące kroki:
Zarządzanie jakością - Zrób to dobrze za pierwszym razem! Nigdy nie używaj tymczasowych hacków ani tymczasowych kompromisów. Nie trzeba przerabiać. Wszystkie zasoby są wykorzystywane efektywnie, a wszystko, co robisz, stanowi odpowiedni wkład w projekt.
Analiza wykonalności - odkryj potrzeby biznesowe. Utwórz uzasadnienie biznesowe dla projektu.
Plan projektu - Jasno zdefiniuj początkowy zakres, zaplanuj sposób dostarczenia rozwiązania, utwórz linię bazową, trzymaj się planu. Nie marnuj czasu na nic, co nie jest na ścieżce krytycznej.
Inżynieria wymagań - Wywołaj wymagania biznesowe (tj. Przechwytuj procesy biznesowe i określ, jakie operacje biznesowe powinny być obsługiwane przez system komputerowy, przetłumacz operacje biznesowe 1: 1 na przypadki użycia systemu). Zatwierdź i zweryfikuj! (czy budujemy właściwą rzecz? Czy budujemy właściwą rzecz?) Wszystkie wymagania muszą być powiązane z pierwotną potrzebą biznesową.
Projektowanie oprogramowania - Przetłumacz przypadki użycia i model domeny na projektowanie komponentów i architekturę rozwiązań. Wszystkie elementy muszą być powiązane z wymaganiami RE.
Implementacja - Koduj oprogramowanie jak w projekcie. Cały kod musi być powiązany z komponentami z SD.
Walidacja - testy jednostkowe, testy integracyjne, wydajność, ... (wszystkie przypadki użycia z RE będą teraz musiały zostać przetestowane)
Oto niektóre kluczowe aspekty procesu tworzenia oprogramowania. Wspomniane działania są częścią inżynierii oprogramowania. W ten sposób budujesz odpowiednie oprogramowanie dla rzeczywistych potrzeb biznesowych i budujesz je na czas, zgodnie z budżetem i zgodnie ze specyfikacją.
Poszukaj tych warunków, aby zbudować lepsze oprogramowanie i zrobić to dobrze za pierwszym razem:
- Analiza wykonalności (zwłaszcza jak zbudować uzasadnienie biznesowe)
- Zarządzanie projektami (w szczególności Plan projektu i rejestr ryzyka z ograniczaniem ryzyka)
- Inżynieria wymagań (pozyskiwanie, analiza, specyfikacja, walidacja)
- Projektowanie oprogramowania (inżynieria oprogramowania w języku UML i komponentach)
- Konstrukcja oprogramowania (wzorce projektowe, frameworki, programowanie obronne)
- Walidacja oprogramowania (testy jednostkowe, UAT itp.)