RAD
Szybkie tworzenie programów użytkowych (Rapid Application Development – RAD) jest mającą już prawie 20 lat techniką szybkiego konstruowania programów, szczególnie przydatną dla systemów, w których istotną rolę odgrywa interfejs użytkownika, natomiast mniejszą przetwarzanie danych
Programy takie mają zbliżoną do siebie strukturę, wiele czynności przy programowaniu daje się w nich zautomatyzować. Typowe dla RAD jest korzystanie z zaawansowanych środowisk wytwarzania oprogramowania (narzędzi CASE) oraz posługiwanie się programowaniem graficznym (visual programming). Typowym środowiskiem RAD jest oprogramowanie CASE służące do produkcji kodu dokonującego interakcji z bazą danych i tworzącego rozmaite raporty (współcześnie najczęściej taki kod wyposażony jest w internetowy interfejs użytkownika). Środowisko takie zawiera:
- narzędzia interfejsu z bazą danych (generowanie zapytań na podstawie formularzy)
- generator interfejsu użytkownika (formularzy z guzikami, polami itp.)
- powiązania z aplikacjami biurowymi, takimi jak arkusze kalkulacyjne, do dokonywania podstawowych operacji na danych
- narzędzia generowania raportów
W latach 90-tych opracowana została całościowa metodologia tworzenia oprogramowania RAD:
- Oprogramowanie (kolejne iteracje, kolejne wersje prototypów) są tworzone w przedziałach czasowych o ściśle określonej długości (time boxing)
- Jeśli jakieś wymagane elementy nie dają się zrealizować w zadanym przedziale czasowym są opuszczane
- Oprogramowanie jest tworzone przez mały zespół, który często spotyka się z przedstawicielami klienta, aby przedyskutować funkcjonowanie aktualnych prototypów i ewentualnie korygować wymagania dla kolejnych
- Tworzenie kodu opiera się głównie na predefiniowanych elementach, rozmaitych API, bibliotekach, komponentach, zintegrowanych środowiskach wytwarzania kodu; mało jest ręcznego programowania
Techniki RAD krytykowane są pod wieloma względami:
- "szybkie" oznacza często obniżenie standardów niezawodności, efektywności, jakości oprogramowania
- zależność od zastosowanych komponentów może prowadzić do kłopotów z ewolucją oprogramowania, kosztami użytkowania, czasem do problemów prawnych
- stosowanie gotowych komponentów często prowadzi do niekompatybilności wymagań – nie są realizowane żądane cechy, natomiast pojawiają się inne niepotrzebne
- programy stają się zbyt podobne jedne do drugich
Techniki RAD jako techniki prototypowania mogą być wykorzystywane w większych projektach w fazie określania wymagań, a także w procesie projektowania.