Polsko-Japonska Wyzsza Szkola Technik Komputerowych

Wykladowca: Kazimierz SUBIETA (subieta@ipipan.waw.pl)

 

Cykl wykladow:

Budowa i integracja systemow informacyjnych

Skrot cyklu wykladow: BYT

 


Streszczenie cyklu wykladow:

Niniejszy cykl obejmuje pietnascie 90-cio minutowych wykladow. Stanowi on kontynuacje cyklu Projektowanie systemow informacyjnych (PRI). Jest on wprowadzeniem do roznych aspektow inzynierii oprogramowania. Wyklad jest zorganizowany wedlug faz zycia oprogramowania: faza strategiczna, faza wymagan uzytkownika, faza analizy, faza projektowania, faza konstrukcji, faza testowania oraz faza instalacji i konserwacji. Omowione sa takze zagadnienia wspolne dla wielu faz takie jak dokumentacja, zarzadzanie jakoscia oprogramowania, miary oprogramowania, zarzadzanie przedsiewzieciem programistycznym, oraz zarzadzanie konfiguracja oprogramowania.


Podziekowanie

Wyklady te sa rezultatem pracy wielu osob. Moja rola bylo zebranie rezultatow w (mam nadzieje) spojna calosc. Wykorzystano wiele materialow autorow zagranicznych, w szczegolnosci normy i zalecenia ANSI/IEEE dotyczace inzynierii oprogramowania. Bezposrednio wykorzystalem materialy stworzone przez nastepujacych polskich autorow (w kolejnosci alfabetycznej): Grzegorz Blizniuk, Janusz Gorski, Andrzej Jaszkiewicz, Marek Milosz, Bartosz Nowicki, Witold Staniszkis.


Semestry i roczniki

Wyklad ten powstal po uporzadkowaniu i rozszerzeniu poprzedniego wykladu WYT.

Wszystkie roczniki, ktore mialy WYT w semestrach przed semestrem letnim 2000, obowiazuje stary program wykladu WYT.

Semestr letni 2000, IV rok wieczorowy: Wyklady 1-8 ze starego cyklu WYT, wyklady 9-14 - z niniejszego cyklu BYT.


Materialy wszystkich wykladow w formacie PowerPoint skompresowane zipem.

Materialy te sa przedmiotem praw autorskich i nie moga byc wykorzystane do celow komercyjnych bez mojej zgody. Materialy te moga byc wykorzystane bez ograniczen przez pracownikow i studentow uczelni wyzszych prywatnych i panstwowych.


Przykladowe pytania testowe i egzaminacyjne (Word 97) (na razie niedostepne)


Kolejne wyklady i ich zawartosc (format PowerPoint)

Wyklad 1: Przedmiot inzynierii oprogramowania. Zagadnienia inzynierii oprogramowania. Kryzys oprogramowania. Walka z kryzysem oprogramowania. Zrodla zlozonosci projektu oprogramowania. Jak walczyc ze zlozonoscia ? Modelowanie pojeciowe. Perspektywy w modelowaniu pojeciowym. Co to jest metodyka (metodologia)? Cykl zyciowy oprogramowania. Modele cyklu zycia oprogramowania. Model kaskadowy (wodospadowy). Ocena modelu kaskadowego. Realizacja kierowana dokumentami. Model spiralny. Realizacja przyrostowa (odmiana modelu spiralnego). Prototypowanie. Metody prototypowania. Montaz z gotowych komponentow. Formalne transformacje

Wyklad 2: Faza strategiczna (studium osiagalnosci). Czynnosci w fazie strategicznej. Faza strategiczna - wspolpraca z klientem. Przyklad: program podatkowy. Przyklad: system informacji geograficznej - SIG. Przyklad: system harmonogramowania zlecen. Zakres i kontekst przedsiewziecia. Przyklady zakresu/kontekstu przedsiewziecia. Decyzje strategiczne. Studium osiagalnosci. Harmonogram przedsiewziecia. Ocena rozwiazan. Wybor rozwiazania. Drzewa ryzyka. Szacowanie kosztu oprogramowania. Techniki oszacowania nakladow pracy. Algorytmiczne modele szacowania kosztow. Metoda szacowania kosztow COCOMO. Metoda punktow funkcyjnych. Metoda Delphi i inne metody. Podsumowanie: kluczowe czynniki sukcesu. Podstawowe rezultaty fazy strategicznej.

Wyklad 3: Faza okreslania wymagan. Trudnosc okreslenia wymagan. Poziomy ogolnosci opisu wymagan. Jakosc opisu wymagan. Zalecenia dla fazy definicji wymagan. Metody rozpoznania wymagan. Wymagania funkcjonalne. Metody specyfikacji wymagan. Formularz wymagan funkcjonalnych. Porzadkowanie wymagan. Zstepujace konstruowanie hierarchii funkcji. Przyklad: program podatkowy. Program podatkowy: hierarchia funkcji. Przyklad: system harmonogramowania zlecen. System harmonogramowania zlecen: funkcje. Diagramy przypadkow uzycia. Przyklad: system informacji geograficznej - SIG. Diagram przypadkow uzycia dla SIG. Wymagania niefunkcjonalne. Formularz zapisu wymagan. Weryfikowalnosc wymagan niefunkcjonalnych. Czynniki uwzgledniane przy konstruowaniu wymagan niefunkcjonalnych. Dokument wymagan. Zawartosc dokumentu specyfikacji wymagan. Jakosc dokumentu wymagan. Slownik. Kluczowe czynniki sukcesu.

Wyklad 4: Faza analizy. Model analityczny. Cechy modelu analitycznego (logicznego). Czynnosci w fazie analizy. Tematy i techniki analizy. Wymagania na oprogramowanie. Reguly modelu logicznego opartego na funkcjach. Notacje w fazie analizie. Metodyki strukturalne. Metodyki obiektowe. Roznice pomiedzy metodykami. Notacja a metodyka. UML - przyklad notacji. Diagramy definiowane w UML. Proces tworzenia modelu obiektowego. Identyfikacja klas i obiektow. Obiekty, zbiory obiektow i metadane. Dokument wymagan na oprogramowanie. Plan zapewnienia jakosci dla fazy analizy. Kluczowe czynniki sukcesu fazy analizy. Podstawowe rezultaty fazy analizy.

Wyklad 5: Faza projektowania (1). Zadania wykonywane w fazie projektowania. Techniki obiektowe w projektowaniu. Dodatkowe elementy notacji. Uszczegolowianie wynikow analizy. Projektowanie skladowych systemu nie zwiazanych z dziedzina problemu. RAD - Rapid Application Development. Projektowanie interfejsu uzytkownika. Organizacja interakcji z uzytkownikiem. Typowe sposoby wydawania przez uzytkownika polecen systemowi. Wprowadzanie i wyprowadzanie danych. Przyklad okna dialogowego. Zasady projektowania interfejsu uzytkownika. Dwa funkcjonalnie rownowazne dialogi. Techniki/diagramy strukturalne.

Wyklad 6: Faza projektowania (2). Projektowanie skladowej zarzadzania danymi. Zalety baz danych. Wady relacyjnych baz danych. Niezgodnosc modelu obiektowego i relacyjnego. Optymalizacja projektu. Dostosowanie do ograniczen i mozliwosci srodowiska implementacji. Przyklad: obejscie braku wielo-dziedziczenia. Okreslenie fizycznej struktury systemu. Przyklad zaleznosci kompilacji dla C++. Graficzny opis sprzetowej konfiguracji systemu. Poprawnosc projektu. Poprawnosc diagramow klas i stanow . Jakosc projektu. Spojnosc. Stopien powiazania skladowych. Przejrzystosc. Wymagania niefunkcjonalne dla fazy projektowania. Kluczowe czynniki sukcesu fazy projektowania. Podstawowe rezultaty fazy projektowania. Narzedzia CASE w fazie projektowania. Zawartosc dokumentu projektowego. Modyfikowalnosc, ewolucja, odpowiedzialnosc. Dalsze zalecenia odnosnie DDP. Zawartosc DDP.

Wyklad 7: Faza implementacji. Niezawodnosc oprogramowania. Unikanie bledow. Niebezpieczne techniki. Zasada ograniczonego dostepu. Mocna kontrola typu. Tolerancja bledow. Porownywanie wynikow roznych wersji. Transakcje. Transakcja: jednostka dzialalnosci systemu. Srodowiska jezykow proceduralnych. Srodowiska jezykow obiektowych. Srodowiska relacyjnych baz danych. Srodowiska obiektowych baz danych. Srodowiska obiektowo-relacyjnych BD. Srodowiska programow uzytkowych. Czynniki sukcesu i rezultaty fazy implementacji. Narzedzia CASE w fazie implementacji.

Wyklad 8: Instalacja i konserwacja oprogramowania. Narzedzia CASE. Problemy podczas instalacji. Konserwacja oprogramowania. Modyfikacje ulepszajace. Analiza potrzeby wprowadzania modyfikacji. Koszty konserwacji oprogramowania. Czynniki redukcji kosztow konserwacji. Narzedzia i metody konserwacji oprogramowania. Odtworzenie diagramu klas na podstawie SQL. Odtworzenie diagramu klas na podstawie C++. Faza konserwacji - zglaszanie problemow. Faza konserwacji - zlecanie zmian. Faza konserwacji - ocena efektu zmian. Kluczowe czynniki sukcesu fazy konserwacji. Narzedzia CASE. Korzysci ze stosowania narzedzi CASE. Wielosrodowiskowe narzedzie I-CASE. Aspekty narzedzi CASE. Skladowe narzedzi CASE. Funkcje edytorow notacji graficznych. Repozytorium narzedzia CASE (slownik). Pozostale moduly narzedzi CASE. Ocena narzedzi CASE. Przyczyny trudnosci z narzedziami CASE. Wdrazanie i konfigurowanie pakietu CASE. Przeszkody we wdrazaniu CASE.

Wyklad 9: Testowanie, weryfikacja i atestowanie oprogramowania (1). Faza testowania. Weryfikacja oznacza... Zwiazek faz projektu z fazami testowania. Przeglady oprogramowania. Sklad zespolu oceniajacego oprogramowanie. Co to jest audyt? Aspekty audytu. Audyt projektu informatycznego. Przedmioty i perspektywy audytu. Inspekcje. Cechy inspekcji. Korzysci z inspekcji. Zagrozenia inspekcji. Przebieg inspekcji. Kroki inspekcji. Rodzaje testow. Blad i bledne wykonanie. Typowe fazy testowania systemu. Co podlega testowaniu ? Schemat testow statystycznych. Testowanie na zasadzie bialej skrzynki. Testowanie na zasadzie czarnej skrzynki.

Wyklad 10: Testowanie, weryfikacja i atestowanie oprogramowania (2). Okreslenie niezawodnosci oprogramowania. Oszacowanie niezawodnosci. Wzrost niezawodnosci oprogramowania. Wykrywanie bledow - rodzaje testow. Testy funkcjonalne. Kombinacja elementarnych warunkow. Eksplozja kombinacji danych testowych. Testy strukturalne. Testowanie programow zawierajacych petle. Programy uruchamiajace. Analizatory przykrycia kodu. Programy porownujace. Testy statyczne. Typowe bledy wykrywane statycznie. Ocena liczby bledow. Technika "posiewania bledow". Testy systemu. Testy pod obciazeniem, testy odpornosci. Bezpieczenstwo oprogramowania. Analiza bezpieczenstwa. Drzewo bledow. Techniki zmniejszania niebezpieczenstwa. Czynniki sukcesu, rezultaty testowania.

Wyklad 11: Zapewnienie jakosci oprogramowania. Co to jest "jakosc oprogramowania"? Trudnosci z ocena jakosci oprogramowania. TQM - zarzadzanie przez jakosc. Jakosc w terminologii ISO 9000. Polityka i system jakosci. Model jakosci ISO 9126. Zasady zarzadzania jakoscia. Zapewnienie Jakosci Oprogramowania (ZJO). Ryzyko utraty jakosci. Zadania zapewniania jakosci. Procesy obslugiwane przez personel ZJO. Personel ZJO powinien ustalic, czy... Zakres dzialan dla zapewnienia jakosci. Klasyfikacja zadan zapewnienia jakosci. Normy dotyczace jakosci. Norma IEEE-730. Model jakosci oprogramowania. Niedojrzalosc i dojrzalosc procesow wytworczych. CMM - model dojrzalosci procesu wytworczego. Glowne czynniki poprawy jakosci. Plan zapewnienia jakosci oprogramowania (PZJO). Styl, odpowiedzialnosc, sekcje PZJO. Spis tresci PZJO. Spis tresci PZJO - omowienie.

Wyklad 12: Miary oprogramowania. Pomiary oprogramowania. Elementy pomiaru oprogramowania - produkty. Elementy pomiaru oprogramowania - procesy. Elementy pomiaru oprogramowania - zasoby. Modele i miary wydajnosci ludzi. Ocena zlozonosci w planowaniu projektu. Efekt skali. Czynniki wplywajace na efekt skali. Etapy i koszty wytwarzania oprogramowania. Metoda szacowania kosztow COCOMO. Wady metody COCOMO. Analiza Punktow Funkcyjnych. UFP - nieskorygowane punkty. Korekcja Punktow Funkcyjnych. Skorygowane Punkty Funkcyjne. Kolejnosc obliczen Punktow Funkcyjnych. Przyklad obliczania punktow funkcyjnych. Aplikacje a Punkty Funkcyjne. Punkty Funkcyjne a pracochlonnosc. Wykorzystanie punktow funkcyjnych. Punkty Funkcyjne a jezyki baz danych. Punkty Funkcyjne a wydajnosc zespolu. Inne metody pomiarow i estymacji. Przyklady metryk oprogramowania. Wykorzystanie metod estymacyjnych. Podsumowanie.

Wyklad 13: Zarzadzanie przedsiewzieciem programistycznym (1). Zadania kierownictwa przedsiewziecia. Czynniki psychologiczne w inzynierii oprogramowania. Osobowosc tworcow oprogramowania. Cechy dobrego inzyniera oprogramowania. Rola skojarzen w pracy nad zlozonymi problemami. Rodzaje wiedzy. Nastawienie osob do pracy w zespole. Lojalnosc grupowa. Ergonomia pracy. Struktura zarzadzania firma programistyczna. Funkcje osob pracujacych nad oprogramowaniem. Organizacja zespolu programistycznego. Zapewnianie jakosci. Poziomy rozwoju firmy programistycznej. Dokumentacja procesu wytwarzania. Dokumentacja techniczna. Zarzadzanie wersjami. Miary produktywnosci. Harmonogramowanie przedsiewziec. Przykladowy diagram zaleznosci. Ekonomiczne aspekty dzialalnosci firmy.

Wyklad 14: Zarzadzanie przedsiewzieciem programistycznym (2). Aktywnosci w zarzadzaniu projektem. Kierownik projektu ... Cel i odpowiedzialnosc kierownika projektu. Interfejsy projektu. Planowanie projektu. Dane wejsciowe do planowania projektu. Zawartosc Planu Zarzadzania Projektem. Dokument Planu Zarzadzania Projektem. Oszacowanie zasobow i czasu trwania. Przykladowy diagram organizacji projektu. Techniczne zarzadzanie projektem. Zarzadzanie ryzykiem. Czynniki ryzyka. Tabela ryzyka. Macierz ryzyka. Pomiary procesow i produktow projektu. Analiza celow i definiowanie metryk. Metody estymacyjne. Biezace raportowanie. Metody raportowania - tabela postepu prac. Metody raportowania - wykres postepu. Narzedzia do zarzadzania projektem.

Wyklad 15: Zarządzanie konfiguracją i wersjami oprogramowania. Zarządzanie konfiguracją oprogramowania, ZKO. ZKO powinno zapewniać, że ... Zadania kierownictwa projektu w zakresie ZKO. Pozycja konfiguracji oprogramowania. Hierarchia pozycji konfiguracji. Aktywności ZKO. Produkt bazowy. Wersje (warianty). Konwencja identyfikacji konfiguracji. Co należy identyfikować jako pozycje konfiguracji, PK? Jak identyfikować pozycję konfiguracji? Odpowiedzialność za pozycje konfiguracji. Przechowywanie pozycji konfiguracji. Biblioteki/repozytoria pozycji konfiguracji. Kontrolowanie zmian konfiguracji. Określanie statusu konfiguracji. Przykład tablicy statusu konfiguracji. Recenzje (przeglądy) dokumentów. Wydanie (opublikowanie). Plan Zarządzania Konfiguracją Oprogramowania, PZKO. Zawartość PZKO (Wg normy ANSI/IEEE Std 828-1990).


Ostatnia aktualizacja tej strony: 20 listopada 2000

Kazimierz Subieta Home Page