"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Typy pracowników\n",
+ "W rzeczywistości po zaspokojeniu potrzeb najniższych kolejność potrzeb wyższego rzędu zależy od osobowości pracownika. Pracownicy różnią się bowiem w aspektach motywacji do pracy (co motywuje najbardziej) i podejścia do pracy (sposób realizacji pracy).\n",
+ "\n",
+ "### Typy pracowników pod względem motywacji\n",
+ "A. Pracownik nastawiony na wykonanie zadania \n",
+ "B. Pracownik nastawiony na siebie (własny rozwój; satysfakcję) \n",
+ "C. Pracownik nastawiony na interakcję (komunikację w grupie)\n",
+ "\n",
+ "### Typy pracowników pod względem podejścia do pracy\n",
+ "1. Posuwający pracę do przodu\n",
+ "2. Wybitny technik; specjalista w dziedzinie\n",
+ "3. Uznający priorytet komunikacji, współpracy między wykonawcami projektu"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# 3. Zespół projektowy\n",
+ "> Zespół projektowy to niewielka liczba ludzi posiadających komplementarne umiejętności, zaangażowanych w realizację wspólnego celu ogólnego oraz celów cząstkowych, których podejście opiera się na współodpowiedzialności” (J.Katzenach, D.Smith 2001, Siła zespołów. Wpływ pracy zespołowej na efektywność organizacji\", s. 26).\n",
+ "\n",
+ "Na skuteczność pracy w zespole mają wpływ 4 główne czynniki:\n",
+ "* Skład zespołu\n",
+ "* Spójność grupy\n",
+ "* Komunikacja w zespole\n",
+ "* Organizacja zespołu\n",
+ "\n",
+ "## Skład zespołu\n",
+ "### Członkowie zespołu\n",
+ "Grupa powinna zawierać uzupełniające się osobowości:\n",
+ "* ludzi mających własne pomysły - wybitnych techników (B2)\n",
+ "* ludzi nastawionych na komunikację z innymi (C3)\n",
+ "* ludzi nastawionych na posuwanie pracy do przodu (A1) \n",
+ "\n",
+ "### Lider zespołu\n",
+ "* Lider odgrywa najważniejszą rolę w zespole.\n",
+ "* Liderzy z reguły są mianowani i odpowiadają przed menedżerem przedsięwzięcia.\n",
+ "* Liderzy muszą codziennie śledzić pracę swojej grupy i blisko współpracować z menedżerami przedsięwzięcia.\n",
+ "* Lider musi być akceptowany przez zespół.\n",
+ "\n",
+ "## Spójność grupy\n",
+ "Grupa spójna (inaczej: zgrana) to grupa, w której:\n",
+ "* członkowie mają wspólne cele,\n",
+ "* nie występują kliki (podgrupy).\n",
+ "\n",
+ "### Zalety grupy spójnej\n",
+ "* Można wypracować grupowy standard jakości.\n",
+ "* Bliska współpraca – członkowie uczą się od siebie nawzajem.\n",
+ "* Członkowie grupy znają nawzajem swoje prace. Opuszczenie grupy przez jej członka nie powoduje utracenie ciągłości pracy.\n",
+ "* Programowanie jest pozbawione indywidualizmu (program uważany jest za własność grupy).\n",
+ "\n",
+ "### Wady grupy spójnej\n",
+ "* Nieracjonalny opór przed zmianą lidera;\n",
+ "* Myślenie grupowe – krytyczne umiejętności członków grupy osłabione są przez lojalność wobec grupy.\n",
+ "\n",
+ "## Komunikacja w zespole\n",
+ "Proces skutecznej komunikacji to przekazywanie informacji w sposób powodujący realizację celów. \n",
+ "Skutkiem efektywnej komunikacji jest zwiększenie motywacji do pracy oraz zmniejszenie oporu wobec zmian. \n",
+ "\n",
+ "### Zasady skutecznej komunikacji\n",
+ "* Dostosowanie klarowności wypowiedzi do odbiorcy\n",
+ "* Dostosowanie *metod komunikacji* do zespołu\n",
+ "\n",
+ "### Metody komunikacji\n",
+ "* Pionowa lub pozioma\n",
+ "* Jednostronna lub dwustronna\n",
+ "* Werbalna lub pisemna\n",
+ "* Formalna lub nieformalna\n",
+ "\n",
+ "## Organizacja zespołu\n",
+ "Organizacja zespołu to hierarchia ról przypisanych członkom zespołu.\n",
+ "\n",
+ "### Rodzaje organizacji zespołu\n",
+ "#### Organizacja formalna (hierachiczna)\n",
+ "Formalna, hierarchiczna organizacja zespołu jest niezbędna w przypadku pracowników niedoświadczonych.\n",
+ "\n",
+ "#### Organizacja nieformalna\n",
+ "Organizacja nieformalna sprawdza się, gdy większość członków to ludzie doświadczeni i kompetentni.\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# 4. Lider zespołu\n",
+ "Lider zespołu to w ogólności osoba zarządzająca członkami zespołu w celu realizacji celów powierzonego projektu. \n",
+ "W prezentowanym NA TYM WYKŁADZIE podejściu lider to osoba zapewniająca motywację do pracy członkom zespołu.\n",
+ "\n",
+ "## Typy lidera (wg Daniela Goldmana)\n",
+ "\n",
+ "> Daniel Goleman (ur. 7 marca 1946 w Stockton) – amerykański psycholog żydowskiego pochodzenia, publicysta naukowy. Autor bestselleru Inteligencja emocjonalna (1995). (Wikipedia)\n",
+ "\n",
+ "### Wizjoner: \"Chodź ze mną\"\n",
+ "* Pokazuje kierunek działania.\n",
+ "* Motywuje do osiągania wspólnych celów.\n",
+ "* Pozwala ludziom samodzielnie poszukiwać nowych rozwiązań.\n",
+ "* Przyciąga ludzi do siebie, docenia i promuje rolę poszczególnych osób w zespole.\n",
+ "\n",
+ "### Trener: \"Rozwijaj się\"\n",
+ "* Motywuje ludzi do lepszej pracy poprzez rozpoznawanie ich mocnych i słabych stron.\n",
+ "* Zachęca ludzi, aby walczyli z przeciwnościami i rozwijali się.\n",
+ "* Zachęca, by korzystali ze swoich mocnych, pozytywnych cech i czerpali z nich napęd do pracy.\n",
+ "\n",
+ "### Lider afiliacyjny: \"Porozmawiajmy\"\n",
+ "* Szanuje każdą osobę pracującą w organizacji.\n",
+ "* „Ludzie to nie roboty” – odczuwają radość i zmęczenie.\n",
+ "* Szczerze interesuje się życiem swoich pracowników.\n",
+ "* Dba o dobrą atmosferę pracy.\n",
+ "* Posiada wysoką empatię, czyli umiejętność odczytywania uczuć i dostrzegania punktu widzenia innych osób.\n",
+ "\n",
+ "### Demokrata: \"Każdy głos jest ważny\"\n",
+ "* Liczy się zdanie każdego pracownika.\n",
+ "* Potrafi słuchać ludzi i wykorzystywać ich pomysły.\n",
+ "* Potrafi przyjmować również krytykę.\n",
+ "* Pracownicy mają poczucie, że uczestniczą w decyzjach podejmowanych w firmie, przez co bardziej angażują się w pracę.\n",
+ "\n",
+ "### Poganiacz: \"Zrób to natychmiast\"\n",
+ "* Ustawia wysokie standardy pracy zarówno dla siebie jak i dla swoich pracowników\n",
+ "* Jest bardzo mocno nastawiony na sukces, koncentruje się na nieustannym poprawianiu wyników. \n",
+ "* Jego popularne powiedzenie to: „rób to, co ja – natychmiast!”.\n",
+ "\n",
+ "### Dyktator: \"Rób, co każę\"\n",
+ "* Nazywany „zarządzaniem przez strach”.\n",
+ "* Polega na ciągłym kontrolowaniu pracowników, wydawaniu im poleceń i oczekiwaniu, że zostaną one wypełnione dokładnie tak, jak wymaga tego przywódca. \n",
+ "* To on podejmuje decyzje, a polecenia wydaje w sposób zdecydowany, stanowczy i nie znoszący sprzeciwu.\n"
+ ]
+ }
+ ],
+ "metadata": {
+ "author": "Krzysztof Jassem",
+ "email": "jassem@amu.edu.pl",
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "lang": "pl",
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.5"
+ },
+ "subtitle": "01. Praca zespołowa[wykład]",
+ "title": "Przygotowanie do projektu badawczo-rozwojowego",
+ "year": "2021"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/materiały na PPB (wykład)/.ipynb_checkpoints/02_projekt_badawczo-rozwojowy-checkpoint.ipynb b/materiały na PPB (wykład)/.ipynb_checkpoints/02_projekt_badawczo-rozwojowy-checkpoint.ipynb
new file mode 100644
index 0000000..377e9c2
--- /dev/null
+++ b/materiały na PPB (wykład)/.ipynb_checkpoints/02_projekt_badawczo-rozwojowy-checkpoint.ipynb
@@ -0,0 +1,311 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "
\n",
+ "\n",
+ "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Działalność badawczo-rozwojowa\n",
+ "> Działalność badawczo-rozwojowa to działalność **twórcza** \n",
+ "obejmująca **badania naukowe** lub **prace rozwojowe**, \n",
+ "podejmowana w **sposób systematyczny** \n",
+ "w celu **zwiększenia zasobów wiedzy** \n",
+ "oraz wykorzystania zasobów do **tworzenia nowych zastosowań**."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Definicja projektu badawczo-rozwojowego\n",
+ "Projekt badawczo-rozwojowy to system działań składający się z: \n",
+ "- zakresu projektu, \n",
+ "- terminu realizacji, \n",
+ "- zasobów potrzebnych do realizacji projektu (ludzie, kapitał, wiedza, technologia).\n",
+ "\n",
+ "Projekt badawczo-rowojowy charakteryzuje się następującymi cechami: \n",
+ " - niepowtarzalność,\n",
+ " - złożoność,\n",
+ " - identyfikowalność."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Przykład projektu badawczo-rozwojowego: AI Searcher\n",
+ "\n",
+ "### Definicja projektu:\n",
+ "System działań mających na celu stworzenie systemu informatycznego wspomagającego pracowników Polskiej Straży Granicznej. \n",
+ "\n",
+ "\n",
+ "### Zakres projektu: \n",
+ "System informatyczny wdrożony w siedzibie Straży Granicznej, który ma pomagać w znajdowaniu treści przestępczych w Internecie. \n",
+ "System realizuje następujący scenariusz działania:\n",
+ " 1. Pracownik Straży Granicznej wpisuje zapytanie.\n",
+ " 2. Moduł Rozszerzania Zapytań rozszerza zapytanie na zestaw kwerned do wyszukiwarek internetowych.\n",
+ " 3. Translator tłumaczy kwerendy na języki: rosyjski, ukraiński i białoruski.\n",
+ " 4. Crawler wyszukuje dokumentów w trzech językach przygranicznych i języku polskim.\n",
+ " 5. Translator tłumaczy znalezione teksty na język polski. \n",
+ " 6. Klasyfikator wybiera teksty potencjalnie przestępcze.\n",
+ " 7. Analizator Lingwistyczny oznacza informację dodatkową w dokumentach:\n",
+ " \n",
+ "### Termin realizacji: \n",
+ "grudzień 2018 - grudzień 2021\n",
+ "\n",
+ "### Zasoby:\n",
+ " * Ludzie: Wojskowa Akademia Techniczna, UAM, Ken-Bit https://www.kenbit.pl/\n",
+ " * Kapitał: dotacja z NCBR\n",
+ " * Wiedza: Najnowsze badania z klasyfikacji tekstu, uczenia automatycznego itp.\n",
+ " * Technologia: Framework do tworzenia interfejsu użytkownika, algorytmy do klasyfikacji tekstu, modele języka"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Poglądowy widok systemu AI Searcher\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Poziomy gotowości technologicznej projektu B+R\n",
+ "\n",
+ "### Poziom 1.\n",
+ "Rozpoczęto badania naukowe (np. zdefiniowano tematu pracy mgr).\n",
+ "### Poziom 2.\n",
+ "Znaleziono zastosowania badań naukowych (np. określono, na czym będzie polegał projekt mgr).\n",
+ "### Poziom 3.\n",
+ "Przeprowadzono pierwsze eksperymenty na krytycznych technologiach (np. wykonano proof-of-concept).\n",
+ "\n",
+ "### Poziom 4.\n",
+ "Zintegrowano podstawowe komponenty prototypu w warunkach laboratoryjnych (np. zrealizowano \"user-stories\" na komputerze dewelopera).\n",
+ "### Poziom 5.\n",
+ "Zweryfikowano działanie w warunkach zbliżónych do rzeczywistego (np. przeprowadzono testowanie prototypu wdrożónego na serwerze WMI).\n",
+ "### Poziom 6.\n",
+ "Dokonano demonstracji działania w warunkach zbliżónych do rzeczywistych (np. zademonstrowano wdrożony prototyp z interakcją użytkowników).\n",
+ "\n",
+ "### Poziom 7.\n",
+ "Dokonano demonstracji systemu w warunkach operacyjnych (np. zademonstrowano prototyp wdrożony u użytkownika / klienta).\n",
+ "\n",
+ "### Poziom 8.\n",
+ "Potwierdzono zamierzony poziom technologii w warunkach operacyjnych (np. pomyślnie zakończono testowanie akceptacyjne).\n",
+ "\n",
+ "### Poziom 9.\n",
+ "Stwierdzono, że wypracowana technologia odniosła zamierzony efekt (np. stwierdzono, że stosowanie rozwiązania przynosi wymierne korzyści). \n",
+ "\n",
+ "[Formalny opis poziomów gotowości technologicznej](https://archiwum.ncbr.gov.pl/fileadmin/zalewska/5_1_1_1_2018/13_poziomy_gotowosci_technologicznej.pdf)\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Produkt High-Tech\n",
+ "Oczekuje się, że wynikiem projektu badawczo-rozwojowego w informatyce jest produkt High-Tech.\n",
+ "\n",
+ "## Czym jest produkt High-Tech?\n",
+ "\n",
+ "### Definicja produktu\n",
+ "Produkt = \n",
+ "Zawartość + \n",
+ "Funkcjonalność + \n",
+ "Konstrukcja + \n",
+ "Monetyzacja \n",
+ "Oczekuje się zatem, że z produkt posiada jakąś zawartość (Zawartość), z której kożna korzystać (Funkcjonalność), gdyż został odpowiednio skonstruowany (Konstrukcja), ale trzeba za to płacić (Monetyzacja)."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "Wyraz \"technologia\" pochodzi z języka greckiego:\n",
+ "
\n",
+ " - techne: sztuka, umiejętność
\n",
+ " - logia: nauka (czegoś)
\n",
+ "
\n",
+ "\n",
+ "Technologia w dzisiejszym rozumieniu to zastosowanie wiedzy naukowej do stworzenia czegoś pożytecznego dla człowieka."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Czym jest produkt \"high-tech\"?\n",
+ "Produkt \"high tech\" to taki produkt, który wykorzystuje najnowszą wiedzę naukową i techniczną. \n",
+ "Produkt \"high tech\" wymaga nakładów na badania (*R&D investments*). \n",
+ "\n",
+ "R&D Investments a wartość produktu:\n",
+ "* Low-tech (< 1.0%);\n",
+ "* Medium-low-tech (1.0%-2.5%);\n",
+ "* Medium-high-tech (2.5%-8%); \n",
+ "* High-tech (>8.0%)\n",
+ "\n",
+ "### Cechy produktu \"high-tech\" z punktu widzenia inwestora\n",
+ "Dcydując się na wytworzenie produktu high-tech\", inwestor powinien brać pod uwagę ryzyko wynikające z następujących cech produktów tej kategorii:\n",
+ "* złożoność technologiczna,\n",
+ "* krótki cykl życia (spowodowany wyścigiem technologicznym),\n",
+ "* szybkie starzenie się,\n",
+ "* niewielka liczba klientów w początkowym stadium sprzedaży,\n",
+ "* duże nakłady na R&D,\n",
+ "* niepewności technologiczne.\n",
+ "\n",
+ "### Cechy produktu \"high-tech\" z punktu widzenia klienta\n",
+ "Dcydując się na zakup produktu high-tech\", klient powinien brać pod uwagę ryzyko wynikające z następujących cech produktów tej kategorii:\n",
+ "* dezorientacja klienta (np. jak działa produkt),\n",
+ "* niespełnianie oczekiwań (przez pierwsze wersje),\n",
+ "* duża konkurencja,\n",
+ "* możliwość błyskawicznego upadku rynku,\n",
+ "* spadająca cena produktu,\n",
+ "* szybki wzrost stosunku jakości do ceny.\n",
+ "\n",
+ "### Ocena ryzyka\n",
+ "Na 7 zaawansowanych pomysłów produktu high-tech: \n",
+ "* 4 wchodzą w fazę realizacji,\n",
+ "* 1.5 są uruchamiane,\n",
+ "* 1 odnosi sukces."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# \"Golden Rules\" na odniesienie sukcesu\n",
+ "Aby produkt high-tech miał szanse odnieść sukces na rynku, powinien spełniać przynajmniej kilka z wymienionych poniżej postulatów:\n",
+ "\n",
+ "## 1. \"Zapewnij nowatorską / wyjątkową (\"unique\") funkcję lub cechę\"\n",
+ "* Pomysł musi być nowatorski - a nie skopiowany.\n",
+ "* Taki produkt wymaga R&D...\n",
+ " * A to jest kosztowne i...\n",
+ " * Trudne w konstrukcji.\n",
+ "* Często pomysły chronione są przez patenty.\n",
+ "\n",
+ "\"Nowatorski\" może oznaczać \"nowy model sprzedaży\"\n",
+ "\n",
+ "## 2. \"Popraw wydajność użytkownika\"\n",
+ "Czego oczekujemy od systemu informatycznego:\n",
+ "* Wykonuj wszystko szybciej i taniej:\n",
+ " * Skróć czas nauki\n",
+ " * Automatycznie poprawiaj błędy\n",
+ " * Automatyzuj niektóre kroki\n",
+ "* Dbaj o wygodę użytkowania\n",
+ "* Unikaj:\n",
+ " * Reklam\n",
+ " * Przestojów na płacenie (np. bramek)\n",
+ " * Ogólnie: czynności, ktore pochłaniają czas użytkownika\n",
+ "\n",
+ "## 3. \"Chroń inwestycje użytkownika\"\n",
+ "Zasada ta mówi o tym, aby szanować pieniądze wydane przez użytkownika przed wprowadzeniem naszego rozwiązania. Dotyczy to:\n",
+ "* hardware'u\n",
+ "* software'u\n",
+ "* danych\n",
+ "\n",
+ "Czego oczekujemy od systemu informatycznego:\n",
+ "* Minimalizuj koszty zmian\n",
+ "* Wydłużaj czas życia produktów\n",
+ "* Twórz rozwiązania przenośne\n",
+ "\n",
+ "## 4. \"Minimalizuj koszty awarii lub utraty danych\"\n",
+ "Czego oczekujemy od systemu informatycznego:\n",
+ "* Unikaj przerw w działaniu\n",
+ "* Skracaj czas i zmniejszaj koszty przywrócenia:\n",
+ " * działania\n",
+ " * danych\n",
+ "\n",
+ "## 5. \"Poprawiaj wspólczynnik jakości do ceny\"\n",
+ "Czego oczekujemy od systemu informatycznego:\n",
+ "* Dostarczaj więcej za mniej\n",
+ " * Podwyższaj jakość\n",
+ " * Zmniejszaj cenę\n",
+ " * A najlepiej - obie czynności naraz\n",
+ " \n",
+ "* Jakość (wydajność) przedstawiaj w liczbach\n",
+ " * Gb, 100-punktowa miara jakości\n",
+ " * sekundy...\n",
+ "\n",
+ "## 6. \"Zapewnij elastyczność i skalowalność\"\n",
+ "Rozwiązanie jest **elastyczne**, jeśłi może być stosowane w różnych scenariuszach. \n",
+ "Rozwiązanie jest **skalowalne**, jeśli można je stsosować zarówno dla małych, jak i dużych wielkości danych.\n",
+ "\n",
+ "Czego oczekujemy od systemu informatycznego:\n",
+ "* Umożliwiaj dodawanie / usuwanie funkcji\n",
+ "* Zapewnij użycie w różnych środowiskach\n",
+ "* Zapewnij możliwość stosowania dla większych zbiorów danych\n",
+ "\n",
+ "## 7. \"Zadbaj o atrakcyjny wygląd\"\n",
+ "Rozwiązanie powinno być ładne i ...modne.\n",
+ "\n",
+ "Czego oczekujemy od systemu informatycznego:\n",
+ "* Weź pod uwagę:\n",
+ " * kolorystykę\n",
+ " * kształt\n",
+ " * wykończenie\n",
+ " * prostotę\n",
+ " \n",
+ "## 8. \"Dostarczaj rozrywkę\"\n",
+ "Czego oczekujemy od systemu informatycznego:\n",
+ "* \"Dzieci\" lubią się bawić - dostarczaj zabawę\n",
+ "* Ludzie lubią wyzwania - dostarczaj wyzwania\n",
+ "* Ludzie lubią rywalizację...\n",
+ "* Ludzie mają swoje hobby i upodobania...\n",
+ "* Wszyscy wolą wakacje od pracy... \n",
+ " \n",
+ "## 9. \"Stwórz nową modę\"\n",
+ "Stworzenie nowej mody jest niezwykle trudne i kosztowne. Ale kilku producentom się udało.\n",
+ "Wskazówki:\n",
+ "* Produkt musi być \"osobisty\".\n",
+ "* Musi mieć wygląd określany jako \"cool\".\n",
+ "* Trzeba sprzedawać go drogo...\n",
+ "* ... w niewielkich ilościach...\n",
+ "* ... ale za to robić wokół niego sporo szumu."
+ ]
+ }
+ ],
+ "metadata": {
+ "author": "Krzysztof Jassem",
+ "email": "jassem@amu.edu.pl",
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "lang": "pl",
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.5"
+ },
+ "subtitle": "02. Projekt badawczo-rozwojowy[wykład]",
+ "title": "Przygotowanie do projektu badawczo-rozwojowego",
+ "year": "2021"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/materiały na PPB (wykład)/.ipynb_checkpoints/03_prezentacja_koncepcji_projektuBR-checkpoint.ipynb b/materiały na PPB (wykład)/.ipynb_checkpoints/03_prezentacja_koncepcji_projektuBR-checkpoint.ipynb
new file mode 100644
index 0000000..2511404
--- /dev/null
+++ b/materiały na PPB (wykład)/.ipynb_checkpoints/03_prezentacja_koncepcji_projektuBR-checkpoint.ipynb
@@ -0,0 +1,414 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "
\n",
+ "
Przygotowanie do projektu badawczo-rozwojowego
\n",
+ " 3. Prezentacja koncepcji projektu B+R[wykład]
\n",
+ "Krzysztof Jassem (2021)
\n",
+ "\n",
+ "\n",
+ "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Inwestorzy\n",
+ "\n",
+ "Opracowanie i rozwój projektu B+R wymaga środków finansowych. Środki finansowe zapewnia *inwestor*, któremu trzeba odpowiednio zaprezentować koncepcję projektu B+R, czyli przekonać go, że poświęcone środki finansowe się zwrócą. \n",
+ "\n",
+ "**Inwestor** to osoba lub instytucja, która przekazuje środki finansowe na przedsięwzięcie, oczekując zwrotu i zysku. \n",
+ "\n",
+ "**Anioł biznesu** to inwestor, który dostarcza początkowe środki finansowe (seed money) na rozpoczęcie biznesu w zamian za część udziałów lub *dług zamienny*. **Dług zamienny** to papier wartościowy, który może zostać wymienony na akcje lub udziały firmy. \n",
+ "\n",
+ "**Kapitał wysokiego ryzyka (ang. venture capital)** to kapitał dostarczony dla istniejącej firmy typu start-up, zwykle w przemyśle HT. Kapitał wysokiego ryzyka liczy na zwrot w przypadku wyjścia firmy na giełdę lub jej sprzedaży."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Główne atrybuty produktu HT\n",
+ "Produkt ma wnosić **wartość dodaną**, która spełni **potrzeby klienta** dzięki dobrze przemyślanej **konstrukcji**.\n",
+ "1. Wartość dodana to zestaw korzyści z punktu widzenia klienta. \n",
+ "Korzyść może być:\n",
+ " 1. Funkcjonalna (produkt wykonuje pracę dla klienta)\n",
+ " 2. Emocjonalna (produkt wpływa pozytywnie na samopoczucie klienta\n",
+ " 3. Rozwijająca osobowość klienta\n",
+ " 4. Społeczna (produkt wpływa na poprawę pozycji społecznej klienta)\n",
+ "\n",
+ "2. Spełnienie potrzeby użytkowników\n",
+ ">“You can’t just ask customers what they want and then try to give that to them. By the time you get it built, they’ll want something new.” (Steve Jobs)\n",
+ "\n",
+ "Potrzeby użytkowników:\n",
+ " * Wypowiedziane (odczuwane dziś i świadome) - spełniają je przeciętne produkty;\n",
+ " * Ukryte (odczuwane dziś, ale nieświadome) - spełniają je produkty HT;\n",
+ " * Oczekiwane (odczuwane w przyszłości w sposób świadomy) - spełniają je wybitne produkty HT;\n",
+ " * Mające się pojawić (odczuwane w przyszłości w sposób nieświadomy) - spełniają je wizjonerskie produkty HT.\n",
+ "\n",
+ "3. Odpowiednia konstrukcja (design)\n",
+ "Produkt jest odpowiednio skonstruowany, jeśli ma następujące cechy:\n",
+ "* pożyteczny (rozwiązuje problem lub wykonuje zadania), \n",
+ "* użyteczny (łatwy w użytku, intuicyjny),\n",
+ "* pożądany (wywołuje pozytywne emocje, sprawia przyjemność)."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Elevator pitch\n",
+ "**Elevator pitch** to krótka prezentacja, ktorej celem jest zwięzłe i proste omówienie produktu lub przedsięwzięcia. Oczekuje się, że trwa niedłużej niż 2 minuty. \n",
+ "**Jednozdaniowy elevator pitch** to najkrótsza charakterystyka planowanego przedsięwzięcia. Ma postać: "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
DLA (określenie klienta docelowego)
\n",
+ "
KTÓRY (ma potrzebę)
\n",
+ "
NAZWA NASZEGO PRODUKTU (PRZEDSIĘWZIĘCIA)
\n",
+ "
TO (typ produktu / przedsięwzięcia)
\n",
+ "
KTÓRY (ma unikalną cechę)
\n",
+ "
W PRZECIWIEŃSTWIE (nazwa znanej konkurencji)
\n",
+ "
MA PRZEWAGĘ (typ przewagi)
\n",
+ " \n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Przykład jednozdaniowego \"elevator pitch\"
\n",
+ " \n",
+ "
(DLA) Dla każdej osoby biorącej leki lub suplementy,
\n",
+ "
(KTÓRA) zwłaszcza dla tych którzy mają tendencje zapominać.
\n",
+ "
(NAZWA PRODUKTU) Take Your Meds
\n",
+ "
(TO) to aplikacja mobilna,
\n",
+ "
(KTÓRA) która zapewni, że bez pomyłek weźmiemy wszystkie leki.
\n",
+ "
(W PRZECIWIEŃSTWIE) w przeciwieństwie do standardowych powiadomień na telefonie i notatek na kartce,
\n",
+ "
(MA PRZEWAGĘ) Take Your Meds zapewnia szczegółowe informacje i nie pozwala się pomylić.
\n",
+ " \n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Prezentacja dla inwestora\n",
+ "### Reguła 30 / 20 / 10 (Czcionka / Minuty / Slajdy)\n",
+ "Reguła mówi o standardowych oczekiwaniach w stosunku do prezentacji (czyli: stosuj dużą czcionkę, nie gadaj dłużej ani krócej niż 2 minuty na slajd).\n",
+ "### Wzorzec 10 slajdów prezentacji dla inwestora\n",
+ "#### 1. Chwyć za gardło (ang. \\\"Grab\\\")\n",
+ " * Jaki masz pomysł?\n",
+ " * Czym się wyróżniasz pod względem korzyści: \n",
+ " * funkcjonalność, \n",
+ " * spełnienie potrzeby, \n",
+ " * konstrukcja?"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Wskazówki
\n",
+ "\n",
+ "
\n",
+ " \n",
+ "- Nie bądź gadatliwy!
\n",
+ "- Uchwyć uwagę widza!
\n",
+ "- Jeśli tutaj nie chwycisz widza za gardło, to przepadłeś.
\n",
+ " \n",
+ "
\n",
+ " \n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### 2. Przedstaw problem\n",
+ " * Dlaczego\n",
+ " * Wasz produkt jest niezbędny?\n",
+ " * ludzie go potrzebują?"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Wskazówka:
\n",
+ " \n",
+ "
\n",
+ " - Pamiętaj: nie chodzi o Twój problem, tylko o problem potencjalnego użytkownika!
\n",
+ "
\n",
+ " \n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### 3. Przedstaw rozwiązanie problemu\n",
+ " * Jak rozwiążecie problem ?\n",
+ " * Kto będzie korzystać z Waszego rozwiązania?\n",
+ " * I jakie będzie miał z tego korzyści?"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Wskazówki:
\n",
+ " \n",
+ "
\n",
+ " - Bądź konkretny!
\n",
+ " - Nie zalewaj!
\n",
+ " - Nie czaruj!
\n",
+ "
\n",
+ " \n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### 4. Przedstaw sposób działania\n",
+ "* Jak działa nasze rozwiązanie?\n",
+ "* Co w działaniu jest takiego wyjątkowego? (\\\"magic souce\\\")?"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Wskazówki:
\n",
+ "\n",
+ "
\n",
+ "- Przekonaj, że Wasze rozwiązanie jest\n",
+ "
\n",
+ "- użyteczne,\n",
+ "
- funkcjonalne\n",
+ "
\n",
+ " - Najlepiej przedstaw działanie wizulanie - np. na schemacie, rysunku, filmie.\n",
+ "
\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### 5. Omów technologię\n",
+ " * Jaka jest konstrukcja (architektura) rozwiązania?\n",
+ " * Co w niej jest takiego wyjątkowego?"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Wskazówki:
\n",
+ " \n",
+ "
\n",
+ "- Ponownie możesz przedstawić schemat...
\n",
+ "- Ale uważaj, żeby nie przesadzić ze szczegółami technicznymi!
\n",
+ "
\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### 6. Przedstaw konkurencję\n",
+ " * Jakie produkty / firmy są Waszą konkurencją?\n",
+ " * Co robią inaczej?"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Wskazówka:
\n",
+ " \n",
+ "Wykaż, że jesteście lepsi:\n",
+ "
\n",
+ "- jakość,
\n",
+ "- cena,
\n",
+ "- funkcjonalność,
\n",
+ "- użyteczność,
\n",
+ "- elastyczność.
\n",
+ "
\n",
+ "\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### 7. Określ Wasz rynek\n",
+ "**Rynek** to ogół transakcji kupna–sprzedaży danego dobra lub czynnika produkcji. \n",
+ " * Na jaki rynek kierujecie Wasz produkt?\n",
+ " * Jaka jest wartość finansowa rynku dla Waszego produktu?\n",
+ " * Total Available Market - wartość ogólnoświatowego popytu na dany produkt usługę\\,\n",
+ " * Served Available Market - wartość rynku, na którym chcecie działać,\n",
+ " * Target Market - przewidywana wartość rynku Waszych prawdopodobnych nabywców."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Wskazówki:
\n",
+ "\n",
+ "
\n",
+ " - Możecie interpretować powyższe pojęcia w sposób potoczny:
\n",
+ "\n",
+ " - TAM - Jak duży jest cały tort?
\n",
+ " - SAM - Jak duży kawałek tortu jestem w stanie uciąć dla siebie?
\n",
+ " - TM - Ile jestem w stanie zjeść?
\n",
+ "
\n",
+ "- Inwestor oczekuje, że potraficie oszacować wartość każdego zasięgu rynku na podstawie wiarygodnych źródeł.
\n",
+ "
\n",
+ " \n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### 8. Zdefiniuj model biznesowy\n",
+ "**Model biznesowy** to unikatowy przepis na sprzedawanie produktu lub usługi.\n",
+ " * W jaki sposób Wasz pomysł zarobi pieniądze?"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ "\n",
+ "
Wskazówka:
\n",
+ "\n",
+ "Wyjaśnij swój pomysł na sprzedaż, np.\n",
+ "
\n",
+ "- licencje / sprzedaż jednorazowa,
\n",
+ "- sprzedaż bezpośrednia / dystrybutorzy,
\n",
+ "- dochody z reklam,
\n",
+ "- mechanizmy przyciągnięcia klienta, np. programy lojalnościowe, grywalizacja.
\n",
+ "
\n",
+ " \n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### 9. Przedstaw prognozę finansową przedsięwzięcia\n",
+ "**Prognoza finansowa** to przewidywana wartość przyszłych wyników finansowych przesięwzięcia uwzględniająca przychody i koszty.\n",
+ " * Jaka jest prognoza finansowa na okres 18 miesięcy - 5 lat?"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ "\n",
+ "
Wskazówki:
\n",
+ "
\n",
+ "- Udowodnij, że znasz realia lub...dostosuj się do oczekiwań inwestora.
\n",
+ "- Kiedyś prognozę układało się na 5 lat, a dzisiaj... 5 lat to dłużej niż wieczność.
\n",
+ "
\n",
+ " \n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### 10. Pochwal się zespołem\n",
+ " * Jakie są kluczowe osoby w Twoim zespole?,\n",
+ " * Skąd pochodzą?\n",
+ " * Jaką wartość wnoszą?"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ "\n",
+ "
Wskazówki:
\n",
+ " \n",
+ "
\n",
+ "- Można pokazać zdjęcia, jeśli ludzie się na to zgadzają.
\n",
+ " - Jeśli w zespole jest gwiazda, pozwól jej lśnić.
\n",
+ "
\n",
+ " \n",
+ "
"
+ ]
+ }
+ ],
+ "metadata": {
+ "author": "Krzysztof Jassem",
+ "email": "jassem@amu.edu.pl",
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "lang": "pl",
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.5"
+ },
+ "subtitle": "03. Prezentacja koncepcji projektu B+R[wykład]",
+ "title": "Przygotowanie do projektu badawczo-rozwojowego",
+ "year": "2021"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/materiały na PPB (wykład)/.ipynb_checkpoints/04_metodologia_prince2-checkpoint.ipynb b/materiały na PPB (wykład)/.ipynb_checkpoints/04_metodologia_prince2-checkpoint.ipynb
new file mode 100644
index 0000000..45777da
--- /dev/null
+++ b/materiały na PPB (wykład)/.ipynb_checkpoints/04_metodologia_prince2-checkpoint.ipynb
@@ -0,0 +1,153 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "
\n",
+ "
Przygotowanie do projektu badawczo-rozwojowego
\n",
+ " 4. Metodologia Prince2[wykład]
\n",
+ "Krzysztof Jassem (2021)
\n",
+ "\n",
+ "\n",
+ "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Metodologia Prince2\n",
+ "Prince2 (PRojects IN Controlled Environments) to metoda **zarządzania** *projektami*\n",
+ "niezależna od zmiennych projektu, takich jak: środowisko, skala, typ, organizacjakultura, położenie geograficzne."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Projekt
\n",
+ "Projekt to organizacja założona:\n",
+ " \n",
+ "
na określony czas
\n",
+ "
w celu dostarczenia rozwiązania
\n",
+ "
dla określonej potrzeby biznesowej
\n",
+ "
\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Przykład projektu
\n",
+ " \n",
+ "
Potrzeba biznesowa: Oszczędzenie 70% czasu biura obsługi klienta.
\n",
+ "
Rozwiązanie: System automatycznego obiegu dokumentów.
\n",
+ "
Czas: 6 miesięcy
\n",
+ "
Projekt: Zespół ludzi wydelegowanych na 6 miesięcy dla dostarczenia systemu automatycznego obiegu dokumentów w celu zaoszczędzenia 70\\% czasu biura obsługi klienta.
\n",
+ "
\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Cechy charakterystyczne projektu\n",
+ "Projekt jest przeciwieństwiem pojęcia \"buiseness 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",
+ " * Niepewność - projekty ze swojej natury są ryzykowne, bo mają wprowadzić zmianę.\n",
+ " ### Zarządzanie projektem\n",
+ " Zarządzanie projektem to:\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\n",
+ " \n",
+ " ### 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ć?)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Zasady Prince2\n",
+ "### Dostosowywanie do potrzeb (tailoring)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Motywy przewodnie Prince2 (themes)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Procesy Prince2"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Artefakty w Prince2"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Role w Prince2"
+ ]
+ }
+ ],
+ "metadata": {
+ "author": "Krzysztof Jassem",
+ "email": "jassem@amu.edu.pl",
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "lang": "pl",
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.5"
+ },
+ "subtitle": "04. Metodologia Prince 2[wykład]",
+ "title": "Przygotowanie do projektu badawczo-rozwojowego",
+ "year": "2021"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/materiały na PPB (wykład)/.ipynb_checkpoints/05_metodologia Prince2Agile-checkpoint.ipynb b/materiały na PPB (wykład)/.ipynb_checkpoints/05_metodologia Prince2Agile-checkpoint.ipynb
new file mode 100644
index 0000000..2912a1e
--- /dev/null
+++ b/materiały na PPB (wykład)/.ipynb_checkpoints/05_metodologia Prince2Agile-checkpoint.ipynb
@@ -0,0 +1,66 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "
\n",
+ "
Przygotowanie do projektu badawczo-rozwojowego
\n",
+ " 5. Metodologia Prince2Agile[wykład]
\n",
+ "Krzysztof Jassem (2021)
\n",
+ "\n",
+ "\n",
+ "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Podstawowe koncepcje metodyk zwinnych"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Metodyka SCRUM"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Czym jest Prince2Agile?"
+ ]
+ }
+ ],
+ "metadata": {
+ "author": "Krzysztof Jassem",
+ "email": "jassem@amu.edu.pl",
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "lang": "pl",
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.5"
+ },
+ "subtitle": "05. Metodologia Prince2Agile[wykład]",
+ "title": "Przygotowanie do projektu badawczo-rozwojowego",
+ "year": "2021"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/materiały na PPB (wykład)/.ipynb_checkpoints/06_prototypowanie i ciągła integracja-checkpoint.ipynb b/materiały na PPB (wykład)/.ipynb_checkpoints/06_prototypowanie i ciągła integracja-checkpoint.ipynb
new file mode 100644
index 0000000..240d1ad
--- /dev/null
+++ b/materiały na PPB (wykład)/.ipynb_checkpoints/06_prototypowanie i ciągła integracja-checkpoint.ipynb
@@ -0,0 +1,131 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "
\n",
+ "
Przygotowanie do projektu badawczo-rozwojowego
\n",
+ " 6. Prototypowanie i ciągła integracja[wykład]
\n",
+ "Krzysztof Jassem (2021)
\n",
+ "\n",
+ "\n",
+ "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Prototyp
\n",
+ "Prototyp to wynik częściowej implementacji, posiadający wybrane cechy produktu końcowego.\n",
+ "\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Cele prototypowania\n",
+ " * Zademonstrowanie umiejętności wykonania produktu końcowego\n",
+ " * Określenie realistycznych wymagań końcowych\n",
+ " * Przekonanie się o wpływie innych systemów, środowisk na produkt. \n",
+ " * Sprawdzenie implementacji kluczowych funkcji\n",
+ "\n",
+ "## Potencjalne efekty prototypowania\n",
+ "* Wykrycie nieporozumień między klientem i wykonawcą \n",
+ "* Określenie brakujących funkcji \n",
+ "* Wykrycie błędów w specyfikacji\n",
+ "* Przewidywanie przyszłych trudności\n",
+ "\n",
+ "## Prototyp poziomy a pionowy\n",
+ "\n",
+ "## Prototypowanie z porzuceniem a prototypowanie ewolucyjne\n",
+ " \n",
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Ciągła integracja
\n",
+ " \n",
+ "Ciągła integracja (CI) to praktyka rozwoju oprorgamowania, w której:\n",
+ "
\n",
+ " - zmiany w kodzie są regularnie przesyłane do repozytorium,
\n",
+ " - po każdym dołączeniu nowego kodu wykonywane są (automatycznie): kompilacja kodu i testy.
\n",
+ "
\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Workflow w Ciągłej Integracji"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Dobre praktyki Ciągłej Integracji"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Kompilacja automatyczna"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Narzędzia Ciągłej Integracji"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Korzyści z Ciągłej Integracji"
+ ]
+ }
+ ],
+ "metadata": {
+ "author": "Krzysztof Jassem",
+ "email": "jassem@amu.edu.pl",
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "lang": "pl",
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.5"
+ },
+ "subtitle": "06. Prototypowanie i ciągła integracja[wykład]",
+ "title": "Przygotowanie do projektu badawczo-rozwojowego",
+ "year": "2021"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/materiały na PPB (wykład)/.ipynb_checkpoints/07_specyfikacja_projektu_informatycznego-checkpoint.ipynb b/materiały na PPB (wykład)/.ipynb_checkpoints/07_specyfikacja_projektu_informatycznego-checkpoint.ipynb
new file mode 100644
index 0000000..779640f
--- /dev/null
+++ b/materiały na PPB (wykład)/.ipynb_checkpoints/07_specyfikacja_projektu_informatycznego-checkpoint.ipynb
@@ -0,0 +1,126 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "
\n",
+ "
Przygotowanie do projektu badawczo-rozwojowego
\n",
+ " 7. Specyfikacja projektu informatycznego[wykład]
\n",
+ "Krzysztof Jassem (2021)
\n",
+ "\n",
+ "\n",
+ "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Zakres systemu informatycznego
\n",
+ " \n",
+ "Zakres systemu to precyzyjne określony obszar tego, co projektujemy – precyzyjnie odgraniczony od tego, co jest zadaniem projektowym kogoś innego, lub tego, co leży poza projektem.\n",
+ "\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Reprezentacje zakresu projektu\n",
+ "\n",
+ "* Określenie wizji\n",
+ "* Diagram zakresu projektowego (rysunek)\n",
+ "* Lista „aktor-cel”\n",
+ "* Lista „in-out”"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Specyfikacja wymagań
\n",
+ " \n",
+ "Specyfikacja wymagań to dokument, w którym zebrano wszystkie oczekiwania stawiane przyszłemu systemowi (np. wymagania funkcjonalne i niefunkcjonalne aplikacji).\n",
+ " \n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Wymagania użytkownika a wymagania systemowe\n",
+ "\n",
+ "### Wymagania funkcjonalne a wymagania niefunkcjonalne"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Przypadek użycia
\n",
+ " \n",
+ "Przypadek użycia określa umowę między uczestnikami systemu względem jego zachowania.\n",
+ "\n",
+ "
\n",
+ "- W przypadku użycia opisuje zachowanie się systemu w różnych warunkach – w odpowiedzi na żądanie jednego z uczestników, zwanego aktorem głównym.
\n",
+ "- Przypadek użycia reprezentowany jest przez sekwencję akcji realizowanych przez system analizowany, które dają zauważalny efekt. Akcja to operacja atomowa, czyli taka, której nie można przerwać podczas wykonywania.
\n",
+ "
\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Elementy składowe opisu przypadku użycia\n",
+ "1. Aktor główny\n",
+ "2. Zakres \n",
+ "3. Poziom celu\n",
+ "4. Uczestnicy i interesy\n",
+ "5. Warunek początkowy\n",
+ "6. Wyzwalacz\n",
+ "7. Gwarancje minimalne\n",
+ "8. Gwarancja powodzenia\n",
+ "9. Scenariusz powodzenia\n",
+ "10. Rozszerzenia scenariusza"
+ ]
+ }
+ ],
+ "metadata": {
+ "author": "Krzysztof Jassem",
+ "email": "jassem@amu.edu.pl",
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "lang": "pl",
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.5"
+ },
+ "subtitle": "07. Specyfikacja projektu informatycznego[wykład]",
+ "title": "Przygotowanie do projektu badawczo-rozwojowego",
+ "year": "2021"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/materiały na PPB (wykład)/.ipynb_checkpoints/08_testowanie_w_programowaniu_zwinnym-checkpoint.ipynb b/materiały na PPB (wykład)/.ipynb_checkpoints/08_testowanie_w_programowaniu_zwinnym-checkpoint.ipynb
new file mode 100644
index 0000000..f1decd7
--- /dev/null
+++ b/materiały na PPB (wykład)/.ipynb_checkpoints/08_testowanie_w_programowaniu_zwinnym-checkpoint.ipynb
@@ -0,0 +1,85 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "
\n",
+ "
Przygotowanie do projektu badawczo-rozwojowego
\n",
+ " 8. Testowanie w programowaniu zwinnym[wykład]
\n",
+ "Krzysztof Jassem (2021)
\n",
+ "\n",
+ "\n",
+ "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Zarządzanie testowaniem w metodyce SCRUM"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Poziomy testowania w metodyce SCRUM"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Testowanie jednostkowe"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Testowanie metodą „Test First”"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Typy wstawek testowych\n",
+ " * stub\n",
+ " * spy\n",
+ " * mock\n",
+ " * fake\n",
+ " * dummy"
+ ]
+ }
+ ],
+ "metadata": {
+ "author": "Krzysztof Jassem",
+ "email": "jassem@amu.edu.pl",
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "lang": "pl",
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.5"
+ },
+ "subtitle": "08. Testowanie w programowaniu zwinnym[wykład]",
+ "title": "Przygotowanie do projektu badawczo-rozwojowego",
+ "year": "2021"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/materiały na PPB (wykład)/.ipynb_checkpoints/09_testowanie_integracyjne_i_systemowe-checkpoint.ipynb b/materiały na PPB (wykład)/.ipynb_checkpoints/09_testowanie_integracyjne_i_systemowe-checkpoint.ipynb
new file mode 100644
index 0000000..f24ad8b
--- /dev/null
+++ b/materiały na PPB (wykład)/.ipynb_checkpoints/09_testowanie_integracyjne_i_systemowe-checkpoint.ipynb
@@ -0,0 +1,124 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "
\n",
+ "
Przygotowanie do projektu badawczo-rozwojowego
\n",
+ " 9. Testowanie integracyjne i systemowe[wykład]
\n",
+ "Krzysztof Jassem (2021)
\n",
+ "\n",
+ "\n",
+ "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Błąd
\n",
+ " \n",
+ "Błąd to objaw nieoczekiwanego działania programu ujawniony podczas testów.\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Defekt
\n",
+ " \n",
+ "Defekt to niedoskonałość w kodzie programu.\n",
+ "Błąd ujawniony w czasie testów świadczy o defekcie w testowanym kodzie.\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Testowanie
\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",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Opracowywanie przypadków testowych dla testowania integracyjnego"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Strategie testowania integracyjnego"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Środowisko testowania systemowego"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Testowanie manualne: \n",
+ "### Testowanie eksploracyjne\n",
+ "### Testowanie sesyjne\n",
+ "### Testowanie akceptacyjne"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Testowanie automatyczne\n",
+ "### Testowanie oparte na nagrywaniu\n",
+ "### Testowanie oparte na słowach kluczowych\n",
+ "### Testowanie oparte na zachowaniu"
+ ]
+ }
+ ],
+ "metadata": {
+ "author": "Krzysztof Jassem",
+ "email": "jassem@amu.edu.pl",
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "lang": "pl",
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.5"
+ },
+ "subtitle": "09. Testowanie integracyjne i systemowe[wykład]",
+ "title": "Przygotowanie do projektu badawczo-rozwojowego",
+ "year": "2021"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/materiały na PPB (wykład)/.ipynb_checkpoints/10_wybrane_zagadnienia_użyteczności-checkpoint.ipynb b/materiały na PPB (wykład)/.ipynb_checkpoints/10_wybrane_zagadnienia_użyteczności-checkpoint.ipynb
new file mode 100644
index 0000000..28cb6c0
--- /dev/null
+++ b/materiały na PPB (wykład)/.ipynb_checkpoints/10_wybrane_zagadnienia_użyteczności-checkpoint.ipynb
@@ -0,0 +1,117 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "
\n",
+ "
Przygotowanie do projektu badawczo-rozwojowego
\n",
+ " 10. Wybrane zagadnienia użyteczności[wykład]
\n",
+ "Krzysztof Jassem (2021)
\n",
+ "\n",
+ "\n",
+ "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Użyteczność
\n",
+ "\n",
+ "Użyteczność narzędzia: łatwość, z jaką ludzie potrafią korzystać z pewnego narzędzia w celu osiągnięcia określonego celu.\n",
+ "\n",
+ "
Cechy aplikacji użytecznej
\n",
+ " \n",
+ "
\n",
+ "- Łatwa do nauki: Jak łatwo jest użytkownikom wykonać dane zadanie po raz pierwszy?\n",
+ "
- Wydajna w pracy: Jak szybko użytkownicy wykonują zadania, gdy już się nauczyli programu?\n",
+ "
- Satysfakcja: Czy korzystanie z programu daje satysfakcję?\n",
+ "
- Odporna na błędy: Ile błędów robią użytkownicy, jak poważne są to błędy i jak łatwo z nich się wydostać?\n",
+ "
- Zapamiętywalna po czasie: Jak łatwo powrócić do biegłości użytkowania po pewnym okresie nieużytkowania programu?\n",
+ "\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Wskazówki do tworzenia użytecznego systemu informatycznego
\n",
+ "\n",
+ "
\n",
+ "- Autorze: Poznaj użytkownika, a TY nie jesteś użytkownikiem.
\n",
+ " - Użytkownik powinien mieć kontrolę nad systemem, a nie odwrotnie: to użytkownik jest szefem i system powinien to okazywać.
\n",
+ " - System musi ułatwiać użytkownikowi życie:
\n",
+ " \n",
+ " - Elementy, które wyglądają tak samo, powinny działać tak samo, a akcje, które nie działają tak samo powinny być inaczej reprezentowane.
\n",
+ " - Każda akcja użytkownika powinna mieć reakcję programu.
\n",
+ " - Kiedy użytkownik ma do podjęcia decyzję, system podaje mu całą dostępną informację.
\n",
+ "
\n",
+ " - System musi być \"idioto-odporny\":
\n",
+ " \n",
+ " - Każdy robi błędy, więc każdy błąd powinien dać się naprawić.
\n",
+ " - Gdy użytkownik zrobi błąd, System daje mu o tym znać, zanim … wpadnie w PRAWDZIWE kłopoty.
\n",
+ " - Informacje o błędach powinny być zrozumiałe dla użytkownika i mówić mu, jak naprawić problem.
\n",
+ "
\n",
+ " - Wczuj się w użytkownika
\n",
+ " \n",
+ " - Eliminuj niepotrzebne decyzje (nie pytaj, jak nie musisz).
\n",
+ " - Im mniej kroków do celu, tym lepiej.
\n",
+ " - Użytkownik powinien zawsze móc dowiedzieć się, co robić dalej.
\n",
+ " - Użytkownik powinien zawsze wiedzieć, co się dzieje.\n",
+ "
\n",
+ "
\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Użyteczność portali internetowych\n",
+ "### 10 heurystyk Jakoba Nielsena i Rolfa Molicha\n",
+ "### Zasady dobrej nawigacji"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Tworzenie raportu użyteczności"
+ ]
+ }
+ ],
+ "metadata": {
+ "author": "Krzysztof Jassem",
+ "email": "jassem@amu.edu.pl",
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "lang": "pl",
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.5"
+ },
+ "subtitle": "10. Wybrane zagadnienia użyteczności[wykład]",
+ "title": "Przygotowanie do projektu badawczo-rozwojowego",
+ "year": "2021"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/materiały na PPB (wykład)/.ipynb_checkpoints/11_aspekty_użyteczności-checkpoint.ipynb b/materiały na PPB (wykład)/.ipynb_checkpoints/11_aspekty_użyteczności-checkpoint.ipynb
new file mode 100644
index 0000000..496c5c5
--- /dev/null
+++ b/materiały na PPB (wykład)/.ipynb_checkpoints/11_aspekty_użyteczności-checkpoint.ipynb
@@ -0,0 +1,101 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "
\n",
+ "
Przygotowanie do projektu badawczo-rozwojowego
\n",
+ " 11. Aspekty użyteczności[wykład]
\n",
+ "Krzysztof Jassem (2021)
\n",
+ "\n",
+ "\n",
+ "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Aspekty użyteczności\n",
+ "Użyteczność aplikacji powinna być analizowana pod kątem sześciu aspektów:\n",
+ "* kontekst, \n",
+ "* wprowadzanie danych, \n",
+ "* wyprowadzanie danych, \n",
+ "* responsywność, \n",
+ "* łączność z siecią, \n",
+ "* zasoby."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Kontekst"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Wprowadzanie danych"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Wyprowadzanie danych"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Responsywność"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Łączność z siecią"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Zasoby"
+ ]
+ }
+ ],
+ "metadata": {
+ "author": "Krzysztof Jassem",
+ "email": "jassem@amu.edu.pl",
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "lang": "pl",
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.5"
+ },
+ "subtitle": "11. Aspekty użyteczności[wykład]",
+ "title": "Przygotowanie do projektu badawczo-rozwojowego",
+ "year": "2021"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/materiały na PPB (wykład)/.ipynb_checkpoints/12_ocena_jakości_systemu-checkpoint.ipynb b/materiały na PPB (wykład)/.ipynb_checkpoints/12_ocena_jakości_systemu-checkpoint.ipynb
new file mode 100644
index 0000000..3210b7b
--- /dev/null
+++ b/materiały na PPB (wykład)/.ipynb_checkpoints/12_ocena_jakości_systemu-checkpoint.ipynb
@@ -0,0 +1,167 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "
\n",
+ "
Przygotowanie do projektu badawczo-rozwojowego
\n",
+ " 12. Ocena jakości systemu informatycznego[wykład]
\n",
+ "Krzysztof Jassem (2021)
\n",
+ "\n",
+ "\n",
+ "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Czym jest jakość produktu?"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Definicja wg Toma de Marco
\n",
+ " \n",
+ "Jakość produktu to funkcja tego, jak bardzo zmienia on świat na lepsze.\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Definicja wg Geralda Weinberga
\n",
+ " \n",
+ "Jakość to subiektywnie pojmowana wartość dla kogoś.\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Definicja wg Josepha Jurana
\n",
+ " \n",
+ "1. Jakość składa się z tych cech produktu, które spełniają potrzeby klientów i dostarczają im satysfakcji. \n",
+ "2. Jakość to brak braków.\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Definicja wg Armanda Feigenbauma
\n",
+ " \n",
+ "Jakość to coś, co określa tylko i wyłącznie klient - a nie inżynier, dział marketiingu, czy też kierownictwo.\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Definicja wg Williama Edwardsa Deminga
\n",
+ " \n",
+ "Cała trudność w zdefiniowaniu jakości polega na przełożeniu przyszłych potrzeb użytkownika na wymierne cechy w taki sposób, aby produkt dawał klientowi satysfakcję za akceptowalną cenę.\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Definicja jakości oprogramowania"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Jakość oprogramowania
\n",
+ " \n",
+ "Jakość oprogramowania to funkcja cech oprogramowania, które spełniają oczekiwania użytkownika: znane i przewidywane.\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Jakość kodu źródłowego\n",
+ "### Metryki oceny rozmiaru kodu źródłowego\n",
+ "### Metryki oceny złożoności kodu źródłowego"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Cechy oprogramowania wpływające na ocenę jakości\n",
+ "### Funkcjonalność\n",
+ "### Niezawodność\n",
+ "### Użyteczność\n",
+ "### Wydajność\n",
+ "### Łatwość konserwacji\n",
+ "### Przenośność\n",
+ "### Dostępność\n",
+ "### Bezpieczeństwo\n",
+ "### Kompatybilność"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Schematy oceny jakości\n",
+ "### CUPRIMDSO\n",
+ "### FURPS\n",
+ "### CUPRIMDA"
+ ]
+ }
+ ],
+ "metadata": {
+ "author": "Krzysztof Jassem",
+ "email": "jassem@amu.edu.pl",
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "lang": "pl",
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.5"
+ },
+ "subtitle": "12. Ocena jakości systemu informatycznego[wykład]",
+ "title": "Przygotowanie do projektu badawczo-rozwojowego",
+ "year": "2021"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/materiały na PPB (wykład)/.ipynb_checkpoints/13. planowanie prac badawczo-rozwojowych-checkpoint.ipynb b/materiały na PPB (wykład)/.ipynb_checkpoints/13. planowanie prac badawczo-rozwojowych-checkpoint.ipynb
new file mode 100644
index 0000000..ca228c3
--- /dev/null
+++ b/materiały na PPB (wykład)/.ipynb_checkpoints/13. planowanie prac badawczo-rozwojowych-checkpoint.ipynb
@@ -0,0 +1,223 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "
\n",
+ "
Przygotowanie do projektu badawczo-rozwojowego
\n",
+ " 13. Planowanie prac badawczo-rozwojowych[wykład]
\n",
+ "Krzysztof Jassem (2021)
\n",
+ "\n",
+ "\n",
+ "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Harmonogram projektu
\n",
+ " \n",
+ "Harmonogram projektu to plan uzyskania celów projektu uwzględniający:\n",
+ "
\n",
+ " - podział pracy na etapy i zadania,
\n",
+ " - przydział zasobów do zadań,
\n",
+ " - terminy wykonania zadań.
\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ "
Ograniczenia
\n",
+ " \n",
+ "Ograniczenia to czynniki, które wpływają na realizację harmonogramu.\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Rodzaje ograniczeń\n",
+ " * Ograniczenia czasowe\n",
+ " * Ograniczenia techniczne\n",
+ " * Ograniczenia organizacyjne "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ "
Prawo Parkinsona
\n",
+ " \n",
+ "Praca będzie się rozrastać, aby wypełnić cały czas na nią przewidziany.\n",
+ "\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ "
Struktura Podziału Pracy
\n",
+ " \n",
+ "Struktura Podziału Pracy to hierarchiczna reprezentacja podziału pracy w projekcie.\n",
+ "\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Tworzenie harmonogramu projektu w programie MS-Project"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Ustawienie daty początku projektu"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Określenie struktury podziału pracy"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Ustawienie trybów zadań"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Określenie kamieni milowych"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Określenie tygodniowego kalendarza czasu pracy dla zespołu"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Ustalenie zależności między zadaniami"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Ustawienie odstępów między zadaniami"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Określenie zasobów w projekcie: \n",
+ " * Praca (ludzie + komputery), \n",
+ " * Materiały, \n",
+ " * Inne koszty"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Ustawienie tygodniowego kalendarza czasu pracy dla zasobów typu \"praca\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Przydzielenie zasobów do zadań"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Sprawdzenie poprawności alokacji zasobów"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Wyeliminowanie przeciążeń zasobów\n",
+ " * manualne bilansowanie zasobów\n",
+ " * automatyczne bilansowanie zasobów"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Analiza ścieżki krytycznej"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Sporządzanie raportów"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Modyfikacja harmonogramu podczas trwania projektu"
+ ]
+ }
+ ],
+ "metadata": {
+ "author": "Krzysztof Jassem",
+ "email": "jassem@amu.edu.pl",
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "lang": "pl",
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.5"
+ },
+ "subtitle": "13. Planowanie prac badawczo-rozwojowych[wykład]",
+ "title": "Przygotowanie do projektu badawczo-rozwojowego",
+ "year": "2021"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/materiały na PPB (wykład)/.ipynb_checkpoints/14_zarządzanie pracami badawczo-rozwojowymi-checkpoint.ipynb b/materiały na PPB (wykład)/.ipynb_checkpoints/14_zarządzanie pracami badawczo-rozwojowymi-checkpoint.ipynb
new file mode 100644
index 0000000..35efcf6
--- /dev/null
+++ b/materiały na PPB (wykład)/.ipynb_checkpoints/14_zarządzanie pracami badawczo-rozwojowymi-checkpoint.ipynb
@@ -0,0 +1,87 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "
\n",
+ "
Przygotowanie do projektu badawczo-rozwojowego
\n",
+ " 14. Zarządzanie projektami badawczo-rozowjowymi[wykład]
\n",
+ "Krzysztof Jassem (2021)
\n",
+ "\n",
+ "\n",
+ "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Produkuj hamburgery, sprzedawaj hamburgery...\n",
+ "## ... czyli czym różni się zarządzanie projektem B+R od kierowania barem szybkiej obsługi\n",
+ "Różnice w zarządzaniu można zobrazować w kilku aspektach:\n",
+ " * Podejście do popełniania błędów przez pracowników\n",
+ " * Sposób motywowania: bodźce negatywne i pozytywne\n",
+ " * Podejście do indywidualistów\n",
+ " * Podejście do kreatywności i samodoskonalenia się pracowników"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Czy ludzie pracują lepiej pod presją?"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Prawo Parkinsona - mit czy rzeczywistość?"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## 7 syrenich śpiewów...\n",
+ "## ...czyli o pokusach w zarządzaniu, które prowadzą na manowce"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Jakie czynniki faktycznie wpływają na lepszą pracę informatyków?"
+ ]
+ }
+ ],
+ "metadata": {
+ "author": "Krzysztof Jassem",
+ "email": "jassem@amu.edu.pl",
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "lang": "pl",
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.5"
+ },
+ "subtitle": "14. Zarządzanie pracami badawczo-rozwojowymi[wykład]",
+ "title": "Przygotowanie do projektu badawczo-rozwojowego",
+ "year": "2021"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/materiały na PPB (wykład)/.ipynb_checkpoints/15_demonstracja_projektu-checkpoint.ipynb b/materiały na PPB (wykład)/.ipynb_checkpoints/15_demonstracja_projektu-checkpoint.ipynb
new file mode 100644
index 0000000..473c78b
--- /dev/null
+++ b/materiały na PPB (wykład)/.ipynb_checkpoints/15_demonstracja_projektu-checkpoint.ipynb
@@ -0,0 +1,54 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "
\n",
+ "
Przygotowanie do projektu badawczo-rozwojowego
\n",
+ " 15. Demonstracja wyników projektu badawczo-rozwojowego [wykład]
\n",
+ "Krzysztof Jassem (2021)
\n",
+ "\n",
+ "\n",
+ "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ "Demonstrowane projekty powinny być na 6. poziomie gotowości technologicznej.\n",
+ "
"
+ ]
+ }
+ ],
+ "metadata": {
+ "author": "Krzysztof Jassem",
+ "email": "jassem@amu.edu.pl",
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "lang": "pl",
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.5"
+ },
+ "subtitle": "15. Demonstracja projektu[wykład]",
+ "title": "Przygotowanie do projektu badawczo-rozwojowego",
+ "year": "2021"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/materiały na PPB (wykład)/.ipynb_checkpoints/Wykład 2. Projekt Badawczo-Rozwojowy-checkpoint.ipynb b/materiały na PPB (wykład)/.ipynb_checkpoints/Wykład 2. Projekt Badawczo-Rozwojowy-checkpoint.ipynb
new file mode 100644
index 0000000..c075cc1
--- /dev/null
+++ b/materiały na PPB (wykład)/.ipynb_checkpoints/Wykład 2. Projekt Badawczo-Rozwojowy-checkpoint.ipynb
@@ -0,0 +1,297 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Projekt badawczo-rozwojowy"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Działalność badawczo-rozwojowa\n",
+ "> Działalność badawczo-rozwojowa to działalność **twórcza** \n",
+ "obejmująca **badania naukowe** lub **prace rozwojowe**, \n",
+ "podejmowana w **sposób systematyczny** \n",
+ "w celu **zwiększenia zasobów wiedzy** \n",
+ "oraz wykorzystania zasobów do **tworzenia nowych zastosowań**."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Definicja projektu badawczo-rozwojowego\n",
+ "Projekt badawczo-rozwojowy to system działań składający się z: \n",
+ "- zakresu projektu, \n",
+ "- terminu realizacji, \n",
+ "- zasobów potrzebnych do realizacji projektu (ludzie, kapitał, wiedza, technologia).\n",
+ "\n",
+ "Projekt badawczo-rowojowy charakteryzuje się następującymi cechami: \n",
+ " - niepowtarzalność,\n",
+ " - złożoność,\n",
+ " - identyfikowalność."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Przykład projektu badawczo-rozwojowego: AI Searcher\n",
+ "\n",
+ "### Definicja projektu:\n",
+ "System działań mających na celu stworzenie systemu informatycznego wspomagającego pracowników Polskiej Straży Granicznej. \n",
+ "\n",
+ "\n",
+ "### Zakres projektu: \n",
+ "System informatyczny wdrożony w siedzibie Straży Granicznej, który ma pomagać w znajdowaniu treści przestępczych w Internecie. \n",
+ "System realizuje następujący scenariusz działania:\n",
+ " 1. Pracownik Straży Granicznej wpisuje zapytanie\n",
+ " 2. Moduł Rozszerzania Zapytań rozszerza zapytanie na zestaw kwerned do wyszukiwarek internetowych\n",
+ " 3. Translator tłumaczy kwerendy na języki: rosyjski, ukraiński i białoruski.\n",
+ " 4. Crawler wyszukuje dokumentów w trzech językach przygranicznych i języku polskim.\n",
+ " 5. Translator tłumaczy znalezione teksty na język polski. \n",
+ " 6. Klasyfikator wybiera teksty potencjalnie przestępcze:\n",
+ " 7. Analizator Lingwistyczny oznacza informację dodatkową w dokumentach:\n",
+ " \n",
+ "### Termin realizacji: \n",
+ "grudzień 2018 - grudzień 2021\n",
+ "\n",
+ "### Zasoby:\n",
+ " * Ludzie: Wojskowa Akademia Techniczna, UAM, Ken-Bit https://www.kenbit.pl/\n",
+ " * Kapitał: dotacja z NCBR\n",
+ " * Wiedza: Najnowsze badania z klasyfikacji tekstu, uczenia automatycznego itp.\n",
+ " * Technologia: Framework do tworzenia interfejsu użytkownika, algorytmy do klasyfikacji tekstu, modele języka\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Poziomy gotowości technologicznej projektu B+R\n",
+ "\n",
+ "### Poziom 1.\n",
+ "Rozpoczęto badania naukowe (np. zdefiniowano tematu pracy mgr).\n",
+ "### Poziom 2.\n",
+ "Znaleziono zastosowania badań naukowych (np. określono, na czym będzie polegał projekt mgr).\n",
+ "### Poziom 3.\n",
+ "Przeprowadzono pierwsze eksperymenty na krytycznych technologiach (np. wykonano proof-of-concept).\n",
+ "\n",
+ "### Poziom 4.\n",
+ "Zintegrowano podstawowe komponenty prototypu w warunkach laboratoryjnych (np. zrealizowano \"user-stories\" na komputerze dewelopera).\n",
+ "### Poziom 5.\n",
+ "Zweryfikowano działanie w warunkach zbliżónych do rzeczywistego (np. przeprowadzono testowanie prototypu wdrożónego na serwerze WMI).\n",
+ "### Poziom 6.\n",
+ "Dokonano demonstracji działania w warunkach zbliżónych do rzeczywistych (np. zademonstrowano wdrożóny prototyp z interakcją użytkowników).\n",
+ "\n",
+ "### Poziom 7.\n",
+ "Dokonano demonstracji systemu w warunkach operacyjnych (np. zademonstrowano prototyp wdrożony u użytkownika / klienta).\n",
+ "\n",
+ "### Poziom 8.\n",
+ "Potwierdzono zamierzony poziom technologii w warunkach operacyjnych (np. pomyślnie zakończono testowanie akceptacyjne).\n",
+ "\n",
+ "### Poziom 9.\n",
+ "Stwierdzono, że wypracowana technologia odniosła zamierzony efekt (np. stwierdzono, że stosowanie rozwiązania przynosi wymierne korzyści). \n",
+ "\n",
+ "[Formalny opis poziomów gotowości technologicznej](https://archiwum.ncbr.gov.pl/fileadmin/zalewska/5_1_1_1_2018/13_poziomy_gotowosci_technologicznej.pdf)\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Produkt High-Tech\n",
+ "Oczekuje się, że wynikiem projektu badawczo-rozwojowego w informatyce jest produkt High-Tech.\n",
+ "\n",
+ "## Czym jest produkt High-Tech?\n",
+ "\n",
+ "### Definicja produktu\n",
+ "Produkt =\n",
+ "Zawartość + \n",
+ "Funkcjonalność +\n",
+ "Konstrukcja +\n",
+ "Monetyzacja \n",
+ "Oczekuje się zatem, że z produkt posiada jakąś zawartość (Zawartość), z której kożna korzystać (Funkcjonalność), gdyż został odpowiednio skonstruowany (Konstrukcja), ale trzeba za to płacić (Monetyzacja)."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "Wyraz \"technologia\" pochodzi z języka greckiego:\n",
+ "* techne: sztuka, umiejętność,\n",
+ "* logia: nauka (czegoś) \n",
+ "\n",
+ "Technologia w dzisiejszym rozumieniu to zastosowanie wiedzy naukowej do stworzenia czegoś pożytecznego dla człowieka."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Czym jest produkt \"high-tech\"?\n",
+ "Produkt \"high tech\" to taki produkt, który wykorzystuje najnowszą wiedzę naukową i techniczną. \n",
+ "Produkt \"high tech\" wymaga nakładów na badania (*R&D investments*). \n",
+ "\n",
+ "R&D Investments a wartość produktu:\n",
+ "* Low-tech (< 1.0%);\n",
+ "* Medium-low-tech (1.0%-2.5%);\n",
+ "* Medium-high-tech (2.5%-8%); \n",
+ "* High-tech (>8.0%)\n",
+ "\n",
+ "### Cechy produktu \"high-tech\" z punktu widzenia inwestora\n",
+ "Dcydując się na wytworzenie produktu high-tech\", inwestor powinien brać pod uwagę ryzyko wynikające z następujących cech produktów tej kategorii:\n",
+ "* złożoność technologiczna\n",
+ "* krótki cykl życia (spowodowany wyścigiem technologicznym)\n",
+ "* szybkie starzenie się\n",
+ "* niewielka liczba klientów w początkowym stadium sprzedaży\n",
+ "* duże nakłady na R&D\n",
+ "* niepewności technologiczne\n",
+ "\n",
+ "### Cechy produktu \"high-tech\" z punktu widzenia klienta\n",
+ "Dcydując się na zakup produktu high-tech\", klient powinien brać pod uwagę ryzyko wynikające z następujących cech produktów tej kategorii:\n",
+ "* dezorientacja klienta (np. jak działa produkt)\n",
+ "* niespełnianie oczekiwań (przez pierwsze wersje)\n",
+ "* duża konkurencja\n",
+ "* możliwość błyskawicznego upadku rynku \n",
+ "* spadająca cena produktu\n",
+ "* szybki wzrost stosunku jakości do ceny\n",
+ "\n",
+ "### Ocena ryzyka\n",
+ "Na 7 zaawansowanych pomysłów produktu high-tech: \n",
+ "* 4 wchodzą w fazę realizacji,\n",
+ "* 1.5 są uruchamiane,\n",
+ "* 1 odnosi sukces."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# \"Golden Rules\" na odniesienie sukcesu\n",
+ "Aby produkt high-tech miał szanse odnieść sukces na rynku, powinien spełniać przynajmniej kilka z wymienionych poniżej postulatów:\n",
+ "\n",
+ "## 1. \"Zapewnij nowatorską / wyjątkową (\"unique\") funkcję lub cechę\"\n",
+ "* Pomysł musi być nowatorski - a nie skopiowany\n",
+ "* Taki produkt wymaga R&D...\n",
+ " * A to jest kosztowne i\n",
+ " * Trudne w konstrukcji\n",
+ "* Często pomysły chronione są przez patenty.\n",
+ "\n",
+ "\"Nowatorski\" może oznaczać \"nowy model sprzedaży\"\n",
+ "\n",
+ "## 2. \"Popraw wydajność użytkownika\"\n",
+ "Czego oczekujemy od systemu informatycznego:\n",
+ "* Wykonuj wszystko szybciej i taniej\n",
+ " * Skróć czas nauki\n",
+ " * Automatycznie poprawiaj błędy\n",
+ " * Automatyzuj niektóre kroki\n",
+ "* Dbaj o wygodę użytkowania\n",
+ "* Unikaj\n",
+ " * Reklam\n",
+ " * Przestojów na płacenie (np. bramek)\n",
+ " * Ogólnie: czynności, ktore pochłaniają czas użytkownika\n",
+ "\n",
+ "## 3. \"Chroń inwestycje użytkownika\"\n",
+ "Zasada ta mówi o tym, aby szanować pieniądze wydane przez użytkownika przed wprowadzeniem naszego rozwiązania. Dotyczy to:\n",
+ "* hardware'u\n",
+ "* software'u\n",
+ "* danych\n",
+ "\n",
+ "Czego oczekujemy od systemu informatycznego:\n",
+ "* Minimalizuj koszty zmian\n",
+ "* Wydłużaj czas życia produktów\n",
+ "* Twórz rozwiązania przenośne\n",
+ "\n",
+ "## 4. \"Minimalizuj koszty awarii lub utraty danych\"\n",
+ "Czego oczekujemy od systemu informatycznego:\n",
+ "* Unikaj przerw w działaniu\n",
+ "* Skracaj czas i zmniejszaj koszty przywrócenia:\n",
+ " * działania\n",
+ " * danych\n",
+ "\n",
+ "## 5. \"Poprawiaj wspólczynnik jakości do ceny\"\n",
+ "Czego oczekujemy od systemu informatycznego:\n",
+ "* Dostarczaj więcej za mniej\n",
+ " * Podwyższaj jakość\n",
+ " * Zmniejszaj cenę\n",
+ " * A najlepiej - obie czynności\n",
+ " \n",
+ "* Jakość (wydajność) przedstawiaj w liczbach\n",
+ " * Gb, 100-punktowa miara jakości\n",
+ " * sekundy...\n",
+ "\n",
+ "## 6. \"Zapewnij elastyczność i skalowalność\"\n",
+ "Rozwiązanie jest **elastyczne**, jeśłi może być stosowane w różnych scenariuszach. \n",
+ "Rozwiązanie jest **skalowalne**, jeśli można je stsosować zarówno dla małych, jak i dużych wielkości danych.\n",
+ "\n",
+ "Czego oczekujemy od systemu informatycznego:\n",
+ "* Umożliwiaj dodawanie / usuwanie funkcji\n",
+ "* Zapewnij użycie w różnych środowiskach\n",
+ "* Zapewnij możliwość stosowania dla większych zbiorów danych\n",
+ "\n",
+ "## 7. \"Zadbaj o atrakcyjny wygląd\"\n",
+ "Rozwiązanie powinno być ładne i ...modne.\n",
+ "\n",
+ "Czego oczekujemy od systemu informatycznego:\n",
+ "* Weź pod uwagę:\n",
+ " * kolorystykę\n",
+ " * kształt\n",
+ " * wykończenie\n",
+ " * prostotę\n",
+ " \n",
+ "## 8. \"Dostarczaj rozrywkę\"\n",
+ "Czego oczekujemy od systemu informatycznego:\n",
+ "* \"Dzieci\" lubią się bawić - dostarczaj zabawę\n",
+ "* Ludzie lubią wyzwania - dostarczaj wyzwania\n",
+ "* Ludzie lubią rywalizację...\n",
+ "* Ludzie mają swoje hobby i upodobania...\n",
+ "* Wszyscy wolą wakacje od pracy... \n",
+ " \n",
+ "## 9. \"Stwórz nową modę\"\n",
+ "Stworzenie nowej mody jest niezwykle trudne i kosztowne. Ale kilku producentom się udało.\n",
+ "Wskazówki:\n",
+ "* Produkt musi być \"osobisty\".\n",
+ "* Musi mieć wygląd określany jako \"cool\".\n",
+ "* Trzeba sprzedawać go drogo...\n",
+ "* ... w niewielkich ilościach...\n",
+ "* ... ale za to robić wokół niego sporo szumu.\n",
+ "\n"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.7.6"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/materiały na PPB (wykład)/.ipynb_checkpoints/json_script-checkpoint.ipynb b/materiały na PPB (wykład)/.ipynb_checkpoints/json_script-checkpoint.ipynb
new file mode 100644
index 0000000..01ec379
--- /dev/null
+++ b/materiały na PPB (wykład)/.ipynb_checkpoints/json_script-checkpoint.ipynb
@@ -0,0 +1,114 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#procedura napisywania plików ipynb (generowanie nagłówka i metadanych)\n",
+ "import json\n",
+ "\n",
+ "def modjup(filen,numer,tytul,typ,author,email,lang,title,year):\n",
+ " zerocell=['![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\\n',\n",
+ " '
\\n', \n",
+ " '
%s
\\n'%(title),\n",
+ " ' %s. %s [%s]
\\n'%(numer,tytul,typ),\n",
+ " ' %s (%s)
\\n'%(author,year),\n",
+ " '\\n',\n",
+ " '\\n',\n",
+ " '![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)']\n",
+ " zerodict={'cell_type': 'markdown','metadata': {'collapsed': False},'source': zerocell}\n",
+ " with open(filen, 'r+') as f:\n",
+ " ll=json.load(f)\n",
+ " ll[\"metadata\"][\"author\"]=author\n",
+ " ll[\"metadata\"][\"email\"]=email\n",
+ " ll[\"metadata\"][\"lang\"]=lang\n",
+ " subtitle=\"%s.%s[%s]\"%(numer,tytul,typ)\n",
+ " ll[\"metadata\"][\"subtitle\"]=subtitle\n",
+ " ll[\"metadata\"][\"title\"]=title\n",
+ " ll[\"metadata\"][\"year\"]=year\n",
+ " \n",
+ " if not(ll['cells'][0]['source'][0]==zerocell[0]):\n",
+ " ll['cells'].insert(0,zerodict)\n",
+ " else:\n",
+ " ll['cells'][0]=zerodict\n",
+ " f.seek(0)\n",
+ " json.dump(ll,f,indent=4)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [
+ {
+ "ename": "UnicodeDecodeError",
+ "evalue": "'charmap' codec can't decode byte 0x81 in position 8350: character maps to
",
+ "output_type": "error",
+ "traceback": [
+ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[1;31mUnicodeDecodeError\u001b[0m Traceback (most recent call last)",
+ "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 13\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 14\u001b[0m \u001b[1;31m#uruchom procedurę\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 15\u001b[1;33m \u001b[0mmodjup\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfilen\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mnumer\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mtytul\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mtyp\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mauthor\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0memail\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mlang\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mtitle\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0myear\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
+ "\u001b[1;32m\u001b[0m in \u001b[0;36mmodjup\u001b[1;34m(filen, numer, tytul, typ, author, email, lang, title, year)\u001b[0m\n\u001b[0;32m 13\u001b[0m \u001b[0mzerodict\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;33m{\u001b[0m\u001b[1;34m'cell_type'\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;34m'markdown'\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m'metadata'\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;33m{\u001b[0m\u001b[1;34m'collapsed'\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;32mFalse\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m'source'\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mzerocell\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 14\u001b[0m \u001b[1;32mwith\u001b[0m \u001b[0mopen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfilen\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'r+'\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0mf\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 15\u001b[1;33m \u001b[0mll\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mjson\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mload\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mf\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 16\u001b[0m \u001b[0mll\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"metadata\"\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"author\"\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mauthor\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 17\u001b[0m \u001b[0mll\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"metadata\"\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"email\"\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0memail\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;32m~\\anaconda3\\lib\\json\\__init__.py\u001b[0m in \u001b[0;36mload\u001b[1;34m(fp, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)\u001b[0m\n\u001b[0;32m 291\u001b[0m \u001b[0mkwarg\u001b[0m\u001b[1;33m;\u001b[0m \u001b[0motherwise\u001b[0m\u001b[0;31m \u001b[0m\u001b[0;31m`\u001b[0m\u001b[0;31m`\u001b[0m\u001b[0mJSONDecoder\u001b[0m\u001b[0;31m`\u001b[0m\u001b[0;31m`\u001b[0m \u001b[1;32mis\u001b[0m \u001b[0mused\u001b[0m\u001b[1;33m.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 292\u001b[0m \"\"\"\n\u001b[1;32m--> 293\u001b[1;33m return loads(fp.read(),\n\u001b[0m\u001b[0;32m 294\u001b[0m \u001b[0mcls\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mcls\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mobject_hook\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mobject_hook\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 295\u001b[0m \u001b[0mparse_float\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mparse_float\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mparse_int\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mparse_int\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;32m~\\anaconda3\\lib\\encodings\\cp1250.py\u001b[0m in \u001b[0;36mdecode\u001b[1;34m(self, input, final)\u001b[0m\n\u001b[0;32m 21\u001b[0m \u001b[1;32mclass\u001b[0m \u001b[0mIncrementalDecoder\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mcodecs\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mIncrementalDecoder\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 22\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mdecode\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0minput\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfinal\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mFalse\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 23\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mcodecs\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcharmap_decode\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0minput\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0merrors\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mdecoding_table\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 24\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 25\u001b[0m \u001b[1;32mclass\u001b[0m \u001b[0mStreamWriter\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mCodec\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mcodecs\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mStreamWriter\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;31mUnicodeDecodeError\u001b[0m: 'charmap' codec can't decode byte 0x81 in position 8350: character maps to "
+ ]
+ }
+ ],
+ "source": [
+ "#zmodyfikuj te dane\n",
+ "filen=\"01_praca_zespolowa.ipynb\"\n",
+ "\n",
+ "numer=\"1\"\n",
+ "tytul=\"\"\n",
+ "typ=\"wyklad\"\n",
+ "\n",
+ "author=\"Krzysztof Jassem\"\n",
+ "email=\"jassem@amu.edu.pl\"\n",
+ "lang= \"pl\"\n",
+ "title=\"Przygotowanie do projektu badawczo-rozwojowego\"\n",
+ "year=\"2021\"\n",
+ "\n",
+ "#uruchom procedurę\n",
+ "modjup(filen,numer,tytul,typ,author,email,lang,title,year)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.7.6"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/materiały na PPB (wykład)/01_praca_zespolowa.ipynb b/materiały na PPB (wykład)/01_praca_zespolowa.ipynb
new file mode 100644
index 0000000..6100c9d
--- /dev/null
+++ b/materiały na PPB (wykład)/01_praca_zespolowa.ipynb
@@ -0,0 +1,274 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "\n",
+ "
Przygotowanie do projektu badawczo-rozwojowego
\n",
+ " 1. Praca zespołowa[wykład]
\n",
+ "Krzysztof Jassem (2021)
\n",
+ "\n",
+ "\n",
+ "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Praca zespołowa w projekcie badawczo-rozwojowym\n",
+ "## Cele wykładu\n",
+ "1. Stworzenie zespołów projektowych\n",
+ "2. Zapewnienie dobrej współpracy w zespołach\n",
+ "3. Wybór liderów"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# 1. Jak działa nasza pamięć?\n",
+ "## Rodzaje pamięci\n",
+ "### Pamięć sensoryczna\n",
+ "Pamięć sensoryczna to inaczej pamięć zmysłów.\n",
+ "#### Charaterystyka pamięci sensorycznej\n",
+ "* krótki czas trwania (do ok. 0,5 s),\n",
+ "* duża pojemność (ok. 99% nadchodzących informacji),\n",
+ "* powiązanie ze zmysłami (węch, wzrok, dotych, słuch, smak)."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ " \n",
+ "
Przykład
\n",
+ " \n",
+ "Dźwięk słyszymy przez pewien czas (min. 0,5 sek. - nawet gdy trwa krócej)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Interakcje pamięci sensorycznej\n",
+ "Informacje z pamięci sensorycznej przekazywane są do pamięci krótkotrwałej.\n",
+ "\n",
+ "### Pamięć krótkotrwała\n",
+ "Przechowuje niewielkie ilości informacji przez krótki okres (bez dokonywania powtórek: kilka do kilkunastu sekund).\n",
+ "\n",
+ "#### Interakcje pamięci krótkotrwałej\n",
+ "Pobiera informacje z pamięci sensorycznej, z pamięci krótkotrwałej oraz z pamięci długotrwałej.\n",
+ "Przekazuje informacje do pamięci krótkotrwałej i długotrwałej.\n",
+ "\n",
+ "#### Liczba Millera\n",
+ "Jest to liczba ustalona przez George'a Millera (1920 - 2012), amerykańskiego psychologa, uważanego za twórzę psychologii poznawczej, w roku 1956 na podstawie badań psychologicznych nad zapamiętywaniem informacji. Liczba ta waha się w zależności od rodzaju informacji do zapamiętania (dźwięk, smak, obraz, liczba), ale zawsze jest to około 7 (±2).\n",
+ "\n",
+ "##### Wnioski w pracy zespołowej\n",
+ "* Nie warto zasypywać kolegi z zespołu nadmiarem informacji zo zapamiętania (bo i tak nie zapamięta).\n",
+ "* Pozycje do zapamiętania lepiej jest podzielić na kategorie, (między 5-9). \n",
+ "* Można dokonać kolejnego podziału pozycji na podkategorie. Takich podziałów można dokonać wgłąb do poziomu 7 :)\n",
+ "\n",
+ "### Pamięć długotrwała\n",
+ "* W pamięci długotrwałej tworzony jest wynik przetwarzania informacji - trwały ślad pamięciowy. \n",
+ "* Pamięć długotrwała zawiera całą naszą wiedzę na temat świata, wszystkie wspomnienia i umiejętności. \n",
+ "* Jest to pamięć o największej pojemności i najdłuższym czasie przechowywania informacji.\n",
+ "\n",
+ "#### Interakcje pamięci długotrwałej\n",
+ "* Pobiera informacje z pamięci krótkotrwałej.\n",
+ "* Przekazuje informacje do pamięci krótkotrwałej."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# 2. Motywacja do pracy\n",
+ ">Motywowanie do pracy to proces świadomego i celowego oddziaływania na pracowników poprzez dostarczanie środków i możliwości spełnienia ich oczekiwań w taki sposób, aby obie strony (pracodawca i pracownik) odniosły korzyści (Encyklopedia zarządzania)\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Piramida potrzeb Maslova
\n",
+ "
\n",
+ " - Potrzeby fizjologiczne (najniższy rząd potrzeb)
\n",
+ "- Potrzeby bezpieczeństwa
\n",
+ "- Potrzeby przynależności
\n",
+ "- Potrzeby uznania
\n",
+ "- Potrzeby samorealizacji
\n",
+ "
\n",
+ "\n",
+ "
Teoria Maslova
\n",
+ "
\n",
+ "- Motywacja to chęć zaspokojenie potrzeby najsilniej odczuwanej.
\n",
+ "- Zaspokojenie potrzeby wyższego rzędu może nastąpić nie wcześniej niż po zaspokojeniu potrzeby niższego rzędu.
\n",
+ "
\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Typy pracowników\n",
+ "W rzeczywistości po zaspokojeniu potrzeb najniższych kolejność potrzeb wyższego rzędu zależy od osobowości pracownika. Pracownicy różnią się bowiem w aspektach motywacji do pracy (co motywuje najbardziej) i podejścia do pracy (sposób realizacji pracy).\n",
+ "\n",
+ "### Typy pracowników pod względem motywacji\n",
+ "A. Pracownik nastawiony na wykonanie zadania \n",
+ "B. Pracownik nastawiony na siebie (własny rozwój; satysfakcję) \n",
+ "C. Pracownik nastawiony na interakcję (komunikację w grupie)\n",
+ "\n",
+ "### Typy pracowników pod względem podejścia do pracy\n",
+ "1. Posuwający pracę do przodu\n",
+ "2. Wybitny technik; specjalista w dziedzinie\n",
+ "3. Uznający priorytet komunikacji, współpracy między wykonawcami projektu"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# 3. Zespół projektowy\n",
+ "> Zespół projektowy to niewielka liczba ludzi posiadających komplementarne umiejętności, zaangażowanych w realizację wspólnego celu ogólnego oraz celów cząstkowych, których podejście opiera się na współodpowiedzialności” (J.Katzenach, D.Smith 2001, Siła zespołów. Wpływ pracy zespołowej na efektywność organizacji\", s. 26).\n",
+ "\n",
+ "Na skuteczność pracy w zespole mają wpływ 4 główne czynniki:\n",
+ "* Skład zespołu\n",
+ "* Spójność grupy\n",
+ "* Komunikacja w zespole\n",
+ "* Organizacja zespołu\n",
+ "\n",
+ "## Skład zespołu\n",
+ "### Członkowie zespołu\n",
+ "Grupa powinna zawierać uzupełniające się osobowości:\n",
+ "* ludzi mających własne pomysły - wybitnych techników (B2)\n",
+ "* ludzi nastawionych na komunikację z innymi (C3)\n",
+ "* ludzi nastawionych na posuwanie pracy do przodu (A1) \n",
+ "\n",
+ "### Lider zespołu\n",
+ "* Lider odgrywa najważniejszą rolę w zespole.\n",
+ "* Liderzy z reguły są mianowani i odpowiadają przed menedżerem przedsięwzięcia.\n",
+ "* Liderzy muszą codziennie śledzić pracę swojej grupy i blisko współpracować z menedżerami przedsięwzięcia.\n",
+ "* Lider musi być akceptowany przez zespół.\n",
+ "\n",
+ "## Spójność grupy\n",
+ "Grupa spójna (inaczej: zgrana) to grupa, w której:\n",
+ "* członkowie mają wspólne cele,\n",
+ "* nie występują kliki (podgrupy).\n",
+ "\n",
+ "### Zalety grupy spójnej\n",
+ "* Można wypracować grupowy standard jakości.\n",
+ "* Bliska współpraca – członkowie uczą się od siebie nawzajem.\n",
+ "* Członkowie grupy znają nawzajem swoje prace. Opuszczenie grupy przez jej członka nie powoduje utracenie ciągłości pracy.\n",
+ "* Programowanie jest pozbawione indywidualizmu (program uważany jest za własność grupy).\n",
+ "\n",
+ "### Wady grupy spójnej\n",
+ "* Nieracjonalny opór przed zmianą lidera;\n",
+ "* Myślenie grupowe – krytyczne umiejętności członków grupy osłabione są przez lojalność wobec grupy.\n",
+ "\n",
+ "## Komunikacja w zespole\n",
+ "Proces skutecznej komunikacji to przekazywanie informacji w sposób powodujący realizację celów. \n",
+ "Skutkiem efektywnej komunikacji jest zwiększenie motywacji do pracy oraz zmniejszenie oporu wobec zmian. \n",
+ "\n",
+ "### Zasady skutecznej komunikacji\n",
+ "* Dostosowanie klarowności wypowiedzi do odbiorcy\n",
+ "* Dostosowanie *metod komunikacji* do zespołu\n",
+ "\n",
+ "### Metody komunikacji\n",
+ "* Pionowa lub pozioma\n",
+ "* Jednostronna lub dwustronna\n",
+ "* Werbalna lub pisemna\n",
+ "* Formalna lub nieformalna\n",
+ "\n",
+ "## Organizacja zespołu\n",
+ "Organizacja zespołu to hierarchia ról przypisanych członkom zespołu.\n",
+ "\n",
+ "### Rodzaje organizacji zespołu\n",
+ "#### Organizacja formalna (hierachiczna)\n",
+ "Formalna, hierarchiczna organizacja zespołu jest niezbędna w przypadku pracowników niedoświadczonych.\n",
+ "\n",
+ "#### Organizacja nieformalna\n",
+ "Organizacja nieformalna sprawdza się, gdy większość członków to ludzie doświadczeni i kompetentni.\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# 4. Lider zespołu\n",
+ "Lider zespołu to w ogólności osoba zarządzająca członkami zespołu w celu realizacji celów powierzonego projektu. \n",
+ "W prezentowanym NA TYM WYKŁADZIE podejściu lider to osoba zapewniająca motywację do pracy członkom zespołu.\n",
+ "\n",
+ "## Typy lidera (wg Daniela Goldmana)\n",
+ "\n",
+ "> Daniel Goleman (ur. 7 marca 1946 w Stockton) – amerykański psycholog żydowskiego pochodzenia, publicysta naukowy. Autor bestselleru Inteligencja emocjonalna (1995). (Wikipedia)\n",
+ "\n",
+ "### Wizjoner: \"Chodź ze mną\"\n",
+ "* Pokazuje kierunek działania.\n",
+ "* Motywuje do osiągania wspólnych celów.\n",
+ "* Pozwala ludziom samodzielnie poszukiwać nowych rozwiązań.\n",
+ "* Przyciąga ludzi do siebie, docenia i promuje rolę poszczególnych osób w zespole.\n",
+ "\n",
+ "### Trener: \"Rozwijaj się\"\n",
+ "* Motywuje ludzi do lepszej pracy poprzez rozpoznawanie ich mocnych i słabych stron.\n",
+ "* Zachęca ludzi, aby walczyli z przeciwnościami i rozwijali się.\n",
+ "* Zachęca, by korzystali ze swoich mocnych, pozytywnych cech i czerpali z nich napęd do pracy.\n",
+ "\n",
+ "### Lider afiliacyjny: \"Porozmawiajmy\"\n",
+ "* Szanuje każdą osobę pracującą w organizacji.\n",
+ "* „Ludzie to nie roboty” – odczuwają radość i zmęczenie.\n",
+ "* Szczerze interesuje się życiem swoich pracowników.\n",
+ "* Dba o dobrą atmosferę pracy.\n",
+ "* Posiada wysoką empatię, czyli umiejętność odczytywania uczuć i dostrzegania punktu widzenia innych osób.\n",
+ "\n",
+ "### Demokrata: \"Każdy głos jest ważny\"\n",
+ "* Liczy się zdanie każdego pracownika.\n",
+ "* Potrafi słuchać ludzi i wykorzystywać ich pomysły.\n",
+ "* Potrafi przyjmować również krytykę.\n",
+ "* Pracownicy mają poczucie, że uczestniczą w decyzjach podejmowanych w firmie, przez co bardziej angażują się w pracę.\n",
+ "\n",
+ "### Poganiacz: \"Zrób to natychmiast\"\n",
+ "* Ustawia wysokie standardy pracy zarówno dla siebie jak i dla swoich pracowników\n",
+ "* Jest bardzo mocno nastawiony na sukces, koncentruje się na nieustannym poprawianiu wyników. \n",
+ "* Jego popularne powiedzenie to: „rób to, co ja – natychmiast!”.\n",
+ "\n",
+ "### Dyktator: \"Rób, co każę\"\n",
+ "* Nazywany „zarządzaniem przez strach”.\n",
+ "* Polega na ciągłym kontrolowaniu pracowników, wydawaniu im poleceń i oczekiwaniu, że zostaną one wypełnione dokładnie tak, jak wymaga tego przywódca. \n",
+ "* To on podejmuje decyzje, a polecenia wydaje w sposób zdecydowany, stanowczy i nie znoszący sprzeciwu.\n"
+ ]
+ }
+ ],
+ "metadata": {
+ "author": "Krzysztof Jassem",
+ "email": "jassem@amu.edu.pl",
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "lang": "pl",
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.5"
+ },
+ "subtitle": "01. Praca zespołowa[wykład]",
+ "title": "Przygotowanie do projektu badawczo-rozwojowego",
+ "year": "2021"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/materiały na PPB (wykład)/02_projekt_badawczo-rozwojowy.ipynb b/materiały na PPB (wykład)/02_projekt_badawczo-rozwojowy.ipynb
new file mode 100644
index 0000000..377e9c2
--- /dev/null
+++ b/materiały na PPB (wykład)/02_projekt_badawczo-rozwojowy.ipynb
@@ -0,0 +1,311 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "
\n",
+ "
Przygotowanie do projektu badawczo-rozwojowego
\n",
+ " 2. Projekt badawczo-rozwojowy[wykład]
\n",
+ "Krzysztof Jassem (2021)
\n",
+ "\n",
+ "\n",
+ "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Działalność badawczo-rozwojowa\n",
+ "> Działalność badawczo-rozwojowa to działalność **twórcza** \n",
+ "obejmująca **badania naukowe** lub **prace rozwojowe**, \n",
+ "podejmowana w **sposób systematyczny** \n",
+ "w celu **zwiększenia zasobów wiedzy** \n",
+ "oraz wykorzystania zasobów do **tworzenia nowych zastosowań**."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Definicja projektu badawczo-rozwojowego\n",
+ "Projekt badawczo-rozwojowy to system działań składający się z: \n",
+ "- zakresu projektu, \n",
+ "- terminu realizacji, \n",
+ "- zasobów potrzebnych do realizacji projektu (ludzie, kapitał, wiedza, technologia).\n",
+ "\n",
+ "Projekt badawczo-rowojowy charakteryzuje się następującymi cechami: \n",
+ " - niepowtarzalność,\n",
+ " - złożoność,\n",
+ " - identyfikowalność."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Przykład projektu badawczo-rozwojowego: AI Searcher\n",
+ "\n",
+ "### Definicja projektu:\n",
+ "System działań mających na celu stworzenie systemu informatycznego wspomagającego pracowników Polskiej Straży Granicznej. \n",
+ "\n",
+ "\n",
+ "### Zakres projektu: \n",
+ "System informatyczny wdrożony w siedzibie Straży Granicznej, który ma pomagać w znajdowaniu treści przestępczych w Internecie. \n",
+ "System realizuje następujący scenariusz działania:\n",
+ " 1. Pracownik Straży Granicznej wpisuje zapytanie.\n",
+ " 2. Moduł Rozszerzania Zapytań rozszerza zapytanie na zestaw kwerned do wyszukiwarek internetowych.\n",
+ " 3. Translator tłumaczy kwerendy na języki: rosyjski, ukraiński i białoruski.\n",
+ " 4. Crawler wyszukuje dokumentów w trzech językach przygranicznych i języku polskim.\n",
+ " 5. Translator tłumaczy znalezione teksty na język polski. \n",
+ " 6. Klasyfikator wybiera teksty potencjalnie przestępcze.\n",
+ " 7. Analizator Lingwistyczny oznacza informację dodatkową w dokumentach:\n",
+ " \n",
+ "### Termin realizacji: \n",
+ "grudzień 2018 - grudzień 2021\n",
+ "\n",
+ "### Zasoby:\n",
+ " * Ludzie: Wojskowa Akademia Techniczna, UAM, Ken-Bit https://www.kenbit.pl/\n",
+ " * Kapitał: dotacja z NCBR\n",
+ " * Wiedza: Najnowsze badania z klasyfikacji tekstu, uczenia automatycznego itp.\n",
+ " * Technologia: Framework do tworzenia interfejsu użytkownika, algorytmy do klasyfikacji tekstu, modele języka"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Poglądowy widok systemu AI Searcher\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Poziomy gotowości technologicznej projektu B+R\n",
+ "\n",
+ "### Poziom 1.\n",
+ "Rozpoczęto badania naukowe (np. zdefiniowano tematu pracy mgr).\n",
+ "### Poziom 2.\n",
+ "Znaleziono zastosowania badań naukowych (np. określono, na czym będzie polegał projekt mgr).\n",
+ "### Poziom 3.\n",
+ "Przeprowadzono pierwsze eksperymenty na krytycznych technologiach (np. wykonano proof-of-concept).\n",
+ "\n",
+ "### Poziom 4.\n",
+ "Zintegrowano podstawowe komponenty prototypu w warunkach laboratoryjnych (np. zrealizowano \"user-stories\" na komputerze dewelopera).\n",
+ "### Poziom 5.\n",
+ "Zweryfikowano działanie w warunkach zbliżónych do rzeczywistego (np. przeprowadzono testowanie prototypu wdrożónego na serwerze WMI).\n",
+ "### Poziom 6.\n",
+ "Dokonano demonstracji działania w warunkach zbliżónych do rzeczywistych (np. zademonstrowano wdrożony prototyp z interakcją użytkowników).\n",
+ "\n",
+ "### Poziom 7.\n",
+ "Dokonano demonstracji systemu w warunkach operacyjnych (np. zademonstrowano prototyp wdrożony u użytkownika / klienta).\n",
+ "\n",
+ "### Poziom 8.\n",
+ "Potwierdzono zamierzony poziom technologii w warunkach operacyjnych (np. pomyślnie zakończono testowanie akceptacyjne).\n",
+ "\n",
+ "### Poziom 9.\n",
+ "Stwierdzono, że wypracowana technologia odniosła zamierzony efekt (np. stwierdzono, że stosowanie rozwiązania przynosi wymierne korzyści). \n",
+ "\n",
+ "[Formalny opis poziomów gotowości technologicznej](https://archiwum.ncbr.gov.pl/fileadmin/zalewska/5_1_1_1_2018/13_poziomy_gotowosci_technologicznej.pdf)\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Produkt High-Tech\n",
+ "Oczekuje się, że wynikiem projektu badawczo-rozwojowego w informatyce jest produkt High-Tech.\n",
+ "\n",
+ "## Czym jest produkt High-Tech?\n",
+ "\n",
+ "### Definicja produktu\n",
+ "Produkt = \n",
+ "Zawartość + \n",
+ "Funkcjonalność + \n",
+ "Konstrukcja + \n",
+ "Monetyzacja \n",
+ "Oczekuje się zatem, że z produkt posiada jakąś zawartość (Zawartość), z której kożna korzystać (Funkcjonalność), gdyż został odpowiednio skonstruowany (Konstrukcja), ale trzeba za to płacić (Monetyzacja)."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "Wyraz \"technologia\" pochodzi z języka greckiego:\n",
+ "
\n",
+ " - techne: sztuka, umiejętność
\n",
+ " - logia: nauka (czegoś)
\n",
+ "
\n",
+ "\n",
+ "Technologia w dzisiejszym rozumieniu to zastosowanie wiedzy naukowej do stworzenia czegoś pożytecznego dla człowieka."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Czym jest produkt \"high-tech\"?\n",
+ "Produkt \"high tech\" to taki produkt, który wykorzystuje najnowszą wiedzę naukową i techniczną. \n",
+ "Produkt \"high tech\" wymaga nakładów na badania (*R&D investments*). \n",
+ "\n",
+ "R&D Investments a wartość produktu:\n",
+ "* Low-tech (< 1.0%);\n",
+ "* Medium-low-tech (1.0%-2.5%);\n",
+ "* Medium-high-tech (2.5%-8%); \n",
+ "* High-tech (>8.0%)\n",
+ "\n",
+ "### Cechy produktu \"high-tech\" z punktu widzenia inwestora\n",
+ "Dcydując się na wytworzenie produktu high-tech\", inwestor powinien brać pod uwagę ryzyko wynikające z następujących cech produktów tej kategorii:\n",
+ "* złożoność technologiczna,\n",
+ "* krótki cykl życia (spowodowany wyścigiem technologicznym),\n",
+ "* szybkie starzenie się,\n",
+ "* niewielka liczba klientów w początkowym stadium sprzedaży,\n",
+ "* duże nakłady na R&D,\n",
+ "* niepewności technologiczne.\n",
+ "\n",
+ "### Cechy produktu \"high-tech\" z punktu widzenia klienta\n",
+ "Dcydując się na zakup produktu high-tech\", klient powinien brać pod uwagę ryzyko wynikające z następujących cech produktów tej kategorii:\n",
+ "* dezorientacja klienta (np. jak działa produkt),\n",
+ "* niespełnianie oczekiwań (przez pierwsze wersje),\n",
+ "* duża konkurencja,\n",
+ "* możliwość błyskawicznego upadku rynku,\n",
+ "* spadająca cena produktu,\n",
+ "* szybki wzrost stosunku jakości do ceny.\n",
+ "\n",
+ "### Ocena ryzyka\n",
+ "Na 7 zaawansowanych pomysłów produktu high-tech: \n",
+ "* 4 wchodzą w fazę realizacji,\n",
+ "* 1.5 są uruchamiane,\n",
+ "* 1 odnosi sukces."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# \"Golden Rules\" na odniesienie sukcesu\n",
+ "Aby produkt high-tech miał szanse odnieść sukces na rynku, powinien spełniać przynajmniej kilka z wymienionych poniżej postulatów:\n",
+ "\n",
+ "## 1. \"Zapewnij nowatorską / wyjątkową (\"unique\") funkcję lub cechę\"\n",
+ "* Pomysł musi być nowatorski - a nie skopiowany.\n",
+ "* Taki produkt wymaga R&D...\n",
+ " * A to jest kosztowne i...\n",
+ " * Trudne w konstrukcji.\n",
+ "* Często pomysły chronione są przez patenty.\n",
+ "\n",
+ "\"Nowatorski\" może oznaczać \"nowy model sprzedaży\"\n",
+ "\n",
+ "## 2. \"Popraw wydajność użytkownika\"\n",
+ "Czego oczekujemy od systemu informatycznego:\n",
+ "* Wykonuj wszystko szybciej i taniej:\n",
+ " * Skróć czas nauki\n",
+ " * Automatycznie poprawiaj błędy\n",
+ " * Automatyzuj niektóre kroki\n",
+ "* Dbaj o wygodę użytkowania\n",
+ "* Unikaj:\n",
+ " * Reklam\n",
+ " * Przestojów na płacenie (np. bramek)\n",
+ " * Ogólnie: czynności, ktore pochłaniają czas użytkownika\n",
+ "\n",
+ "## 3. \"Chroń inwestycje użytkownika\"\n",
+ "Zasada ta mówi o tym, aby szanować pieniądze wydane przez użytkownika przed wprowadzeniem naszego rozwiązania. Dotyczy to:\n",
+ "* hardware'u\n",
+ "* software'u\n",
+ "* danych\n",
+ "\n",
+ "Czego oczekujemy od systemu informatycznego:\n",
+ "* Minimalizuj koszty zmian\n",
+ "* Wydłużaj czas życia produktów\n",
+ "* Twórz rozwiązania przenośne\n",
+ "\n",
+ "## 4. \"Minimalizuj koszty awarii lub utraty danych\"\n",
+ "Czego oczekujemy od systemu informatycznego:\n",
+ "* Unikaj przerw w działaniu\n",
+ "* Skracaj czas i zmniejszaj koszty przywrócenia:\n",
+ " * działania\n",
+ " * danych\n",
+ "\n",
+ "## 5. \"Poprawiaj wspólczynnik jakości do ceny\"\n",
+ "Czego oczekujemy od systemu informatycznego:\n",
+ "* Dostarczaj więcej za mniej\n",
+ " * Podwyższaj jakość\n",
+ " * Zmniejszaj cenę\n",
+ " * A najlepiej - obie czynności naraz\n",
+ " \n",
+ "* Jakość (wydajność) przedstawiaj w liczbach\n",
+ " * Gb, 100-punktowa miara jakości\n",
+ " * sekundy...\n",
+ "\n",
+ "## 6. \"Zapewnij elastyczność i skalowalność\"\n",
+ "Rozwiązanie jest **elastyczne**, jeśłi może być stosowane w różnych scenariuszach. \n",
+ "Rozwiązanie jest **skalowalne**, jeśli można je stsosować zarówno dla małych, jak i dużych wielkości danych.\n",
+ "\n",
+ "Czego oczekujemy od systemu informatycznego:\n",
+ "* Umożliwiaj dodawanie / usuwanie funkcji\n",
+ "* Zapewnij użycie w różnych środowiskach\n",
+ "* Zapewnij możliwość stosowania dla większych zbiorów danych\n",
+ "\n",
+ "## 7. \"Zadbaj o atrakcyjny wygląd\"\n",
+ "Rozwiązanie powinno być ładne i ...modne.\n",
+ "\n",
+ "Czego oczekujemy od systemu informatycznego:\n",
+ "* Weź pod uwagę:\n",
+ " * kolorystykę\n",
+ " * kształt\n",
+ " * wykończenie\n",
+ " * prostotę\n",
+ " \n",
+ "## 8. \"Dostarczaj rozrywkę\"\n",
+ "Czego oczekujemy od systemu informatycznego:\n",
+ "* \"Dzieci\" lubią się bawić - dostarczaj zabawę\n",
+ "* Ludzie lubią wyzwania - dostarczaj wyzwania\n",
+ "* Ludzie lubią rywalizację...\n",
+ "* Ludzie mają swoje hobby i upodobania...\n",
+ "* Wszyscy wolą wakacje od pracy... \n",
+ " \n",
+ "## 9. \"Stwórz nową modę\"\n",
+ "Stworzenie nowej mody jest niezwykle trudne i kosztowne. Ale kilku producentom się udało.\n",
+ "Wskazówki:\n",
+ "* Produkt musi być \"osobisty\".\n",
+ "* Musi mieć wygląd określany jako \"cool\".\n",
+ "* Trzeba sprzedawać go drogo...\n",
+ "* ... w niewielkich ilościach...\n",
+ "* ... ale za to robić wokół niego sporo szumu."
+ ]
+ }
+ ],
+ "metadata": {
+ "author": "Krzysztof Jassem",
+ "email": "jassem@amu.edu.pl",
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "lang": "pl",
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.5"
+ },
+ "subtitle": "02. Projekt badawczo-rozwojowy[wykład]",
+ "title": "Przygotowanie do projektu badawczo-rozwojowego",
+ "year": "2021"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/materiały na PPB (wykład)/03_prezentacja_koncepcji_projektuBR.ipynb b/materiały na PPB (wykład)/03_prezentacja_koncepcji_projektuBR.ipynb
new file mode 100644
index 0000000..2511404
--- /dev/null
+++ b/materiały na PPB (wykład)/03_prezentacja_koncepcji_projektuBR.ipynb
@@ -0,0 +1,414 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "
\n",
+ "
Przygotowanie do projektu badawczo-rozwojowego
\n",
+ " 3. Prezentacja koncepcji projektu B+R[wykład]
\n",
+ "Krzysztof Jassem (2021)
\n",
+ "\n",
+ "\n",
+ "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Inwestorzy\n",
+ "\n",
+ "Opracowanie i rozwój projektu B+R wymaga środków finansowych. Środki finansowe zapewnia *inwestor*, któremu trzeba odpowiednio zaprezentować koncepcję projektu B+R, czyli przekonać go, że poświęcone środki finansowe się zwrócą. \n",
+ "\n",
+ "**Inwestor** to osoba lub instytucja, która przekazuje środki finansowe na przedsięwzięcie, oczekując zwrotu i zysku. \n",
+ "\n",
+ "**Anioł biznesu** to inwestor, który dostarcza początkowe środki finansowe (seed money) na rozpoczęcie biznesu w zamian za część udziałów lub *dług zamienny*. **Dług zamienny** to papier wartościowy, który może zostać wymienony na akcje lub udziały firmy. \n",
+ "\n",
+ "**Kapitał wysokiego ryzyka (ang. venture capital)** to kapitał dostarczony dla istniejącej firmy typu start-up, zwykle w przemyśle HT. Kapitał wysokiego ryzyka liczy na zwrot w przypadku wyjścia firmy na giełdę lub jej sprzedaży."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Główne atrybuty produktu HT\n",
+ "Produkt ma wnosić **wartość dodaną**, która spełni **potrzeby klienta** dzięki dobrze przemyślanej **konstrukcji**.\n",
+ "1. Wartość dodana to zestaw korzyści z punktu widzenia klienta. \n",
+ "Korzyść może być:\n",
+ " 1. Funkcjonalna (produkt wykonuje pracę dla klienta)\n",
+ " 2. Emocjonalna (produkt wpływa pozytywnie na samopoczucie klienta\n",
+ " 3. Rozwijająca osobowość klienta\n",
+ " 4. Społeczna (produkt wpływa na poprawę pozycji społecznej klienta)\n",
+ "\n",
+ "2. Spełnienie potrzeby użytkowników\n",
+ ">“You can’t just ask customers what they want and then try to give that to them. By the time you get it built, they’ll want something new.” (Steve Jobs)\n",
+ "\n",
+ "Potrzeby użytkowników:\n",
+ " * Wypowiedziane (odczuwane dziś i świadome) - spełniają je przeciętne produkty;\n",
+ " * Ukryte (odczuwane dziś, ale nieświadome) - spełniają je produkty HT;\n",
+ " * Oczekiwane (odczuwane w przyszłości w sposób świadomy) - spełniają je wybitne produkty HT;\n",
+ " * Mające się pojawić (odczuwane w przyszłości w sposób nieświadomy) - spełniają je wizjonerskie produkty HT.\n",
+ "\n",
+ "3. Odpowiednia konstrukcja (design)\n",
+ "Produkt jest odpowiednio skonstruowany, jeśli ma następujące cechy:\n",
+ "* pożyteczny (rozwiązuje problem lub wykonuje zadania), \n",
+ "* użyteczny (łatwy w użytku, intuicyjny),\n",
+ "* pożądany (wywołuje pozytywne emocje, sprawia przyjemność)."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Elevator pitch\n",
+ "**Elevator pitch** to krótka prezentacja, ktorej celem jest zwięzłe i proste omówienie produktu lub przedsięwzięcia. Oczekuje się, że trwa niedłużej niż 2 minuty. \n",
+ "**Jednozdaniowy elevator pitch** to najkrótsza charakterystyka planowanego przedsięwzięcia. Ma postać: "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
DLA (określenie klienta docelowego)
\n",
+ "
KTÓRY (ma potrzebę)
\n",
+ "
NAZWA NASZEGO PRODUKTU (PRZEDSIĘWZIĘCIA)
\n",
+ "
TO (typ produktu / przedsięwzięcia)
\n",
+ "
KTÓRY (ma unikalną cechę)
\n",
+ "
W PRZECIWIEŃSTWIE (nazwa znanej konkurencji)
\n",
+ "
MA PRZEWAGĘ (typ przewagi)
\n",
+ " \n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Przykład jednozdaniowego \"elevator pitch\"
\n",
+ " \n",
+ "
(DLA) Dla każdej osoby biorącej leki lub suplementy,
\n",
+ "
(KTÓRA) zwłaszcza dla tych którzy mają tendencje zapominać.
\n",
+ "
(NAZWA PRODUKTU) Take Your Meds
\n",
+ "
(TO) to aplikacja mobilna,
\n",
+ "
(KTÓRA) która zapewni, że bez pomyłek weźmiemy wszystkie leki.
\n",
+ "
(W PRZECIWIEŃSTWIE) w przeciwieństwie do standardowych powiadomień na telefonie i notatek na kartce,
\n",
+ "
(MA PRZEWAGĘ) Take Your Meds zapewnia szczegółowe informacje i nie pozwala się pomylić.
\n",
+ " \n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Prezentacja dla inwestora\n",
+ "### Reguła 30 / 20 / 10 (Czcionka / Minuty / Slajdy)\n",
+ "Reguła mówi o standardowych oczekiwaniach w stosunku do prezentacji (czyli: stosuj dużą czcionkę, nie gadaj dłużej ani krócej niż 2 minuty na slajd).\n",
+ "### Wzorzec 10 slajdów prezentacji dla inwestora\n",
+ "#### 1. Chwyć za gardło (ang. \\\"Grab\\\")\n",
+ " * Jaki masz pomysł?\n",
+ " * Czym się wyróżniasz pod względem korzyści: \n",
+ " * funkcjonalność, \n",
+ " * spełnienie potrzeby, \n",
+ " * konstrukcja?"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Wskazówki
\n",
+ "\n",
+ "
\n",
+ " \n",
+ "- Nie bądź gadatliwy!
\n",
+ "- Uchwyć uwagę widza!
\n",
+ "- Jeśli tutaj nie chwycisz widza za gardło, to przepadłeś.
\n",
+ " \n",
+ "
\n",
+ " \n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### 2. Przedstaw problem\n",
+ " * Dlaczego\n",
+ " * Wasz produkt jest niezbędny?\n",
+ " * ludzie go potrzebują?"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Wskazówka:
\n",
+ " \n",
+ "
\n",
+ " - Pamiętaj: nie chodzi o Twój problem, tylko o problem potencjalnego użytkownika!
\n",
+ "
\n",
+ " \n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### 3. Przedstaw rozwiązanie problemu\n",
+ " * Jak rozwiążecie problem ?\n",
+ " * Kto będzie korzystać z Waszego rozwiązania?\n",
+ " * I jakie będzie miał z tego korzyści?"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Wskazówki:
\n",
+ " \n",
+ "
\n",
+ " - Bądź konkretny!
\n",
+ " - Nie zalewaj!
\n",
+ " - Nie czaruj!
\n",
+ "
\n",
+ " \n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### 4. Przedstaw sposób działania\n",
+ "* Jak działa nasze rozwiązanie?\n",
+ "* Co w działaniu jest takiego wyjątkowego? (\\\"magic souce\\\")?"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Wskazówki:
\n",
+ "\n",
+ "
\n",
+ "- Przekonaj, że Wasze rozwiązanie jest\n",
+ "
\n",
+ "- użyteczne,\n",
+ "
- funkcjonalne\n",
+ "
\n",
+ " - Najlepiej przedstaw działanie wizulanie - np. na schemacie, rysunku, filmie.\n",
+ "
\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### 5. Omów technologię\n",
+ " * Jaka jest konstrukcja (architektura) rozwiązania?\n",
+ " * Co w niej jest takiego wyjątkowego?"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Wskazówki:
\n",
+ " \n",
+ "
\n",
+ "- Ponownie możesz przedstawić schemat...
\n",
+ "- Ale uważaj, żeby nie przesadzić ze szczegółami technicznymi!
\n",
+ "
\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### 6. Przedstaw konkurencję\n",
+ " * Jakie produkty / firmy są Waszą konkurencją?\n",
+ " * Co robią inaczej?"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Wskazówka:
\n",
+ " \n",
+ "Wykaż, że jesteście lepsi:\n",
+ "
\n",
+ "- jakość,
\n",
+ "- cena,
\n",
+ "- funkcjonalność,
\n",
+ "- użyteczność,
\n",
+ "- elastyczność.
\n",
+ "
\n",
+ "\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### 7. Określ Wasz rynek\n",
+ "**Rynek** to ogół transakcji kupna–sprzedaży danego dobra lub czynnika produkcji. \n",
+ " * Na jaki rynek kierujecie Wasz produkt?\n",
+ " * Jaka jest wartość finansowa rynku dla Waszego produktu?\n",
+ " * Total Available Market - wartość ogólnoświatowego popytu na dany produkt usługę\\,\n",
+ " * Served Available Market - wartość rynku, na którym chcecie działać,\n",
+ " * Target Market - przewidywana wartość rynku Waszych prawdopodobnych nabywców."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Wskazówki:
\n",
+ "\n",
+ "
\n",
+ " - Możecie interpretować powyższe pojęcia w sposób potoczny:
\n",
+ "\n",
+ " - TAM - Jak duży jest cały tort?
\n",
+ " - SAM - Jak duży kawałek tortu jestem w stanie uciąć dla siebie?
\n",
+ " - TM - Ile jestem w stanie zjeść?
\n",
+ "
\n",
+ "- Inwestor oczekuje, że potraficie oszacować wartość każdego zasięgu rynku na podstawie wiarygodnych źródeł.
\n",
+ "
\n",
+ " \n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### 8. Zdefiniuj model biznesowy\n",
+ "**Model biznesowy** to unikatowy przepis na sprzedawanie produktu lub usługi.\n",
+ " * W jaki sposób Wasz pomysł zarobi pieniądze?"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ "\n",
+ "
Wskazówka:
\n",
+ "\n",
+ "Wyjaśnij swój pomysł na sprzedaż, np.\n",
+ "
\n",
+ "- licencje / sprzedaż jednorazowa,
\n",
+ "- sprzedaż bezpośrednia / dystrybutorzy,
\n",
+ "- dochody z reklam,
\n",
+ "- mechanizmy przyciągnięcia klienta, np. programy lojalnościowe, grywalizacja.
\n",
+ "
\n",
+ " \n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### 9. Przedstaw prognozę finansową przedsięwzięcia\n",
+ "**Prognoza finansowa** to przewidywana wartość przyszłych wyników finansowych przesięwzięcia uwzględniająca przychody i koszty.\n",
+ " * Jaka jest prognoza finansowa na okres 18 miesięcy - 5 lat?"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ "\n",
+ "
Wskazówki:
\n",
+ "
\n",
+ "- Udowodnij, że znasz realia lub...dostosuj się do oczekiwań inwestora.
\n",
+ "- Kiedyś prognozę układało się na 5 lat, a dzisiaj... 5 lat to dłużej niż wieczność.
\n",
+ "
\n",
+ " \n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### 10. Pochwal się zespołem\n",
+ " * Jakie są kluczowe osoby w Twoim zespole?,\n",
+ " * Skąd pochodzą?\n",
+ " * Jaką wartość wnoszą?"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ "\n",
+ "
Wskazówki:
\n",
+ " \n",
+ "
\n",
+ "- Można pokazać zdjęcia, jeśli ludzie się na to zgadzają.
\n",
+ " - Jeśli w zespole jest gwiazda, pozwól jej lśnić.
\n",
+ "
\n",
+ " \n",
+ "
"
+ ]
+ }
+ ],
+ "metadata": {
+ "author": "Krzysztof Jassem",
+ "email": "jassem@amu.edu.pl",
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "lang": "pl",
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.5"
+ },
+ "subtitle": "03. Prezentacja koncepcji projektu B+R[wykład]",
+ "title": "Przygotowanie do projektu badawczo-rozwojowego",
+ "year": "2021"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/materiały na PPB (wykład)/04_metodologia_Prince2.ipynb b/materiały na PPB (wykład)/04_metodologia_Prince2.ipynb
new file mode 100644
index 0000000..a06169b
--- /dev/null
+++ b/materiały na PPB (wykład)/04_metodologia_Prince2.ipynb
@@ -0,0 +1,406 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "
\n",
+ "
Przygotowanie do projektu badawczo-rozwojowego
\n",
+ " 4. Metodologia Prince2[wykład]
\n",
+ "Krzysztof Jassem (2021)
\n",
+ "\n",
+ "\n",
+ "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Metodologia Prince2\n",
+ "Prince2 (PRojects IN Controlled Environments) to metoda **zarządzania** *projektami*\n",
+ "niezależna od zmiennych projektu, takich jak: środowisko, skala, typ, organizacjakultura, położenie geograficzne."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Projekt
\n",
+ "Projekt to organizacja założona:\n",
+ " \n",
+ "
na określony czas
\n",
+ "
w celu dostarczenia rozwiązania
\n",
+ "
dla określonej potrzeby biznesowej
\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Przykład projektu
\n",
+ " \n",
+ "
Potrzeba biznesowa: Oszczędzenie 70% czasu biura obsługi klienta.
\n",
+ "
Rozwiązanie: System automatycznego obiegu dokumentów.
\n",
+ "
Czas: 6 miesięcy
\n",
+ "
Projekt: Zespół ludzi wydelegowanych na 6 miesięcy dla dostarczenia systemu automatycznego obiegu dokumentów w celu zaoszczędzenia 70\\% czasu biura obsługi klienta.
\n",
+ "
\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Cechy charakterystyczne projektu\n",
+ "Projekt jest przeciwieństwiem pojęcia \"buiseness 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",
+ " * Niepewność - projekty ze swojej natury są ryzykowne, bo mają wprowadzić zmianę.\n",
+ " ### Zarządzanie projektem\n",
+ " Zarządzanie projektem to:\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\n",
+ " \n",
+ " ### 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ć?)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Metodologie zarządzania projektem \n",
+ "(por. https://startnearshoring.com/knowledge/it-project-management-a-quick-guide-to-tools-and-methodologies/)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### 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",
+ " * istotność dokumentacji.\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. "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### 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",
+ "> * Projekt systemu (poszczególnych struktur itp.).\n",
+ "> * Implementacja (wytworzenie kodu).\n",
+ "> * Testowanie (poszczególnych elementów systemu oraz elementów połączonych w całość).\n",
+ "> * Wdrożenie i pielęgnacja powstałego systemu.\n",
+ "\n",
+ "Model kaskadowy sprawdza się dla małych, krótkich projektów z ustalonymi wymaganiami, które nie mogą zmienić się w trakcie realizacji projektu."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Plusy modelu kaskadowego
\n",
+ "
\n",
+ " - Projekty są dobrze określone, a zatem łatwe w zarządzaniu.
\n",
+ " - Przebieg projektu opisany jest liniowo (sekwencyjnie), przez co łatwiej go zrozumieć.
\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Minusy modelu kaskadowego
\n",
+ "
\n",
+ " - Dokonanie wszelkich zmian w projekcie jest kosztowne.
\n",
+ " - Jakikolwiek namacalny efekt działań jest wdoczny dopiero po dłuższym czasie.
\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "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",
+ "\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."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Plusy modelu Prince2
\n",
+ "
\n",
+ " - Podział projektu na etapy ułatwia kontrolę nad projektem (sprawdzamy, czy na końcu etapu mamy planowany rezultat).
\n",
+ " - Dobrze dokumentuje przebieg projektu.
\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Minusy modelu Prince2
\n",
+ "
\n",
+ " - Każda zmiana wymaga \"łańcucha akceptacji\" i wymusza zmiany w dokumentacji.
\n",
+ " - Tworzenie obszernej dokumentacji jest pracochłonne.
\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "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",
+ " * 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",
+ "Procesy połączone są ze sobą wkładami i rezultatami. Rezultaty z jednego procesu mogą być wkładem do następnych. \n",
+ "\n",
+ "PMBOX oferuje wiele różnych procesów do wyboru. Zadaniem menadżera projektu jest wybór procesów odpowiednich do projektu. "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Plusy modelu PMBOX
\n",
+ "
\n",
+ " - Podczas trwania projektu można dodawać nowe narzędzia i techniki działania (ze względu na różnorodność dostępnych procesów)
\n",
+ " - Kierownik projektu ma dostęp do pełnej informacji o zachodzących procesach.
\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Minusy modelu PMBOX
\n",
+ "
\n",
+ " - Mała elastyczność
\n",
+ " - Centralizacja władzy
\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### 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",
+ " * Współpraca z klientem / uzytkownikiem podczas pracy jest ważniejsza niż negocjowanie umowy.\n",
+ " * Reakcja na zmiany jest ważniejsza niż stosowanie się do planu."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "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."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Plusy modelu Scrum
\n",
+ "
\n",
+ " - Szybkie dostarczanie działającego systemu - również w wersji końcowej (na rynek).
\n",
+ " - Elastyczne dostosowywanie się do zmieniających się potrzeb biznesowych.
\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ "
Minusy modelu Scrum
\n",
+ "
\n",
+ " - Wymagana jest współpraca ze strony klienta (użytkownika) - a o to niełatwo!
\n",
+ " - Konieczne jest zaangażowanie i zrozumienie koncepcji ze strony całego zespołu wykonawców.
\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "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)."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Plusy modelu Kanban
\n",
+ "
\n",
+ " - Motywujący wpływ na pracę zespołową
\n",
+ " - Wysoka wydajność poprzez zapobieganie zatorom w pracy
\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ "
Minusy modelu Kanban
\n",
+ "
\n",
+ " - Wysoko wskazane jest doświadczenie przynajmniej jednego członka zespołu.
\n",
+ " - Istotne dla sukcesu jest ustawienie zadań w odpowiedniej kolejności.
\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Zasady Prince2\n",
+ "### Ciągłe uzasadnienie biznesowe\n",
+ "* Musi istnieć jakiś biznesowy (przeliczalny na pieniądze) powód do rozpoczęcia projektu. \n",
+ "* Uzasadnienie biznesowe musi mieć miejsce podczas całego projektu - trzeba to cały czas sprawdzać.\n",
+ "\n",
+ "### Nauka przez doświadczenie\n",
+ "* Podczas wykonywania projektu należy wyciągać wnioski - uczyć się lekcji.\n",
+ "* Lekcje te powinny być zapisywane.\n",
+ "\n",
+ "### Określone role i odpowiedzialności\n",
+ "W projekcie wykonawcy mają określone role i określone zakresy odpowiedzialności. Dotyczy to również przedstawicieli klienta.\n",
+ "\n",
+ "### Praca etapami\n",
+ "Projekt jest planowany i monitorowany etap po etapie.\n",
+ "\n",
+ "### Zarządzanie wyjątkami\n",
+ "Jeśli przebieg projektu mieści się w granicach tolerancji (czas, pieniądze itp.), to nie ma potrzeby alarmować przełożonych. W przypadku **wyjątku** (wyjście poza granicę tolerancji), trzeba powiadomić przełożonych.\n",
+ "\n",
+ "### Koncentracja na produkcie\n",
+ "Najważniejsza w projekcie jest jakość dostarczanego produktu.\n",
+ "\n",
+ "### Dostrajanie\n",
+ "Metodyka zarządzania powinna być dostrojona do specyfiki projektu: środowisko, złożoność, zespół, ryzyko itp."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Motywy przewodnie Prince2 (themes)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Procesy Prince2"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Artefakty w Prince2"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Role w Prince2"
+ ]
+ }
+ ],
+ "metadata": {
+ "author": "Krzysztof Jassem",
+ "email": "jassem@amu.edu.pl",
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "lang": "pl",
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.5"
+ },
+ "subtitle": "04. Metodologia Prince 2[wykład]",
+ "title": "Przygotowanie do projektu badawczo-rozwojowego",
+ "year": "2021"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/materiały na PPB (wykład)/05_metodologia Prince2Agile.ipynb b/materiały na PPB (wykład)/05_metodologia Prince2Agile.ipynb
new file mode 100644
index 0000000..2912a1e
--- /dev/null
+++ b/materiały na PPB (wykład)/05_metodologia Prince2Agile.ipynb
@@ -0,0 +1,66 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "
\n",
+ "
Przygotowanie do projektu badawczo-rozwojowego
\n",
+ " 5. Metodologia Prince2Agile[wykład]
\n",
+ "Krzysztof Jassem (2021)
\n",
+ "\n",
+ "\n",
+ "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Podstawowe koncepcje metodyk zwinnych"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Metodyka SCRUM"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Czym jest Prince2Agile?"
+ ]
+ }
+ ],
+ "metadata": {
+ "author": "Krzysztof Jassem",
+ "email": "jassem@amu.edu.pl",
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "lang": "pl",
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.5"
+ },
+ "subtitle": "05. Metodologia Prince2Agile[wykład]",
+ "title": "Przygotowanie do projektu badawczo-rozwojowego",
+ "year": "2021"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/materiały na PPB (wykład)/06_prototypowanie i ciągła integracja.ipynb b/materiały na PPB (wykład)/06_prototypowanie i ciągła integracja.ipynb
new file mode 100644
index 0000000..240d1ad
--- /dev/null
+++ b/materiały na PPB (wykład)/06_prototypowanie i ciągła integracja.ipynb
@@ -0,0 +1,131 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "
\n",
+ "
Przygotowanie do projektu badawczo-rozwojowego
\n",
+ " 6. Prototypowanie i ciągła integracja[wykład]
\n",
+ "Krzysztof Jassem (2021)
\n",
+ "\n",
+ "\n",
+ "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Prototyp
\n",
+ "Prototyp to wynik częściowej implementacji, posiadający wybrane cechy produktu końcowego.\n",
+ "\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Cele prototypowania\n",
+ " * Zademonstrowanie umiejętności wykonania produktu końcowego\n",
+ " * Określenie realistycznych wymagań końcowych\n",
+ " * Przekonanie się o wpływie innych systemów, środowisk na produkt. \n",
+ " * Sprawdzenie implementacji kluczowych funkcji\n",
+ "\n",
+ "## Potencjalne efekty prototypowania\n",
+ "* Wykrycie nieporozumień między klientem i wykonawcą \n",
+ "* Określenie brakujących funkcji \n",
+ "* Wykrycie błędów w specyfikacji\n",
+ "* Przewidywanie przyszłych trudności\n",
+ "\n",
+ "## Prototyp poziomy a pionowy\n",
+ "\n",
+ "## Prototypowanie z porzuceniem a prototypowanie ewolucyjne\n",
+ " \n",
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Ciągła integracja
\n",
+ " \n",
+ "Ciągła integracja (CI) to praktyka rozwoju oprorgamowania, w której:\n",
+ "
\n",
+ " - zmiany w kodzie są regularnie przesyłane do repozytorium,
\n",
+ " - po każdym dołączeniu nowego kodu wykonywane są (automatycznie): kompilacja kodu i testy.
\n",
+ "
\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Workflow w Ciągłej Integracji"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Dobre praktyki Ciągłej Integracji"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Kompilacja automatyczna"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Narzędzia Ciągłej Integracji"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Korzyści z Ciągłej Integracji"
+ ]
+ }
+ ],
+ "metadata": {
+ "author": "Krzysztof Jassem",
+ "email": "jassem@amu.edu.pl",
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "lang": "pl",
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.5"
+ },
+ "subtitle": "06. Prototypowanie i ciągła integracja[wykład]",
+ "title": "Przygotowanie do projektu badawczo-rozwojowego",
+ "year": "2021"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/materiały na PPB (wykład)/07_specyfikacja_projektu_informatycznego.ipynb b/materiały na PPB (wykład)/07_specyfikacja_projektu_informatycznego.ipynb
new file mode 100644
index 0000000..779640f
--- /dev/null
+++ b/materiały na PPB (wykład)/07_specyfikacja_projektu_informatycznego.ipynb
@@ -0,0 +1,126 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "
\n",
+ "
Przygotowanie do projektu badawczo-rozwojowego
\n",
+ " 7. Specyfikacja projektu informatycznego[wykład]
\n",
+ "Krzysztof Jassem (2021)
\n",
+ "\n",
+ "\n",
+ "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Zakres systemu informatycznego
\n",
+ " \n",
+ "Zakres systemu to precyzyjne określony obszar tego, co projektujemy – precyzyjnie odgraniczony od tego, co jest zadaniem projektowym kogoś innego, lub tego, co leży poza projektem.\n",
+ "\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Reprezentacje zakresu projektu\n",
+ "\n",
+ "* Określenie wizji\n",
+ "* Diagram zakresu projektowego (rysunek)\n",
+ "* Lista „aktor-cel”\n",
+ "* Lista „in-out”"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Specyfikacja wymagań
\n",
+ " \n",
+ "Specyfikacja wymagań to dokument, w którym zebrano wszystkie oczekiwania stawiane przyszłemu systemowi (np. wymagania funkcjonalne i niefunkcjonalne aplikacji).\n",
+ " \n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Wymagania użytkownika a wymagania systemowe\n",
+ "\n",
+ "### Wymagania funkcjonalne a wymagania niefunkcjonalne"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Przypadek użycia
\n",
+ " \n",
+ "Przypadek użycia określa umowę między uczestnikami systemu względem jego zachowania.\n",
+ "\n",
+ "
\n",
+ "- W przypadku użycia opisuje zachowanie się systemu w różnych warunkach – w odpowiedzi na żądanie jednego z uczestników, zwanego aktorem głównym.
\n",
+ "- Przypadek użycia reprezentowany jest przez sekwencję akcji realizowanych przez system analizowany, które dają zauważalny efekt. Akcja to operacja atomowa, czyli taka, której nie można przerwać podczas wykonywania.
\n",
+ "
\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Elementy składowe opisu przypadku użycia\n",
+ "1. Aktor główny\n",
+ "2. Zakres \n",
+ "3. Poziom celu\n",
+ "4. Uczestnicy i interesy\n",
+ "5. Warunek początkowy\n",
+ "6. Wyzwalacz\n",
+ "7. Gwarancje minimalne\n",
+ "8. Gwarancja powodzenia\n",
+ "9. Scenariusz powodzenia\n",
+ "10. Rozszerzenia scenariusza"
+ ]
+ }
+ ],
+ "metadata": {
+ "author": "Krzysztof Jassem",
+ "email": "jassem@amu.edu.pl",
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "lang": "pl",
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.5"
+ },
+ "subtitle": "07. Specyfikacja projektu informatycznego[wykład]",
+ "title": "Przygotowanie do projektu badawczo-rozwojowego",
+ "year": "2021"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/materiały na PPB (wykład)/08_testowanie_w_programowaniu_zwinnym.ipynb b/materiały na PPB (wykład)/08_testowanie_w_programowaniu_zwinnym.ipynb
new file mode 100644
index 0000000..f1decd7
--- /dev/null
+++ b/materiały na PPB (wykład)/08_testowanie_w_programowaniu_zwinnym.ipynb
@@ -0,0 +1,85 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "
\n",
+ "
Przygotowanie do projektu badawczo-rozwojowego
\n",
+ " 8. Testowanie w programowaniu zwinnym[wykład]
\n",
+ "Krzysztof Jassem (2021)
\n",
+ "\n",
+ "\n",
+ "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Zarządzanie testowaniem w metodyce SCRUM"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Poziomy testowania w metodyce SCRUM"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Testowanie jednostkowe"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Testowanie metodą „Test First”"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Typy wstawek testowych\n",
+ " * stub\n",
+ " * spy\n",
+ " * mock\n",
+ " * fake\n",
+ " * dummy"
+ ]
+ }
+ ],
+ "metadata": {
+ "author": "Krzysztof Jassem",
+ "email": "jassem@amu.edu.pl",
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "lang": "pl",
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.5"
+ },
+ "subtitle": "08. Testowanie w programowaniu zwinnym[wykład]",
+ "title": "Przygotowanie do projektu badawczo-rozwojowego",
+ "year": "2021"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/materiały na PPB (wykład)/09_testowanie_integracyjne_i_systemowe.ipynb b/materiały na PPB (wykład)/09_testowanie_integracyjne_i_systemowe.ipynb
new file mode 100644
index 0000000..f24ad8b
--- /dev/null
+++ b/materiały na PPB (wykład)/09_testowanie_integracyjne_i_systemowe.ipynb
@@ -0,0 +1,124 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "
\n",
+ "
Przygotowanie do projektu badawczo-rozwojowego
\n",
+ " 9. Testowanie integracyjne i systemowe[wykład]
\n",
+ "Krzysztof Jassem (2021)
\n",
+ "\n",
+ "\n",
+ "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Błąd
\n",
+ " \n",
+ "Błąd to objaw nieoczekiwanego działania programu ujawniony podczas testów.\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Defekt
\n",
+ " \n",
+ "Defekt to niedoskonałość w kodzie programu.\n",
+ "Błąd ujawniony w czasie testów świadczy o defekcie w testowanym kodzie.\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Testowanie
\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",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Opracowywanie przypadków testowych dla testowania integracyjnego"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Strategie testowania integracyjnego"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Środowisko testowania systemowego"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Testowanie manualne: \n",
+ "### Testowanie eksploracyjne\n",
+ "### Testowanie sesyjne\n",
+ "### Testowanie akceptacyjne"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Testowanie automatyczne\n",
+ "### Testowanie oparte na nagrywaniu\n",
+ "### Testowanie oparte na słowach kluczowych\n",
+ "### Testowanie oparte na zachowaniu"
+ ]
+ }
+ ],
+ "metadata": {
+ "author": "Krzysztof Jassem",
+ "email": "jassem@amu.edu.pl",
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "lang": "pl",
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.5"
+ },
+ "subtitle": "09. Testowanie integracyjne i systemowe[wykład]",
+ "title": "Przygotowanie do projektu badawczo-rozwojowego",
+ "year": "2021"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/materiały na PPB (wykład)/10_wybrane_zagadnienia_użyteczności.ipynb b/materiały na PPB (wykład)/10_wybrane_zagadnienia_użyteczności.ipynb
new file mode 100644
index 0000000..28cb6c0
--- /dev/null
+++ b/materiały na PPB (wykład)/10_wybrane_zagadnienia_użyteczności.ipynb
@@ -0,0 +1,117 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "
\n",
+ "
Przygotowanie do projektu badawczo-rozwojowego
\n",
+ " 10. Wybrane zagadnienia użyteczności[wykład]
\n",
+ "Krzysztof Jassem (2021)
\n",
+ "\n",
+ "\n",
+ "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Użyteczność
\n",
+ "\n",
+ "Użyteczność narzędzia: łatwość, z jaką ludzie potrafią korzystać z pewnego narzędzia w celu osiągnięcia określonego celu.\n",
+ "\n",
+ "
Cechy aplikacji użytecznej
\n",
+ " \n",
+ "
\n",
+ "- Łatwa do nauki: Jak łatwo jest użytkownikom wykonać dane zadanie po raz pierwszy?\n",
+ "
- Wydajna w pracy: Jak szybko użytkownicy wykonują zadania, gdy już się nauczyli programu?\n",
+ "
- Satysfakcja: Czy korzystanie z programu daje satysfakcję?\n",
+ "
- Odporna na błędy: Ile błędów robią użytkownicy, jak poważne są to błędy i jak łatwo z nich się wydostać?\n",
+ "
- Zapamiętywalna po czasie: Jak łatwo powrócić do biegłości użytkowania po pewnym okresie nieużytkowania programu?\n",
+ "\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Wskazówki do tworzenia użytecznego systemu informatycznego
\n",
+ "\n",
+ "
\n",
+ "- Autorze: Poznaj użytkownika, a TY nie jesteś użytkownikiem.
\n",
+ " - Użytkownik powinien mieć kontrolę nad systemem, a nie odwrotnie: to użytkownik jest szefem i system powinien to okazywać.
\n",
+ " - System musi ułatwiać użytkownikowi życie:
\n",
+ " \n",
+ " - Elementy, które wyglądają tak samo, powinny działać tak samo, a akcje, które nie działają tak samo powinny być inaczej reprezentowane.
\n",
+ " - Każda akcja użytkownika powinna mieć reakcję programu.
\n",
+ " - Kiedy użytkownik ma do podjęcia decyzję, system podaje mu całą dostępną informację.
\n",
+ "
\n",
+ " - System musi być \"idioto-odporny\":
\n",
+ " \n",
+ " - Każdy robi błędy, więc każdy błąd powinien dać się naprawić.
\n",
+ " - Gdy użytkownik zrobi błąd, System daje mu o tym znać, zanim … wpadnie w PRAWDZIWE kłopoty.
\n",
+ " - Informacje o błędach powinny być zrozumiałe dla użytkownika i mówić mu, jak naprawić problem.
\n",
+ "
\n",
+ " - Wczuj się w użytkownika
\n",
+ " \n",
+ " - Eliminuj niepotrzebne decyzje (nie pytaj, jak nie musisz).
\n",
+ " - Im mniej kroków do celu, tym lepiej.
\n",
+ " - Użytkownik powinien zawsze móc dowiedzieć się, co robić dalej.
\n",
+ " - Użytkownik powinien zawsze wiedzieć, co się dzieje.\n",
+ "
\n",
+ "
\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Użyteczność portali internetowych\n",
+ "### 10 heurystyk Jakoba Nielsena i Rolfa Molicha\n",
+ "### Zasady dobrej nawigacji"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Tworzenie raportu użyteczności"
+ ]
+ }
+ ],
+ "metadata": {
+ "author": "Krzysztof Jassem",
+ "email": "jassem@amu.edu.pl",
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "lang": "pl",
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.5"
+ },
+ "subtitle": "10. Wybrane zagadnienia użyteczności[wykład]",
+ "title": "Przygotowanie do projektu badawczo-rozwojowego",
+ "year": "2021"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/materiały na PPB (wykład)/11_aspekty_użyteczności.ipynb b/materiały na PPB (wykład)/11_aspekty_użyteczności.ipynb
new file mode 100644
index 0000000..496c5c5
--- /dev/null
+++ b/materiały na PPB (wykład)/11_aspekty_użyteczności.ipynb
@@ -0,0 +1,101 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "
\n",
+ "
Przygotowanie do projektu badawczo-rozwojowego
\n",
+ " 11. Aspekty użyteczności[wykład]
\n",
+ "Krzysztof Jassem (2021)
\n",
+ "\n",
+ "\n",
+ "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Aspekty użyteczności\n",
+ "Użyteczność aplikacji powinna być analizowana pod kątem sześciu aspektów:\n",
+ "* kontekst, \n",
+ "* wprowadzanie danych, \n",
+ "* wyprowadzanie danych, \n",
+ "* responsywność, \n",
+ "* łączność z siecią, \n",
+ "* zasoby."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Kontekst"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Wprowadzanie danych"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Wyprowadzanie danych"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Responsywność"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Łączność z siecią"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Zasoby"
+ ]
+ }
+ ],
+ "metadata": {
+ "author": "Krzysztof Jassem",
+ "email": "jassem@amu.edu.pl",
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "lang": "pl",
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.5"
+ },
+ "subtitle": "11. Aspekty użyteczności[wykład]",
+ "title": "Przygotowanie do projektu badawczo-rozwojowego",
+ "year": "2021"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/materiały na PPB (wykład)/12_ocena_jakości_systemu.ipynb b/materiały na PPB (wykład)/12_ocena_jakości_systemu.ipynb
new file mode 100644
index 0000000..3210b7b
--- /dev/null
+++ b/materiały na PPB (wykład)/12_ocena_jakości_systemu.ipynb
@@ -0,0 +1,167 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "
\n",
+ "
Przygotowanie do projektu badawczo-rozwojowego
\n",
+ " 12. Ocena jakości systemu informatycznego[wykład]
\n",
+ "Krzysztof Jassem (2021)
\n",
+ "\n",
+ "\n",
+ "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Czym jest jakość produktu?"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Definicja wg Toma de Marco
\n",
+ " \n",
+ "Jakość produktu to funkcja tego, jak bardzo zmienia on świat na lepsze.\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Definicja wg Geralda Weinberga
\n",
+ " \n",
+ "Jakość to subiektywnie pojmowana wartość dla kogoś.\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Definicja wg Josepha Jurana
\n",
+ " \n",
+ "1. Jakość składa się z tych cech produktu, które spełniają potrzeby klientów i dostarczają im satysfakcji. \n",
+ "2. Jakość to brak braków.\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Definicja wg Armanda Feigenbauma
\n",
+ " \n",
+ "Jakość to coś, co określa tylko i wyłącznie klient - a nie inżynier, dział marketiingu, czy też kierownictwo.\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Definicja wg Williama Edwardsa Deminga
\n",
+ " \n",
+ "Cała trudność w zdefiniowaniu jakości polega na przełożeniu przyszłych potrzeb użytkownika na wymierne cechy w taki sposób, aby produkt dawał klientowi satysfakcję za akceptowalną cenę.\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Definicja jakości oprogramowania"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Jakość oprogramowania
\n",
+ " \n",
+ "Jakość oprogramowania to funkcja cech oprogramowania, które spełniają oczekiwania użytkownika: znane i przewidywane.\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Jakość kodu źródłowego\n",
+ "### Metryki oceny rozmiaru kodu źródłowego\n",
+ "### Metryki oceny złożoności kodu źródłowego"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Cechy oprogramowania wpływające na ocenę jakości\n",
+ "### Funkcjonalność\n",
+ "### Niezawodność\n",
+ "### Użyteczność\n",
+ "### Wydajność\n",
+ "### Łatwość konserwacji\n",
+ "### Przenośność\n",
+ "### Dostępność\n",
+ "### Bezpieczeństwo\n",
+ "### Kompatybilność"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Schematy oceny jakości\n",
+ "### CUPRIMDSO\n",
+ "### FURPS\n",
+ "### CUPRIMDA"
+ ]
+ }
+ ],
+ "metadata": {
+ "author": "Krzysztof Jassem",
+ "email": "jassem@amu.edu.pl",
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "lang": "pl",
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.5"
+ },
+ "subtitle": "12. Ocena jakości systemu informatycznego[wykład]",
+ "title": "Przygotowanie do projektu badawczo-rozwojowego",
+ "year": "2021"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/materiały na PPB (wykład)/13. planowanie prac badawczo-rozwojowych.ipynb b/materiały na PPB (wykład)/13. planowanie prac badawczo-rozwojowych.ipynb
new file mode 100644
index 0000000..ca228c3
--- /dev/null
+++ b/materiały na PPB (wykład)/13. planowanie prac badawczo-rozwojowych.ipynb
@@ -0,0 +1,223 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "
\n",
+ "
Przygotowanie do projektu badawczo-rozwojowego
\n",
+ " 13. Planowanie prac badawczo-rozwojowych[wykład]
\n",
+ "Krzysztof Jassem (2021)
\n",
+ "\n",
+ "\n",
+ "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ " \n",
+ "
Harmonogram projektu
\n",
+ " \n",
+ "Harmonogram projektu to plan uzyskania celów projektu uwzględniający:\n",
+ "
\n",
+ " - podział pracy na etapy i zadania,
\n",
+ " - przydział zasobów do zadań,
\n",
+ " - terminy wykonania zadań.
\n",
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ "
Ograniczenia
\n",
+ " \n",
+ "Ograniczenia to czynniki, które wpływają na realizację harmonogramu.\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Rodzaje ograniczeń\n",
+ " * Ograniczenia czasowe\n",
+ " * Ograniczenia techniczne\n",
+ " * Ograniczenia organizacyjne "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ "
Prawo Parkinsona
\n",
+ " \n",
+ "Praca będzie się rozrastać, aby wypełnić cały czas na nią przewidziany.\n",
+ "\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ "
Struktura Podziału Pracy
\n",
+ " \n",
+ "Struktura Podziału Pracy to hierarchiczna reprezentacja podziału pracy w projekcie.\n",
+ "\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Tworzenie harmonogramu projektu w programie MS-Project"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Ustawienie daty początku projektu"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Określenie struktury podziału pracy"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Ustawienie trybów zadań"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Określenie kamieni milowych"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Określenie tygodniowego kalendarza czasu pracy dla zespołu"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Ustalenie zależności między zadaniami"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Ustawienie odstępów między zadaniami"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Określenie zasobów w projekcie: \n",
+ " * Praca (ludzie + komputery), \n",
+ " * Materiały, \n",
+ " * Inne koszty"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Ustawienie tygodniowego kalendarza czasu pracy dla zasobów typu \"praca\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Przydzielenie zasobów do zadań"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Sprawdzenie poprawności alokacji zasobów"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Wyeliminowanie przeciążeń zasobów\n",
+ " * manualne bilansowanie zasobów\n",
+ " * automatyczne bilansowanie zasobów"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Analiza ścieżki krytycznej"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Sporządzanie raportów"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Modyfikacja harmonogramu podczas trwania projektu"
+ ]
+ }
+ ],
+ "metadata": {
+ "author": "Krzysztof Jassem",
+ "email": "jassem@amu.edu.pl",
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "lang": "pl",
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.5"
+ },
+ "subtitle": "13. Planowanie prac badawczo-rozwojowych[wykład]",
+ "title": "Przygotowanie do projektu badawczo-rozwojowego",
+ "year": "2021"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/materiały na PPB (wykład)/14_zarządzanie pracami badawczo-rozwojowymi.ipynb b/materiały na PPB (wykład)/14_zarządzanie pracami badawczo-rozwojowymi.ipynb
new file mode 100644
index 0000000..35efcf6
--- /dev/null
+++ b/materiały na PPB (wykład)/14_zarządzanie pracami badawczo-rozwojowymi.ipynb
@@ -0,0 +1,87 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "
\n",
+ "
Przygotowanie do projektu badawczo-rozwojowego
\n",
+ " 14. Zarządzanie projektami badawczo-rozowjowymi[wykład]
\n",
+ "Krzysztof Jassem (2021)
\n",
+ "\n",
+ "\n",
+ "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Produkuj hamburgery, sprzedawaj hamburgery...\n",
+ "## ... czyli czym różni się zarządzanie projektem B+R od kierowania barem szybkiej obsługi\n",
+ "Różnice w zarządzaniu można zobrazować w kilku aspektach:\n",
+ " * Podejście do popełniania błędów przez pracowników\n",
+ " * Sposób motywowania: bodźce negatywne i pozytywne\n",
+ " * Podejście do indywidualistów\n",
+ " * Podejście do kreatywności i samodoskonalenia się pracowników"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Czy ludzie pracują lepiej pod presją?"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Prawo Parkinsona - mit czy rzeczywistość?"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## 7 syrenich śpiewów...\n",
+ "## ...czyli o pokusach w zarządzaniu, które prowadzą na manowce"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Jakie czynniki faktycznie wpływają na lepszą pracę informatyków?"
+ ]
+ }
+ ],
+ "metadata": {
+ "author": "Krzysztof Jassem",
+ "email": "jassem@amu.edu.pl",
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "lang": "pl",
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.5"
+ },
+ "subtitle": "14. Zarządzanie pracami badawczo-rozwojowymi[wykład]",
+ "title": "Przygotowanie do projektu badawczo-rozwojowego",
+ "year": "2021"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/materiały na PPB (wykład)/15_demonstracja_projektu.ipynb b/materiały na PPB (wykład)/15_demonstracja_projektu.ipynb
new file mode 100644
index 0000000..473c78b
--- /dev/null
+++ b/materiały na PPB (wykład)/15_demonstracja_projektu.ipynb
@@ -0,0 +1,54 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "
\n",
+ "
Przygotowanie do projektu badawczo-rozwojowego
\n",
+ " 15. Demonstracja wyników projektu badawczo-rozwojowego [wykład]
\n",
+ "Krzysztof Jassem (2021)
\n",
+ "\n",
+ "\n",
+ "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "
\n",
+ "Demonstrowane projekty powinny być na 6. poziomie gotowości technologicznej.\n",
+ "
"
+ ]
+ }
+ ],
+ "metadata": {
+ "author": "Krzysztof Jassem",
+ "email": "jassem@amu.edu.pl",
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "lang": "pl",
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.5"
+ },
+ "subtitle": "15. Demonstracja projektu[wykład]",
+ "title": "Przygotowanie do projektu badawczo-rozwojowego",
+ "year": "2021"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/materiały na PPB (wykład)/json_script.ipynb b/materiały na PPB (wykład)/json_script.ipynb
new file mode 100644
index 0000000..442e952
--- /dev/null
+++ b/materiały na PPB (wykład)/json_script.ipynb
@@ -0,0 +1,114 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#procedura napisywania plików ipynb (generowanie nagłówka i metadanych)\n",
+ "import json\n",
+ "\n",
+ "def modjup(filen,numer,tytul,typ,author,email,lang,title,year):\n",
+ " zerocell=['![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\\n',\n",
+ " '
\\n', \n",
+ " '
%s
\\n'%(title),\n",
+ " ' %s. %s [%s]
\\n'%(numer,tytul,typ),\n",
+ " ' %s (%s)
\\n'%(author,year),\n",
+ " '\\n',\n",
+ " '\\n',\n",
+ " '![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)']\n",
+ " zerodict={'cell_type': 'markdown','metadata': {'collapsed': False},'source': zerocell}\n",
+ " with open(filen, 'r+') as f:\n",
+ " ll=json.load(f)\n",
+ " ll[\"metadata\"][\"author\"]=author\n",
+ " ll[\"metadata\"][\"email\"]=email\n",
+ " ll[\"metadata\"][\"lang\"]=lang\n",
+ " subtitle=\"%s.%s[%s]\"%(numer,tytul,typ)\n",
+ " ll[\"metadata\"][\"subtitle\"]=subtitle\n",
+ " ll[\"metadata\"][\"title\"]=title\n",
+ " ll[\"metadata\"][\"year\"]=year\n",
+ " \n",
+ " if not(ll['cells'][0]['source'][0]==zerocell[0]):\n",
+ " ll['cells'].insert(0,zerodict)\n",
+ " else:\n",
+ " ll['cells'][0]=zerodict\n",
+ " f.seek(0)\n",
+ " json.dump(ll,f,indent=4)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [
+ {
+ "ename": "UnicodeDecodeError",
+ "evalue": "'charmap' codec can't decode byte 0x81 in position 8350: character maps to
",
+ "output_type": "error",
+ "traceback": [
+ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[1;31mUnicodeDecodeError\u001b[0m Traceback (most recent call last)",
+ "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 13\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 14\u001b[0m \u001b[1;31m#uruchom procedurę\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 15\u001b[1;33m \u001b[0mmodjup\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfilen\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mnumer\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mtytul\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mtyp\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mauthor\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0memail\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mlang\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mtitle\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0myear\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
+ "\u001b[1;32m\u001b[0m in \u001b[0;36mmodjup\u001b[1;34m(filen, numer, tytul, typ, author, email, lang, title, year)\u001b[0m\n\u001b[0;32m 13\u001b[0m \u001b[0mzerodict\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;33m{\u001b[0m\u001b[1;34m'cell_type'\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;34m'markdown'\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m'metadata'\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;33m{\u001b[0m\u001b[1;34m'collapsed'\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;32mFalse\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m'source'\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mzerocell\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 14\u001b[0m \u001b[1;32mwith\u001b[0m \u001b[0mopen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfilen\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'r+'\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0mf\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 15\u001b[1;33m \u001b[0mll\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mjson\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mload\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mf\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 16\u001b[0m \u001b[0mll\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"metadata\"\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"author\"\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mauthor\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 17\u001b[0m \u001b[0mll\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"metadata\"\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"email\"\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0memail\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;32m~\\anaconda3\\lib\\json\\__init__.py\u001b[0m in \u001b[0;36mload\u001b[1;34m(fp, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)\u001b[0m\n\u001b[0;32m 291\u001b[0m \u001b[0mkwarg\u001b[0m\u001b[1;33m;\u001b[0m \u001b[0motherwise\u001b[0m\u001b[0;31m \u001b[0m\u001b[0;31m`\u001b[0m\u001b[0;31m`\u001b[0m\u001b[0mJSONDecoder\u001b[0m\u001b[0;31m`\u001b[0m\u001b[0;31m`\u001b[0m \u001b[1;32mis\u001b[0m \u001b[0mused\u001b[0m\u001b[1;33m.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 292\u001b[0m \"\"\"\n\u001b[1;32m--> 293\u001b[1;33m return loads(fp.read(),\n\u001b[0m\u001b[0;32m 294\u001b[0m \u001b[0mcls\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mcls\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mobject_hook\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mobject_hook\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 295\u001b[0m \u001b[0mparse_float\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mparse_float\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mparse_int\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mparse_int\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;32m~\\anaconda3\\lib\\encodings\\cp1250.py\u001b[0m in \u001b[0;36mdecode\u001b[1;34m(self, input, final)\u001b[0m\n\u001b[0;32m 21\u001b[0m \u001b[1;32mclass\u001b[0m \u001b[0mIncrementalDecoder\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mcodecs\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mIncrementalDecoder\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 22\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mdecode\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0minput\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfinal\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mFalse\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 23\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mcodecs\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcharmap_decode\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0minput\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0merrors\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mdecoding_table\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 24\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 25\u001b[0m \u001b[1;32mclass\u001b[0m \u001b[0mStreamWriter\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mCodec\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mcodecs\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mStreamWriter\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;31mUnicodeDecodeError\u001b[0m: 'charmap' codec can't decode byte 0x81 in position 8350: character maps to "
+ ]
+ }
+ ],
+ "source": [
+ "#zmodyfikuj te dane\n",
+ "filen=\"01_praca_zespolowa.ipynb\"\n",
+ "\n",
+ "numer=\"1\"\n",
+ "tytul=\"\"\n",
+ "typ=\"wyklad\"\n",
+ "\n",
+ "author=\"Krzysztof Jassem\"\n",
+ "email=\"jassem@amu.edu.pl\"\n",
+ "lang= \"pl\"\n",
+ "title=\"\"\n",
+ "year=\"2021\"\n",
+ "\n",
+ "#uruchom procedurę\n",
+ "modjup(filen,numer,tytul,typ,author,email,lang,title,year)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.7.6"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/materiały na PPB (wykład)/obrazy/AISearcher.png b/materiały na PPB (wykład)/obrazy/AISearcher.png
new file mode 100644
index 0000000..a8bba4b
Binary files /dev/null and b/materiały na PPB (wykład)/obrazy/AISearcher.png differ