Projektowanie w cyklu życia oprogramowania

Transkrypt

Projektowanie w cyklu życia oprogramowania
Inżynieria oprogramowania
Jarosław Kuchta
Projektowanie w cyklu życia
oprogramowania
Klasyczny cykl życia oprogramowania
Planowanie
Analiza
Projektowanie
Implementacja
Testowanie
Pielęgnacja
Waga poszczególnych faz
Pielęgnacja
Pielęgnacja
Testowanie
Testowanie
Implementacja
Implementacja
Projektowanie
Projektowanie
Analiza
Analiza
Plan.
Planowanie
Układ niestabilny
Układ stabilny
Projektowanie a analiza
Planowanie
Specyfikowanie wymagań
Analiza
statyczna
Analiza
funkcjonalna
Analiza
dynamiczna
Analiza
behawioralna
Projektowanie
w dziedzinie
problemu
Projektowanie
interfejsu
użytkownika
Projektowanie
struktury
danych
Projektowanie
architektury
systemu
m
Analiza
SWS
Projektowanie
systemowe
Projektowanie
szczegółowe
Specyfikowanie wymagań
• Cele:
– Określenie celu biznesowego projektu
– Identyfikacja wymagań (funkcjonalnych,
niefunkcjonalnych)
– Alokacja wymagań do poszczególnych składników systemu
informatycznego
• Aktywności:
– Określenie udziałowców projektu
– Pozyskiwanie wymagań
– Walidacja wymagań
• Produkt:
– Specyfikacja Wymagań Systemowych
Analiza systemowa
• Cel:
– Osiągnięcie właściwego poziomu zrozumienia pomiędzy
zespołem projektowym a klientem odnośnie tego co ma
system robić
• Aktywności:
– Analizowanie wymagań systemowych
– Modelowanie wymaganego systemu
– Prototypowanie systemu
• Produkt:
– Złożony model systemu w dziedzinie problemu
Aspekty analizy
• Aspekt statyczny
– Analiza struktury systemu: elementów składowych (klas, obiektów),
ich właściwości i relacji między nimi
• Aspekt funkcjonalny
– Analiza funkcjonalności systemu: funkcji udostępnianych przez system
dla użytkowników lub innych systemów
• Aspekt behawioralny
– Analiza zachowania systemu i jego elementów składowych: ich reakcji
na zdarzenia pochodzące od użytkowników lub innych systemów
• Aspekt dynamiczny
– Analiza relacji w czasie i zmian czasowych zachodzących w systemie i
pomiędzy systemem a jego użytkownikami lub innymi systemami
Modele analityczne
•
•
•
•
•
•
•
Model klas i obiektów (a.statyczny)
Model przypadków użycia (a.funkcjonalny)
Model kolaboracji (a.funkcjonalny)
Model przepływu danych (a.funkcjonalny)
Model czasowy (a.dynamiczny)
Model przejść stanów (a.behawioralny)
Model aktywności (a.funkcjonalny,
behawioralny, dynamiczny)
Cele projektowania
• Projektowanie systemowe
– Określenie zgrubnej struktury systemu dla
zrozumienia jak system ma być zrealizowany
• Projektowanie szczegółowe
– Określenie szczegółowej struktury systemu dla
ułatwienia poprawnej implementacji projektu
Aspekty projektowania
• Projektowanie w dziedzinie problemu
– Odwzorowanie modelu analitycznego w zbiór klas, obiektów, ich
właściwości, relacji i funkcjonalności możliwych do zrealizowania w
systemie informatycznym
• Projektowanie interfejsu użytkownika
– Zaprojektowanie klas, obiektów, ich właściwości, relacji i
funkcjonalności niezbędnych do komunikacji pomiędzy systemem
informatycznym a jego użytkownikami
• Projektowanie struktury danych
– Zaprojektowanie klas, obiektów, ich właściwości, relacji i
funkcjonalności niezbędnych do przechowywania danych przez system
• Projektowanie architektury systemu
– Określenie elementów składowych systemu tworzących jego fizyczną
strukturę
Produkty projektowania
•
•
•
•
Projekt architektury systemu
Projekt interfejsu użytkownika
Projekt struktury danych
Projekt struktury klas
Literatura
• Pressman R.S., Software engineering. A
practitioner’s approach, McGraw-Hill,
International Edition, 1992

Podobne dokumenty