Podstawy Inżynierii Oprogramowania
Bibliografia
Publications
2006
- Steve McConnel, Software Estimation - Demystifying the Black Art, 2006
2005
- John Vlissides Erich Gamma, Wzorce Projektowe, 2005
2004
- Roger S. Pressman, Praktyczne podejście do inżynierii oprogramowania, 2004
- Ian Sommerville, Inżynieria oprogramowania, 2004
2002
- Ivar Jacobson Grady Booch James Rumbaugh, UML – przewodnik użytkownika, 2002
Plan wykładów
- Co to jest inżynieria oprogramowania?
- System Informacyjny
- Modelowanie Systemów
- Inżynieria Systemów
- Inżynieria procesu biznesowego
- Planowanie, analiza biznesowa, inżynieria aplikacji, wykonanie
- Analiza Strategiczna i Biznesowa
- Inżynieria Produktu i Wymagań
- Modelowanie Systemów
- Produkt, Proces, Zarządzanie
- Co to jest oprogramowanie, dziedziny zastosowań
- Sprzęt i Oprogramowanie
- Fakty i Mity
- Proces wytwórczy
- CMM
- ISO
- Modele procesów wytwórczych
- Zarządzanie, zespół, ludzie, kluczowe praktyki
- Zarządzanie zespołem, Harmonogramowanie, Metryki
- Zarządzanie zespołem projektowym
- Modele zespołu
- Planowanie przedsięwzięcia
- Harmonogramowanie
- Wykresy i diagramy harmonogramów
- Metoda PERT/CPM, diagramy Gantta
- Metryki ilościowe i funkcyjne
- Planowanie, prognozowanie
- Planowanie projektu informatycznego
- Prognozowanie przebiegu przedsięwzięć informatycznych
- Klasyczne modele prognostyczne
- Model COCOMO
- Model empiryczny
- Inne modele
- Podejmowanie decyzji na podstawie estymat
- Zarządzanie ryzykiem
- Jakość oprogramowania i Analiza wymagań
- Zarządzanie jakością oprogramowania
- Jakość procesu i produktu
- Standardy, Przeglądy
- Inżynieria wymagań
- Rodzaje wymagań, sposób zapisu wymagań
- Analiza wymagań
- Akwizycja wymagań
- Wymagania a jakość oprogramowania
- Wymagania, Analiza strukturalna
- Analiza wymagań, prototypowanie
- Modelowanie analityczne
- Modelowanie danych
- Obiekty, Obiekty danych
- Diagram ERD
- Diagram DFD
- Diagram kontekstowy, zerowy, procesów
- Diagram STD
- Diagram FHD
- Inne notacje
- Podstawy projektowania
- Wymagania vs projekt
- Zasady projektowania
- Projektowanie – pojęcia
- Cechy modułu
- Projektowanie architektury
- Modele architektoniczne
- klient-serwer
- model bazodanowy
- modele scentralizowane i rozproszone
- Projektowanie interfejsu
- Projektowanie interfejsu użytkownika
- UI, GUI (Graphical User Interface)
- Zasady projektowania UI, GUI
- Prezentacja informacji, sposoby prezentacji
- Elementy GUI
- Narzędzia projektowania GUI
- Kolor UI, system pomocy użytkownika
- Interfejs WWW
- Ocena interfejsu
- Projektowanie obiektowe
- Podejście obiektowe, pojęcia OOA, OOD, OOP
- Obiekt, powiązania między obiektami
- Klasa,
- Operacja, metoda, komunikat,
- Polimorfizm, dziedziczenie, enkapsulacja
- UML, Diagramy UML, Stereotypy
- Przypadki użycia, zapis tekstowy, tabelaryczny, diagramy przypadków użycia
- Generalizacja, include, extend
- Modelowanie otoczenia systemu, modelowanie wymagań
- UML - Diagramy klas
- Klasa i obiekt
- Nazwy klas, atrybuty, operacje, metody
- Odpowiedzialności
- Słownictwo systemu, typy danych
- Nie programowe elementy systemu
- Związki i relacje
- Uogólnienie, powiązanie, agregacja, kompozycja
- Dziedziczenie
- Interfejs, klasy abstrakcyjne, szablony klas (metaklasy)
- Ograniczenia operacji i atrybutów
- Stereotypy standardowe
- UML - Diagramy stanów
- Diagram stanów
- Zdarzenia i sygnały
- Wywołanie
- Upływ czasu i zmiana stanu
- Zdarzenie czasowe
- Modelowanie rodziny sygnałów
- Wyjątek
- Modelowanie rodziny wyjątków
- Diagram stanów – stan, przejście, akcja
- Podstany, wznowienia, podstany współbieżne
- UML - Diagramy interakcji i czynności
- Diagramy interakcji
- interakcja i komunikat, wywołanie, rodzaje akcji
- powiązanie i wiązanie, stereotypy powiązań
- diagram przebiegu i diagram kooperacji (kolaboracji)
- proceduralny przepływ sterowania, rozgałęzienia
- etykieta komunikatu
- iteracja na diagramach interakcji
- współbieżność na diagramie kolaboracji
- Diagramy czynności
- Akcje i czynności, współbieżność, sposoby przedstawiania rozgałęzień
- Rozwidlenie i scalenie
- Tory, modelowanie przepływu obiektów na diagramie czynności
- Wprowadzenie do Rational Unified Process i nie tylko
- Co to jest RUP?
- Rational Unified Process
- Kto używa RUP?
- Dwa wymiary RUP - elementy
- Statyczny
- Elementy perspektywy (wymiaru) statycznego
- Dynamiczny
- Elementy perspektywy (wymiaru) dynamicznego
- Dobre praktyki RUP
- Model architektury systemu w RUP
- Inne metodologie
- AUP - Agile Unified Process
- Agile Manifesto Principles
- MSF - Microsoft Solution Framework
- modele
- planowania
- zespołów
- zarządzania
- obszary kontroli
- proces
- fazy: wizji, planowania, konstrukcji, testowania, stabilizacji, wdrożenia
- Wykład podsumowujący