Inżynieria oprogramowania 3.4.KRK.12SX.INZ
Treści programowe
A. Problematyka wykładu:
Inżynieria oprogramowania jako dziedzina wiedzy. Metodologia zarządzanie projektem informatycznym, aspekty ekonomiczne i prawne realizacji projektów informatycznych. Inżynieria wymagań. Analiza obszarów problemowych dla modelowanego systemu, modelowanie strukturalne i behawioralne. Projektowanie składowych systemu informatycznego. Implementacja, te-stowanie, dokumentacja i wdrożenie oprogramowania.
Modele i metodologie wytwarzania oprogramowania. Środowisko programistyczne, narzędzia CASE. Zadania, role i artefakty związane z procesem zarządzaniem wytwarzania oprogramowania: zarządzanie projektem, zarządzanie testami, zarządzanie konfiguracją, zmianami, zarządzanie jakością, zarządzanie ryzykiem. Zadania, role i artefakty w procesie zbierania i analizy wymagań, analizy systemowej, projektowania systemów. Modelownie jakości oprogramowania (niezawodności, obsługiwalno-ści, dostępności usług). Testowanie oprogramowania. Język modelowania UML, OCL, UWE.
B. Problematyka laboratorium:
Przygotowanie planu i harmonogramu projektu. Przygotowanie kosztorysu projektu. Przygotowanie szablonów dokumentacji projektu. Sporządzenie specyfikacji wymagań do budowanej aplikacji okienkowe z bazą danych. Sporządzenie diagramu UML przypadków użycia (use case’ów), napisanie min. trzech przypadków użycia z diagramami aktywności UML. Sporządzenie specyfikacji wymagań niefunkcjonalnych i jakości oprogramowania. Przygotowanie analizy specyfikacji wymagań: sporządzenie diagramu klas UML, diagramów stanu i aktywności UML dla obiektów aplikacji, sporządzenie diagramu komponentów i diagramu instalacji UML. Wykonanie analizy jakości oprogramowania. Sporządzenie specyfikacji bazy danych. Implementacja okienkowej aplikacji z bazą danych. Napisanie i wykonanie min. trzech testów (test case’ów) dla budowanej aplikacji. Przygotowanie bazy błędów. Poznanie zasad modelowania stron internetowych i aplikacji WWW w języku UWE. Sporządzenie analizy ryzyka dla projektu. Poznanie zasad zarządzania konfiguracją. Posługiwanie się systemem kontroli wersji. Przygotowanie planu testów. Poznanie zasad i narzędzi do analizy błędów w oprogramowaniu (debugowanie programów).
Rodzaj przedmiotu
Wymagania
(brak danych)
(brak danych)
Koordynatorzy przedmiotu
Efekty kształcenia
W01. Ma wiedzę na temat projektowania oprogramowania; specyfikacji i analizy wymagań; walidacji i testowania oprogramowania; zarządzania przedsięwzięciem programistycznym; zna narzędzia i środowiska wytwarzania oprogramowania; procesy wytwarzania oprogramowania
W02. Zna podstawy komunikacji człowiek-komputer, w tym podstawę budowy interfejsów graficznych
W03. Ma wiedzę na temat zarządzania informacją; zna systemy baz danych; modelowanie danych; relacyjne bazy danych i zasady ich projektowania; języki zapytań do baz danych; przetwarzanie transakcji; składowanie i wyszukiwanie informacji
W04. Ma podstawową wiedze dotyczącą prawnych i społecznych aspektów informatyki oraz uwarunkowań działalności inżynierskiej, w tym odpowiedzialności zawodowej i etycznej.
W05. Zna ogólne zasady tworzenia i rozwoju małych przedsiębiorstw informatycznych, ma podstawową wiedzę dotyczącą zarządzania.
U01. Potrafi pisać, uruchamiać i testować programy w wybranym środowisku programistycznym.
U02. Potrafi stworzyć model obiektowy prostego systemu (np. w języku UML).
U03. Ma umiejętność budowy prostych systemów bazodanowych wykorzystujących przynajmniej jeden z najbardziej popularnych systemów zarządzania bazą danych.
U04. Potrafi formułować zapytania do bazy danych w wybranym języku zapytań, zanurzać zapytania w języku programowania, oceniać strategie wykonywania zapytań rozproszonych.
U05. Ocenia przydatność różnych paradygmatów i związanych z nimi środowisk programistycznych do rozwiązywania różnego typu problemów.
U06. Projektuje i implementuje oprogramowanie zgodnie z metodyką obiektową.
U07. Potrafi - zgodnie z zadaną specyfikacją - zaprojektować oraz zrealizować prosty system informatyczny, używając właściwych metod, technik i narzędzi.
U08. Potrafi wykonać prostą analizę sposobu funkcjonowania systemu informatycznego i ocenić istniejące rozwiązania informatyczne, przynajmniej w odniesieniu do ich cech funkcjonalnych.
U09. Tworzy, ocenia i realizuje plan testowania oraz jest przygotowany do efektywnego uczestniczenia w inspekcji oprogramowania.
U10. Zna przynajmniej jeden system zarządzania wersjami.
U11. Potrafi dokonać wstępnej analizy ekonomicznej projektowanego systemu informatycznego.
U12. Potrafi posługiwać się wzorcami projektowymi.
U13. posiada umiejętność przygotowania typowych prac pisemnych z zakresu informatyki w języku polskim i języku angielskim, dotyczących zagadnień szczegółowych, z wykorzystaniem podstawowych ujęć teoretycznych, a także różnych źródeł.
K01. Potrafi odpowiednio określić priorytety służące realizacji określonego zadania informatycznego.
K02. Rozumie potrzebę podnoszenia kompetencji zawodowych i osobistych.
Kryteria oceniania
praca kontrolna/projekt, obserwacja
Praktyki zawodowe
nie dotyczy
Literatura
A. Literatura wymagana do ostatecznego zaliczenia zajęć (zdania egzaminu):
A.1. wykorzystywana podczas zajęć
1. Sommerville, I.: Inżynieria oprogramowania, WNT, 2003.
2. Pressman,R.: Praktyczne podejście do inżynierii oprogramowania, WNT 2010.
2. Wrycza, S.: Język UML 2.0 w modelowaniu systemów informatycznych, Helion, 2006.
A.2. studiowana samodzielnie przez studenta
1. V. Shtern, C++. Inżynieria programowania, Helion 2003.
2. J. Cadle, Zarządzanie procesem tworzenia systemów informacyjnych, Warszawa WNT 2004.
B. Literatura uzupełniająca
1. P. Beynon-Davies, Inżynieria systemów informatycznych, WNT 2004.
2. S. H. Kan, Metryki i modele w inżynierii jakości oprogramowania, PWN 2006.
3. inne podręczniki dostępne on-line poprzez Bibliotekę Główną UO („ibuk”)
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: