Inżynieria programowania – wykład i laboratorium Wykład 1. Modele

Transkrypt

Inżynieria programowania – wykład i laboratorium Wykład 1. Modele
Inżynieria programowania – wykład i laboratorium
Wykład
1. Modele cyklu życia oprogramowania, specyfikacja wymagań funkcjonalnych i niefunkcjonalnych,
modelowanie, faza analizy (stosowane notacje), projektowanie (narzędzia – interfejs użytkownika, moduły
bazodanowe/komunikacyjne), implementacja, testowanie, dokumentowanie, konserwacja.
2. Koncepcje tworzenia złożonego oprogramowania - podejście strukturalne/podejście obiektowe/RAD,
wykorzystanie bibliotek i frameworków (notacje stosowane do opisu budowy, powiązań elementów
oprogramowania oraz ich funkcjonowania, narzędzia CASE)
3. Uruchamianie oprogramowania (rodzaje i przyczyny błędów, debugger, refaktoring, praca krokowa,
breakpointy, obserwacja zmiennych, wydruki kontrolne, trudności: bazy danych:plan/optymalizator, programy
sieciowe, programy współbieżne/wielowątkowe, maszyny wirtualne, opcje kompilacji, optymalizator kodu,
ocena skuteczności uruchamiania)
4. Testowanie oprogramowania (modele testowania względem specyfikacji/kodu, junit/cppunit/dunit, testowanie
GUI, wersje językowe – unicode, różne wersje systemów operacyjnych, aplikacje mobilne, zależności od
sprzętu i innego oprogramowania, przygotowanie danych testowych, dokumentowanie testowania, testowanie
aplikacji webowych, bezpieczeństwo oprogramowania, uwarunkowania ekonomiczne, integracja
oprogramowania)
5. Zarządzanie projektem informatycznym (Narzędzia pracy grupowej-groupware, CVS, SVN, API, zarządzanie
projektami)
6. Dokumentacja procesu tworzenia oprogramowania oraz dokumentacja użytkowa (automatyczne
dokumentowanie, TODO, sposoby formatowania kodu, automatyczne formatowanie kodu, system pomocy dla
Windows, formaty hlp, chm, Windows Help)
7. Optymalizacja czasowa i pamięciowa programów (zasady ogólne, wyjątki i cechy charakterystyczne dla
wybranych języków, profiler, gprof, programy wielowątkowe)
8. Komunikacja program-użytkownik (.NET, VCL, wxWidgets, QT, podejście RAD, komponentowe, obiektowe,
interfejs wstążkowy, aplikacje dotykowe, Aero i Metro, wymagania specjalne: przygotowywanie aplikacji do
wykorzystania przez osoby niepełnosprawne)
9. Wdrożenie, utrzymanie i konserwacja oprogramowania (systemy zgłaszania błędów, programy instalacyjne:
InnoSetup, MSI, instalowanie w systemach MacOS, Linux, obsługa i funkcje rejestru Windows, zalecenia dla
programów zgodnych z Windows Vista/7, modele dystrybucji oprogramowania)
10. Ocena jakości oprogramowania (kryteria, metryki)
11. Projektowanie niezawodnego oprogramowania (czynniki, techniki zwiększające odporność na defekty,
programowanie zwinne (agile) oraz ekstremalne, wzorce projektowe)
Laboratorium
1.
Testowanie i uruchamianie
2.
Ocena i poprawa efektywności oprogramowania
3.
Komunikacja programów z użytkownikiem
4.
Zarządzanie projektem informatycznym, notacje wspomagające modelowanie
5.
Przygotowywanie programów instalacyjnych
6.
Tworzenie dokumentacji użytkowej oprogramowania
Literatura:
http://www.sroczynski.pl/index.php?tytul=liter&pkat=inzp
Uwagi i wnioski: [email protected]

Podobne dokumenty