Inżynieria oprogramowania I



Podobne dokumenty
Ogólne określenie wymagań. Ogólny projekt. Budowa systemu. Ocena systemu. Nie. Tak. System poprawny. Wdrożenie. Określenie.

Inżynieria oprogramowania

Inżynieria oprogramowania

Inżynieria oprogramowania

Etapy życia oprogramowania

Inżynieria Oprogramowania. Inżynieria Oprogramowania 1/36

PRZEWODNIK PO PRZEDMIOCIE

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

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

PRZEWODNIK PO PRZEDMIOCIE

WPROWADZENIE DO UML-a

SVN. 10 października Instalacja. Wchodzimy na stronę i pobieramy aplikację. Rysunek 1: Instalacja - krok 1

MODELE CYKLU ŻYCIA OPROGRAMOWANIA (1) Model kaskadowy (często stosowany w praktyce do projektów o niewielkiej złożonoś

KARTA MODUŁU KSZTAŁCENIA

Zasady organizacji projektów informatycznych

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

Inżynieria oprogramowania. Jan Magott

In ż ynieria oprogramowania wykład II Modele i fazy cyklu życia oprogramowania

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2012/2013

Projektowanie systemów informatycznych. wykład 6

Zakres wykładu. Podstawy InŜynierii Oprogramowania

Egzamin / zaliczenie na ocenę*

Inżynieria oprogramowania (Software Engineering)

Narzędzia CASE dla.net. Łukasz Popiel

Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation)

tel. (+48 81) /22 fax (+48 81) Wykład Ćwiczenia Laboratorium Projekt

Cykle życia systemu informatycznego

Inżynieria oprogramowania (Software Engineering) Wykład 1

Procesy wytwarzania oprogramowania Specyfikacja i projektowanie oprogramowania

Grupa treści kształcenia, w ramach której przedmiot jest realizowany Przedmiot kierunkowy

Przedsięwzięcia Informatyczne w Zarządzaniu

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 1 Wprowadzenie do narzędzia CASE. Materiały dla nauczyciela

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

Projekt systemu informatycznego

Analiza i projektowanie obiektowe w UML Kod przedmiotu

Inżynieria oprogramowania

Cel wykładu. Literatura. Wyższa Szkoła Menedżerska w Legnicy. Modelowanie wymagań Wykład 2

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/17

MODELE CYKLU śycia OPROGRAMOWANIA

Wykład 1 Inżynieria Oprogramowania

ZASADY TWORZENIA OPROGRAMOWANIA

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Inżynieria oprogramowania, C12

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/17

Projektowanie Systemy Informatycznego

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla nauczyciela

PRZEWODNIK PO PRZEDMIOCIE

Podstawy modelowania programów Kod przedmiotu

Inzynieria Oprogramowania 2... nazwa przedmiotu SYLABUS A. Informacje ogólne. Wydział Ekonomiczno-Informatyczny w Wilnie

INŻYNIERIA OPROGRAMOWANIA

PRZEWODNIK PO PRZEDMIOCIE

Programowanie zespołowe

Inżynieria oprogramowania - opis przedmiotu

INŻYNIERIA OPROGRAMOWANIA

Laboratorium 5 - Projektowanie programów zorientowanych obiektowo. Indywidualny projekt programistyczny

KOMPUTEROWE WSPOMAGANIE ZARZĄDZANIA

PYTANIA PRÓBNE DO EGZAMINU NA CERTYFIKAT ZAAWANSOWANY REQB KLUCZ ODPOWIEDZI. Część DODATEK

E-ID1S-08-s5. Informatyka. I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla studenta

Inżynieria oprogramowania

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 5 Ćwiczenia w narzędziu CASE diagram przypadków uŝycia. Materiały dla nauczyciela

5 Moduył do wyboru II *[zobacz opis poniżej] 4 Projektowanie i konfiguracja sieci komputerowych Z

Inżynieria oprogramowania

In ż ynieria oprogramowania wykład II Modele i fazy cyklu życia oprogramowania

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S

Inżynieria oprogramowania. Założenia i cele przedmiotu: Opis form zajęć

PRZEWODNIK PO PRZEDMIOCIE

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

E-1IZ3-06-s6. Inżynieria Programowania. Informatyka. I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

INKS105 ( INK9117 ) Podstawy inżynierii oprogramowania

Dr Katarzyna Grzesiak-Koped

Techniki modelowania programów Kod przedmiotu

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 2 Ćwiczenia w narzędziu CASE diagram klas. Materiały dla nauczyciela

Projektowanie systemów informatycznych. Roman Simiński programowanie.siminskionline.pl. Cykl życia systemu informatycznego

Modelowanie i analiza systemów informatycznych

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Projekt zespołowy D1_10

Podstawy programowania III WYKŁAD 4

OPIS MODUŁU KSZTAŁCENIA (przedmiot lub grupa przedmiotów)

KARTA PRZEDMIOTU. Projekt zespołowy D1_10

Metodyki zwinne wytwarzania oprogramowania

Rok akademicki: 2014/2015 Kod: IEL s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

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

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 3 Ćwiczenia w narzędziu CASE diagram sekwencji. Materiały dla nauczyciela

Inżynieria Oprogramowania:

Wytwarzanie oprogramowania

Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz

Extreme Programming Modified 1

Opis metodyki i procesu produkcji oprogramowania

Analiza i projektowanie obiektowe 2016/2017. Wykład 1: Wprowadzenie oraz cykl życia oprogramowania i faza określenia wymagań

Programowanie zwinne

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

Inżynieria Oprogramowania w Praktyce

PRZEWODNIK PO PRZEDMIOCIE

Techniki CAx. dr inż. Michał Michna. Politechnika Gdańska

KARTA PRZEDMIOTU. Projektowanie systemów czasu rzeczywistego D1_13

Konfiguracja modelowania w procesie wytwarzania oprogramowania

Wytwórstwo oprogramowania. michał możdżonek

Wprowadzenie, podstawowe pojęcia, projekt a produkt Wykład1

PRZEWODNIK PO PRZEDMIOCIE

Transkrypt:

Kontakt Inżynieria I Andrzej Jaszkiewicz Andrzej Jaszkiewicz p. 424y, Piotrowo 3a tel. 66 52 371 jaszkiewicz@cs.put.poznan.pl www-idss.cs.put.poznan.pl/~jaszkiewicz Literatura A. Jaszkiewicz, Inżynieria, Helion, Gliwice, 1997. B. Begier, Inżynieria problemy jakości, Wydawnictwo Politechniki Poznańskiej, Poznań, 1999. Janusz Górski (red.). Inżynieria w projekcie informatycznym. Mikom, Warszawa, 1999. G. Booch, J. Rambaugh, I. Jacobson, UML przewodnik użytkownika, WNT, Warszawa, 2000. Literatura K. Subieta Wprowadzenie do inżynierii programowania. Wydawnictwo PJWSTK, Warszawa 2002 S. Szejko (red.), Metody wytwarzania, Mikom, Warszawa, 2002 M. Fowler, K. Scott, UML w kropelce, Oficyna Wydawnicza LTP, 2002 S. Maguire, Niezawodność, Helion, Gliwice, 2002 J. W. Cooper, Java. Wzorce projektowe, Helion, Gliwice, 2001 Rynek 2002 Świat 207 miliardów euro (USA 97 miliardów, UE 63 miliardy) Bez wytwarzanego na własne potrzeby Wzrost 5.1% rocznie + 125 miliardów euro dodatkowych usług W UE 60-70% jest wytwarzane w firmach, dla których nie jest to główną działalnością Trochę historii - Rozwój technik wytwarzania Lata 50-te Sprzęt o bardzo ograniczonych możliwościach Ograniczone zastosowania Małe programy Programy pisane często dla własnych potrzeb lub potrzeb dobrze znanych osób Dobrze wyspecyfikowane zadania 1

Rozwój technik wytwarzania Lata 60-te Profesjonalni programiści Nowe języki programowania COBOL, Fortran, Algol Sprzęt o dużo większych możliwościach, np. pamięć wirtualna Nowe zastosowania np. w biznesie Próba realizacji wielu dużych przedsięwzięć programistycznych Kryzys Rozwój technik wytwarzania nie nadąża za rozwojem sprzętu komputerowego Czy kryzys trwa do dzisiaj? Nadal większość przedsięwzięć przekracza czas i/lub budżet Około 25% przedsięwzięć programistycznych nie jest kończona 90% firm przyznaje, że dość często zdarzają im się opóźnienia przedsięwzięć Powszechna akceptacja kiepskiej jakości (w pewnych obszarach) Efekty Zależność osiągnięciaoczekiwania w wytwarzaniu Oczekiwania Rzeczywiste osiągnięcia Czas Przyczyny kryzysu Duża złożoność systemów informatycznych Złożoność, zmienność, nieadekwatność wymagań Niepowtarzalność poszczególnych przedsięwzięć Nieprzejrzystość procesu budowy Pozorna łatwość wytwarzania i modyfikowania Potrzeba kreatywności Czynnik ludzki Mało wymagający rynek Niedoskonałość narzędzi Początek inżynierii 1968 NATO Conference on Software Engineering Definicje inżynierii Duże systemy wymagające pracy wielu osób praca grupowa Wielowersyjność 2

Definicja inżynierii Wiedza techniczna, dotycząca wszystkich faz cyklu życia, której celem jest uzyskanie wysokiej jakości produktu -. Jakość Użyteczność (usefulness) Niezawodność (reliability) Ergonomia (usability) Efektywność (efficiency) Łatwość konserwacji (maintability) Bezpieczeństwo użytkownika (user safety) Koszt? Zakres inżynierii Wytwarzanie i innych produktów (np. dokumentacji) Zarządzanie wytwarzaniem Plan wykładów - I semestr Wprowadzenie i podstawowe modele cyklu życia Analiza/modelowanie systemów z wykorzystaniem języka UML, w tym elementy analizy wymagań UML jako narzędzie projektowania i dokumentowania Projektowanie Niezawodność Dokumentacja techniczna i użytkowa Narzędzia inżynierii Pan wykładów II semestr Większy nacisk na pracę grupową Modele dojrzałości: CMMI i ISO 9001. Wprowadzenie do inżynierii wymagań. Planowanie i kontrola przedsięwzięć. Szacowanie rozmiarów i kosztów. Przeglądy. PSP. TSP. Wprowadzenie do PRINCE 2. Zasady skutecznego działania. Programowanie Ekstremalne. Przedsięwzięcia dyplomowe Plan laboratoriów Semestr I seria mniejszych ćwiczeń Semestr II - seria mniejszych ćwiczeń (uzupełnienie) + większy projekt 3

ć Modele cyklu życia Uporządkowanie prac. Ustalenie kolejności prac. Planowanie i monitorowanie realizacji. Programowanie odkrywcze Ogólne określenie wymagań Ogólny projekt Budowa systemu Ocena systemu Wdrożenie Tak System poprawny Nie Określenie wymagań Model kaskadowy Dodatkowe fazy w modelu kaskadowym Projektowanie Implementacja Testowanie Konserwacja Ścisłe i elastyczne rozumienie modelu kaskadowego Określenie wymagań Projektowanie Implementacja Testowanie Konserwacja prac ochło nno ś Przykład elastycznego podejścia do modelu kaskadowego 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% analiza projektowanie implementacja testowanie wdrażanie odnies ienie do 12 modelu w odspadow ego 1 2 3 4 5 6 7 8 9 10 czas 10 8 6 4 2 0 pra cownic y wdrożenie zapewnianie jakoś ci implementacja projektowanie analiza ws półpraca z odbiorcą za rzą dzanie konfiguracją za rzą dzanie projektem liczba pracowników 4

Wady i zalety modelu kaskadowego + Łatwość zarządzania planowanie i monitorowanie - Wysoki koszt błędów popełnionych we wstępnych fazach - Długa przerwa w kontaktach z klientem - Nie lubiany przez wykonawców Prototypowanie Cel lepsze określenie wymagań Fazy: Ogólne określenie wymagań. Budowa prototypu. Weryfikacja prototypu przez klienta. Pełne określenie wymagań. Realizacja pełnego systemu zgodnie z modelem kaskadowym. Sposoby budowy prototypu Prototyp musi być zbudowany szybko i niskim kosztem. Niepełna realizacja. Języki wysokiego poziomu. Wykorzystanie gotowych komponentów. Generatory interfejsu użytkownika. Szybkie programowanie (quick-and-dirty programming). Papier. Programowanie odkrywcze. Wady i zalety prototypowania + Mniejsze ryzyko popełnienia kosztownych błędów we wczesnych fazach. + Możliwość szybkiej demonstracji prototypu i szkolenia użytkowników. - Koszt budowy prototypu, który może się nie zwrócić. - Możliwość nieporozumień z klientem. Określenie Wymagań i wstępny projekt Realizacja przyrostowa Wybór przyrostu - podzbioru funkcji Realizacja przyrostu Proces realizowany iteracyjnie Wdrożenie przyrostu Wady i zalety realizacji przyrostowej + Możliwość wcześniejszego korzystania z. pewnych funkcji systemu. + Skrócenie przerw w kontaktach z klientem. + Możliwość elastycznego reagowania na opóźnienia. - Kłopoty z integracją oddzielnie realizowanych modułów. 5

Wybór modelu do konkretnego przedsięwzięcia Duże przedsięwzięcia, np. > 6 miesiecy realizacja przyrostowa, mniejsze m. kaskadowy Trudności w określeniu wymagań: nowatorski system z punktu widzenia klienta mała znajomość dziedziny problemu przez wykonawcę: Jeżeli tak, to prototypowanie Unified Modeling Language - UML Obiektowa notacja graficzna służąca do modelowania, projektowania i specyfikacji Następca licznych notacji obiektowych z lat 80- tych i 90-tych Powstał na bazie metod Boocha, Rumbaugh (OMT) i Jacobsona stworzony przez tych właśnie autorów Unified Modeling Language - UML Standard Object Management Group (OMG) Wspierany przez firmę Rational De facto standard przemysłowy Pierwsza wersja w 1997 Notacja, a nie metodyka 6