5/27/2014
Z metod projektowania systemów informatycznych obecnie najczęściej używanych w praktyce zdecydowanie wciąż wyróżnia się podejście strukturalne, chociaż za nowocześniejsze uważa się obecnie inne metodyki, na przykład projektowanie obiektowe
Wprowadzenie do systemów informacyjnych Projektowanie strukturalne
© UEK w Krakowie
Ryszard Tadeusiewicz
1
Główna idea metod strukturalnych opiera się na zasadzie:
Make simple things simple and complex things possible
W projektowaniu strukturalnym zakłada się naprzemienne etapy: analiz teoretycznych, prac projektowych oraz eksperymentów praktycznych
Z doskonaleniem systemu informatycznego nie wolno przesadzać, bo albo poniesie się za duże koszty, albo coś się „przedobrzy”
Dlatego warto pamiętać hasło, jakie stosują najlepsze amerykańskie firmy komputerowe: > GOOD ENOUGH IS PERFECT < Można to przetłumaczyć: ZNAKOMITE, BO ZADOWALAJĄCE
1
5/27/2014
Podejście strukturalne dostarcza modelu pojęciowego, który jest potem używany podczas całego cyklu życia systemu
Model relacji biznesu i technologii informacyjnych w ujęciu ogólnym Planowanie, implementacja i zarządzanie usługami
Zarządzanie usługami
Perspektywa biznesu
Wsparcie usług
Zarządzanie Infrastrukturą
T E C H N O L O G I A
B IZ N E S
Dostarczanie usług Zarządzanie bezpieczeństwem
Zarządzanie aplikacją
Co jest wizją ?
Gdzie jesteśmy teraz ?
Gdzie chcemy być?
Jak dostaniemy się tam gdzie chcemy ?
Jak sprawdzimy, że nasz problem został rozwiązany?
Jak zatrzymamy tempo sytuacji?
Hardware
Planowanie wprowadzenia w życie Zarządzania usługami Klienci
B
T
Wsparcie Usług
I
Zarządzanie reacjami w biznesie
Z
Współpraca, Edukacja i Komunikacja
Service Desk
Projektowanie i planowanie
Rozmiesz - czenie / Instalacja
Wsparcie techniczne
Obsługa
Środowiska
E C
Zarządzanie Konfiguracją
N
Zarządzanie relacjami z Dostawcą
E
Zarządzanie Incydentem
Zarządzanie Infrastrukturą ICT
Usługi
S
Inspekcja, Planowanie i Rozwój
Perspektywy Biznesowe
H Sieci
Zarządzanie Zmianą
N O L
Zarządzanie problemem Procesy Zarządzanie Wersją
O
Zarządzanie dostępnością
G Zarządzanie Wydajnością
Utrzymanie
Planowanie
Bazy Danych
Użytkownicy
I A
Zarządzanie poziomem usług
Kontrola
Zarządzanie finansami dla usług IT
Oprogramowanie Zarządzanie ciągłością usług IT Dostarczanie Usług
Ocena
Implementacja
Bardziej dokładny schemat zależności biznes – modele technologia
To przejście od modelu ogólnego do modelu szczegółowego to właśnie kwintesencja metodyki strukturalnej
Zarządzanie bezpieczeństwem
Wymagania
Optymalizacja
Działanie
Rozmieszczanie / Instalacja
Budowa
Projektowanie
Zarządzanie Aplikacją
Strukturalne podejście do projektowania systemów wiąże się z projektowaniem ukierunkowanym na cel
Prześledźmy ewolucję metod projektowania:
Projektowanie strukturalne
2
5/27/2014
Istotą metod projektowania strukturalnego jest upraszczanie złożonego systemu poprzez systematyczne rozkładanie go na prostsze elementy składowe.
Dzielenie złożonych systemów na elementy składowe wraz z koncentracją uwagi stopniowo na coraz drobniejszych szczegółach bywa używane w wielu dziedzinach
W ten sposób drogowskazem dla projektanta jest struktura rozważanego problemu.
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="kursancihtml.xsl"?> <Kursanci xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="kursanci.xsd">
Przykład kodu programu w którym programista starał się uwidocznić aspekty strukturalne
<kursant>
<danePersonalne> <nazwisko>Sosna</nazwisko> <imie>Anna</imie> <nrTel>602-314-053</nrTel> <ulica>Radosna 123</ulica> <kodPocztowy>31-455</kodPocztowy> <miejscowosc>Kraków</miejscowosc> </danePersonalne> <kurs> <jezyk>Włoski</jezyk> <rodzaj> <typ>Egzaminacyjny</typ> <poziom>Średniozaawansowany</poziom> <kod>AES</kod> <cenaZaSemestr>639.00</cenaZaSemestr> </rodzaj> <dataRozpoczecia>2005-09-01</dataRozpoczecia> <dataZakonczenia>2006-06-01</dataZakonczenia> <semestr> <nrSemestru>1</nrSemestru> <oplacony>Tak</oplacony> <zaliczony>Nie</zaliczony> <grupa> <nazwa>AES01</nazwa> <lektorzy> <lektorPolski>
W przypadku systemów informacyjnych strukturę można próbować odwzorować odpowiednim zapisem programu, ale jest to zwykle mało czytelne
<nazwisko>Mandryk</nazwisko> <imie>Wojciech</imie> </lektorPolski> <nativeSpeaker> <nazwisko>Wolf</nazwisko> <imie>Phil</imie> <narodowosc>Brytyjska</narodowosc> </nativeSpeaker> </lektorzy> </grupa> </semestr> </kurs> </kursant>
3
5/27/2014
Można próbować posłużyć się rysunkiem w którym elementy programu (albo struktury danych) przedstawione są graficznie, ale przy złożoności typowo spotykanej w systemach informacyjnych schemat jest nadal mało czytelny.
Dlatego przy projektowaniu strukturalnym stosuje się narzędzia zapewniające maksymalną prostotę reprezentowania najbardziej nawet złożonych systemów.
Na początku projektowania trzeba wyodrębnić elementy składowe systemu i określić ich role
4
5/27/2014
Złożoność współczesnych systemów informacyjnych sprawia, że projektanci muszą sobie radzić z ich projektowaniem stosując pewne zabiegi upraszczające. Do najskuteczniejszych z nich należą agregacja i dekompozycja
Metoda dekompozycji
Metoda agregacji
Kolejność postępowania jest taka: Najpierw przedstawia się najbardziej ogólny schemat, w którym cały system traktowany jest jako jeden proces. Ten ogólny schemat nazywa się diagramem kontekstowym.
Przykładowy diagram kontekstowy oznaczany skrótem CD
Przykład jednego kroku procesu dekompozycji
Przykładowy diagram przepływu danych
5
5/27/2014
Przykład strukturalnego opisu fragmentu systemu informacyjnego
Inny przykład stratyfikacji procesów
Projektując określony proces trzeba brać pod uwagę także to, co się znajduje także poza jego granicami
Tworzenie modelu biznesowego Kompetencje
Zarządzanie infrastrukturą
Tworzenie i rozwój produktu
Zarządzanie relacjami z klientem
Sprzedaż produktu
2. 1 Strategia dla portfolio produktów 2.2 Strategia sprzedaży 2.3 Planowanie produktu
3.1 Strategia relacji z klientem 3.2 Strategia relacji z dystrybutorami 3.3 Planowanie kampanii marketingowych
4.1 Planowanie sprzedaży
1.3 Zarządzanie procesami 1.4 Procedury audytu 1.5 Raportowanie
2.4 Zarządzanie produktami 2.5 Zarządzanie kanałem sprzedaży 2.6 Zbieranie opinii o produkcie
3.4 Zarządzanie kontaktami 3.5 Zarządzanie kanałami sprzedaży
1.6 Przychody/należności 1.7 Kadry 1.8 Audyt 1.9 Szkolenia 1.10 Zarządzanie IT
2.7 Wdrożenie i utrzymanie produktu 2.8 Rozwój produktu 2.9 Szkolenia producenta
3.6 Profilowanie i segmentacja klientów 3.7 Kampanie marketingowe 3.8 Obsługa korespondencji 3.9 Obsługa call center
Poziomy operacyjne
Planowanie 1.1 Strategia Firmy 1.2 Startegia inwestycyjna
Zarządzanie i kontrola
Wykonanie
4.2 Obliczanie prowizji dla dystrybutorów
3.6 Profilowanie i segmentacja klientów 3.7 Kampanie marketingowe 3.8 Obsługa korespondencji 3.9 Obsługa call center
4.3 Kontrola z wykonywania planów sprzedaży
4.4 Sprzedaż bezpośrednia 4.5 Zarządzanie dystrybutorami 4.6 Logistyka
3.6
3.7
3.8
klient
Dekompozycja procesów na czynności (operacje)
Back-office
komponenty
PROFIL_SEGMENTACJA
3.6.3 Wykonanie analizy
<<komponent>> TELEFON_DO_KLIENTA
3.8.1 Operator dzwoni
<<podsystem>> SPRZEDAŻ_PRODUKTU
TAK NIE
operator <<podsystem>> ZARZĄDZANIE_RELACJAMI_Z_KLIENTEM
<<komponent>>
TAK NIE
4.4.4 Klient dokonuje płatności
3.6.3 Wykonanie analizy
3.8.1 Operator dzwoni do klienta
3.8.12 Operator Kończy call
3.8.7 Operator Informuje klienta
3.8.12 Operator Kończy call
Przebieg procesu
Diagram pokazujący model komponentowy (statyczny) i interakcje (dynamiczne) zachodzące pomiędzy komponentami w czasie
<<komponent>> INFORMUJ
<<komponent>> WYŚLIJ_FAKTURĘ 3.8.12 Operator kończy call
INFORMUJ
3.8.7 Operator Informuje klienta
PROFIL_SEGMENTACJA
TELEFON_DO_K
INFORMUJ
WYŚLIIJ_FAKTURĘ
BD_ZARZĄDZANIE_KO NTAKTAMI
informacja do bazy danych zarządzanie kontaktami
dynamika systemu komponentów
informacja do bazy danych zarządzanie kontaktami
prośba o dodatkowe informacje
faktura wysłana
6
5/27/2014
7
5/27/2014
Przykłady
Jeszcze jeden przykład
Wybrane elementy struktury rozrysowane dokładniej
Inny blok schematu
8
5/27/2014
Jeszcze inny moduł
Po diagramie przepływu danych kolejnym kluczowym składnikiem metodologii strukturalnej są związki encji i relacji
Reprezentacja atrybutu, encji oraz związku na diagramie encji i relacji – oraz ich związki
Przykładowy diagram ERD (Entity-Relationship Diagram)
„Anatomia” diagramu encji i relacji
Związek klient-zamówienie w ujęciu relacyjnym
Liczebność związku (stopień uczestnictwa) Strona jeden relacji
Encja
Nazwa encji Strona wiele relacji
Nazwa związku
Zamówienia
Klienci IdKlienta KP Nazwisko Imię PESEL NIP .....
(1,1)
(0,n)
składa
(K) Reguła usuwania Obowiązkowy typ uczestnictwa
Związek
Opcjonalny typ uczestnictwa
IdZamówienia KP IdKlienta KO DataZamówienia IdPracownika ..... Atrybuty charakteryzujące encję: KP – klucz podstawowy KO – klucz obcy
9
5/27/2014
Encje i związki pomiędzy encjami dla bazy danych wypożyczalni samochodów
W finalnym projekcie te encje i związki są dodatkowo wyposażane w liczne szczegółowe atrybuty
Dobrze zdefiniowany model encji i zależności daje podstawę do zdefiniowania systemu na przykład w programie MS Access
Transformacja modelu logicznego w fizyczny
A tak to wygląda po realizacji
10
5/27/2014
Przykład relacji 1-1
Znak kreski pionowej na linii połączenia oznacza obligatoryjność związku
Przykład relacji 1-n
Realizacja relacji typu n-m
Po stronie 1 związku relacja ma pojedyncze zakończenie (-), po stronie n związku relacja jest zakończona strzałką ().
Znak kółka na linii połączenia (o) oznacza opcjonalność związku.
Kwestie krotności relacji
Przykład relacji n-m
Sklep
Każdy pracownik może należeć do kilku zespołów projektowych jednocześnie,
Klient
Zatrudnia dowolną liczbę
Kupuje dowolną liczbę Jest kupiony przez jednego
Wyrób
Jest sprzedany przez jednego
Jest zatrudniony tylko w jednym Sprzedawca
Może sprzedać dowolna liczbę Pochodzi z jednego
a każdy projekt jest realizowany przez wyznaczoną grupę pracowników
Przechowuje dowolną liczbę Magazyn Dostarcza do wielu Dostawca Otrzymuje od wielu
11
5/27/2014
Ten sam schemat nieco rozbudowany Klient KodKlienta <pi> NO <M> NazwaK TXT55 <M> AdresK TXT45 <M> StatusK TXT15 <M> KodKlienta <pi> Wyrób
Sprzedawca
Sklep
KodSprzed <pi> TXT25 <M> NazwaS TXT45 <M> DataZat D <M> Stanowisko TXT15 <M>
NrSklep <pi> I <M> AdresS TXT35 <M> KierownikS TXT45
KodSprzed <pi>
NrSklep <pi>
NrSeria <pi> TXT25 <M> NazwaW TXT35 <M> TypW TXT15 <M> CenaW MN <M> DataSprzed D <M> DatGwar D <M> NrSeria <pi>
Magazyn NrMag <pi> I <M> AdresM TXT35 <M> KierownikM TXT45 NrMag <pi>
Dostawa NrDostawy <pi> TXT25 <M> DataDost D <M> Wartosc MN <M> OpisDs MBT NrDostawy <pi>
Dostawca KodDostawcy <pi> TXT25 <M> Nazwa TXT35 <M> Adres TXT25 <M> OpisD MBT KodDostawcy <pi>
Przykład diagramu strukturalnego obsługa procedury odwołań przy zamówieniach publicznych
12
5/27/2014
Strukturalne projektowanie systemu informatycznego jest procesem konstruowania modelu biznesowych danych, a także modelu reguł działalności stosowanych w określonej organizacji, który w przeciwieństwie do projektowania fizycznego jest niezależny od implementacji.
Przechodzenie od ogólnego modelu do modeli szczegółowych na przykładzie systemu zarządzania transportem lotniczym Rząd RP
Firmy lotnicze
Obiekt przestrzenny
Model logiczny to model struktury zgodny z modelem danych, a nie z ich fizyczną reprezentacją.
Atrybuty encji Rząd RP
Porty lotnicze System informacji przestrzennej
Centrum przetwarzania informacji
Centrum rejestracji zagrożeń
Atrybuty encji Firmy lotnicze Rezerwacja Wymiana z innymi towarzystwami
Minister lub urzędnik
Jednostka antyterrorystyczna
MSW
Sprzedaż biletów
Biuro informacyjne Położenie
Opieka medyczna
Minister/ urzędnik Rząd RP
Hotele współpracujące
MON Jednostka komandosów
Hierarchia Firmy pomocnicze
Nazwa
Sprzątanie
Organizacja
Ochrona
Komenda straży pożarnej
Firmy lotnicze
Zbiór samolotów
Funkcja
Jednostka straży (nazwa, c, m, z)
Atrybuty encji Obiekt przestrzenny int*
Atrybuty encji Wieża lotniska
Planowy
char*
Oficer dyżurny
Nieplanowy
Nr id.
Lot
Wyraża zgodę
Plan lotów
Cofa zgodę Wieża lotniska
Samolot Bazowe
Plan dyżurów
Inne instrukcje
Helikopter Obiekt przestrzenny Starty
Lotnisko
Typ
Nr id. lotniska Awionetka
Lądowania
Inne
Trasa lotu (międzylądowania)
(c, m, st)
Zgoda na lądowanie
Wyraża zgodę
Cofa zgodę
(c, m, ląd)
13
5/27/2014
Atrybuty encji Port lotniczy Nr id.
Plany lotów
Nazwa
Lista towarzystw
Personel lotniczy Port lotniczy Pracownicy
Inny personel
Lista samolotów bazujących
Procedury awaryjne Straż pożarna
Medyczne Ochrony
Analiza i projektowanie systemów informacyjnych Projektowanie strukturalne
© UEK w Krakowie
Ryszard Tadeusiewicz
81
14