Komputerowe wspomaganie zarządzania Ochrona zasobów
Transkrypt
Komputerowe wspomaganie zarządzania Ochrona zasobów
KOMPUTEROWE WSPOMAGANIE ZARZĄDZANIA Wykład 12 Narzędzia CASE Dr inż. Mariusz Makuchowski Narzędzia CASE Obecnie proces tworzenia oprogramowania musi spełniać szereg wymagań, w szczególności dotyczy to: skrócenia czasu wprowadzenia produktów na rynek jakości elastyczności (szybkim dostosowaniu się do zmieniających wymagań) to powoduje, że niezbędne staje się zastosowanie szeregu narzędzi wspomagających zautomatyzowany proces tworzenia systemów informatycznych tzw. narzędzi CASE. 2 Narzędzia CASE C - computer A - aided/assisted S - system/software E - engineering czyli komputerowo wspomagana inżynieria oprogramowania/ systemów CASE jest tym dla informatyków, czym CAD/CAM dla inżynierów. 3 Narzędzia CASE Narzędzia CASE stanowią zastosowanie technologii komputerowej w odniesieniu do szeroko rozumianych procesów technik metodyk tworzenia systemów informatycznych. 4 Narzędzia CASE Genezę pakietów CASE stanowią próby komputerowego wspomagania użytkownika oraz automatyzacji faz analizy i projektowania systemów informatycznych a więc w podstawach metodologicznych TSI. Pierwsze pakiety, które można by zaliczyć do klasy CASE (tzw. zerowej generacji CASE) wspomagały tylko tworzenie dokumentacji (np. rysowały schematy blokowe). Pierwsze tzw. generatory aplikacji pojawiły się na początku lat 80. 5 Narzędzia CASE Przy wspomaganym komputerowo tworzeniu systemów internetowych można wykorzystywać technologię zarówno strukturalną, jak i obiektową. Najpierw należy jednak wybrać jedną z metod postrzegania rzeczywistości, a następnie opisać dany wycinek przy jej wykorzystaniu w sposób sformalizowany. Programy komputerowe służące do TSI zawierają specjalne procedury pozwalające opisywać daną rzeczywistość według reguł stosowanych w odpowiednich schematach, diagramach czy grafach. Jednocześnie programy te wyposażone są w specjalne mechanizmy wymuszające przestrzeganie reguł stosowania danych narzędzi, a także pozwalają na wychwytywanie podstawowych błędów. 6 Narzędzia CASE Zastosowanie narzędzi CASE może wspierać wszystkie lub wybrane etapy tworzenia systemów informatycznych. Mogą one służyć do modelowania systemu informatycznego, ale także być wykorzystywane do generowania struktury bazy danych oraz pseudokodu programu, a także do opracowania dokumentacji stworzonego systemu. Systemy CASE można podzielić według faz cyklu życia systemu na: • Upper-CASE • Lower-CASE, • pakiety zintegrowane I-CASE 7 Narzędzia Upper-CASE Narzędzia Upper-CASE (wysokiego poziomu) wspomagają pierwszą fazę budowy systemu – analizę organizacyjną , funkcjonalną i procesową, modelowanie funkcji, procesów, obiektów, modelowanie struktur i tworzenie wszelkich diagramów. Narzędzia te koncentrują się na opisie i modelowaniu rzeczywistości, modelowaniu struktury systemu, bez wszelkich faz implementacji. 8 Lower-CASE, I-CASE Narzędzia Lower-CASE (niskiego poziomu) – wspomagają fazę implementacji. Wspomagają rzeczywiste budowanie oprogramowania – modelowanie bazy danych, generowanie kodu i testy. Narzędzia I-CASE (Integrated CASE) – łączą możliwości narzędzi Upper i Lower CASE wspomagając pracę we wszystkich fazach cyklu życia oprogramowania. 9 Funkcje narzędzi CASE W ujęciu ogólnym narzędzia CASE służą do: tworzenia graficznych modeli systemu, tworzenia słowników danych zawierających informacje o encjach i związkach w projekcie, tworzenia interfejsu użytkownika na podstawie graficznego opisu interfejsu opracowanego interaktywnie przez użytkownika, diagnostyki błędów przez udostępnienie informacji o wykonującym się programie, automatycznego tłumaczenia programów ze starych wersji języków programowania na nowe. 10 Rodzaje pakietów CASE Klasyfikacja pakietów CASE dostarcza pewnych problemów, ponieważ nie zostały określone standardy a rozwój samych pakietów jest bardzo szybki. Jednak do podstawowych kryteriów podziału, można zaliczyć: 11 kompleksowość otwartość elastyczność metodologiczną rodzaj wspomaganego modelu dziedziny przedmiotowej Podział pakietów Przyjmując jako kryterium podziału kompleksowość narzędzia CASE można podzielić na: 12 cząstkowe • wspomagają użytkowanie tylko jednej wybranej metody lub techniki, np.GraphCoc pośrednie • wspomagają jeden lub kilka etapów życia procesu TSI w określonej metodyce, wykorzystują repozytorium (encyklopedię systemu), np.Excelerator, Teamwork zintegrowane • wspomagają cały cykl życia systemu począwszy od analizy strategicznej i formulowanie założeń systemu, poprzez projekt i generowanie kodu aplikacji po wdrożenie; np. Information Engineering Workbench firmy Knowledgware Podział pakietów Przyjmując jako kryterium podziału otwartość narzędzia CASE można podzielić na: otwarte dedykowane 13 • mogą być wykorzystywane w całości lub w części w odniesieniu do różnych metodyk TSI. Użytkownik decyduje o doborze modułów. Pakiety te posiadają tzw. sprzęgła (z ang.bridge) do najbardziej popularnych systemów zarządzania – System Development Workbench • są ściśle związane z określoną metodyką, np.Prokit* Workbench dla metodyki STRADIS, Information Engineering Workbench dla metodyki Information Engineering Podział pakietów Przyjmując jako kryterium podziału elastyczność metodologiczną narzędzia CASE można podzielić na: Kierujące zespołem projektowym Doradcze Elastyczne • narzucające sposób tworzenia systemu np. przez komunikaty błędów • zachęcające do określonej procedury metodycznej np. przez komunikaty ostrzegawcze • Pozostawiające twórcy swobodę doboru metodyki Ze względu na rodzaj modelu dziedziny przedmiotowej dzielimy je na: strukturalne obiektowe społeczne 14 Klasyfikacja narzędzi CASE Klasyfikacja narzędzi CASE względem ich funkcjonalności: Narzędzia do planowania Narzędzia PERT, narzędzia do szacowania, arkusze kalkulacyjne Narzędzia do edycji Edytory tekstowe, edytory diagramów, procesory tekstów Narzędzia do zarządzania zmianami Narzędzia do śledzenia wymagań, systemy kontroli zmian Narzędzia do zarządzania konfiguracjami System do zarządzania wersjami, narzędzia do budowania systemów Narzędzia do prototypowania Języki bardzo wysokiego poziomu, generatory interfejsu użytkownika Narzędzia do wspomagania metod Edytory projektów, słowniki danych i generatory kodów Narzędzia do przetwarzania języków Kompilatory, interpretatory 15 Klasyfikacja narzędzi CASE Klasyfikacja narzędzi CASE względem ich funkcji: Narzędzia do analizy programów Generatory wzajemnych odwołań, analizatory statyczne, analizatory dynamiczne Narzędzia do testowania Dane testowe, programy porównujące pliki Narzędzia do usuwania błędów Systemy interakcyjnego usuwania błędów Narzędzia do dokumentowania Programy składu, edytory rysunków Narzędzia do wyszukiwania 16 Systemy wyszukiwania wzajemnych odwołań, programy do restrukturyzacji systemów Korzyści 17 Najważniejsze korzyści wynikające ze stosowania pakietów CASE: zwiększenie szybkości tworzenia systemu, eliminacja rutynowej technicznej pracy projektanta, wzrost stopnia aprobaty metodyk, wzrost kreatywności projektantów, poprawienie dokładności, tworzenie systemów informatycznych zgodnie z przyjętymi regułami Moduły pakietu CASE Edytor Notacji Graficznych Moduł Kontroli Poprawności Moduł Importu/Eksp ortu Danych Encyklopedia systemu (repozytoria) 18 Moduł Inżynierii Odwrotnej Moduł Projektowania Interfejsu Użytkownika Moduł Kontroli Jakości Generator Raportów Moduł Zarządzania Pracą Grupową Generator Kodu Generator Dokumentacj i Technicznej Moduły pakietu CASE Słowniki danych (repozytoria) – bazy wszelkich danych o tworzonym systemie wraz z narzędziami edytującymi, zarządzającymi i wyszukującymi te dane. Edytor Notacji Graficznych – program graficzny, umożliwiający tworzenie i edycję diagramów dla faz określania wymagań systemu, analizy i projektowania. Powinien też umożliwiać powiązania między symbolami w modelu a innymi, zdekomponowanymi modelami, oraz wydruk tych diagramów. Moduł Kontroli Poprawności – narzędzie do wykrywania i poprawiania błędów w diagramach i repozytoriach. Bardzo często działa w czasie rzeczywistym, co znacząco wpływa na komfort pracy. 19 Moduły pakietu CASE Moduł Kontroli Jakości – narzędzie do oceny pewnych ustalonych miar jakości projektu – np. stopnia złożoności lub powiązań składowych modelu. Generator Raportów – narzędzie tworzące dowolny raport na podstawie danych z repozytorium Generator Kodu – narzędzie transformujące projekt na szkielet kodu w wybranym języku programowania. Usprawnia pracę programistów, pozwala na zautomatyzowanie pewnych fragmentów kodu, a także na uzupełnienie kodu o dodatkowe informacje ze słownika danych. Generator Dokumentacji Technicznej – generator ustandaryzowanych dokumentów, zawierających specyfikację, opisy faz projektu, diagramy oraz wybrane raporty. 20 Moduły pakietu CASE Moduł Projektowania Interfejsu Użytkownika – narzędzie do projektowania menu, okien dialogowych oraz innych elementów interfejsu użytkownika. Moduł Inżynierii Odwrotnej – narzędzie pozwalające odtworzyć słownika danych oraz diagramów, na podstawie kodu źródłowego lub struktury bazy danych. Moduł Importu/Eksportu Danych – narzędzie służące do wymiany danych z innymi CASE'ami czy też innymi programami. Moduł Zarządzania Pracą Grupową – narzędzie umożliwiające współpracę grupy osób podczas pracy nad projektem 21 Zakres funkcjonalny zintegrowanego pakietu CASE Faza planowania SI Narzędzia planowania i analizy Faza projektowania Narzędzie projektowania Dialog projektanta Faza kontroli projektu Analizator projektu Faza wdrażania Generator kodu Faza eksploatacji projektowanie, grafika, wydruki 22 Narzędzia testowania ENCYKLOPEDIA SYSTEMU (SŁOWNIK) • • • • • • • • typów danych definicji danych struktur baz danych zdefiniowanych formatek ekranów wzorów zestawień diagramów projektów procedur przypadków testowania Czynności wspomagane komputerowo Czynności zautomatyzowane Przykłady narzędzi CASE 23 Case/4/0 Case/4/0 łączy w sobie narzędzia analizy, projektowania i programowania co czyni go, uniwersalnym pakietem służącym do tworzenia oprogramowania opartego na metodach strukturalnych oraz modernizowania systemów informacyjnych. Narzędzie to wykorzystywane jest przede wszystkim podczas tworzenia aplikacji typu ,,klient/serwer'' i „mainframe” oraz aplikacji sieciowych. Rozwiązania dostępne w narzędziu to: • analiza strukturalna w czasie rzeczywistym, • modelowanie związków encji, • projektowanie relacyjnych baz danych, • generowanie kodu źródłowego przy wykorzystaniu wielu standardowych języków programowania. 24 Case/4/0 posiada swój własny język skryptów, przy pomocy którego użytkownik może dowolnie definiować postać generowanego kodu, pozwala użytkownikowi korzystać ze zintegrowanego repozytorium (np. w celu wygenerowania dokumentacji projektowanego systemu, bądź w celu zaprojektowania własnego interfejsu), jest kompatybilne z wieloma innymi narzędziami, w tym z produktami firmy Microsoft, gwarantuje użytkownikom całkowitą spójność wszystkich produktów od etapu analizy po implementację. 25 Software through Pictures (StP) Software through Pictures (StP) jest narzędziem przeznaczonym zarówno dla obiektowego jak i strukturalnego projektowania systemów informatycznych. Rozwiązania dostępne dla użytkownika to m. in. analiza przypadków użycia, projektowanie obiektowe oraz generowanie kodu źródłowego. StP nie jest bezpośrednio związane z żadną metodologią; posiada rozbudowane możliwości konfiguracji parametrów w celu dostosowania narzędzia do przyjętej metodologii oraz własnych preferencji. Analiza i projektowanie obiektowe odbywa się przy wykorzystaniu standardów UML, OMT lub Booch'a. Wykorzystując standaryzowaną notację, narzędzie dostarcza użytkownikowi stabilną i elastyczną bazę dla procesu projektowania i implementacji systemu zorientowanego obiektowo. 26 Oracle Designer, ObjectiF Oracle Designer Oracle Designer stanowi zintegrowane narzędzie do projektowania aplikacji pracujących w środowisku klient/serwer oraz w architekturze trójwarstwowej. W swojej pracy narzędzie korzysta z takich metodyk jak RAD, JAD, metoda "top-down", Information Engineering, ad hoc i inne. Oracle Designer zawiera zestaw typowych modeli wykorzystywanych w typowych pracach projektowych. ObjectiF 27 ObjectiF jest narzędziem przeznaczonym do obiektowego projektowania systemów informatycznych. Rozwiązania dostępne dla użytkownika to m. in.: • analiza przypadków użycia, • projektowanie obiektowe • generowanie kodu źródłowego. Z punktu widzenia metodologii ObjectiF odwołuje się bezpośrednio do standardu UML. Wykorzystując standaryzowaną notację, narzędzie dostarcza użytkownikowi stabilną i elastyczną bazę dla procesu projektowania i implementacji systemu zorientowanego obiektowo. Eclipse Eclipse – projekt został stworzony przez firmę IBM, jest to darmowe, otwarte środowisko programistyczne dla Javy, które za pomocą platformy modelowania Eclipse (Eclipse Modeling Framework) może posłużyć do budowania oprogramowania, wykorzystując także UML. Sama platforma nie dostarcza żadnych narzędzi służących do tworzenia kodu i budowania aplikacji, oferuje jednak obsługę wtyczek(ang. plugin) rozszerzających jej funkcjonalność. Pierwsze wydanie miało miejsce w 2001 roku. 28 NetBeans NetBeans – otwarty projekt zawierający wiele narzędzi wspomagających tworzenie oprogramowania. Projekt NetBeans został uruchomiony w czerwcu 2000 roku przez firmę Sun Microsystems. Obecnie istnieją dwa główne produkty: NetBeans IDE i NetBeans Platform. NetBeans IDE jest środowiskiem programistycznym (Integrated Development Environment - IDE) - narzędziem służącym do tworzenia, kompilowania, uruchamiania i testowania programów. Całe IDE jest napisane w Javie, jednak umożliwia ono również tworzenie programów w innych. NetBeans Platform - jest to modułowa i łatwo rozszerzalna baza, służąca jako podstawa do tworzenia dużych aplikacji typu "desktop". Oprócz tego niezależni dostawcy oprogramowania dostarczają różnego typu wtyczki i rozszerzenia, które łatwo integrują się z NetBeans Platform i mogą być użyte do tworzenia własnych narzędzi i rozwiązań. 29 StarUML StarUML – otwarta, dostępna na zmodyfikowanej licencji GPL platforma UML/MDA dla systemu Windows, która umożliwia import projektów z takich komercyjnych aplikacji jak Rational Rose czy Borland Together. Zapewnia forward i reverse engineering kodu w Javie, C# i C++. Dzięki Ujednoliconemu Językowi Modelowania można w łatwy sposób opisywać świat obiektów w programowaniu obiektowym oraz analizie obiektowej. 30 Rational Rose, Borland Together IBM Rational Rose – jedno z najstarszych, profesjonalnych narzędzi. Bardzo rozbudowane, obsługujące UML 2.0. Borland Together – rodzina programów integrujących środowisko IDE Javy z narzędziami do UMLa. Posiada m.in. funkcje modelowania danych, szablony kodu, generator dokumentacji, czy też moduł weryfikacji kodu. 31 Enterprise Architect Enterprises Architect - to jedno z najbardziej potężnych i elastycznych środowisk do projektowania, modelowania i analizy diagramów UML dostępnych na rynku. Profesjonalne narzędzie, działające na platformach Windows i Linux. Wspiera wszystkie główne gałęzie projektowania, w tym modelowanie procesów biznesowych, obiektowo zorientowane modelowanie z użyciem standardu UML, modelowanie relacyjnych baz danych oraz strukturalną analizę i projektowanie. 32 Corporate Modeler 33 Corporate Modeler jest narzędziem niezależnym od konkretnej metodologii. Zawiera bardzo uniwersalne narzędzia, umożliwiające ich użycie zgodnie z różnymi metodykami wykorzystywanymi przez zespół projektowy. Do tych narzędzi można zaliczyć: • diagram hierarchii, • diagram związków encji, • diagram przepływu danych, • diagram procedur dynamicznych, • edytor matryc. Corporate Modeler nie jest narzędziem do projektowania systemu, a raczej do robienia analiz organizacyjnych. W projektach informatycznych Modeler jest dobrym narzędziem do modelowania środowiska, w jakim ma działać system (procesy biznesowe, symulacje różnych scenariuszy itp.). Bibliografia [1] Adam Nowicki - Komputerowe wspomaganie biznesu (2006) [2] Karol Kukuła – Badania operacyjne w przykładach i zadaniach (2002) [3] Czesław Smutnicki –Algorytmy szeregowania (2002) [4] Ryszard Knosyla i Zespół – Komputerowe wspomaganie zarządzania przedsiębiorstwem –Nowe metody i systemy (2007) [5] Zbigniew Klonowski – Systemy informatyczne zarządzania przedsiębiorstwem. Modele rozwoju i właściwości funkcjonalne (2004) [6] M. Fertsch, K. Grzybowska, A. Stachowiak – Logistyka i zarządzanie produkcją –nowe wyzwania i odległe granice (2007) [7] http://kompy.republika.pl/firewall.html [8] http://szyfrowanie.estrefa.net/Szyfrowanie-asymetryczne [9] http://www.b-skrzypczyk.republika.pl/podpisy.htm [10] http://www.eioba.pl/a/1lc4/narzedzia-case#ixzz1RjlXI86S [11] http://www.paweloszek.republika.pl/case.html 34 Kliknij, aby edytować styl Dziękuję za uwagę.