- Nazwa przedmiotu:
- Metody wytwarzania oprogramowania
- Koordynator przedmiotu:
- mgr inż. Sylwester Pięta
- Status przedmiotu:
- Obowiązkowy
- Poziom kształcenia:
- Studia I stopnia
- Program:
- Zarządzanie i Inżynieria Produkcji
- Grupa przedmiotów:
- Technologie informatyczne
- Kod przedmiotu:
- METWY
- Semestr nominalny:
- 4 / rok ak. 2012/2013
- Liczba punktów ECTS:
- 3
- Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- Godziny kontaktowe 45h; przygotowanie do zajęć laboratoryjnych 15h; czas poza laboratorium 30h; przygotowanie do zaliczenia przedmiotu 15h. Razem 105h = 3 ECTS.
- Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
- 1
- Język prowadzenia zajęć:
- polski
- Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
- 2
- Formy zajęć i ich wymiar w semestrze:
-
- Wykład30h
- Ćwiczenia0h
- Laboratorium15h
- Projekt0h
- Lekcje komputerowe0h
- Wymagania wstępne:
- Słowa kluczowe:
system informacyjny, system informatyczny, projektowanie systemów informatycznych, szacowanie kosztó, cykl życia i struktura systemu informatycznego (SI), metody analizy, modelowania i projektowania: techniki strukturalne i obiektowe, metodyka tworzenia SI, komputerowo wspomagana inżynieria oprogramowania – CASE, U-Case, L-Case, zarządzanie projektem, metodologii Agile
- Limit liczby studentów:
- -
- Cel przedmiotu:
- Opanowanie przez studentów wiedzy z zakresu teorii, projektowania i wdrażania oprogramowania. Przedstawienie procesu związanego z tworzeniem i wykorzystywaniem systemów informatycznych - cyklu życia oprogramowania. Materiał obejmuje budowanie i zarządzanie projektem z zakresu informatyki i inżynierii oprogramowania, identyfikację i definicję wymagań oraz opis działań związanych z zapewnieniem odpowiedniej jakości powstającego oprogramowania. W ramach laboratorium studenci indywidualnie wykonują ćwiczenia oraz w zespołach tworzą projekt systemu stopniowo rozbudowując go o kolejne elementy zgodnie z zaproponowanym harmonogramem prac.
- Treści kształcenia:
- Wykład 30h:
2h -Wprowadzenie do zagadnień związanych z wytwarzaniem oprogramowania:
Modele cyklu życia oprogramowania. Model kaskadowy, model kierowania dokumentami, prototypowanie, programowania odkrywcze, realizacja przyrostowa, model spiralny (Boehma), formalne transformacje.
Definicja inżynierii oprogramowania. Porównanie z innymi sferami produkcji.
Wprowadzenie kryteriów jakości oprogramowania.
Omówienie relacji między zleceniodawcą a wykonawcą.
Kryzys oprogramowania. Przykłady niepowodzenia wdrożeń.
2h - Omówienie elementów składowych cyklu życia oprogramowania:
Faza strategiczna.
Faza określenia wymagań i faza analizy (modelowania).
Projektowanie.
4h - Modelowanie systemu informacyjnego z użyciem UML:
Metodyka obiektowa: Modelowanie danych. Diagramy klas.
Generowanie kodu klas w wybranym języku programowania.
Diagram aktywności, diagram stanu, diagram interakcji.
Metodyka strukturalna - Diagram związków encji, diagram przepływów danych (DPD).
2h – Projektowanie
Elementy aplikacji - moduły, warstwa sieciowa.
Tworzenie interfejsu użytkownika:
Ergonomia i funkcjonalność. Kolejność ułożenia i wypełniania pól. Kolorystyka i symbolika.
4h - Implementacja:
Języki programowania.
Zintegrowane Środowiska Programowania – IDE.
Niezawodność. Błędy - unikanie i wykrywanie, tolerancje błędów.
Optymalizacja kodu.
Środowiska uruchomieniowe.
2h - Dokumentacja:
Zasady tworzenia i dokumentowania projektów.
Dokumentacja użytkowa i wytwarzania. Forma i nośnik.
2h - Testowanie:
Testy statyczne. Testy funkcjonalne. Testy strukturalne. Ocena liczby błędów. Testy Systemu: wstępujące i zstępujące. Testy obciążenia i odporności. Bezpieczeństwo oprogramowania.
Jakość oprogramowania
2h - Wdrażanie, instalacja i konserwacja:
Środowiska testowe i produkcyjne. Modyfikowanie oprogramowania (poprawki, ulepszenia, dostosowania). Inżynieria odwrotna.
4h - Zarządzanie przedsięwzięciem programistycznym:
Zarządzanie kodem źródłowym. Nadzór rozgałęzień i scaleń ścieżek rozwojowych.
Budowa zespołu.
4h Metodyki „lekkie” przy tworzeniu oprogramowania:
Techniki programowania ekstremalnego
Agile. Programowanie zwinne: zasady, wzorce i praktyki zwinnego wytwarzania
2h Test zaliczeniowy
Laboratorium 15h:
1h - Wprowadzenie do laboratorium:
Poznanie narzędzi do modelowania systemu informacyjnego i zarządzania projektem
Omówienie koncepcji tworzonych projektów. Utworzenie zespołów i wybranie kierowników.
Przydzielanie tematów pracy projektowej.
1h - Projekt zespołowy - faza strategiczna:
Określenie celu budowania systemu i jego zakres, przewidywalne mierzalne i niemierzalne korzyści z jego wdrożenia.
Szacowanie kosztów utworzenia systemu.
Ustalenie podziału pracy pomiędzy poszczególnych uczestników zespołu.
Harmonogramowanie prac.
- Ćwiczenia laboratoryjne i praca nad projektem zespołowym.
2h - Wyodrębnianie obiektów i procesów w przedsiębiorstwie:
Zapis interakcji. Specyfikowanie wymagań funkcjonalnych.
Wymagania funkcjonalne, opis i zapis funkcji. Hierarchia funkcji.
Diagram przypadków użycia.
- Ćwiczenia laboratoryjne i praca nad projektem zespołowym.
2h - Modelowanie systemu informacyjnego z użyciem UML:
Metodyka obiektowa: Modelowanie danych. Diagramy klas.
Generowanie kodu klas w wybranym języku programowania.
Metodyka strukturalna - Diagram związków encji, diagram przepływów danych (DPD).
- Ćwiczenia laboratoryjne i praca nad projektem zespołowym.
2h - Modelowanie systemu informacyjnego z użyciem UML:
Metodyka obiektowa: Diagram aktywności, diagram stanu, diagram interakcji.
- Ćwiczenia laboratoryjne i praca nad projektem zespołowym.
2h - Tworzenie interfejsu użytkownika:
Ergonomia i funkcjonalność. Kolejność ułożenia i wypełniania pól. Kolorystyka i symbolika.
Interfejsy okienkowe i webowe. Zapoznanie się z dobrymi i złymi przykładami interfejsów.
- Ćwiczenia laboratoryjne i praca nad projektem zespołowym.
1h - Prace w ramach zespołów projektowych:
Budowa zespołu projektowego. Interakcje w zespole.
Dokumentacja.
Konsultacje i przegląd zaawansowania projektów.
1h -Projekt elementów sieci komputerowej:
- Ćwiczenia laboratoryjne i praca nad projektem zespołowym.
2h - Specyfikowanie wymagań niefunkcjonalnych i propozycja technologii informatycznych:
Wymagania niefunkcjonalne dla system.
Oszacowanie wielkości bazy danych, propozycja wymaganych czasów odpowiedzi, oszacowanie ilości i typów potrzebnych stanowisk pracy użytkowników systemu.
- Ćwiczenia laboratoryjne i praca nad projektem zespołowym.
2h - Zaliczenie laboratorium:
Prezentacja, omówienie i rozliczenie projektów zespołowych realizowanych na laboratorium.
- Metody oceny:
- Wykład – test sprawdzający wiedzę teoretyczną.
Laboratorium – projekt wykonywany w zespołach 2-3 osobowych, rozliczany etapami na podstawie przygotowywanego raportu.
- Egzamin:
- tak
- Literatura:
- Literatura:
• Jaszkiewicz A., - Inżynieria oprogramowania, Wyd. Helion, Gliwice 1997
• Górski J., - Inżynieria oprogramowania w projekcie informatycznym, Mikom, Warszawa 2000
• Bays M.E., - Metodyka wprowadzania oprogramowania na rynek, WNT, Warszawa 2001
• Spolsky J., - Projektowanie interfejsu użytkownika, Mikom, Warszawa 2001
• Yourdon E., - Marsz ku klęsce, poradnik projektanta systemu, WNT, Warszawa 1999
• Cockburn A., - Agile Software Development. Gra zespołowa. Wydanie II, Wyd. Helion, Gliwice 2008
• Robert C. Martin, Micah Martin, - Agile, - Programowanie zwinne: zasady, wzorce i praktyki zwinnego wytwarzania oprogramowania w C#, Helion, Gliwice 2008
Oprogramowanie:
• Sybase Power Designer
• MS Visio,
• MS Visual Studio,
• MS SQL Server Enterprise Edition.
- Witryna www przedmiotu:
- www.electurer.edu.pl
- Uwagi:
Efekty uczenia się
Profil ogólnoakademicki - wiedza
- Efekt MetWy_SP
- Opanowanie przez studentów wiedzy z zakresu teorii, projektowania i wdrażania oprogramowania. Przedstawienie procesu związanego z tworzeniem i wykorzystywaniem systemów informatycznych - cyklu życia oprogramowania. Materiał obejmuje budowanie i zarządzanie projektem z zakresu informatyki i inżynierii oprogramowania, identyfikację i definicję wymagań oraz opis działań związanych z zapewnieniem odpowiedniej jakości powstającego oprogramowania.
Weryfikacja: Wykład – test sprawdzający wiedzę teoretyczną. Laboratorium – projekt.
Powiązane efekty kierunkowe:
K_W14, K_W18
Powiązane efekty obszarowe:
T1A_W07, T1A_W04
Profil ogólnoakademicki - umiejętności
- Efekt Wpisz opis
- Posiada wiedzę niezbędną do zrozumienia procesów zachodzących od powstania zapotrzebowania na rozwiązanie informatyczne do jego wdrożenia i eksploatacji.
Weryfikacja: Zaliczenie pracy projektowej.
Powiązane efekty kierunkowe:
k_U02, k_U03
Powiązane efekty obszarowe:
T1A_U01, T1A_U11
Profil ogólnoakademicki - kompetencje społeczne
- Efekt Wpisz opis
- Umie brać udział w realizacji projektu zespołowego. Zna swoje umiejętności i realizuje określone zadania w grupie.
Weryfikacja: Zaliczenie pracy projektowej.
Powiązane efekty kierunkowe:
Powiązane efekty obszarowe: