01 Wprowadzenieid 2712 ppt

background image

Inżynieria oprogramowania

część 1 - Wprowadzenie

Mgr inż. Piotr Greniewski

Europejska Wyższa Szkoła Informatyczno-

Ekonomiczna

background image

Slajd nr 2

©Ian Sommerville 2000 - Inżynieria oprogramowania

Materiały do wykładu

Wykład opracowano na podstawie książki:

Inżynieria oprogramowania - Jan Sommerville

Wydawnictwa Naukowo – Techniczne

Warszawa 2003 r.

Prawa własności:

Rysunki, diagramy oraz układ prezentowanych treści są
własnością:

©Ian Sommerville 2000

.

Prezentacja stanowi tłumaczenie prezentacji autora
książki pobranej z witryny

http:/www.software-

engin.com.

Zgodnie z wolą autora: ”wykładowcy mają prawo
dowolnie modyfikować i adoptować tę prezentacje

(Przedmowa – Witryna WWW – punkt 2 ) co też czynię.

background image

Slajd nr 3

©Ian Sommerville 2000 - Inżynieria oprogramowania

Wprowadzenie

Zawartość:

FAQ – najczęściej zadawane pytania

Odpowiedzialność etyczna i zawodowa

background image

Slajd nr 4

©Ian Sommerville 2000 - Inżynieria oprogramowania

Wprowadzenie

Wszechobecność systemów informatycznych

Niemal każde urządzenie posiada
oprogramowanie

Programy komputerowe są używane we
wszystkich gałęziach przemysłu

Na inżynierię oprogramowania składają się
następujące prace nad systemami
komputerowymi:

Specyfikowanie

Wytwarzanie

Zarządzanie

Rozwijanie

background image

Slajd nr 5

©Ian Sommerville 2000 - Inżynieria oprogramowania

Wprowadzenie

W chwili dzisiejszej nawet proste systemy
charakteryzują się dużą złożonością.

Przy projektowaniu należy więc stosować
podejście inżynierskie

Inżynieria oprogramowania to dziedzina
polegająca na optymalnym używaniu metod i
teorii informatycznych do rozwiązywania
skomplikowanych problemów.

background image

Slajd nr 6

©Ian Sommerville 2000 - Inżynieria oprogramowania

Wprowadzenie

Wiele przedsięwzięć informatycznych ponosi
klęskę, co świadczy o tym, że problemy te są
naprawdę duże.

Powstaje wiele bardzo przydatnych
programów

Inżynieria oprogramowania powstała w
odpowiedzi na trudności związane z budową
dużych systemów informatycznych dla wojska,
rządu, przemysłu

W dniu dzisiejszym informatycy tworzą dużo
różnorodnego oprogramowania

background image

Slajd nr 7

©Ian Sommerville 2000 - Inżynieria oprogramowania

FAQ - co to jest oprogramowanie?

Nie należy utożsamiać oprogramowania z
programami komputerowymi.
Oprogramowanie to nie tylko programy. To też
dokumentacje, dane konfiguracyjne ...

Dwa rodzaje produktów programowych:

Produkty powszechne

Produkty na zamówienie

background image

Slajd nr 8

©Ian Sommerville 2000 - Inżynieria oprogramowania

FAQ – co to jest inżynieria
oprogramowania?

Dziedzina inżynierii – inżynierowie sprawiają
że rzeczy „działają”. Stosują teorie i metody
tam gdzie są potrzebne

Wszystkie aspekty tworzenia
oprogramowania;

Proces techniczny

Zarządzanie przedsięwzięciami

Opracowanie narzędzi

Opracowanie metod

Opracowanie teorii wspomagania tworzenia

background image

Slajd nr 9

©Ian Sommerville 2000 - Inżynieria oprogramowania

FAQ – różnica między inżynierią a
informatyką?

Informatyka obejmuje teorie i podstawowe
metody działania komputerów i systemów
komputerowych

Inżynieria obejmuje praktyczne problemy
związane z tworzeniem oprogramowania.
Pewien zakres wiedzy jest niezbędny do
tworzenia oprogramowania tak jak pewien
zakres fizyki jest potrzebny inżynierom
elektrykom

background image

Slajd nr 10

©Ian Sommerville 2000 - Inżynieria oprogramowania

FAQ –

różnica między inżynierią

oprogramowania a inżynierią systemów

Inżynieria systemów obejmuje wszystkie
aspekty tworzenia i ewolucji.

Mieści w sobie:

Tworzenie oprogramowania

Opracowywanie strategii

Projektowanie procesu tworzenia

Wdrażanie systemu

Inzynierię oprogramowania

background image

Slajd nr 11

©Ian Sommerville 2000 - Inżynieria oprogramowania

FAQ – co to jest proces tworzenia
oprogramowania?

Specyfikacja oprogramowania

Tworzenie oprogramowania

Zatwierdzanie oprogramowania

Ewolucja oprogramowania

background image

Slajd nr 12

©Ian Sommerville 2000 - Inżynieria oprogramowania

FAQ – co to jest model procesu tworzenia
oprogramowania?

Model przepływu prac.

Przedstawia ciąg czynności z wejściami, wyjściami i
zależnościami.

Czynności reprezentują działania ludzi.

Model przepływu danych (model czynności)

Przedstawia proces w postaci zbioru czynności z
których każda dokonuje przekształcenia danych

Opisuje jak wejście procesu jest przekształcane na
wyjście.

Czynności mogą być opisane na niższym poziomie niż
w modelu przepływu. Reprezentuje przekształcenia
wykonywane przez ludzi lub komputery

background image

Slajd nr 13

©Ian Sommerville 2000 - Inżynieria oprogramowania

FAQ – co to jest model procesu tworzenia
oprogramowania?

Model rola – akcja

Przedstawia role osób biorących udział w procesie
tworzenia oprogramowania oraz czynności za które
osoby są odpowiedzialne

background image

Slajd nr 14

©Ian Sommerville 2000 - Inżynieria oprogramowania

FAQ – co to jest model procesu tworzenia
oprogramowania?

Modele tworzenia oprogramowania:

Model kaskadowy – czynności przedstawia się jako
oddzielne fazy procesu. Po wykonaniu fazy
zatwierdza się wyniki i przechodzi do następnej.

Tworzenie ewolucyjne – czynności specyfikacji,
projektowania i zatwierdzania przeplatają się.
Budujemy pierwszą wersję systemu – prototyp,
przedstawiamy klientowi i udoskonalamy.

background image

Slajd nr 15

©Ian Sommerville 2000 - Inżynieria oprogramowania

FAQ – co to jest model procesu tworzenia
oprogramowania?

Modele tworzenia oprogramowania cdn:

Formalne przekształcenia – budujemy system oparty
na matematycznych specyfikacjach i przekształceniu
tych specyfikacji w program za pomocą metod
matematycznych. Mamy pewność, że zbudowany
system spełnia specyfikacje.

Składanie systemu z istniejących komponentów –
technika zakłada, że części sytemu istnieją. Proces
budowy polega na integrowaniu fragmentów

background image

Slajd nr 16

©Ian Sommerville 2000 - Inżynieria oprogramowania

FAQ – jakie są koszty inżynierii
oprogramowania?

Rozkład kosztów tworzenia (koszty liczone
oddzielnie):

Specyfikacja – 10%

Projektowanie – 25%

Budowa – 15%

Integracja i testowanie 50%

Koszty tworzenia ewolucyjnego;

Specyfikacja – 10%

Wytwarzanie ewolucyjne – 60%

Testowanie – 30%

background image

Slajd nr 17

©Ian Sommerville 2000 - Inżynieria oprogramowania

FAQ – jakie są koszty inżynierii
oprogramowania?

Koszty ewolucji
(dla systemów pracujących przez długi czas):

Budowa systemu – 25%

Ewolucja systemu – 75%

Koszty wytworzenia produktu
(produkt z półki);

Specyfikacja – 5%

Budowa – 40%

Testowanie systemu – 55%

background image

Slajd nr 18

©Ian Sommerville 2000 - Inżynieria oprogramowania

FAQ – co to są metody inżynierii
oprogramowania?

Analiza strukturalna

Powstała w latach 70-tych: De Marco 1978, Jakson
1983. Za jej pomocą starano się zidentyfikować
podstawowe składniki funkcjonalne systemu.

Metody obiektowe

Booch 1994, Rumbauch 1991

Podejścia te zintegrowano i zunifikowano i tak
powstał Unified Modeling Language (UML)

Cechy wspólne

Koncepcja opracowania modelu, przedstawienia go
graficznie oraz wykorzystanie modelu jako
specyfikacji i projektu systemu

background image

Slajd nr 19

©Ian Sommerville 2000 - Inżynieria oprogramowania

FAQ – co to jest CASE?

CASE – Computer-Aided Software
Engineering czyli inżynieria oprogramowania
wspomagana komputerowo

Zastosowanie CASE:

Analiza wymagań

Modelowanie systemu

Wyszukiwanie i usuwanie błędów

Testowanie

background image

Slajd nr 20

©Ian Sommerville 2000 - Inżynieria oprogramowania

FAQ – co to jest CASE?

Podział narzędzi CASE

Upper-CASE - narzędzia do wspomagania analizy i
projektowania, związane z początkowymi fazami
tworzenia oprogramowania.

Lower-CASE – narzędzia do wspomagania
implementowania i testowania oprogramowania,
wyszukiwania błędów, również generatory kodu.

background image

Slajd nr 21

©Ian Sommerville 2000 - Inżynieria oprogramowania

FAQ –jakie właściwości ma dobre
oprogramowanie?

Zdatność do pielęgnacji

Niezawodność

Efektywność

Użyteczność

background image

Slajd nr 22

©Ian Sommerville 2000 - Inżynieria oprogramowania

FAQ – wyzwania dla inżynierów
oprogramowania?

Wyzwanie dziedzictwa

Większość dużych systemów napisano wiele lat temu
ale działają do dziś. Wyzwanie polega na pielęgnacji
tych systemów.

Wyzwanie różnorodności

Polega na opracowaniu metod budowy
niezawodnego oprogramowania radzącego sobie z
różnorodnością

Wyzwanie doręczenia

Polega na skróceniu czasu dostarczenia wielkich
złożonych systemów, bez utraty ich jakości.

background image

Slajd nr 23

©Ian Sommerville 2000 - Inżynieria oprogramowania

Odpowiedzialność etyczna i zawodowa

Zachowanie tajemnicy

Kompetencja

Prawo własności intelektualnej

Właściwe użycie komputera

background image

Slajd nr 24

©Ian Sommerville 2000 - Inżynieria oprogramowania

Odpowiedzialność etyczna i zawodowa

Kodeks etyki zawodowej ACM/IEEE 1999r.
Inżynierowie oprogramowania powinni
stosować się do następujących zasad:

Społeczeństwo

Klient i pracodawca

Produkt

Rozsądek

Zarządzanie

Profesja

Koleżeństwo

Ja sam

background image

Slajd nr 25

©Ian Sommerville 2000 - Inżynieria oprogramowania

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ą: zdolność do
pielęgnacji, niezawodność efektywność i użyteczność.

Proces tworzenia oprogramowania składa się z
czynności prowadzących do utworzenia produktu
programowego. Głównymi czynnościami są: specyfikacja
oprogramowania, tworzenie, zatwierdzanie i ewolucja

Metody to uporządkowane sposoby budowy
oprogramowania. Obejmują sugestie wyboru procesu
tworzenia, notacji i reguł określających jakie opisy
systemu opracować a także wskazówki projektowe

background image

Slajd nr 26

©Ian Sommerville 2000 - Inżynieria oprogramowania

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
wykonywanych testów.

Inżynierowie oprogramowania ponoszą
odpowiedzialność przed kolegami po fachu i
społeczeństwem. Nie powinni się zajmować jedynie
aspektami techniczny

Stowarzyszenia zawodowe publikują kodeksy
postępowania, które definiują standardy
zachowania oczekiwane od swoich członków.


Document Outline


Wyszukiwarka

Podobne podstrony:
01 Wprowadzenieid 2986 ppt
01 Wprowadzenieid 2986 ppt
01 Algorytmy wprowadzenieid 2595 ppt
01 WPROWADZENIE DO FIZJOLOGII CZŁOWIEKA ppt
01 Wprowadzenie 01 introid 3077 ppt
01 Wprowadzenie 02 metody geofizyczne 2id 3079 ppt
01 Wprowadzenie Do Fizjologiid 2989 ppt
01 Algorytmy wprowadzenieid 2595 ppt
01 WPROWADZENIE DO FIZJOLOGII CZŁOWIEKA ppt
01 WPROWADZENIA
1 marketing wprowadzenieid 9434 ppt
Podsumowanie, 01 Wprowadzenie do sieci komputerowych
01 Systemy Operacyjne ppt
01 Wprowadzenie
01 wprowadzenie do teorii ekspl Nieznany

więcej podobnych podstron