pobierz plik referatu

Transkrypt

pobierz plik referatu
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Rozdział 30
w
Analiza biznesowa w procesie projektowania baz
danych wspierających rozproszone systemy pracy
grupowej
w
da
.b
w
Streszczenie. W rozdziale przedstawiono zagadnienia dotyczące najwcześniejszego etapu prac nad projektami bazodanowych systemów informatycznych wspomagających pracę grupową. Z tej dziedziny zostały wyłonione
problemy, z jakimi borykają się udziałowcy pracujący w grupach. Problemy
te z kolei stały się podstawą identyfikacji i analizy potrzeb oraz - w końcowym efekcie - sformułowania wymagań wobec projektowanego systemu.
1 Wprowadzenie
pl
s.
Jednym z najistotniejszych etapów w całym procesie projektowania systemów informatycznych jest faza strategiczna, obejmująca pozyskiwanie wymagań, mających, w dalszych
etapach cyklu życia oprogramowania, zasadniczy wpływ na efekty końcowe przedsięwzięcia. Od analityków (w szczególności) zależy w jakim kierunku będą posuwać się kolejne
prace projektowe. Chcąc poprawnie przeanalizować dany biznesowy wycinek rzeczywistości, potrzebne jest zaangażowanie merytoryczne i zanurzenie w rzeczywistość dziedzinową.
Mając na celu projektowanie oprogramowania baz danych wspomagających systemy
pracy grupowej, należy skupić uwagę na zagadnieniu Komputerowego Wspomagania Pracy
Grupowej, w skrócie CSCW (ang. Computer Supported Cooperative Work).
CSCW definiuje się jako współpracę pomiędzy ludźmi lub grupami ludzi przy zastosowaniu technologii informatycznych wspierających komunikację i wymianę danych. Równoczesne korzystanie przez wiele osób z interaktywnych środowisk ma tu charakter świadomej współpracy [10].
Podstawowym zadaniem CSCW jest dostarczanie mechanizmów, wykorzystujących dostępne technologie informatyczne i komunikacyjne, zapewniających wysoki poziom komunikacji, dostępność i synchronizację danych oraz procesów. Dzieje się to w celu wspierania
działań grupowych i zwiększenia efektywności pracy grupowej.
Dorota Nikiporczyk: student Wydziału Informatyki i Zarządzania
Politechniki Wrocławskiej,
email: [email protected]
Zbigniew Szpunar: Instytut Informatyki Stosowanej, Wydział Informatyki i Zarządzania
Politechniki Wrocławskiej, 50-370 Wrocław, Wybrzeże Wyspiańskiego 27,
email: [email protected]
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
D. Nikiporczyk, Z. Szpunar
w
CSCW zajmuje się [13]:
− technikami i scenariuszami współpracy między ludźmi wyposażonymi w komputery
połączone w sieć (w tym: zrozumieniem zachowań ludzkich, oddziaływań pomiędzy
komputerami i ich użytkownikami, oczekiwaniami w stosunku do komputerów, dotyczącymi efektywnej pracy),
− zagadnieniami inżynierskimi i naukowymi, które służą do tworzenia narzędzi informatycznych wspomagających pracę w/w osób (w tym: skonstruowaniem podstaw
systemów informatycznych wspomagających różne formy współpracy).
O ile pierwsza wymieniona wyżej dziedzina nie mieści się w zakresie tematu niniejszego
rozdziału, o tyle ważniejszą rangę zyskuje drugi aspekt CSCW, tzw. systemy CSCW.
w
2 Istota systemów pracy grupowej
da
.b
w
Wymagania bezproblemowej komunikacji oraz bezbłędnego i bezkolizyjnego przepływu
informacji w danym środowisku określają fundament, na którym ma szansę rozwinąć się
i prosperować firma bądź organizacja. Sprostanie tym wymaganiom determinuje potrzebę
wprowadzenia i stosowania systemów pracy grupowej. Z kolei technologie informatyczne,
w połączeniu z wysiłkiem twórczym wielu osób, stwarzają optymalne warunki dla prowadzenia konkretnych, skutecznych działań w tym zakresie.
Systemy pracy grupowej są użytecznym, bardzo efektywnym i cenionym narzędziem
wspomagającym pracę wielu ludzi. W dalszej części rozdziału nastąpi rozwinięcie sensu
dwóch elementów składowych tej nazwy: praca grupowa oraz system.
2.1 Praca grupowa
pl
s.
Praca grupowa, inaczej praca zespołowa, to technologia wspomagająca pracę grup ludzi.
Stanowi ona naturalny ciąg zdarzeń tam, gdzie realizowane są zadania, których poprawne
zakończenie wymaga ingerencji wielu osób. Wspólne działania zespołu ludzi to podstawa
rozwijającej się firmy, mogąca warunkować osiągnięcie sukcesu.
Grupa, czyli pewna ilość elementów (w omawianym przypadku – ludzi), stanowi pewien mniej lub bardziej zorganizowany twór, w którym nicią wiążącą poszczególne jednostki jest minimum jedna cecha charakterystyczna, wspólna dla wszystkich członków
grupy. Cechy te mogą być bardzo różne: od podobnych elementów postrzeganych wizualnie, po wspólne idee, założenia i cele.
Ideą pracy grupowej jest realizacja pewnego założonego celu (bądź wiązki celów), dążenie do realizacji zadań nawet wówczas, gdy członkowie grupy nie mogą spotykać się
w tych samych miejscach i czasie.
Praca w zespole opiera się na współpracy, komunikacji między członkami grupy roboczej oraz koordynacji zadań w ramach procesów biznesowych między tymi osobami.
W rezultacie zwielokrotnienia nakładu pracy w grupie oczekuje się skrócenia czasu realizacji zadań, podniesienia jakości produktów oraz wzmocnienia siły twórczej.
Najważniejszymi zasobami w kwestii pracy grupowej są wiedza i doświadczenie członków grupy. Z tego względu duży nacisk przy opracowywaniu systemu informatycznego
należy położyć na odpowiednią organizację i wykorzystanie tych zasobów, umożliwiając
odpowiednie ich gromadzenie i wzajemne udostępnianie [1].
Praca grupowa może być realizowana i postrzegana na różne sposoby. Pod uwagę brane
są czynniki takie, jak czas i miejsce. Ze względu na czas można wyróżnić:
296
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Analiza biznesowa w procesie projektowania baz danych wspierających rozproszone systemy pracy grupowej
w
− pracę razem w tym samym czasie (tryb rzeczywisty, synchroniczny),
− pracę w różnym czasie (tryb asynchroniczny).
Ze względu na miejsce można wyróżnić:
− pracę razem w tym samym miejscu,
− pracę razem, ale w różnych (często oddalonych) miejscach.
Innym aspektem w dziedzinie pracy grupowej jest komputerowe wspomaganie pracy
grupowej, zajmujące się badaniem, analizą i doborem narzędzi wspomagających pracę
grupową - przede wszystkim właściwym projektowaniem aplikacji i doborem oprogramowania [9].
w
2.2 System pracy grupowej
da
.b
w
System to złożony byt, w którym wiele (w jakimś stopniu zależnych od siebie) elementów
współpracuje w celu osiągnięcia zamierzonych rezultatów (celów).
System pracy grupowej jest rodzajem systemu informatycznego (wykorzystującego
osiągnięcia informatyki) wspomagającego metody szeroko rozumianego zarządzania oraz
pracę zespołową.
System dla zastosowań w pracy zespołowej jawi się rozwiązaniem wszechstronnym,
spełniającym wiele różnorodnych funkcji. Jeśli został dobrze zaprojektowany, powinien
umożliwiać zbieranie, udostępnianie i wymianę informacji [9]. Złożoność takiego systemu
jest uwarunkowana potrzebami końcowych użytkowników.
Oprogramowanie używane przez więcej niż jedną osobę musi zapewniać ochronę danych lokowanych w systemie, ich prywatność, poufność oraz kontrolę dostępu do tych
danych. Niebanalnym założeniem w tego typu aplikacjach jest możliwość dostosowania
interfejsów do konkretnych potrzeb poszczególnych użytkowników oraz możliwość prezentacji danych w różnych widokach.
Podstawowymi funkcjonalnościami systemów pracy grupowej są zwykle [9]:
− poczta elektroniczna,
− fora dyskusyjne,
− zarządzanie różnego rodzaju dokumentami,
− planowanie i nadzorowanie wykonania zadań,
− kontrolowanie działań pracowników,
− definiowanie i zarządzanie przepływem informacji,
− definiowanie i zarządzanie przepływem pracy,
− administracja i zarządzanie dostępem do systemu i danych (ze względu na bezpieczeństwo danych).
Ważnymi cechami systemów pracy grupowej są elastyczność i otwartość. Otwartość na
współpracę z innymi systemami jest wielce wskazana ze względu na fakt współdzielenia
informacji. Elastyczność natomiast jest cechą wręcz niezbędną w tego typu oprogramowaniu, ponieważ system może zmieniać się z upływem czasu, zmienny może być charakter
wykonywanych zadań, mogą być zaimplementowane nowe funkcje w systemie wspomagającym pracę grupową, wreszcie mogą zachodzić zmiany w infrastrukturze.
Zastosowanie systemów pracy grupowej pozwala na [11]:
− skrócenie czasu ich realizacji procesów biznesowych i ich usprawnienie,
− czytelną definicję zadań i ich automatyzację,
− monitorowanie i nadzorowanie procesów biznesowych,
− ustanowienie standardów w dokumentacji,
− redukcję kosztów bieżących,
pl
s.
297
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
D. Nikiporczyk, Z. Szpunar
− wymianę informacji,
− zwiększenie efektywności zespołów poprzez wymianę opinii między członkami grup
roboczych,
− polepszenie procesów decyzyjnych.
2.3 Rozproszony system pracy grupowej
w
Informatyczny system rozproszony jest to system złożony z wielu jednostek przetwarzania,
zlokalizowanych w różnych, często znacznie oddalonych od siebie, miejscach w sieci komputerowej – w węzłach, gdzie wszystkie jednostki systemu mogą się ze sobą komunikować
i współdzielić dane.
Systemy pracy grupowej z reguły są aplikacjami działającymi w rozproszeniu. Jest to
naturalną sprawą, ponieważ praca grupy osób na jednym stanowisku roboczym jest nieefektywna i stwarza wiele niebezpieczeństw, a bardzo często jest wręcz niemożliwa do
zrealizowania, np. z przyczyn technicznych.
System rozproszony, a co za tym idzie system pracy grupowej, jest nierozerwalnie związany z rozproszoną bazą danych.
w
w
Analiza biznesowa systemu pracy grupowej w aspekcie potrzeb
i możliwości jego komputerowego wspomagania
da
.b
3
pl
s.
Punktem wyjściowym dla modelu biznesowego systemów informatycznych, w tym systemów wspierających pracę grupową, jest identyfikacja, występujących w rzeczywistości
dziedzinowej, problemów z jakimi borykają się udziałowcy systemu (udziałowcem jest
każdy podmiot mający wpływ na kształt systemu). Problemy te, w kolejnych krokach pracy, stają się podstawą dla identyfikacji oraz analizy potrzeb i wymagań wobec tworzonego
systemu.
Wymagania wyłaniają się z potrzeb udziałowców. Jednak, żeby je dobrze wyspecyfikować, należy rozpoznane potrzeby wnikliwie przeanalizować i kompletnie określić pożądane
właściwości (cechy) systemu. Istotną kwestią w omawianym aspekcie jest dogłębne poznanie obszarów użycia bazy danych w biznesie [5].
Problemy wynikają z różnic między rzeczywistością a subiektywnym jej postrzeganiem
przez różne podmioty mające wpływ na kształt systemu. Aby zaradzić wynikłym problemom, formułowane zostają potrzeby, czyli propozycje rozwiązania tychże problemów.
Potrzeby zaspokajają wynikłe wcześniej problemy i na ich podstawie można wyłonić własności powstającego systemu. Po zidentyfikowaniu cech właściwych tworzonemu oprogramowaniu, na ich podstawie zostaje wysunięta lista wymagań stawianych oprogramowaniu, czyli uszczegółowionych usług systemu, wyrażona w terminach interakcji aktora
z systemem. Wymaganie może realizować jedną lub wiele własności, a każda własność
może być realizowana przez wiele wymagań.
Celem analizy dziedziny problemu jest lepsze jego zrozumienie. W tym kierunku należy
poczynić następujące kroki [7]:
− zidentyfikować problem,
− dopatrzyć się jego przyczyn,
− zidentyfikować udziałowców i przyszłych użytkowników systemu,
− zakreślić zakres rozwiązania problemu,
− zidentyfikować ograniczenia dla rozwiązania.
298
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Analiza biznesowa w procesie projektowania baz danych wspierających rozproszone systemy pracy grupowej
3.1 Identyfikacja potrzeb wobec systemu pracy grupowej
w
Podstawą, która pozwala na określenie wielu problemów, jest opis dziedzinowego wycinka
rzeczywistości. Potrzeb w stosunku do tworzonego systemu informatycznego jest zazwyczaj bardzo wiele, toteż skupiając się na wiodącym temacie pracy, przedstawione zostaną
tutaj tylko te problemy, które dotyczą projektowania bazy danych w aspekcie rozproszonych systemów pracy grupowej (jak w tabelach: 1 – 12, wiersze: „Problematyka”,
„Rozwiązanie”, „Ograniczenia”).
3.2 Identyfikacja wymagań wobec systemu pracy grupowej
da
.b
w
w
Znając ogólne potrzeby udziałowców należy czynić próby zrozumienia ich w stopniu dostatecznym, aby móc wyłonić pożądane cechy produktu. Cech tych może być bardzo dużo.
Wyłaniają się one z potrzeb - tak, jak problemy rzeczywistości dziedzinowej przekładają
się na potrzeby.
Istotną kwestią jest, aby w zrozumieniu potrzeb uczestniczyli sami udziałowcy i przyszli
użytkownicy systemu. Nie jest to najłatwiejszy etap dla twórców oprogramowania, jednak
jest on bardzo potrzebny, bo właściwie zrealizowany, zwykle okazuje się niezwykle efektywny i wnoszący nowe spojrzenie na wiele ważnych spraw. Formułowanie wymagań na
podstawie potrzeb pozyskanych od udziałowców jest zadaniem wymagającym precyzji
i umiejętności. Proces ten jest utrudniany przez trzy zjawiska [7]:
− Syndrom „tak, ale”, gdy użytkownicy podzielają dwie przeciwstawne alternatywy.
− Syndrom „nie odkrytych ruin”, kiedy, w przypadku znalezienia jakiegoś szczegółu,
narasta świadomość, że należy odkryć jeszcze wiele szczegółów z nim powiązanych.
− „Przepaść” między postrzeganiem problemów i ich interpretacją przez programistę
i przez użytkownika, utrudniająca konwersację między nimi.
Wymagania użytkownika trafiają do zespołu projektowego najczęściej jako niesprecyzowane, niejasne, nierzadko chaotyczne idee i pomysły, z których trzeba wysupłać istotne
kwestie dla modelowanego systemu. Dopiero wówczas można stawiać kolejne kroki
w kierunku analizy problemów i identyfikacji własności systemu.
W związku z synergią, cechującą dane środowisko biznesowe, identyfikując wymagania
należy zwrócić szczególną uwagę na wszelkie możliwe powiązania, które występują
w biznesie i tym samym muszą zostać odnalezione w projekcie bazy danych [8].
Wymagania użytkownika można podzielić na dwie kategorie:
− wymagania dotyczące produktu: funkcjonalne i niefunkcjonalne,
− wymagania dotyczące procesu.
W tabelach 1 – 12, w wierszu „Wymagania”, przedstawiono zestaw wymagań wobec
systemu pracy grupowej, wynikających z wyłonionych potrzeb (01 – 12).
pl
s.
Tabela 1. Potrzeba 01: istnienie rozproszonej bazy danych z możliwością lokalnego składowania danych
Problematyka
Rozwiązanie
Ograniczenia
Wymagania
Potrzeba wynika z rozproszenia danych i ich dostępności. Dane powinny
być dostępne w różnych miejscach i dla różnych użytkowników.
Zaprojektowanie funkcjonalnego systemu rozproszonej bazy danych
w systemie pracy grupowej.
W systemie określone dane powinny uczestniczyć w rozproszeniu, inne
natomiast powinny być lokalne.
Rozproszona baza danych, z możliwością [5]:
299
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
D. Nikiporczyk, Z. Szpunar
− dodawania, edycji, usuwania danych lokalnych oraz ich prezentacji.
− dodawania, edycji, usuwania danych uczestniczących w rozproszeniu oraz ich prezentacji.
− łączenia danych lokalnych i rozproszonych oraz ich prezentacji.
Tabela 2. Potrzeba 02: zapewnienie bezpieczeństwa danych i bazy danych
w
Problematyka
w
Potrzeba wynika z problemu zapewnienia pełnego bezpieczeństwa.
Poufność i prywatność danych to jedna z podstawowych spraw, które
muszą być zrealizowane w każdej bazie danych. W przypadku pracy grupowej aspekt ten zyskuje jeszcze wyższą rangę. Dane w żadnym wypadku
nie mogą być narażone na dostęp do nich osób niepowołanych, na ich
utratę czy zniszczenie.
Żeby zapewnić właściwe bezpieczeństwo, należy wprowadzić jego środki
na każdym poziomie funkcjonowania bazy danych.
− Tylko osoby i grupy uprawnione powinny uzyskiwać dostęp do
obiektów bazy danych poprzez SZBD.
− Powinny zostać zdefiniowane odpowiednie uprawnienia w odniesieniu do systemów operacyjnych, w których działają bazy danych.
− Dane winny być kontrolowane w miarę potrzeb.
− Dane wyjątkowo poufne powinny być szyfrowane.
− Powinny być regularnie wykonywane kopie zapasowe całości lub
części bazy danych.
Polityka bezpieczeństwa powinna być tak sformułowana, aby zapewnić
maksymalną ochronę danych i całych systemów baz danych. Bezpieczeństwo trzeba zapewnić zarówno środkami komputerowymi, jak i pozakomputerowymi.
Autoryzowany dostęp do bazy danych (autoryzacja pracownika, autoryzacja aplikacyjna) [12].
Uprawnienia systemów operacyjnych (lokalnego systemu operacyjnego
oraz systemów operacyjnych innych członków grupy roboczej).
Restrykcje wobec sieci komputerowej.
Algorytmy szyfrujące.
Sporządzanie kopii zapasowej bazy danych (automatyczne i na żądanie).
Rozwiązanie
Wymagania
da
.b
w
Ograniczenia
pl
s.
Tabela 3. Potrzeba 03: niezawodność w trakcie wykonywania operacji
Problematyka
Rozwiązanie
Potrzeba wynika z problemu zbyt częstej zawodności obecnie wykonywanych operacji. Wielu użytkowników, wiele aplikacji, wielokrotny dostęp
do bazy danych w różnym czasie – wszystko to stwarza konieczność bezbłędnego działania systemu w różnych warunkach.
W bazie danych operacje są związane zwykle z transakcjami. Podstawową
więc kwestią, jeśli chodzi o zapewnienie niezawodności, jest zachowanie
pełnej izolacji i niedopuszczenie do zakleszczeń w trakcie wykonywania
transakcji (ang. deadlocks). W związku z transakcjami rozproszonymi,
należy zadbać o poprawność i prawidłowe działanie protokołów zatwierdzania (ang. commit) i odrzucania (ang. rollback).
Inną ważną sprawą, związaną z niezawodnością, jest odpowiednie znormalizowanie formatów danych wprowadzanych do baz danych w każdej
jednostce przetwarzania.
300
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Analiza biznesowa w procesie projektowania baz danych wspierających rozproszone systemy pracy grupowej
Ograniczenia
Wymagania
w
Istotnym aspektem, branym pod uwagę w trakcie specyfikacji transakcji,
jest ścisłe przestrzeganie zasad ich serializacji.
Ograniczeniem, z punktu widzenia pracy wielu użytkowników i ich przyzwyczajeń, jest ujednolicenie formatów wprowadzanych danych. Wiąże
się to z potrzebą wsparcia użytkowników w trakcie wykonywania operacji
na danych.
Obsługa transakcji (z pełnym zachowaniem właściwości transakcji [5],
[2]), w tym transakcji rozproszonych [4].
Tabela 4. Potrzeba 04: bezproblemowa komunikacja i współpraca pomiędzy użytkownikami grupy roboczej
Potrzeba wynika z problemu związanego z trudnościami porozumiewania
się, konfrontacji i wzajemnej komunikacji.
W systemie pracy grupowej, jak sama nazwa mówi, praca realizowana jest
przez wielu użytkowników. Nierzadko istnieje potrzeba komunikacji między nimi na różnych płaszczyznach, zarówno w sekwencyjnej realizacji
zadań, jak również w zadaniach wykonywanych równolegle. Komunikacja
jest ważna w celach konfrontacyjnych, zapobiegania przestojom oraz aby
zachować aktualność informacji i danych.
Z punktu widzenia działań zespołowych, możliwość współpracy jest
sztandarowym zagadnieniem, które należy osiągnąć dzięki poprawnej
konfiguracji sieci komputerowej i wprowadzeniu odpowiednich zabezpieczeń. Współpraca w zespole może być realizowana na wiele sposobów.
Trzy najczęściej spotykane to [13]:
− Współpraca sekwencyjna – użytkownicy pracują nad przedmiotem
współpracy sekwencyjnie, tzn. po kolei, jeden użytkownik kończy
pracę, przekazuje drugiemu itd.
− Współpraca wzajemna – wielu użytkowników pracuje jednocześnie
(często asynchronicznie) nad tym samym przedmiotem współpracy.
− Współpraca równoległa – wielu użytkowników pracuje jednocześnie
(często asynchronicznie), ale każdy z nich dysponuje własną kopią
przedmiotu współpracy, które co jakiś czas są synchronizowane
w celu uzyskania odpowiednich zamierzeń.
Komunikacja wiąże się ze współpracą zarówno selektywną, jak również
wzajemną, równoległą lub inną.
Szukając efektywnego rozwiązania dla zaspokojenia potrzeby bezproblemowej komunikacji pomiędzy użytkownikami, należy mieć na uwadze
ograniczenia zarówno czasowe, jak i przestrzenne, bowiem komunikacja
może odbywać się synchronicznie lub asynchronicznie i często osoby
komunikujące się są znacznie od siebie oddalone.
Właściwie skonfigurowana sieć komputerowa.
Transmisja z wykorzystaniem standardowego protokołu komunikacyjnego.
Poczta e-mail. Możliwość wysyłania, odbierania, tworzenia, edycji, zapisu
i wydruku wiadomości a także wykorzystania zawartości bazy danych
w redagowaniu wiadomości.
Forum dyskusyjne. Możliwość wysyłania, odbierania, tworzenia, edycji,
zapisu i prezentacji informacji.
Wideokonferencje i możliwość aktywnego w nich uczestnictwa.
Rozwiązanie
Wymagania
pl
s.
Ograniczenia
da
.b
w
w
Problematyka
301
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
D. Nikiporczyk, Z. Szpunar
Tabela 5. Potrzeba 05: możliwość ewentualnej, łatwej rozbudowy systemu
Problematyka
Rozwiązanie
w
Ograniczenia
w
Potrzeba wynika z dynamicznego rozwoju przedsiębiorstw i organizacji.
Wszystko z czasem się zmienia. Również firmy korzystające z systemów
CSCW przechodzą większe lub mniejsze przeobrażenia. Z tego wynika
potrzeba elastyczności zarówno systemu informatycznego, jak i całej bazy
danych. Musi istnieć możliwość łatwej jej rozbudowy bez utraty danych.
Poruszając zagadnienie elastyczności systemu, należy mieć na uwadze
takie jego zaprojektowanie, aby w nieskomplikowany sposób możliwe
były: tworzenie i modyfikacja nowych obiektów w bazie danych oraz
bezproblemowe rozszerzanie płaszczyzny interfejsów.
Bardzo ważną kwestią jest dostęp do tego typu usług. Nie może on być
przypadkowy. Jedynie osoba doświadczona, z uprawnieniami administratora, byłaby kompetentna do czynienia rozszerzeń i modyfikacji projektu
systemu i bazy danych.
Elastyczność i otwartość, w tym możliwość rozbudowy systemu przez
zaawansowanego użytkownika lub administratora.
Wymagania
w
Tabela 6. Potrzeba 06: zachowanie ścisłej integralności przy założeniu istnienia wielu
instancji obiektów baz danych
Rozwiązanie
Ograniczenia
pl
s.
Wymagania
Potrzeba wynika z problemu często identyfikowanych niezgodności ze
stanem faktycznym. Zgodność danych ze stanem faktycznym warunkuje
poprawne funkcjonowanie firmy korzystającej z systemu bazodanowego.
Rozwiązaniem problemu istnienia wielu kopii jawi się proces synchronizacji przedmiotu współpracy. W pracy grupowej, bazy danych często zostają
poddane fragmentacji w celu zwiększenia efektywności oraz w celu uniknięcia ewentualnych problemów związanych z transmisją danych. Może
istnieć wiele replik. Taka postać rzeczy sprawia, że w pewnych sytuacjach
konieczne staje się scalanie i synchronizacja tych baz.
Nierzadko dane z otaczającej rzeczywistości, które zwykle są elastyczne,
trudno jest sprecyzować i zamknąć w „suchych” terminach o określonych
formatach zapisu. To stwarza istotne ograniczenia dla baz danych. Od
strony sprzętowej dość dużym ograniczeniem może stać się sieć komputerowa i dostępność węzłów w celu synchronizacji i replikacji danych.
Synchronizacja baz danych wobec istnienia możliwości fragmentacji oraz
replikacji [5], [2].
da
.b
Problematyka
Tabela 7. Potrzeba 07: istnienie aktualnego i kompletnego słownika pojęć używanych
w systemie
Problematyka
Rozwiązanie
Potrzeba wynika z problemu niejednolitości wyrażeń oraz zwrotów stosowanych w przedsiębiorstwie. Wszystkie używane w systemie pojęcia
i zwroty, aby były jednakowo i poprawnie interpretowane przez różnych
użytkowników oraz grupy użytkowników, powinny zostać odpowiednio
zdefiniowane i zebrane w jednym miejscu, dostępnym dla każdego udziałowca.
Aby uniknąć wieloznaczności, niedomówień i własnych interpretacji,
w systemie, w którym pracuje wiele osób, potrzebną, a wręcz niezbędną
sprawą jest istnienie słownika pojęć, będącego swoistym repozytorium
wiedzy na tematy związane z dziedziną pracy.
302
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Analiza biznesowa w procesie projektowania baz danych wspierających rozproszone systemy pracy grupowej
Ograniczenia
Wymagania
Słownik pojęć dziedzinowych powinien być udostępniany udziałowcom
w sposób selektywny.
Baza pojęć i zwrotów używanych w systemie. Możliwość dodawania,
edycji, usuwania, wyszukiwania pojęć i ich prezentacji [2].
Tabela 8. Potrzeba 08: wielopoziomowe zarządzanie
w
Problematyka
w
Potrzeba wynika z problemu niezorganizowania zarządzania, co jest częstą
przyczyną porażek przedsięwzięć projektowych. Bez zarządzania wykonywanymi przez wielu użytkowników czynnościami, utrzymanie porządku, a co za tym idzie osiągnięcie założonych celów, nie byłoby możliwe. Potrzeby: planowania, przydziału zadań, monitorowania, koordynacji, kontroli itp. determinują potrzebę zarządczą tymi segmentami dziedziny.
W systemie powinna być pełniona funkcja administratora. Możliwość
zaspokojenia potrzeb zarządczych jest możliwa poprzez szeroko rozumiane zarządzanie wykonywanymi czynnościami.
Spośród wielu użytkowników tylko administrator (lub grupa administratorów) jest odpowiedzialny za poprawność przebiegu przedsięwzięć.
Zarządzanie zadaniami (planowanie zadań, przydział zadań, monitorowanie przebiegu zadań, kontrolowanie poprawności wykonywania zadań,
koordynacja złożonych zadań, odbiór zadań).
Zarządzanie procesami (harmonogramowanie / planowanie przedsięwzięć,
obsługa zdarzeń, ewidencjonowanie zdarzeń, kontrolowanie zdarzeń, monitorowanie stanów).
Rozwiązanie
Wymagania
da
.b
w
Ograniczenia
Tabela 9. Potrzeba 09: możliwość oglądu danych w różnych perspektywach
Problematyka
Ograniczenia
Wymagania
pl
s.
Rozwiązanie
Potrzeba wynika z problemu niedostosowanej, do potrzeb odbiorcy, prezentacji danych, co może doprowadzać do mylnej interpretacji danych.
Różni użytkownicy w różnych sytuacjach potrzebują różnych danych.
Poza tym bardzo ważną kwestią jest sposób reprezentacji udostępnianych
danych, sprzyjający właściwej przyswajalności stosownej informacji.
Idealnym rozwiązaniem byłoby stworzenie możliwości dostosowania perspektyw prezentowanych danych dla każdego użytkownika indywidualnie,
według potrzeb. Jednak, żeby dopasować treści i formy informacji do
określonych potrzeb użytkownika, wystarczającym jest zapewnienie wielu
widoków prezentowania danych w różnych formach (tekst, grafika) oraz
możliwość wyboru właściwych spośród nich w zależności od potrzeb.
Nie jest wskazane, żeby dane były wyświetlane nadmiarowo lub, żeby
trzeba było korzystać z wielu formularzy dla uzyskania podstawowych,
potrzebnych danych.
Różnorodność widoków danych [2], [5]. Możliwość wyboru odpowiedniej
perspektywy i formy prezentacji danych.
Tabela 10. Potrzeba 10: sprawna obsługa błędów
Problematyka
Potrzeba ujawnia się w trakcie analizy problemu występowania w systemie
błędów oraz związanej z tym bezradności użytkowników. System CSCW,
tak jak każdy system informatyczny, jest narażony na błędy i przekłamania
303
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
D. Nikiporczyk, Z. Szpunar
Rozwiązanie
Ograniczenia
w
Wymagania
ze strony użytkownika, systemu operacyjnego lub innych czynników.
Zjawisko można zminimalizować, implementując w systemie rozbudowany moduł obsługi błędów, przygotowany na maksymalną liczbę ewentualności wyjątkowych.
Użytkownik powinien być informowany o błędach jedynie w przypadkach,
gdyby miało to bezpośredni, znaczący wpływ na jego działania. Wskazana
więc jest doskonała realizacja transparencji awarii.
Systemowa obsługa błędów (możliwość wyświetlenia komunikatów
o błędach, możliwość wyboru opcji przez użytkownika w przypadku występowania błędów pewnego typu).
Tabela 11. Potrzeba 11: informowanie użytkownika o bieżących działaniach systemu
w
Problematyka
Rozwiązanie
Ograniczenia
Wymagania
da
.b
w
Kiedy użytkownik zainicjuje jakąś czynność, a system nie informuje
o postępach czynności, użytkownik jest zdezorientowany i niepewny poprawności „zlecenia”. Następstwem braku odpowiedzi systemu są kolejne
próby wykonania tej samej operacji przez użytkownika. Takie sytuacje
prowadzą do błędów.
Żeby zapobiec opisanemu wyżej przypadkowi, należy tak zaprojektować
interfejs, żeby użytkownik był świadomy każdego swojego poczynania.
Komunikaty powinny być jasne i czytelne oraz związane z aktualnie wykonywanymi operacjami.
Komunikaty po wykonaniu przez system każdej czynności istotnej w rozumieniu użytkownika. Możliwość wyświetlenia komunikatów o wykonaniu lub niewykonaniu czynności.
Tabela 12. Potrzeba 12: istnienie systemu pomocy
Problematyka
Ograniczenia
Wymagania
4 Podsumowanie
pl
s.
Rozwiązanie
Potrzeba wynika z problemu braku zaawansowania użytkowników względem systemu. Każda czynność wykonywana w bazie danych powinna być
wykonana precyzyjnie i z właściwą wiedzą. Użytkownik, żeby móc wziąć
pełną odpowiedzialność za swoje poczynania w bazie danych, powinien
mieć świadomość tego, co robi.
Aby pomóc użytkownikom, a tym samym wszystkim udziałowcom, potrzebną i realną staje się idea implementacji w CSCW systemu pomocy.
Pomoc powinna być dostępna zarówno na żądanie, jak i automatycznie –
w ramach wyboru. W związku z różnym stopniem zaawansowania informatycznego użytkowników, domyślnie powinna zostać uaktywniona pomoc automatyczna.
Udzielanie pomocy użytkownikowi (automatycznie lub na żądanie).
Przejście przez proces analizy problemów i potrzeb zadanej rzeczywistości dziedzinowej
oraz trafna identyfikacja wymagań względem tworzonego systemu jest procesem żmudnym
i długotrwałym, wymagającym precyzji i umiejętności zagłębienia się w istotę biznesu.
Jednak wnikliwa analiza biznesowa pozwala na stworzenie takiej wizji systemu, który
w badanej rzeczywistości znajdzie idealne zastosowanie.
304
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Analiza biznesowa w procesie projektowania baz danych wspierających rozproszone systemy pracy grupowej
w
Należy nadmienić, że istnieją notacje przydatne do przedstawiania wyżej ukazanych zagadnień (np. profile UML [3], [6]), ale zrezygnowano z nich świadomie na rzecz opisów
tekstowych.
Na gruncie zidentyfikowanych wymagań, w kolejnych etapach tworzenia oprogramowania, „wyrosną” przypadki użycia reprezentujące funkcjonalności systemu i będące odbiciem biznesu na kolejnych poziomach projektowych. Obok wymagań funkcjonalnych,
wskazujących jakie funkcje system ma pełnić, istotną rolę odgrywają również zidentyfikowane wymagania niefunkcjonalne określające warunki, w jakich system ma działać.
Znając wymagania udziałowców, można modelować system w kontekście biznesu (modelowanie biznesowe). Etap ten jest niezwykle ważny z punktu widzenia przyszłych użytkowników. Poprawna identyfikacja i poznanie rzeczywistości oraz ujęcie tego w modelu
biznesowym stworzy warunki do osiągnięcia pożądanych celów w końcowym efekcie
przedsięwzięcia.
w
Literatura
5.
6.
7.
8.
9.
10.
11.
12.
13.
Adamczewski P., Zintegrowane Systemy Informatyczne, Mikom, Warszawa, 2003.
Beynon-Davies P., Systemy baz danych, WNT, Warszawa, 1998.
Boggs W., Boggs M., Mastering UML with Rational Rose, Sybex, San Francisco, Paris, Dusseldorf, Soest, London, 1996.
Coulouris G., Dollimore J., Kindberg T., Systemy rozproszone, podstawy I projektowanie, WNT,
Warszawa, 1998.
Elmasri R., Navathe S.B., Wprowadzenie do systemów baz danych, Helion, Gliwice, 2005.
Johnston S., Rational UML Profile for Business Modeling, Rational Software, USA, 2004.
Leffingwell D., Widrig D., Zarządzanie wymaganiami, WNT, Warszawa, 2003.
Muller R. J., Bazy danych – język UML w projektowaniu danych, Mikom, Warszawa, 2000.
Praca zbiorowa, www.inotes.pl/inotes/html/praca_grupowa.html, dostęp: 30.08.2005.
Sieci heterogeniczne,
www.floraland.pl/l/studia/informatyka/Informatyka%20w%20biznesie.doc, dostęp: 24.10.2005.
System pracy grupowej, www.datapilis.com/oferta/groupwork.aspx, dostęp: 24.10.2005.
Ullman J. D., Widom J., Podstawowy wykład z systemów baz danych, WNT, Warszawa, 2001.
Wieczerzycki W., Obiektowe bazy danych do komputerowego wspomagania prac zespołowych,
Akademia Ekonomiczna w Poznaniu, Poznań, 1999.
da
.b
4.
w
1.
2.
3.
pl
s.
305
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
w
da
.b
w
w
pl
s.
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006

Podobne dokumenty