Cykle życia oprogramowania oraz role w zespole projektowym Autor: Sebastian Szałachowski s4104.

Slides:



Advertisements
Podobne prezentacje
Agile w praktyce, czyli jak to robimy naprawdę
Advertisements

Kamil Markuszewski Mateusz Mikłuszka
KOMUNIKACJA W ZESPOLE PROJEKTOWYM
Projektowanie w cyklu życia oprogramowania
Złożoność procesu konstrukcji oprogramowania wymusza podział na etapy.
Opis metodyki i procesu produkcji oprogramowania
Role w zespole projektowym
Analiza ryzyka projektu
Budowa i integracja systemów informacyjnych
1 / 47 WARSZAWA 2005 Przemysław Siekierko Stanisław Andraszek Rational Unified Process.
Planowanie zadań i metody ich obrazowania
Projektowanie Aplikacji Komputerowych
Projektowanie Aplikacji Komputerowych
Tomasz Pieciukiewicz Rafał Hryniów
Cykle życia oprogramowania
DOKUMENTACJA KOSZTORYSOWA
Wymagania jakości w Agile Programming
Jakość systemów informacyjnych (aspekt eksploatacyjny)
Rational Unified Process
Wzorce projektowe w J2EE
Podstawy Inżynierii Oprogramowania
Dalsze elementy metodologii projektowania. Naszym celem jest...
Wykład 2 Cykl życia systemu informacyjnego
Projekt z Baz Danych II Łukasz Wiatrak Marta Kowalczyk Krzysztof Cywicki.
Psychologiczne aspekty pracy testera oprogramowania
C.d. wstępu do tematyki RUP
CRM GigaCon Warszawa Jarosław Żeliński
Microsoft Solution Framework
Magdalena kurzyńska Sławomir Kwasiborski
Rational Unified Process Implementacja Aleksandra Reiman, gr. I-52.
Zarządzanie Projektami
Propozycja projektu Andrzej Ziółkowski.
1 Struktura organizacyjna przedsięwzięcia Opracował: Jan Józef Pośnik.
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
Service Oriented Architecture
Bazy i Systemy Bankowe Sp. z o.o. ul. Kasprzaka 3, 85 – 321 Bydgoszcz
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Komputerowe wspomaganie projektowania
Waterfall model.
Zarządzanie zagrożeniami
ŁUKASZ DZWONKOWSKI Modele zwinne i ekstremalne. Podejście tradycyjne
Proces tworzenia oprogramowania Proces tworzenia oprogramowania jest zbiorem czynności i związanych z nimi wyników, które prowadzą do powstania produktu.
Podstawy zarządzania projektami Karta projektu
Forum Pracodawców AEiI Nowy pracownik Szkolenia Możliwość wykazania się Praca z profesjonalistami Doświadczony programista.
Copyright © Jerzy R. Nawrocki Team Software Process Inżynieria oprogramowania II Wykład.
ZASTOSOWANIE KOMPUTEROWEGO WSPOMAGANIA W ZARZĄDZANIU JAKOŚCIĄ - METODY FMEA I QFD Politechnika Śląska, Wydział Organizacji i Zarządzania, Katedra Zarządzania.
ZINTEGROWANE SYSTEMY ZARZĄDZANIA
Eksploatacja zasobów informatycznych przedsiębiorstwa.
Bartosz Baliś, 2006 Wstęp do Inżynierii Oprogramowania Bartosz Baliś.
BPR – zarządzanie personelem Podczas reengineeringu / i w trakcie wdrażania systemu zarządzania sukces w zasadniczej mierze zależy od akceptacji zmian.
7/1/ Projektowanie Aplikacji Komputerowych Piotr Górczyński Cykl życia systemu.
Moduł e-Kontroli Grzegorz Dziurla.
Studia Podyplomowe IT w Biznesie Inżynieria Oprogramowania
Zarządzanie partnerstwem z wykorzystaniem zasad dotyczących współpracy w zespołach wirtualnych/ rozproszonych. Włodawski Obszar Funkcjonalny Gmina Miejska.
Tytuł projektu: Partnerstwo Nyskie 2020 – dialog między Partnerami Nazwa partnerstwa: Partnerstwo Nyskie 2020 Podmiot zgłaszający: Gmina Nysa.
Wykład 2 – Zintegrowane systemy informatyczne Michał Wilbrandt.
Budowa i integracja systemów informacyjnych Wykład 2 Cykl życiowy oprogramowania dr inż. Włodzimierz Dąbrowski P olsko J apońska W yższa S zkoła T echnik.
InMoST Wielkopolska sieć współpracy w zakresie innowacyjnych metod wytwarzania oprogramowania Termin realizacji: – Innowacyjne metody.
BYĆ PRZEDSIĘBIORCZYM - nauka przez praktykę Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego.
Zarządzanie projektami (Project management) planowanie, organizacja, monitorowanie i kierowanie wszystkimi aspektami projektu motywowanie jego wszystkich.
Z. SroczyńskiInżynieria programowania Modele cyklu życia oprogramowania Zdzisław Sroczyński
Agile Programming a jakość
Zarządzanie projektami informatycznymi
PROJEKTOWANIE APLIKACJI INTERNETOWYCH
Inżynieria Oprogramowania Laboratorium
Budowa i integracja systemów informacyjnych
Cykl życia oprogramowania
JavaBeans by Paweł Wąsala
Zapis prezentacji:

Cykle życia oprogramowania oraz role w zespole projektowym Autor: Sebastian Szałachowski s4104

Plan prezentacji ● Cykl życia oprogramowania – Omówienie poszczególnych etapów – Omówienie modeli ● Model kaskadowy ● Model spiralny ● Model prototypowania – Model montażu z gotowych dokumentów ● Role w zespole projektowym – Omówienie modeli zespołów – Omówienie poszczególnych ról ● Podsumowanie

Cykl życia oprogramowania ● Wraz z tworzeniem coraz bardziej rozbudowanych systemów informatycznych, potrzebna jest organizacja tego procesu ● Proces wytwarzania i pielęgnacji oprogramowania dzielimy na etapy ● Sposób organizacji procesu wytwarzania oprogramowania i podziału na różne etapy nazywamy modelem cyklu życia oprogramowania

Etapy wytwarzania oprogramowania ● Faza strategiczna ● Określenie wymagań ● Analiza ● Projektowanie ● Implementacja / konstrukcja ● Testowanie ● Dokumentacja ● Instalacja ● Konserwacja

Faza strategiczna ● Określenie celu projektu ● Wstępne rozmowy z klientem ● Podjęcie ważnych decyzji i tej najważniejszej czyli czy projekt zostanie podjęty

Określenie wymagań ● Określenie wymagań funkcjonalnych i niefunkcjonalnych z klientem ● Muszą być zgodne z celem projektu ustalonego w fazie strategicznej ● Jest to zazwyczaj trudny proces, ale zarazem kluczowy

Analiza ● Odwzorowanie wymagań klienta na model analityczny ● Na tym etapie nie interesuje nas implementacja systemu ● Przykład: – Analityk poznaje sposób działania przedsiębiorstwa bez systemu informatycznego, wyłapuję zależności między pracownikami, dokumentami, klientami, procesami itd. Musi poznać dziedzinę problemową i cały czas mieć na uwadze wymagania klienta oraz cel całego projektu.

Projektowanie ● Odwzorowanie powstałego w poprzedniej fazie modelu analitycznego na dane środowisko implementacyjne ● Współczesne języki są ograniczone, nie implementują wszystkich elementów z modelu analitycznego ● Przykład: – Projektant nie musi wiedzieć jak działa firma prawnicza, na podstawie przygotowanego przez analityka modelu odwzoruję sposób działania systemu informatycznego

Implementacja ● Praca programistów ● Kodowanie modelu projektowego w danym języku ● Bieżące testowanie i dokumentowanie wytworzonego kodu

Testowanie ● Po zakończeniu prac programistycznych ● Wykrycie błędów

Dokumentacja ● Dokumentowanie działań nad projektem ● Trwa przez większość etapów

Instalacja ● Wdrożenie systemu w środowisku klienta ● Dopracowywanie niuansów w systemie ● Przeszkolenie pracowników

Konserwacja ● Łatanie dziur w oprogramowaniu ● Dostosowywanie systemu do zmian np. w gotowych komponentach lub w świecie rzeczywistym ● Przykład – Konieczność zmiany stawek podatku dochodowego z 19,30,40 % na 18 i 32%

Modele cyklu życia oprogramowania ● W zależności od tego w jaki sposób i w jakiej kolejności będą wykonywane poszczególne etapy mogą powstać różne modele ● Możemy wyróżnić następujące modele: – Model kaskadowy (waterfall model) – Model spiralny – Model prototypowania – Model montażu z gotowych elementów

Model kaskadowy ● Schemat modelu Określenie wymagań Analiza Projektowanie Implementacja Testowanie Konserwacja

Model kaskadowy ● Cechy modelu – Etapy następują po sobie – Nie zazębiają się tzn. trwają niezależnie ● Zalety modelu – Łatwość organizacji i harmonogrowania prac ● Wady modelu – Błędy we wcześniejszych pracach wpływają negatywnie na następne – Brak ciągłego kontaktu z klientem – Niezmienna kolejność wykonywania prac

Model spiralny ● Schemat Modelu Planowanie Analiza ryzyka AtestowanieKonstrukcja

Model spiralny ● Zalety modelu – Dobrze opisuje tworzenie wielu wersji oprogramowania – Minimalizacja ryzyka – Ciągły kontakt z klientem ● Wady – Większe nakłady organizacyjne (etapy wykonywane wielokrotnie) – Położony mniejszy na precyzyjne określenie wymagań

Model prototypowania ● Tworzymy makietę systemu, głównie interfejsu użytkownika, bez budowy całego back-endu ● Zalety systemu – Duży nacisk na precyzyjne określenie wymagań – Szybka demonstracja jak system będzie wyglądał ● Wady – Dodatkowy koszt tworzenia prototypu – Klient może narzekać na długi czas realizacji systemu, bo przecież już widział system prawie gotowy

Montaż z gotowych komponentów ● Wykorzystuje podobieństwo w funkcjonowaniu wielu przedsiębiorstw ● Możliwość skorzystania z poprzednich swoich rozwiązań ● Możliwość kupienia gotowych komponentów

Montaż z gotowych komponentów ● Zalety – Gotowe komponenty są zazwyczaj mniej zawodne niż te pisane od nowa dla każdego systemu – Oszczędność zasobów w tym czasu ● Wady – Możliwość porzucenia rozwoju komponentu przez zewnętrzne firmy – Ograniczona dziedzina problemowa – Nakład na przystosowanie komponentów

Role w zespole projektowym ● Im projekt jest bardziej rozbudowany tym więcej ludzi jest zaangażowzanych w jego realizację ● Im więcej ludzi w projekcie tym jest potrzebna większa organizacja pracy ● Potrzebny jest odpowiedni podział ról ● Każda rola ma wyznaczony cel ● Wszyscy członkowie mają wspólny cel – zadowolenie klienta (zakończenie projektu sukcesem)

Struktury zespołów ● Model sieciowy Model gwiazdy

Model sieciowy ● Każdy członek zespołu wie za co odpowiedzialni są inni członkowie tego zespołu ● Wymiana wiedzy i postępów pomiędzy wszystkimi członkami ● Łatwość zastąpienia jednego z członków przez zespół, gdy ten np. zrezygnował z projektu ● Efektywny tylko przy małych zespołach

Model gwiazdy ● Lider zespołu (kierownik projektu) wie za co są odpowiedzialni i jest informowany o postępach ● Mniejsze nakłady na odpowiednią komunikację w zespole ● Trudności przy odejściu lidera z projektu ● Używana przy większych zespołach

Role w zespole ● Kierownik projektu ● Analityk ● Projektant ● Programista ● Tester ● Wdrożeniowiec ● Osoba odpowiedzialna za konserwację systemu

Kierownik ● Odpowiedzialny za: – Kontakt z klientem – Zarządzanie zasobami – Zarządzanie zespołem – Marketing ● Cechy kierownika – Odporność na stres – Umiejętność rozwiązywania konfliktów – Umiejętność motywacji zespołu

Analityk ● Odpowiedzialny za: – Przełożenie wymagań klienta na model analityczny – Określenie funkcjonalności systemu ● Cechy – Doświadczenie zarówno w dziedzinie problemowej jak i w IT – Dobry kontakt z ludźmi

Projektant ● Tworzy model implementacyjny z modelu przygotowanego przez analityka ● Nie musi znać dziedziny problemowej ● Musi być doświadczony w danym środowisku implementacyjnym (w języku programowania, bazie danych) ● Można rozdzielić rolę projektanta na projektanta GUI, bazy danych itp.

Programista,Tester, Wdrożeniowiec, Konserwator ● Programista – Tworzy oprogramowanie na podstawie modelu przygotowanego przez projektanta ● Tester – Testuje gotowe oprogramowanie ● Wdrożeniowiec – Znajomość różnych konfiguracji sprzętowych i programowych – Zdolności pedagogiczne ● Konserwator – Odpowiedzialny za pielęgnacje systemu

Role i członkowie w zespole ● Role można łączyć i tak jeden z członków zespołu może być zarówno projektantem i programistą ● Nie zaleca się łączenia niektórych ról np. rola testera i programisty powinny przypadać różnym osobom, własne błędy trudniej zauważyć

Podsumowanie ● Dziękuje za uwagę

Źródła ● “Podstawy inżynierii oprogramowania” Włodzimierz Dąbrowski i Kazimierz Subieta ● Wikipedia hasła: – Model kaskadowy – Model spiralny ● MSF Team Model v.3.1 ● MSF Process Model v.3.1