dr inż. Ryszard Tołwiński
Przedmiot i cele inżynierii
oprogramowania
Literatura
Podstawowa
•Jaszkiewicz A.: Inżynieria oprogramowania.
Helion. Gliwice 1997.
•Płodzień J., Stemposz E.:Analiza
projektowania systemów informatycznych.
Wydawnictwo PJWSTK. Warszawa 2005.
•Śmiałek M.:Zrozumieć UML. Metody
modelowania obiektowego. Wydawnictwo
Helion. 2005.
Literatura
Dodatkowa:
•Sommerville I.:Inżynieria oprogramowania.
WNT.W-wa 2003.
*Pod redakcją Górskiego J.: Inżynieria
oprogramowania w projekcie
informatycznym. Mikom. W-wa 2000.
*Flower M.: UML w kropelce wersja 2.0. LPT
2005
Plan wykładu
l
Czym się zajmuje inżynieria
oprogramowania?
l
Odpowiedzenie na podstawowe
pytania dotyczące inżynierii
oprogramowania
Czym się zajmuje
inżynieria
oprogramowania?
Inżynieria oprogramowania
l
Jest to dziedzina inżynierii, która
obejmuje wszystkie aspekty
tworzenia oprogramowania od fazy
początkowej do jego pielęgnacji
l
Inżynieria oprogramowania zajmuje się
teorią, metodami i narzędziami
związanymi z wytwarzaniem
oprogramowania
l
Inżynierowie oprogramowania pracują w
sposób systematyczny i
uporządkowany ponieważ jest to
najskuteczniejszy sposób tworzenia
oprogramowania wysokiej jakości
l
Obecnie wytwarzanie oprogramowania
jest poważną gałęzią gospodarki
narodowej rozwiniętego kraju
Inżynieria
oprogramowania
Pytania
inżynierii
oprogramowa
nia
l
Co to jest oprogramowanie?
l
Jaka jest różnica pomiędzy inżynierią
oprogramowania a informatyką ?
l
Jaka jest różnica pomiędzy inżynierią a
inżynierią systemów
oprogramowania ?
l
Co to jest proces tworzenia
oprogramowania ?
Pytania inżynierii
oprogramowania
Pytania inżynierii
oprogramowania
l
Jakie są koszty inżynierii
oprogramowania ?
l
Jakie właściwości ma dobre
oprogramowanie ?
l
Jakie są najistotniejsze wyzwania dla
inżynierów oprogramowania ?
Co to jest oprogramowanie ?
l
Są to programy komputerowe, cała
związana z nimi dokumentacja i dane
konfiguracyjne
l
Rodzaje produktów oprogramowania
• Powszechne
• Dostosowane (na zamówienie)
Jaka jest różnica pomiędzy
inżynierią oprogramowania a
informatyką ?
l
Zasadniczo
informatyka obejmuje teorie
i podstawowe zasady
działania
komputerów. Inżynieria oprogramowania
obejmuje praktyczne problemy
związane z tworzeniem
oprogramowania
l
Byłoby dobrze gdyby inżynier
programowania znał teorie informatyczne,
z drugiej strony nie zawsze przystają one
do rzeczywistości
Jaka jest różnica pomiędzy
inżynierią oprogramowania a
inżynierią systemów?
l
Inżynieria systemów komputerowych
obejmuje wszystkie aspekty tworzenia
i ewolucji systemów komputerowych,
w których oprogramowanie odgrywa
zasadniczą rolę.
l
Inżynierowie systemów biorą udział w
specyfikacji systemu i definiowania
jego ogólnej architektury
Co to jest proces tworzenia
oprogramowania ?
l
Jest to zbiór czynności i związanych z
nimi wyników, które zmierzają do
opracowania produktu programowego
l
Zasadnicze czynności wspólne dla
wszystkich procesów
•
Specyfikacja oprogramowania
•
Tworzenie oprogramowania
•
Zatwierdzenie oprogramowania
•
Ewolucja oprogramowania
Jakie są koszty inżynierii
oprogramowania?
l
Koszty wytworzenia oprogramowania można
w przybliżeniu określić na 60%, natomiast
40% stanowią koszty testowania.
oprogramowania może przewyższyć koszty
jego wytworzenia.
l
Ewolucja oprogramowania użytkowanego
przez długi okres czasu mogą kilkukrotnie
przekroczyć koszty jego wytworzenia
l
Koszty zależą od stosowanego modelu
Jakie właściwości ma dobre
oprogramowanie?
Konkretny zbiór właściwości
zależy od zastosowania
niemniej można podać ogólny zbiór właściwości
l
Zdolność do pielęgnacji
•
Zdolność do ewolucji zgodnie z potrzebami klientów
l
Niezawodność
•
Nie powinno powodować fizycznych lub ekonomicznych
katastrof w przypadku awarii
l
Efektywność
•
Nie powinno marnotrawić zasobów systemu takich jak pamięć
czy czas procesora
l
Użyteczność
•
Powinno być użyteczne, bez zbędnego wysiłku ze strony
użytkownika (np. interfejsy)
Jakie są najistotniejsze
wyzwania dla inżynierów
oprogramowania?
l
Wyzwanie dziedzictwa
•
Pielęgnacja i modyfikacja działających dużych
systemów, pełniących poważne funkcje gospodarcze
l
Wyzwanie różnorodności
•
Wymóg dzia
ł
ania oprogramowania w systemach
rozproszonych przy rożnych typach komputerów i
systemów wspomagających
l
Wyzwanie doręczenia
•
Wymóg dostarczania gotowego oprogramowania w
skróconym czasie bez utraty jakości
Podsumowani
e
l
Inżynieria oprogramowania to dziedzina
inżynierii,
która
obejmuje
wszystkie
aspekty tworzenia oprogramowania.
l
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ść.