Wykład 1 Inżynieria Oprogramowania



Podobne dokumenty
Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2

Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1

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

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

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów niestacjonarnych studiów II stopnia)

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 1

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia)

Modelowanie i analiza. warstwy biznesowej aplikacji

Zasady organizacji projektów informatycznych

Inżynieria oprogramowania - opis przedmiotu

Podstawy programowania III WYKŁAD 4

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

Narzędzia CASE dla.net. Łukasz Popiel

PRZEWODNIK PO PRZEDMIOCIE

Projekt systemu informatycznego

Warstwa prezentacji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

Podstawy modelowania programów Kod przedmiotu

Zasadnicze czynności w zarządzaniu projektem, fazy cyklu życia systemu informatycznego. Modele cyklu życia - część 1

INŻYNIERIA OPROGRAMOWANIA

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

Charakterystyka oprogramowania obiektowego

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

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

Wprowadzenie, konsekwencje stosowania modelowania w projektach programistycznych Wykład1

Inżynieria oprogramowania. Jan Magott

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

PRZEWODNIK PO PRZEDMIOCIE

Inżynieria Oprogramowania w Praktyce

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

PRZEWODNIK PO PRZEDMIOCIE

Wprowadzenie, konsekwencje stosowania modelowania w projektach programistycznych Wykład1

Szczególne problemy projektowania aplikacji internetowych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Egzamin / zaliczenie na ocenę*

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

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017

Zagadnienia egzaminacyjne INFORMATYKA. stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

KARTA MODUŁU KSZTAŁCENIA

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

Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż.

STUDIA STACJONARNE I STOPNIA Przedmioty kierunkowe

Modelowanie i analiza systemów informatycznych

Analiza i programowanie obiektowe 2016/2017. Wykład 6: Projektowanie obiektowe: diagramy interakcji

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

Gry społecznościowe. wykład 0. Joanna Kołodziejczyk. 24 lutego Joanna Kołodziejczyk Gry społecznościowe 24 lutego / 11

Modelowanie. Wykład 1: Wprowadzenie do Modelowania i języka UML. Anna Kulig

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

Kierunek: INFORMATYKA. Studia stacjonarne. Studia drugiego stopnia. Profil: ogólnoakademicki

Zakres wykładu. Podstawy InŜynierii Oprogramowania

WPROWADZENIE DO UML-a

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

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

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

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

Część I - Załącznik nr 7 do SIWZ. Warszawa. 2011r. (dane Wykonawcy) WYKAZ OSÓB, KTÓRYMI BĘDZIE DYSPONOWAŁ WYKONAWCA DO REALIZACJI ZAMÓWIENIA

PRZEWODNIK PO PRZEDMIOCIE

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

Etapy życia oprogramowania

Diagramy czynności Na podstawie UML 2.0 Tutorial

12) Wadą modelu kaskadowego jest: Zagadnienia obowiązujące na egzaminie z inżynierii oprogramowania: 13) Wadą modelu opartego na prototypowaniu jest:

Katedra Inżynierii Oprogramowania Tematy prac dyplomowych inżynierskich STUDIA NIESTACJONARNE (ZAOCZNE)

Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty

Literatura. J. Nilsson: Applying Domain-Driven Design and Patterns,With Examples in C# and.net, Addison-Wesley Professional, 2006

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

PROJEKT Z BAZ DANYCH

Michał Adamczyk. Język UML

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

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

Wstęp do zarządzania projektami

PRZEWODNIK PO PRZEDMIOCIE

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia)

STUDIA NIESTACJONARNE I STOPNIA Przedmioty kierunkowe

Prezentacja specjalności studiów II stopnia. Inteligentne Technologie Internetowe

Razem godzin w semestrze: Plan obowiązuje od roku akademickiego 2016/17 - zatwierdzono na Radzie Wydziału w dniu r.

UML w Visual Studio. Michał Ciećwierz

Pytania z przedmiotów kierunkowych

Spring Framework - wprowadzenie i zagadnienia zaawansowane

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Wstęp do zarządzania projektami

poziom: Core wersja: 2.6 moduł: B : Wytwarzanie SYLLABUS

POLITECHNIKA LUBELSKA Wydział Elektrotechniki Kierunek: INFORMATYKA II stopień niestacjonarne i Informatyki. Część wspólna dla kierunku

Mariusz Trzaska Modelowanie i implementacja systemów informatycznych

Wytwarzanie oprogramowania

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

Oceny z prezentacji INKU011S. Zofia Kruczkiewicz

Modelowanie i analiza systemów informatycznych

Spis treúci. 1. Wprowadzenie... 13

EJB 3.0 (Enterprise JavaBeans 3.0)

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

Przedsięwzięcia Informatyczne w Zarządzaniu

Programowanie sieciowe Network programming PRZEWODNIK PO PRZEDMIOCIE

problem w określonym kontekście siły istotę jego rozwiązania

Projekt INP Instrukcja 1. Autor Dr inż. Zofia Kruczkiewicz

Model referencyjny doboru narzędzi Open Source dla zarządzania wymaganiami

INŻYNIERIA OPROGRAMOWANIA

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

RADA WYDZIAŁU Elektroniki i Informatyki. Sprawozdanie z realizacji praktyk studenckich na kierunku Informatyka w roku akademickim 2017/18

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

Transkrypt:

Wykład 1 Inżynieria Oprogramowania Wstęp do inżynierii oprogramowania. Cykle rozwoju oprogramowaniaiteracyjno-rozwojowy cykl oprogramowania Autor: Zofia Kruczkiewicz

System Informacyjny =Techniczny SI zorganizowany zespółśrodków technicznych (komputerów, oprogramowania, urządzeń teletransmisyjnych itp.) służący do gromadzenia, przetwarzania i przesyłania informacji Nieformalny system informacyjny: zasoby osobowe - ludzie Formalny system informacyjny: procedury zarządzania, bazy wiedzy Techniczny system informacyjny: Sprzęt Oprogramowanie Bazy danych, bazy wiedzy System informatyczny jest to zbiór powiązanych ze sobą elementów nieformalnych, formalnych i technicznych, którego funkcją jest przetwarzanie danych przy użyciu techniki komputerowej

I. Obszar inżynierii oprogramowania Charakterystyka kryzysu oprogramowania: 1. Przekraczanie terminów 1.1. brak właściwych technik budowy oprogramowania 1.2. brak właściwych języków programowania umożliwiających specyfikacje oprogramowania i tworzenie kodu źródłowego 1.3. brak doświadczeń w tworzeniu zespołów specjalistów, zajmujących się tworzeniem programów 1.4. nieumiejętne kierowanie przedsięwzięciem programistycznym 2. Przerywanie prac z powodu utraty aktualności przez realizowany projekt 2.1. wydłużony czas tworzenia oprogramowania, 2.2. szybki rozwój sprzętu 3. Tworzenie programów niezgodnych z wymaganiami klienta 3.1. brak właściwego sposobu porozumiewania się klienta z zespołem informatyków 3.2. brak odpowiednich norm jakości oprogramowania 3.3. niska niezawodność sprzętu i oprogramowania

Źródła powstania inżynierii oprogramowania - działu informatyki: metody opanowania kryzysu oprogramowania, trwającego od połowy lat sześćdziesiątych tworzenie oprogramowania na skalę produkcyjną. Inżynieria oprogramowania jest wiedzą techniczną, która zajmuje się: procesem wytwarzania (produkcją) oprogramowania i jakością tego procesu budową oprogramowania i jakością oprogramowania (czyli uzyskanego produktu)

II. Zagadnienia inżynierii oprogramowania 1. Zarządzanie przedsięwzięciem programistycznym obejmujące: 1.1. techniki planowania, szacowania kosztów, harmonogramowania i monitorowania 1.2. sposoby przygotowania dokumentacji technicznej i użytkowej 1.3. techniki pracy zespołowej 1.4. określanie poziomu umiejętności specjalistów 1.5. zastosowanie narzędzi CASE (Computer Aided System Engineering) 2. Metody analizy, projektowania i implementacji (programowania)

3. Pomiary oprogramowania 3.1. Wyznaczanie i badanie atrybutów wewnętrznych oprogramowania obejmujących właściwości struktury oprogramowania metryki oprogramowania 3.2. Wyznaczanie i badanie atrybutów zewnętrznych oprogramowania: 3.2.1. jakości oprogramowania, obejmującej:» niezawodność (testowalność)» konserwowalność» zrozumiałość» wieloużywalność» stopień osiągniętej abstrakcji 3.2.2. funkcjonalności 3.3.3. kosztu

4. Kształtowanie jakości oprogramowania: 4.1. sposoby poprawy niezawodności, konserwowalności, wieloużywalności, zrozumiałości, stopnia osiągniętej abstrakcji 4.2. sposoby testowania i walidacji systemów 4.3. badanie zależności między atrybutami wewnętrznymi i jakością oprogramowania (wyrażoną za pomocą atrybutów zewnętrznych oprogramowania) 5. Rozwój środowisk i narzędzi programistycznych

Warstwy aplikacji (Java EE)*

Pięciowarstwowy model logicznego rozdzielania zadań (wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.) Warstwa klienta Klienci aplikacji, aplety, aplikacje i inne elementy z graficznym interfejsem użytkownika Interakcja z użytkownikiem, urządzenia i prezentacja interfejsu użytkownika Warstwa prezentacji Strony JSP, serwlety i inne elementy interfejsu użytkownika Warstwa biznesowa Komponenty EJB i inne obiekty biznesowe Logowanie, zarządzanie sesją, tworzenie zawartości, formatowania i dostarczanie Logika biznesowa, transakcje, dane i usługi Warstwa integracji JMS, JDBC, konektory i połączenia z systemami zewnetrznymi Warstwa zasobów Bazy danych, systemy zewnętrzne i pozostałe zasoby Adaptery zasobów, systemy zewnętrzne, mechanizmy zasobów, przepływ sterowania Zasoby, dane i usługi zewnętrzne

III. Modele procesu wytwarzania oprogramowania - czyli modele cyklu życia oprogramowania Tworzenie systemu informacyjnego jest powiązane z: budową oprogramowania: co i jak wykonać? zarządzaniem procesem tworzenia oprogramowania: kiedy wykonać? wdrażaniem oprogramowania Modelowanie struktury i dynamiki systemu ( diagramy UML ) Implementacja struktury ( diagramy, i dynamiki systemu generowanie kodu UML) co należy wykonać? jak należy wykonać? model przedsiębiorstwa wymagania analiza (model konceptualny ) testy modelu projektowanie (model projektowy: architektura sprzętu i oprogramowania; dostęp użytkownika; przechowywanie danych) testy projektu programowanie (specyfikacja programu : deklaracje, definicje; dodatkowe struktury danych: struktury pojemnikowe, pliki, bazy danych) testy oprogramowania wdrażanie testy wdrażania

Co i jak wykonać? - perspektywy projektowania obiektowych systemów informacyjnych (wg Alan Shalloway, James R.Trott) koncepcji ( co obiekty powinny powinny robić?) specyfikacji interfejsów ( jak używać obiektów?) implementacji ( w jaki sposób zaimplementować interfejs?) (model analizy) (model projektowy) (implementacja) tworzenia i zarządzania obiektami (implementacja) (obiekt A tworzy lub zarządza obiektem B ) używania obiektów ( obiekt A tylko używa obiektu B; (implementacja) Niedozwolone jest, aby obiekt A używał i jednocześnie tworzył obiekty)

Metoda identyfikacji obiektów i klas Analiza wspólności Perspektywa koncepcji Klasa abstrakcyjna +Metody() Analiza zmienności Perspektywa specyfikacji Perspektywa implementacji Klasa konkretna1 +Metody() Klasa konkretna2 +Metody() Związek między perspektywą specyfikacji, koncepcji i implementacji

Przepływ działań M odelow anie przedsiębiorstw a W ym agania A naliza, Projektow anie Program ow anie Testow anie W drożenie Zarządzanie zm ianam i Zarządzanie przedsięw zięciem Zunifikowany iteracyjno- przyrostowy proces tworzenia oprogramowania kiedy? E tap1: Początek E tap2: O pracow anie B udow a Zakończenie Środow isko 1-a 2-a - - - - - n-1 n Iteracje (czas )

Rola diagramów UML 2 praca zespołowa pokonanie złożoności projektu formalne, precyzyjne prezentowanie projektu tworzenie wzorca projektu możliwość testowania oprogramowania we wczesnym stadium jego tworzenia

UML język wspierający zunifikowany iteracyjno - przyrostowy proces tworzenia oprogramowania Diagramy UML modelowania strukturalnego Diagramy pakietów Diagramy klas Diagramy obiektów Diagramy mieszane Diagramy komponentów Diagramy wdrożenia

Diagramy UML modelowania zachowania Diagramy przypadków użycia Diagramy aktywności Diagramy stanów Diagramy komunikacji Diagramy sekwencji Diagramy czasu Diagramy interakcji