- Nazwa przedmiotu:
- Podstawy inżynierii oprogramowania
- Koordynator przedmiotu:
- dr inż. Włodzimierz Dąbrowski, wlodzimierz.dabrowski@ee.pw.edu.pl, +48222347075
- Status przedmiotu:
- Obowiązkowy
- Poziom kształcenia:
- Studia I stopnia
- Program:
- Informatyka
- Grupa przedmiotów:
- Wspólne
- Kod przedmiotu:
- Semestr nominalny:
- 2 / rok ak. 2009/2010
- Liczba punktów ECTS:
- 4
- Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
- Język prowadzenia zajęć:
- polski
- Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
- Formy zajęć i ich wymiar w semestrze:
-
- Wykład30h
- Ćwiczenia0h
- Laboratorium15h
- Projekt0h
- Lekcje komputerowe0h
- Wymagania wstępne:
- Podstawy informatyki
- Limit liczby studentów:
- Cel przedmiotu:
- Po zajęciach student powinien rozumieć procesy projektowania i wytwarzania oprogramowania ; umieć dokonać wyboru narzędzi wspomagających wytwarzanie oprogramowania i modelu procesu wytwarzania oprogramowania, umieć pozyskiwac i specyfkować wymagania na system informatyczny w ujęciu podstawowym, rozumieć procesy przeglądu i testowania oprogramowania i umieć zaplanować i i dokumentować podstawowe testy oprogramowania, umieć planować i zarządzać konfiguracją oraz planować w zakresie podstawowym proste przedsięwzięcie programistyczne. Student powinien równeż rozumieć problematykę zapewnienia jakości oprogramowania, doboru podstawowych metryk oprogramownia oraz posługiwania się podstawowymi wzorcami projektowymi.
- Treści kształcenia:
- Wykład
1. Modele wytwarzania oprogramowania
Wprowadzenie do inżynierii oporgramowania. Miejsce inzynierii oprogramowania w naukach informatycznych. Kryzys oprogramowania. Złożoność systemów informatycznych. Cykle zyciowe oprogramowania. Dobór modelu wytwarzania do rodzaju projektu.
2. Faza strategiczna w produkcji oprogramowania
Identyfikacja celu i zakresu projektu informatycznego. Studium osiągalności. Role w projekcie informatycznym. Analiza wariantów strategicznych. Dokumentowanie projektu i podstawowe dokumenty projektowe. Kryteria sukcesu fazy strategicznej.
3. Pozyskiwanie i dokumentowanie wymagań
Czym są a czym nie są wymagania na system informatyczny. Podział i klasyfikacja wymagań. Metody pozyskiwania wymagań. Wywiady z użytkownikiem. Karty CRC. Metoda przypadków użycia. Pojęcie aktora i użytkownika systemu. Strukturalny opis przypadku użycia. Dokumentowanie wymagań. Cechy dobrych i złych dokumentów wymagań.
4. Języki modelowania systemów informatycznych
Podejście strukturalne. Podejście zorientowane obiektowo. Pojęcie klas i obiektów. Proste asocjacje. Elementy notacji UML. Modelowanie struktury i aspektów behawioralnych systemów. Podstawy diagramu klas.
5. Modelowanie dynamiki i architektury systemów
Kominikaty. Wymina komuniaktów. Proste diagramy sekwencji i diagramy stanu. Obrazowanie komponentów i części składowych systemu. Diagramy wdrożeniowe.
6. Narzędzia inżynierii oprogramowania
Wsparcie planowania i śledzenia przedsięwzięica informatycznego. Diagramy sieciowe i diagramy Gantta. Narzędzia CASE. Przykłady narzędzi CASE i RAD. Modelowanie wizualne. Środowiska IDE.
7. Wersjonowanie i konfiguracja oprogramowania
Pojęcie wersjoowania i konfiguracji. Pozycje konfiguracji. Produkty bazowe i wydania oprogramowania. Zarządzanie konfiguracją. Metody wersjonowania kodu. Narzędzia wspierające zarządzanie konfiguracją.
8. Testowanie i weryfikacja oprogramowania
Rodzaje testów. Przygotowanie i dokumnetowanie testów. meotdy weryfikacji oprogramowania. Przeglądy koleżeńskie, inspekcje i audyty. Elementy zarządzania jakością oprogramowania. Dobre i złe praktyki programistyczne.
9. Metryki oprogramowania
Pomiary w inżynierii oprogramowania. Metryki i rodzaje metryk. Metoda COCOMO, FPA i inne.
10. Projektowanie i programowanie interfejsu użytkownika
Rodzaje interakcji człowiek komputer. Typy interfejsów. Komponnety interfejsu użytkownika. Cechy dobrych i złych interfejsów uzytkownika. Wzorce w projektowaniu interfejsów.
11. Architektura systemów informatycznych
Rózne architektury systemów informatycznych. Cechy architektury. Kryteria doboru architektury systemu. Narzędzia dokumentowania architektury. inżynieria odwrotna.
12. Wzorce projektowe
Pojęcie wzorca projektowego. Potrzeba stosowania i studiowania wzorców projektowych. przykłady prostych wzorców projekowych: MVC, adapter, fasada, fabryka abstrakcyjna.
13. Organizacja przedsięwzięcia programistycznego
Zespół projektowy. Metodyczne podejście do prowadzenia projektów. Plan prjektu. Narzędzia planowania i śledzenia projektu. Praca zespołowa i narzędzia wspomagające pracę zespołową. Kontrola w projekcie.
14. Rozwój inżynierii oprogramowania
Przgląd pozostałych obszarów inżynierii oprogramowania. Problemy i perspektywy inżynierii oprogramowania. Obszary bdawcze inżynierii oprogramowania.
Laboratorium
1. Narzędzia wspomagające wytwarzanie oprogramowania
2. Dokumentowanie wymagań
3. Projektowanie w narzędziach CASE
4. Planowani testów i ich dokumentowanie
5. Metryki oprogramowania
- Metody oceny:
- brak
- Egzamin:
- Literatura:
- 1. W. Dąbrowski, A.Stasiak, M.Wolski, Modelowanie systemów w języku UML 2.1, PWN 2007
- Witryna www przedmiotu:
- Uwagi:
Efekty uczenia się