przedsięwzięcia informatyczne w zarządzaniuzp.lo3.wroc.pl/zim/semestry/sem6/piwz/w1.pdf ·...

Post on 28-Feb-2019

218 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

GHJ 1

Przedsięwzięcia Informatyczne w Zarządzaniu

2005/06

dr inż. Grażyna Hołodnik-Janczura

GHJ 2

LITERATURA

1. Praca zbiorowa p.r. Górski J., Inżynieria oprogramowania, MIKOM, W-wa, 2000

2. Jaszkiewicz A., Inżynieria oprogramowania, Helion, 1997

3. Pressman R.S., Praktyczne podejście do inżynierii oprogramowania, WNT, W-wa, 2004

4. Cadle J, Yestes D., Zarządzanie procesem tworzenia systemów informacyjnych, WNT, W-wa, 2004

5. Phillips J. Zarządzanie projektami IT, HELION, Gliwice, 2005

6. Kompendium wiedzy o zarządzaniu projektami, PMBOK Guide, 2000 Edition – przekład, MT&DC, W-wa, 2003

GHJ 3

LITERATURA

1. Barker R., Longman C., CASE*Method: Modelowanie funkcji i procesów, WNT, W-wa, 1996

2. Barker R., CASE*Method: Modelowanie związków encji, WNT, W-wa, 1996

3. Rodgers U., Oracle – przewodnik projektanta baz danych, WNT, 1995

4. Wrycza S., Analiza i projektowanie systemów informatycznych zarządzania, PWN, W-wa, 1999

GHJ 4

Zagadnienia

• Modele cyklu życia• Metody i narzędzia zarządzania projektem

programistycznym• Mierzenie oprogramowania • Metoda FP – zastosowanie• Modele i metody szacowania • Metody zapewniania jakości oprogramowania• Narzędzia CASE • Wybrane elementy projektowania systemu

informatycznego

GHJ 5

Inżynieria oprogramowania [IEEE]

• Dziedzina wiedzy zajmująca się badaniem i opracowywaniem metod.• Zastosowanie

• systematycznego,• zdyscyplinowanego,• poddającego się ocenie ilościowej

• podejścia do• wytwarzania,• stosowania,• i pielęgnacji oprogramowania.

GHJ 6

Warstwy inżynierii oprogramowania

Narzędzia

Metody

Proces wytwórczy

Zapewnianie jakości

GHJ 7

Proces wytwórczy

• Proces tworzenia oprogramowania– schemat wykonywania zadań koniecznych do

wytworzenia dobrego oprogramowania• Model procesu wytwórczego oprogramowania

– model cyklu życia

GHJ 8

Cykl życia procesu wytwórczego oprogramowania

• Podstawowe fazy cyklu życia– definiowanie wymagań– projektowanie– budowa– wdrożenie

• Rodzaje modeli cyklu życia– sekwencyjne– iteracyjne

GHJ 9

Cykl życia projektu i produktu

• Cykl życia projektu – zbiór etapów projektu przeprowadzanych w określonym porządku, od pomysłu na projekt aż do jego zakończenia

• Cykl życia produktu – zbiór etapów produktu przeprowadzanych w określonym porządku, od pomysłu na produkt do jego wykonania wraz z jego eksploatacją, aż do jej zaniechania

GHJ 10

Model kaskady

Programowanie i testowanie jednostek

Analiza i definiowaniewymagań

Projektowanie systemui oprogramowania

Integracja i testowaniesystemu

Instalacja i pielęgnacja systemu

GHJ 11

Zalety i wady modelu kaskadowego

• Podejście sekwencyjne• Ułatwia śledzenie i kontrolę postępów• Zapewnia komplet dokumentów• Ogniskuje uwagę na produktach pośrednich• Odpowiedni dla krótko trwających procesów

• Brak weryfikacji między etapami• Założenie o wykonaniu poprawnej specyfikacji na początku prac• Duży odstęp czasu od zakończenia specyfikacji do wdrożenia

GHJ 12

Zmodyfikowany model kaskadowy

Kodowanie/ Testowanie jednostek

Analiza i definiowaniewymagań/ Zatwierdzenie

Projektowanie systemu i oprogramowania/ Weryfikacja

Integracja / Testowanie i Weryfikacja

Działanie i pielęgnacja/ Ponowne zatwierdzenie

Wdrożenie/ Testowanie

GHJ 13

Model VSpecyfikacja

Projekt systemu

Projekt podsystemu

Projekt modułu

Kodowanie, wstępne testowaniemodułu

Test akceptacji

Integracja i walidacjasystemu

Integracja i weryfikacjapodsystemu

Testowanie modułu

GHJ 14

Zalety i wady modelu V

• Sprzężenie procesów weryfikacji i walidacji z etapami podstawowymi

• Sekwencyjne etapy, których rozpoczęcie zależy od zakończenia poprzedniego

GHJ 15

Podejście prototypowania

• Prototyp jest częściową implementacją systemu, wyrażoną logicznie lub fizycznie, prezentowany za pomocą zewnętrznego interfejsu

• Może składać się z ekranów, raportów i menu prawdziwego systemu, faktycznie nie wykonuje wszystkich funkcji systemu

GHJ 16

Zalety i wady prototypowania

• Na etapie analizy pozwala na ustalenie prawdziwych potrzeb klienta, wspomaga weryfikację specyfikacji wymagań,

• Na etapie projektowania wspomaga podjęcie decyzji projektowych

• Trudności w zastosowaniu do dużych systemów (małe systemy lub na poziomie podsystemów)

• Trudności w określeniu liczby iteracji• Niebezpieczeństwo pozostawienia tymczasowych

rozwiązań

GHJ 17

Prototypsystemu

Prototypwymagań

Prototyp projektu

Testowanie

Listazmian

Model prototypowania

Wymagania systemuCzęsto niekompletneI nieformalne

Wykonanysystem

przeglądprzezużytkownika

Zmiana prototypu

Listazmian

Listazmian

GHJ 18

Podejście iteracyjne

• Wymagania i projekt są modyfikowane poprzez serie iteracji prowadzących do otrzymania systemu satysfakcjonującego rozwijające się potrzeby klienta

• Spotkania „sprzężenia zwrotnego” i zasada wzajemnego uczenia się

• Umożliwia większe zrozumienie definicji wymagań przez klienta

• Umożliwia rozpoczęcie tworzenia dla podzbioru wymagań - analiza każdego produktu pośredniego

GHJ 19

Model ewolucyjny

Ogólny zarys

Pierwsza wersja

Wersja końcowa

Pośrednie wersje

Specyfikacja

Tworzenie

Testowanie

Równoległe działania

GHJ 20

Cechy modelu ewolucyjnego

• powtarzalność części procesu• uwzględnienie częstych zmian wymagań –

ewolucyjna natura oprogramowania• umożliwia zrozumienie trudnych szczegółów

wymagań• umożliwia wydanie ograniczonej wersji

produktu w przypadku presji czasu

GHJ 21

Kumulacjakosztów

Określenie celów, alternatyw,ograniczeń

Wzrostprzez kroki

Szacowanie alternatyw,identyfikacja, redukcja ryzykaAnaliza ryzyka

Analiza ryzyka

Analiza ryzyka

A R P1 P2

P3

P1,2,3 - prototypy

Dobryprototyp

Przeglądczęści

Planowanie następnej fazy/ iteracji

Tworzenie, weryfikacjaproduktu następnego poziomu

Plan cyklużycia

Plan wykonania

Plan testowania integracji

Koncepcjadziałania

Zatwierdzeniewymagań

Zatwierdzenie i weryfikacjaprojektu

Implementacja

Testakceptacji

Integracja i testowanie

Testowaniejednostek

Kod

SzczegółowyprojektProjekt

programu

Symulacje Modele

Porównania

Wymagania

GHJ 22

Zalety i wady modelu spiralnego

• Proces iteracyjny• Każde okrążenie dotyczy jednego elementu produktu – duże

projekty• Umożliwia zmiany w rozwoju produktu – zarządzanie zmianami• Konieczność zarządzania ryzykiem• Wczesna eliminacja błędów• Umożliwia wykorzystanie podejścia prototypowania• Powtórne wykorzystanie wcześniej wykonanych części• Każdy cykl zakończony przeglądem wykonanym przez

kluczowych członków zespołu• Wymaga dużej wiedzy i doświadczenia od kierownika procesu• Trudności w opracowaniu i kontroli kontraktu

GHJ 23

Składanie z powtarzalnych komponentów

• Technika zakłada istnienie gotowych części systemu, nazywanych komponentami

• Wykorzystanie podobieństwa tworzonego oprogramowanie do posiadanych komponentów

• Możliwość zastosowania na etapie analizy i projektowania (narzędzia CASE), a szczególnie implementacji

• Zmniejszenie w znacznym stopniu ryzyka• Zapewnienie standardów• Redukcja nakładów, skrócenie procesu wytwórczego• Konieczność rozwiązywania problemów integracji

GHJ 24

Komponent

• jednostka programistyczna wykonywalna, która jest niezależnie– produkowana– sprzedawana– rozbudowywana

• posiadająca określone interfejsy i jawne zależności kontekstowe

• odpowiada klasie lub zbiorowi kilku klas w programowaniu obiektowym

GHJ 25

Fazy etapu tworzenia w modelu komponentowym

Identyfikacjaodpowiednichkomponentów

Sprawdzaniedostępnościkomponentów

Wybórdostępnychkomponentów

Wytworzenieniedostępnychkomponentów

Dodanie nowychkomponentówdo biblioteki

Konstrukcjan-tej iteracjisystemu

GHJ 26

Język formalny

• symbol – obiekt abstrakcyjny, np. litera, cyfra, znak graficzny

• łańcuch (słowo) – skończony ciąg symboli• alfabet – skończony zbiór symboli (∑)• język (formalny) - zbiór łańcuchów złożonych

z symboli jakiegoś jednego alfabetu (∑*)• Przykład

jeżeli ∑ = {a}, to ∑* = {ε, a, aa, aaa, ...}, gdzie ε – słowo puste

GHJ 27

Formalna transformacja

• Wykonanie specyfikacji wymagań systemu w języku formalnym

• Automatyczne przekształcenie formalnej specyfikacji do postaci pseudokodu, a następnie kodu programu w określonym języku programowania

• Poszczególne etapy cyklu życia są realizowane w sposób indywidualny, zależny od złożoności obliczeniowej problemu

Formalnaspecyfikacja

wymagań

Postaćpośrednia

Postaćpośrednia Kod…

GHJ 28

Zalety i wady formalnej transformacji

• Wysoka niezawodność pod warunkiem bezbłędnej specyfikacji

• Przeniesienie trudności programowania na etap specyfikacji wymagań

• Prawdopodobna mała efektywność uzyskanego kodu

• Brak uniwersalnych języków formalnej specyfikacji

GHJ 29

RADang. Rapid Application Development

• szybkie wytworzenie kompletnego produktu• podejście liniowe z iteracją, możliwość

wykorzystania prototypowania• wprowadzenie do zarządzania projektem

powiązania kwalifikacji i motywacji zespołu z celami uzyskiwanymi w określonym czasie

GHJ 30

Model RAD

Modelowaniedziałalności

Modelowaniedanych

Modelowanieprocesów

Generowanieaplikacji

Testowaniei wdrożenie

Zespół 1

Zespół 2

60 – 90 dni

Modelowaniedziałalności

Modelowaniedanych

Modelowanieprocesów

Generowanieaplikacji

Testowaniei wdrożenie

Modelowaniedziałalności

Modelowaniedanych

Modelowanieprocesów

Generowanieaplikacji

Testowaniei wdrożenie

Zespół 3

GHJ 31

Zastosowanie i wymagania RAD

• Zastosowanie– szybko zmieniające się wymagania– ograniczony czas wykonania– do wybranych części aplikacji

• Nie stosować do przedsięwzięć– związanych z dużym ryzykiem,– z wymaganiem wysokiej efektywności

• Wymagania– modułowość systemu– zastosowanie narzędzi CASE, gotowych komponentów

wielokrotnego użycia– zwiększenie produktywności zespołu– wysoka jakość zasobów– duże zaangażowanie użytkownika w przeglądy

GHJ 32

Przykładowy model „V”

Specyfikacjawymagań

SpecyfikacjaSzczegółowaspecyfikacjawymagań

Rozpoczęcieprzedsięwzięcia

Wstępnakoncepcja

Projektowaniearchitektury o.

Projekt

Szczegółoweprojektowanie

Projektmodułu

Kodowaniei testowanie jednostek

EwolucjaFaza wynikowaproduktu

Sprawdzonysystem

Scalaniei testowanie

Scaloneoprogramowanie

Scalanie i testowanieoprogramowania

Działającemoduły

Testowanieakceptacyjne

Pielęgnowanie

Kontrolajakości

Kontrolajakości

Przetestowany systemłącznie z akceptacjąi przekazaniem

Przetestowaneoprogramowanie

GHJ 33

Relacje cykli życia

Planowaniekierunków

Identyfikacjapotrzeb

Koncepcjaprojektu Realizacja

Serwisowanie

produktuWycofanie

Cykl życia organizacji

Studiumwykonalności Wytwarzanie Eksploatacja Wycofanie

Cykl życia produktu

Inicjacja Planowanie Wdrożenie Zamknięcie

Cykl życia projektu

GHJ 34

Podział projektu na etapy

• Podział cyklu życia projektu na etapy ze względu na usprawnienie zarządzania

• Każdy etap wyznaczony przez ukończenie jednego lub kilku produktów pośrednich

• Produkt pośredni – wymierny, konkretny i sprawdzalny rezultat lub przedmiot, np.. studium wykonalności, dokumentacja techniczna, prototyp

• Produkt pośredni i etapy tworzą logiczną sekwencję prowadzącą do produktu końcowego

GHJ 35

Wybór modelu cyklu życia projektu

I. Rozpoznanie istniejących modeliII. Przegląd i analiza rodzaju prac: tworzenie,

rozwijanie, pielęgnacja, …III. Wybór modelu według listy kryteriówIV. Dostosowanie modelu cyklu życia projektu do

indywidualnych potrzeb

GHJ 36

Kryteria wyboru modelu

• ryzyko• czas na wykonanie• niezawodność• klarowność wymagań• technologia, rozmiar i złożoność• interfejs użytkownika• priorytety użytkownika• spodziewany czas życia systemu• potencjalna równoległość• interfejsy z istniejącymi lub nowymi systemami

GHJ 37

Dostosowanie modelu cyklu życia projektu do indywidualnych potrzeb

• Przegląd modelu ze względu na zgodność ze standardami obowiązującymi w organizacji (ISO, IEEE, SEI)

• Identyfikacja faz i zadań• Zapewnienie produktów technicznych i zarządczych• Określenie szablonów i zawartości dokumentów• Określenie punktów przeglądu, inspekcji, weryfikacji,

walidacji i kamieni milowych• Oszacowanie efektywności ramowego szkicu modelu

i jego poprawa

top related