aktualizacja plików wykładowych
@ -22,9 +22,26 @@
|
||||
}
|
||||
},
|
||||
"source": [
|
||||
"## Metodologia Prince2\n",
|
||||
"# Metodologia Prince2 - wyjaśnienie pojęcia\n",
|
||||
"Prince2 (PRojects IN Controlled Environments) to metoda **zarządzania** ***projektami***\n",
|
||||
"niezależna od zmiennych projektu, takich jak: środowisko, skala, typ, organizacja, kultura, położenie geograficzne."
|
||||
"niezależna od zmiennych projektu, takich jak: \n",
|
||||
" * środowisko, \n",
|
||||
" * skala, \n",
|
||||
" * typ, \n",
|
||||
" * organizacja, \n",
|
||||
" * kultura, \n",
|
||||
" * położenie geograficzne."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {
|
||||
"slideshow": {
|
||||
"slide_type": "slide"
|
||||
}
|
||||
},
|
||||
"source": [
|
||||
"# 1. Pojęcie projektu"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -42,7 +59,7 @@
|
||||
" \n",
|
||||
"<p> na <b>określony czas</b> </p>\n",
|
||||
"<p> w celu dostarczenia <b>rozwiązania</b></p>\n",
|
||||
" <p> dla określonej <b>potrzeby</b> biznesowej </p> \n",
|
||||
" <p> dla określonej <b>potrzeby</b> biznesowej. </p> \n",
|
||||
"</div>"
|
||||
]
|
||||
},
|
||||
@ -61,7 +78,7 @@
|
||||
"<p><b>Potrzeba biznesowa:</b> Oszczędzenie 70% czasu biura obsługi klienta.</p>\n",
|
||||
"<p><b>Rozwiązanie:</b> System automatycznego obiegu dokumentów. </p>\n",
|
||||
"<p><b>Czas:</b> 6 miesięcy </p> \n",
|
||||
"<p><b>Projekt:</b> Zespół ludzi wydelegowanych na 6 miesięcy dla dostarczenia systemu automatycznego obiegu dokumentów w celu zaoszczędzenia 70\\% czasu biura obsługi klienta. </p> \n",
|
||||
"<p><b>Projekt:</b> Zespół ludzi wydelegowanych na 6 miesięcy dla dostarczenia systemu automatycznego obiegu dokumentów w celu zaoszczędzenia 70% czasu biura obsługi klienta. </p> \n",
|
||||
"</div>\n"
|
||||
]
|
||||
},
|
||||
@ -74,13 +91,13 @@
|
||||
},
|
||||
"source": [
|
||||
"### Cechy charakterystyczne projektu\n",
|
||||
"Projekt jest przeciwieństwiem pojęcia \"business as usual\" (działanie rutynowe). Projekt od rutyny odróżniają następujące cechy\n",
|
||||
"Projekt jest przeciwieństwiem pojęcia \"business as usual\" (działanie rutynowe). Projekt od rutyny odróżniają następujące cechy:\n",
|
||||
"\n",
|
||||
" * Zmiana - projekt to środek do przeprowadzenia zmiany.\n",
|
||||
" * Tymczasowość - projekt ma swoją datę początku i końca.\n",
|
||||
" * Wielofukcyjność - przy projektach zaangażowani są ludzie o różnych kompetencjach.\n",
|
||||
" * Wyjątkowość - każdy projekt jest wyjątkowy (nawet jak jest jakiś wzorzec projektu, to każdy projekt się czymś wyróżnia: albo zespołem, albo klientem, albo położeniem geograficznym, itp.)\n",
|
||||
" * Ryzyko (niepewność) - projekty ze swojej natury są ryzykowne, bo mają wprowadzić zmianę."
|
||||
" * **Zmiana** - projekt to środek do przeprowadzenia zmiany.\n",
|
||||
" * **Tymczasowość** - projekt ma swoją datę początku i końca.\n",
|
||||
" * **Wielofukcyjność** - przy projektach zaangażowani są ludzie o różnych kompetencjach.\n",
|
||||
" * **Wyjątkowość** - każdy projekt jest wyjątkowy (nawet jak jest jakiś wzorzec projektu, to każdy projekt się czymś wyróżnia: albo zespołem, albo klientem, albo położeniem geograficznym, itp.\n",
|
||||
" * **Niepewność** - projekty ze swojej natury są ryzykowne, bo mają wprowadzić zmianę."
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -93,14 +110,14 @@
|
||||
"source": [
|
||||
"### Zarządzanie projektem\n",
|
||||
" Zarządzanie projektem to:\n",
|
||||
" - planowanie zadań\n",
|
||||
" - delegowanie ludzi do zadań\n",
|
||||
" - monitorowanie wykonywania zadań\n",
|
||||
" - planowanie zadań,\n",
|
||||
" - delegowanie ludzi do zadań,\n",
|
||||
" - monitorowanie wykonywania zadań,\n",
|
||||
" - kontrolowanie\n",
|
||||
" aby:\n",
|
||||
" - osiągnąć cel projektu\n",
|
||||
" - w wyznaczonym czasie\n",
|
||||
" - przy zachowaniu przeznaczonych kosztów"
|
||||
" - osiągnąć cel projektu,\n",
|
||||
" - w wyznaczonym czasie,\n",
|
||||
" - przy zachowaniu przeznaczonych kosztów."
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -112,13 +129,13 @@
|
||||
},
|
||||
"source": [
|
||||
"### Aspekty kontroli w zarządzaniu projektem\n",
|
||||
" Projekt należy kontrolować pod następującymi apektami:\n",
|
||||
" - koszty (czy przestrzegamy kosztów projektu?)\n",
|
||||
" - czas (kiedy skończymy?)\n",
|
||||
" - jakość (czy produkt działa zgodnie z oczekiwaniami?)\n",
|
||||
" - zakres (czy zakres działania projektu będzie pokrywa się z oczekiwaniami?)\n",
|
||||
" - korzyści dla klienta (czy użytkownik naszego produktu uzyskuje planowaną korzyść?)\n",
|
||||
" - ryzyko (jakie jest ryzyko niepowodzenia lub niepożądanych skutków projektu i czy potrafimy to ryzyko zminimalizować?)"
|
||||
" Projekt należy kontrolować pod następującymi aspektami:\n",
|
||||
" - koszty (czy przestrzegamy kosztów projektu?),\n",
|
||||
" - czas (kiedy skończymy?),\n",
|
||||
" - jakość (czy produkt spełnia oczekiwania jakościowe?),\n",
|
||||
" - zakres (czy zakres działania projektu będzie pokrywa się z oczekiwaniami?),\n",
|
||||
" - korzyści dla klienta (czy użytkownik naszego produktu uzyskuje planowaną korzyść?),\n",
|
||||
" - ryzyko (jakie jest ryzyko niepowodzenia lub niepożądanych skutków projektu i czy potrafimy to ryzyko zminimalizować?)."
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -129,7 +146,7 @@
|
||||
}
|
||||
},
|
||||
"source": [
|
||||
"## Metodologie zarządzania projektem \n",
|
||||
"# 2. Przegląd metodologii zarządzania projektem \n",
|
||||
"(por. https://startnearshoring.com/knowledge/it-project-management-a-quick-guide-to-tools-and-methodologies/)"
|
||||
]
|
||||
},
|
||||
@ -141,14 +158,15 @@
|
||||
}
|
||||
},
|
||||
"source": [
|
||||
"### Metodologie tradycyjne\n",
|
||||
"## 2.1. Metodologie tradycyjne\n",
|
||||
"Metodologie tradycyjne charakteryzują się działaniem \"krok po kroku\". Kładą nacisk na:\n",
|
||||
" * skrupulatne zbieranie wymagań\n",
|
||||
" * dokładną analizę\n",
|
||||
" * skrupulatne zbieranie wymagań,\n",
|
||||
" * dokładną analizęm\n",
|
||||
" * istotność dokumentacji.\n",
|
||||
" \n",
|
||||
"Sprawdzają się w projektach z dobrze określonymi wymaganiami już od początku. \n",
|
||||
"Produkt ma być realizowany i dostarczony zgodnie z określonym planem. W planowaniu nie analizuje się szczegółowo, w jaki sposób produkt ma być wykonany. "
|
||||
"\n",
|
||||
"Produkt ma być realizowany i dostarczony zgodnie z określonym planem. W planowaniu **nie** analizuje się szczegółowo, w jaki sposób produkt ma być wykonany. "
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -159,7 +177,7 @@
|
||||
}
|
||||
},
|
||||
"source": [
|
||||
"#### Waterfall (model kaskadowy) (wg Wikipedia)\n",
|
||||
"### Waterfall (model kaskadowy) (wg Wikipedia)\n",
|
||||
"> Model polega on na wykonywaniu podstawowych czynności jako odrębnych faz projektowych, kolejno po sobie. Jeśli któraś z faz nie powodzi się, to następuje nawrót do poprzedniej fazy. Każda czynność to schodek (kaskady):\n",
|
||||
"> * Planowanie systemu (w tym specyfikacja wymagań).\n",
|
||||
"> * Analiza systemu (w tym analiza wymagań i studium wykonalności).\n",
|
||||
@ -202,7 +220,7 @@
|
||||
"<h5>Minusy modelu kaskadowego</h5> \n",
|
||||
"<ol>\n",
|
||||
" <li> Dokonanie wszelkich zmian w projekcie jest kosztowne.</li>\n",
|
||||
" <li> Jakikolwiek namacalny efekt działań jest wdoczny dopiero po dłuższym czasie.</li>\n",
|
||||
" <li> Jakikolwiek namacalny efekt działań jest widoczny dopiero po dłuższym czasie.</li>\n",
|
||||
"</ol>"
|
||||
]
|
||||
},
|
||||
@ -214,12 +232,14 @@
|
||||
}
|
||||
},
|
||||
"source": [
|
||||
"#### Prince 2\n",
|
||||
"W metodyce Prince2 projekt dzielony jest na etapy. Po każdym etapie następuje uszczegółowienie planu najbliższych etapów.\n",
|
||||
"### Prince2\n",
|
||||
"W metodyce Prince2 projekt dzielony jest na **etapy**. Po każdym etapie następuje uszczegółowienie planu najbliższych etapów.\n",
|
||||
"\n",
|
||||
"W Prince 2 nacisk kładzie się na osiągnięcie założonych produktów biznesowych. \n",
|
||||
"Struktura organizacyjna jest precyzyjnie określona - każdy członek teamu ma przypisaną rolę. \n",
|
||||
"Ważną rolę odgrywają procedury raportowania."
|
||||
"W Prince2 nacisk kładzie się na osiągnięcie założonych **produktów biznesowych**.\n",
|
||||
"\n",
|
||||
"**Struktura organizacyjna** jest precyzyjnie określona - każdy członek teamu ma przypisaną rolę. \n",
|
||||
"\n",
|
||||
"Ważną rolę odgrywają **procedury raportowania**."
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -264,14 +284,15 @@
|
||||
}
|
||||
},
|
||||
"source": [
|
||||
"#### PMBOX (wg Wikipedia)\n",
|
||||
"Projekt składa się z ciągu etapów lub faz w których od inicjacji do zamknięcia.\n",
|
||||
"Grupy procesów\n",
|
||||
"* procesy rozpoczęcia (inicjowania) - zdefiniowanie nowego projektu (lub nowej fazy w istniejącym projekcie)\n",
|
||||
"* procesy planowania - \n",
|
||||
" * określenie zakresu i celu projektu \n",
|
||||
" * zdefiniowanie akcji prowadzących do realizacji celu,\n",
|
||||
" * procesy realizacji - realizacja wymagań projektowych\n",
|
||||
"#### PMBOK (Project Management Body of Knowledge)\n",
|
||||
"Projekt ma swój **cykl życia**, który składa się z ciągu etapów lub faz od inicjacji do zamknięcia. \n",
|
||||
"\n",
|
||||
"W cyklu życia projektu odbywają się różnego rodzaju **procesy**, które na siebie oddziaływują. \n",
|
||||
"\n",
|
||||
"Wyróżnia się nawet 49 różnych rodzajów procesów, podzielonych na **grupy**:\n",
|
||||
" * procesy rozpoczęcia (inicjowania) - zdefiniowanie nowego projektu (lub nowej fazy w istniejącym projekcie),\n",
|
||||
" * procesy planowania - określenie zakresu i celu projektu, zdefiniowanie akcji prowadzących do realizacji celu,\n",
|
||||
" * procesy realizacji - realizacja wymagań projektowych,\n",
|
||||
" * procesy monitorowania i kontroli - śledzenie, przeglądanie postępu oraz wydajności prac projektowych; ewentualnie inicjacja zmian w planie,\n",
|
||||
" * procesy zakończenia (zamknięcia) - formalne zakończenie projektu.\n",
|
||||
"\n",
|
||||
@ -290,9 +311,9 @@
|
||||
"source": [
|
||||
"<div class=\"alert alert-block alert-success\">\n",
|
||||
" \n",
|
||||
"<h5>Plusy modelu PMBOX</h5> \n",
|
||||
"<h5>Plusy modelu PMBOK</h5> \n",
|
||||
"<ol>\n",
|
||||
" <li> Podczas trwania projektu można dodawać nowe narzędzia i techniki działania (ze względu na różnorodność dostępnych procesów) </li>\n",
|
||||
" <li> Podczas trwania projektu można dodawać nowe narzędzia i techniki działania (ze względu na różnorodność dostępnych procesów). </li>\n",
|
||||
" <li> Kierownik projektu ma dostęp do pełnej informacji o zachodzących procesach.</li>\n",
|
||||
" </ol>"
|
||||
]
|
||||
@ -307,7 +328,7 @@
|
||||
"source": [
|
||||
"<div class=\"alert alert-info alert-success\">\n",
|
||||
" \n",
|
||||
"<h5>Minusy modelu PMBOX</h5> \n",
|
||||
"<h5>Minusy modelu PMBOK</h5> \n",
|
||||
"<ol>\n",
|
||||
" <li> Mała elastyczność </li>\n",
|
||||
" <li> Centralizacja władzy </li>\n",
|
||||
@ -322,7 +343,7 @@
|
||||
}
|
||||
},
|
||||
"source": [
|
||||
"### Metodologie zwinne\n",
|
||||
"## 2.2. Metodologie zwinne\n",
|
||||
"Metodologie zwinne przeciwstawiają się metodologiom tradycyjnym w czterech płaszczyznach:\n",
|
||||
" * Inteakcje między ludźmi podczas pracy są ważniejsze niż procesy i narzędzia.\n",
|
||||
" * Działające oprogramowanie (choćby prototyp) jest ważniejsze niż rozbudowana dokumentacja.\n",
|
||||
@ -338,8 +359,8 @@
|
||||
}
|
||||
},
|
||||
"source": [
|
||||
"#### Scrum\n",
|
||||
"Scrum jest moetodologią, w której kluczowym elementem jest **sprint** - faza, która kończy się działającym prototypem. Po każdym sprincie następuje planowanie działań w kolejnym sprincie - biorące pod uwagę dotychczasowe doświadczenia."
|
||||
"#### Scrum (pol. młyn)\n",
|
||||
"Scrum jest metodologią, w której kluczowym elementem jest **sprint** - faza, która kończy się działającym prototypem. Po każdym sprincie następuje planowanie działań w kolejnym sprincie - biorące pod uwagę dotychczasowe doświadczenia."
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -384,7 +405,8 @@
|
||||
},
|
||||
"source": [
|
||||
"#### Kanban\n",
|
||||
"Kanban jest metodologią, w której kluczowym elementem jest **wizualizacja** przebiegu projektu - najczęściej za pomocą tablicy, na której przesuwane są zadania wraz z postępem ich wykonania (od początku do zakończenia)."
|
||||
"Nazwa pochodzi z języka japońskiego (kan: widoczny ban: kartka papieru). \n",
|
||||
"**Kanban** jest metodologią, w której kluczowym elementem jest **wizualizacja** przebiegu projektu - najczęściej za pomocą tablicy, na której przesuwane są zadania wraz z postępem ich wykonania (od początku do zakończenia)."
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -420,6 +442,17 @@
|
||||
"</ol>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {
|
||||
"slideshow": {
|
||||
"slide_type": "slide"
|
||||
}
|
||||
},
|
||||
"source": [
|
||||
"# 3. Metodologia Prince2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {
|
||||
@ -430,9 +463,9 @@
|
||||
"source": [
|
||||
"<div class=\"alert alert-block alert-success\">\n",
|
||||
" \n",
|
||||
"<h3> Pryncypia Prince2 </h3>\n",
|
||||
"<h2> 3.1. Pryncypia w Prince2 </h2>\n",
|
||||
"\n",
|
||||
"<b> Pryncypia Prince 2 </b> to nakazy wynikające z najlepszych praktyk zarządzania projektami. \n",
|
||||
"<b> Pryncypia Prince2 </b> to nakazy wynikające z najlepszych praktyk zarządzania projektami. \n",
|
||||
" \n",
|
||||
"</div>"
|
||||
]
|
||||
@ -533,7 +566,7 @@
|
||||
"source": [
|
||||
"<div class=\"alert alert-block alert-success\">\n",
|
||||
"\n",
|
||||
"<h3> Motywy przewodnie (tematy) Prince2 </h3>\n",
|
||||
"<h2> 3.2. Motywy przewodnie (tematy) Prince2 </h2>\n",
|
||||
"\n",
|
||||
"<b> Motyw przewodni </b> to aspekt zarządzania. \n",
|
||||
" \n",
|
||||
@ -563,7 +596,7 @@
|
||||
},
|
||||
"source": [
|
||||
"### 2. Organizacja\n",
|
||||
"Trzeba precyzyjnie przydzielić role w zespole oraz <b> odpowiedzialności </b>."
|
||||
"Trzeba precyzyjnie przydzielić role w zespole oraz <b> odpowiedzialności</b>."
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -613,7 +646,7 @@
|
||||
"<div class=\"alert alert-block alert-success\">\n",
|
||||
" \n",
|
||||
"<h3>Ryzyko</h3> \n",
|
||||
"Ryzyko to niepewne wydarzenie, które w przypadku zajścia będzie miało wpływ na osiągnięcie założeń projektu.\n",
|
||||
" <b>Ryzyko</b> to niepewne wydarzenie, które w przypadku zajścia będzie miało wpływ na osiągnięcie założeń projektu.\n",
|
||||
"<BR>\n",
|
||||
" \n",
|
||||
"Wartość ryzyka można wyznaczyć mnożąc prawdopodobieństwo zajścia zdarzenia przez wielkość jego wpływu na projekt.\n",
|
||||
@ -655,7 +688,7 @@
|
||||
"source": [
|
||||
"<div class=\"alert alert-block alert-success\">\n",
|
||||
" \n",
|
||||
"<h3>Procesy Prince 2</h3> \n",
|
||||
"<h2>3.3. Procesy Prince2</h2> \n",
|
||||
" \n",
|
||||
"<b> Proces </b> to zestaw aktywności, mających na celu zrelizowanie pewnego określonego celu.\n",
|
||||
" \n",
|
||||
@ -751,7 +784,7 @@
|
||||
},
|
||||
"source": [
|
||||
"### 6. Zarządzanie punktami granicznymi między etapami\n",
|
||||
" CEL: dostarczenie przełożonym wystarczającej informacji, by można określić\n",
|
||||
" CEL: dostarczenie przełożonym wystarczającej informacji, by można określić:\n",
|
||||
" * czy etap zakończył się sukcesem,\n",
|
||||
" * czy (i ewentualnie jak) należy zmodyfikować kolejny etap,\n",
|
||||
" * czy (i ewentualnie jak) należy zmodyfikować cały plan,\n",
|
||||
@ -782,7 +815,7 @@
|
||||
}
|
||||
},
|
||||
"source": [
|
||||
"## Trzy grupy interesariuszy\n",
|
||||
"## 3.4. Grupy interesariuszy\n",
|
||||
"W projekcie zgodnym z PRINCE2 powinny być zawsze reprezentowane trzy główne grupy interesariuszy:\n",
|
||||
"\n",
|
||||
" * Biznes,\n",
|
||||
@ -801,7 +834,7 @@
|
||||
"### Strona reprezentująca Biznes\n",
|
||||
"„Czy projekt jest ciągle wart realizacji?”. \n",
|
||||
"\n",
|
||||
"W Komitecie Sterującycm biznes reprezentowany jest przez **Przewodniczącego**."
|
||||
"W Komitecie Sterującym biznes reprezentowany jest przez **Przewodniczącego**."
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -842,7 +875,7 @@
|
||||
"source": [
|
||||
"<div class=\"alert alert-block alert-success\">\n",
|
||||
"\n",
|
||||
"<h3> Role w Prince 2 </h3>\n",
|
||||
"<h2> 3.5. Role w Prince2 </h2>\n",
|
||||
" \n",
|
||||
"<b> Rola </b> to funkcja w projekcie, do której przypisane są obowiązki i odpowiedzialności. \n",
|
||||
"<BR> Role są powierzane konkretnym osobom. W niewielkim projekcie jedna osoba może pełnić kilka ról.\n",
|
||||
@ -858,7 +891,7 @@
|
||||
}
|
||||
},
|
||||
"source": [
|
||||
"* Komitet Sterujący (ang. Project Board), a w nim: \n",
|
||||
"* **Komitet Sterujący** (ang. Project Board), a w nim: \n",
|
||||
" * Przewodniczący (Executive),\n",
|
||||
" * Główny Użytkownik (Senior User),\n",
|
||||
" * Główny Dostawca (Senior Supplier)."
|
||||
@ -872,7 +905,7 @@
|
||||
}
|
||||
},
|
||||
"source": [
|
||||
"* Kierownik Projektu (Project Manager) - odpowiedzialny za operacyjne (codzienne) zarządzanie projektem. \n",
|
||||
"* **Kierownik Projektu** (Project Manager) - odpowiedzialny za operacyjne (codzienne) zarządzanie projektem. \n",
|
||||
"\n",
|
||||
"Jego podstawowym obowiązkiem jest dbanie o to, aby projekt wytwarzał wymagane produkty przy założonych celach, którymi są: \n",
|
||||
"\n",
|
||||
@ -892,7 +925,7 @@
|
||||
}
|
||||
},
|
||||
"source": [
|
||||
"* Kierownik Zespołu (Team Manager) - odpowiedzialny za dostarczanie określonego produktu o zdefiniowanej jakości w ramach uzgodnionego kosztu i czasu. \n",
|
||||
"* **Kierownik Zespołu** (Team Manager) - odpowiedzialny za dostarczanie określonego produktu o zdefiniowanej jakości w ramach uzgodnionego kosztu i czasu. \n",
|
||||
"\n",
|
||||
"Rola Kierownika Zespołu jest opcjonalna i ma zazwyczaj zastosowanie w dużych projektach."
|
||||
]
|
||||
@ -905,7 +938,7 @@
|
||||
}
|
||||
},
|
||||
"source": [
|
||||
"* Nadzór Projektu (Project Assurance) - drugie źródło informacji dla Komitetu Sterującego (przydatne w sytuacji, gdy Kierownik Projektu nie chce ujawniać problemów)."
|
||||
"* **Nadzór Projektu** (Project Assurance) - drugie źródło informacji dla Komitetu Sterującego (przydatne w sytuacji, gdy Kierownik Projektu nie chce ujawniać problemów)."
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -916,7 +949,7 @@
|
||||
}
|
||||
},
|
||||
"source": [
|
||||
"* Wsparcie Projektu (Project Support) - wsparcie administracyjne oraz wsparcie w zakresie planowania i zarządzania ryzykiem Obsługa Zmian."
|
||||
"* **Wsparcie Projektu** (Project Support) - wsparcie administracyjne oraz wsparcie w zakresie planowania i zarządzania ryzykiem Obsługa Zmian."
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -927,7 +960,28 @@
|
||||
}
|
||||
},
|
||||
"source": [
|
||||
"* Obsługa Zmian - osoba lub zespół delegowany do oceny żądań zmian lub odstępstw - z reguły są to zmiany poważniejsze niż te, które są w gestii Kierownika Projektu, a za mało istotne, by zawracać głowę Komitetowi Sterującemu."
|
||||
"* **Obsługa Zmian** - osoba lub zespół delegowany do oceny żądań zmian lub odstępstw - z reguły są to zmiany poważniejsze niż te, które są w gestii Kierownika Projektu, a za mało istotne, by zawracać głowę Komitetowi Sterującemu."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {
|
||||
"slideshow": {
|
||||
"slide_type": "slide"
|
||||
}
|
||||
},
|
||||
"source": [
|
||||
"# Podsumowanie\n",
|
||||
" * Metodologie zarządzania projektami można podzielić na:\n",
|
||||
" * tradycyjne (sekwencyjne)\n",
|
||||
" * zwinne (adaptacyjne, iteracyjne)\n",
|
||||
" * Prince2 zaliczana jest do metodologii sekwencyjnych. \n",
|
||||
" * Metodologia Prince2 jest bardzo często stosowana w projektach badawczo-rozwojowych finansowanych przez instytucje, gdyż oczekują one:\n",
|
||||
" * wymiernych produktów,\n",
|
||||
" * ciągłego raportowania,\n",
|
||||
" * umiejętności zarządzania ryzykiem.\n",
|
||||
" * W rzeczywistych projektach stosuje się najczęściej kompilację przeróżnych metodologii.\n",
|
||||
" "
|
||||
]
|
||||
}
|
||||
],
|
||||
|
@ -298,8 +298,12 @@
|
||||
" * Prostej instrukcji do testera\n",
|
||||
" * Scenariusza przypadku testowego\n",
|
||||
" \n",
|
||||
"**Przykład opisu przypadków testowych logowania do systemu:**\n",
|
||||
"<img src=\"obrazy/przypadki testowe.png\" alt=\"Opis przypadków testowych\" width=900px>"
|
||||
"**Przykład opisu przypadków testowych z prostą instrukcją:**\n",
|
||||
"<img src=\"obrazy/przypadki testowe.png\" alt=\"Opis przypadków testowych\" width=900px>\n",
|
||||
"\n",
|
||||
" \n",
|
||||
"**Przykład opisu przypadku testowego ze scenariuszem:**\n",
|
||||
"<img src=\"obrazy/przypadek testowy ze scenariuszem.png\" alt=\"Opis przypadku testowego ze scenariuszem\" width=900px>"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -350,7 +354,6 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"attachments": {},
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
@ -364,7 +367,6 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"attachments": {},
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
@ -375,7 +377,6 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"attachments": {},
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
@ -392,7 +393,6 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"attachments": {},
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
@ -417,7 +417,6 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"attachments": {},
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
@ -434,7 +433,6 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"attachments": {},
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
@ -465,7 +463,7 @@
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.7.6"
|
||||
"version": "3.8.5"
|
||||
},
|
||||
"subtitle": "08. Testowanie w programowaniu zwinnym[wykład]",
|
||||
"title": "Przygotowanie do projektu badawczo-rozwojowego",
|
||||
|
@ -7,7 +7,7 @@
|
||||
"![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
|
||||
"<div class=\"alert alert-block alert-info\">\n",
|
||||
"<h1> Przygotowanie do projektu badawczo-rozwojowego</h1>\n",
|
||||
"<h2> 9. <i>Testowanie integracyjne i systemowe</i>[wykład]</h2> \n",
|
||||
"<h2> 9. <i>Testowanie systemowe i adaptacyjne</i>[wykład]</h2> \n",
|
||||
"<h3>Krzysztof Jassem (2021)</h3>\n",
|
||||
"</div>\n",
|
||||
"\n",
|
||||
@ -18,37 +18,34 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"<div class=\"alert alert-info alert-success\">\n",
|
||||
" \n",
|
||||
"<h3> Błąd </h3> \n",
|
||||
" \n",
|
||||
"Błąd to objaw nieoczekiwanego działania programu ujawniony podczas testów.\n",
|
||||
"</div>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"<div class=\"alert alert-info alert-success\">\n",
|
||||
" \n",
|
||||
"<h3> Defekt </h3> \n",
|
||||
" \n",
|
||||
"Defekt to niedoskonałość w kodzie programu.\n",
|
||||
"Błąd ujawniony w czasie testów świadczy o defekcie w testowanym kodzie.\n",
|
||||
"</div>"
|
||||
"# 1. Testowanie systemowe i adaptacyjne - wyjaśnienie pojęć"
|
||||
]
|
||||
},
|
||||
{
|
||||
"attachments": {},
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"<div class=\"alert alert-block alert-success\">\n",
|
||||
"<h3>Testowanie systemowe</h3>\n",
|
||||
" \n",
|
||||
"<h3> Testowanie </h3> \n",
|
||||
"Przedmiotem <b>testowania systemowego</b> jest całość oprogramowania zainstalowana w pewnym środowisku wykonawczym.\n",
|
||||
" * Środowisko testowania musi być zbliżone do środowiska pracy.\n",
|
||||
" * Testowanie systemowe odbywa się metodą „czarnej skrzynki”.\n",
|
||||
"</div>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"attachments": {},
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"<div class=\"alert alert-block alert-success\">\n",
|
||||
"<h3>Testowanie adaptacyjne</h3>\n",
|
||||
" \n",
|
||||
"Testowanie to proces, który ma na celu wykazanie istnienia defektów w kodzie programu \n",
|
||||
"poprzez wywołanie błędów w działaniu.\n",
|
||||
"Przedmiotem <b>testowania adaptacyjnego </b> jest oprogramowanie stanowiące przedmiot dostawy do użytkownika w docelowym środowisku pracy.\n",
|
||||
" * Testowana jest zgodność z wymaganiami i potrzebami użytkownika.\n",
|
||||
" * Testowanie akceptacyjne przeprowadza użytkownik / klient.\n",
|
||||
"</div>"
|
||||
]
|
||||
},
|
||||
@ -56,9 +53,160 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Opracowywanie przypadków testowych dla testowania integracyjnego"
|
||||
"# 2. Typy testowania systemowego"
|
||||
]
|
||||
},
|
||||
{
|
||||
"attachments": {},
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 2.1. Testowanie funkcjonalne (functional testing)\n",
|
||||
"**Testowanie funkcjonalne** ma na celu wykazanie rozbieżności między programem a jego specyfikacją zapisaną w postaci wymagań funkcjonalnych lub przypadków użycia.\n",
|
||||
" * Przypadki testowe (scenariusze testowe) wielokrotnie tworzy się na podstawie przypadków użycia.\n",
|
||||
" * Podstawowa zasada:Im więcej błędów wykryto w pewnej funkcji programu, tym (prawdopodobnie) większą liczbę błędów ona jeszcze ukrywa.\n",
|
||||
" * Testowanie funkcjonalne może odbywać się na różnych poziomach szczegółowości:\n",
|
||||
" * testy dymne\n",
|
||||
" * testy zdroworozsądkowe\n",
|
||||
" * testy regresywne"
|
||||
]
|
||||
},
|
||||
{
|
||||
"attachments": {},
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### Testy dymne\n",
|
||||
"**Testy dymne** (ang. smoke tests) to powierzchowne testy pozwalające wykazać błędy krytyczne,\n",
|
||||
" * Przykładem testu dymnego może być test CRUD (Create, Read, Update, Delete).\n",
|
||||
" \n",
|
||||
"**Przykład opisu testów dymnych:**\n",
|
||||
"<img src=\"obrazy/testy dymne.png\" alt=\"Przykład testów dymnych\" width=400px>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"attachments": {},
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### Testy zdroworozsądkowe\n",
|
||||
"**Testy zdroworozsądkowe** mają wykazać, że aplikacja nie działa zgodnie ze stawianymi przed nią wymaganiami.\n",
|
||||
">\"Smoke test określa, czy w ogóle coś działa, a sanity test - czy działa tak, jak ma działać”.\n",
|
||||
"\n",
|
||||
"**Przykład przypadków testowych na poziomie testowania regresywnego:**\n",
|
||||
"<img src=\"obrazy/sanity test.png\" alt=\"Przykład testów zdroworozsądkowych\" width=900px>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"attachments": {},
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### Testy regresywne\n",
|
||||
"**Testy regresywne** to szczegółowe testy, pozwalające wykazać, że w aplikacji powstały nieznane błędów będące wynikiem wprowadzonych zmian.\n",
|
||||
"\n",
|
||||
"**Przykład przypadku testowego na poziomie testowania regresywnego:**\n",
|
||||
"<img src=\"obrazy/testy regresywne.png\" alt=\"Przykład testów regresywnych\" width=900px>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"attachments": {},
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### Raport z testowania funkcjonalnego\n",
|
||||
"Przypadki testowe w testowaniu funkcjonalnym warto tworzyć w takiej formie, aby łatwo można je było rozszerzyć o wyniki testowania - tworząc raport z testowania.\n",
|
||||
"\n",
|
||||
"**Fragment raportu z testowania funckjonalnego:**\n",
|
||||
"<img src=\"obrazy/raport z testowania.png\" alt=\"Przykład raportu z testowania\" width=900px>\n",
|
||||
"\n",
|
||||
"W raporcie z testowania można zawrzeć dodatkowe informacje np. o wydajności działania danego przypadku testowego."
|
||||
]
|
||||
},
|
||||
{
|
||||
"attachments": {},
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 2.2. Testowanie wydajności (performance testing)\n",
|
||||
"Zadaniem **testowania wydajności** jest wykazanie, że system nie daje odpowiedzi w wystarczająco krótkim czasie pod ustalonym obciążeniem produkcyjnym, np. przy dużym wolumenie przetwarzanych danych.\n",
|
||||
"\n",
|
||||
"**Przykładowy fragment raportu z testowania wydajności systemu tłumaczenia:**\n",
|
||||
"<img src=\"obrazy/raport z testowania.png\" alt=\"Przykład raportu z testowania\" width=900px>\n",
|
||||
"\n",
|
||||
"**Stronę internetową** można bardzo szybko przetestować pod kątem wydajności, korzystając np. z narzędzia dostępnego na stronie https://webspeed.intensys.pl/.\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"attachments": {},
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 2.3. Testowanie przeciążeń (load testing)\n",
|
||||
"**Przeciążenie** to skumulowanie w krótkim czasie dużej liczby jednocześnie działających użytkowników lub przeprowadzanych transakcji. \n",
|
||||
"\n",
|
||||
"Celem **testowania przeciążeń** jest zweryfikowania działania systemu przy wysokim obciążeniu.\n",
|
||||
" * Przykładowy scenariusz testowania przeciążeń:\n",
|
||||
" * Nagranie ciągu operacji wykonywanych przez jednego klienta (np. \u000b",
|
||||
"w postaci makra)\n",
|
||||
" * Odtworzenie nagranego ciągu operacji dla wybranej (dużej) liczby klientów\n",
|
||||
" * Analiza raportu\n",
|
||||
"\n",
|
||||
"**Przykład raportu tekstowego z testu przeciążeń systemu tłumaczenia:**\n",
|
||||
"<img src=\"obrazy/load test - raport tekstowy.png\" alt=\"Przykład raportu z testowania\" width=800px>\n",
|
||||
"\n",
|
||||
"**Przykład raportu graficznego z testu przeciążeń systemu tłumaczenia:**\n",
|
||||
"<img src=\"obrazy/load test - raport graficzny.png\" alt=\"Przykład raportu z testowania\" width=800px>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"attachments": {},
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 2.4. Testowanie pamięci (memory testing)\n",
|
||||
"Celem **testowania pamięci** jest wykazanie, że system narusza narzucone wymagania pamięciowe."
|
||||
]
|
||||
},
|
||||
{
|
||||
"attachments": {},
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 2.5. Testowanie ochrony danych (security testing)\n",
|
||||
"Proces ma wykazać, że dane nie są chronione w odpowiedni sposób.\n",
|
||||
" * Przypadki testowe mają wymusić naruszenie mechanizmów ochrony danych."
|
||||
]
|
||||
},
|
||||
{
|
||||
"attachments": {},
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 2.6. Testowanie konfiguracji\n",
|
||||
"**Testowanie konfiguracji** ma na celu zweryfikowanie działania systemu w różnych konfiguracjach sprzętowych i programowych.\n",
|
||||
" * Testowanie może odbywać się za pomocą specjalnie przygotowanej maszyny wirtualnej.\n",
|
||||
" * Dla serwisów webowych istotne jest testowanie różnych urządzeń oraz różnych typów przeglądarek."
|
||||
]
|
||||
},
|
||||
{
|
||||
"attachments": {},
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 2.7. Testowanie zgodności wersji\n",
|
||||
"**Testowanie zgodności wersji** ma na celu wykazanie niezgodności z przeszłymi wersjami programów:\n",
|
||||
" * testowanie patchów i aktualizacji,\n",
|
||||
" * testowanie nowych wersji."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
|
After Width: | Height: | Size: 20 KiB |
BIN
materiały na PPB (wykład)/obrazy/load test - raport tekstowy.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
materiały na PPB (wykład)/obrazy/oprogramowanie.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
materiały na PPB (wykład)/obrazy/performance test.png
Normal file
After Width: | Height: | Size: 9.1 KiB |
After Width: | Height: | Size: 41 KiB |
BIN
materiały na PPB (wykład)/obrazy/raport z testowania.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
materiały na PPB (wykład)/obrazy/sanity test.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
materiały na PPB (wykład)/obrazy/software.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
materiały na PPB (wykład)/obrazy/test wydajnosci.png
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
materiały na PPB (wykład)/obrazy/testy dymne.png
Normal file
After Width: | Height: | Size: 7.8 KiB |
BIN
materiały na PPB (wykład)/obrazy/testy regresywne.png
Normal file
After Width: | Height: | Size: 69 KiB |