Zastosowanie metody CASE do analizy systemu informacyjnego

Podobne dokumenty
Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym

Diagramu Związków Encji - CELE. Diagram Związków Encji - CHARAKTERYSTYKA. Diagram Związków Encji - Podstawowe bloki składowe i reguły konstrukcji

Autor: Joanna Karwowska

Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

PODSTAWY BAZ DANYCH. 5. Modelowanie danych. 2009/ Notatki do wykładu "Podstawy baz danych"

Przepływy danych. Oracle Designer: Modelowanie przepływów danych. Diagramy przepływów danych (1) Diagramy przepływów danych (2)

Spis treści. Analiza i modelowanie_nowicki, Chomiak_Księga1.indb :03:08

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

Modelowanie związków encji

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD

ZSE - Systemy baz danych 1 ZASADY PROJEKTOWANIA BAZ DANYCH

Piotr Kulicki Katolicki Uniwersytet Lubelski Jana Pawła II Instytut Filozofii Teoretycznej Katedra Podstaw Informatyki

Wykład 1 Inżynieria Oprogramowania

Zasady organizacji projektów informatycznych

Krzysztof Kadowski. PL-E3579, PL-EA0312,

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła

Modelowanie danych, projektowanie systemu informatycznego

Zasady transformacji modelu DOZ do projektu tabel bazy danych

Modelowanie związków encji. Oracle Designer: Diagramy związków encji. Encja (1)

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

1 Projektowanie systemu informatycznego

Cykle życia systemu informatycznego

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

Bazy Danych. Modele danych. Krzysztof Regulski WIMiIP, KISiM,

Dane wejściowe. Oracle Designer Generowanie bazy danych. Wynik. Przebieg procesu

APIO. W4 ZDARZENIA BIZNESOWE. ZALEŻNOŚCI MIĘDZY FUNKCJAMI. ELEMENTY DEFINICJI PROCESU. DIAGRAM ZALEŻNOŚCI FUNKCJI.

Wybrane problemy z dziedziny modelowania i wdrażania baz danych przestrzennych w aspekcie dydaktyki. Artur Krawczyk AGH Akademia Górniczo Hutnicza

1. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI

Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty

Procesowa specyfikacja systemów IT

Technologia informacyjna

PRZEWODNIK PO PRZEDMIOCIE

Projektowanie baz danych za pomocą narzędzi CASE

Wykład 2. Relacyjny model danych

Narzędzia CASE dla.net. Łukasz Popiel

Inżynieria oprogramowania. Wykład 6 Analiza i specyfikowanie wymagań

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA. Modelowanie danych. Model związków-encji

Egzamin / zaliczenie na ocenę*

Wykład 3 Wymagania. MIS n Inżynieria oprogramowania Październik Kazimierz Michalik Akademia Górniczo-Hutnicza im. S. Staszica w Krakowie

Technologie baz danych

Diagram Przepływu Danych - podstawowe bloki składowe i reguły konstrukcji

Narzędzia Informatyki w biznesie

WPROWADZENIE DO BAZ DANYCH

Diagramy przepływu danych I

Wprowadzenie do baz danych

KARTA PRZEDMIOTU. 1) Nazwa przedmiotu: INŻYNIERIA SYSTEMÓW I ANALIZA SYSTEMOWA. 2) Kod przedmiotu: ROZ-L3-20

Projektowanie systemów informatycznych. wykład 6

Świat rzeczywisty i jego model

Co to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką?

MODELOWANIE PRZEPŁYWU DANYCH

Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny) kierunkowy (podstawowy / kierunkowy / inny HES)

Diagramy związków encji ERD Ćwiczenia w modelowaniu danych

Projektowanie bazy danych przykład

UML w Visual Studio. Michał Ciećwierz

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Modelowanie i analiza systemów informatycznych

Systemy baz danych. mgr inż. Sylwia Glińska

PLAN ZARZĄDZANIA WYMAGANIAMI PROJEKT <NAZWA PROJEKTU> WERSJA <NUMER WERSJI DOKUMENTU>

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie

Definicje. Algorytm to:

Bazy danych. Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Wykład 3: Model związków encji.

Bazy danych 2. dr inż. Tadeusz Jeleniewski

Metodyka projektowania komputerowych systemów sterowania

Projektowanie Systemów Informacyjnych

PRZEWODNIK PO PRZEDMIOCIE

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

Rysunek 1: Przykłady graficznej prezentacji klas.

TECHNOLOGIE OBIEKTOWE. Wykład 3

Analiza i projektowanie obiektowe 2017/2018. Wykład 3: Model wiedzy dziedzinowej

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas

Wykład II Encja, atrybuty, klucze Związki encji. Opracowano na podstawie: Podstawowy Wykład z Systemów Baz Danych, J.D.Ullman, J.

Wykład I. Wprowadzenie do baz danych

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

ZARZĄDZANIE I INŻYNIERIA PRODUKCJI

Modelowanie KONCEPCJA. przedstawiana przez INDYWIDUALNOŚĆ GHJ 6

Inżynieria wymagań. Wykład 3 Zarządzanie wymaganiami w oparciu o przypadki użycia. Część 5 Definicja systemu

Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne

Etapy życia oprogramowania

Transformacja modelu ER do modelu relacyjnego

Inżynieria Oprogramowania w Praktyce

Baza danych. Baza danych to:

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM,

Inżynieria oprogramowania II

Bazy danych TERMINOLOGIA

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

Podsumowanie wyników ankiety

Podstawy programowania III WYKŁAD 4

KIERUNKOWE EFEKTY KSZTAŁCENIA

Usługi analityczne budowa kostki analitycznej Część pierwsza.

Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania

Modelowanie diagramów klas w języku UML. Łukasz Gorzel @stud.umk.pl 7 marca 2014

Zarządzanie i realizacja projektów systemu Microsoft SharePoint 2010

Normalizacja baz danych

E-1IZ s2. Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty

Relacyjny model baz danych, model związków encji, normalizacje

Specyfikowanie wymagań przypadki użycia

Transkrypt:

Mgr Paweł Pasztaleniec Katolicki Uniwersytet Lubelski Zastosowanie metody CASE do analizy systemu informacyjnego Streszczenie Pierwsza część artykułu zawiera opis, definicję i kilka modeli cyklu życia systemu informacyjnego. W drugiej części przedstawiona została metodyka CASE*Method i podstawy teorii dotyczącej modelowania danych. Summary First part of article contains description, definition and some models information system life cycle. Second part presents methodology CASE*Method and theory basis of data modelling. Wstęp Wiele się zmieniło przez ostatnich dwadzieścia lat. 1 Wydaje się, że słowa te są i będą długo aktualne gdyż świat zmienia się coraz szybciej, a szczególnie w dziedzinie szeroko pojętej informatyki. Artykuł ten ma na celu przedstawienie jednej z metod wspomagających proces analizy, projektowania i budowy systemów informatycznych a mianowicie metody CASE (ang. Computer Aided System (Software) Engineering). Pierwszy raz nazwa CASE jako określenie komputerowego wspierania systemów inżynieryjnych została użyta w 1981 roku na oznaczenie narzędzi wspomagających etapy analizy systemu. Na przestrzeni kolejnych lat narzędzia te były udoskonalane i był powiększany obszar ich użycia. W początkowej fazie rozwoju narzędzia te pomagały tylko graficznie zaprezentować przygotowany projekt. Z biegiem czasu i rozwojem komputerów narzędzia CASE wzbogacano o kolejne funkcje aż stały się tym, czym są dzisiaj. Obecnie oprócz możliwości graficznej prezentacji danych narzędzia te posiadają możliwość nie tylko generowania kodu programu, ale także wspomagają proces tworzenia dokumentacji budowanego systemu. Narzędzia te są głównie stosowane do budowy baz danych i aplikacji je obsługujących. 1. Podstawowe pojęcia Współczesne organizacje takie jak uniwersytety, jednostki administracji publicznej czy przedsiębiorstwa mają skomplikowane powiązania strukturalne i funkcjonalne. Aby lepiej przedstawić te powiązania przyjmijmy podejście systemowe, w którym organizację będziemy traktować jako system. Systemem dla nas będzie wyodrębniony z otoczenia społecznogospodarczego zbiór zasobów ludzkich i informacyjnych realizujący określone zadania zgodnie z ustalonym celem. Przy takim ujęciu jest to system otwarty, to znaczy działający w otoczeniu złożonym z elementów do niego nie należących. Wymieniając dane z otoczeniem system jest zdolny do adaptacji, czyli elastycznego przystosowania do zmieniających się warunków otoczenia w sposób zapewniający jego funkcjonowanie. Z organizacji dających się traktować jako systemy wynika, że są one częścią większych systemów, ale także, że są złożone z wewnętrznych elementów zwanych podsystemami. Zasadniczo można wyróżnić cztery podstawowe podsystemy: społeczny, zarządzania, wykonawczy i informacyjny. System informacyjny umożliwia interakcje zarówno pomiędzy systemami jak i w obrębie systemów to jest pomiędzy ich poszczególnymi częściami składowymi. System 1 Bill Gates wypowiedział te słowa w 1995 roku 1

informacyjny można omawiać w ujęciu strukturalnym, funkcjonalnym i rozwoju technologicznego. W tym artykule zostanie podana tylko definicja systemu informacyjnego oraz różne modele cykli życia systemu. 2 System informacyjny w literaturze przedmiotu jest różnie definiowany. Dla zachowania ogólnego charakteru rozważań niezbędna jest definicja ujmująca system w aspekcie cybernetyki. 2. System informacyjny System informacyjny jest to wyróżniony przestrzennie i uporządkowany czasowo zbiór informacji, nadawców informacji, odbiorców informacji i kanałów informacyjnych oraz technicznych środków przesyłania i przetwarzania informacji, których funkcjonowanie służy do sterowania obiektem gospodarczym. 3 W tej definicji termin sterowanie jest rozumiany jako zarządzanie a obiekt gospodarczy jako dowolny rodzaj przedsiębiorstwa. Kluczowe miejsce w powyższej definicji zajmuje też pojęcie informacji. Potocznie poprzez informację rozumie się doniesienie lub wiadomość o faktach i zdarzeniach. Natomiast nauka zajmująca się zarządzaniem określa informację jako wiedzę niezbędną do osiągnięcia założonych celów organizacji. 4 Punktem wyjścia do zbudowania systemu informacyjnego dla każdej organizacji jest informacja, która też jest wartościowym zasobem tej organizacji. Aby zbudować system informacyjny potrzebna jest znajomość rodzaju informacji. Dlatego rozwój technologii oprogramowania dla działów zajmujących się informacją podlega przejściu na metody oparte na analizie danych. Inżynieria informacji jest najbardziej popularną metodyką cyklu tworzenia systemu użytkowego, opartą na analizie danych. Odkrycie informacji użytecznej i ważnej w działaniu organizacji jest zajęciem trudnym i czasochłonnym. Dlatego z pomocą przychodzą tutaj silne narzędzia i odpowiednie metodyki, aby zagwarantować dokładne i spójne zdefiniowanie informacji. Lecz samo posiadanie zaawansowanych narzędzi nie wystarcza do zbudowania dobrego systemu. Potrzebne jest jeszcze zrozumienie systemu. Trudno sobie wyobrazić inny sposób zrozumienia systemu niż stopniowe jego dzielenie na coraz bardziej szczegółowe elementy. Jest to metoda polegająca na podejściu od góry do dołu, od ogółu do szczegółu. Taktyka dzielenia dużych systemów na coraz mniejsze wydaje się słuszna, lecz trzeba pamiętać żeby otrzymane części były użyteczne. Elementy uzyskane w wyniku podziału systemu muszą pozostawać w pewnym racjonalnym związku z tym jak system funkcjonuje, czyli każdy ze składników musi być funkcjonalnym elementem całości 5. 3. Cykl życia systemu informacyjnego Istnieją różne modele cykli życia systemu informacyjnego, oto kilka z nich: 1) Model prosty, kaskadowy: a) analiza potrzeb, b) specyfikacja systemu, c) projektowanie, d) programowanie, e) testowanie, f) integracja, 2 A. Nowicki, Strategia doskonalenia systemu informacyjnego w zarządzaniu przedsiębiorstwem, Wrocław 1999. 3 A. Nowicki, Strategia doskonalenia systemu informacyjnego w zarządzaniu przedsiębiorstwem, Wrocław 1999, str. 17. 4 A. Nowicki, Strategia doskonalenia systemu informacyjnego w zarządzaniu przedsiębiorstwem, Wrocław 1999, str. 20. 5 J. Robertson, S. Robertson, Pełna analiza systemowa, Warszawa 1999, str. 119. 2

g) adaptacja i modyfikacja, h) eksploatacja, i) dezaktualizacja 2) Model Fry ego jest bardzo dobry przy zastosowaniu narzędzi CASE, składa się z dwóch faz: a) projektowania: i) sformułowanie i analiza potrzeb, ii) modelowanie konceptualne, iii) projektowanie fizyczne b) eksploatacji: i) wdrożenie, ii) eksploatacja i kontrola 3) Oracle ma swoją własną metodologię związaną z cyklem życia systemu, którą przedstawia rysunek 1). Jest to metodologia stworzona do konkretnych zastosowań i ograniczona do konkretnych narzędzi. Model Pojęciowy Strategia Analiza Model Logiczny Projektowanie Programowanie Dokumentacja Użytkownika Wdrażanie fizyczne Wdrażanie Produkcja Rysunek 1) W dalszej części pracy będę omawiał tylko metodę dotyczącą modelowania struktury danych pomijając modelowanie procesów i funkcji. Modelowanie jest niezależne od ewentualnych przyszłych implementacji. Wynikiem modelowania struktury danych jest diagram związków encji. Celem modelowania związków encji jest utworzenie najpierw pojęciowego potem logicznego modelu bazy danych i wreszcie bazy danych. 3

4. CASE*Method CASE*Method jest strukturalnym podejściem do inżynierii systemów w środowisku przetwarzania danych. Składa się ze zbioru etapów, zadań, produktów (ang. deliverables) i metod, które prowadzą poprzez wszystkie kroki cyklu tworzenia systemu. Metoda rozpowszechniona poprzez kursy szkoleniowe, książki i konsultacje. Użycie CASE*Method może być zautomatyzowane za pomocą narzędzi CASE pochodzących zarówno z firmy Oracle, jak i innych firm 6. Metoda ta obejmuje kilka etapów złożonych ze zbioru zadań do wykonania i produktów końcowych. Wyniki jednego etapu są materiałem wejściowym następnego. Taki sposób tworzenia systemu pozwala bardzo wcześnie usunąć ewentualne błędy. Cała zebrana informacja jest zapisywana i wyrażana w formie modeli. Poszczególne etapy systemu mają następujące zadania: Strategia dokonywana jest w celu zrozumienia celów przedsiębiorstwa i ustalenia zakresu systemu, powstały model opisuje informacje i funkcje, jakich będzie używał system, Analiza dostarcza szczegółowego opisu wymaganego systemu, Projektowanie na podstawie modelu działania jest tworzony model określonej realizacji składający się z dwóch części: projektu bazy danych i projektów aplikacji, Programowania i dokumentacja użytkownika realizacja przygotowanych specyfikacji i równoczesne tworzenie dokumentacji wraz z aplikacjami, Wdrożenie przechodzenie do nowego systemu zgodnie z uprzednio opracowanym planem, Produkcja rozpoczęcie pracy przez system. Znaczenie CASE*Method dla projektowania polega na określaniu materiałów wejściowych do procesu projektowania, zbioru zadań do wykonania podczas projektowania i produktów końcowych projektowania. Rezultatem analizy jest kompletny i szczegółowy model wymagań uzgodniony z użytkownikiem a obejmujący: szczegółową hierarchię funkcji i modele encji, logikę funkcji, ilość wystąpień encji, częstotliwość funkcji, macierze sprawdzania krzyżowego, diagram przepływu danych, kryteria akceptacji przez użytkownika końcowego i ograniczenia takie jak koszt, czas, zyski oraz czynniki sukcesu. Zakończenie analizy i przejście do dalszego etapu jest możliwe dopiero po zaakceptowaniu jej przez użytkownika. Akceptacja ma uzmysłowić użytkownikowi końcowemu, że jego wymagania zostały zrozumiane przez analityka i przedstawione w produktach analizy. Nie znaczy to jednak, że taki system może być zbudowany. Dlatego ważne jest, aby projektant: rozumiał wszystkie wymagania stawiane systemowi, był przekonany o możliwości całkowitego zbudowania takiego systemu w ramach nałożonych ograniczeń technicznych i funkcjonalnych. Jeśli któryś z warunków nie może być spełniony analiza powinna być modyfikowana i negocjowana z użytkownikiem do czasu aż obie strony będą usatysfakcjonowane. Rezultatem projektowania są: logiczne i fizyczne modele, zawierające: o projekt tabel, kolumn i indeksów o specyfikacje programu o procedury biurowe zasady dostępu i zabezpieczenia szczegółowe oszacowanie rozmiarów procedury tworzenia kopii zapasowych i odzyskiwania danych plan testów 6 R. Barker, Modelowanie Związków Encji, Warszawa 1996, Str. 226. 4

streszczenia dokumentacji użytkownika końcowego, zawierające propozycje szkoleniowe szczegółowy plan implementacji. Rezultatem projektowania są też wyniki sprawdzania jakości. Ważne jest, aby zostały sprawdzone: standardy techniki modelowania mają swoje rysunkowe standardy pozwalające na zachowanie odpowiedniej jakości modelu, kompletność z punktu widzenia projektanta produkt końcowy powinien być kompletny i wystarczająco szczegółowy, wyjątkowe konstrukcje techniki modelowania graficznego umożliwiają projektantowi dostrzeżenie wyjątkowych konstrukcji, konstrukcje te nie zawsze są niepoprawne jednak wymagają zwrócenia większej uwagi i ocenienia pod względem późniejszych problemów, spójność do jej kontrolowania wykorzystywane są macierze sprawdzania krzyżowego i raporty z kontroli jakości, generowane automatycznie przez większość narzędzi. Główną technika modelowania danych jest modelowanie związków encji. W najprostszej postaci modelowanie związków encji obejmuje w analizowanej organizacji identyfikowanie rzeczy ważnych i istotnych (encji), ich własności (atrybutów) i sposobów powiązania encji (związków). Celem modelowania związków encji jest dostarczenie dokładnego modelu niezależnego od obecnego sposobu przechowywania danych i dostępu do nich. W ciągu ostatnich trzydziestu lat systemy komputerowe ulegały coraz większemu skomplikowaniu, przechodziły kolejne etapy ewolucji. Gdy dokonywał się ten postęp niewielka uwagę przywiązywano do minimalizowania powtórzeń, integracji i spójności danych oraz pełnego do nich dostępu. Sam diagram jest jednak niewystarczający i wymaga, aby wraz z nim tworzona była dokumentacja dla określenia encji, związków i informacji o atrybutach. Do określenia poprawności modelu danych służy kontrola kompletności składająca się z: opis nazwy encji nie zawsze są takie jak życzyłby sobie tego projektant, dla obejścia tego problemu używa się synonimów. Jasny opis encji jest ważny dla projektanta, który musi przekształcać encje w tabele, identyfikator unikalny każda encja musi mieć identyfikator unikalny, nawet, jeśli nie jest on wykorzystywany jako klucz podstawowy, opisuje on podstawową cechę encji, warunek tworzenia encji lub połączenia ich związkiem niekiedy encja lub związek pojawia się tam gdzie zdarzenia powstają tylko w pewnych okolicznościach, taka informacja umożliwia inne spojrzenie na ten aspekt danych, nazwa związku niezależnie od tego czy używane są narzędzia CASE nazwa związku jest wymagana, ponieważ jest pewnego rodzaju mechanizmem sprawdzającym analizę, jeśli w jakimś miejscu nie da się nazwać związku to najprawdopodobniej on w rzeczywistości nie istnieje. 5. Teoria dotycząca modelowania struktury danych Diagram związków encji (ang. entity relationship diagramer) jest częścią modelu przedsiębiorstwa tworzonym na etapie strategii cyklu życia systemu. Graficznie diagram reprezentuje encje, istotne związki miedzy nimi i atrybuty używane do ich opisu. Diagramer związków encji (ang. entity relationalship diagrammer) to narzędzie CASE umożliwiające interakcyjne rysowanie i modyfikowanie pełnego (lub podzbioru) diagramu związków encji; może być stosowane do tworzenia i poprawiania diagramów 5

oraz modyfikowania samego słownika danych CASE przy pracy nad diagramami w kontekście konkretnej wersji systemu użytkowego 7. Podstawowym pojęciem wykorzystywanym przy tworzeniu diagramu jest encja. Encja (ang. entity) jest to: 1) Rzecz istotna, rzeczywista albo wyobrażona, o której informacje muszą być znane lub przechowywane. 2) Istniejąca rzecz dająca się odróżnić od innych, w przeciwieństwie do jakości lub relacji 8. Podana definicja encji może ułatwić pracę, bo stwierdza, że encje w zdaniach to rzeczowniki. Ale identyfikacja ich czasami jest trudna do przeprowadzenia, bo ludzie wypowiadając się stosują często przykłady, analogie i ilustracje. Dodatkową komplikacje powoduje liczba mnoga i różne gramatyczne formy. Zadanie analityka polega na zidentyfikowaniu istotnej rzeczy, z którą mamy do czynienia i wybraniu dla niej ogólnej nazwy akceptowalnej przez wszystkich i zdefiniowaniu jej jako encji. Nazwy encji są zawsze w liczbie pojedynczej 9. Graficznie encje są reprezentowane poprzez prostokąty o zaokrąglonych rogach z umieszczoną w środku nazwą. Prostokąt może mieć dowolna wielkość, ale powinien być na tyle duży, aby móc pomieścić nazwę encji. Nazwa encji musi reprezentować typ lub klasę rzeczy. Każda rzecz lub przedmiot może być reprezentowana tylko przez jedna encję, to znaczy, że wszystkie encje zawsze wzajemnie wykluczają się. Każda encja musi mieć jednoznaczny identyfikator (ang. unique identifier) będący dowolną kombinacją atrybutów i/lub związków, która we wszystkich wypadkach służy do jednoznacznego identyfikowania wystąpienia encji. Inne określenie to: jedna lub więcej kolumn, które zawsze określają pojedynczy wiersz tabeli 10. Graficznie jednoznaczny identyfikator wskazuje się umieszczając znak # (hash) przed każdym atrybutem wchodzącym w jego skład i stawiając poprzeczną kreskę na linii każdego związku wchodzącego w skład jednoznacznego identyfikatora. Encje są połączone pomiędzy sobą związkami. Związek (ang. relationship) jest tym, co jedna rzecz ma do zrobienia z drugą lub dowolny istotny sposób, w jaki dwie rzeczy tego samego lub różnych typów są ze sobą powiązane. Związek jest zawsze powiązaniem dokładnie dwóch nazwanych encji. Może być powiązaniem encji samej ze sobą. Każdy związek ma dwa końce z przypisanymi do nich: nazwą, liczebnością i opcjonalnością (czy opcjonalny, czy wymagany). Graficznie związek jest reprezentowany za pomocą linii łączącej ramki encji ze sobą. Przy liczebności wiele linia związku dotyka ramki w trzech punktach, połączenie to nosi nazwę kurzej stopki. Przy liczebności jeden linia dotyka ramki w jednym punkcie. Kiedy związek jest wymagany wtedy odpowiada mu ciągła linia, gdy jest opcjonalny linia przerywana. Gdy jest opcjonalnowymagany wtedy linia jest w połowie ciągła a w połowie przerywana. Nazwy związków są zapisywane na ich końcach małymi literami. Dwa lub więcej związków dotyczących tej samej encji może się wzajemnie wykluczać. Wykluczanie się związków jest przedstawiane za pomocą łuku łączącego końce związków. W miejscu przecięcia się łuku ze związkiem, którego on dotyczy stawiana jest mała czarna kropka. W miejscu przecięć się łuku ze związkami, których łuk nie dotyczy nie stawiamy żadnych znaków. Łukiem może być połączonych więcej niż dwa związki. Jedną z możliwości oferowana przez związki jest nietransferowalność (nieprzenaszalność). W normalnej sytuacji jedna instancja encji może 7 R. Barker, Modelowanie Związków Encji, Warszawa 1996, Str. 226 8 R. Barker, Modelowanie Związków Encji, Warszawa 1996, Str. 228 9 R. Barker, Modelowanie Związków Encji, Warszawa 1996, str. 65 10 R. Barker, Modelowanie Związków Encji, Warszawa 1996, Str. 229 6

zostać połączona z inną instancją encji następnie rozłączona i połączona powtórnie z inną. Gdy taka sytuacja nie jest dozwolona to wówczas na końcu takiego nietransferowalnego związku jest rysowany mały rąb. Jest wiele możliwych sposobów łączenia encji związkami jednak nie wszystkie są poprawne i możliwe do zrealizowania. Możliwe są wszystkie związki typu jeden do jednego, jest ich trzy, ale tylko dwa są przydatne. Związek wymagany obustronnie jest, co prawda możliwy, ale w praktyce występuje tylko tam gdzie analityk nie zrozumiał dobrze funkcjonowania organizacji, często okazuje się, ze encje, które łączył są tylko różnymi aspektami tej samej rzeczy. Możliwe są wszystkie związki typu jeden do wiele niezależnie od ich opcjonalności. W przypadku związków wiele do wiele niemożliwy jest tylko związek na obydwu końcach wymagany. Związki encji samych do siebie są możliwe tylko w trzech przypadkach: związku obustronnie opcjonalnego typu wiele do wiele jeden do wiele i jeden do jednego. Na rysunku 1 zaprezentowany jest układ dwóch fikcyjnych encji połączonych związkiem wymaganym na końcu przy encji ENCJA A i opcjonalnym przy encji ENCJA B oraz jest to związek jeden do wiele o liczebności wiele przy encji ENCJA A. Diagram 1 Podczas odczytywania związku, kiedy jego koniec jest wymagany, używa się wyrażenia musi być przed nazwą danego związku a w przypadku końca opcjonalnego używa się wyrażenia może być. Diagram 1 należy odczytywać od strony lewej do prawej w sposób następujący: każda ENCJA A musi być nazwa_konca_a jedna i tylko jedna ENCJA B. Czytając od strony prawej do lewej otrzymujemy: każda ENCJA B może być nazwa_konca_2 jedna lub więcej ENCJA A. Przy rysowaniu związków encji uzyskuje się większą przejrzystość, jeżeli związek o końcu wiele (kurza stopka) 11 jest umieszczony po lewej stronie bądź górnym końcu linii związku 12. Encje są opisywane nie tylko poprzez ich wzajemne związki, ale także poprzez atrybuty. Atrybut (ang. attribute) to: 1) Każdy szczegół służący do kwalifikowania, identyfikowania, klasyfikowania, określania ilości lub wyrażenia stanu encji albo dowolny opis rzeczy istotnej ; każde wystąpienie encji dla każdego atrybutu może mieć tylko jedną wartość w jednej chwili. 2) a. Jakość przypisywana osobie lub rzeczy; b. charakterystyczna cecha, c. materialny obiekt uważany za odpowiedni dla osoby, stanowiska lub statusu (np. luksusowy samochód jest atrybutem bogactwa)... 13 Atrybuty na diagramie encji są zapisywane wewnątrz ramki encji małymi literami w liczbie pojedynczej. Atrybut musi opisywać tylko jedna encję, tą, przy której występuje. Nazwy atrybutów nie powinny zawierać nazw encji gdyż i tak opisują tylko jedną encję i 11 W żargonie na określenie tej reguły często zasada ta jest wyrażana w stwierdzeniu, że zdechle kurczaki spadają łapkami do góry lub, że zdechle kurczaki lecą ma wschód. 12 R. Barker, Modelowanie Związków Encji, Warszawa 1996, str. 39-40 13 R. Barker, Modelowanie Związków Encji, Warszawa 1996, Str. 225 7

można się do nich odwoływać poprzez nazwy encji w następujący sposób: nazwa atrybutu nazwa encji, na przykład atrybut numer dla encji MIEJSCE będzie odczytany jako numer miejsca. Z identyfikacją atrybutów wiąże się pojecie postaci normalnych. Postaci normalne dotyczą głównie relacyjnych baz danych i tam stosuje się aż do piątej postaci normalnej a opisane one są matematycznie 14. Na potrzeby modelowania związków encji najważniejsze są trzy pierwsze. Pierwsza postać normalna polega na usunięciu powtarzających się atrybutów, ponieważ dana encja może mieć tylko jedną wartość dla każdego atrybutu. Kiedy jest potrzebna większą liczba wartości danego atrybutu w jednej chwili, nazwa atrybutu występuje w liczbie mnogiej lub jest więcej atrybutów o tej samej nazwie należy utworzyć nową encję, która będzie je zawierać w związku wiele do jeden z podstawową encją. Jednoznaczny identyfikator musi obejmować jeden z atrybutów, który do niej przeszedł i związek do pierwotnej encji. Pierwsza postać normalna jest mechanizmem identyfikowania brakujących encji i związków. Druga postać normalna polega na usunięciu wszystkich atrybutów, które zależą tylko od części jednoznacznego identyfikatora. Sytuacja taka może zajść tylko, gdy jednoznaczny identyfikator złożony jest z więcej niż jednego atrybutu lub związku. W takim przypadku ten atrybut i ta część jednoznacznego identyfikatora, od której on zależy tworzą nową encję. Jednoznacznym identyfikatorem nowej encji jest ten atrybut, który był częścią jednoznacznego identyfikatora encji pierwotnej. Nowa encja pozostaje w związku jeden do wiele z encją pierwotną. Druga postać normalna również służy do identyfikowania brakujących encji. Trzecia postać normalna polega na usunięciu atrybutów, które są zależne od atrybutów nie będących częścią jednoznacznego identyfikatora. Usunięte atrybuty z danej encji tworzą podstawę dla nowej encji, której jednoznacznym identyfikatorem będzie ten atrybut, od którego zależą pozostałe a będzie ona pozostawać w związku jeden do wiele z encją pierwotną. Trzecia postać normalna jest ostatnim mechanizmem służącym do identyfikowania brakujących encji i związków. 15 W praktyce trzecia postać normalna możemy osiągnąć odpowiadając na pytania: Czy na pewno zidentyfikowałem każdą oddzielną rzecz mającą znaczenie dla działalności firmy? Czy każdy związek jest naprawdę istotny czy tylko potrzebny podczas wykonywania pewnej funkcji? Czy atrybut nie powinien być faktycznie związkiem z czymś innym? Czy atrybut nie ma czasem oddzielnego znaczenia jako pewna całość, być może z perspektywy kogoś innego, w którym to przypadku może być lepiej modelować go jako encję? Czy występują encje z podobnymi zbiorami atrybutów i związków i czy czasem nie świadczą one o różnym podejściu lub nie są różnymi stanami tej samej rzeczy 16 Zakończenie Z uwagi na charakter tego artykułu został tu przedstawiony jedynie krótki opis systemu informacyjnego i zarys metodologii CASE związanej z modelowaniem struktury danych na potrzeby relacyjnej bazy danych. W celu dogłębnego poznania omawianego zagadnienia należy poświęcić się dogłębnym studiom literatury fachowej i dokumentacji technicznej konkretnych narzędzi, jakie mamy zamiar stosować. 14 C. J. Date, Wprowadzenie do baz danych, Warszawa 1981 15 R. Barker, Modelowanie Związków Encji, Warszawa 1996, str. 44-48 16 R. Barker, Modelowanie Związków Encji, Warszawa 1996, str. 157 8