PSI (3 Metodyka obiektowa)

background image

Projektowanie

systemów

informatycznych

Obiektowa metodyka TSI

background image

Obiektowość

Obiektowość

jest podejściem, które wynika z

zaobserwowanych wad istniejącego świata i podaje receptę jak
te wady usunąć.
Wady:

złożoność: przekleństwo ciążące na większości projektów i

produktów informatyki,

kryzys softwerowy: oprogramowanie i jego utrzymanie kosztuje

zbyt dużo i problemem jest zawodne współdziałanie pomiędzy
produktami programowymi,

niedopasowanie metodyk analizy i projektowania systemów

informacyjnych do bazy realizacyjnej systemów (języków
programowania, systemów zarządzania bazami danych).

Głównym problemem systemów stał się człowiek (analityk,
projektant, programista).
Technologie komputerowe powinny być bardziej zorientowane
na ludzi, nie na maszyny

Co
robić
?

Podwyższyć poziom abstrakcji w projektowaniu i
programowaniu.
Dopasować wszystkie fazy projektu do uwarunkowań
technicznych i ludzkich.

2

GK (PSI(3) - 2009)

background image

Obiektowość - oczekiwania

Większa wydajność i krótszy tworzenia systemów
informatycznych, mniejsze koszty tworzenia i utrzymywania
systemu.

Mechanizmy abstrakcji dostarczone projektantowi,
pozwalające budować coraz większe systemy i operować
tymi jednostkami bez wnikania w ich wewnętrzną strukturę;
oddzielenie specyfikacji od implementacji,

mechanizmy kompozycji i dekompozycji:

zamykanie detali projektu lub oprogramowania w coraz
większe jednostki,

dekomponowanie złożonych struktur na fragmenty i
rozpatrywanie tych fragmentów niezależnie od siebie i
niezależnie od całości,

ponowne użycie (reuse) wcześniej wytworzonych
komponentów. może ono dotyczyć wszystkich elementów
danych, funkcji i oprogramowania.

podstawowe mechanizmy tworzenia wyspecjalizowanych klas
oraz tworzenia agregatów.

Efekty:

Jakość, niezawodność, testowalność, rozszerzalność,
łatwa pielęgnacja
systemu, szybkie prototypowanie, współdziałanie,
przenaszalność.

3

GK (PSI(3) - 2009)

background image

Obiekt

Obiektem

jest

rzecz

lub

pojęcie

obserwowane w świecie

rzeczywistym, którego dotyczy system informatyczny. Obiekt

jest odróżnialny od innych obiektów, ma dobrze określone

granice i nazwę.

Obiektem

może być także pewien zamknięty fragment

systemu (dana, procedura, moduł, dokument, okienko

dialogu,...), którym można operować jako zwartym tworem

(wyszukiwać, wiązać, kopiować, blokować, usuwać,

indeksować, ...).

Obiekt

posiada swoją

tożsamość

, która wyróżnia go

spośród innych obiektów. Tożsamość obiektu jest niezależna

od wartości jakichkolwiek jego atrybutów i od jego lokacji w

świecie rzeczywistym lub w przestrzeni adresowej komputera

(praktycznie: tożsamość = trwały wewnętrzny identyfikator

obiektu).

Obiekt

posiada

stan

, który może zmieniać się w czasie

(bez zmiany tożsamości obiektu).

Obiekt

może być

złożony

, tj. może składać się z

mniejszych obiektów, przy czym obiekt złożony zawiera w

sobie wszelkie dane, które składają się na jego stan.

Obiekt

może być

powiązany

z innymi obiektami

związkami asocjacyjnymi.

Obiekt

ma przypisane zachowanie, tj. zestaw operacji,

które wolno do niego stosować (implementacja operacji jest

zwana metodą).

Obiekt

ma przypisany

typ

, tj. wyrażenie językowe, które

ogranicza dopuszczalną budowę obiektu oraz ustala operacje,

które wolno wykonać na obiekcie.

4

GK (PSI(3) - 2009)

background image

Obiekt

Obiekt

- struktura złożona z:

danych,
operacji tj. czynności (funkcji)

wykonywanych na tych danych.

Cechy obiektu:

tożsamość

– cecha umożliwiająca jego

identyfikację,

stan

– aktualne wartości danych,

zachowanie

– zbiór operacji wykonujących

działania na tych danych.

5

GK (PSI(3) - 2009)

background image

Klasa

Klasa

jest nazwanym

zbiorem obiektów

o podobnych

własnościach. Własności te (zestaw atrybutów, metody) są
określone w definicji klasy. Stosunek klasa/podklasa oznacza
zawieranie się zakresów znaczeniowych. Np. zbiór obiektów
Student
zawiera się w zbiorze obiektów Osoba.

Klasa

jest miejscem przechowywania cech grupy

obiektów, które są niezmienne (inwariantów). Klasa nie jest
zbiorem obiektów i niekoniecznie jest definicją zbioru
obiektów. Stosunek klasa/podklasa oznacza, że obiekty
podklasy posiadają wszystkie inwarianty nadklasy, plus swoje
inwarianty. Np. klasa Student
ma wszystkie inwarianty klasy
Osoba
, plus niektóre własne.

Najważniejsze:

Nazwa, czyli językowy identyfikator obiektu.
Typ, czyli statyczna budowa obiektu (atrybuty).
Metody, czyli operacje, które można wykonać na
obiekcie.

6

GK (PSI(3) - 2009)

background image

Klasa

Zbiór wszystkich cech obiektów o tej samej

strukturze i zachowaniu oraz definicji

rodzajów tych zachowań.

Określa strukturę oraz zachowania obiektów,

które będą należały do danej klasy.

Identyfikowana przez nazwę.

Stanowi pewien rodzaju „typu danych”.

Klasa stanowi szablon dla obiektu (zawiera

cechy obiektu oraz opis jego zachowania).

Na podstawie klasy tworzony jest obiekt (tzw.

instancja klasy).

Definicja obiektu zawiera cechy zdefiniowane

przez klasę (atrybuty oraz operacje).

7

GK (PSI(3) - 2009)

background image

Obiektowość – podstawowe

założenia

Złożone obiekty

- system powinien składać się z małych,

zrozumiałych modułów, zawierających struktury danych i
dozwolone na nich operacje, czyli

obiektów

.

Powiązania

- obiekty mogą być powiązane związkami

asocjacyjnymi.

Hermetyzacja

– jednoznaczne rozróżnienie pomiędzy

interfejsem do obiektu opisującym co obiekt zawiera i co
robi, a implementacją definiującą jak
on jest zbudowany i jak
on to robi.

Typy i klasy

- zgrupowanie obiektów o tych samych

charakterystykach i traktowanie ich jako bytów tej samej
klasy; sprawdzanie typologicznej poprawności użycia
obiektów.

Dziedziczenie

- r

elacja między klasami mówiąca o tym, że

dana klasa (podklasa) współdzieli strukturę i zachowanie
zdefiniowane w jednej lub wielu klasach (nadklasach).
Podklasa najczęściej jest specjalizacją swojej nadklasy
poprzez doprecyzowanie lub rozszerzenie odziedziczonej
struktury i zachowania.

Komunikaty

- obiekt wykonuje jedną z jego funkcji po

wysłaniu do niego odpowiedniego komunikatu, który nie
zależy od tego jak obiekt jest zaimplementowany.

Polimorfizm

- wybór nazwy dla operacji jest określony

wyłącznie jej zewnętrznym, pojęciowym znaczeniem. Obiekt
sam decyduje, którą operację wybrać, jeżeli w skierowanym
do niego komunikacie została użyta ta nazwa.

8

GK (PSI(3) - 2009)

background image

Metodyka obiektowa

Własności obiektowej metodyki TSI:

wykorzystuje pojęcia obiektowości dla celów modelowania
pojęciowego oraz analizy i projektowania systemów
informatycznych,

podstawowym składnikiem jest diagram obiektów, będący
zwykle wariantem notacyjnym i pewnym rozszerzeniem
diagramów encja-związek,

diagram obiektów zawiera takie elementy jak: klasy, w ramach
klas specyfikacje atrybutów i metod, strukturę dziedziczenia
pomiędzy klasami, związki asocjacji i agregacji, liczności tych
związków, różnorodne ograniczenia oraz inne oznaczenia,

uzupełnieniem tego diagramu są inne, np. diagramy dynamiki
uwzględniające stany poszczególnych procesów przetwarzania i
przejścia pomiędzy tymi stanami, diagramy zależności
pomiędzy wywołaniami metod, np. diagram tropów
komunikatów, diagramy funkcjonalne (będące zwykle pewną
mutacją diagramów przepływu danych),

odwzorowanie struktury systemu z punktu widzenia jego
użytkownika za pomocą diagramów przypadków użycia (use
cases
).

Podejście obiektowe

- paradygmat rozwiązywania problemów

projektowych z wykorzystaniem obiektów, sposób

interpretacji problemu jako zbioru obiektów i relacji

pomiędzy nimi.

9

GK (PSI(3) - 2009)

background image

Główna różnica pomiędzy podejściem obiektowym w
tworzeniu systemów informatycznych, a podejściem
tradycyjnym (strukturalnym):

podejście obiektowe nie opiera się na funkcjonalnej

dekompozycji procesów zachodzących w świecie
rzeczywistym, a na opisie obiektów rzeczywistych, które
grają określoną rolę w tym świecie,

obiektowość jest sposobem myślenia i organizacji

systemu, polegającym na wyodrębnianiu dyskretnych
obiektów, które odwzorowują zarówno statyczną strukturę
świata i danych, jak i jego zachowanie (behaviour)
.

Istotna jest identyfikacja i organizacja pojęć
z dziedziny aplikacyjnej, a nie pojęć z
dziedziny implementacyjnej.

Metodyka obiektowa

10

GK (PSI(3) - 2009)

background image

Metodyki obiektowa

Martin/Odell

BON (Business Object Notation), Nerson & Walden

OODA, Booch

Catalysis, D’Souza & Wills

EROOS (Entity-Relationship Object-Oriented Specification)

Fusion, HP Laboratories

MOSES (Methodology for Object-Oriented Software Engineering of System)

OORAM

OSA

OOSA, Shlaer-Mellor

Sintropy

OMT,
Rumbaugh

Objectory, Jacobson

OOA/OOD, Coad/Yourdon

DOOS, Wirfs-Brock

MainstreamObjects, Yourdon

Express

Goldberg/Rubin

UML (Unified Modelling Language), Booch, Jacobson, Rumbaugh

11

GK (PSI(3) - 2009)

background image

Metodyka

RUP

(Rational Unified Process):

Jest konfigurowalnym procesem wytwórczym inżynierii
systemów.

Jest metodyką wytwarzania systemów opartą na iteracyjności,
najlepszych praktykach i szerokim wykorzystaniu modeli,
której głównym celem jest zagwarantowanie dostarczenia
produktu o wysokiej jakości, który spełnia oczekiwania
zleceniodawcy i jest wykonany w planowanym czasie i
budżecie.

Jest platformą narzędziową wspierającą proces tworzenia
systemu.

Jest przewodnikiem zawierającym bazę wskazówek i
szablonów przydatnych w krytycznych momentach tworzenia
systemu.

Dostarcza zestawu wskazówek dotyczących:

zarządzania projektantami i zespołami projektantów

,

kolejności wykonywania określonych przedsięwzięć przez
zespół projektowy.

Informuje o tym, które artefakty należy tworzyć i kiedy.

Ustala kryteria oceny realizacji prac projektowych oraz
uzyskiwanych artefaktów.

Nie narzuca jedynej słusznej drogi do celu, ale przedstawia
szereg sprawdzonych metod, które są skuteczne w zależności
od kontekstu organizacji.

Może być dopasowywana do potrzeb.

RUP - czym jest

12

GK (PSI(3) - 2009)

background image

RUP bazuje na kilku ważnych elementach zwanymi

najlepszymi praktykami (ang. best practices), które są ogólnie
znane i stosowane jako dobre rozwiązania w tworzeniu
systemów informatycznych.
Praktykami tymi są:

iteracyjne tworzenie systemu

– umożliwia stopniowe

zrozumienie problemu i przyrostowe opracowywanie
rozwiązania,

zarządzanie wymaganiami

- opisuje jak gromadzić,

organizować i dokumentować wymaganą funkcjonalność i
ograniczenia systemu,

stosowanie architektury opartej na komponentach

– umożliwia

tworzenie elementów systemu przy użyciu dobrze opisanych
komponentów, modułów,

wizualne modelowanie różnych aspektów systemu

przedstawia jak wizualnie modelować system w celu określenia
jego struktury i zachowania architektury,

weryfikacja jakości oprogramowania

– pomaga w planowaniu,

wykonaniu i oszacowaniu wyników testów,

kontrola zmian w systemie

– opisuje jak kontrolować wszelkie

zmiany wprowadzane do dokumentów, modeli i kodu.

RUP – metodyka

– najlepsze

praktyki

13

GK (PSI(3) - 2009)

background image

Rozwój przyrostowy:

w praktyce nie jest możliwe odgadnięcie jakie funkcje

będzie miał tworzony system, gdy zostanie ukończony,

RUP zaleca sukcesywny przegląd sformułowanych

wymagań i ich realizowanie w sposób iteracyjny,

początkowo realizuje się najważniejsze wymagania z

punktu widzenia użytkownika, dostarczając możliwie
najwcześniej działające najważniejsze funkcje systemu,

modyfikacja wymagań, ograniczeń, planowanego czasu

wykonania projektu oraz jego budżetu jest dużo
łatwiejsza przy stosowaniu podejścia przyrostowego,

klient może oceniać produkt przed jego ukończeniem.

14

GK (PSI(3) - 2009)

RUP – metodyka

– najlepsze

praktyki

background image

Zarządzanie wymaganiami.

Istotna trudność

zarządzania wymaganiami złożonych systemów polega na tym, że
podlegają one ciągłej zmianie przez cały czas procesu tworzenia
systemu, a co za tym idzie – przez cały czas nie można w sposób
precyzyjny określić kosztów utworzenia systemu oraz terminu jego
ukończenia.

Zarządzanie wymaganiami obejmuje trzy cyklicznie

wykonywane działania:

odkrywanie

,

organizowanie

i

dokumentowanie

.

RUP podaje:

sposób zapisu, przechowywania i pozyskiwania wymagań
funkcjonalnych oraz niefunkcjonalnych,

relacje pomiędzy dokumentem wizji klienta a dokumentami fazy
analizy.

Jako środek wyrazu wymagań użytkownika metodyka RUP zaleca
stosowanie diagramów przypadków użycia (use case
) w notacji UML
oraz scenariuszy. Korzystanie z tych form stanowi ułatwienie dla
zespołu projektowego, ale także umożliwia konsultacje wyników fazy
analizy z klientem.

15

GK (PSI(3) - 2009)

RUP – metodyka

– najlepsze

praktyki

background image

Architektura oparta na komponentach.

Specyfikowanie,

budowanie i dokumentowanie złożonych systemów wymaga ich oglądu
oraz przedstawiania z różnych punktów widzenia, charakteryzujących
różnych uczestników procesu TSI: użytkownika, analityka, projektanta,
programisty itp. Jedną z zasadniczych płaszczyzn łączących wszystkie
punkty widzenia na system jest jego architektura, która w RUP jest
określana jako zbiór określonych decyzji dotyczących:

organizacji tworzonego systemu informatycznego,

wyboru elementów i ich interfejsów, z których system będzie budowany,

razem z ich zachowaniem wynikającym z wymagań użytkownika,

tworzenia systemu poprzez hierarchiczne łączenie jego elementów.

Właściwości architektury opartej na komponentach:

dobrze pasuje do koncepcji iteracyjnego wytwarzania oprogramowania,

podstawową jednostkę przy analizie i projektowaniu systemu stanowią

podsystemy i pakiety,

dobrze pasuje do sposobu testowania zalecanego przez RUP, tj.

testowania każdego kawałka z osobna i systemu po integracji jako całości,

łatwość wprowadzania zmian – zgodność z ideą zarządzania

wymaganiami,

łatwość korzystania z dostępnych baz komponentów systemów

informatycznych (także Open Source).

16

GK (PSI(3) - 2009)

RUP – metodyka

– najlepsze

praktyki

background image

Modelowanie wizualne:

modele stanowią uproszczoną reprezentację rzeczywistości
przez co stają się możliwe do realizacji,

większość metodyki RUP dotyczy:

tworzenia modeli i zarządzania nimi,

określenia ról, które są odpowiedzialne za produkcje modeli,

zależności pomiędzy modelami.

Modelowanie wizualne pozwala na stosunkowo łatwe

znalezienie wielu rozwiązań problemów z zakresy TSI:

przypadki użycia i scenariusze określają funkcjonalność i
zachowanie systemu,

modele określają ściśle projekt systemu,

możliwość prezentowania rozwiązań o różnych stopniach
szczegółowości tego samego problemu,

łatwiejsze ujawnianie sprzeczności i niejednoznaczności
rozwiązań projektowych,

Jako narzędzia modelowania RUP używa UML.

17

GK (PSI(3) - 2009)

RUP – metodyka

– najlepsze

praktyki

background image

Ciągłe monitorowanie jakości:

za jakość odpowiedzialna jest cała organizacja i właśnie jakość
powinna stanowić główne kryterium projektowe,

realizowanie polityki jakości nie jest jednym z etapów tworzenia
systemu – jest „sposobem życia zespołu projektowego”,

RUP identyfikuje dwa pojęcia jakości:

jakość produktu – jak produkt dopasowuje się do potrzeb
klienta,

jakość procesu – poziom „dojrzałości” organizacji.

Ciągłe monitorowanie jakości pozwala na:

obiektywizację oceny jakości z tego względu, że system nie jest
oceniany na podstawie dokumentacji a na podstawie wyników
testów, co pozwala na uwypuklanie ewentualnych niezgodności
pomiędzy wymaganiami, projektem i implementacją,

koncentrowanie testowania i weryfikacji na obszarach systemu
najbardziej zagrożonych,

wczesne wykrycie nieprawidłowości i ich usuwanie znacznie
obniża koszty wytworzenia systemu.

18

GK (PSI(3) - 2009)

RUP – metodyka

– najlepsze

praktyki

background image

Oprogramowanie dostosowujące się do zmian.

Podstawową trudnością tworzenia złożonego systemu
jest to, że pracuje nad nim wielu różnych specjalistów
zebranych w wielu różnych, nieraz rozproszonych
zespołach, wykonujących wspólnie wiele czynności w
kolejnych iteracjach procesu TSI, korzystając z różnych
wersji rozwiązań, produktów i platform. Mając to na
uwadze metodyka RUP:

uwzględnia fakt, że system podlega ciągłym zmianom
oraz rozbudowie,

proponuje, żeby artefakty tworzone podczas całego
procesu były tworzone z pewnym „marginesem”,
pozwalającym na wprowadzanie zmian.

19

GK (PSI(3) - 2009)

RUP – metodyka

– najlepsze

praktyki

background image

Dwie osie RUP:

oś pozioma

reprezentuje
czas i
przedstawia
dynamiczne
aspekty
procesu,

oś pionowa

reprezentuje
statyczne

aspekty
(zawartość)
procesu.

RUP - proces

20

GK (PSI(3) - 2009)

background image

Proces tworzenia systemu podzielony jest na

cykle

. Cykl

obejmuje cztery etapy (fazy):

rozpoczęcie -

inception

,

opracowanie (rozwinięcie) -

elaboration

,

budowanie -

construction

,

przekształcanie (wdrażanie) -

transition

.

W ramach każdego etapu są możliwe

iteracje

. Iteracja jest

kompletną „pętlą” tworzenia pewnej części produktu.

Cechy RUP jako procesu:

cztery następujące po sobie etapy (fazy),

każda faza zakończona

kamieniami milowymi

,

na końcu każdej fazy następuje analiza jej produktów
celem sprawdzenia czy jej założenia zostały osiągnięte,

pozytywna ocena produktów fazy powoduje przejście do
następnej.

RUP - proces

21

GK (PSI(3) - 2009)

background image

Celem

etapu

rozpoczęcia

jest:

ustalenie zakresu projektu oraz przypadków użycia z
punktu widzenia wizji klienta,

określenie uzupełniających danych do każdego przypadku
użycia, obejmujących: kryterium powodzenia, ocenę ryzyka,
szacowany koszt wytworzenia, plan wytworzenia z
zaznaczeniem kamieni milowych,

zidentyfikowanie wszystkich zewnętrznych bytów, z którymi
system powinien współpracować i określenie charakteru tej
współpracy.

Wynikiem tej fazy są :

główne wymagania dotyczące projektu i funkcjonalności
systemu oraz ograniczenia,

początkowy diagram przypadków użycia (zaawansowany w
10%-20%),

analiza ryzyka w projekcie,

plan projektu (ukazujący fazy i iteracje w czasie),

jeden lub więcej prototypów pozwalających na wychwycenie
tak zwanego „ryzyka technicznego” oraz pozostałych
wymagań na system.

RUP – etapy (fazy) procesu

-

rozpoczęcie

22

GK (PSI(3) - 2009)

background image

Celem

etapu opracowania (rozwinięcia)

jest

opracowanie:

szczegółowej analizy problemu,

architektury zgodnej z charakterem tworzonego systemu,

utworzenie planu projektu,

zasad i metod ninimalizacji ryzyka.

Wynikiem tej fazy są :

diagram przypadków użycia z dokładnym opisem oraz
przypisaniem aktorów (powinien być ukończony w 80%),

zestaw wymagań niefunkcjonalnych,

opis architektury systemu,

dokładna analiza ryzyka,

zaktualizowany dokument wizji biznesowej,

wszystkie niezbędne plany projektowe w tym plan
implementacji dla całego projektu,

wstępna wersja podręcznika użytkownika (opcja).

RUP – etapy (fazy) procesu

-

opracowanie

23

GK (PSI(3) - 2009)

background image

Celem

etapu budowania

jest:

budowa elementów systemu,

integracja elementów systemu,

testowanie systemu.

Wynikiem tej fazy są :

produkt zintegrowany z platformą docelową, gotowy do
przekazania użytkownikowi,

podręcznik użytkownika.

Zarządzanie zasobami oraz kontrola działań jest kluczowa

podczas tej fazy w celu optymalizacji planów, kosztów oraz
jakości projektu.

Celem

etapu wdrażania

jest przekazanie produktu

(wersji systemu) użytkownikowi.
Wynikiem tej fazy jest funkcjonująca wersja systemu.

RUP – etapy (fazy) procesu

budowanie i wdrażanie

24

GK (PSI(3) - 2009)

background image

RUP – etapy (fazy) procesu

iteracje

i kamienie milowe

25

GK (PSI(3) - 2009)

Iteracja

jest pętlą projektową, która kończy się

wypuszczeniem funkcjonujących elementów projektowych,
stanowiących podzbiór kompletnego produktu. Podzbiór ten z
każdą zakończoną iteracją będzie się zbliżał rozmiarami do
finalnych oczekiwań. Iteracje i kamienie milowe:

Zaletami podejścia iteracyjnego są:

ryzyka mogą być szybciej wychwycone,

łatwiej można wprowadzać modyfikacje,

zespół projektowy można szkolić już po rozpoczęciu projektu,

całkowita jakość produktu jest znacznie wyższa niż przy
realizacji analogicznego produktu według modelu
kaskadowego.

background image

26

GK (PSI(3) - 2009)

Do zarządzania realizacją procesu TSI niezbędna jest

możliwość oceniania postępu prac projektowych. Skuteczność
kierowania tymi pracami wymaga też określenia kryteriów
oceny oraz czasu (punktów kontrolnych) jej przeprowadzania.
Takie punkty kontrolne noszą nazwę

kamieni milowych

i

wskazują miejsca zwrotne, w których – po ocenieniu
uzyskanych wyników mogą zapaść decyzje dotyczące
kontynuacji, bądź zmiany kierunku prac. Wyróżnia się

kamienie milowe zewnętrzne

zamykające każdy etap (fazę)

procesy projektowania i

kamienie milowe wewnętrzne

kończące iteracje wewnątrz etapu procesu projektowania.
Kamienie milowe

zewnętrzne

:

1.Etap rozpoczęcia

zbadanie celów przedsięwzięcia

(kryteria

oceny):

zgodność głównych uczestników procesu projektowania co do

zakresu stosowanych pojęć oraz wiarygodności oszacowania
kosztów i czasu tworzenia systemu,

zgodność głównych uczestników procesu tworzenia systemu

co do interpretacji przypadków użycia, definiujących
funkcjonalność systemu,

wiarygodność oszacowania harmonogramu realizacji procesu

tworzenia systemu oraz jego zagrożeń,

RUP – etapy (fazy) procesu

iteracje

i kamienie milowe

background image

27

GK (PSI(3) - 2009)

zakres przedmiotowy i funkcjonalny opracowywanych
prototypów architektury,

ocena rozbieżności pomiędzy nakładami planowanymi, a
poniesionymi już dotychczas i czy ewentualne
rozbieżności są do zaakceptowania.

2. Etap opracowania

opracowanie architektury

(pytania

związane z kryteriami oceny):

czy wizja systemu jest niezmienna?

czy architektura systemu jest stabilna?

czy analiza opracowanego prototypu umożliwiła
identyfikację głównych zagrożeń procesu projektowania i
czy podjęto stosownie do nich właściwe działania?

czy następny etap, tj. etap budowy systemu (prototypu
systemu) został szczegółowo zaplanowany i zostały
oszacowane koszty oraz czas jego realizacji?

czy wszyscy uczestnicy procesu projektowania systemu są
zgodni co do tego, że obecny prototyp systemu jest
możliwy do zrealizowania i że ta realizacja może być
oparta na istniejącej architekturze?

czy występują rozbieżności między planowanym a
rzeczywistym zużyciem zasobów i czy te rozbieżności są
do zaakceptowania?

RUP – etapy (fazy) procesu

iteracje

i kamienie milowe

background image

28

GK (PSI(3) - 2009)

3. Etap budowy

zapewnienie funkcjonowania początkowej

wersji systemu

(pytania związane z kryteriami oceny):

czy przygotowana wersja systemu jest na tyle dobrze
przygotowana, że może być przekazana użytkownikowi?

czy wszyscy uczestnicy procesu projektowania są
przygotowani do rozpoczęcia procesu przekazywania?

czy występują rozbieżności między planowanym a
rzeczywistym zużyciem zasobów i czy te rozbieżności są do
zaakceptowania?

4. Etap wdrażania

udostępnienie produktu

(pytania związane

z kryteriami oceny):

czy użytkownik jest zadowolony?

czy występują rozbieżności między planowanym a
rzeczywistym zużyciem zasobów i czy te rozbieżności są do
zaakceptowania?

RUP – etapy (fazy) procesu

iteracje

i kamienie milowe

background image

Dziedziny

(dyscypliny) RUP obejmują:

Modelowanie biznesowe,
Wymagania,
Analizę i projektowanie,
Implementację,
Testowanie,
Wdrażanie,
Zarządzanie konfiguracją i zmianami,
Zarządzanie projektami,
Środowisko.

RUP – dziedziny (dyscypliny)

procesu

29

GK (PSI(3) - 2009)

background image

Celem

Modelowania Biznesowego

jest:

zrozumienie bieżących problemów organizacji i

ocena możliwości ulepszenia zidentyfikowanych w

niej procesów biznesowych,

ocena wpływu wdrożenia tworzonego systemu

informatycznego na zmiany w organizacji,

uzyskanie pewności, że klienci, użytkownicy i inni

uczestnicy procesu tworzenia systemu

informatycznego jednakowo rozumieją organizację

pod kątem zachodzących w niej procesów

biznesowych,

określenie wymagań do tworzonego systemu,

niezbędnego dla wsparcia procesów biznesowych

organizacji.

RUP – dziedziny

– modelowanie

biznesowe

30

GK (PSI(3) - 2009)

background image

Celem

Wymagań

jest:

specyfikacja ograniczeń projektu,

specyfikacja wymagań funkcjonalnych systemu,

uszczegółowienie scenariuszy przypadków użycia,

specyfikacja wymagań niefunkcjonalnych:

niezawodność, rozszerzalność, bezpieczeństwo itp.,

ustalenia kosztów i określenie czasu wytworzenia

systemu,

specyfikacja interfejs użytkownika.

RUP – dziedziny

– wymagania

31

GK (PSI(3) - 2009)

background image

Celem

Analizy i projektowania

jest zamiana wymagań w

specyfikację implementacji systemu, tj.:

określenie stabilnej architektury systemu,

przystosowanie projektu systemu do środowiska, w którym zostanie

zaimplementowany system,

uwzględnienie własności systemu.

Analiza

to transformacja wymagań do modeli obiektów, dynamiki i

funkcjonalnego na podstawie przypadków użycia i wymagań

funkcjonalnych.

Wynikiem jest model „idealnego” systemu bez uwzględnienia

ograniczeń środowiska implementacji i wymagań niefunkcjonalnych

RUP – dziedziny

– analiza i

projektowanie

Analiza nie zajmuje się zmianą rzeczywistości poprzez
wprowadzenie do niej nowych elementów np. w postaci
systemu informatycznego; jej celem jest dokładne rozpoznanie
wszystkich tych aspektów danej rzeczywistości, które mogłyby
mieć wpływ na postać, organizację lub wynik projektu, tj. na
szeroko rozumiany kształt systemu. Analiza nie powinna
odwoływać się do jakichkolwiek aspektów implementacyjnych.

32

GK (PSI(3) - 2009)

background image

Analiza

- kombinacja technik, notacji i wzorców postępowania

posiadająca następujące cechy:

wyróżnianie w rzeczywistości będącej przedmiotem systemu

informatycznego bytów o określonych granicach, zwanych
“obiektami”,

grupowanie obiektów w klasy,

ustalenie zależności pomiędzy klasami w postaci hierarchii

dziedziczenia,

przypisanie do klas atrybutów obiektów i powiązań

asocjacyjnych obiektów,

przypisanie do klas metod, tj. operacji, funkcji lub procedur

działających na obiektach tych klas.

Techniki:

Modelowanie obiektów i klas, modelowanie zachowania,
modelowanie dynamiki, modelowanie przepływu danych, ...

Notacje:

Konkretna składnia i semantyka służąca do
zapisu modelu:
diagramy obiektów i klas, diagramy dynamiczne,
diagramy przepływu danych (UML).

RUP – dziedziny

– analiza i

projektowanie

33

GK (PSI(3) - 2009)

background image

PROJEKTOWAN
IE

Użytkow
nicy

Tworzenie

wymagań

Projekta
nci

Kierownic
two

Sformułow
anie
wymagań

Budowa

modeli

Wywiady z

użytkownik
ami

Wiedza

dotycząca
dziedziny
problemow
ej

Doświadcz

enie
projektowe

Modele:

obiektów

dynamiki

funkcjonal

ny

RUP – dziedziny

– analiza i

projektowanie

34

GK (PSI(3) - 2009)

background image

Projektowanie

to:

przystosowanie wyników analizy do wymagań

niefunkcjonalnych i ograniczeń środowiska
implementacji,

optymalizacja systemu,

pełne uwzględnienie funkcjonalności.

Projekt zawiera wiele elementów implementacyjnych
odnoszących się do struktury obiektowej oraz
algorytmów (metod) przetwarzania potrzebnych do
implementacji klas.

Wynikowy system jest organizowany w podsystemy

na podstawie wyników analizy jak i założeń co do ogólnej
architektury. Projektant musi podjąć decyzje dotyczące
optymalizacji charakterystyk wydajnościowych, wybrać
strategię rozwiązania tego problemu oraz podjąć decyzje
odnośnie alokacji zasobów. Np. projektant musi określić
charakterystyki monitorów (rozdzielczość, rozmiar
ekranu, kolory), musi wybrać konfigurację sprzętu,
strategię buforowania pamięci, właściwe protokóły
komunikacyjne, itd.

RUP – dziedziny

– analiza i

projektowanie

35

GK (PSI(3) - 2009)

background image

Celem

Implementacji

jest wytworzenie

działającego systemu na podstawie modelu z dyscypliny
projektowania. Implementacja

to etap, w którym obiekty

i klasy wyodrębnione podczas projektowania są
ostatecznie odwzorowane w postaci konstrukcji języka
programowania (najlepiej obiektowego), bazy danych,
oraz konfiguracji sprzętowej.

Zakłada się, że etap programowania powinien być

mniej ważną, w zasadzie pół-automatyczną czynnością,
która nie wypacza jakichkolwiek elementów projektu.
Wszelkie trudne decyzje dotyczące implementacji muszą
być podjęte i udokumentowane na etapie projektu. To
założenie jest szczególnie ważne dla dużych projektów,
gdy pojedynczy programista nie ma możliwości
ogarnięcia jego całościowej logiki.

Odwzorowanie projektu w implementację powinno

być takie, aby każdy fragment oprogramowania mógł
być jednoznacznie przyporządkowany odpowiedniemu
fragmentowi projektu.

RUP – dziedziny

implementacja

36

GK (PSI(3) - 2009)

background image

Celem dziedziny

Testy

jest:

sprawdzenie zgodności funkcjonalności systemu z
wymaganiami,

sprawdzenie stabilności działania systemu,

wykrycie i usunięcie błędów,

ocena niezawodności systemu,

ocena bezpieczeństwa systemu.

Na testowanie składają się następujące aktywności:

przygotowanie planu testów,

projektowanie i implementacja testów,

wykonanie testów integracyjnych oraz testów systemowych,

analiza wyników testów.

RUP – dziedziny

– testy

37

GK (PSI(3) - 2009)

background image

Celem

Wdrażania

jest wytworzenie i dostarczenie

oprogramowania, bazy danych i innych elementów systemu
użytkownikowi.
Aktywności dotyczące wdrażania:

fizyczne wytworzenie wersji instalacyjnej oprogramowania i baz

danych,

przygotowanie elementów systemu do dystrybucji i ich dystrybucja,

instalacja systemu,

utworzenie dokumentacji i pomocy dla użytkowników

.

RUP – dziedziny

– wdrażanie

38

GK (PSI(3) - 2009)

background image

Celem

Zarządzania konfiguracją i zmianami

jest:

utrzymanie spójności projektu, tj.:

identyfikacja elementów projektu,

określenie dostępu do elementów projektu (wprowadza

możliwość śledzenia dlaczego, kiedy i przez kogo dany

artefakt został zmieniony),

składowanie, struktura katalogów,

udostępnienie stabilnego środowiska, w którym

produkt będzie rozwijany,

wprowadzenie zabezpieczeń przed szkodliwymi

zmianami,

kontrola zmian:

audyt zmian, stany zgłoszeń,

wybór wersji,

unikanie konfliktów wersji.

RUP – dziedziny

– zarządzanie

konfiguracją i zmianami

39

GK (PSI(3) - 2009)

background image

Główne cele

Zarządzania projektami

:

dostarczenie wskazówek wspomagających planowanie prac,

organizowanie zespołów,

dostarczenie szablonów.

RUP nie rozwiązuje w pełni problemu zarządzania

projektami.

RUP – dziedziny

– zarządzanie

projektami

40

GK (PSI(3) - 2009)

background image

Celem dziedziny

Środowisko

jest:

wybór i dostarczenie narzędzi do tworzenia

systemu,

określenie środowiska systemowego dla

tworzonego systemu.

RUP – dziedziny

– środowisko

41

GK (PSI(3) - 2009)

background image

Rational SoDA

– automatyzuje tworzenie

dokumentacji dla całego procesu znacząco redukując
czas i koszty dokumentowania.

Rational ClearCase

– narzędzie zarządzania

konfiguracją, umożliwiające śledzenie ewolucji
projektu.

Rational TeamTest

– tworzy, utrzymuje i wykonuje

automatyczne testy funkcjonalne, umożliwiając
gruntowne przetestowanie kodu i określenie czy
oprogramowanie spełnia założone wymagania
funkcjonalne.

RUP – narzędzia

42

GK (PSI(3) - 2009)


Document Outline


Wyszukiwarka

Podobne podstrony:
Metodyka Obiektowa pojęcia podstawowe
Metodyka?dań obiektów architektonicznych 05
32 Porównaj znane Ci metody?dania obiektów wysmukłych, wskaż podobieństwa oraz różnice, wymień zale
PSI (2 Metodyka strukturalna)
PSI (1 Metodyki)
Metodyka?dań obiektów architektonicznych 7 05
Metodyka Obiektowa pojęcia podstawowe
obiektywne metody oceny postawy ciała (win 1997 2003)
obiekty, metody
Żołnierka, teoria systemów, METODY OPISU CIĄGŁYCH LINIOWYCH JEDNOMIAROWYCH OBIEKTÓW STEROWANIA (2)
Metodyka postępowania podczas odbiorów obiektów
@PSI W14c Mapowanie obiektowo relacyjne
świerszczyński,programowanie obiektowe,Metody wirtualne
21 Podstawy metodyczne analizy energetyczno ekologicznej obiektu budowlanego w pełnym cyklu istnieni
METODY MONITORINGU OBIEKTOW INZYNIERSKICH NA TERANACH AKTYWNYCH SEJSMICZNIE, Geodezja, Geodezja fizy
Zrozumiec UML 2 0 Metody modelowania obiektowego zrouml

więcej podobnych podstron