Proces projektowania aplikacji informatycznych
To tylko przykład procesu. Nie traktuj go jako idealny wzorzec, a raczej jako wersję poglądową.
|
Cele procesu
Cele główne:
- Stworzenie projektu aplikacji informatycznej
- Uwzględnienie w projekcie wymagań i oczekiwań użytkownika
- Zachowanie równowagi pomiędzy przewidywanymi kosztami a dostępnym budżetem
Cele pośrednie:
- Dążenie do skrócenia czasu wykonywania poszczególnych etapów procesu
- Usprawnianie komunikacji z głównym użytkownikiem
Charakterystyka procesu
Proces projektowania aplikacji informatycznych ma na celu przygotowanie w pełni użytecznego i wykonalnego projektu aplikacji zapewniającego jej właściwą strukturą i funkcjonalność. Dokonuje się to poprzez kolejne etapy pracy zespołu projektowego nadzorowanego przez kierownika projektu jak i komitet sterujący odpowiedzialny za całość wykonywanej pracy.
Jednym z najważniejszych etapów procesu jest analiza wymagań użytkownika na podstawie której zespół projektowy może dopiero przystąpić do tworzenia modelu funkcjonalnego aplikacji. Model funkcjonalny zostaje w dalszych etapach procesu wykorzystany do budowy modelu logicznego aplikacji jak i do stworzenia podstaw jej struktury fizycznej. Całość procesu jest na bieżąco kontrolowana i korygowana poprzez stosowne raporty i spotkania zespołu z kierownikiem projekt.
Zasoby (dane wejściowe)
1. Uczestnicy procesu
Uczestnikami procesu projektowania aplikacji informatycznych są:
- Komitet sterujący
- Kierownik projektu
- Kierownik zespołu projektowego
- Zespół projektowy
- Główny użytkownik
- Zespół testerów
2. Zasoby materialne
- Sprzęt komputerowy
- Specjalistyczne oprogramowanie
3. Zasoby informacyjne
4. Narzędzia, metody i techniki
Metody i techniki
- Prince2
- Scrum
- Extreme programming
- Microsoft Solution Framework
- Diagramy przepływy danych
- Unified Modeling Language (UML)
- Systemy zarządzania przebiegiem procesów pracy (ang. workflow)
Narzędzia
- Microsoft project
- Lotus Notes
- Narzędzia CASE
- Narzędzia automatyzacji testów
- Narzędzia testów unitowych
Opis procesu
1 Komitet sterujący powołuje kierownika projektu w oparciu o profil projektu, a także na podstawie jego kompetencji na płaszczyźnie planowania, organizowania, motywacji i kontroli. Wybór ten pozwoli na sprawne zorganizowanie zespołu projektowego.
2 Kierownik projektu w porozumieniu z głównym użytkownikiem dokonują analizy potrzeb i modelowania przyszłej aplikacji. Na tym etapie zostaje przygotowana dokumentacja zbioru wymagań aplikacji, na podstawie której będzie tworzony projekt aplikacji.
3 Kierownik zespołu projektowego dokonuje zdefiniowania funkcjonalnego modelu aplikacji, opisującego interakcje ze światem zewnętrznym, strukturę aplikacji oraz przepływ danych i sterowania między elementami aplikacji.
4 Zespół projektowy na podstawie analizy wymagań użytkownika oraz funkcjonalnego modelu tworzy model logiczny aplikacji. Stanowi on uszczegółowienie modelu funkcjonalnego i zawiera listę funkcji aplikacji i współzależności między nimi ,które będą utworzone w projekcie fizycznym. Pozwoli to na wyeliminowanie zbędnych przepływów i zasobów danych.
5 Po zdefiniowaniu modelu logicznego zespół projektowy pod nadzorem kierownika projektu przystępuje do budowy struktury fizycznej aplikacji. W tym modelu definiowane są elementy oprogramowania (software), procedury, funkcje, metody i bloki oraz interakcje między nimi.
6 Kierownik projektu, organizuje krótkie, codzienne spotkania z zespołem projektowym, na których motywuje i inspiruje pracowników do dalszej pracy. Efektem tego jest weryfikacja postępów prac nad kolejnymi częściami projektu.
7 Zespół testerów pod kontrolą kierownika projektu przygotowuje oraz realizuje testy aplikacji na podstawie uprzednio przygotowanych szablonów i scenariuszy. Na koniec, zespół testerów sporządza raport wyników.
8 Kierownik projektu, na podstawie raportu wyników przygotowuje projekt do zamknięcia, w wyniku czego sporządzany jest dokument przekazania zawierający rejestr doświadczeń zdobytych w trakcie prowadzenia projektu.
9 Komitet sterujący dokonując przeglądu oceniającego, zatwierdza projekt.
Wyjścia (dane wyjściowe)
- Aplikacja informatyczna
Odpowiedzialność i uprawnienia
Stanowisko | Numer zadania | Uprawniony do | Odpowiada za |
Komitet sterujący | Powołania zespołu projektowego | Właściwy dobór wykonawców projektu | |
Dokonania przeglądu oceniającego projekt;
Zamknięcia projektu |
Całościową kontrolę postępów pracy nad projektem oraz efekt końcowy projektu | ||
Kierownik projektu | Do kontaktu z głównym użytkownikiem w celu dokonania analizy jego wymagań | Prawidłową analizę wymogów aplikacji pod kątem potrzeb użytkownika głównego, | |
Uczestnictwa w procesie budowy modelu logicznego aplikacji | Prawidłowe zdefiniowanie metod, procedur i funkcji występujących w aplikacji. Poprawny przebieg budowy modelu logicznego. | ||
Weryfikacji prac zespołu projektowego; motywowania, inspirowania zespołu projektowego. | Kontrole wszystkich prac projektowych, terminowe wykonywanie projektu; monitorowanie kosztów oraz problemów powstałych w trakcie projektowania. | ||
Kontroli przebiegu testów aplikacji, współpracy z testerami | Właściwy przebieg procedury testowania aplikacji | ||
Sporządzenia dokumentu przekazania oraz do przedstawienia swojej opinii | Przygotowanie projektu do zamknięcia | ||
Kierownik zespołu | Zdefiniowania struktury aplikacji | Prawidłowo zdefiniowaną strukturę aplikacji | |
Zespół projektowy | Budowy modelu fizycznego aplikacji | Prawidłową konstrukcję modelu fizycznego. | |
Główny użytkownik | Kontaktu z Kierownikiem projektu w celu sprecyzowania założeń, jakie powinna spełniać aplikacja | Sformułowanie listy wymagań stawianych przed aplikacja. Znajomość celów biznesowych. | |
Zespół testerów | Przeprowadzenia testów aplikacji oraz do sporządzenia raportu z ich przebiegu | Prawidłowy przebieg testów, odnalezienie ewentualnych błędów w funkcjonowaniu aplikacji |
Diagram procesu
Uczestnicy
zadania |
Komitet Sterujący | Kierownik projektu | Kierownik zespołu projektowego | Zespół projektowy | Główny użytkownik | Zespół testerów |
1 | ||||||
2 | ||||||
3 | ||||||
4 | ||||||
5 | ||||||
6 | ||||||
7 | ||||||
8 | ||||||
9 |
Autor: Marcin Kozera, Łukasz Lekki