Projekt Kompetencyjny - założenia sem. V 2013 kgrudzi.kis.p.lodz.pl projekt kompetencyjny 1
System informatyczny zbiór powiązanych ze sobą elementów, którego funkcją jest przetwarzanie danych przy użyciu techniki komputerowej. 1. Sprzęt 2. Oprogramowanie 3. Zasoby osobowe ludzie 4. Elementy organizacyjne - czyli procedury (procedury organizacyjne - termin z zarządzania) korzystania z systemu informatycznego, instrukcje robocze itp. 5. Elementy informacyjne; bazy wiedzy - na przykład podręcznik księgowania w wypadku systemu finansowoksięgowego 2
Zarządzanie projektem Kontrolowanie: Zasobów zespół, budżet; Czasu harmonogram, realizacja zadań; Zakresu wymagania; Ryzyko Jakość Satysfakcja 3
Znaczenie problemu 16% 33% Przerwane projekty informatyczne Nieudane projekty informatyczne 51% Projekty informatyczne zakończone sukcesem 4 Standish Group International (Raport o projektach w USA lata 90-te)
Nieudany projekt informatyczny Miarą niepowodzenia projektu jest niedotrzymania jednego lub więcej z następujących parametrów: Budżetu Czasu realizacji Funkcjonalności 5
Przyczyny niepowodzeń 6 M.Keil, P.E. Cule, K. Lyytinen, R.S. Schmidt, A Framework for Identifying Software Project Risks, CACM, November 1998.
Syndrom LOOP L O O P Late (późno) Over budget (przekroczony budżet) Overtime (nadgodziny) Poor quality (kiepska jakość) 7 Jerzy Nawrocki, Institute of Computing Sci.,Poznan Univ. of Technology
Bywa i tak Źródło Politechnika Śląska 8
9
Capability Maturity Model for Software tworzony przez Software Engineering Institute (SEI); model służący ocenie procesu wytwórczego służącego do produkcji oprogramowania. CMM ocenia praktyki stosowane podczas produkcji. Model ocenia proces w skali pięciostopniowej - od chaotycznego, aż do ścisłego, zdyscyplinowanego procesu uwzględniającego wszystkie potrzebne aspekty. 10
Poziomy CMM Initial - oprogramowanie tworzone chaotycznie, bez żadnych formalnych procedur, ewentualnie z takimi, które są szczątkowe - nie określają procesu. Repeatable - stosowane są podstawowe techniki śledzenia projektu - śledzi się koszt, harmonogram oraz funkcjonalność. Stosuje się techniki pozwalające na powtarzanie udanych projektów na podstawie informacji zapisanych przy okazji poprzednich. Defined - proces wytwórczy jest opisany, wszystkie wykonywane czynności są udokumentowane w postaci procedur lub instrukcji. Managed - podczas projektów stosuje się szczegółowe metryki dotyczące samego procesu oraz jakości produktu. Optimizing - stosuje się praktyki mające na celu ciągłe poprawianie procesu wytwórczego oprogramowania - poprzez monitorowanie procesu pod względem możliwości usprawnień, oraz poprzez ich wprowadzanie. 11
Zastosowanie: Initial prototyp, krótkie serie Managed duże systemy, produkty na dłużej Optimazing systemy stosowane dotychczas 12
Cechy: ocenia zarządzanie projektem, a nie produkt wyjściowy; określenie zdolności firm składających oferty na kontrakty dla departamentu obrony USA ustala zdolności organizacyjne; Mały projekt umiejętności ludzi Duży projekt jakość procesu 13
Procesy w projekcie 14 Project Management Institute, Inc.: A Guide to the Project Management Body of Knowledge (PMBOK Guide), 3rd Edition, 2004.
Etapy powstawania projektu informatycznego Rozmowa z klientem Opis problemu Specyfikacja problemu Pomysł na rozwiązanie Realizacja rozwiązania Weryfikacja + walidacja 15
Walidacja w naukach technicznych i informatyce działanie mające na celu potwierdzenie w sposób udokumentowany i zgodny z założeniami, że procedury, procesy, urządzenia, materiały, czynności i systemy rzeczywiście prowadzą do zaplanowanych wyników ŚWIAT Rzeczywisty SYSTEM 16
Weryfikacja sprawdzenie, skontrolowanie z prawdą oraz sprawdzenie czy dana część nadaje się do użytkowania. W inżynierii oprogramowania : Weryfikacja jest to testowanie oprogramowania pod względem wymagań zdefiniowanych w fazie analizy. 17
Klient!!!! Odbiorców procesu (projektu) uczynić jego wykonawcami. 18
Specyfikacja problemu Pozyskiwanie wymagań Analiza i specyfikacja Technologia, personel, Doświadczenie, ograniczenia 19
Pomysł na rozwiązanie Burza mózgów Dyskusja Potencjał ludzki, sprzętowy Stan wiedzy, jak rozwiązuje się takie problemy na świeci 20
Realizacja pomysłu podział prac 21
Cykl życia projektu Analiza Projektowanie Konstrukcja Testowanie Sprawdzenie osiągnięcia celów Sprawdzenie zgodności ze specyfikacją WDRAŻANIE 22
Praca w grupie Zorientowanie na interakcję motywacja = współdziałanie w grupie Praca zespołowa skład zespołu spójność zespołu komunikacja w zespole modele organizacji zespołu 23
Etapy życia oprogramowania 1. Określenie wymagań 2. Projektowanie 3. Implementacja 4. Testowanie 5. Rozwój & pielęgnacja Dokumentacja I Dokumentacja II Zrozumienie problemu 24
WYMAGANIA - zaliczenie Zasoby: zespół, budżet (użyte narzędzia); Czas: Harmonogram (podział na podzadania), realizacja zadań + osobogodziny; Zakres: wymagania; Ryzyko Identyfikacja problemów, przed ich pojawieniem 25
Czas Harmonogram, podział na zadania. Dekompozycja dziel i zwyciężaj (rekurencja); Zalety: Podzadania. Praca równoległa. Modułowość. Wady: Scalanie. Zrozumienie problemu.. 26
Czas cd. Ile pracy do wykonania? Ile czasu (dni/tygodni/miesięcy/lat) jest do tego potrzebne? Koszt całkowity? 27
Diagram zależności pomiędzy zadaniami rozp. najw. czas zakon. najw. podzadanie: rozp. najp. zapas czasu zakon. najp. rozp. najw. czas zakon. najw. podzadanie: rozp. najw. czas zakon. najw. rozp. najw. czas zakon. najw. rozp. najp. zapas czasu zakon. najp. podzadanie: podzadanie: rozp. najp. zapas czasu zakon. najp. rozp. najp. zapas czasu zakon. najp. rozp. najw. podzadanie: rozp. najp. czas zapas czasu zakon. najw. zakon. najp. rozp. najw. podzadanie: rozp. najp. czas zapas czasu zakon. najw. zakon. najp. Ścieżka krytyczna najdłuższa ścieżka; Zapas zadania dla ścieżki krytycznej = 0 zapas = zakon. najp zakon. najw. 28
Rezultat prac 1. Poznanie różnych technologii informatycznych, zdobycie wiedzy. 2. Umiejętność rozwiązywania problemów informatycznych 3. Wytworzenie produktu informatycznego i jego zastosowanie 29
termin zadanie dokumentacja I 10.2013 Zajęcia wprowadzające cel - II - 04.11.2013 III 12.11.2013 10-15min Przedstawienie tematu projektu, podziału na grupy, celu, wymagań Przedstawienie harmonogramu prac (diagram), podział na podzadania, sposób realizacji rozwiązania, analiza rynku Doc doc + ppt IV Realizacja projektu (uzupełnienia dokumentacji) - V Realizacja projektu (opracowanie sposobu weryfikacji i walidacji) doc VI Implementacja rozwiązania - VII 16.12.2013 10 min Przedstawienie stanu prac doc + ppt VI Implementacja rozwiązania - VIII 20.01.2014 15min Rozliczenie z projektu * ppt + doc 30
Rozliczenie projektu ocena aplikacji (40%); dokumentacja/ppt (25%); komunikacja w grupie (10%) dalszy rozwój (10%); czas realizacji (15%); 31
Założenia projektu projekty bardziej bliskie realnym sytuacjom w życiu zawodowym studenci sami szukają wiedzy studenci sami decyduj co zamierzają zrobić studenci mają wpływ na swoje oceny 32
Manifest zwinności (Agile Manifesto) - http://agilemanifesto.org/ 1. Jednostki i interakcje nad procesami i narzędziami 2. Działające oprogramowanie nad obszerną dokumentacją 3. Współpraca klienta nad negocjacją kontraktu 4. Nadążanie za zmianami nad trzymaniem się planu 33