OiZPI Część 5 narzędzia CASE w materiałach wykorzystano:

Slides:



Advertisements
Podobne prezentacje
Architektura SAP R/3 Wybrane zagadnienia.
Advertisements

Projektowanie w cyklu życia oprogramowania
Specjalność kursu inżynierskiego w Polsko-Japońskiej Wyższej Szkole Technik Komputerowych: Inżynieria Oprogramowania i Baz Danych Prowadzący: dr hab.
Część 2 OiZPI Iteracyjny przyrostowy model cyklu życiowego Rational Unified Process™ w materiałach wykorzystano: K.Subieta: Budowa i integracja systemów.
Role w zespole projektowym
Rola komputera w przetwarzaniu informacji.
Projektowanie Aplikacji Komputerowych
Architektura systemu Gra strategiczna „Strusia Jama”
Propozycja metodyki nauczania inżynierii oprogramowania
Budowa i integracja systemów informacyjnych
Platforma .Net i Vs.Net.
Przedstawienie możliwości, wad i zalet dwóch wybranych narzędzi CASE
Co UML może zrobić dla Twojego projektu?
Zarządzanie konfiguracją Doskonalenie Procesów Programowych Wykład 6 Copyright, 2001 © Jerzy.
Cykle życia oprogramowania
Jakość systemów informacyjnych (aspekt eksploatacyjny)
Rational Unified Process
Systemy zarządzania treścią CMS
Praca Inżynierska „Analiza i projekt aplikacji informatycznej do wspomagania wybranych zadań ośrodków sportowych” Dyplomant: Marcin Iwanicki Promotor:
1/18 LOGO Profil zespołu. 2/18 O nas Produkcja autorskich rozwiązań informatycznych dla małych i średnich firm w zakresie systemów: Baz danych Aplikacji.
Analiza i projektowanie Informacyjnych Systemów Zarządzania
Dalsze elementy metodologii projektowania. Naszym celem jest...
Analiza, projekt i częściowa implementacja systemu obsługi kina
Projekt i implementacja aplikacji wspomagającej testowanie oprogramowania, zgodne z metodologią Unified Software Development Process (RUP). Włodzimierz.
Wykład 4 Analiza i projektowanie obiektowe
Wykład 5 UML - Unified Modeling Language
Wykład 3 Analiza i projektowanie strukturalne
Wykład 2 Cykl życia systemu informacyjnego
Wykład 10 Narzędzia CASE.
Projekt i implementacja aplikacji wspomagającej testowanie
C.d. wstępu do tematyki RUP
Wady i zalety Microsoft Word –a
Atlantis INSPECTOR System wspomagania zarządzaniem i ewidencją obiektów sieciowych.
Zadanie: Integracja oprogramowania w gminach i starostwie
UML 2.x Robert Pająk.
Wykład 1 – część pierwsza
System wspierający obsługę przedmiotów projektowych
Narzędzia administracyjne
Zaprojektowanie i wykonanie prototypowego systemu obiegu dokumentów (workflow) dla Dziekanatu Wydziału z wykorzystaniem narzędzi open-source i cloud computing.
Moduł: Informatyka w Zarządzaniu
Rational Unified Process Implementacja Aleksandra Reiman, gr. I-52.
„Kalkulator zużycia oraz kosztu energii elektrycznej online „
dr Łukasz Murowaniecki T-109
1 Każdy obiekt jest scharakteryzowany poprzez: tożsamość – daje się jednoznacznie wyróżnić; stan; zachowanie. W analizie obiektowej podstawową strukturą
Studia Podyplomowe IT w Biznesie Inżynieria Oprogramowania
Bazy danych, sieci i systemy komputerowe
Unified Modeling Language - Zunifikowany Język Modelowania
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Komputerowe wspomaganie projektowania
Waterfall model.
Metodologia CASE. Przyczyny użycia narzędzi CASE Główną przesłanką użycia narzędzi CASE jest zwiększenie produktywności i jakości produkowanych systemów.
Walidacja danych alina suchomska.
Proces tworzenia oprogramowania Proces tworzenia oprogramowania jest zbiorem czynności i związanych z nimi wyników, które prowadzą do powstania produktu.
Copyright © Jerzy R. Nawrocki Team Software Process Inżynieria oprogramowania II Wykład.
Eksploatacja zasobów informatycznych przedsiębiorstwa.
KOMPANIA WĘGLOWA S.A..
Ergonomia procesów informacyjnych
7/1/ Projektowanie Aplikacji Komputerowych Piotr Górczyński Cykl życia systemu.
Moduł e-Kontroli Grzegorz Dziurla.
Zintegrowany monitoring infrastruktury IT w Budimex
Metodyki i narzędzia CASE
STAĆ CIĘ NA INNOWACJE Systemy Call Center Sp. z o.o.
InMoST Wielkopolska sieć współpracy w zakresie innowacyjnych metod wytwarzania oprogramowania Termin realizacji: – Innowacyjne metody.
Analiza, projekt i częściowa implementacja systemu wspomagania pracy Referatu Reprografii Promotor: mgr inż. Dariusz OlczykWykonała: Katarzyna Ściwiarska.
Zarządzanie projektami informatycznymi
Inżynieria Oprogramowania Laboratorium
IV Konferencja Naukowo-Techniczna "Nowoczesne technologie w projektowaniu, budowie.
Zapis prezentacji:

OiZPI Część 5 narzędzia CASE w materiałach wykorzystano: K.Subieta: Budowa i integracja systemów informatycznych A.Kobieliński: Inżynieria Oprogramowania I.Sommerville: Software Engineering IBM Rational: RUP™

Konspekt bieżącego wykładu Narzędzia CASE Zarządzanie procesem formułowania wymagań Metodyka budowy modelu procesów biznesowych

Narzędzia CASE Przeznaczenie i funkcje Architektura Przykłady

Narzędzia CASE - definicje Tradycyjnie przez CASE rozumiało się narzędzia, które wspomagają ogólnie rozumiane wytwarzanie oprogramowania oraz koncentrują się na głównie na fazach analizy i projektowania oraz bezpośrednim wykorzystaniu wyników tych faz w implementacji. Obecnie narzędzia CASE obejmują definiowanie wymagań, czasem implementację, testowanie i uruchamianie, organizację pracy zespołu) W przyszłości CASE będą wykorzystywane w fazie strategicznej oraz w czasie konserwacji oprogramowania (modelowania organizacji, procedury, organizacja pracy w przedsiębiorstwie, przepływ dokumentów, reinżynieria biznesowa) Integracja poszczególnych elementów CASE Semantyka modeli wykorzystywanych w CASE Interfejs graficzny w CASE Inżynieria odwrotna Integracja z otoczeniem programistycznym - narzędzia, metodyki, zarządzania projektami, ORSZBD, OSZBD Projektowanie systemów: - Klient-Serwer - Obiektowych - Komponentowych - Multimedialnych - Eksperckich Projektowanie rozproszonych baz danych Dostosowanie narzędzia CASE do projektu (customization) Elementy sztucznej inteligencji (?) dziś jutro wczoraj

Narzędzia CASE - podział

Korzyści ze stosowania narzędzi CASE Podniesienie jakości realizowanego systemu Usprawnienie komunikacji Produktywność Sformalizowana metodyka realizacji SI Łatwiejsza konserwacja SI Lepsze zarządzanie projektem Inne 5 10 15 20 25 30 35 % respondentów

Wielośrodowiskowe narzędzie I-CASE programistyczne A Środowisko programistyczne B Pakiet typu Lower-CASE dla środowiska A Pakiet typu Lower-CASE dla środowiska B Jądro systemu. Uniwersalny pakiet Upper-CASE Pakiet typu Lower-CASE dla środowiska C Pakiet typu Lower-CASE dla środowiska D Narzędzia CASE stosują różne techniki wizualizacji projektów, w szczególności notacje diagramów encja-związek (ER), OMT, UML i inne. Obecnie większość producentów określa swoje środowiska jako I-CASE (Integrated-CASE). Są to narzędzia łączące w sobie możliwości Lower-CASE i Upper-CASE. Stosunek narzędzi CASE do konkretnych metodyk i notacji jest dość różny. Istnieje grupa narzędzi uniwersalnych, które umożliwiają pracę z wieloma notacjami i wieloma metodykami. Istnieją również narzędzia CASE przypisane do konkretnych produktów, np. Oracle CASE. Wiele narzędzi CASE łączy elementy znane z wielu metodyk z własnymi pomysłami Przykłady narzędzi CASE (są ich dziesiątki): Oracle CASE, EasyCASE, CASE 4.0, ObjectiF, Select OMT Professional, System Architect, ObjectTeam, Paradigm Plus, Rational Rose, Select Enterprise Wiele narzędzi jest niczym więcej niż wyspecjalizowanymi edytorami graficznymi Środowisko programistyczne C Środowisko programistyczne D Źródło: K.Subieta wykł.

Składowe architektury CASE Środowisko implementacji Moduł inżynierii odwrotnej Generatory kodu Moduł projektowania interfejsu użytkownika Sprzęgi do narzędzi RAD Moduł pracy sieciowej Moduł importu/ eksportu danych Repozytorium danych Moduł zarządzania pracą grupową Moduł kontroli poprawności Moduł zarządzania konfiguracjami Moduł kontroli jakości Generatory dokumentacji technicznej Edytory diagramów Generatory raportów Źródło: K.Subieta wykł.

Edytor notacji graficznych Funkcje Tworzenie, edycja i wydruk diagramów wykorzystywanych w fazach określania wymagań. Tworzenie i edycja powiązań pomiędzy poszczególnymi symbolami i diagramami oraz nawigowanie po sieci powiązanych diagramów. Ocena Ergonomia pracy. Diagramy graficzne są jednym z podstawowych narzędzi pracy w fazach analizy i projektowania. Powinny one pozwalać analitykom i projektantom skupić się na pracy, a nie na “zmaganiach” z edytorem. Możliwość kontrolowania ilości informacji prezentowanej graficznie. Jakość i możliwość formatowania wydruków. Wykrywanie na bieżąco konstrukcji niepoprawnych. Zapewnienie spójności informacji umieszczonych na różnych diagramach Źródło: K.Subieta wykł.

Repozytorium (słownik) Funkcje Ewidencja danych o realizowanym projekcie Wprowadzenie oraz edycja specyfikacji modelu i projektu, a także innych informacji związanych z przedsięwzięciem. Wyszukiwanie pożądanej informacji Ocena Możliwy dostęp z programów zewnętrznych, możliwość wykorzystania w powiązaniu z narzędziami 4GL Jakość serwera zarządzającego SZBD SQL, ODBC, itd. W niektórych narzędziach CASE użytkownik ma możliwość rozbudowania struktury repozytorium oraz wprowadzania własnych funkcji działających na repozytorium. Źródło: K.Subieta wykł.

Pozostałe moduły narzędzi CASE (1) Moduł kontroli poprawności: Pewne błędy mogą być wykrywane na bieżąco w trakcie edycji diagramów i słownika danych., np. uczynienie klasy swoja własną specjalizacją. Moduł kontroli jakości: Pewne systemy pozwalają na automatyczną ocenę pewnych miar jakości projektu. Dotyczy to szczególnie złożoności oraz stopnia powiązania składowych. Generator raportów: Służy do przygotowania raportów na podstawie zawartości słownika danych. Niektóre raporty są parametryczne. Narzędzia CASE zawierają sporo gotowych generatorów raportów. Niektóre z nich pozwalają na definiowanie własnych. Generator dokumentacji technicznej: Moduł służący do przygotowania dokumentacji technicznej złożonej z szeregu diagramów. Swobodne formatowanie dokumentów. Przykładowe dokumenty. Łatwe i efektywne uaktualnienie dokumentacji po dokonaniu zmian w projekcie. Źródło: K.Subieta wykł.

Pozostałe moduły narzędzi CASE (2) Generatory kodu: Narzędzia służące do generacji kodu w rozmaitych językach programowania. Często generują szkielety, które muszą być uzupełnione przez użytkownika dodatkowym kodem. Wygenerowany kod jest uzupełniony o komentarze i inne informacje. Może także zawierać pewne elementy do modyfikacji. Nazwy użyte w projekcie przechodzą do wynikowego kodu. Moduł zarządzania wersjami: Umożliwia kontrolę różnych wersji projektu powstających ze względu na konieczność grupowego wprowadzania zmian oraz na wskutek zastosowania wielu środowisk. Moduł projektowania interfejsu użytkownika: Dotyczy projektowania dialogów, okien, menu. Zaletą jest wykorzystanie informacji znajdujących się w słowniku danych. Pozwala to np. na automatyczne wygenerowanie dialogu do edycji pewnej struktury danych. Moduł inżynierii odwrotnej Źródło: K.Subieta wykł.

Przyczyny trudności z narzędziami CASE Traktowanie narzędzi CASE wyłącznie jako generatorów kodu. Nie jest to efektywne przy braku rzetelnego podejścia do analizy i projektowania ponieważ: nakłady na implementację stanowią tylko ok. 15-30% całych nakładów, koszt błędów popełnionych w fazie implementacji jest stosunkowo niewielki a ponadto istnieją inne, tańsze narzędzia programistyczne (RAD) Nieznajomość metodyki analizy i projektowania. Narzędzia CASE nie zwalniają z myślenia, wiedzy i doświadczenia. Niewłaściwa organizacja i zarządzanie przedsięwzięciem. Nieuporządkowanie prac, brak planu, brak właściwych ocen, brak monitorowania postępu, itd. Zbyt wysokie oczekiwania w stosunku do narzędzia CASE. Może ono wprawdzie zredukować koszty (twierdzi się, że co najwyżej o 50%) ale koszt wdrożenia jest wysoki, efekty pojawiają się z pewnym opóźnieniem, wymaga dyscypliny w przedsięwzięciu. Narzędzie CASE nie przesądza w auto-magiczny sposób o powodzeniu projektu. Zastosowanie obiektowego CASE niekoniecznie oznacza “nowoczesność” projektu. Stosowanie narzędzi CASE często przynosi znikome efekty. Źródło: K.Subieta wykł.

Przeszkody we wdrażaniu CASE Brak współpracy kierownictwa Brak doświadczenia z systemami CASE Brak integracji z istniejącymi narzędziami Nieodpowiednia organizacja prac projektowo/programowych Brak dowodów przydatności CASE Brak metodyki projektowania SI Niezgodność z istniejącą praktyką Obawa przed zmianami Brak akceptacji klienta 2 4 6 8 10 12 14 % respondentów

Rozkład kosztów realizacji SI Metody tradycyjne “ad hoc” Metody i narzędzia CASE Planowanie Analiza Projektowanie Konstrukcja Wdrożenie Konserwacja Źródło: K.Subieta wykł.

LBMS Systems Engineer Oprogramowanie pochodzi z drugiej połowy lat 90-tych, wspiera metodologię strukturalną Obejmuje ewidencja problemów, wymagań, rozwiązań zdarzenia transakcje słownik danych elementarne model procesów (diagramy DFD, PHD, PDD) model danych (diagram ERD) projektowanie interfejsu (UNIX, Windows) generator skryptów baz danych Narzędzie spójne w warstwie narzędziowej jak i koncepcyjnej ty powiązać z poprzednim wykładem

Architektura systemu LBMS Systems Engineer klasyczny model klient-serwer klient: Windows 95/98 serwer: SQLBase (Gupta/Centura) ty powiązać z poprzednim wykładem Wszystkie dane o projekcie, a więc wymagania, role użytkowników, tabele, modele itp. przechowywane są w tzw. repozytorium projektu, zarządzanym przez profesjonalny, komercyjny DBMS (SQL Base, ORACLE).

LBMS Systems Engineer

Rational Suite Enterprise Jeden z najsilniejszych pakietów CASE dostępnych na rynku Wspiera metodologię obiektową i język UML Wspiera model cyklu RUP (Rational Unified Process) dostarczając wiedzy niezbędnej do zarządzania projektem w oparciu o artefakty Wbudowana integracja z Visual C++, obecnie środowiskiem .NET Generatory kodu wysokiej jakości Wspiera nowoczesne (choć w naszych realiach rzadko stosowane) rozwiązania typu JAVA, CORBA Wada – dotyczy wszystkich obiektowych CASE – problem trwałości obiektów (obiektowe bazy danych ciągle na wczesnym etapie rozwoju) Wada – rezygnacja z zewnętrznego generatora raportów - integracja pakietu z zewnętrznymi narzędziami Microsoft Office

Enterprise Architect Producent – Sparx Systems Silna współpraca z OMG Wsparcie dla UML, SysML, BPMN, MDA Wsparcie dla pracy grupowej (baza danych, system kontroli wersji) Generatory kodu źródłowego i DDL Audyt modelu

Enterprise Architect Przykład 1 – tworzenie i zawartość modelu Przykład 2 – praca grupowa z bazą SQL Przykład 3 – praca grupowa z zastosowaniem SVN Przykład 4 – generowanie i synchronizacja kodu (c++) Przykład 5 – generowanie i synchronizacja DDL (SQL) Przykład 6 - audyt projektu