Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 1

Slides:



Advertisements
Podobne prezentacje
Technologia informacyjna według MENiS
Advertisements

Projektowanie w cyklu życia oprogramowania
Katedra Mikroelektroniki i Technik Informatycznych Politechniki Łódzkiej Inżynieria oprogramowania (IO) Wykłady: mgr inż. Sławomir Wróblewski Godziny przyjęć:
Złożoność procesu konstrukcji oprogramowania wymusza podział na etapy.
Role w zespole projektowym
Zarządzanie projektem informatycznym
Inżynieria Oprogramowania 1. Wstęp
Wydział Zastosowań Informatyki i Matematyki SGGW
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Prototypowanie oprogramowania l Błyskawiczne tworzenie oprogramowania służące.
Propozycja metodyki nauczania inżynierii oprogramowania
SYSTEM ZARZĄDZANIA JAKOŚCIĄ
Wartość czynności doradczych audytu Agata Kumpiałowska
Definicje operacji.
Cykle życia oprogramowania
Ku nowej ekonomii politycznej
Inżynieria Oprogramowania dla Fizyków
Normy praktyki zawodowej
Jakość systemów informacyjnych (aspekt eksploatacyjny)
Projektowanie i programowanie obiektowe II - Wykład IV
Współpraca tłumacza z BT przed zdobyciem i po zdobyciu certyfikatu normy PN:EN Autor: Magdalena Gałczyńska Firma: BTInfo Biuro Tłumaczeń Informatycznych.
Praca Inżynierska „Analiza i projekt aplikacji informatycznej do wspomagania wybranych zadań ośrodków sportowych” Dyplomant: Marcin Iwanicki Promotor:
Proces tworzenia oprogramowania
Dalsze elementy metodologii projektowania. Naszym celem jest...
Analiza, projekt i częściowa implementacja systemu obsługi kina
Wykład 2 Cykl życia systemu informacyjnego
Psychologiczne aspekty pracy testera oprogramowania
C.d. wstępu do tematyki RUP
© Victo Testowanie dla menedżerów Wersja TDM Slajd 1 (27) Testowanie oprogramowania dla menedżerów Co menedżerowie i kierownicy naprawdę potrzebują
Nowoczesne technologie w edukacji Andrzej Matuła
1 Prawo energetyczne Założenia zmian do systemu kwalifikacji osób oraz ich spójność z przepisami UE i systemami kwalifikacji w krajach UE Ministerstwo.
Wykład 1 – część pierwsza
Wanda Klenczon Biblioteka Narodowa
Microsoft Solution Framework
Zarządzanie jakością projektu
Rozwiązania informatyczne dla przedsiębiorstw
Metodyka nauczania informatyki
Metodyki zarządzania projektami
dr hab., prof. UW Barbara Tryjarska
POŚREDNIK Jak reprezentowana jest informacja w komputerze? liczby – komputer został wymyślony jako zaawansowane urządzenie służące do wykonywania.
Planowanie przepływów materiałów
Proces tworzenia oprogramowania
KONTROLA ZARZĄDCZA - 1 Kontrolę zarządczą stanowi ogół
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
PROCESY W SYSTEMACH SYSTEMY I PROCESY.
Komputerowe wspomaganie projektowania
Waterfall model.
przedmiot i metody analizy
Zarządzanie zagrożeniami
ŁUKASZ DZWONKOWSKI Modele zwinne i ekstremalne. Podejście tradycyjne
Inżynieria oprogramowania
Proces tworzenia oprogramowania Proces tworzenia oprogramowania jest zbiorem czynności i związanych z nimi wyników, które prowadzą do powstania produktu.
Systemy informatyczne
Humanistyczne aspekty zarządzania jakością
WYŻSZA SZKOŁA INFORMATYKI I ZARZĄDZANIA z siedzibą w Rzeszowie WYŻSZA SZKOŁA INFORMATYKI I ZARZĄDZANIA z siedzibą w Rzeszowie 11 WYŻSZA SZKOŁA INFORMATYKI.
Podstawy zarządzania projektami Karta projektu
ZASTOSOWANIE KOMPUTEROWEGO WSPOMAGANIA W ZARZĄDZANIU JAKOŚCIĄ - METODY FMEA I QFD Politechnika Śląska, Wydział Organizacji i Zarządzania, Katedra Zarządzania.
Eksploatacja zasobów informatycznych przedsiębiorstwa.
Projektowanie obiektowe. Przykład: Punktem wyjścia w obiektowym tworzeniu systemu informacyjnego jest zawsze pewien model biznesowy. Przykład: Diagram.
Nie jesteśmy w stanie odpowiedzieć na wszystkie wyzwania... ~ … ale jesteśmy Nie jesteśmy w stanie odpowiedzieć na wszystkie wyzwania... ~ … ale jesteśmy.
Ergonomia procesów informacyjnych
Logical Framework Approach Metoda Macierzy Logicznej
KULTURA I ETYKA W PRACY BIUROWEJ
Zasady etyki prawniczej
Społeczna odpowiedzialność organizacji Zmiany zachodzące w otoczeniu współczesnych organizacji powodują, że ulegają zmianie społeczne oczekiwania wobec.
Pod koniec 2004 roku rozpoczęło swoją działalność Centrum Inżynieryjne, gdzie obecnie zatrudnionych jest ponad 200 inżynierów. Zadaniem Centrum Inżynieryjnego.
Zarządzanie projektami informatycznymi
Wykład 1 – część pierwsza
IEEE SPMP Autor : Tomasz Czwarno
JavaBeans by Paweł Wąsala
Zapis prezentacji:

Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 1 Wstęp Zaczynamy zajęcia z podstaw inżynierii oprogramowania Slajdy na podstawie podręcznika Iana Sommerville’a Inżynieria oprogramowania WNT 2003 Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 1

Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 2 Cele Zapoznanie się z inżynierią oprogramowania i wyjaśnienie jej znaczenia Odpowiedzenie na podstawowe pytania dotyczące inżynierii oprogramowania Wprowadzenie do zagadnień etycznych i zawodowych i wyjaśnienie dlaczego one są istotne w inżynierii oprogramowania Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 2

Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 3 Zawartość Podstawowe zagadnienie w inżynierii oprogramowania Etyczna i zawodowa odpowiedzialność Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 3

Inżynieria oprogramowania Gospodarki wszystkich rozwiniętych krajów zależą od oprogramowania Coraz więcej i więcej systemów wymaga niezawodnego oprogramowania Inżynieria oprogramowania zajmuje się teorią, metodami i narzędziami związanymi z wytwarzaniem oprogramowania Obecnie wytwarzanie oprogramowania jest poważną gałęzią gospodarki narodowej rozwiniętego kraju Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 4

Koszty oprogramowania Koszty oprogramowania są często dominującym składnikiem kosztów całego systemu. Zdarza się, że koszt oprogramowania znacznie przekracza samą wartość sprzętu komputerowego np. komputera osobistego. Koszt utrzymania i konserwacji oprogramowania jest większy niż koszt jego wytworzenia. Wieloletnia konserwacja oprogramowania może kosztować wielokrotnie więcej niż jego zakup. Inżynieria oprogramowania zajmuje się efektywnymi metodami wytwarzania i implementowania oprogramowania. Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 5

FAQ o inżynierii oprogramowania Co to jest jest oprogramowanie? Co to jest inżynieria oprogramowania ? Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką ? Jaka jest różnica pomiędzy inżynierią a inżynierią systemów oprogramowania ? Co to jest proces tworzenia oprogramowania ? Co to jest model procesu tworzenia oprogramowania ? Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 6

FAQ o inżynierii oprogramowania Jakie są koszty inżynierii oprogramowania ? Co to jest CASE (Computer-Aided Software Engineering) ? Jakie właściwości ma dobre oprogramowanie ? Jakie są najistotniejsze wyzwania dla inżynierów oprogramowania ? Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 7

Co to jest oprogramowanie ? Są to programy komputerowe, cała związana z nimi dokumentacja i dane konfiguracyjne Rodzaje produktów oprogramowania Powszechne Dostosowane (na zamówienie) Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 8

Co to jest inżynieria oprogramowania? Jest to dziedzina inżynierii, która obejmuje wszystkie aspekty tworzenia oprogramowania od fazy początkowej do jego pielęgnacji Inżynierowie oprogramowania pracują w sposób systematyczny i uporządkowany ponieważ jest to najskuteczniejszy sposób tworzenia oprogramowania wysokiej jakości Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 9

Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyka ? Zasadniczo informatyka obejmuje teorie i podstawowe zasady działania komputerów. Inżynieria oprogramowania obejmuje praktyczne problemy związane z tworzeniem oprogramowania Byłoby dobrze gdyby inżynier programowania znał teorie informatyczne, z drugiej strony nie zawsze przystają one do rzeczywistości Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 10

Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 11 Jaka jest różnica pomiędzy inżynierią oprogramowania a inżynierią systemów? Inżynieria systemów komputerowych obejmuje wszystkie aspekty tworzenia i ewolucji systemów komputerowych, w których oprogramowanie odgrywa zasadniczą rolę. Inżynierowie systemów biorą udział w specyfikacji systemu i definiowania jego ogólnej architektury Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 11

Co to jest proces tworzenia oprogramowania ? Jest to zbiór czynności i związanych z nimi wyników, które zmierzają do opracowania produktu programowego Zasadnicze czynności wspólne dla wszystkich procesów Specyfikacja oprogramowania Tworzenie oprogramowania Zatwierdzenie oprogramowania Ewolucja oprogramowania Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 12

Co to jest model procesu tworzenia oprogramowania? Jest to uproszczona prezentacja procesu tworzenia oprogramowania. Modele ze swej natury są uproszczeniami Przykłady takich modeli: Model przepływu prac Model przepływu danych (lub model czynności) Model rola-akcja Przykłady ogólnych modeli (paradygmatów) tworzenia oprogramowania Model kaskadowy Tworzenie ewolucyjne Formalne przekształcenia Składanie systemu z komponentów ponownego użycia Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 13

Jakie są koszty inżynierii oprogramowania? Koszty wytworzenia oprogramowania można w przybliżeniu określić na 60%, natomiast 40% stanowią koszty testowania. Ewolucja oprogramowania może przewyższyć koszty jego wytworzenia Koszty zmian oprogramowania użytkowanego przez długi okres czasu mogą kilkukrotnie przekroczyć koszty jego wytworzenia Koszty zależą od stosowanego modelu Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 14

Co to są metody inżynierii oprogramowania? To jest uporządkowane podejście do tworzenia oprogramowania, które obejmuje Opisy modeli systemu Np. Modele obiektów, modele przepływu itp. Reguły Ograniczenia, którym podlegają modele systemu Zalecenia Heurystyki, które określają dobre zwyczaje projektantów Poradnictwo Opisy czynności, które należy wykonać Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 15

Co to jest CASE (Computer-Aided Software Engineering) CASE obejmuje rożne programy wykorzystane do wspomagania czynności procesu tworzenia oprogramowania (np. edytory notacji, generatory kodów) Upper-CASE Związane z początkowymi fazami tworzenia oprogramowania Lower-CASE Wspomagają implementowanie i testowanie Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 16

Jakie właściwości ma dobre oprogramowanie? Konkretny zbiór właściwości zależy od zastosowania, niemniej można podąć ogólny zbiór właściwości Zdolność do pielęgnacji Zdolność do ewolucji zgodnie z potrzebami klientów Niezawodność Nie powinno powodować fizycznych lub ekonomicznych katastrof w przypadku awarii Efektywność Nie powinno marnotrawić zasobów systemu takich jak pamięć czy czas procesora Użyteczność Powinno być użyteczne, bez zbędnego wysiłku ze strony użytkownika (np. interfejsy) Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 17

Jakie są najistotniejsze wyzwania dla inżynierów oprogramowania? Wyzwanie dziedzictwa Pielęgnacja i modyfikacji działających dużych systemów, pełniących poważne funkcje gospodarcze Wyzwanie różnorodności Wymóg działania oprogramowania w systemach rozproszonych przy rożnych typach komputerów I systemów wspomagających Wyzwanie doręczenia Wymóg dostarczanie gotowego programowania w skróconym czasie bez utraty jakości Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 18

Odpowiedzialność etyczna i zawodowa Inżynierowie oprogramowania muszą zaakceptować fakt, że ponoszą znacznie większą odpowiedzialność niż tylko wynikająca z ich technicznych umiejętności Muszą postępować etycznie i moralnie, jeśli chcą być uważani za profesjonalistów Zachowywać się etycznie, to więcej niż tylko przestrzegać obowiązujące prawo Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 19

Zasady zawodowej odpowiedzialności Zachowywanie tajemnicy Inżynierowie powinni zawsze dochowywać tajemnic powierzonych przez pracodawców i klientów, niezależnie od tego czy podpisano formalną umowę o ochronie tajemnicy. Kompetencje Inżynierowie nie powinni zawyżać poziomu swoich kompetencji. Nie powinni świadomie przyjmować prac, które przekraczają ich możliwości. Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 20

Zasady zawodowej odpowiedzialności Prawo własności intelektualnej Inżynierowie powinni znać miejscowe prawo regulujące korzystanie z własności intelektualnej. Powinni szczególnie dbać o poszanowanie intelektualnej własności swoich pracodawców i klientów. Niewłaściwe użycie komputera Inżynierowie oprogramowania nie powinni używać swoich umiejętności do niewłaściwego używania cudzych komputerów. Niewłaściwe użycie może być dość banalne (np. granie na maszynie pracodawcy) lub skrajnie poważne (rozsiewanie wirusów). Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 21

Kodeksy etyczne i zawodowe Stowarzyszenia zawodowe w USA współpracują ze sobą przy publikowaniu kodeksów profesjonalnego zachowania i kodeksy etyczne. Omówiony poniżej kodeks zawiera osiem zasad dotyczących zachowania i decyzji profesjonalnych inżynierów oprogramowania oraz nauczycieli, zarządzających, kierowników, strategów, a także studentów. Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 22

Kodeks etyki i zawodowej praktyki (wersja skrócona) Preambuła Inżynierowie oprogramowania muszą przyjąć na siebie zobowiązanie utwierdzenia analizy, specyfikacji, projektowania, budowy, testowania i pielęgnacji oprogramowania jako zawodu pożytecznego i szanowanego. Zgodnie z tym zobowiązaniem wobec zdrowia, bezpieczeństwa i dobrobytu społeczeństwa, inżynierowie oprogramowanie powinni stosować się do następujących Ośmiu Zasad: Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 23

Kodeks etyki i zawodowej praktyki (wersja skrócona) 1. Społeczeństwo Inżynierowie oprogramowania powinni postępować dla dobra społeczeństwa. 2. Klient i pracodawca Inżynierowie oprogramowania powinni postępować zgodnie z interesami swojego klienta lub pracodawcy zgodnymi z dobrem społeczeństwa 3. Produkt Inżynierowie oprogramowania powinni zapewnić, że ich produkty i związane z nimi zmiany spełniają najwyższe standardy profesjonalizmu. Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 24

Kodeks etyki i zawodowej praktyki (wersja skrócona) 4. Rozsądek Inżynierowie oprogramowania powinni zachowywać rozsądek i niezależność swoich sądów. 5. Zarządzanie Zarządzający inżynierami oprogramowania i zwierzchnicy powinni przyjąć i promować etykę w zarządzaniu tworzeniem i pielęgnacją oprogramowania. 6. Profesja Inżynierowie oprogramowania powinni podnosić wiarygodność i reputację profesji zgodnie z dobrem społeczeństwa. Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 25

Kodeks etyki i zawodowej praktyki (wersja skrócona) 7. Koleżeństwo Inżynierowie oprogramowania powinni być uczciwi i chętni do pomocy swoim kolegom. 8. Ja sam Inżynierowie oprogramowania powinni brać udział w długofalowej nauce praktyki swojego zawodu. Powinni także promować etyczne działania w praktyce swojej profesji. Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 26

Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 27 Etyczne dylematy Zasadnicza niezgodność z z poglądami przełożonego Nieetyczne postępowanie pracodawcy np. przy fałszowaniu dzienników kontroli przy testowaniu krytycznego systemu Uczestnictwo w tworzeniu systemów wojskowych i nuklearnych Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 27

Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 28 Główne tezy Inżynieria oprogramowania to dziedzina inżynierii, która obejmuje wszystkie aspekty tworzenia oprogramowania. Produkty programowe składają się z utworzonych programów oraz związanej z nimi dokumentacji. Zasadniczymi atrybutami produktów są zdatność do pielęgnacji, niezawodność, efektywność i użyteczność. Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 28

Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 29 Główne tezy Proces tworzenia oprogramowania składa się z czynności prowadzących do utworzenia produktu programowego. Głównymi czynnościami są specyfikacja oprogramowania, tworzenie, zatwierdzenie i ewolucja. Metody to uporządkowane sposoby budowy oprogramowania. Obejmują sugestie wyboru procesu tworzenia, mutacji, reguły określające, jakie opisy systemu opracować, a także wskazówki projektowe. Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 29

Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 30 Główne tezy Narzędzia CASE to systemy komputerowe, które są przeznaczone do wspomagania rutynowych czynności procesu tworzenia takich jak praca nad diagramami projektowymi, sprawdzanie poprawności diagramów oraz śledzenie wykonanych testów. Inżynierowie oprogramowania ponoszą odpowiedzialność przed kolegami po fachu i społeczeństwem. Nie powinni zajmować się jedynie aspektami technicznymi. Stowarzyszenia zawodowe publikują kodeksy postępowania , które definiują standardy zachowania oczekiwane od swoich członków. Ian Sommerville Inżynieria oprogramowania WNT 2003 Rozdz. 1 slajd 30