Inżynieria Oprogramowania Wykład 01 - Wprowadzenie

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

Egzamin / zaliczenie na ocenę*

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

Techniki modelowania programów Kod przedmiotu

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

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

PRZEWODNIK PO PRZEDMIOCIE

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

PRZEWODNIK PO PRZEDMIOCIE

Technologie obiektowe Object-oriented technologies. Informatyka II stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Analiza i projektowanie obiektowe w UML Kod przedmiotu

PRZEWODNIK PO PRZEDMIOCIE

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

PRZEWODNIK PO PRZEDMIOCIE

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

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

KARTA MODUŁU KSZTAŁCENIA

KARTA PRZEDMIOTU. Projekt zespołowy D1_10

KARTA PRZEDMIOTU. Projektowanie systemów czasu rzeczywistego D1_13

PRZEWODNIK PO PRZEDMIOCIE

Inżynieria oprogramowania - opis przedmiotu

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA Bieżący sylabus w semestrze zimowym roku 2016/17

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

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

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Metody drążenia danych D1.3

Kierunkowy Wybieralny Polski Semestr V

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

E-1EZ1-03-s2. Elektrotechnika I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

KARTA PRZEDMIOTU. Systemy czasu rzeczywistego: D1_9

PRZEWODNIK PO PRZEDMIOCIE

Elektrotechnika I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny) niestacjonarne (stacjonarne / niestacjonarne)

Automatyka i Robotyka I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny)

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

Kierunkowy Wybieralny Polski Semestr V

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

Inżynieria oprogramowania I

Opis efektów kształcenia dla modułu zajęć

INFORMATYKA PLAN STUDIÓW NIESTACJONARNYCH (W UKŁADZIE ROCZNYM) STUDIA ROZPOCZYNAJĄCE SIĘ W ROKU AKADEMICKIM

E-I2S-2001-s1. Informatyka II stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

Informatyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) stacjonarne (stacjonarne / niestacjonarne)

Informatyka II stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja. Nazwa przedmiotu: Język programowania C++

Inżynieria oprogramowania

INŻYNIERIA OPROGRAMOWANIA

Rok akademicki: 2012/2013 Kod: IET SW-s Punkty ECTS: 3. Kierunek: Elektronika i Telekomunikacja Specjalność: Systemy wbudowane

NAZWA PRZEDMIOTU/MODUŁU KSZTAŁCENIA:

INFORMATYKA. PLAN STUDIÓW STACJONARNYCH I-go STOPNIA (W UKŁADZIE SEMESTRALNYM) STUDIA ROZPOCZYNAJĄCE SIĘ W ROKU AKADEMICKIM

Projekt systemu informatycznego

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

Z-ZIP2-119z Inżynieria Jakości Quality Engineering

Inżynieria Jakości Quality Engineering. Zarządzanie i Inżynieria Produkcji II stopień Ogólnoakademicki

INFORMATYKA. PLAN STUDIÓW STACJONARNYCH INŻYNIERSKICH 1-go STOPNIA STUDIA ROZPOCZYNAJĄCE SIĘ W ROKU AKADEMICKIM 2019/2020.

PRZEWODNIK PO PRZEDMIOCIE

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Algorytmy i struktury danych

Informatyka I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny) niestacjonarne (stacjonarne / niestacjonarne)

E-2IZ1-03-s3. Informatyka I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny)

PRZEWODNIK PO PRZEDMIOCIE

INFORMATYKA PLAN STUDIÓW NIESTACJONARNYCH. Podstawy programowania Systemy operacyjne

INFORMATYKA. PLAN STUDIÓW NIESTACJONARNYCH 1-go STOPNIA STUDIA ROZPOCZYNAJĄCE SIĘ W ROKU AKADEMICKIM 2016/17. zajęć w grupach A K L S P

PRZEWODNIK PO PRZEDMIOCIE

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

E-1IZ s2. Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

PRZEWODNIK PO PRZEDMIOCIE

Programowanie obiektowe 1 - opis przedmiotu

PRZEWODNIK PO PRZEDMIOCIE

Inżynieria Bezpieczeństwa I stopień (I stopień / II stopień) ogólnoakademicki (ogólnoakademicki / praktyczny)

PRZEWODNIK PO PRZEDMIOCIE

Opis efektów kształcenia dla modułu zajęć

edycja 1 opracowany zgodnie z Zarządzeniami Wewnętrznymi PWr. nr 14/2012 i 15/2012 i 34/2012

PRZEWODNIK PO PRZEDMIOCIE

Inżynieria Jakości. Wzornictwo przemysłowe I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

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

Język programowania C C Programming Language. ogólnoakademicki

Wykład 1 Inżynieria Oprogramowania

INFORMATYKA. PLAN STUDIÓW NIESTACJONARNYCH INŻYNIERSKICH 1-go STOPNIA STUDIA ROZPOCZYNAJĄCE SIĘ W ROKU AKADEMICKIM 2018/19.

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Przedmioty kierunkowe

Projekt grupowy - opis przedmiotu

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

Niestacjonarne Inżynieria Zarządzania Katedra Automatyki i Robotyki Dr D. Janecki. Specjalnościowy Obowiązkowy Polski Semestr drugi

Specjalnościowy Obowiązkowy Polski Semestr 5

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

INFORMATYKA P L AN S T U DIÓW ST AC J O N AR N Y C H ( W UKŁAD Z I E S EMESTR AL N Y M ) Podstawy programowania

Rok akademicki: 2012/2013 Kod: ZIE s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

E-I2SG-2010-s1. Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Modelowanie i analiza systemów informatycznych

WYKAZ PRZEDMIOTÓW I PLAN REALIZACJI

Inżynieria Jakości Quality Engineering. Transport I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

APLIKACJE KLIENT-SERWER Client-Server Applications Forma studiów: Stacjonarne Poziom kwalifikacji: I stopnia. Liczba godzin/tydzień: 2W, 2L

INFORMATYKA. PLAN STUDIÓW STACJONARNYCH INŻYNIERSKICH 1-go STOPNIA STUDIA ROZPOCZYNAJĄCE SIĘ W ROKU AKADEMICKIM 2018/19.

Z-ID-404 Bezpieczeństwo danych w systemach. informatycznych

KARTA PRZEDMIOTU. Techniki przetwarzania sygnałów, D1_3

KARTA PRZEDMIOTU. 1. NAZWA PRZEDMIOTU: Zespołowy projekt informatyczny. 2. KIERUNEK: Matematyka. 3. POZIOM STUDIÓW: I stopnia

Opis efektów kształcenia dla modułu zajęć

Programowanie w Javie nazwa przedmiotu SYLABUS A. Informacje ogólne

Elektrotechnika I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) Niestacjonarne (stacjonarne / niestacjonarne)

Inżynieria Jakości Quality Engineering. Inżynieria Bezpieczeństwa I stopień (I stopień / II stopień) ogólnoakademicki (ogólnoakademicki / praktyczny)

Procesy i systemy dynamiczne Nazwa przedmiotu SYLABUS A. Informacje ogólne

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2015/2016

INFORMATYKA. PLAN STUDIÓW STACJONARNYCH 1-go STOPNIA (W UKŁADZIE SEMESTRALNYM) STUDIA ROZPOCZYNAJĄCE SIĘ W ROKU AKADEMICKIM A K L S P

Transkrypt:

Inżynieria Oprogramowania Wykład 01 - Wprowadzenie MIS-1-502-s MIO-1-505-s MIS-1-505-n Kazimierz Michalik Wydział Inżynierii Metali i Informatyki Przemysłowej Katedra Informatyki Stosowanej i Modelowania Kraków 2014-2015 www.agh.edu.pl

Pojęcie podstawowe Oprogramowanie (software) pojęcie podstawowe (do oprogramowania włącza się niekiedy, oprócz plików binarnych i i z kodem źródłowym, także dokumentację, pliki konfiguracyjne, przykładowe dane itp..) Inżynieria oprogramowania (Software Engineering) dziedzina inżynierii związana z wytwarzaniem oprogramowania we wszystkich jego fazach cyklu życia. Jako dziedzina inżynierii, IO IO rozważa w kontekście praktycznym rozmaite aspekty wytwarzania oprogramowania (techniczny, organizacyjny, finansowy itp..)

Cele inżynierii oprogramowania Cel Cel podstawowy: podstawowy: Dostarczenie Dostarczenie zasad zasad organizacji organizacji procesu procesu wytwarzania wytwarzania oprogramowania oprogramowania (sofware (sofware development) development) w oparciu oparciu o istniejące istniejące teorie, teorie, modele, modele, metody metody i i narzędzia narzędzia (formalne (formalne lub lub nieformalne). nieformalne). W końcowym końcowym efekcie efekcie proces proces wytwarzania wytwarzania oprogramowania oprogramowania ma ma w sposób sposób efektywny efektywny doprowadzić doprowadzić do do powstania powstania produktu produktu wysokiej wysokiej jakości jakości Inżynieria Inżynieria oprogramowania oprogramowania jest jest częścią częścią szerszej szerszej dyscypliny: dyscypliny: inżynierii inżynierii systemów systemów (system (system engineering), engineering), w jej jej aspekcie aspekcie dotyczącym dotyczącym oprogramowania. oprogramowania.

Problemy inżynierii oprogramowania Złożoność programów Złożoność systemów, w ramach ramach których których funkcjonują programy programy (ludzie, (ludzie, sprzęt, sprzęt, instytucje, procesy procesy produkcyjne etc.) etc.) Zmienność systemów Złożoność procesów procesów składających się się na na wytwarzanie oprogramowania (( w przeciwieństwie do do prostoty prostoty pisania pisania samego samego kodu) kodu) Łatwość Łatwość i i praktyczna nieuniknioność popełniania błędów błędów przy przy wytwarzaniu oprogramowania

Cechy dobrego oprogramowania Wg. Wg. Sommerville'a: Poprawność, zgodność zgodność z wymaganiami użytkowników Łatwość Łatwość pielęgnacji (konserwacji) i i dokonywania zmian zmian Niezawodność (dostępność i i pewność) pewność) Bezpieczeństwo (w (w obu obu znaczeniach safety, safety, security) security) Wydajność, efektywne korzystanie z zasobów zasobów Łatwość Łatwość stosowania, ergonomiczność

Historia Inżynierii Oprogramowania: Prehistoria. II wojna światowa. ABC (us.), Electronic Numerical Integrator And Computer(us.), Colossus(uk.), Konrad Zuse(de.) Nowe komputery (architekturalnie) pojawiają się w odstępach paru lat. Całe oprogramowanie musi być przepisane/napisane na nowo dla nowych maszyn Czasy kart perforowanych i wydruków z wynikami. Program = Algorytm. 1945: Architektura von Neumanna

Historia Inżynierii Oprogramowania: Prehistoria. II wojna światowa.

Historia Inżynierii Oprogramowania: 1945 1965: Narodziny Język Język programowania: programowania: Komputery, Komputery, wraz wraz z z oprogramowaniem, oprogramowaniem, są są stworzone stworzone do do konkretnych konkretnych celów celów i i rodzaju rodzaju obliczeń. obliczeń. Ciągła Ciągła potrzeba potrzeba przepisywania przepisywania programów programów doprowadza doprowadza do do powstania powstania języków języków programowania programowania Oprogramowanie Oprogramowanie było było darmowe darmowe Era Era freeware: freeware: Wydawcy Wydawcy tworzyli tworzyli otwarte otwarte repozytoria z oprogramowaniem Na Na uniwersytetach nie nie istnieje istnieje taki taki przedmiot przedmiot jak jak Informatyka (Inżynieria Oprogramowania też też oczywiście oczywiście nie) nie)

Historia Inżynierii Oprogramowania: 1965-1985: Kryzys oprogramowania Przekraczanie budżetu o miliony dolarów (OS/360) Przekraczanie czasu na przykład 10 lat Uszkodzenie mienia w wyniku błędów programu (Mariner 1) Zagrożenie zdrowia i życia np.: śmierć w wyniku napromieniowania (Therac-25), błędu systemu kierowania ogniem (MIM-104 Patriot)

Historia Inżynierii Oprogramowania: 1968-1969: Software engineering Software Software Engineering: Report Report of of a conference sponsored by by the the NATO NATO Science Science Committee,, Garmisch, Germany: Scientific Scientific Affairs Affairs Division, Division, NATO. NATO. E.W. E.W. Dijkastra Dijkastra Go Go To To Statement Considered Harmful Harmful 1969: 1969: Termin Termin Inżynieria Inżynieria Oprogramowania ujrzał ujrzał światło światło dzienne dzienne Wczesne Wczesne lata lata '80: '80: Inżynieria Inżynieria Oprogramowania staje staje się się wyróżnialnym zawodem zawodem plasującym się się między między informatyką a Inżynierią Inżynierią

Historia Inżynierii Oprogramowania: 1965-1985: Wciąż kryzys oprogramowania 1972: D.Parnas On the Criteria To Be Used in Decomposing Systems into Modules Programowanie modułowe i abstrakcyjne typy danych były już używane. Późne lata '80: Koszty utrzymania oprogramowania 2x wyższe niż koszt stworzenia nowego. Wczesne lata '90: Koszty utrzymania nadal wzrastają o kolejne 30% 1995: 50% programów uznawanych za porażkę, mimo teoretycznie poprawnego działania Przeciętny projekt przekracza wyznaczony czas o 50%!

Historia Inżynierii Oprogramowania: 1985-1989: Brak panaceum Propozycje rozwiązania problemów: Narzędzia: różne sposoby programowania (strukturalne, OO), CASE, dokumentacja, standardy Dyscyplina pracy programistów. Metody formalne z inżynierii. Proces wytwarzania oprogramowania ( Capability Maturity Model) Etyka pracy, licencje, profesjonalizm. 1986, 1986, Fred Fred Brooks, Brooks, No No Silver Silver Bullet Bullet Brak Brak cudownego cudownego leku, leku, ale ale Inżynieria Inżynieria Oprogramowania ma ma sens! sens!

Historia Inżynierii Oprogramowania: 1990 2000: Orientowane Obiektowo Intensywne użytkownie CASE Projektowanie O.O. Narzędzia do inżynierii wymagań Wzrost popularności architektur rozproszonych Universal Markup Language (UML) Java

Historia Inżynierii Oprogramowania: 2000+ : Współczesność Zintegrowane środowiska programistyczne (IDE) UML 2.0 Lekkie języki skryptowe Metodologie lekkie Zaawansowane metodologie hybrydowe Nowe platformy i języki: C# etc.

Czynności w czasie produkcji oprogramowania Inżynieria oprogramowania stara się zidentyfikować i opisać podstawowe fazy tworzenia i funkcjonowania oprogramowania, a także wskazać model optymalnego przebiegu tych faz. Co Co można można robić robić w czasie czasie tworzenia tworzenia oprogramowania? Planowanie Implementacja Testowanie Dokumentowanie Wdrożenie Utrzymanie (konserwacja).

Warto przeczytać Sommerville I.: Inżynieria oprogramowania 8-th ed., Addison-Wesley, 2006 (wyd.6, WNT, 2003) Hunt A., Thomas D.: The Pragmatic Programmer: From Journeyman to Master Yourdon, E.: Marsz ku klęsce. Poradnik dla projektantów systemów. WNT, 2007 Booch G., Jacobson I., Rumbaugh J.: UML przewodnik użytkownika WNT 2002 Gamma E., Helm R., Johnson R., Vlissides J.: Wzorce projektowe. Elementy programowania obiektowego wielokrotnego użytku, WNT 2005 Sacha K.: Inżynieria oprogramowania, Wydawnictwo Naukowe PWN, 2010 Steve McConnel: Kod doskonały. Jak tworzy c oprogramowanie pozbawione błędów. Wydanie II Martin Fowler: UML Distilled Brooks, Mityczny osobomiesiąc: eseje o inżynierii oprogramowania. WNT, 2000 www.agh.edu.pl

Warunki zaliczenia przedmiotu (1) Sposób obliczania oceny końcowej: Średnia ważona ocen z egzaminu (66%) i projektu (34%) po uzyskaniu co najmniej 3.0 z każdej z nich Wymagania wstępne i dodatkowe: Programowanie w języku obiektowym Nakład pracy studenta (bilans punktów ECTS): Udział w wykładach Udział w ćwiczeniach projektowych Przygotowanie do zajęć Wykonanie projektu Samodzielne studiowanie tematyki zajęć Sumaryczne obciążenie pracą studenta Punkty ECTS za moduł 30 godz 30 godz 30 godz 30 godz 30 godz 150 godz 6 ECTS WARUNKI UZYSKANIA ZALICZENIA: (Regulamin studiów 13, pkt 1:) 91 100% bardzo dobry (5.0); 81 90% plus dobry (4.5); 71 80% dobry (4.0); 61 70% plus dostateczny (3.5); 50 60% dostateczny (3.0); poniżej 50% niedostateczny (2.0). PUNKTACJA: nominalnie jest do zdobycia 100 punktów www.agh.edu.pl

Warunki zaliczenia projektu (2) PUNKTACJA: nominalnie jest do zdobycia 100 punktów Wykłady: (DODATKOWO!) Wykład Semestr za aktywne uczestnictwo w wykładzie 1 pkt 15 pkt Zajęcia projektowe: Zajęcia Semestr za poprawne przygotowanie do zajęć 0 do 2 pkt 30 pkt za punktualną obecność i wykonywanie zadań 0 do 1 pkt 15 pkt (albo za spóźnienie do 15tu minut i wykonywanie zadań 0 do 0,5 pkt 7,5 pkt) za poprawne i samodzielne ukończenie zadań na zajęciach 0 do 2 pkt 30 pkt rozliczanie projektów na koniec listopada 0 do 10 pkt 10 pkt rozliczanie projektów na koniec semestru 0 do 15 pkt 15 pkt W SUMIE 100 pkt www.agh.edu.pl

Warunki zaliczenia projektu (3) Terminy poprawkowe: Termin W sumie Przysługują tylko tym, którzy: - nie uzyskali zaliczenia w poprzednim terminie i -- byli na przynajmniej 7 zajęciach w semestrze lub -- przedłożyli w wymaganym terminie usprawiedliwienie większej ilości nieobecności. I popr. II popr. za wykonanie zadań z tematów, w których student nie wykazał się wiedzą w czasie semestru za wykonanie zadań z tematów, w których student nie wykazał się wiedzą w czasie semestru i I terminu poprawkowego. 25 pkt 25 pkt W SUMIE DODATKOWO 50 pkt

Warunki zaliczenia egzaminu (4) Warunkiem przystąpienia do egzaminu jest pozytywna ocena z zajęć projektowych. Egzamin trzeba po prostu zdać (50%+). Jeżeli w czasie semestru ktoś zdobędzie więcej niż 100 pkt, to dodatkowe punkty są doliczane do wyniku egzaminu. Jakie Jakie jest jest absolutne absolutne minimum, minimum, żeby żeby zdać zdać egzamin egzamin na na 50%? 50%? W każdym każdym wykładzie, wykładzie, treści treści absolutnie absolutnie wymagane wymagane do do zdania zdania egzaminu egzaminu na na 3.0 3.0 będą będą wyróżnione wyróżnione w ramkach ramkach koloru koloru czerwonego. czerwonego. (Technicznie (Technicznie jest jest to to odcień odcień bladopomarańczowego, bladopomarańczowego, ale ale jestem jestem pewien, pewien, że że zorientujecie zorientujecie się się które które to to są są ramki.) ramki.)

Dziękuję za uwagę W przypadku sugestii, pytań lub spostrzeżenia błędów: kontakt mailowy to kamich@agh.edu.pl