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ę