Wytwórstwo oprogramowania 3

29
Wytwórstwo oprogramowania 3 Jarosław Deminet

description

Wytwórstwo oprogramowania 3. Jarosław Deminet. Powszechna wiedza. Komputery są wszystkiemu winne, czyli jak działa czarownica ( Prawo Demineta ) Informatyka zaczyna się tam, gdzie coś przestaje działać ( Prawo Pacholczyka ) - PowerPoint PPT Presentation

Transcript of Wytwórstwo oprogramowania 3

Page 1: Wytwórstwo oprogramowania 3

Wytwórstwo oprogramowania 3

Jarosław Deminet

Page 2: Wytwórstwo oprogramowania 3

Powszechna wiedza

• Komputery są wszystkiemu winne, czyli jak działa czarownica (Prawo Demineta)

• Informatyka zaczyna się tam, gdzie coś przestaje działać (Prawo Pacholczyka)

• Żadne przedsięwzięcie informatyczne nie kończy się tak, jak powinno (czas/budżet, zakres, jakość)

• Każde przedsięwzięcie może być sukcesem (Prawo Ciećwierza)

Page 3: Wytwórstwo oprogramowania 3

Fakty

• Gdzie bylibyśmy bez komputerów • Było źle, ale idzie ku lepszemu

Page 4: Wytwórstwo oprogramowania 3

Kłopoty

• Jak opisać zakres (zmiany są pewne!)• Jak oszacować czas• Jak oszacować budżet

Page 5: Wytwórstwo oprogramowania 3

Problemy świata

• Krótka historia (pierwszy most – ?, pierwszy tunel – 700 pne, pierwszy program – 1843 , następne ok. 1945)

• Ciągłe i szybkie zmiany technologiczne, nowe możliwości

• Wielka różnorodność• Wielki udział faz intelektualnych (trudnych

do oceny) w koszcie całości

Page 6: Wytwórstwo oprogramowania 3

Nie my jedni mamy problemy

• Eurotunel– przetarg – 1985– rozpoczęcie prac – 1987– zakończenie – 1993 – 1994 (+17%)– planowany koszt – 4,9 G £ – 12 G £ (+145%)– zmiana szerokości drzwi z 60 na 70 cm

– 40 M £ i 9 miesięcy opóźnień projektowych

Page 7: Wytwórstwo oprogramowania 3

Nie my jedni mamy problemy

• Lotnisko w Atlancie– 1977 – 1980 zgodnie z czasem i budżetem

(500 M $)– 2003 – 20?? wpadka

Page 8: Wytwórstwo oprogramowania 3

Cykl życia

Czego chcą?

Co zrobić?

Jak?

Strategia biznesowa

Wymagania

Specyfikacja

Projekt

Wykonanie i wdrożenieCzy warto?

Po co?

Page 9: Wytwórstwo oprogramowania 3

Ocena kosztów

• Po fakcie (wariant amerykański)– za roboczogodzinę– za wiersz kodu – za formatkę ekranową

• Trudna ocena efektywności• Konsekwencja: ucieczka za granicę

Page 10: Wytwórstwo oprogramowania 3

Prognozowanie kosztów

• Przewidywanie jest trudne, zwłaszcza przyszłości (II zasada Stokalskiego)

• Metoda ekspercka, czyli sufitowa• Wg wymagań biznesowych• Wg obiektów analitycznych (zbiory

danych, strumienie danych, zapytania) – Metoda Punktów Funkcyjnych

Page 11: Wytwórstwo oprogramowania 3

Informatyka a sprawa polskaBiuro na tranzystorach

– premiera 24.10.1955

1989 – 1955 = 1,5 pokolenia

• Nowa (normalna) ekonomia i organizacja + nowa technika

• Od wołu do automatycznej skrzyni biegów

Page 12: Wytwórstwo oprogramowania 3

Co jest celem systemu do obsługi podatków

Obsługa izb i urzędów skarbowych?Wspieranie poboru podatków?Czy to jest to samo?Czy wprowadzenie informatyki powinno

spowodować zmiany procesów biznesowych?

Page 13: Wytwórstwo oprogramowania 3

System wspomagania dowodzenia dla Policji

• Zdarzenie trzeba powiązać z policjantem• W opisie policjanta jest zapisany jego

aktualny stopień• Zmiana danych policjanta jest

odnotowywana w jego opisie (bez historii)• Oskarżony twierdzi, że na miejscu był

kapral Nowak, a Policja twierdzi, że to był sierżant Nowak!!!

Page 14: Wytwórstwo oprogramowania 3

System sterowania ciągiem wstecznym w Airbusie

• Ciąg wsteczny można włączyć tylko wtedy, gdy samolot kołuje po pasie

• Pilot może nie zauważyć, czy samolot wylądował

• Samolot kołuje po pasie, jeśli kręcą mu się koła (na wszelki wypadek – wszystkie)

• A co jeśli na pasie jest mokro i samolot wpadnie w poślizg?

• Propozycja rozwiązania: może wystarczy, że trzy koła z czterech będą się kręcić?

Page 15: Wytwórstwo oprogramowania 3

Informatyka w firmie

• Obserwacja: przedsięwzięcia realizowane wewnętrznie zwalają się szczególnie często

• Diagnoza 1: klient zawsze chce więcej• Diagnoza 2: lepsze jest wrogiem dobrego• Diagnoza 3: księgowy jest ważniejszy od

informatyka

Page 16: Wytwórstwo oprogramowania 3

Model wodospadu

Analiza (specyfikacja)

Projekt

Wykonanie

Wdrożenie

Zintegrowany System X

Page 17: Wytwórstwo oprogramowania 3

Iteracje i prototypyAnaliza

ProjektWykonanie

Wdrożenie

AnalizaProjekt

WykonanieWdrożenie

AnalizaProjekt

WykonanieWdrożenie

Mniejsze ryzyko za znaną cenę

Page 18: Wytwórstwo oprogramowania 3

Techniki ekstremalneAnaliza

ProjektWykonanie

WdrożenieAnalizaProjekt

WykonanieWdrożenieAnaliza

ProjektWykonanie

WdrożenieAnalizaProjekt

WykonanieWdrożenie

Analiza

Projekt

Wykonanie

Wdrożenie

Page 19: Wytwórstwo oprogramowania 3

Metodyki produkcji

Klasyczne• Programowanie jest

rzemiosłem• Mamy różnych

programistów• Programiści są

zastępowalni• Użytkownicy są różni• Zmiany są przykrą

koniecznością

Lekkie (giętkie)• Programowanie jest

sztuką• Mamy artystów

programistów• Programiści są

zindywidualizowani• Użytkownicy są mądrzy i

chętni do współpracy• Zmiany są podstawą

Page 20: Wytwórstwo oprogramowania 3

Wymagania użytkownika• Źródła wymagań:

– istniejące procedury– istniejące dokumenty i formularze (wypełnione, z dopiskami i

skreśleniami)– plany rozwoju– wywiady– obserwacja na stanowisku pracy (a także samego stanowiska –

karteczki, kalkulator, notatki)• Wymagania formułowane nieformalnie, w języku

użytkowników• Narzędzia do wspomagania:

– uporządkowanie, nazewnictwo– hierarchia, priorytety, zależności

Page 21: Wytwórstwo oprogramowania 3

Wymagania użytkownika

• Rodzaje wymagań:– funkcjonalne, określające funkcje widoczne

dla użytkowników– pozafunkcjonalne, określające inne cechy –

wydajność, bezpieczeństwo, przenośność, modyfikowalność; zwykle określają informatycy

Page 22: Wytwórstwo oprogramowania 3

Wymagania użytkownika

• Rodzaje wymagań:– biznesowe, wynikające z procesu

biznesowego (faktura przed zapłaceniem musi być zaakceptowana przez właściwego kierownika działu)

– implementacyjne, wynikające z konkretnych rozwiązań technicznych (przysłana faktura jest rejestrowana w odpowiedniej księdze w kancelarii ogólnej)

Page 23: Wytwórstwo oprogramowania 3

Wymagania użytkownika

Obecnysystem

Docelowysystem

Specyfikacjaobecnegosystemu

Specyfikacjadocelowego

systemu

Zachowaniewymagań

biznesowych

Nowemożliwościtechniczne

Jak to zrobić dobrze?

Page 24: Wytwórstwo oprogramowania 3

A software requirement can be defined as:

• A software capability needed by the user to solve a problem or achieve an objective.

• A software capability that must be met or possessed by a system or system component to satisfy a contract, specification, standard, or other formally imposed documentation.

Page 25: Wytwórstwo oprogramowania 3

Hierarchia

Page 26: Wytwórstwo oprogramowania 3

Atrybuty

Page 27: Wytwórstwo oprogramowania 3
Page 28: Wytwórstwo oprogramowania 3

Zależności

Page 29: Wytwórstwo oprogramowania 3

Jest tyle spokojniejszych zawodów,

np. można być pogromcą lwów

(I zasada Stokalskiego)