Proces projektowania aplikacji informatycznych: Różnice pomiędzy wersjami

Z Encyklopedia Zarządzania
m (Dodanie MetaData Description)
m (Pozycjonowanie)
 
(Nie pokazano 7 wersji utworzonych przez 2 użytkowników)
Linia 1: Linia 1:
{{infobox4
|list1=
<ul>
<li>[[Procesy planowania wg PMBOK]]</li>
<li>[[Proces zarządzania projektem]]</li>
<li>[[Sterowanie Etapem]]</li>
<li>[[Zarządzanie projektem]]</li>
<li>[[Primavera]]</li>
<li>[[Zarządzanie zakresem wg PMBOK]]</li>
<li>[[Plan zarządzania projektem]]</li>
<li>[[Plan projektu]]</li>
<li>[[Zarządzanie integralnością wg PMBOK]]</li>
</ul>
}}
{{proces}}
{{proces}}
==TL;DR==
Artykuł opisuje proces projektowania aplikacji informatycznych. Cele procesu to stworzenie aplikacji uwzględniającej wymagania użytkownika i koszty, skrócenie czasu wykonywania etapów i usprawnienie komunikacji. Proces składa się z analizy wymagań, tworzenia modelu funkcjonalnego i logicznego, budowy struktury fizycznej aplikacji, testowania i zamknięcia projektu. Uczestnikami procesu są komitet sterujący, kierownik projektu, zespół projektowy, główny użytkownik i zespół testerów. Narzędzia i metody to m.in. PRINCE2, SCRUM, .NET Framework i UML. Odpowiedzialności i uprawnienia są przypisane do poszczególnych stanowisk, a wyjściem jest gotowa aplikacja informatyczna.


==Cele procesu==
==Cele procesu==
[[Cele]] główne:
[[Cele]] główne:
* Stworzenie projektu aplikacji informatycznej
* Stworzenie projektu aplikacji informatycznej
* Uwzględnienie w projekcie wymagań i oczekiwań użytkownika
* Uwzględnienie w projekcie wymagań i oczekiwań użytkownika
Linia 30: Linia 8:


Cele pośrednie:
Cele pośrednie:
* Dążenie do skrócenia czasu wykonywania poszczególnych etapów procesu
* Dążenie do skrócenia czasu wykonywania poszczególnych etapów procesu
* Usprawnianie komunikacji z głównym użytkownikiem
* Usprawnianie komunikacji z głównym użytkownikiem


==Charakterystyka procesu==
==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 [[Zespół projektowy|zespołu projektowego]] nadzorowanego przez kierownika projektu jak i [[komitet sterujący]] odpowiedzialny za całość wykonywanej pracy.  
[[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 [[Zespół projektowy|zespołu projektowego]] nadzorowanego przez kierownika projektu jak i [[komitet sterujący]] odpowiedzialny za całość wykonywanej pracy.
<google>ban728t</google>


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]].
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)==
==Zasoby (dane wejściowe)==
=== 1. Uczestnicy procesu ===
===1. Uczestnicy procesu===
Uczestnikami procesu projektowania aplikacji informatycznych są:  
Uczestnikami procesu projektowania aplikacji informatycznych są:
 
* Komitet sterujący
* Komitet sterujący
* [[Kierownik]] projektu
* [[Kierownik]] projektu
Linia 52: Linia 26:
* Zespół testerów
* Zespół testerów


===2. Zasoby materialne ===
<google>n</google>
 
===2. Zasoby materialne===
* [[Sprzęt komputerowy]]
* [[Sprzęt komputerowy]]
* Specjalistyczne oprogramowanie
* Specjalistyczne oprogramowanie


=== 3. Zasoby informacyjne===
===3. Zasoby informacyjne===
* [[Wiedza]] uczestników procesów projektowania
* [[Wiedza]] uczestników procesów projektowania
* [[Potrzeby]] i wymagania uzyskane od głównego użytkownika.<br/>
* [[Potrzeby]] i wymagania uzyskane od głównego użytkownika.
 


=== 4. Narzędzia, metody i techniki ===
===4. Narzędzia, metody i techniki===
'''''Metody i techniki'''''
'''Metody i techniki'''
* [[Metodyka PRINCE II|Prince2]]
* [[Metodyka PRINCE II|Prince2]]
* [[Metodyka SCRUM|Scrum]]
* [[Metodyka SCRUM|Scrum]]
* [[Metodyka Extreme Programming|Extreme programming]]  
* [[Metodyka Extreme Programming|Extreme programming]]
* [[.NET Framework|Microsoft Solution Framework]]
* [[.NET Framework|Microsoft Solution Framework]]
* [[Diagramy przepływu danych|Diagramy przepływy danych]]
* [[Diagramy przepływu danych|Diagramy przepływy danych]]
* Unified Modeling Language (UML)
* Unified Modeling Language (UML)
* Systemy zarządzania przebiegiem procesów pracy (ang. ''[[Workflow|workflow]]'') <br/> '''''Narzędzia'''''
* Systemy zarządzania przebiegiem procesów pracy (ang. ''[[Workflow|workflow]]'')  
'''Narzędzia'''
* [[Microsoft Project|Microsoft project]]
* [[Microsoft Project|Microsoft project]]
* Lotus Notes
* Lotus Notes
Linia 79: Linia 55:
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.
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.<br/>
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.  
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.
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.<br/>
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.
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.


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.<br/>
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.
 
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.<br/>
 


9 Komitet sterujący dokonując przeglądu oceniającego, zatwierdza projekt.
9 Komitet sterujący dokonując przeglądu oceniającego, zatwierdza projekt.


==Wyjścia (dane wyjściowe)==
==Wyjścia (dane wyjściowe)==
* Aplikacja informatyczna<br/>
* Aplikacja informatyczna
 


==Odpowiedzialność i uprawnienia==
==Odpowiedzialność i uprawnienia==
{| border=1
{| border=1
| Stanowisko
| Stanowisko
Linia 112: Linia 84:
| Komitet sterujący
| Komitet sterujący
| <center>1</center>
| <center>1</center>


| Powołania zespołu projektowego
| Powołania zespołu projektowego
Linia 119: Linia 89:


|-
|-
|  
|
| <center>9</center>
| <center>9</center>
| Dokonania przeglądu oceniającego projekt;
| Dokonania przeglądu oceniającego projekt;
Linia 129: Linia 99:
| Kierownik projektu
| Kierownik projektu
| <center>2</center>
| <center>2</center>


| Do kontaktu z głównym użytkownikiem w celu dokonania analizy jego wymagań
| Do kontaktu z głównym użytkownikiem w celu dokonania analizy jego wymagań
Linia 136: Linia 104:


|-
|-
|  
|
| <center>5</center>
| <center>5</center>


| Uczestnictwa w procesie budowy modelu logicznego aplikacji
| Uczestnictwa w procesie budowy modelu logicznego aplikacji
Linia 145: Linia 111:


|-
|-
|  
|
| <center>6</center>
| <center>6</center>


| Weryfikacji prac zespołu projektowego; motywowania, inspirowania zespołu projektowego.
| 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.  
| Kontrole wszystkich prac projektowych, terminowe wykonywanie projektu; [[monitorowanie]] kosztów oraz problemów powstałych w trakcie projektowania.


|-
|-
|  
|
| <center>7</center>
| <center>7</center>
| Kontroli przebiegu testów aplikacji, współpracy z testerami
| Kontroli przebiegu testów aplikacji, współpracy z testerami
Linia 160: Linia 124:


|-
|-
|  
|
| <center>8</center>
| <center>8</center>
| Sporządzenia dokumentu przekazania oraz do przedstawienia swojej opinii
| Sporządzenia dokumentu przekazania oraz do przedstawienia swojej opinii
Linia 168: Linia 132:
| Kierownik zespołu
| Kierownik zespołu
| <center>3</center>
| <center>3</center>


| Zdefiniowania struktury aplikacji
| Zdefiniowania struktury aplikacji
Linia 177: Linia 139:
| Zespół projektowy
| Zespół projektowy
| <center>5</center>
| <center>5</center>


| Budowy modelu fizycznego aplikacji
| Budowy modelu fizycznego aplikacji
Linia 197: Linia 157:
|}
|}
==Diagram procesu==
==Diagram procesu==
{| border=1
{| border=1
| '''Uczestnicy'''
| '''Uczestnicy'''


'''zadania'''
'''zadania'''
Linia 213: Linia 171:
| 1
| 1
| <center>W</center>
| <center>W</center>
|  
|
|  
|
|  
|
|  
|
|  
|


|-
|-
Linia 223: Linia 181:
| <center>No</center>
| <center>No</center>
| <center>W</center>
| <center>W</center>
|  
|
|  
|
| <center>I</center>
| <center>I</center>
|  
|


|-
|-
| 3
| 3
|  
|
| <center>No</center>
| <center>No</center>
| <center>W</center>
| <center>W</center>
|  
|
|  
|
|  
|


|-
|-
| 4
| 4
|  
|
| <center>K</center>
| <center>K</center>
| <center>N</center>
| <center>N</center>
| <center>W</center>
| <center>W</center>
|  
|
|  
|


|-
|-
| 5
| 5
|  
|
| <center>K</center>
| <center>K</center>
| <center>N</center>
| <center>N</center>
| <center>W</center>
| <center>W</center>
|  
|
|  
|


|-
|-
| 6
| 6
|  
|
| <center>K</center>
| <center>K</center>
|  
|
| <center>W</center>
| <center>W</center>
|  
|
|  
|


|-
|-
| 7
| 7
|  
|
| <center>N</center>
| <center>N</center>
|  
|
|  
|
|  
|
| <center>W</center>
| <center>W</center>


|-
|-
| 8
| 8
|  
|
| <center>W</center>
| <center>W</center>
|  
|
|  
|
|  
|
|  
|


|-
|-
| 9
| 9
| <center>Z</center>
| <center>Z</center>
|  
|
|  
|
|  
|
|  
|
|  
|


|}
|}
 
[[Kategoria:Przykłady procesów]]
[[Kategoria:Podejście procesowe]]
{{a|Marcin Kozera, Łukasz Lekki}}
{{a|Marcin Kozera, Łukasz Lekki}}


{{#metamaster:description|Projektowanie aplikacji informatycznych - analiza, projektowanie i implementacja oprogramowania. Dowiedz się, jak tworzyć funkcjonalne i efektywne aplikacje.}}
{{#metamaster:description|Projektowanie aplikacji informatycznych - analiza, projektowanie i implementacja oprogramowania. Dowiedz się, jak tworzyć funkcjonalne i efektywne aplikacje.}}

Aktualna wersja na dzień 18:33, 18 lis 2023

Proces.gif

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ą:

2. Zasoby materialne

3. Zasoby informacyjne

  • Wiedza uczestników procesów projektowania
  • Potrzeby i wymagania uzyskane od głównego użytkownika.

4. Narzędzia, metody i techniki

Metody i techniki

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
1
Powołania zespołu projektowego Właściwy dobór wykonawców projektu
9
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
2
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,
5
Uczestnictwa w procesie budowy modelu logicznego aplikacji Prawidłowe zdefiniowanie metod, procedur i funkcji występujących w aplikacji. Poprawny przebieg budowy modelu logicznego.
6
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.
7
Kontroli przebiegu testów aplikacji, współpracy z testerami Właściwy przebieg procedury testowania aplikacji
8
Sporządzenia dokumentu przekazania oraz do przedstawienia swojej opinii Przygotowanie projektu do zamknięcia
Kierownik zespołu
3
Zdefiniowania struktury aplikacji Prawidłowo zdefiniowaną strukturę aplikacji
Zespół projektowy
5
Budowy modelu fizycznego aplikacji Prawidłową konstrukcję modelu fizycznego.
Główny użytkownik
2
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
7
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
W
2
No
W
I
3
No
W
4
K
N
W
5
K
N
W
6
K
W
7
N
W
8
W
9
Z

Autor: Marcin Kozera, Łukasz Lekki