Wirtualny projekt
Studium projektowe przeprowadzimy na przykładzie wirtualnej firmy Intra-EX. Załóżmy, że będziemy dla niej realizowali mały projekt informatyczny, obejmujący powstanie serwisu WWW z elementami dynamicznymi oraz funkcjonującego w jego ramach sklepu inrernetowego, który będzie pobierał informacje z zewnętrznego systemu, służącego do gromadzenia i zarządzania danymi o produktach i ich cenach. Przedstawimy propozycje etapów realizacji wirtualnego projektu wraz ze wskazówkami dotyczącymi szczególnie istotnych elementów tego przedsięwzięcia, warunkujących końcowy sukces.
1. Rozpoczęcie projektu
Początek projektu wyznaczają rozmowy miedzy zleceniobiorcą a zleceniodawcą, dotyczące wizji potrzeb i podstawowych, funkcjonalnych i niefunkcjonalnych wymagań projektu.
Działania
Intensywne rozmowy wykonawcy ze zleceniodawcą.
Cel ogólny
- Stworzenie wstępnej specyfikacji projektu, zawierającej:
- Określenie podstawowych wymagań funkcjonalnych
- funkcji i działań realizowanych przez system,
- Określenie grup użytkowników oraz zakresu, w ramach którego będą oni korzystali z systemu,
- Sporządzenie wstępnego harmonogramu prac,
- Sporządzenie wstępnego kosztorysu projektu,
- Określenie ryzyka związanego z realizacją projektu (tylko do wewnętrznych analiz zleceniobiorcy) - zleceniobiorca analizuje stosunek między kosztami, jakie musi ponieść, a spodziewanym zyskiem: bada możliwości realizacji danego przedsięwzięcia.
- Wstępne zatezerwowanie zasobów (ludzi, sprzętu), które będą niezbędne do realizacji projektu. O Jak najlepsze zapoznanie się z zagadnieniem, które w niedługim czasie będzie realizowane.
- Cel etapu wirtualnego projektu lntra-EX
Stworzenie wstępnej specyfikacji projektu, zawierającej:
Podstawowe wymagania funkcjonalne:
- Import z zewnętrznego źródła danych dotyczących produktów i ich cen w postaci pliku CSV do bazy danych aplikacji WWW.
- Interaktywne intro na stronic głównej.
- Wykonanie statycznego serwisu WWW, uzupełnionego dynamicznie generowanymi stronami dotyczącymi produktów oraz dynamicznie generowaną tytułową stronę sklepu internetowego, aktualizowaną z poziomu konsoli administracyjnej (zamknięta i otwarta część serwisu dynamicznego).
- Edycja z poziomu konsoli administracyjnej kart zaimportowanych produktów.
- Możliwość edycji hierarchicznego drzewa i przypisywania do jego poszczególnych gałęzi zaimportowanych produktów.
- Możliwość zamawiania produktów przez intranet.
- Charakterystyka użytkowników systemu.
- Administratorzy.
- Handlowcy - obsługujący zamówienia.
- Użytkownicy zewnętrzni:
- nie zarejestrowani, - zarejestrowani.
Podstawowe wymagania niefunkcjonalne.
- Zastosowanie technologii ASP do generowania dynamicznych stron HTML oraz implementacji części do obsługi sklepu i konsol administracyjnych.
- Baza danych Microsoft Access.
- Wydajność: system reaguje na wszelkie akcje użytkownika nie dłużej niż 5 sekund.
- Zastosowanie protokołu SSL podczas operacji zamawiania produktów i autoryzacji w systemie.
- Intro wykonane w technologii Flash.
- Harmonogram prac.
- Wstępny kosztorys systemu.
- Analiza ryzyka.
Efekt.
- Wstępna specyfikacja projektu w jeżyku naturalnym.
- Podpisanie umowy o współpracy.
2. Analiza wymagań
Faza analizy - uzupełnianie wizji systemu oraz uszczegółowianie wymagań funkcjonalnych i niefunkcjonalnych, propozycje bardziej skomplikowanych problemów i zachowań systemu - powstanie szczegółowego dokumentu, opisującego przyszły system.
Działania
Intensywne rozmowy wykonawcąy ze zleceniodawca. O Tworzenie, uzupełnianie i poprawianie dokumentu
- Specyfikacji Działali Systemowych.
- Cel ogólny
Dokładna specyfikacja przyszłej aplikacji bez uwzględnienia szczegółów związanych ł narzędziami, w ramach których zrealizowany będzie system.
- Cel etapu wirtualnego projektu Intra-EX
- Dokładna specyfikacja przyszłej aplikacji bez uwzględnienia szczegółów związanych z narzędziami, w ramach których zrealizowany będzie system.
- Uzupełnienie wymagań funkcjonalnych.
- Import z zewnętrznego źródła danych dotyczących produktów i ich cen w postaci pliku CSV do bazy danych aplikacji WWW w zadanej postaci, np.:
- Lp,
- Indeks produktu,
- Nazwa,
- Opis l,
- Interaktywne intro na stronie głównej w technologii Flash, scenariusz:
- białe tło,
- pojawiając;' się napis Intra - fading in,
- pojawiający się napis -EX- zoom-in.
- Wykonanie statycznego serwisu WWW:
- schemat struktury statycznej plus opis, co będzie zawarte na poszczególnych stronach w ramach sekcji głównych i podsekcji,
- szczegółowy projekt baz danych,
- schemat struktury dynamicznej serwisu (zamkniętej i otwartej) oraz dokładna .specyfikacja źródeł, z jakich czerpane będą dane,
- dynamicznie generowane strony dotyczące produktów
- struktura,
- dynamicznie generowana tytułowa strona sklepu - dokładny opis zawartości oraz możliwości aktualizacji,
- zamawianie produktów - dokładny opis poszczególnych kroków algorytmu.
- Edycja z poziomu konsoli administracyjnej kart zaimportowanych produktów - opis konsoli administracyjnej.
- Możliwość edycji hierarchicznego drzewa i przypisywania do jego poszczególnych gałęzi zaimportowanych produktów - szczegółowa specyfikacja.
- Dokładny opis struktur i funkcji konsoli administracyjnej. O Charakterystyka użytkowników systemu.
- Administratorzy - dostęp, konsola administracyjna.
- Handlowcy - obsługujący zamówienia, dostęp.
- Użytkownicy zewnętrzni:
- nie zarejestrowani, dostęp (otwarta cześć serwisu),
- zarejestrowani, dostęp (zamknięta cześć serwisu).
- podstawowe wymagania niefunkcjonalne - szczegółowy opis.
- dokładny harmonogram prac.
- dokładny kosztorys systemu.
- Efekt
- Wykonanie i zatwierdzenie przez zleceniodawcę szczegółowe] specyfikacji systemu - dokument SWS.
3. Projektowanie
Na bazie SWS powstaje szczegółowy projekt techniczny, na podstawie którego rozpocznie się implementacja.
- Działania
- Prace nad stworzeniem projektu technicznego systemu/aplikacji WWW.
- Cel ogólny
- Stworzenie projektu technicznego systemu na podstawie dokumentu SWS, uwzględniającego specyfikę wjkorzysta-nych technologii i narzędzi.
- Cel etapu wirtualnego projektu Intra-EX
- Stworzenie projektu technicznego systemu na podstawa dokumentu SWS, uwzględniającego specyfikę wykorzystanych technologii i narzędzi.
- Efekt
- Wykonanie i zatwierdzenie wewnętrzne projektu technicznego systemu/aplikacji WWW.
4. Realizacja
Implementacja systemu na podstawie projektu technicznego.
- Działania
- Wykonanie projektu graficznego.
- Edycja statycznych stron HTML.
- Implementacja dynamicznych mechanizmów aplikacji.
- Cel ogólny
- Stworzenie gotowego systemu.
- Cel etapu wirtualnego projektu Intra-EX
- Stworzenie gotowego systemu.
- Efekt
- W pełni funkcjonalna pierwsza wersja systemu.
5. Testowanie i wdrożenie
Sprawdzenie poprawności działania gotowej aplikacji i zainstalowanie jej na serwerach docelowych.
- Działania
- Testowanie poprawności działania aplikacji.
- Prace nad wdrożeniem gotowej aplikacji do działania.
- Przeniesienie aplikacji z serwerów testowych na docelowe.
- Cel ogólny
- Zainstalowanie końcowej wersji aplikacji w środowisku docelowym.
- Cel etapu wirtualnego projektu Intra-EX
- Testowanie i usunięcie błędów, uruchomienie aplikacji w środowisku docelowym.
- Test tzw. ścieżki krytycznej - przetestowanie podstawowych mechanizmów aplikacji, np. zarządzania dynamicznymi sekcjami za pomocą konsoli administracyjnej czy zamawiania produktów.
- Efekt
- Stabilna, pozbawiona błędów wersja aplikacji, zainstalowana na serwerze docelowym.
6. Pielęgnacja - konserwacja systemu
Opieka nad poprawną pracą aplikacji.
- Działania
- Czuwanie nad poprawną pracą aplikacji. O Poprawianie wykrytych błędów.
- Rozwój systemu przez dodawanie nowych funkcji i mechanizmów ułatwiających oraz usprawniających pracę z aplikacją.
- Cel ogólny
- Tożsamy z celem wirtualnego projektu.
- Cel etapu wirtualnego projektu Intra-EX
- Rozwój aplikacji, poprawianie wykrytych błędów i usuwanie usterek.
- Efekt
- W pełni funkcjonalna, wzbogacona o nowe funkcje i mechanizmy aplikacja WWW.
Podstawowe wzorce i wskazówki projektowe
Podczas realizacji projektu informatycznego należy zwrócić uwagę na wiele istotnych czynników, warunkujących końcowy sukces. Do najistotniejszych należą:
- Tworzenie i ciągłe uaktualnianie dokumentacji projektowej
- znacznie przyśpiesza implementację oraz ułatwia wprowadzanie wszelkich zmian i poprawek do kodu źródłowego.
- Stosowanie modułowej architektury aplikacji - podział budowanego systemu na moduły czyni system elastycznym, co ma ogromne znaczenie podczas jego rozbudowy, testowania i konserwacji. Bardzo istotna jest również minimalizacja kosztów zmian i poprawek, które dokonuje się w obrębie konkretnego modułu, a nie w całym systemie.
- Wizualne modelowanie procesów - czytelne przedstawianie struktury i zachowań systemu oraz architektury jego komponentów (modułów). Modelowanie wizualne pomaga uwidocznić wszystkie aspekty systemu, pokazać, jak poszczególne jego elementy ze sobą współpracują. Należy jednak zwrócić uwagę, by wizualna reprezentacja składników i zachowań systemu była zgodna pod względem kodu, który je realizuje, i zadbać o wierność projektu z jego implementacją.
- Weryfikacja poprawności i optymalizacja oprogramowania testowanie oprogramowania i jego optymalizacja w konkretnych środowiskach pozwalają zapewnić odpowiednią jakość i szybkość działania aplikacji.
- Krokowe budowanie aplikacji - w przypadku bardziej złożonych aplikacji często stosuje się podejście iteracyjne. System buduje się wtedy modułami lub mniejszymi jednostkami logicznymi, a następnie łączy się je w całość.
Podsumowanie
Niniejszy artykuł na pewno nie wyczerpuje wszystkich problemów związanych z tworzeniem aplikacji internetowych.
Zawiera jednak najbardziej istotne aspekty, które każdy autor przedsięwzięcia informatycznego powinien uwzględnić, by efekt jego dzieła był satysfakcjonujący zarówno dla zleceniodawcy, jak i wykonawcy.
Informacje o prawach autorskich
Serwis ma charakter edukacyjny. Poradnik opracowano na podstawie artykułów w CHIP Special. Nie wolno kopiować tych tekstów na innych stronach.