- 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. 2010/2011
- Liczba punktów ECTS:
- 3
- 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:
- Słowa kluczowe:
system informacyjny, system informatyczny, 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:
- Przedmiot składa się z jednostki wykładowej oraz laboratorium. Wykłady oparte są na prezentacjach multimedialnych prezentowanych przez prowadzącego. 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 15h:
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.
2h - Implementacja:
Języki programowania.
Zintegrowane Środowiska Programowania – IDE.
Niezawodność. Błędy - unikanie i wykrywanie, tolerancje błędów.
Optymalizacja kodu.
Środowiska uruchomieniowe.
1h - Dokumentacja:
Zasady tworzenia i dokumentowania projektów.
Dokumentacja użytkowa i wytwarzania. Forma i nośnik.
1h - 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.
2h - Zarządzanie przedsięwzięciem programistycznym:
Zarządzanie kodem źródłowym. Nadzór rozgałęzień i scaleń ścieżek rozwojowych.
Budowa zespołu.
2h Metodyki „lekkie” przy tworzeniu oprogramowania:
Techniki programowania ekstremalnego
Agile. Programowanie zwinne: zasady, wzorce i praktyki zwinnego wytwarzania
1h Test zaliczeniowy
Laboratorium 30h:
2h - 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.
2h - 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.
4h - 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.
6h - 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.
4h - 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.
3h - Prace w ramach zespołów projektowych:
Budowa zespołu projektowego. Interakcje w zespole.
Dokumentacja.
Konsultacje i przegląd zaawansowania projektów.
3h -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:
- 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:
- Uwagi:
Efekty uczenia się