inynieria oprogramowania anna bobkowska katedra in ... in¼ynieria oprogramowania wprowadzenie

Download Inynieria Oprogramowania Anna Bobkowska Katedra In ... In¼ynieria Oprogramowania Wprowadzenie

Post on 01-Mar-2019

219 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

KIO

Inynieria Oprogramowania

Inynieria Oprogramowania

Anna BobkowskaMaciej Piechwka

Katedra Inynierii Oprogramowania

1. Wprowadzenie2. Motywacje i zakres inynierii

oprogramowania3. Klasyczny cykl ycia

Materiay pomocnicze do

wykadu z Iny

Oprogramowania na Wyd

ziale ETI PG.

Ich lektura nie zastpuje

obecnoci na wykadzie.

Wykorzystanie materia

w w innym celu oraz ich

rozpowszechnianie jest

zabronione.

nierii

KIO

Inynieria Oprogramowania

Wprowadzenie do przedmiotuCel: przegld wiedzy dotyczcej metodycznego wytwarzania

oprogramowania o wysokiej jakoci.

Wykad Przegld tematyki IO Przedmiot inynierii oprogramowania;

cykl ycia systemu; Model kaskadowy Faza przedprojektowa Inynieria wymaga i wybrane techniki

modelowania systemw UML Analiza wymaga; analiza obiektowa Projektowanie systemu; projektowanie

obiektowe Implementacja; Testowanie i walidacja systemu; inspekcje Wdraanie i utrzymanie systemu Narzdzia CASE Inne podejcia i metodyki

Laboratorium UML Przygotowanie wizji systemu Modelowanie za pomoc

przypadkw uycia Modelowanie obiektowe Modelowanie zachowania Elementy projektowania

Zaliczenie:50% laboratorium50% egzamin

KIO

Inynieria Oprogramowania

Literatura

UML Booch G., Rumbaugh J., Jacobson I.: UML przewodnik

uytkownika, WNT, 2001

Inynieria Oprogramowania Grski J. (red.) Inynieria oprogramowania w projekcie

informatycznym, MIKOM, 2000 Pressman R., Ince D., Software Engineering: a Practitioners

Approach. McGraw-Hill, 2000 Sommerville I., Inynieria Oprogramowania, 2003 Szejko S.(red.), Metody wytwarzania oprogramowania,

MIKOM, 2002

KIO

Inynieria Oprogramowania

Motywacje: Wano i zoono zagadnienia (1)

System - zbir wzajemnie powizanych elementw, wyodrbnionych z otoczenia,wspdziaajcych dla realizacji wsplnego celu

Materia (tworzywo)

rodowisko

rozproszenie elementw systemu

SprztOprogramowanieLudzieReguy uycia

rodowisko

KIO

Inynieria Oprogramowania

Motywacje: Wano i zoono zagadnienia (2)

Rewolucja informacyjna - zastosowania informatyki:

transport, produkcja, obsuga pienidza, ochrona zdrowia, administracja, rozrywka, telekomunikacja, ...

Oczekiwania (gwnie jakociowe): wysoce niezawodne uyteczne atwe w uyciu trudne do uycia w sposb niewaciwy bezpieczne tanie dostpne . . .

KIO

Inynieria Oprogramowania

Specyfika oprogramowania (1)

zdominowane przez proces projektowania pomijalne nakady na produkcj, wikszo wysiku skierowana

na projektowanie; niedojrzaa technologia, kompetencje ? trudnoci w wizualizacji

oprogramowanie to niematerialny wytwr intelektu; trudnoci w obserwacji wczeniejszych form (specyfikacji wymaga, projektu,...); denie do jak najwczeniejszej implementacji obniajce szans na sukces

nie zuywa si nie zuywa si; wadliwe dziaanie wynika z niedopasowania do rodowiska, z bdw konstrukcji, czsto ujawniajcych si bardzo pno

dua zoono trudno znale standardy projektowe, trudno przeledzi wszystkie

sytuacje, wypuci produkt pozbawiony bdw

KIO

Inynieria Oprogramowania

Specyfika oprogramowania (2) dowolno struktury

zwykle niewielkie ograniczenia i due pole do popisu projektantw -zoono, nieregularno, niezrozumiao struktury - trudnoci modyfikacji i pielgnacji

zaleno elementw niejawne zalenoci pomidzy elementami prowadz do trudnoci

konstrukcyjnych, bdnych ocen poprawnoci oprogramowania, stwarzaj problemy modyfikacji i pielgnacji

brak ogranicze (np. prawami fizyki) nieznaczna zmiana moe spowodowa due odchylenie; maa

modyfikacja? przybliona analiza? atwo zmian

atwo dokonywania zmian prowadzi do chaosu, bdw i bylejakoci

trudno testowania niematerialno softwareu, rwnolego dziaa, skomplikowanie,

zakres moliwych danych istotnie utrudniaj eliminacjdefektw

KIO

Inynieria Oprogramowania

Specyfika oprogramowania (3)

Zdecydowana wikszo uytecznego oprogramowania powstaje w ukadzie klient-wykonawca

KLIENTKLIENT WYKONAWCAWYKONAWCA

oczekiwaniaoczekiwania technologiatechnologia

DZIEDZINA DZIEDZINA PROBLEMOWAPROBLEMOWA

DZIEDZINA DZIEDZINA INFORMATYCZNAINFORMATYCZNA

opro

gram

owan

ieop

rogr

amow

anie

KIO

Inynieria Oprogramowania

Krzywe iloci uszkodze ujawniajcych si w czasie

a) w przypadku sprztu b) w przypadku oprogramowania

KIO

Inynieria Oprogramowania

Procentowy rozkad bdw popenianych przy konstrukcji systemw

Ko ns trukc ja

26%

Ko do wanie

7%

S fo rmuowa-nie

wymag a56%

Inne bdy11%

KIO

Inynieria Oprogramowania

Rozkad kosztw wytworzeniai utrzymania oprogramowania

0%

20%

40%

60%

80%

100%

1975 1980 1985 1990 1995

utrzymanie

wytworzenie

KIO

Inynieria Oprogramowania

Zauwaalne problemy i tendencje

wzrost wymaga uytkownikw: uytkowo, poprawno, wiarygodno czy efektywno;

skomplikowanie systemw, nietrywialne zastosowania, wysoko specjalizowane zadania

niska produktywno procesu wytwarzania

brak rzemiosa i jednostkowo procesu wytwarzania powoduje wysokie narzuty i koszty procesu produkcji

bdy

wzrost znaczenia fazy analizy i udziau uytkownika

koszt utrzymania i wzrost znaczenia waciwej dokumentacji systemu

KIO

Inynieria Oprogramowania

Inynieria Oprogramowania

Oprogramowanie (software) - zbir programw, procedur postpowania i zwizanej z nimi dokumentacji, w ramach danego systemu (komputerowego).

Inynieria (engineering) - polega na takim zastosowaniu nauk cisych, przyrodniczych i humanistycznych, poprzez ktre materiai rda energii naturalnej staj si uyteczne dla czowieka.

Inynieria oprogramowania polega na takim zastosowaniu nauk (cisych, przyrodniczych, humanistycznych), poprzez ktre wasnoci i moliwoci sprztu komputerowego stajsi, za porednictwem oprogramowania, uyteczne dla czowieka.

KIO

Inynieria Oprogramowania

Podobiestwa inynierii oprogramowania

do tradycyjnej inynierii

techniki rozwizywania problemw

identyfikacja potrzeb planowanie dziaa zarzdzanie projektem systematyczna analiza kontrola jakoci procesu ocena jakoci produktu bieca eksploatacja

notacjemetodykinarzdzia

KIO

Inynieria Oprogramowania

Podstawowe rnice pomidzy inynieri oprogramowania a inynieri tradycyjn

Brak praw fizyki

Program to czysta informacja

Statyczny obraz programu

Obserwacja porednia

Nie zuywa si

KIO

Inynieria Oprogramowania

Drogi rozwizania

Systematyczne wytwarzanie, zgodnie z przyjtym cyklem

Rozwj notacji modelujcych i wspomaganie uznanych cykli rozwojuoprogramowania, gwnie klasycznego

Definiowanie nowych cykli wytwrczych, czsto posikujcych si nowymi metodologiami

Rozwijanie nowych metodologii systematycznej konstrukcji oprogramowania, bazujcych na istniejcych bd nowych notacjach; najwicej prac dotyczy metodologii obiektowych

rodowiska i narzdzia wspomagajce

Wspomaganie zarzdzania projektem informatycznym, planowania, zarzdzania ludmi, minimalizacji ryzyka, zapewniania jakoci

KIO

Inynieria Oprogramowania

Podejcia i metodyki

Czym jest metodyka konstrukcji systemu ?

- Jest zbiorem procedur, metod, narzdzi i rodkwwspomagajcych dokumentowanie

- Skada si z faz, ktre same skadaj si z kolejnych faz- Stanowi 'przewodnik' dla konstruktorw systemu- Stanowi metod systematycznej budowy systemw- Bazuje na pewnym widzeniu wiata, nazywanym podejciem

(ang.: approach)

KIO

Inynieria Oprogramowania

Podejcia

Modularyzacja

Podejcie strukturalne

Wykorzystanie metod formalnej specyfikacji

Podejcie obiektowe

KIO

Inynieria Oprogramowania

Popularne metody modelowania systemw

Modelowanie danych model relacyjny, diagramy zwizkw encjimodel obiektowysowniki danychabstrakcyjne typy danych (ADT)

Modelowanie diagramy przepywu danychprzetwarzania jzyki opisu, jak Structured English czy Program

Description Languagetablice decyzyjne, drzewa decyzjidiagramy akcji, diagramy przepywudiagramy przepywu pracy

Modelowanie funkcji hierarchie funkcji i macierze powizaprzypadki uycia (use cases)abstrakcyjne typy danych

Modelowanie modele grafowe, sieci Petriegozachowania FSMs, automaty, diagramy przej stanu

diagramy interakcji, diagramy komunikacji (MSC)drzewa zdarze, drzewa bdwVDM, Z

Modelowanie struktury diagramy strukturystatycznej i modele obiektowedynamicznej modele komunikujcych si procesw, CCS , CSP ,

jzyki formalnej specyfikacji

KIO

Inynieria Oprogramowania

rodowiska wspomagajacespecyfikacj wymaga, najczeciej za pomoc notacji graficznych,walidacj dokonanej specyfikacji (modelu logicznego), ocen jej spjnoci i kompletnoci,przeksztacenie utworzonego modelu w projekt,weryfikacj zgodnoci projektu z wymaganiami i jego logiczn walidacj, czsto poprzez prototypowanie lub symulacj dziaania przyjtej konstrukcji,szkieletow lub peniejsza generacj kodu,testowanie, animacj i pomiary utworzonej aplikacji,tworzenie dokumentacji, na rnych poziomach i w rnych przekrojach, zarzdzanie projektem, od planowan

View more >