290 likes | 422 Views
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 )
E N D
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) • Ż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)
Fakty • Gdzie bylibyśmy bez komputerów • Było źle, ale idzie ku lepszemu
Kłopoty • Jak opisać zakres (zmiany są pewne!) • Jak oszacować czas • Jak oszacować budżet
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
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
Nie my jedni mamy problemy • Lotnisko w Atlancie • 1977 – 1980 zgodnie z czasem i budżetem (500 M $) • 2003 – 20?? wpadka
Cykl życia Po co? Strategia biznesowa Czego chcą? Wymagania Co zrobić? Specyfikacja Jak? Projekt Wykonanie i wdrożenie Czy warto?
Ocena kosztów • Po fakcie (wariant amerykański) • za roboczogodzinę • za wiersz kodu • za formatkę ekranową • Trudna ocena efektywności • Konsekwencja: ucieczka za granicę
Prognozowanie kosztów • Przewidywanie jest trudne, zwłaszcza przyszłości (IIzasada Stokalskiego) • Metoda ekspercka, czyli sufitowa • Wg wymagań biznesowych • Wg obiektów analitycznych (zbiory danych, strumienie danych, zapytania) – Metoda Punktów Funkcyjnych
Informatyka a sprawa polska Biuro 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
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?
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!!!
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ć?
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
Model wodospadu Analiza (specyfikacja) Projekt Wykonanie Wdrożenie Zintegrowany System X
Iteracje i prototypy Analiza Projekt Wykonanie Wdrożenie Analiza Projekt Wykonanie Wdrożenie Mniejsze ryzyko za znaną cenę Analiza Projekt Wykonanie Wdrożenie
Techniki ekstremalne Analiza Projekt Wykonanie Analiza Wdrożenie Projekt Analiza Wykonanie Analiza Wdrożenie Projekt Projekt Wykonanie Wykonanie Analiza Wdrożenie Projekt Wdrożenie Wykonanie Wdrożenie
Metodyki produkcji 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ą 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ą
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
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
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)
Wymagania użytkownika Obecny system Docelowy system Zachowanie wymagań biznesowych Specyfikacja obecnego systemu Specyfikacja docelowego systemu Nowe możliwości techniczne Jak to zrobić dobrze?
A software requirement can be defined as: • A software capability needed by the user to solve a problem or achieve anobjective. • A software capability that must be met or possessed by a system or systemcomponent to satisfy a contract, specification, standard, or other formallyimposed documentation.
Jest tyle spokojniejszych zawodów, np. można być pogromcą lwów (I zasada Stokalskiego)