05 Na początek


#77
5. Na początek

Od którego miejsca każe mi Jego Majestat rozpocząć? - zapytał. Rozpocznij od początku - odpowiedział Król z największą powagą - a później czytaj, póki nie dotrzesz do końca: wtedy przestań
Lewis Carroll "Przygody Alicji w krainie czarów"
(przekład Macieja Słomczyńskiego)
===============================================

Wszystko ma gdzieś swój początek i projektowanie baz danych nie stanowi tu wyjątku. Interesujące, że proces ten rozpoczyna się od zdefiniowania wyniku końcowego. To właśnie na samym początku tworzenia nowej bazy powinieneś określić cel, jakiemu baza ta będzie służyć. Równolegle z tym celem trzeba też sporządzić listę zadań, które Twoja baza powinna spełniać. Uzyskasz w ten sposób punkt odniesienia, niezbędny w budowaniu sprawnego i efektywnego systemu.

Prowadzenie wywiadów

Wywiady są niezwykle istotnym elementem procesu tworzenia bazy danych, gdyż konieczność ich przeprowadzania występuje na kilku etapach tego procesu. Zakładając, że pracujesz dla jakiejś organizacji i tworzysz bazę danych, która ma za zadanie ułatwiać pracę Twoją i Twoich kolegów, powinieneś prowadzić wywiady w sposób podobny do opisanego. Oznacza to, że w trakcie projektowania bazy wejdziesz w interakcję ze swoimi współpracownikami, kierownictwem oraz - w zależności od wielkości organizacji - dyrektorem. Nawet jeśli pracujesz w małej firmie, zatrudniającej niewiele osób, lub jeśli tworzysz bazę danych dla własnych celów, powinieneś prowadzić "autorozmowy". Innymi słowy, będziesz grał role jednocześnie indagującego oraz indagowanego - odpowiadając na swoje własne pytania.
Powodem, dla którego wywiady są ważne, jest to, iż płynące z nich wnioski mają znaczący wpływ na strukturę bazy danych. Przykładowo, podczas pracy nad relacjami
#78
czasem trudno jest określić właściwy typ uczestnictwa oraz jego stopień dla niektórych tabel. Jedynym sposobem na uzyskanie odpowiednich informacji jest przeprowadzenie rozmów z pracownikami. Wiedza, którą w ten sposób uzyskasz, umożliwi Ci poprawne zdefiniowanie parametrów. Wykorzystując wywiad jako narzędzie do zdobywania informacji, będziesz mógł spojrzeć na różne aspekty projektowanej bazy z nowej perspektywy. Pamiętaj jednak, że należy przeprowadzić wszystkie wywiady przewidywane przez proces projektowania, niezależnie od typu czy wielkości bazy, którą tworzysz - nieuczynienie tego oznacza utratę cennych informacji i może mieć negatywny wpływ na produkt końcowy.
Ze względu na rolę wywiadów w procesie projektowania, trzeba nauczyć się je poprawnie przeprowadzać. Prowadzenie rozmowy staje się o wiele łatwiejsze, jeśli dysponujesz listą uprzednio przygotowanych pytań. (Wymyślanie pytań "na poczekaniu" nie jest zalecane, chyba że jesteś doświadczonym projektantem, łatwo nawiązującym kontakty). Posiadanie uprzednio sporządzonej listy pytań pozwala na pokierowanie rozmową zgodnie z własnymi potrzebami. Rozmowa taka jest o wiele płynniejsza i cechuje ją większa produktywność.
Przygotowując listę pytań do postawienia podczas wywiadu, powinieneś preferować pytania otwarte. Na przykład, pytanie "Czy uważa pan, że jakość naszych usług jest (a) niska, (b) średnia, (c) wysoka?" jest pytaniem zamkniętym. Nie pozostawia ono respondentowi miejsca na wygłoszenie obiektywnej opinii ze względu na ograniczoną możliwość wyboru odpowiedzi. "Co pan sądzi o jakości naszych usług?" jest pytaniem otwartym, gdyż daje indagowanemu szansę udzielenia odpowiedzi, która byłaby szczegółowa i obiektywna. Istnieją co prawda sytuacje wymagające zadawania pytań zamkniętych, należy ich jednak używać ostrożnie i z umiarem.
Uwaga: W następnych rozdziałach opisom wywiadów wchodzących w skład procesu projektowania zawsze towarzyszą przykładowe pytania otwarte. Możesz je wykorzystywać jako podstawę do tworzenia własnych pytań na potrzeby danej rozmowy.
Prowadząc wywiady z pracownikami i kierownictwem staraj się stosować kilka podstawowych zasad. Poinformowanie wszystkich uczestników rozmowy o sposobie jej prowadzenia oraz o tym, czego się od nich oczekuje, ułatwi prowadzenie wywiadu, a innym - udzielanie odpowiedzi na pytania. Powinieneś również powiadomić każdego uczestnika o temacie dyskusji, o imionach pozostałych uczestników oraz o tym, że dany wywiad jest częścią większego cyklu rozmów na jeden temat. Przede wszystkim jednak musisz uświadomić wszystkim pracownikom, że Twoje pytania nie mają na celu dokonania potajemnej oceny wyników ich pracy.
#79
Oprócz zasad przedstawionych uczestnikom rozmowy, możesz również sam ustalić pewne reguły. Oto kilka sugestii:
Wyznacz limit sześć osób na jedno spotkanie. Ograniczona liczba uczestników tworzy milszą atmosferę i ułatwia ludziom branie udziału w dyskusji. Podstawowym problemem związanym z prowadzeniem rozmów w szerokim gronie jest fakt, że skłonność poszczególnych dyskutantów do swobodnej wypowiedzi maleje wraz ze wzrostem liczby ludzi uczestniczących w spotkaniu. Niektórzy pracownicy obawiają się wyjść na ignorantów w oczach swoich kolegów, niezależnie od rzeczywistego stopnia ich umiejętności. Istnieje więc bardzo poważny powód do ograniczania liczby uczestników wywiadu. :; :ji
Jeżeli to możliwe, prowadź oddzielne rozmowy z pracownikami i kierownictwem. Rozdzielenie tych dwóch grup jest słuszne z wielu przyczyn, między innymi ze względu na "czynnik strachu" opisany wyżej. Głównym powodem jest jednak to, że każdy z owych zespołów ma inne wyobrażenie o swojej organizacji i sposobie wykorzystywania posiadanych danych. Jeśli więc zdecydujesz się na prowadzenie oddzielnych wywiadów z pracownikami i kierownictwem, będziesz mógł lepiej poznać poglądy panujące wśród przyszłych użytkowników bazy danych. Kolejnym wytłumaczeniem dla dokonania tego rozdziału jest częsty brak porozumienia między pracownikami i kierownictwem w niektórych kwestiach związanych z funkcjonowaniem organizacji. Wzajemne niezrozumienie nie jest czymś rzadkim i istnieje duże prawdopodobieństwo, iż konflikty te wyjdą na jaw podczas dyskusji. Skutki mogą być różne: albo doprowadzisz w ten sposób do poprawy stosunków między pracownikami i kierownictwem, albo jeszcze pogorszysz sytuację. Tak czy inaczej, przedłuży to wywiad i zafałszuje jego wyniki. Powinieneś więc wykorzystać swoją wiedzę o potencjalnych rozmówcach do podjęcia decyzji, czy rozmowy należy prowadzić razem, czy oddzielnie. Jeśli z jakichś powodów musisz przeprowadzić wywiad z obydwoma grupami jednocześnie, bądź świadom potencjalnych konsekwencji tego wyboru.
Prowadząc wywiady z kilkoma grupami ludzi jednocześnie, wyznacz lidera każdej z tych grup. Lider grupy pomoże Ci w efektywnym przeprowadzeniu wywiadu. Jego zadanie powinno polegać na odpowiednim przygotowaniu każdego uczestnika do dyskusji. Ponadto powinien Cię on informować o dodatkowych problemach, które wyszły na jaw przed lub po rozmowie. Podczas samej dyskusji lider grupy może kierować Twoje pytania do właściwych osób. Pamiętaj jednak, że nie powinien on sam udzielać wszystkich odpowiedzi.
Przed rozpoczęciem wywiadu poinformuj uczestników rozmowy o jego temacie oraz sposobie prowadzenia. Wiele ludzi boi się wywiadów. Nie lubią, kiedy "stawia się ich w świetle reflektorów" i nie chcą, żeby zadawano im "podchwytliwe" pytania. Twoi rozmówcy będą znacznie skłonniejsi do wzięcia aktywnego udziału w dyskusji, jeśli wcześniej poinformujesz ich, czego od nich oczekujesz
#80
i czego oni powinni oczekiwać od Ciebie. Informacje te przyczynią się w znacznym stopniu do stłumienia ich obaw.
Upewnij się, że wszyscy uczestnicy wywiadu rozumieją, iż doceniasz ich udział w dyskusji i że ich odpowiedzi mają ważny wpływ na tworzony projekt. Jest bardzo prawdopodobne, że doświadczenia z przeszłości nauczyły pracowników, iż nikt w miejscu pracy nie liczy się z ich zdaniem. Nawet jeśli dostarczone przez nich informacje miały kiedyś duże znaczenie dla jakiegoś projektu, jedyne co usłyszeli z ust przełożonych to zdawkowe "dziękuję". W związku z tym nie mają oni żadnej motywacji do uczestniczenia w prowadzonym przez Ciebie wywiadzie. Wielu Twoich rozmówców, jeśli nie wszyscy, rozpocznie współpracę z takim właśnie nastawieniem. Możesz jednak doprowadzić do jego zmiany, jeśli dasz pracownikom do zrozumienia, że doceniasz ich udział w projekcie i jesteś bardzo zainteresowany wygłaszanymi przezeń opiniami. Upewnij ich, że udzielane Tobie odpowiedzi mają duży wpływ na ostateczny projekt i że stanowią podstawę dla podejmowanych decyzji. Jeśli uwiarygodnisz się przez swoją szczerość i otwartość, wówczas ludzie, z którymi będziesz pracował, pomogą Ci na miarę swoich sił. Ułatwi i uprzyjemni to Twoją pracę oraz wprowadzi atmosferę entuzjazmu. Bardzo dobrym pomysłem jest pokazanie podczas drugiego wywiadu, w jaki sposób wykorzystałeś informacje otrzymane od uczestników pierwszego.
Organizuj dyskusje w dobrze oświetlonych pomieszczeniach, z dala od źródeł hałasu, przy dużym stole, na wygodnych fotelach, zatroszczywszy się o kawę i ciastka. Jeśli chcesz, aby wywiad był udany, musisz też zadbać o atmosferę, w jakiej się on odbywa. Dobre oświetlenie pomieszczenia ułatwi wszystkim czytanie materiałów wykorzystywanych w dyskusji. Duży stół daje każdemu odpowiednią przestrzeń do pracy, a wygodne siedzenia umożliwiają skoncentrowanie się na prowadzonej rozmowie. Dobrze jest też mieć pod ręką zapas kawy - ulubionego napoju ludzi interesu - oraz ciastek, ułatwiających wprowadzenie dobrego nastroju. Ludziom myśli się łatwiej, jeśli mają coś, co mogą pogryzać w czasie rozmowy.
Jeśli nie najlepiej wychodzi Ci szybkie notowanie, powierz to zadanie wykwalifikowanemu współpracownikowi lub uzyskaj od grupy pozwolenie na użycie dyktafonu. Prowadzenie wywiadu ma na celu zebranie od rozmówców informacji na temat ich organizacji, należy więc dysponować dokładnym zapisem tego, co zostało powiedziane podczas dyskusji. Trudno jest jednocześnie prowadzić wywiad i robić notatki, jeśli więc nie czujesz się na siłach, możesz poprosić jednego z pracowników, aby notował za Ciebie. Jest to jednocześnie dobry sposób na uzyskanie zaufania osób nieśmiałych lub niechętnych. Jeżeli jednak notującego rozpraszają prowadzone przy nim rozmowy, może na tym ucierpieć jakość sporządzonych przezeń notatek. Dokładny zapis wywiadu uzyskasz, nagrywając go
#81
na dyktafonie. Zaletą tej metody jest łatwość późniejszego odtworzenia przebiegu dyskusji. Poświęć każdemu pełną uwagę. To jedno z najważniejszych zaleceń. Prowadząc wywiad zawsze słuchaj uważnie wypowiedzi osoby będącej aktualnie przy głosie. Często zdarza się, że indagowana osoba udziela na Twoje pytania zdawkowych lub błędnych odpowiedzi, z różnych zresztą powodów. Być może nie potrafi ona trafnie wyrazić swoich opinii lub nie wolno jej zdradzać pewnych informacji. Możliwe również, że niełatwo przychodzi jej mówienie o sobie i o swojej pracy albo też traktuje Cię podejrzliwie. Tak czy inaczej, powinieneś być cierpliwy i ułatwiać swojemu rozmówcy wypowiedzenie się na interesujący Cię temat. Jeżeli będziesz sprawiał wrażenie znudzonego lub zajętego czymś innym, pozostali uczestnicy dyskusji natychmiast ograniczą swoje zaangażowanie. Jeśli jednak wydasz im się zainteresowany tym, co mówią, wówczas będą z Tobą chętnie współpracować. Uwaga, jaką poświęcasz swoim rozmówcom, decyduje o skuteczności wywiadu.
Upewnij się, że wszyscy uznają Cię za oficjalnego arbitra w kwestiach spornych. Wystąpienie pomniejszych sporów wśród uczestników wywiadu jest na dłuższą metę nie do uniknięcia i spory takie wprowadzają pewne napięcie aż do chwili ich rozstrzygnięcia. Możesz uniknąć przykrych sytuacji przez postawienie się w roli arbitra. Jako twórca bazy danych jesteś na najlepszej pozycji do rozstrzygania konfliktów, ponieważ dysponujesz obiektywnym punktem widzenia i rozumiesz racje obu stron. Co więcej, podjęta przez Ciebie decyzja zawsze wyjdzie na dobre strukturze bazy. Pamiętaj, że rozsądzanie sporów nie związanych z tworzoną bazą można przekazać wyższej instancji, jeśli taka istnieje.
Podtrzymuj tempo rozmowy. Prawdopodobnie uczestniczyłeś już w dyskusjach, w których mnóstwo czasu marnowano na wałkowanie jednego tematu lub wyciąganie informacji od opornego pracownika. Możesz temu zapobiec wprowadzając psychologiczny limit czasu, jaki dana osoba ma na udzielenie odpowiedzi i jaki może być poświęcony jednemu tematowi. Nie informuj jednak pozostałych uczestników wywiadu o tym limicie; zamiast tego staraj się wprowadzić atmosferę pilności.
Kontroluj przebieg dyskusji. To ostatnia i najważniejsza wytyczna. W chwili gdy utracisz kontrolę nad rozmową, coś nieuchronnie pójdzie w złym kierunku. Typowym scenariuszem w takiej sytuacji jest przejęcie kontroli przez jednego z uczestników wywiadu i rozpoczęcie rozmowy na tematy, które mają niewiele lub zgoła nic wspólnego z pierwotnym celem dyskusji. W niektórych przypadkach możesz starać się nawrócić rozmowę na właściwe tory, czasami jednak pozostaje Ci tylko uznanie Twojej części wywiadu za "zakończoną" i pozwolenie pozostałym uczestnikom na dalsze omawianie swoich spraw. Jeśli chcesz uniknąć takich sytuacji, musisz cały czas mieć kontrolę nad przebiegiem dyskusji.
#82
Wywiady są nieodłączną częścią procesu projektowania bazy danych, będziemy więc do nich często wracać w dalszych rozdziałach. Typowe scenariusze rozmów są ilustrowane przykładowymi dialogami oraz pytaniami, które możesz zadać podczas danej dyskusji. Pytania zawarte w przykładach zawsze odnoszą się do rodzaju przeprowadzanego wywiadu.
================================
Uwaga: Każda przykładowa rozmowa jest z natury fragmentaryczna. Celem przykładów jest zilustrowanie techniki prowadzenia danego wywiadu oraz ukazanie pytań, jakie warto w jego trakcie zadać.
==================================
STUDIUM PRZYPADKU: KRAINA ROWERÓW MIKE'A

Książka, którą właśnie czytasz, zawiera wiele przykładów ilustrujących konkretne pojęcia i techniki wykorzystywane w procesie projektowania baz danych. Przykłady te pochodzą z różnych dziedzin życia i mają za zadanie pokazać Ci, że zrozumiawszy daną metodę w ogólnych zarysach możesz ją stosować do wielu różnorodnych sytuacji. Kładziemy zawsze nacisk na samo pojęcie lub technikę, nie zaś na opisujący je przykład.
Mimo to, w celu zobrazowania kolejnych kroków w tworzeniu efektywnego projektu bazy danych przy jednoczesnym zachowaniu swoistej ciągłości, dokonamy gruntownej analizy pewnej konkretnej bazy. W miarę opisywania kolejnych aspektów procesu projektowania wypróbujemy każdą z poznanych technik na naszej przykładowej firmie. Poniższy opis zawiera tylko kilka szczegółów funkcjonowania tej organizacji; pozostałe będą odsłaniane w miarę omawiania kolejnych procedur.
Kraina Rowerów Mike'a, nasza przykładowa firma, jest zlokalizowana w miasteczku Greenlake, niedaleko Seattle w stanie Waszyngton. Od czasu jej założenia upłynęły dopiero dwa miesiące, a interes szybko się rozwija. Mikę, właściciel sklepu, dotychczas notował swoje transakcje na papierze. Dane o sprzedaży są obecnie zapisywane na uprzednio wydrukowanych formularzach, każdy pracownik i dostawca ma teczkę zawierającą informacje na swój temat, natomiast informacje o klientach przechowuje się w osobnej kartotece. Obsługa tych danych zajmuje Mike'owi dużo czasu. Mikę jest posiadaczem komputera, ale wykorzystuje go głównie do grania w gry, pisania listów oraz żeglowania po sieci. Jedyną czynnością związaną z firmą jest użycie arkusza kalkulacyjnego do obróbki danych o stanie magazynu.
Niedawno Mikę dowiedział się, że nabycie bazy danych z prawdziwego zdarzenia mogłoby ułatwić mu gromadzenie i obróbkę danych firmy. Baza taka znacznie ograniczyłaby ilość czasu poświęcanego na obsługę owych danych i miałaby pozytywny wpływ na ich aktualność i dokładność. Mikę zdaje sobie sprawę, że utworzenie
#83
takiej bazy byłoby dobrym pomysłem, nie ma jednak pojęcia, jak się do tego zabrać. Nie zrażony, postanawia zatrudnić konsultanta, który zaprojektuje te bazę za niego. Konsultantem tym jesteś rzecz jasna Ty. W miarę opisywania kolejnych etapów procesu projektowania będziemy stosować poznane przez Ciebie techniki do stopniowego tworzenia bazy danych Krainy Rowerów Mikę'a. Na każdym etapie Mikę będzie dostarczał nam informacji wymaganych do sporządzenia efektywnego projektu.

Formułowanie definicji celu

W poprzednim rozdziale stwierdziliśmy, że definicja celu określa, czemu ma służyć projektowana baza i że należy ją sformułować na początku procesu projektowania. Daje Ci to punkt odniesienia, niezbędny do utworzenia efektywnej bazy danych, która nie będzie zawierała zbędnych elementów.

Poprawnie sformułowana definicja celu

Poprawna definicja celu powinna być krótka i zwięzła. Przesadnie długie definicje są najczęściej mylące, subiektywne lub wewnętrznie sprzeczne i bardziej zaciemniają obraz celu, niż go rozjaśniają. Oto przykład typowej definicji celu:
"Celem bazy danych agencji New Stars jest obsługa wykorzystywanych przez nas danych oraz udostępnianie informacji niezbędnych dla codziennego funkcjonowania naszej firmy".

Powyższa definicja jest przejrzysta i nie zawiera niepotrzebnych szczegółów ani zawiłych sformułowań. Jest ona bardzo ogólna i taka właśnie powinna być. Traktuj definicję celu jak płomień świecy umieszczonej na drugim końcu długiego tunelu. Jego światło doprowadzi Cię do wyjścia, jeżeli będziesz stale szedł w jego stronę. W analogiczny sposób definicja celu kieruje Cię ku wylotowi "tunelu", jakim jest proces projektowania bazy danych. Mając w pamięci definicję celu, możesz skoncentrować się na tworzeniu struktury dobrze odpowiadającej wyjściowym założeniom.
Poprawnie skonstruowana definicja celu jest pozbawiona wszelkich sformułowań, które opisywałyby konkretne zadania. Jeśli definicja zawiera takie sformułowania, powinieneś je usunąć. Pamiętaj jednak o ich uprzednim zanotowaniu, gdyż mogą Ci później posłużyć jako założenia wstępne (omawiane w następnej sekcji). Poniższe zdanie jest przykładem źle sformułowanej definicji celu:
"Celem bazy danych departamentu użytkowania gruntów hrabstwa What-com jest przechowywanie danych na temat podań o wydzierżawienie gruntów, obsługa aplikantów, utrzymywanie spisu wszystkich przetargów oraz udostępnianie danych do użytku biurowego".
#84
Definicja ta zawiera kilka błędów:
Jest za długa. Pamiętaj, że idealna definicja celu powinna być prosta i zwięzła.
Ostateczny cel bazy danych jest niejasny. Sposób sformułowania powyższej definicji utrudnia zrozumienie celu, jakiemu ma służyć projektowana baza.
Jest zbyt szczegółowa. W przypadku tak sformułowanej definicji pojawiają się dwa problemy. Po pierwsze, opisanie poszczególnych zadań nie ma nic wspólnego ze zdefiniowaniem ogólnego celu bazy danych. Po drugie, definicja ta wydaje się być niekompletna. Prowokuje mianowicie pytanie: "Czy istnieją jeszcze jakieś zadania, o których zapomnieliśmy formułując definicję celu?".
Definicję celu można poprawić przez usunięcie z niej odwołań do konkretnych zadań (pamiętaj jednak o ich uprzednim wynotowaniu). Oto przykład poprawnej wersji poprzedniej definicji:
"Celem bazy danych departamentu użytkowania gruntów hrabstwa What-com jest obsługa danych niezbędnych do prowadzenia usług, jakie urząd ten oferuje mieszkańcom hrabstwa".
Zwróć uwagę, że cel bazy danych stał się teraz znacznie bardziej oczywisty. Ponadto nowa definicja jest znacznie zwięźlejsza od poprzedniej i nie sprawia wrażenia niezupełności. Tak sformułowane definicje celu zawsze dadzą Ci jasne wyobrażenie.

0 przeznaczeniu bazy, którą projektujesz.

Kompozycja definicji celu

Proces tworzenia definicji celu wymaga przeprowadzenia wywiadu z właścicielem lub kierownikiem organizacji w celu ustalenia przeznaczenia tworzonej bazy.
W tym wypadku rozmowa powinna być przeprowadzona z właścicielem organizacji lub ze wskazanymi przez niego osobami. Każda z nich będzie w stanie udzielić informacji pogłębiających Twoją wiedzę o tej organizacji oraz ułatwiających zrozumienie, do czego jest jej potrzebna baza danych. Oprócz możliwości sformułowania definicji celu, uzyskasz w ten sposób również podstawowe zrozumienie sposobu funkcjonowania danej organizacji. Informacje te są cenne, ponieważ będziesz je mógł wykorzystać na dalszych etapach procesu projektowania.
Przeprowadzając wywiad zachęć swojego rozmówcę do opisania możliwie jak największej ilości aspektów organizacji, nawet tych nie związanych bezpośrednio z tematem bazy danych. Chodzi głównie o zrozumienie, czym dana organizacja się zajmuje i jak działa; im więcej się o niej dowiesz, tym lepiej będziesz przygotowany do zaprojektowania bazy danych odpowiadającej jej potrzebom. Uzyskawszy dobre wyobrażenie o organizacji zrozumiesz również, dlaczego potrzebuje ona bazy danych i będziesz mógł przełożyć to zrozumienie na odpowiednią definicję celu.
#85
Pamiętaj o zadawaniu otwartych pytań. W niektórych przypadkach dobrze sformułowane pytanie umożliwi Twoim rozmówcom udzielenie właściwej odpowiedzi bez większego wysiłku. Załóżmy, że zadałeś następujące pytanie:
"Jak opisałby Pan nowemu klientowi działalność pańskiej organizacji?".

Jest to dobre, otwarte pytanie, ponieważ koncentruje się na interesującej Cię kwestii, a jednak daje indagowanemu dużą dowolność w sformułowaniu odpowiedzi. Co więcej, zadając takie pytanie możesz spodziewać się odpowiedzi, którą będziesz mógł w prosty sposób zamienić na definicję celu.
Załóżmy, że padła następująca odpowiedź:

"Udostępniamy naszym klientom oprawę muzyczną wszelkiego rodzaju imprez. Staramy się przy tym wyręczać naszych klientów w obsłudze wszelkich szczegółów technicznych".

Wypowiedź tę można łatwo poddać obróbce i przerobić na poprawną definicję celu. Jeśli odpowiedź składa się z dwóch lub większej liczby zdań czy stwierdzeń, wówczas jedno z nich zazwyczaj wskazuje cel bazy danych. W powyższym przypadku podstawą sformułowania definicji celu jest pierwsze z dwóch zdań. Następująca definicja jest jedną z wielu możliwych przeróbek otrzymanej odpowiedzi:
"Celem bazy danych firmy All-Star Talent jest przechowywanie danych -wykorzystywanych w obsłudze usług muzycznych, jakie zapewniamy naszym klientom".

Najważniejszym wnioskiem, jaki należy zapamiętać, jest to, że definicja celu powinna być zrozumiała zarówno dla Ciebie (twórcy bazy danych), jak i dla jej przyszłych użytkowników. Różne grupy ludzi mogą w różny sposób formułować swoje definicje i słownictwo, jakie powinieneś zastosować, zależy w dużym stopniu od terminologii wykorzystywanej przez daną organizację. Twoja definicja celu może być uznana za poprawną, jeśli zbudujesz zdanie, które opisuje ogólny cel bazy danych i jest zrozumiałe dla wszystkich zainteresowanych osób.

Poniżej znajdziesz kilka przykładowych pytań, które możesz wykorzystać przy formułowaniu definicji celu:

"Jak opisałby Pan nowemu klientowi działalność pańskiej organizacji?", "Co według Pana jest celem pańskiej organizacji?", "Jaka jest podstawowa funkcja pełniona przez Pańską organizację?","Czy mógłby Pan podać najważniejszy powód istnienia Pańskiej organizacji?",
"Na czym koncentruje się działalność Pańskiej organizacji?".
#86
Prawdopodobnie zauważyłeś, że niektóre z tych pytań pokrywają się znaczeniowo z innymi. Pamiętaj, że sposób sformułowania każdego z pytań, jakie zadasz w trakcie rozmów z przyszłymi użytkownikami bazy, może mieć znaczny wpływ na odpowiedź. Może się nawet zdarzyć, że na to samo pytanie zadane kilku ludziom otrzymasz różne odpowiedzi, ponieważ każdy nieco inaczej zinterpretuje jego sens. Czasami zamiast odpowiedzi zostaniesz uraczony zdziwionym spojrzeniem, mówiącym "jeszcze się dzisiaj nie napiłem kawy". Poeksperymentuj ze sposobami sformułowania pytania i znajdź taki, który przynosi oczekiwane skutki. Być może będzie on inny dla każdego projektanta, lecz nie ma to znaczenia - liczy się to, co Tobie najbardziej odpowiada.

Studium przypadku

Spróbujmy teraz sformułować definicję celu dla firmy Kraina Rowerów Mike'a. Przede wszystkim powinieneś przeprowadzić wywiad i dowiedzieć się czegoś o firmie. Załóżmy, że zatrudniasz asystenta imieniem Piotr, który przeprowadza ten wywiad za Ciebie. Rozmowa może przebiegać następująco:

Piotr: Czy może mi Pan powiedzieć, dlaczego potrzebuje Pan bazy danych?
Mikę: Myślę, że baza jest mi potrzebna do obsługi magazynu. Chciałbym również przechowywać w niej informacje o transakcjach.
Piotr: Jestem pewien, że baza danych będzie spełniać te wymagania. Czy wobec tego mógłby mi Pan podać podstawową funkcję pańskiej organizacji?
Mikę: Udostępniamy naszym klientom duży wybór rowerów i usług związanych z rowerami. Mamy wielu wspaniałych klientów; niektórzy stale dokonują u nas zakupów. Ci są dla nas najcenniejsi.
(Wywiad trwa dalej, aż do momentu, gdy Piotr skończy zadawać pytania ze swojej listy).

Po wywiadzie powinieneś przejrzeć zgromadzone informacje i sformułować odpowiednią definicję celu. Z rozmowy z Mike'em płynie kilka interesujących wniosków; między innymi to, że chce on przechowywać w bazie danych informacje o swoich klientach, towarach oraz transakcjach. Najważniejsza jest jednak odpowiedź na drugie pytanie. Pierwsze zdanie tej odpowiedzi może bowiem posłużyć do sformułowania definicji celu. Biorąc pod uwagę niektóre z pozostałych faktów, o jakich się dowiedziałeś w trakcie wywiadu, możesz zapisać następującą definicję:

"Celem bazy danych firmy Kraina Rowerów Mike'a jest przechowywanie danych wykorzystywanych w obsłudze sprzedaży detalicznej oraz usług , serwisowych świadczonych klientom".

Kiedy uznasz, że dysponujesz już dobrą definicją celu, pokaż ją Mike'owi i spytaj, czy zgadza się z tak sformułowanym celem bazy danych. Jeśli proponowana defi-
#87
nicja satysfakcjonuje was obu, możesz przejść do następnego etapu, jakim jest określenie założeń wstępnych.

Formułowanie założeń wstępnych

Bazując na omówieniu z poprzedniego rozdziału możemy powiedzieć, że założenia wstępne to ogólne zadania, jakie mają spełniać dane przechowywane w projektowanej bazie. Każde założenie wstępne reprezentuje pojedyncze zadanie. Wszystkie razem stanowią zbiór informacji mówiących, w jaki sposób tworzona baza powinna być skonstruowana. Służą więc one między innymi do definiowania tabel, atrybutów pól, relacji i perspektyw. Oprócz tego wykorzystuje się je przy formułowaniu i wprowadzaniu reguł integralności. Wreszcie, założenia wstępne kierują rozwojem bazy danych i gwarantują, że ostateczny projekt będzie odpowiadał definicji celu.

Dobrze sformułowane założenia wstępne

Dobrze sformułowane założenie wstępne jest zdaniem, które w przejrzysty sposób opisuje pewne ogólne zadanie i nie zawiera niepotrzebnych szczegółów. Powinno być ono zapisane z wykorzystaniem ogólnych określeń, zwięźle i na temat. Oto przykłady założeń wstępnych:

"Chcemy przechowywać adresy naszych pacjentów.",
"Chcemy przechowywać informacje o transakcjach.",
"Chcemy zagwarantować, że jeden pracownik obsługuje najwyżej dwudziestu klientów.",
"Chcemy przechowywać informacje o przeglądach technicznych naszych pojazdów.",
"Chcemy mieć możliwość generowania spisów telefonów naszych pracowników".

Wszystkie te założenia są dobrze zdefiniowane i łatwe w zrozumieniu. Każde z nich opisuje prosto, bez niepotrzebnych szczegółów pojedynczą funkcję. Przykładowo, ostatnie z podanych zdań mówi, że należy generować spisy telefonów pracowników, nie mówi jednak, jak to robić. Informacja o sposobie generowania spisów telefonów jest zbędna z punktu widzenia procesu projektowania bazy danych, ponieważ ma ona znaczenie jedynie dla twórcy obsługującej tę bazę aplikacji. Pamiętaj, że celem założeń wstępnych jest określenie wymaganych struktur bazy danych i kierowanie procesem jej budowy.
Jeśli założenie wstępne opisuje więcej niż jedno ogólne zadanie, należy je rozbić na kilka mniejszych. Oto przykład źle zdefiniowanego założenia:
#88
"Chcemy przechowywać informacje o reprezentowanych przez nas muzykach, o gatunkach muzyki, w jakich się specjalizują, oraz o umowach, jakie zawieramy z klientami w ich imieniu".

Sformułowanie to jest błędne, ponieważ:

Definiuje więcej niż jedno ogólne zadanie. Ściśle rzecz biorąc, są tu określone dwa oddzielne zadania: przechowywanie danych o muzykach oraz obsługa umów.
Zawiera zbędne szczegóły. W założeniu wstępnym nie trzeba się odwoływać do "gatunków muzyki". Pojęcie to jest albo częścią informacji o samym muzyku, albo stanowi oddzielne zadanie, które wymaga własnego założenia wstępnego. W pierwszym przypadku należy je usunąć z definicji, w drugim - sformułować dlań osobne założenie.
Przedstawione wyżej założenie można ulepszyć usuwając z niego niepotrzebne szczegóły i dzieląc je na dwie mniejsze definicje. Oto przykład:

"Chcemy przechowywać informacje o reprezentowanych przez nas muzykach",
"Chcemy przechowywać informacje o zawieranych przez nas umowach".

Zauważ, że każde z tych sformułowań opisuje pojedyncze zadanie i jest oprócz tego łatwe w zrozumieniu. Takie właśnie założenia wstępne okazują się przydatne w trakcie projektowania bazy danych.

Kompozycja założeń wstępnych

Formułowanie założeń wstępnych jest łatwe i ogranicza się do przeprowadzenia rozmów z przyszłymi użytkownikami bazy oraz wykorzystania otrzymanych informacji jako podstawy do skonstruowania odpowiednich założeń.
Celem przeprowadzanych wywiadów jest określenie typów zadań, jakie powinna spełniać baza danych. Można to osiągnąć przez zadawanie pytań otwartych i umożliwienie odpowiadającym rozwinięcie swoich wypowiedzi. Rozmowy związane z definicją celu oraz założeniami wstępnymi są jednymi z najłatwiejszych do przeprowadzenia w całym procesie projektowania bazy danych, ponieważ większość rozmówców będzie na tym etapie chętna do współpracy. Stosunkowo łatwo jest rozmawiać z ludźmi o ich codziennych zajęciach i określać ich punkt widzenia na funkcjonowanie danej organizacji. Co więcej, jest to jeden z niewielu wywiadów, które można przeprowadzać jednocześnie z pracownikami i kierownictwem, gdyż ogólna natura rozmowy nie powinna prowokować konfliktów.
Należy zapamiętać, że prowadzone na tym etapie dyskusje powinny być poświęcone bardzo ogólnym kwestiom. Wywiady te są bardziej pojęciowe niż analityczne.

Na początek

Innymi słowy, nie chodzi tu o analizę aktualnej bazy danych czy szczegółów działalności organizacji, lecz o uzyskanie ogólnego wyobrażenia o zadaniach, jakie ma spełniać nowa baza. Pamiętaj, że jednym z celów formułowania założeń wstępnych jest ułatwienie sobie dalszego projektowania bazy danych.
Prowadząc wywiady pamiętaj o zadawaniu pytań otwartych. Pytania takie przynoszą znacznie pełniejsze i ściślejsze odpowiedzi. Pytaj uczestników rozmowy o ich codzienną prace, o sposób funkcjonowania ich organizacji oraz o operacje, które według nich powinny być obsługiwane przez nową bazę danych. Zachęcaj ich do opisania tylu aspektów działalności swojej organizacji, ile są w stanie wymienić. Słuchając kolejnych odpowiedzi, staraj się zapisywać każdą z nich jako zdanie oznajmujące. Znacznie ułatwi to późniejsze przerabianie ich w założenia wstępne. Oto kilka przykładów pytań, jakie mógłbyś zadać podczas rozmowy:

"Jaką funkcję pełni Pan w organizacji?",
"Z jakimi danymi ma Pan do czynienia?",
"Jakiego rodzaju raporty wykorzystuje Pańska organizacja?",
"Jakie informacje mają znaczenie dla Pańskiej organizacji?",
"Jakie usługi udostępnia Pańska organizacja?",
"Jak opisałby Pan swoją pracę?".

Każde z nich umożliwia otrzymanie dobrej, obszernej odpowiedzi od indagowanej osoby. Ich dodatkową zaletą jest to, że umożliwiają późniejsze zadawanie pytań dodatkowych. Załóżmy, że na ostatnie z powyższych pytań otrzymałeś następującą odpowiedź:

"Przede wszystkim staram się określić rodzaj uszkodzenia pojazdu. Następnie wypełniam zlecenie naprawy i dołączam do niego moją ocenę uszkodzenia. Na koniec przekazuję pojazd jednej z dostępnych ekip naprawczych".

Zauważysz natychmiast, że odpowiedź ta jest dość obszerna; taka właśnie powinna być. Co więcej, możesz teraz zadać pytanie dodatkowe:

"Czy w opisanej przez Pana procedurze wykorzystuje Pan jakieś informacje o właścicielu pojazdu?".

Nawet jeśli odpowiedzią jest "nie", pytanie to jest na tyle otwarte, że rozmówca może rozwinąć swoją wypowiedź wedle potrzeb. Tego rodzaju pytanie dodatkowe może również skłonić go do podzielenia się informacjami nie związanymi bezpośrednio z tematem rozmowy.
Poniżej znajduje się zestaw założeń wstępnych, które można wyekstrahować z powyższej odpowiedzi:
#90
"Chcemy przechowywać informacje o pojazdach naszych klientów". "Chcemy przechowywać informacje o zleceniach napraw". "Chcemy przechowywać informacje o ekipach naprawczych". "Chcemy przechowywać informacje o naszych mechanikach". "Chcemy przechowywać informacje o naszych klientach".

Trzy z powyższych założeń pochodzą bezpośrednio z odpowiedzi. Sformułowanie ich jest proste, ponieważ są w nią wpisane. Pozostałe dwa można zdefiniować na podstawie wniosków wyciągniętych z odpowiedzi. Technika, którą można określić jako "czytanie między wierszami", znajduje tu częste zastosowanie. Należy wiec starać się stwierdzić, jakie informacje są bezpośrednio przekazywane przez odpowiedź oraz jakie informacje odpowiedź ta implikuje. Bądź więc uważny. Szukaj implikacji. Bez wyciągania odpowiednich wniosków Twoja lista założeń wstępnych może okazać się niepełna.
Przyjrzyj się poniższej wypowiedzi i spróbuj określić, czy implikuje ona jakieś ukryte założenia:

"Zajmuję się spisywaniem umów z naszą klientelą, składającą się z klientów komercyjnych i niekomercyjnych. Klienci niekomercyjni to przeważnie pojedyncze osoby lub małe grupy, organizujące przyjęcia weselne, urodzinowe, rocznicowe i tym podobne. Klienci komercyjni to firmy różnej wielkości, poczynając od klubów nocnych, kończąc na dużych korporacjach. Kluby nocne zawierają z nami sześciotygodniowe umowy na usługi muzyczne, podczas gdy większe przedsiębiorstwa są zainteresowane oprawą muzyczną imprez, takich jak przyjęcia firmowe, otwarcia fabryk czy spotkania promocyjne".

Wypowiedź ta zawiera co najmniej dwie ukryte informacje. Pierwszą z nich jest to, że należy przechowywać informacje o muzykach, w których imieniu zawieramy umowy. Pośrednik powinien znać imię i nazwisko muzyka, jego telefon oraz adres, pod jaki powinien wysłać wypełnioną umowę. Drugą jest konieczność przechowywania informacji o samych umowach. Pośrednik musi znać wszystkie szczegóły związane z daną umową, aby był w stanie ją wypełnić.
Teraz, kiedy wiesz już, jak ważne jest szukanie ukrytych informacji, staraj się o tym pamiętać podczas definiowania założeń wstępnych.
"Ostatnie słowa" w sprawie założeń wstępnych brzmią: upewnij się, że każde założenie jest poprawnie zdefiniowane i zrozumiałe zarówno dla Ciebie, jak i dla przyszłych użytkowników bazy danych oraz staraj się szukać w wypowiedziach swoich rozmówców ukrytych informacji.
#91
Studium przypadku

Czas na przeprowadzenie wywiadu z Mike'em i jego pracownikami. Poniżej znajduje się zapis interesującej nas części tego wywiadu. Tak jak poprzednio, wywiad przeprowadza Twój asystent Piotr:
Piotr: Czy mógłby Pan opisać dane, jakie powinna przechowywać Pańska baza danych?
Mikę: Jasne, to proste. Chcę przechowywać informacje o stanie magazynu, klientach i transakcjach.
Piotr: Czy przychodzą Panu na myśl jakieś dodatkowe informacje związane z tymi tematami? Mikę: No cóż, myślę, że skoro mowa o magazynie, to powinniśmy wiedzieć, kim są nasi dostawcy.
Piotr: A co z pracownikami zawierającymi transakcje?
Mikę: Tak, oczywiście, ich również trzeba wziąć pod uwagę. Zawsze należy pamiętać o swoich pracownikach. W każdym razie tak twierdzi moja żona.

(Wywiad trwa dalej, aż do momentu, gdy Piotr skończy zadawać pytania ze swojej listy).
Po zakończeniu wywiadu należy przejrzeć uzyskane informacje i zdefiniować odpowiednie założenia wstępne. Pamiętaj o wspomnianych wcześniej "ostatnich słowach". Oto kilka przykładowych założeń wstępnych dla bazy danych Krainy Rowerów Mikę'a:

"Chcemy przechowywać informacje o stanie magazynu". "Chcemy przechowywać informacje o klientach".
"Chcemy przechowywać informacje o zawieranych przez nas transakcjach". "Chcemy przechowywać informacje o dostawcach". "Chcemy przechowywać informacje o pracownikach".

Kiedy już sporządzisz pełną listę założeń wstępnych, omów ją z Mike'em i jego pracownikami. Jeśli ich zdaniem lista ta jest pełna i poprawna, przepisz ją na swoim komputerze i zachowaj do późniejszego wglądu.

Podsumowanie

Rozpoczęliśmy ten rozdział dyskusją na temat prowadzenia wywiadów. Dowiedziałeś się, dlaczego wywiady są ważnym elementem procesu projektowania bazy danych i dlaczego należy nauczyć się je dobrze przeprowadzać. Znasz już różnice między pytaniami otwartymi i zamkniętymi i wiesz, kiedy i jakich pytań używać.
#92
Przedstawiliśmy również zestaw wytycznych, którymi powinieneś się kierować w celu zwiększenia efektywności prowadzonych wywiadów.
Następnym tematem dyskusji była definicja celu. Bazując na informacjach z rozdziału 4 wyjaśniliśmy, w jaki sposób definicja ta opisuje konkretny cel bazy danych. Wiesz teraz, że proces formułowania definicji celu zakłada przeprowadzenie rozmów z użytkownikami bazy i odpowiednie wykorzystanie zdobytych informacji. Zdefiniowaliśmy cechy poprawnej definicji celu i dowiedzieliśmy się, że dobra definicja stanowi punkt odniesienia dla późniejszej pracy.
Zakończyliśmy rozdział dyskusją na temat założeń wstępnych. Ponownie oparliśmy się na podstawach omówionych w rozdziale 4. Jak już wiesz, założenia wstępne opisują ogólne zadania, jakie ma spełniać projektowana baza danych. Założenia te należy formułować po definicji celu. Opisaliśmy proces ich formułowania, po czym nauczyłeś się, jak prowadzić odpowiednie wywiady z pracownikami i kierownictwem, aby być w stanie poprawnie je zdefiniować. Omówiliśmy również cechy dobrze zdefiniowanego założenia wstępnego i powiedzieliśmy, że założenie takie ułatwia późniejsze konstruowanie bazy danych.

Wyszukiwarka

Podobne podstrony:
Na poczatku bylo slowo
Na początek parę prostych programów które można sprawdzić na
Ditfurth von Na początku był wodór
2008 05 GKrellm [Poczatkujacy]
sprawdzian na poczatek
na poczatku bylo slowo
Na początku było słowo
na poczatku bog stworzyl
częśc1Świat na początku XX w
SIŁY POLITYCZNE NA POCZĄTKU XX W

więcej podobnych podstron