Top Banner
6. Techniki szybkiego wytwarzania aplikacji (RAD)
25

6. Techniki szybkiego wytwarzania aplikacji (RAD)wikizmsi.zut.edu.pl/uploads/7/7e/ZP_W5.pdfTechniki szybkiego wytwarzania aplikacji (RAD) Cel technik RAD (Rapid Application Developpement)

Feb 28, 2019

Download

Documents

lamthu
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 6. Techniki szybkiego wytwarzania aplikacji (RAD)wikizmsi.zut.edu.pl/uploads/7/7e/ZP_W5.pdfTechniki szybkiego wytwarzania aplikacji (RAD) Cel technik RAD (Rapid Application Developpement)

6. Techniki szybkiego wytwarzania aplikacji (RAD)

Page 2: 6. Techniki szybkiego wytwarzania aplikacji (RAD)wikizmsi.zut.edu.pl/uploads/7/7e/ZP_W5.pdfTechniki szybkiego wytwarzania aplikacji (RAD) Cel technik RAD (Rapid Application Developpement)

Cel technik RAD (Rapid Application Developpement)

• Tworzenie aplikacji w krótkim czasie, przy niskich kosztach

• Założenia wstępne technik RAD:• Niemożliwe jest jednoznaczne okrslenie wymagań

użytkowników• Projektowanie, kodowanie programów i testowanie są

procesami iteracyjnymi,• Rozwój aplikacji nie jest nigdy definitywnie

zakończony• Warunkiem budowy efektywnej aplikacji jest

upoważnienie projektantów do podejmowania decyzji określających funkcjonowanie

Page 3: 6. Techniki szybkiego wytwarzania aplikacji (RAD)wikizmsi.zut.edu.pl/uploads/7/7e/ZP_W5.pdfTechniki szybkiego wytwarzania aplikacji (RAD) Cel technik RAD (Rapid Application Developpement)

Przyczyny rozwoju technik RAD

• Niepewność działania przedsiębiorstwa (zmienność firmy i otoczenia)

• Niepewność procesu tworzenia aplikacji (ogromne możliwości wyboru wyboru składników do struktury systemu)

Page 4: 6. Techniki szybkiego wytwarzania aplikacji (RAD)wikizmsi.zut.edu.pl/uploads/7/7e/ZP_W5.pdfTechniki szybkiego wytwarzania aplikacji (RAD) Cel technik RAD (Rapid Application Developpement)

Główne cechy technik RAD

• Szybka realizacja aplikacji• Prototypowanie rozwiązań i wczesne ich

testowanie przez użytkowników• Używanie gotowych komponentów

oprogramowania• Ściśle przestrzegane harmonogramy• Zastosowanie narzędzi wspomagajacych

tworzenie aplikacji (CASE)

Page 5: 6. Techniki szybkiego wytwarzania aplikacji (RAD)wikizmsi.zut.edu.pl/uploads/7/7e/ZP_W5.pdfTechniki szybkiego wytwarzania aplikacji (RAD) Cel technik RAD (Rapid Application Developpement)

Przykłady technik RAD

• Metoda DSDM (Dynamic System Developpement Method)

• Extreme Programming• Agile Programming• Technika Bold for Delphi• …

Page 6: 6. Techniki szybkiego wytwarzania aplikacji (RAD)wikizmsi.zut.edu.pl/uploads/7/7e/ZP_W5.pdfTechniki szybkiego wytwarzania aplikacji (RAD) Cel technik RAD (Rapid Application Developpement)

Extreme programming

Jako jedna z technik RAD

Page 7: 6. Techniki szybkiego wytwarzania aplikacji (RAD)wikizmsi.zut.edu.pl/uploads/7/7e/ZP_W5.pdfTechniki szybkiego wytwarzania aplikacji (RAD) Cel technik RAD (Rapid Application Developpement)

Niedogodności tradycyjnych metod tworzenia oprogramowania

• Wdrażanie dopiero po wykonaniu całego oprogramowania

• Obowiązek wykonania kompletnego projektu zakresu funkcjonalnego i projektu interfejsu –przed rozpoczęciem kodowania programów.

• Uwzględnianie w systemie zbyt wielu funkcji, bardzo rzadko wykorzystywanych

• Obszerność założeń kompleksowych metodologii programowania, utrudnia ich stosowanie w praktyce programowania

Page 8: 6. Techniki szybkiego wytwarzania aplikacji (RAD)wikizmsi.zut.edu.pl/uploads/7/7e/ZP_W5.pdfTechniki szybkiego wytwarzania aplikacji (RAD) Cel technik RAD (Rapid Application Developpement)

Wstęp

• Nowa metoda – opracowana na początku lat 90-ych

• Kent Beck i Ward Cunningham• Najważniejszy - człowiek

Page 9: 6. Techniki szybkiego wytwarzania aplikacji (RAD)wikizmsi.zut.edu.pl/uploads/7/7e/ZP_W5.pdfTechniki szybkiego wytwarzania aplikacji (RAD) Cel technik RAD (Rapid Application Developpement)

Elementy usprawniające tworzenie oprogramowania – wykorzystane w metodzie „Extreme Programming”

• Usprawnienie komunikacji wewnątrz zespołu • Usprawnienie komunikacji zespołu programistów

z użytkownikami• Dążenie do maksymalnej prostoty • Otwarta postawa wobec zmian (refaktoryzacja

kodu)• Zapewnienie sprzężenia zwrotnego z

użytkownikami (np. Udział klientów w testowaniu modułów programowych

Page 10: 6. Techniki szybkiego wytwarzania aplikacji (RAD)wikizmsi.zut.edu.pl/uploads/7/7e/ZP_W5.pdfTechniki szybkiego wytwarzania aplikacji (RAD) Cel technik RAD (Rapid Application Developpement)

XP – reguły

XP określa reguły dotyczące 4 kroków tworzenia oprogramowania:

• Planowania• Projektowania• Kodowania• Testowania

Page 11: 6. Techniki szybkiego wytwarzania aplikacji (RAD)wikizmsi.zut.edu.pl/uploads/7/7e/ZP_W5.pdfTechniki szybkiego wytwarzania aplikacji (RAD) Cel technik RAD (Rapid Application Developpement)

Cykl realizacji aplikacji wg metody XP

Page 12: 6. Techniki szybkiego wytwarzania aplikacji (RAD)wikizmsi.zut.edu.pl/uploads/7/7e/ZP_W5.pdfTechniki szybkiego wytwarzania aplikacji (RAD) Cel technik RAD (Rapid Application Developpement)

Planowanie

• Wykaz wymagań użytkownika,

• terminarz,

• często nowe wersje,

• mierzalna prędkość projektu,

• iteracje,

• przegrupowywanie osób między różnymi pracami,

• rozpoczynanie dnia spotkaniem zespołu,

• dopasowywanie XP do sytuacji.

Page 13: 6. Techniki szybkiego wytwarzania aplikacji (RAD)wikizmsi.zut.edu.pl/uploads/7/7e/ZP_W5.pdfTechniki szybkiego wytwarzania aplikacji (RAD) Cel technik RAD (Rapid Application Developpement)

"Planning Game"

BadaniePodejście Użytkownik Programista

Cel: co system ma robić?

Metody: pisanie i przewidywanie wymagań

Rezultat: Zestaw szacunkowych wymagań

Pisze wymagania

Podział wymagań

Odrzucenie wymagań

Oszacowanie czasu jeżeli >3 tygodnie; użytkownik podzieli wymagania

Page 14: 6. Techniki szybkiego wytwarzania aplikacji (RAD)wikizmsi.zut.edu.pl/uploads/7/7e/ZP_W5.pdfTechniki szybkiego wytwarzania aplikacji (RAD) Cel technik RAD (Rapid Application Developpement)

"Planning Game"

PlanowaniePodejście AkcjeCel: następne, lepsze wydanieMetody: Powtarzanie akcji od 1 do 4Rezultat: lista wymagań które powinny być uwzględnione w następnym wydaniu

1.Użytkownik: Sortowanie wymagań od najważniejszych do najmniej ważnych2.Programista: Sortowanie wymagań według ryzyka3.Programista: Ustalenie szybkości4.Użytkownik: Wybór zakresu wymagań dla następnego wydania

Page 15: 6. Techniki szybkiego wytwarzania aplikacji (RAD)wikizmsi.zut.edu.pl/uploads/7/7e/ZP_W5.pdfTechniki szybkiego wytwarzania aplikacji (RAD) Cel technik RAD (Rapid Application Developpement)

"Planning Game"

SterowaniePodejścieCel: Zarządzanie projektem w toku realizacji

Metody: Akcja – Reakcja

Rezultat: Użytkownik zmienia wymagania w trakcie realizacji tak aby osiągnąć najlepszy efekt.

Page 16: 6. Techniki szybkiego wytwarzania aplikacji (RAD)wikizmsi.zut.edu.pl/uploads/7/7e/ZP_W5.pdfTechniki szybkiego wytwarzania aplikacji (RAD) Cel technik RAD (Rapid Application Developpement)

"Planning Game"

SterowanieRuch, Akcja, ReakcjaRuch: Iteracja;Akcja: Start iteracji;Reakcja: użytkownik podaje jedno wymaganie, a programista je implementuje

Page 17: 6. Techniki szybkiego wytwarzania aplikacji (RAD)wikizmsi.zut.edu.pl/uploads/7/7e/ZP_W5.pdfTechniki szybkiego wytwarzania aplikacji (RAD) Cel technik RAD (Rapid Application Developpement)

"Planning Game"

SterowanieRuch, Akcja, ReakcjaRuch: Ponowne ustalenie szybkości realizacji modułu;Akcja: Programista uznaje że szybkość jest zła;Reakcja: Programista ponownie szacuje szybkość a użytkownik dostosowywuje liczbę wymagań tak aby zmieścić się w dacie wydania

Page 18: 6. Techniki szybkiego wytwarzania aplikacji (RAD)wikizmsi.zut.edu.pl/uploads/7/7e/ZP_W5.pdfTechniki szybkiego wytwarzania aplikacji (RAD) Cel technik RAD (Rapid Application Developpement)

"Planning Game"

SterowanieRuch, Akcja, ReakcjaRuch: Nowe wymaganie;Akcja: Użytkownik podaje nowe, wartościowe wymaganie;Reakcja: Programista szacuje wymaganie, użytkownik usuwa niekompletne poprzednie punkty planu i dodaje nowe wymaganie

Page 19: 6. Techniki szybkiego wytwarzania aplikacji (RAD)wikizmsi.zut.edu.pl/uploads/7/7e/ZP_W5.pdfTechniki szybkiego wytwarzania aplikacji (RAD) Cel technik RAD (Rapid Application Developpement)

"Planning Game"

SterowanieRuch, Akcja, ReakcjaRuch: Ponowne szacowanie czasu realizacji;Akcja: Programista uznaje że plan jest trudny do wykonania;Reakcja: Programista ponownie szacuje szybkość i wszystkie wymagania, użytkownik ustala nowe spojrzenie na plan.

Page 20: 6. Techniki szybkiego wytwarzania aplikacji (RAD)wikizmsi.zut.edu.pl/uploads/7/7e/ZP_W5.pdfTechniki szybkiego wytwarzania aplikacji (RAD) Cel technik RAD (Rapid Application Developpement)

2. Projektowanie

• Prostota, • Przenośność systemu, • Używanie karty CRC (KLASA –

ODPOWIEDZIALNOŚĆ – KOOPERACJA)• Rozwiązania prototypowe,• Dodawanie funkcjonalności we właściwym

czasie, • Przekształcanie programu w miarę potrzeb.

Page 21: 6. Techniki szybkiego wytwarzania aplikacji (RAD)wikizmsi.zut.edu.pl/uploads/7/7e/ZP_W5.pdfTechniki szybkiego wytwarzania aplikacji (RAD) Cel technik RAD (Rapid Application Developpement)

3. Kodowanie

• Klient jest zawsze dostępny,

• Ustalony standard,

• Moduły testujące - najpierw,

• Pary programistów,

• Tylko jedna para dokonuje integracji kodu,

• Częste integrowanie,

• Wspólna własność,

• Optymalizacja na końcu,

• Przestrzeganie terminów.

Page 22: 6. Techniki szybkiego wytwarzania aplikacji (RAD)wikizmsi.zut.edu.pl/uploads/7/7e/ZP_W5.pdfTechniki szybkiego wytwarzania aplikacji (RAD) Cel technik RAD (Rapid Application Developpement)

4. Testowanie

• Cały kod ma moduły testujące, • Przed wypuszczeniem – kod przechodzi

wszystkie testy,• Do każdej znalezionej pluskwy tworzone są

testy, • Testy akceptacyjne są często uruchamiane, a

wyniki podawane do wiadomości.

Page 23: 6. Techniki szybkiego wytwarzania aplikacji (RAD)wikizmsi.zut.edu.pl/uploads/7/7e/ZP_W5.pdfTechniki szybkiego wytwarzania aplikacji (RAD) Cel technik RAD (Rapid Application Developpement)

Zalety

• Zmniejszenie ceny programu• Elastyczność• Dużo mniejsza ilość dokumentacji• Rozproszony proces programowania• Zadania wykonywane w krótkich przedziałach

czasowych• Brak własności kodu

Page 24: 6. Techniki szybkiego wytwarzania aplikacji (RAD)wikizmsi.zut.edu.pl/uploads/7/7e/ZP_W5.pdfTechniki szybkiego wytwarzania aplikacji (RAD) Cel technik RAD (Rapid Application Developpement)

Wady

• XP w czystej postaci nie nadaje się do tworzenia dużych projektów informatycznych

• Wymaga bardzo doświadczonych programistów• Żadna osoba nie jest w stanie powiedzieć

dokładnie, jakie są zasady działania programu

Page 25: 6. Techniki szybkiego wytwarzania aplikacji (RAD)wikizmsi.zut.edu.pl/uploads/7/7e/ZP_W5.pdfTechniki szybkiego wytwarzania aplikacji (RAD) Cel technik RAD (Rapid Application Developpement)

Bibliografia

• Beck K. : Wydajne programowanie, MIKOM 2001.