image Home       image Fowles,       image Fitzgerald,       image r04 06 (9)       image R 22MP (3)       image 45 (3)       

Linki

[ Pobierz całość w formacie PDF ]

Inżynieria oprogramowania podstawy na podstawie Ian  Sommerville  Inżynieria oprogramowania WNT 2003                       

 

Gospodarki wszystkich rozwiniętych krajów zależą od oprogramowania

l           Coraz więcej i więcej systemów wymaga niezawodnego oprogramowania

l           Inżynieria oprogramowania zajmuje się teorią, metodami i narzędziami związanymi z wytwarzaniem oprogramowania   

l           Obecnie wytwarzanie oprogramowania jest poważną gałęzią gospodarki narodowej rozwiniętego kraju

Co to jest 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żynierowie oprogramowania pracują w sposób systematyczny i uporządkowany ponieważ jest to najskuteczniejszy sposób tworzenia oprogramowania wysokiej jakości

 

Koszty oprogramowania

l           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.

l           Koszt utrzymania i konserwacji oprogramowania jest większy niż koszt jego wytworzenia. Wieloletnia konserwacja oprogramowania może kosztować wielokrotnie więcej niż  jego zakup.

l           Inżynieria oprogramowania zajmuje się efektywnymi metodami wytwarzania i implementowania 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 informatyka ?

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

Co to jest model procesu tworzenia oprogramowania?

l           Jest to uproszczona prezentacja procesu tworzenia oprogramowania. Modele ze swej natury są uproszczeniami

l           Przykłady takich modeli:

•          Model przepływu prac

•          Model przepływu danych (lub model czynności)

•          Model rola-akcja

l           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

Jakie są koszty inżynierii oprogramowania?

l           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

l           Koszty zmian oprogramowania użytkowanego przez długi okres czasu mogą kilkukrotnie przekroczyć koszty jego wytworzenia

l           Koszty zależą od stosowanego modelu

Co to są metody inżynierii oprogramowania?

l           To jest uporządkowane podejście do tworzenia oprogramowania, które obejmuje

l           Opisy modeli systemu              

•          Np. Modele obiektów, modele przepływu itp.

l           Reguły

•          Ograniczenia, którym podlegają modele systemu

l           Zalecenia

•          Heurystyki, które określają dobre zwyczaje projektantów

l           Poradnictwo

•          Opisy czynności, które należy wykonać

Co to jest CASE (Computer-Aided Software Engineering)

l           CASE obejmuje rożne programy wykorzystane do wspomagania czynności procesu tworzenia oprogramowania (np. edytory notacji, generatory kodów)

l           Upper-CASE

•          Związane z początkowymi fazami tworzenia oprogramowania

l           Lower-CASE

•          Wspomagają implementowanie i testowanie

Jakie właściwości ma dobre oprogramowanie?

l           Konkretny zbiór właściwości  zależy od zastosowania, niemniej można podąć 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 modyfikacji 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 dostarczanie gotowego programowania w skróconym czasie bez utraty jakości

Odpowiedzialność etyczna i zawodowa

l           Inżynierowie oprogramowania muszą zaakceptować fakt, że ponoszą znacznie większą odpowiedzialność niż tylko wynikająca z ich technicznych umiejętności

l           Muszą postępować etycznie i moralnie, jeśli chcą być uważani za profesjonalistów

l           Zachowywać się etycznie, to więcej niż tylko przestrzegać obowiązujące prawo

Główne tezy

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ść.

l           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.

l           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.

l           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.

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

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

 

 

 

[ Pobierz całość w formacie PDF ]
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zolka.keep.pl