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