obiekt ekonomiczny

98
Obecnie najczęściej wykorzystywane systemy informacyjne w dziedzinie ekonomii i zarządzania ukierunkowane są głównie na usprawnianie zarządzania w celu lepszego zaspokajania potrzeb wszystkich uczestników procesów gospodarczych.

Upload: nelia

Post on 19-Jan-2016

49 views

Category:

Documents


2 download

DESCRIPTION

Obecnie najczęściej wykorzystywane systemy informacyjne w dziedzinie ekonomii i zarządzania ukierunkowane są głównie na usprawnianie zarządzania w celu lepszego zaspokajania potrzeb wszystkich uczestników procesów gospodarczych. Interpretacja wskaźników. Rozumienie sytuacji. Analiza danych. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Obiekt ekonomiczny

Obecnie najczęściej wykorzystywane systemy informacyjne w dziedzinie ekonomii

i zarządzania ukierunkowane są głównie na usprawnianie zarządzania w celu

lepszego zaspokajania potrzeb wszystkich uczestników procesów gospodarczych.

Page 2: Obiekt ekonomiczny

Obiekt ekonomiczny

Gromadzeniedanych

Analizadanych

Interpretacjawskaźników Rozum

ienie

sytuacji

Podejmowaniedecyzji

Strategia ekonomiczna

Prostekierowanienakazowe

Wiedza potrzebna na szczeblu

zarządzania taktycznego

Page 3: Obiekt ekonomiczny

Najważniejsze kierunki innowacji wprowadzanych w systemach

informacyjnych oparte są o wymagania:

• integracji systemów, danych i procesów,• unifikacji funkcji cząstkowych systemów,• zwiększania dostępności do bazy danych dla

wszystkich komórek organizacyjnych,• upowszechniania nowoczesnych sposobów

prezentacji danych (wizualizacji) dla celów wspomagania ich analizy,

• doskonalenia procesów podejmowania decyzji i ich przekazywania,

• zmierzania do budowy modułowej i otwartości całego systemu,

Page 4: Obiekt ekonomiczny

Dalsze wymagania dotyczące projektowanego systemu są następujące:

• zapewnienia kompleksowego charakteru funkcjonalnego całego systemu,

• stałego podnoszenia zaawansowania merytorycznego i technologicznego,

• zmierzania do elastyczności funkcjonalnej i strukturalnej,

• zapewnienia stałej zgodności ze zmieniającymi się elementami otoczenia systemowego, a zwłaszcza z aktualnym stanem prawnym, ewoluującym zgodnie z przyjętymi procedurami legislacyjnymi.

Page 5: Obiekt ekonomiczny

Ekonomiczne systemy informacyjne są projektowane i realizowane w taki sposób, aby dane przetwarzane przez ów system były bezpieczne i na każdym jego etapie

chronione.

Dlatego też w jak największym stopniu musi być zapewniona poufność i integralność

wszelkich danych posiadanych przez system, a dostępność do danych zawartych w systemie powinna być zgodna z przyjętą

hierarchią haseł i przywilejów dostępu.

Page 6: Obiekt ekonomiczny

Mimo wielu lat rozwoju ryzykoryzyko prowadzenia projektów

informatycznych nadal jest duże.

W USA rozwój oprogramowania pochłania rocznie 250 mld dolarów rocznie, w postaci około 175 tys. projektów informatycznych.

Badania Standish Group dla rynku Amerykańskiego dowodzą, że 31% z tych projektów jest przerywanych na jednym z etapów pośrednich, zaś 52% projektów przekracza planowany budżet. Typowy system informatyczny jest droższy niż

planowano o średnio 89%.

Page 7: Obiekt ekonomiczny

Dlatego niezbędna jest właściwa

metodologia

projektowania i wdrażania systemów informatycznych.

Stosowną metodologię dostarcza głównie inżynieria oprogramowania

Page 8: Obiekt ekonomiczny

Inżynieria oprogramowaniaInżynieria oprogramowania jest praktycznym zastosowaniem

wiedzy naukowej do projektowania i tworzenia systemów

informacyjnych i informatycznych oraz dokumentacji wymaganej do

ich opracowania, uruchomienia oraz pielęgnacji.

Page 9: Obiekt ekonomiczny

Fazy projektowania zgodnie z metodologią

inżynierii oprogramowania

Page 10: Obiekt ekonomiczny

Najnowsze prace odwołujące się do inżynierii oprogramowania przewidują występowanie aż 1212 faz procesu projektowego.

Page 11: Obiekt ekonomiczny

1.Inicjalizacja systemu i wstępne planowanie:

Znalezienie potencjalnego obszaru zastosowania systemu informatycznego, który wspomoże lub zastąpi dotychczasowe metody przetwarzania informacji.

2.Analiza wymagań i specyfikacja wymagań:

Identyfikacja problemów, które nowy system informacyjny ma rozwiązać. Zarysowanie właściwości operacyjnych systemu, wydajności

i zasobów sprzętowych niezbędnych do użytkowania i konserwowania systemu.

Page 12: Obiekt ekonomiczny

3. Specyfikacja funkcjonalna i prototypowanie:

Identyfikacja i formalizacja obiektów obliczeń, ich atrybutów i zależności. Specyfikacja transformacji, którym obiekty będą podlegać.

4. Dekompozycja problemu: Podział systemu na logiczne podsystemy na podstawie wymagań i specyfikacji. Analiza logicznych podsystemów pod kątem użycia już istniejących komponentów informatycznych. Selekcja rozwiązań: wykonać samodzielnie, kupić, wykorzystać już istniejące.

Page 13: Obiekt ekonomiczny

5. Projekt architekturalny i specyfikacja konfiguracji:

Określenie zależności pomiędzy podsystemami, komponentami i modułami w sposób uwzględniający szczegóły ich budowy i wymagania wobec nich.

6. Szczegółowe projektowanie i specyfikacja komponentów:

Opracowanie i kodyfikowanie metod przetwarzania informacji w komponentach.

Page 14: Obiekt ekonomiczny

7. Implementacja komponentów i usuwanie błędów:

Wytwarzanie kodu źródłowego komponentów na podstawie uprzednich specyfikacji. Testowanie podstawowych funkcji komponentów.

8. Asemblacja systemu i testowanie:

Weryfikacja komponentów pod kątem kompletności i zgodności ze specyfikacją. Asemblacja produktu z komponentów, weryfikacja wydajności podsystemów systemu jako całości.

Page 15: Obiekt ekonomiczny

9. Przegląd dokumentacji i dostarczenie systemu:

Opracowywanie i systematyzowanie dokumentacji powstałej w trakcie prowadzenia projektu pod kątem raportów dla odbiorcy.

10. Opracowanie procedur instalacyjnych i instalacja:

Opracowanie dokumentacji instalacyjnej opisującej sposób instalacji systemu.

Page 16: Obiekt ekonomiczny

11. Szkolenie dla użytkowników:

Zapoznanie użytkowników z systemem. Zapoznanie ich z możliwościami i ograniczeniami systemu.

12. Użytkowanie i konserwacja oprogramowania:

Użytkowanie, usuwanie błędów dostrzeżonych w trakcie użytkowania, rozbudowywanie systemu o nowe właściwości, poprawa wydajności systemu.

Page 17: Obiekt ekonomiczny

Jednak nawet najlepsza metodologia nie zabezpiecza przed błędami, bo istnieje luka luka poznawcza poznawcza w projektach informatycznych

Procesy makro

Procesy mikro

Lukapoznawcza

Sposób wnioskowania

Od ogółu do szczegółu

Od ogółu

szczegółu do

Sto

pień

szc

zegó

łow

ości

pra

c

Eksperyment lub symulacja

lub ?

Prace analityczne i projektowe

Dedukcyjne prace analityczne i projektowe

o dużym stopniu ogólności

Indukcyjne prace analityczne i projektowedotyczące problemów

szczegółowych

Na tym poziomie problemy stają się zbyt ogólne dla zespołów projektowych zajmujących się zagadnieniami podstawowymi

Problemy na tym poziomie umykają zespołom analitycznym i projektowym na skutek natłoku szczegółów

Page 18: Obiekt ekonomiczny

Zagadnienia zaliczające się do luki poznawczej, nie są w trakcie

analizy dostrzegane i nie zostaną wyczerpująco opracowane, można

więc określać je mianem ryzykownych punktów projektu.

Wokół tych zagadnień Boehm zbudował spiralny model tworzenia

oprogramowania

Page 19: Obiekt ekonomiczny
Page 20: Obiekt ekonomiczny

Planowanie Projektowanie

Im plem entacjaWalidacja rozw iązań

W s tę p na w e rsja s p e cy f ik a cji

S W S

P e łn a s p e c y fik a c ja fu nk c jo n a ln o ś c i

Im p lem e n ta c ja fun k c jo na lno ś c i w y m a g a ny c h lu b ic h p od z b io ru

Im p lem e n ta c ja k o le jny c h fu nk c jo n a ln o ś c i

U z u pe łn ie n ie lis ty fu n k c jo na ln o ś c iw y n ika m i w a lida c ji

P rodukt gotow y ?

Z arzucen ie w yn ików p rac

im p lem en tacyjnych ?

Im p lem e n ta c ja k o le jny c h fu nk c jo n a ln o ś c i

U z u pe łn ie n ie lis ty fu n k c jo na ln o ś c iw y n ika m i w a lida c ji

Te s to w a n ie in s itu

Te s to w a n ie n a m o de lu

Praktyczna realizacja metodologii spiralnej

Page 21: Obiekt ekonomiczny

Rozważa się także rozwinięcie modelu spiralnego w oparciu o tzw. teorię Win-Win.

Teoria W-W podpowiada, że należy zidentyfikować wszystkich tych, którzy mają wpływ na przebieg

i wynik projektu. Mogą to być użytkownicy, inwestorzy, agendy rządowe i ich regulacje prawne, firmy

programistyczne itp.

Należy określić warunki sukcesu każdego uczestnika procesu (win condition).

Należy doprowadzić do negocjacji pomiędzy uczestnikami podczas oceny prototypów, jeśli ich

warunki sukcesu wykluczają się.

Page 22: Obiekt ekonomiczny

Spiralny model Win-Win

Page 23: Obiekt ekonomiczny

Metody kaskadowe i spiralne bywają czasem nadmiernie sformalizowane, dlatego w ostatnich latach zaczęto

lansować bardziej swobodną metodykę projektowania systemów

informatycznych, nazywaną„agile software development methods”

W polskiej literaturze odpowiednie metody zwykło się określać jako

„zwinnezwinne”.

Page 24: Obiekt ekonomiczny

Agile

Page 25: Obiekt ekonomiczny

Podstawowe składniki „manifestu” zwolenników „zwinnych” metod

projektowania są dosyć oczywistei łatwe do zaakceptowania

• ludzie, ich kontakty, zdolność do rozwiązywania problemów są ważniejsze niż sztywne procedury i narzędzia zarządzania,

• wynikiem projektu jest pracujące oprogramowanie a nie dokumentacja,

• z użytkownikiem się współpracuje a nie negocjuje kontrakt,

• ważniejsza jest umiejętność reagowania na zmieniające się warunki otoczenia niż podążanie za opracowanym na wstępie planem.

Page 26: Obiekt ekonomiczny

W myśl manifestowanych zasad metody „agile” nie są w istocie

nowymi praktykami postępowania w projekcie, bo te są tradycyjne.

Nowością jest traktowanie człowieka jako nadrzędnego

czynnika sukcesu.

Page 27: Obiekt ekonomiczny

Rozwój metodyki projektowania systemów informatycznych w kierunku metod „zwinnych”

Process Scrum(Schwaber, 1995,

Schwaber iBeedle, 2001)Metodologia projektowania

systemów zmiennych w czasie (DSDM, 1995)

Metodologie CrystalCockburn, 1998;2001)

Programowanie ekstremalne(XP) (Beck, 1999)

Szybkie programowanie Internetowe(Cusumano and Yoffie, 1999;Baskerville et al., 2001;Baskerville and Pries-Heje, 2001)

Programowanie Pragmatyczne (PP)(Hunt and Thomas,2000)

Adaptacyjny rozwój oprogramowania (ASD) (Highsmith, 2000)

Projektowanie zorientowanena właściwości (FDD) (Palmer and Felsing. 2002)

Modelowanie Agile (AM)(Ambler, 2002)

Ametodologiczny rozwójoprogramowania(Baskerville, 1992;Truex and al., 2001)

Ruch Open Source (OSS)

Projektowanie systemów informacyjnych w nowo powstajacych organizacjach (Truex et al., 1999)

Podejście “Synch-and-stabilize”(Microsoft)(Cusumano and Selby, 1995;1997)

Technologie internetowe

Model spiralny(Boehm, 1986)

Gra w opracowanie nowego produktu(Takeuchi and Noraka, 1986

Proces RUP (Rational Unified Process)Kruchten, 2000)

Manifest agile(Beck et. Al., 2001

Język UML

Opracowywanie oprogramowaniametodą “RADical” (Bayerand Highsmith, 1994)

Metody RAD (Rapid applicationdevelopment )(e.g., Martic, 1991)

Podejścia obiektowe

Ewolucyjne cykle życia(Gilb, 1988)

Prototypowanie(e.g. Lantz, 1986)

2000

1999 `

Page 28: Obiekt ekonomiczny

Skala dojrzałości modeli tworzenia systemów informatycznych pokazuje, że metody „zwinne” można stosować głównie dla niezbyt dużych systemów

Działania

ad-hoc

(bez planu)XP

Modele z

punktami

kontrolnymi

sterowane

ryzykiem

Sztywne

działania

kontraktowe

Adaptacyjny

rozwój

oprogramowania

Metody agile Standard modelu dojrzałości procesu tworzenia oprogramowania (Standard CMM)

Modele z

punktami

kontrolnymi

sterowane

planem

Page 29: Obiekt ekonomiczny

Cristal

Page 30: Obiekt ekonomiczny

Wśród metod zwinnych obecnie można wymienić

• Metodyka Crystal (Crystal family), • Projektowanie zorientowane na właściwości (Feature

Driven Development), • Modelowanie zwinne (Agile Modeling), • Programowanie ekstremalne (Extreme Programming),• Adaptacyjny rozwój oprogramowania (Adaptive

Software Development), • Metodyka scrum (Scrum development), • Prototypowanie (Prototyping methodology), • Szybkie programowanie internetowe (Internet Speed

Development), • Pragmatyczne programowanie (Pragmatic

Programming).

Page 31: Obiekt ekonomiczny

Jedna ze „zwinnych” metodologii, nazywana Crystal

Dokumentacja wymagań

systemowych

Planowanie nowej wersji

systemu

Harmonogra-mowanie

Polityka jakości,Standardy,

Role,Narzędzia,Działania

Iteracje Co 1-4

miesiące

Użytkowa wersja systemu

Równoległość i przepływ

Monitorowanie postępów(punkty

kontrolne i wersje stabilne)

Opracowaniei kontrola

rezultatów

Planowanie nowego cyklu

Page 32: Obiekt ekonomiczny

Metodyka Cristal ma odmiany w zależności od stopnia krytycznościkrytyczności projektu

(kategoryzowanego poprzez litery C, D, E, L – objaśnione dalej) i w zależności od jego rozmiarurozmiaru, mierzonego liczbą projektantów

zaangażowanych w tworzenie projektu.

Page 33: Obiekt ekonomiczny

Kategorie krytyczności projektowanego systemu:

• C - Komfortowe (Comfort),

• D - Zarządzające Finansami

(Discretionary Money),

• E - Finansowo istotne (Essential Money)

• L - Krytyczne dla Życia (Life Critical)

Page 34: Obiekt ekonomiczny

Na tej podstawie proponowana jest cała rodzina metod typu Cristal.

Ich mapa podana jest niżej.

L6

E6

D6

C6

L20

E20

D20

C20

L40

E40

D40

C40

L80

E80

D80

C80

Czysta ŻółtaPomarań-

czowaCzerwona Rozmiar

projektu

Krytycznośćsystemu

Page 35: Obiekt ekonomiczny

FDDProjektowanie

zorientowane na właściwości

Page 36: Obiekt ekonomiczny

Projektowanie zorientowane na właściwości (FDD-Feature Driven Development)

Planowanie na

podstawie funkcjonal-

ności

Określenie listy

funkcjonal-ności

Opracowanie ogólnego modelu

Wykonywanie w

oparciu ofunkcjonal-

ności

Projektowanie na

podstawie funkcjonal-

ności

Projekt w myśl FDD składa się z pięciu sekwencyjnie następujących etapów, które będą kolejno opisane.

Page 37: Obiekt ekonomiczny

Planowanie na

podstawie funkcjonal-

ności

Określenie listy

funkcjonal-ności

Opracowanie ogólnego modelu

Wykonywanie w

oparciu ofunkcjonal-

ności

Projektowanie na

podstawie funkcjonal-

ności

Page 38: Obiekt ekonomiczny

Założeniem leżącym u podstaw FDD jest inkrementacyjne opracowywanie poszczególnych funkcjonalności systemu

(features).

Prace rozpoczynają się od określenia „ogólnego modelu systemu”.

Zespół projektantów korzysta z opracowanych wcześniej wymagań systemowych i przypadków użycia.

Określana jest domena projektu i iteracyjnie dzielona na coraz to mniejsze znaczeniowo obszary.

Każdy niepodzielny obszar znaczeniowy jest opracowywany przez

przypisaną do niego grupę projektantów, w wyniku czego powstaje model szczegółowy, będący składnikiem całościowego

modelu systemu.

Page 39: Obiekt ekonomiczny

Planowanie na

podstawie funkcjonal-

ności

Określenie listy

funkcjonal-ności

Opracowanie ogólnego modelu

Wykonywanie w

oparciu ofunkcjonal-

ności

Projektowanie na

podstawie funkcjonal-

ności

Page 40: Obiekt ekonomiczny

W następnym etapie na podstawie specyfikacji wymagań systemowych oraz opracowanego

modelu/modeli opracowywane są listy funkcjonalności.

Listy te mają charakter hierarchiczny i zawierają funkcjonalności główne, które rozpadają się na

zestawy funkcjonalności w kolejnych hierarchiach.

Listy te są przeglądane przez użytkowników i inwestorów w celu kontroli poprawności

i kompletności.

Page 41: Obiekt ekonomiczny

Planowanie na

podstawie funkcjonal-

ności

Określenie listy

funkcjonal-ności

Opracowanie ogólnego modelu

Wykonywanie w

oparciu ofunkcjonal-

ności

Projektowanie na

podstawie funkcjonal-

ności

Page 42: Obiekt ekonomiczny

Planowanie nakłada na kierownictwo projektu obowiązek opracowania

długookresowego planu prac powiązanego z funkcjonalnościami, ich zależnościami

i priorytetami.

Poszczególne elementy listy funkcjonalności przydzielane są zespołom a w ich ramach konkretnym programistom – opiekunom

klas.

Klasa jest tu rozpatrywana w rozumieniu programowania obiektowego.

Page 43: Obiekt ekonomiczny

Planowanie na

podstawie funkcjonal-

ności

Określenie listy

funkcjonal-ności

Opracowanie ogólnego modelu

Wykonywanie w

oparciu ofunkcjonal-

ności

Projektowanie na

podstawie funkcjonal-

ności

Page 44: Obiekt ekonomiczny

Kolejne fazy:

Projektowanie funkcjonalności i

wykonanie funkcjonalności

wykonuje się iteracyjnie i jeśli to możliwe równolegle.

Page 45: Obiekt ekonomiczny

Każda funkcjonalność znajduje swą realizację wewnątrz obiektu (klasy), do

każdej klasy przyporządkowany jest programista dbający o jej spójność,

poprawność i efektywność kodu.

Jest on zarządzający obiektem (klasą).

Zarządzający obiektami są formowani w małe zespoły (feature teams).

Sposób organizacji zespołów w przybliżeniu odzwierciedla hierarchię funkcjonalności.

Page 46: Obiekt ekonomiczny

Istotną postacią w zespole projektowym jest

zarządca konfiguracji zajmujący się zagadnieniami

kontroli wersji i identyfikacją każdej „historycznej”

wersji kodu źródłowego.

Page 47: Obiekt ekonomiczny

DSDMMetodyka Projektowania Systemów

Zmiennych w Czasie

Page 48: Obiekt ekonomiczny

Inną ważną metodologię projektowania zaproponowało brytyjskie konsorcjum

DSDM.

Biorąc pod uwagę fakt, że zadania związane z projektowanym systemem

zawsze podlegają zmianom opracowano

Metodykę Projektowania Systemów Zmiennych w Czasie DSDMDSDM

(Dynamic Systems Development Methods)

Page 49: Obiekt ekonomiczny

Proces DSDM składa się z:

• inspekcji zastosowalności,

• badań biznesowych,

• iteracyjnego opracowania modelu funkcjonalnego (Functional model iteration),

• iteracyjnego projektowania i implementacji (Design and build iteration),

• wdrożenia.

Page 50: Obiekt ekonomiczny

Inspekcja zastosowalności wykonywana jest jednokrotnie na

początku projektu po to aby potwierdzić zasadność stosowania metody DSDM.

W trakcie tej fazy wstępnie określa się ryzykowne punkty w projekcie, jeśli to

niezbędne buduje się prototypy.

Rozległość prac w tej fazie jest ograniczona do kilku tygodni.

Page 51: Obiekt ekonomiczny

Badania biznesowe mają na celu wstępne rozpoznanie zagadnienia i identyfikację

osób po stronie odbiorcy, które są kluczowe dla projektu lub jego części. Osoby te

zostaną w późniejszym okresie włączone w proces opracowywania systemu.

Wyniki tej fazy to także wysokopoziomowy opis systemu (Businnes Area Definition), specyfikacja zakresu systemu, zarys

architektury systemu (System Arhitecture Definiction) oraz Plan prototypowania

(Outline Prototyping Plan).

Page 52: Obiekt ekonomiczny

Budowa modelu funkcjonalnego jest działaniem składającym się

naprzemiennie z procesów analizy i budowy prototypów.

Wyniki prototypowania służą do poprawienia i uszczegółowienia modeli analitycznych.

Jeśli to możliwe prototypy są udoskonalane w taki sposób, by można było je włączyć do

produktu końcowego.

Page 53: Obiekt ekonomiczny

Wynikiem tej fazy jest model funkcjonalny oraz kod prototypów.

Prototypowanie jest często traktowane jako forma testowania

modelu funkcjonalnego.

Page 54: Obiekt ekonomiczny

W każdej pętli iteracji tworzone są następujące dokumenty:

• lista funkcjonalności do opracowania wraz z ich

priorytetami,

• uwagi i komentarze użytkowników na temat prac

w aktualnym cyklu (Functional prototyping review

documents),

• wymagania niefunkcjonalne,

• analiza ryzyka pod kątem dalszych prac.

Page 55: Obiekt ekonomiczny

Projektowanie i implementacja to właściwa faza budowania systemu.

Wyniki prac nad modelem funkcjonalnym są przetwarzane w kod źródłowy właściwego

produktu.

Prototypy powstałe w trakcie prac nad modelem funkcjonalnym mogą być w tej

fazie adaptowane do kodu aplikacji.

Wynikiem tej fazy jest przetestowany produkt zawierający uzgodniony wcześniej

zestaw funkcjonalności.

Page 56: Obiekt ekonomiczny

Zaletą metodyki DSDM jest to, że na każdym

etapie projektowania i budowy systemu produkt jest oceniany przez twórców i użytkowników,

a uwagi wynikające z oceny opracowywane są w ramach

kolejnych iteracji.

Page 57: Obiekt ekonomiczny

DSDM literalnie wprowadza następujące praktyki:

• Aktywny udział użytkownika w procesie tworzenia oprogramowania;

• Zespoły DSDM muszą być uprawnione do podejmowania decyzji;

• Naciska się na częste dostarczanie nowych wersji oprogramowania;

• Nowe wersje są oceniane pod kątem odpowiedniości dla zastosowań biznesowych;

• Stosuje się iteracyjne i inkrementalne podejście do tworzenia oprogramowania;

• Prowadzi się kontrolę wersji tak by każda zmiana była odwracalna;

• Wymagania systemowe są określane zgrubnie i są uszczegóławiane samym procesem DSDM;

• Testowanie jest integralną częścią wszystkich faz w projekcie.

Page 58: Obiekt ekonomiczny

Programowanie ekstremalne

Page 59: Obiekt ekonomiczny

Programowanie ekstremalne (eXtreme Programming) powstało

jako próba zaradzenia problemom związanym z długimi cyklami

dostarczania oprogramowania i spadkiem zainteresowania

inwestora zadaniem.  

Page 60: Obiekt ekonomiczny

XP charakteryzują: ewolucyjne podejście do

projektowania i programowania oraz ekstremalnie ścisła współpraca z odbiorcą.

Zasadą są ekstremalnie krótkie iteracje w dostarczaniu kolejnych

wersji oprogramowania prowadzące do szybkich odpowiedzi użytkownika.

Page 61: Obiekt ekonomiczny

Przy wytwarzaniu oprogramowania stosuje się programowanie

w parach, ustawiczną przebudowę (refactoring) kodu źródłowego,

ustawiczną integrację i testowanie połączonych modułów.

Page 62: Obiekt ekonomiczny

Hasła towarzyszące projektowaniu XP to:

• gra w planowanie (planning game), • szybkie iteracje, • porozumienie pomiędzy użytkownikiem i programistami

za pomocą metafor, • prostota kodu (brzytwa Ockhama), • ustawiczne testowanie i integracja modułów, • programowanie w parach, • kolektywne posiadanie kodu, • unikanie nadgodzin, • komunikacja pomiędzy programistami poprzez kod

źródłowy • konstrukcja kodu źródłowego wedle zasad

akceptowanych i przestrzeganych w całym zespole.

Page 63: Obiekt ekonomiczny

Jedna z zasad XP głosi, że nie ma uniwersalnej metody prowadzenia

projektu informatycznego.

Wobec tego praktyki XP powinny być przystosowywane do

aktualnych potrzeb i specyfiki projektu.

Page 64: Obiekt ekonomiczny

W cyklu życia projektu XP wyróżnia się fazy:

• eksploracji,

• planowania,

• iteracji wykonawczych,

• przygotowania do produkcji,

• utrzymania w ruchu,

• zakończenia projektu.

Page 65: Obiekt ekonomiczny

Projektowanie (i programowanie) ekstremalne

Faza eksploracji

Faza planowania

Iteracje produkcyjne

Faz

a pr

zygo

tow

ania

do

wd

roże

nia

Faz

a za

końc

zeni

a

Faz

a ko

nse

rwac

ji

Programowanie w parachRegularneuaktualnienia

Prior

ytety

Testy

Planytesto wania

Pro jek-towanie

Analiza Testo-wan ie

Informacjazwrotna

Cią gła integ racjamodułów

Uaktualnieniaprodukcyjne

Uaktualnieniesystem u

Finalna wersja systemu

“O

po

wieści”

uży

tko

wn

ika

“O

po

wieści”

użytko

wn

ika

do

realizacji w

b

ieżącej iteracji

Baza kodów systemu

Ocen

a p

racoch

łonn

ości

Ciągły przegląd

Page 66: Obiekt ekonomiczny

W fazie eksploracji

zespół projektowy zapoznaje się z tematem prac i pozyskuje podstawowe informacje od

użytkownika.

Użytkownik przedstawia sposób użytkowania systemu poprzez opowiadania („story”), na

podstawie których budowany jest zarys architektury systemu oraz budowana jest lista

funkcjonalności.

W tym czasie projektanci testują wybraną technologię tworząc niezbędne prototypy oraz

zapoznają się z używanymi narzędziami.

Page 67: Obiekt ekonomiczny

Faza planowania. Opowiadania przedstawione przez

użytkownika są analizowane i nadawane są im priorytety.

W porozumieniu z użytkownikiem zestawiana jest lista funkcjonalności,

które mają być opracowane.

Programiści oceniają czas realizacji zadań i ustalany jest harmonogram

prac i termin zakończenia prac.

Page 68: Obiekt ekonomiczny

Faza iteracji wykonawczych.

Składa się z jedno lub kilkutygodniowych mini cykli implementujących kolejne

właściwości systemu.

Wykonywane są działania analityczne, projektowe, kodowanie i testowanie.

Na końcu każdego mini cyklu wykonywane są testy oprogramowania zaplanowane

przez użytkownika.

Page 69: Obiekt ekonomiczny

Faza przygotowania do produkcji.

W tej fazie system zawierający uzgodnioną porcję funkcjonalności jest przygotowywany

do wdrożenia.

Pojawiające się uwagi użytkownika są implementowane lub przeznaczane do

implementacji w następnej wersji oprogramowania.

Wykonywane są dodatkowe gruntowne testy.

Page 70: Obiekt ekonomiczny

Faza konserwacji.

Użytkownik jest wyposażony w działającą wersję oprogramowania, która wymaga

opieki i nadzoru.

Zespół projektowy w tym samym czasie wykonuje kolejną wersję oprogramowania.

W trakcie pracy z oprogramowaniem odbiorca formułuje kolejne postulaty dla

zespołu projektowego.

Page 71: Obiekt ekonomiczny

Wejście fazę produkcji często pociąga za sobą zmiany

w zespołach projektantów i wzrost zatrudnienia.

Wysiłek poświęcany na utrzymanie w ruchu wersji produkcyjnej wpływa

na zmniejszenie prędkości opracowywania nowej wersji

oprogramowania.

Page 72: Obiekt ekonomiczny

Zakończenie projektu.

Gdy użytkownik nie jest już zainteresowany dodawaniem funkcjonalności do oprogramowania,

tempo współpracy z użytkownikiem spada, formułowane wnioski o rozszerzenie

funkcjonalności mają charakter drugorzędny i często nie są wdrażane z powodów

ekonomicznych.

W tej fazie zespół projektowy podejmuje decyzję o zakończeniu projektu, blokuje zmiany

w architekturze systemu i kodzie źródłowym, opracowuje dokumentację systemu i projektu, ostateczne wersje instrukcji użytkownika oraz

instrukcje konserwacji.

Page 73: Obiekt ekonomiczny

Metodyka Scrum

Page 74: Obiekt ekonomiczny

Istotą metody Scrum jest adaptacyjny, samoorganizujący się

proces wytwarzania oprogramowania.

Nazwę zapożyczono ze strategii gry w rugby.

Page 75: Obiekt ekonomiczny

Scrum jest w istocie techniką zarządzania projektem informatycznym, utworzoną na

podstawie doświadczeń w realnych projektach.

Koncentrując się na zadaniach zarządzania pozostawia wolny wybór w wyborze technik

prowadzenia prac programistycznych.

Zakłada jednakże ewolucyjny styl tworzenia oprogramowania.

Page 76: Obiekt ekonomiczny

Podstawę adaptacyjności w Scrum stanowi założenie, że rozwój oprogramowania zachodzi

w niestałych warunkach, na które składają się: nieprzewidywalne

zmiany w wymaganiach, terminach, zasobach oraz dostępnych

technologiach, wobec czego sam proces tworzenia oprogramowania jest złożony i nieprzewidywalny.

Page 77: Obiekt ekonomiczny

Scrum zastosowane w praktyce, jak twierdzą twórcy, jest w stanie

usprawnić stosowane metody produkcji oprogramowania, bo

przewiduje częste

działania zarządcze skupiające się na identyfikowaniu problemów i przeszkód w pracach

inżynieryjnych.

Page 78: Obiekt ekonomiczny

Proces Scrum podzielony jest na trzy główne etapy:

• rozpoczęcie gry (pregame),

• faza produkcji (development phase),

• gra na zakończenie (postgame).

Page 79: Obiekt ekonomiczny

Faza rozpoczęcia obejmuje czynności planowania i opracowania

zarysu architektury systemu (Architecture high level design).

W trakcie tej fazy wszystkie znane wymagania są spisywane

i opracowywana jest lista wymagań (Product backlog list).

Lista ta jest otwarta, a zadania do realizacji dopisywane są do niej

w trakcie całego procesu tworzenia oprogramowania.

Page 80: Obiekt ekonomiczny

Źródłem wymagań są przede wszystkim użytkownicy, ale również dział marketingu i sprzedaży, dział

obsługi klienta oraz sam zespół projektantów-programistów.

Wymaganiom zestawionym na liście przypisywane są priorytety.

Na podstawie listy opracowywana jest architektura systemu.

Page 81: Obiekt ekonomiczny

Każdorazowo, gdy do listy dopisywane są nowe wymagania, są one rozpatrywane w ramach

specjalnego spotkania (Design Review Meeting).

Rozpatrywane są również zmiany w architekturze systemu wynikłe

z wprowadzenia nowych wymagań.

Page 82: Obiekt ekonomiczny

Finalnie, w ramach oddzielnego spotkania, tworzony jest podzbiór

listy wymagań.

Zawarte tam wymagania przeznaczone są do realizacji

w ramach aktualnej iteracji (sprint backlog list).

Page 83: Obiekt ekonomiczny

Każdy cykl to w istocie podprojekt kaskadowy składający się

z opracowania wymagań, analizy, projektowania, kodowania

i wdrożenia trwający nie dłużej niż 30 dni.

Page 84: Obiekt ekonomiczny

Czynności zarządcze w fazie produkcji zasadzają się na

spotkaniach organizacyjnych.

• Rozpoczęcie prac związane jest ze Spotkaniem Planowania Cyklu (Sprint planning meeting),

• Zakończenie prac z nieformalnym Spotkaniem Przeglądowym (Scrum Review meeting).

• Są również Codzienne Spotkania Zespołu projektantów i programistów (Daily Scrum meeting).

Page 85: Obiekt ekonomiczny

Spotkanie Planowania Cyklu (Sprint planning meeting) organizowane jest

przez zarządcę procesu dwukrotnie.

W pierwszym spotkaniu biorą udział użytkownicy, nabywcy, zarząd i zespół projektantów. Ustala się

cele i priorytety właśnie rozpoczynającej się iteracji. Wymagania wpisuje się we wspomnianą

wyżej listę (Sprint product backlog).

W drugim spotkaniu biorą udział jedynie wykonawcy i Zarządca Scrum, którzy ustalają

sposób przeprowadzenia prac przy implementacji wymagań.

Page 86: Obiekt ekonomiczny

Codzienne Spotkania Scrum (Daily Scrum meeting) są krótkie, najwyżej 15 minut, mają na celu

motywowanie personelu oraz śledzenie postępów prac.

W trakcie spotkania omawiane są problemy oraz planowane są

posunięcia z nich wynikające.

W spotkaniach uczestniczy zespół projektantów i programistów oraz

zarządca Scrum.

Page 87: Obiekt ekonomiczny

Spotkanie podsumowujące (Scrum Review Meeting) odbywa się

w ostatni dzień trwania iteracji produkcyjnej (iteracja nie trwa więcej

niż 30 dni).

Omawiane są na nim postępy prac oraz formułowane są wnioski, nowe

wpisy do listy wymagań lub postulowane są generalne zmiany

w architekturze systemu.

Page 88: Obiekt ekonomiczny

Faza zakończenia projektu rozpoczyna się wraz z ustaleniem pomiędzy

użytkownikiem a projektantami, że wymagania są zrealizowane

(lista wymagań jest pusta).

System jest przygotowany do instalacji.

W tej fazie wykonywana jest ostateczna integracja modułów i testowanie, a także

przygotowuje się dokumentację.

Page 89: Obiekt ekonomiczny

Scrum wprowadza interesujące narzędzie zarządcze jest nim omawiana już lista

wymagań (produkt backlog list).

Opisuje ona wszystko to, co powinno się znaleźć w ostatecznej wersji

oprogramowania (wedle aktualnej wiedzy).

W ten sposób lista wymagań opisuje wszystko, co należy zrobić w projekcie.

Lista zwykle zawiera właściwości, funkcje, usterki, defekty, żądania rozszerzeń i

żądania uaktualnień technologicznych.

Page 90: Obiekt ekonomiczny

Do zarządzania listą przeznaczony jest pracownik - Zarządca Projektu.

On trzyma pieczę nad dodawaniem nowych pozycji do listy, jak i usuwaniem pozycji gdy są

zrealizowane.

W pragmatyce rozwoju oprogramowania „open source” taka

lista nosi nazwę „to do list”.

Page 91: Obiekt ekonomiczny

Na diagramie przebiegu projektu nie przedstawiono jednego istotnego

procesu biegnącego niezależnie od procesów wytwórczych.

Jest nim estymacja pracochłonności.

W trakcie całego projektu równolegle z pracami projektowymi

i implementacyjnymi trwa proces oceny pracochłonności postulatów zawartych

w liście wymagań.

Page 92: Obiekt ekonomiczny

W początkowych fazach projektu oceny te są zgrubne, lecz w miarę gromadzenia

informacji z postępu prac implementacyjnych stają się coraz bardziej

dokładne.

Proces estymacji pracochłonności polega na gromadzeniu informacji statystycznych

o przebiegu projektu i wyznaczaniu kosztu prac na ich podstawie.

Estymacja pracochłonności nie bierze pod uwagę dużych zmian w architekturze systemu lub użytkowanej technologii.

Page 93: Obiekt ekonomiczny

W przypadku projektu prowadzonego metodą Scrum od początku zaleca się by użytkownik wraz

z zespołem projektantów spędził kilkanaście dni nad opracowaniem listy wymagań.

Muszą się w niej znaleźć zapisy dotyczące zarówno wymagań biznesowych jak

i technologicznych.

Celem nadrzędnym pierwszej iteracji produkcyjnej jest pokazanie użytkownikowi jakiegoś fragmentu funkcjonalności systemu zaimplementowanego

w ramach wybranej technologii.

Page 94: Obiekt ekonomiczny

Należy przewidzieć dużą ilość pracy przy pierwszej iteracji, bo dochodzą tu prace nad

opracowaniem szkieletu systemu, do którego będą dodawane funkcjonalności

w ramach kolejnych iteracji.

Pierwsza iteracja produkcyjna różni się od kolejnych również z tego powodu, że na jej

listę wymagań wpisane są takie zadania jak: zapoznanie się z technikami Scrum,

organizacje zespołów Scrum, rozdział ról w projekcie.

Dalsze iteracje są prostsze i szybsze.

Page 95: Obiekt ekonomiczny

Nowoczesne metodyki prowadzenia projektu informatycznego różnią się od tradycyjnych metod generalną ideą.

Podczas gry tradycyjne metody prowadzenia projektu w zamyśle sprzedają produkt - oprogramowanie, nowe techniki zarządzania sprzedają usługę – opracowanie oprogramowania.

Page 96: Obiekt ekonomiczny

Generalne własności:

• Wszystkie opisywane techniki zakładają ścisłą współpracę z użytkownikiem czy odbiorcą. Właściwie postuluje się włączenie użytkownika w proces projektowania oprogramowania (eXtreme Programming).

• Sprzedawana jest usługa tworzenia oprogramowania a nie gotowy produkt -oprogramowanie, tak więc użytkownik jest tym, kto podejmuje decyzje co i w jakiej kolejności będzie w projekcie wykonywane.

• Istotną wagę przywiązuje się do poprawnego szacowania kosztów prac, tak by inwestor/użytkownik mógł świadomie planować swe wydatki na rozwój oprogramowania.

Page 97: Obiekt ekonomiczny

Własności – ciąg dalszy• Zobowiązuje się wytwórcę oprogramowania do tego, że

każdym swym działaniem powinien udowadniać inwestorowi efektywne wykorzystanie czasu i powierzonych mu środków.

• Sprzedając usługę programowania rezygnuje się z zysków z ponownego użycia kodu i modeli analitycznych, bo prace odniesione są do niepowtarzalnego projektu. Przy takim założeniu rozległa dokumentacja projektowa staje się zbędnym kosztem obciążającym użytkownika i unika się jej.

• Uproszczenia dokumentacyjne wymuszają specyficzny sposób porozumiewania się z użytkownikiem. W trakcie tworzenia oprogramowania często (na bieżąco) zadaje się mu pytania i prośby o potwierdzenie dotyczące niewielkiego zakresu funkcjonalności. Stąd wynikają inkrementalny sposób dostarczania oprogramowania oraz krótkie iteracje implementacyjne (XP, Scrum).

Page 98: Obiekt ekonomiczny

Własności - koniec

• Nie specyfikuje się formalnych punktów kontrolnych w projekcie - nie są one potrzebne, gdyż zakończenie każdej iteracji jest punktem kontrolnym samym w sobie. Z drugiej strony wprowadzenie sformalizowanych punktów kontrolnych nie we wszystkich technikach jest możliwe.

• Sekwencyjna realizacja wymagań użytkownika powoduje częste zmiany w architekturze systemu i konieczność przebudowy kodu. W nowych metodykach zadanie przebudowy kodu postrzega się nie jako wyjątek, lecz jako regułę.