KOMPUTEROWE WSPOMAGANIE ZARZĄDZANIA



Podobne dokumenty
Etapy życia oprogramowania

Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania

MODELE CYKLU śycia OPROGRAMOWANIA

Programowanie zespołowe

Cykle życia systemu informatycznego

MODELE CYKLU ŻYCIA OPROGRAMOWANIA (1) Model kaskadowy (często stosowany w praktyce do projektów o niewielkiej złożonoś

In ż ynieria oprogramowania wykład II Modele i fazy cyklu życia oprogramowania

Przedsięwzięcia Informatyczne w Zarządzaniu

Wstęp do zarządzania projektami

Co to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką?

Zasady organizacji projektów informatycznych

Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation)

Wstęp do zarządzania projektami

Inżynieria Oprogramowania. Inżynieria Oprogramowania 1/36

Wstęp do zarządzania projektami

Inżynieria oprogramowania I

Projektowanie systemów informatycznych. wykład 6

PRZEWODNIK PO PRZEDMIOCIE

Jarosław Kuchta Dokumentacja i Jakość Oprogramowania. Wymagania jakości w Agile Programming

Usługa: Audyt kodu źródłowego

SYSTEMY INFORMATYCZNE ćwiczenia praktyczne

Zarządzanie i realizacja projektów systemu Microsoft SharePoint 2010

Wykład 1 Inżynieria Oprogramowania

Ogólne określenie wymagań. Ogólny projekt. Budowa systemu. Ocena systemu. Nie. Tak. System poprawny. Wdrożenie. Określenie.

ZASADY TWORZENIA OPROGRAMOWANIA

Procesy wytwarzania oprogramowania Specyfikacja i projektowanie oprogramowania

Metodyka projektowania komputerowych systemów sterowania

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

Maciej Oleksy Zenon Matuszyk

Opis metodyki i procesu produkcji oprogramowania

Zakład Języków Programowania Instytut Informatyki Uniwersytet Wrocławski

Komputerowe wspomaganie zarządzania projektami innowacyjnymi realizowanymi w oparciu o podejście. Rozdział pochodzi z książki:

Faza Określania Wymagań

Waterfall model. (iteracyjny model kaskadowy) Marcin Wilk

Wytwórstwo oprogramowania. michał możdżonek

Wprowadzenie do systemów informacyjnych

Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne

In ż ynieria oprogramowania wykład II Modele i fazy cyklu życia oprogramowania

Testowanie oprogramowania

Cele oraz techniki tworzenia prototypów systemów infromatycznych. Inżynieria Oprogramowania

Usługa: Testowanie wydajności oprogramowania

WPROWADZENIE DO UML-a

RUP. Rational Unified Process

Inżynieria oprogramowania (Software Engineering)

SVN. 10 października Instalacja. Wchodzimy na stronę i pobieramy aplikację. Rysunek 1: Instalacja - krok 1

Programowanie Zespołowe

Feature Driven Development

PRZEWODNIK PO PRZEDMIOCIE

Egzamin / zaliczenie na ocenę*

BIM jako techniczna platforma Zintegrowanej Realizacji Przedsięwzięcia (IPD - Integrated Project Delivery)

Zarządzanie projektami. Wykład 2 Zarządzanie projektem

Projektowanie systemów informatycznych. Roman Simiński programowanie.siminskionline.pl. Cykl życia systemu informatycznego

Agile vs PRINCE /2015 I rok st. magisterskie Informatyka

Wprowadzenie w tematykę zarządzania przedsięwzięciami/projektami. dr inż. Agata Klaus-Rosińska

GUI - projektowanie interfejsów

Zakres wykładu. Podstawy InŜynierii Oprogramowania

KOMPUTEROWE WSPOMAGANIE ZARZĄDZANIA

Tworzenie oprogramowania nie jest sprawą

INŻYNIERIA OPROGRAMOWANIA

Inżynieria Programowania Zarządzanie projektem

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Plan testów do Internetowego Serwisu Oferowania i Wyszukiwania Usług Transportowych

KARTA MODUŁU KSZTAŁCENIA

Inżynieria Programowania Zarządzanie projektem. Plan wykładu. Motto. Motto 2. Notatki. Notatki. Notatki. Notatki.

Model referencyjny doboru narzędzi Open Source dla zarządzania wymaganiami

Techniki CAx. dr inż. Michał Michna. Politechnika Gdańska

Katalog rozwiązań informatycznych dla firm produkcyjnych

Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz

JAKOŚCI W RÓŻNYCH FAZACH I ŻYCIA PRODUKTU

Studia podyplomowe PROGRAM NAUCZANIA PLAN STUDIÓW

INŻYNIERIA OPROGRAMOWANIA

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie

Zarządzanie projektami w NGO

Zarządzanie firmą Celem specjalności jest

Jarosław Żeliński analityk biznesowy, projektant systemów

Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego

IO - inżynieria oprogramowania. dr inż. M. Żabińska, zabinska@agh.edu.pl

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Inżynieria oprogramowania, C12

Faza strategiczna. Synteza. Analiza. Instalacja. Faza strategiczna. Dokumentacja. kodowanie implementacja. produkt konserwacja

Zarz dzanie Projektami Informatycznymi

Wytwarzanie oprogramowania

"Projektowanie - wdrożenie - integracja - uruchomienie, czyli jak skutecznie zrealizować projekt inwestycyjny".

AUREA BPM HP Software. TECNA Sp. z o.o. Strona 1 z 7

Piotr Ślęzak. Gdzie się podziała jakość

Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz

SCRUM niełatwe wdrażanie metodyki w praktyce. Adam Krosny

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Zarządzanie testowaniem wspierane narzędziem HP Quality Center

Wprowadzenie w tematykę zarządzania projektami/przedsięwzięciami

1 Konferencja "Bezpieczny Projekt" Wrocław 22 czerwca 2010

MSF. Microsoft Solution Framework

Lekkie metodyki. tworzenia oprogramowania

Główne założenia XP. Prostota (Simplicity) Komunikacja (Communication) Sprzężenie zwrotne (Feedback) Odwaga (Agressiveness)

STUDIA NIESTACJONARNE I STOPNIA Przedmioty kierunkowe

Wstęp. Inżynieria wymagań. Plan wykładu. Wstęp. Wstęp. Wstęp. Schemat procesu pozyskiwania wymagań

Overlord - Software Development Plan

INŻYNIERIA I MARKETING dlaczego są sobie potrzebne?

Narzędzia CASE dla.net. Łukasz Popiel

Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1

Transkrypt:

KOMPUTEROWE WSPOMAGANIE ZARZĄDZANIA Wykład 9 Cykl życia systemu informatycznego Dr inż. Mariusz Makuchowski

Cykl życia systemu informatycznego Przez cykl życia systemu informatycznego należy rozumieć określoną koncepcję rozłożenia w czasie czynności odbywających się podczas pracy nad opracowaniem i wyprodukowaniem systemu określonego typu oraz jego eksploatacji. Cykl ten obejmuje okres od powstania u użytkownika potrzeby budowy systemu informatycznego, prezentacji jego idei, konstrukcję, użytkowanie, przystosowane do ewentualnych zmian funkcjonowania a kończąc na wycofaniu z eksploatacji. 2

Cykl życia systemu informatycznego Fazy cyklu życia systemu informatycznego: faza strategiczna analiza - modelowanie systemowe projektowanie implementacja integracja i testowanie wdrożenie utrzymanie likwidacja 3

Cykl życia systemu informatycznego W fazie strategicznej podejmowane są czynności poprzedzające decyzję o realizacji przedsięwzięcia. Między innymi decyzje dotyczące sposobu organizacji i harmonogramowania. Do decyzji strategicznych należy: Wybór modelu, zgodnie z którym będzie realizowane przedsięwzięcie Wybór technik stosowanych w fazach analizy i projektowania Wybór środowiska (środowisk) implementacji Wybór narzędzia CASE Określenie stopnia wykorzystania gotowych komponentów 4 Podjęcie decyzji o współpracy z innymi producentami

Cykl życia systemu informatycznego Modele cyklu wytwarzania systemów internetowych - porządkują przebieg prac, - ułatwiają planowanie zadań, - ułatwiają monitorowanie realizacji zadań. Model kaskadowy - separacja faz specyfikacji i implementacji Model ewolucyjny - przeplatanie się faz specyfikacji i implementacji Model spiralny - elementy modelu kaskadowego i ewolucyjnego Pozostałe modele to różne ich odmiany i modyfikacje 5

Model kaskadowy (model wodospadu) Najstarszym i prawdopodobnie najlepiej znanym cyklem życia oprogramowania jest model kaskadowy zwany też modelem wodospadu. W modelu tym, aby zbudować system informatyczny należy przejść przez kolejne etapy, których realizacji ma zapewnić zakończenie projektu. Wyjście z jednego etapu jest równocześnie wejściem w kolejny, bez możliwości powrotu. Oczywiście w czasie poszczególnych etapów mogą wystąpić problemy i wtedy będzie konieczny powrót ale możliwość wystąpienia takiej sytuacji powinna 6 być minimalizowana.

Model kaskadowy (wodospadu) Określenie wymagań Analiza Stosowany w projekcie o dobrze zdefiniowanych wymaganiach dla dobrze rozumianych zastosowań Projektowanie Implementacja Testowanie Wdrożenie 7

Model kaskadowy (wodospadu) Określanie wymagań określane są cele oraz szczegółowe wymagania wobec tworzonego systemu, Analiza budowany jest logiczny model systemu Projektowanie - powstaje szczegółowy projekt systemu Implementacja/kodowanie oraz testowania modułów - projekt zostaje zaimplementowany w konkretnym środowisku programistycznym oraz wykonywane są testy poszczególnych modułów, Testowanie - następuje integracja poszczególnych modułów połączona z testowaniem poszczególnych podsystemów oraz całego oprogramowania, 8 Wdrożenie - system jest wykorzystywany przez użytkownika(ów), a producent dokonuje konserwacji oprogramowania wykonuje modyfikacje polegające na usuwaniu błędów, zmianach i rozszerzaniu funkcji systemu

Cechy modelu kaskadowego Wady: Wymagania klienta muszą być w dużym stopniu sprecyzowane. W przypadku ich zmiany koszty znacznie wzrastają a wszystkie etapy muszą być przechodzone od nowa. Kolejność wykonywania prac musi być ściśle przestrzegana. Weryfikacja zgodności produktu z wymaganiami i jego użyteczności następuje dopiero w końcowych krokach. Błędy popełnione we wstępnych etapach (zbierania lub analizy wymagań) mogą być wykryte dopiero na etapie testów akceptacyjnych, bądź eksploatacji, a koszty ich naprawy są bardzo wysokie. 9

Cechy modelu kaskadowego c.d. Próba dopasowania produktu do zmieniających się wymagań, powoduje znaczący wzrostu kosztów budowy systemu. Długa przerwa w kontaktach z klientem może spowodować zmniejszenie zainteresowania produktem. Klient uczestniczy w projekcie na samym początku przy określaniu wymogów i analiz a następny jego udział jest dopiero na etapie wdrażania. Zalety: łatwe planowanie, harmonogramowanie oraz monitorowanie przedsięwzięcia zmusza do zdyscyplinowanego podejścia 10

Model kaskadowy z iteracjami Określenie wymagań Analiza Projektowanie W czystym modelu kaskadowym konieczność powrotu do wcześniejszej fazy traktuje się jako nieprawidłowość, czyli sytuację awaryjną. W iteracyjnym modelu kaskadowym Takie powroty z góry się przewiduje, daje to większą elastyczność ale wydłuża czas przedsięwzięcia Implementacja Testowanie Wdrożenie 11

Realizacja kierowana dokumentami Realizacja kierowana dokumentami jest odmianą modelu kaskadowego. Model stworzony przez armię amerykańską NASA Każda faza kończy się opracowaniem szeregu dokumentów, które z założenia są wystarczającą podstawą do realizacji kolejnych etapów. Dopiero akceptacja dokumentacji zrealizowanego etapu pozwala na rozpoczęcie kolejnego. 12

Realizacja kierowana dokumentami Zalety: łatwe planowanie, harmonogramowanie oraz monitorowanie przedsięwzięcia. możliwość realizacji kolejnych faz przez inną firmę. Wady: Duży nakład pracy na opracowanie dokumentów - ponad 50% całkowitych nakładów. Przerwy w realizacji niezbędne dla weryfikacji dokumentów przez klienta. 13

Model ewolucyjny W modelu tym następuje bardzo wczesne wprowadzenie użytkownika w obsługę projektowanego systemu. Użytkownik ma możliwość proponowania zmian w projekcie, co pozwala w końcowym efekcie na stworzenie systemu, który będzie w pełni satysfakcjonował użytkownika. 14

Model ewolucyjny Zalety: dobry dla małych projektów, szybki start projektu tolerancja dla słabo zdefiniowanych wymagań niski koszt błędów (krótki czas życia błędów) Wady: trudność z harmonogramowaniem Trudno określić zaawansowanie projektu systemy często o złej strukturze 15

Model ewolucyjny Czynności przebiegające równolegle Specyfikacja Wersja początkowa Zarys systemu Rozwój systemu Wersje pośrednie Weryfikacja Wersja końcowa 16

Model przyrostowy Model przyrostowy jest wariantem modelu ewolucyjnego. W tym modelu rozpoznanie i analiza dotyczą całego systemu. Dopiero po sformułowaniu problemu i określeniu pełnej koncepcji następuje podział systemu na moduły (przyrosty), które są z osobna projektowane, programowane a następnie wdrażane. 17

Model przyrostowy Fazy: określenie całości wymagań, wykonanie wstępnego, ogólnego projektu całości systemu wybór pewnego podzbioru funkcji systemu (przyrostów) szczegółowy projekt (wg modelu kaskadowego) oraz implementacja części systemu realizującej wybrane funkcje testowanie zrealizowanego fragmentu i dostarczenie go klientowi powtarzanie kolejnych etapów, aż do zakończenia implementacji całego systemu 18

Model przyrostowy Zalety: częste kontakty z klientem (skrócenie przerw w porównaniu z modelem kaskadowym) brak konieczności zdefiniowania z góry całości wymagań możliwość wczesnego wykorzystania przez klienta dostarczonych części systemu, możliwość elastycznego reagowania na opóźnienia realizacji fragmentu przyspieszenie prac nad inną/innymi częściami (sumarycznie - bez opóźnienia całości przedsięwzięcia projektowego) Wady: 19 dodatkowy koszt związany z niezależną realizacją fragmentów systemu potencjalne trudności z wycinaniem podzbioru funkcji w pełni niezależnych

Model przyrostowy Określenie ogólnych wymagań Przypisanie wymagań do przyrostów Projekt architektury systemu Tworzenie przyrostu systemu Testowanie przyrostu Integracja systemu Testowanie systemu system nie ukończony 20 System końcowy

Model V Jest odmianą modelu kaskadowego, charakteryzuje go rozbudowana faza testów. Model V jest jednym z najpopularniejszych podejść do procesu testowania, które mają na celu weryfikację i walidację poprawności wykonania każdego etapu stanowiącego cykl życia oprogramowania. Każdy z etapów wytwórczych poddany jest różnym testom dzięki czemu prawdopodobieństwo pojawienia się błędu lub niezgodności z wymaganiami przy wdrożeniu i eksploatacji jest dużo mniejsze niż w modelu kaskadowym. W procesie tworzenia oprogramowania zgodnym z tym modelem udział biorą dwa zespoły: projektowy, który opracowuje produkty poszczególnych faz i testujący, który testuje powstające produkty 21

Model V W modelu V: Lewa, schodząca w dół część V ilustruje przejście od analizy do projektowania, następnie do programowania oraz zwiększający się podział składowych systemu Prawa, biegnąca ku górze część V ilustruje narastające składanie i testowanie, kończące się na dostarczonym produkcie; Z uwagi na dodatkowe testy mające zapewnić wysoką jakość systemu, zdecydowanie wydłuża się czas jego tworzenia oraz znacznie zwiększają się koszty. 22

Model V wymagania Projekt systemu Projekt podsystemu Projekt modułu Testowanie akceptacyjne Integracja i walidacja systemu Integracja i weryfikacja podsystemu Testowanie modułu implementacja 23

Model spiralny zaproponowany przez Boehma (1988) Główną cechą modelu spiralnego jest analiza ryzyka w każdej fazie prac co stanowi próbę minimalizacji ryzyka niepowodzenia przedsięwzięcia. Ciągła weryfikacja produktu przez użytkownika ma na celu wytworzenie produktu w pełni satysfakcjonującego klienta. Budowę systemu zaczyna się od określenia podstawowych wymagań i założenia celów, następnie dokonywana jest analiza realizacji projektu wraz z oceną alternatywnych rozwiązań. Na tej podstawie tworzony jest prototyp systemu. 24

Model spiralny Model spiralny to cyklicznie powtarzane cztery czynności: planowanie na podstawie wymagań i celów wyznaczonych przez klienta, dokonuje się określenia alternatyw i ograniczeń oraz kolejnego planowania przy każdorazowym rozpoczęciu kolejnego cyklu spirali. analiza ryzyka sprowadza się do oceny rozwiązań alternatywnych oraz próby identyfikacji i analizy ryzyka związanego z każdą z możliwych alternatyw konstrukcji nowego wydania. konstrukcja ma postać małego wodospadu, a jej celem jest wytworzenie kolejnego wydania systemu. ocena przez klienta walidacja wydania i jego ocena z możliwością modyfikacji wymagań na system (możliwość wystąpienia modyfikacji wymagań powinna być minimalizowana). 25

Model spiralny PLANOWANIE Wymagania i założenia początkowe Analiza ryzyka w oparciu o wymagania ANALIZA RYZYKA Planowanie - wyniki kontaktu z klientem Analiza ryzyka w oparciu o reakcje klienta Ocena przez klienta jeżeli nie jest satysfakcjonująca to rozpoczyna się nowy cykl TESTOWANIE Kolejne wydania produktu KONSTRUKCJA (MODEL KASKADOWY) 26

Model spiralny Zalety: Do dużych systemów - szybka reakcja na pojawiające się czynniki ryzyka Połączenie iteracji z klasycznym modelem kaskadowym Wady: Trudno do niego przekonać klienta Konieczność umiejętności szacowania ryzyka Problemy, gdy źle oszacujemy ryzyko 27

Prototypowanie Idea modelu prototypowego polega na stosunkowo szybkim powstaniu prototypu systemu, który podlega ciągłym iteracją (powtórzeniach, zapętleniach) aż do momentu uzyskania satysfakcjonującego produktu. Stosowane gdy są trudności w jednoznacznym ustaleniu wymagań Przez cały okres tworzenia systemu, użytkownicy uczestniczą w jego tworzeniu poprzez swoją ocenę oraz możliwość zgłaszania uwag bądź pomysłów, które zostają przekazana projektantom. Prototypowanie pozwala na uściślenie wymagań i odpowiednią ich interpretację. Pozwala na uniknięcie zbyt wysokich kosztów błędów popełnionych w fazie 28 określania wymagań

Prototypowanie Zalety: lepsze określenie wymagań, wykrycie nieporozumień pomiędzy klientem a twórcami systemu, skrócenie czasy powstania całości projektu ograniczenie liczby błędów redukcja kosztów możliwość szybkiej demonstracji pracującej wersji systemu, możliwość szkoleń zanim zbudowany zostanie pełny system Wady: 29 niezadowolenie klienta, który po obejrzeniu działającego prototypu musi następnie długo czekać na dostawę gotowego systemu (pozorna) koszt budowy prototypu

Prototypowanie Model ten składa się z następujących faz: ogólne określenie wymagań, budowa prototypu, weryfikacja prototypu przez klienta, pełne określenie wymagań, realizacja pełnego systemu zgodnie z modelem kaskadowym Szybkie tworzenie działającego prototypu wymaga najczęściej wykorzystania narzędzi i metod wspomagających, tj. generatory oprogramowania, programy szkieletowe, narzędzia typu CASE 30

Prototypowanie Określenie ogólnych wymagań Budowa prototypu negatywna Ocena przez klienta 31 Poprawa projektu i prototypu Cele: wykrycie nieporozumień pomiędzy klientem a twórcami systemu wykrycie brakujących funkcji wykrycie trudnych usług wykrycie braków w specyfikacji wymagań Pełne określenie wymagań pozytywna Budowa pełnego systemu wg modelu kaskadowego

Prototypowanie Metody prototypowania: Niepełna realizacja: objęcie tylko części funkcji Języki wysokiego poziomu: Smalltalk, Lisp, Prolog, 4GL Wykorzystanie gotowych komponentów Generatory interfejsu użytkownika: wykonywany jest wyłącznie interfejs, wnętrze systemu jest podróbką. Szybkie programowanie: normalne programowanie ale bez zwracania uwagi na niektóre jego elementy, np. zaniechanie testowania 32

Montaż z gotowych elementów Montaż z gotowych elementów zwany też programowaniem z półki, kładzie szczególny nacisk na możliwości redukcji nakładów przez maksymalne wykorzystanie podobieństw tworzonego oprogramowania do wcześniej tworzonych systemów. 33

Montaż z gotowych elementów Wykorzystane są tu: biblioteki, języki czwartej generacji, pełne aplikacje Metody pozyskiwania gotowych komponentów: zakup od zewnętrznych dostawców, opracowanie wyników aktualnie realizowanych przedsięwzięć tak, aby mogły być wykorzystane w kolejnych przedsięwzięciach. 34

Montaż z gotowych elementów Zalety: wysoka niezawodność, zmniejszenie ryzyka, efektywne wykorzystanie specjalistów, narzucenie standardów, potencjalna redukcja kosztów. Wady: 35 dodatkowy koszt przygotowania elementów do ponownego wykorzystania, ryzyko uzależnienia się od dostawcy komponentów, niedostatki narzędzi wspomagających ten rodzaj pracy.

Programowanie odkrywcze Model stosowany gdy są trudności w ustaleniu nawet wstępnych wymagań (zaleta), Uwagi użytkownika stanowią podstawę do uściślenia wymagań i powtórzenia cyklu. Fazy programowania odkrywczego: początek cyklu - bardzo ogólne określenie wymagań, budowa systemu - faza realizacji obejmuje wykonanie przynamniej ogólnego projektu, Weryfikacja systemu przez klienta w przypadku nie spełnienia oczekiwań, budowana jest kolejna wersja systemu, 36 koniec cyklu w przypadku uzyskania produktu satysfakcjonującego klienta, jest to jedna z kolejnych wersji systemu

Programowanie odkrywcze Określenie ogólnych wymagań Budowa systemu Wytwarzanie odkrywcze polega na stałej modyfikacji budowy systemu, bez odrzucania dotychczas wytworzonego oprogramowania (przeciwnie do prototypowania) Gotowy produkt pozytywna Wstępne testowanie Ocena przez klienta Modyfikacja negatywna 37

Programowanie odkrywcze Wady: trudności z zachowaniem sensownej struktury systemu, niemożliwe jest wykonanie większych systemów o zadowalającej niezawodności, możliwość testowania wyłącznie przy współudziale klienta. 38

Model RAD (ang. Rapid Application Development) Model ten można zastosować gdy system jest skalowalny tzn. składa się z kilku słabo ze sobą powiązanych lub niepowiązanych głównych funkcji 39 gwarantuje wysoką jakością rozwiązania, ewolucyjny proces wytwarzania systemu, techniki inżynierskie wytwarzania są stosowane w całym cyklu realizacji, każdą funkcję można przydzielić do realizacji innemu zespołowi produkcyjnemu. Zespoły te mogą działać niezależnie cechuje go stosowanie wydajnych narzędzi wspomagających wytwarzanie oprogramowania, gwarantuje produktywność wytwarzanego oprogramowania.

Model RAD Zalety: szybkość tworzenia systemu Wady: system musi być skalowalny duże zasoby pracownicze intensywne zaangażowanie pracowników nie dla wszystkich rodzajów aplikacji 40

Jak wybrać odpowiedni model? W związku z tym, iż różne projekty mają różne wymagania, nie ma jednego uniwersalnego modelu, który mógłby być zawsze stosowany. Czynnikami, które należy uwzględnić przy wyborze lub konstrukcji konkretnego procesu są m.in.: specyfika tworzonego systemu (m.in. rozmiar systemu), stosowane technologie, wielkość i charakter zespołu realizującego proces, 41 ryzyka związane z realizacją procesu.

Jak wybrać odpowiedni model? Jak podano w literaturze (M. Piasecki) wstępnie można przyjąć, że jeżeli jest tworzony system informatyczny i: na własny użytek chcemy rozwiązać pewien niewielki problem i nie wiemy, jak się za niego zabrać - model odkrywczy wymagania są dobrze zdefiniowane, produkt jest podobny do realizowanych przez nas do tej pory, mamy doświadczenie w realizacji podobnych przedsięwzięć - model kaskadowy lub montażu z gotowych elementów klient ma problemy ze wyartykułowaniem swych wymagań - prototypowanie 42

Jak wybrać odpowiedni model? istnieje duża niepewność związana z wytwarzaniem produktu i duże ryzyko - podejście ewolucyjne (modele przyrostowy, spiralny) wymagania są dość dobrze zdefiniowane, ale występuje dość duża złożoność problemu (np. bardzo duży system dużo kodu do napisania) podejście przyrostowe Kiedy są krótkie terminy, a system jest duży należy zastosować - podejście RAD ( gdy dysponujemy dużym zespołem produkcyjnym) - Przyrostowe ( jeżeli mamy niewielki zespół, a klientowi zależy głównie na najważniejszych funkcjach) 43

Jak wybrać odpowiedni model? klient ma chwilowo małe fundusze, ale jest szansa, że w trakcie realizacji budżet się zwiększy - model spiralny W każdym możliwym przypadku budować z gotowych elementów W przypadku wyboru dowolnego modelu, jeśli wymagania są źle określone - zrobić prototyp 44

Przyczyny niepowodzeń Przyczyny niepowodzeń projektów informatycznych: - przytłaczająca złożoność - zbyt mało kompetencji i doświadczenia (zbyt ambitne cele) - specyfikacje są niekompletne lub niejednoznaczne - za mały udział użytkowników - zła komunikacja - za mało planowania - złe oszacowania - nieobiektywna ocena postępu prac - brak jasnego określenia zakresu odpowiedzialności - późne zmiany specyfikacji - nieskończone ulepszanie - mało uwagi poświęcone problemom jakości - słaba dokumentacja 45

Czynniki wpływające na powodzenie projektu Kluczowe czynniki powodzenia: - wspólna wizja produktu - atmosfera zaangażowania i współodpowiedzialności za projekt - doświadczona i kompetentna kadra - praca zespołowa - w szczególności współpraca z użytkownikiem - myślenie przyszłościowe - zapobieganie zagrożeniom, nie zaś tylko usuwanie skutków - planowanie i analiza ryzyka - dobra komunikacja i przepływ informacji - zarządzanie zmianami - regularne przeglądy projektu 46

Bibliografia 47 [1] Adam Nowicki, Komputerowe wspomaganie biznesu (2006) [2] Karol Kukuła, Badania operacyjne w przykładach i zadaniach (2002) [3] Czesław Smutnicki, Algorytmy szeregowania (2002) [4] Ryszard Knosyla i Zespół, Komputerowe wspomaganie zarządzania przedsiębiorstwem Nowe metody i systemy (2007) [5] Zbigniew Klonowski, Systemy informatyczne zarządzania przedsiębiorstwem. Modele rozwoju i właściwości funkcjonalne (2004) [6] M. Fertsch, K. Grzybowska, A. Stachowiak, Logistyka i zarządzanie produkcją nowe wyzwania i odległe granice (2007) [7] S. Zieliński Inteligentne systemy w zarządzaniu. Teoria i praktyka (2000) [8] Adamczewski, Piotr. Zintegrowane systemy informatyczne w praktyce, Warszawa, PWN, 2005 [9] Szejko, Stanisław (Redakcja naukowa). Metody wytwarzania oprogramowania, Warszawa, PWN, 2004 [10] Lausen, Georgie; Vossen, Gottfried. Obiektowe bazy danych. Modele danych i języki, Warszawa, WNT, 2004

Bibliografia [11] Miłosz, Marek (Redakcja naukowa). Bezpieczeństwo informacji, Warszawa, PWN, 2005 [12] Dolińska, Małgorzata. Projektowanie systemów informacyjnych na przykładzie zarządzania marketingiem, Warszawa, Agencja Wydawnicza "Placet", 2003. [13] Cheesman, John; Daniels, John. Komponenty w UML. Warszawa, WNT 2004 [14] Szyjewski, Zdzisław. Zarządzanie projektami informatycznymi, metodyka tworzenia systemów informatycznych. Warszawa, Agencja Wydaw. Placet, 2001. (Biblioteka Biznesmena) [15] Leyland, Valerie. EDI Elektroniczna wymiana dokumentacji. Warszawa, WNT, 2003 [16] Orłowski, Cezary. Projektowanie hybrydowych systemów informatycznych do wspomagania zarządzania, Wydaw. Politech. Gdańskiej, 1999. [17] M.Jurczyk, R.Knosala - Terminowość i efektywność realizacji zleceń w systemach z wyróżnionym zasobem taktującym 48

Dziękuję za uwagę.