In [[informatica]] il '''rapid application development''' (indicato anche con l'[[acronimo]] '''RAD''', letteralmente '''sviluppo rapido delle applicazioni''')<ref>{{cita|Sommerville|p. 394}}.</ref> è una [[metodologia di sviluppo del software]] introdotta inizialmente da [[James Martin (informatico)|James Martin]] negli [[Anni 1980|anni ottanta]]. Questa metodologia coinvolge [[Metodologie iterative|modelli di sviluppo iterativi]], la costruzione di [[Prototipo (programmazione)|prototipi]] e l'utilizzo di strumenti [[Computer-aided software engineering|CASE]]. Solitamente questo approccio allo sviluppo comporta compromessi tra [[usabilità]], funzionalità e velocità d'esecuzione.
{{T|lingua=inglese|argomento=informatica|data=Maggio 2007}}
'''Rapid application development''' ('''RAD'''), is a [[software development process]] developed initially by [[James Martin (author)|James Martin]] in the [[1980s]]. The methodology involves iterative development, the construction of [[prototype]]s, and the use of [[Computer-aided software engineering]] (CASE) tools. Traditionally the rapid application development approach involves compromises in usability, features, and/or execution speed.
== HistoryStoria ==
Lo sviluppo del software fa riferimento allo sviluppo di applicazioni per la programmazione e differisce dalla [[Programmazione (informatica)|programmazione]] in sé e per sé dato che prevede maggiori responsabilità, includendo la comprensione dei requisiti e la fase di [[Collaudo del software|testing]].<ref>''Cos'è lo sviluppo di applicazioni'' {{Citazione necessaria|date=February 2007}}</ref>
Il RAD nacque in risposta alle metodologie di programmazione sviluppate negli [[Anni 1970|anni settanta]], come ad esempio il [[modello a cascata]], che soffrivano principalmente del problema della lentezza di sviluppo. Spesso accadeva che i requisiti dell'applicazione cambiassero ancor prima che questa fosse stata completata, rendendola di fatto inutilizzabile. Sulla base delle idee di [[Brian Gallagher (informatico)|Brian Gallagher]], [[Barry Boehm]] e [[Scott Shultz]], [[James Martin (informatico)|James Martin]] sviluppò l'approccio RAD durante gli anni ottanta presso [[IBM]] ed infine lo formalizzò pubblicando un libro sull'argomento nel 1991.
Application development refers to the developing of programming applications and differs from [[programming]] itself in that it has a higher level of responsibility, including for requirement capturing and testing.<ref>''What is Application Development''</ref> Rapid Application Development was a response to non-agile processes developed in the [[1970s]], such as the [[Waterfall model]]. The problem with previous methodologies was that applications took so long to build that requirements had changed before the system was complete, often resulting in unusable systems. Starting with the ideas of Brian Gallagher, [[Barry Boehm]] and Scott Shultz, [[James Martin (author)|James Martin]] developed the Rapid Application Development approach during the [[1980s]] at [[IBM]] and finally formalised it by publishing a book in [[1991]].
OneUna suchcompagnia companyincentrata whichsullo concentratedsviluppo ondella the development ofprogrammazione RAD programming, la [[Magic Software Enterprises|Magic Software]], developedsviluppò aun uniqueparadigma paradigmunico whichche enabledabilitò bothsia programmersi and[[programmatore|programmatori]] che i non-progammersprogrammatori toa quicklyscrivere writerapidamente programmi sofisticati, sophisticatedtramite programsla bydefinizione definingdi "business rules" in tablestabelle, ratherpiuttosto thanche reusingscrivere ordel developingnuovo newcodice codeo riusarne dell'altro. A Inmetà thedegli midanni 90's90 asi tenne un programmingevento eventdedicato wasalla establishedprogrammazione, theil [[Droege Computing Services|Droege]][http://www.droegecomputing.com/] Competition, in whichcui programmersprogrammatori fromdi alltutto overil themondo worldsi racedsfidarono tonel completecompletare anun'applicazione applicationutilizzando usinglinguaggio thee languagepiattaforma anddi platformloro ofscelta. theirIl choice.paradigma della Magic Software's paradigmnon notsolo onlyvinse wonla thecompetizione competitiontutti eache ofcinque thegli fiveanni yearsin thecui eventquesta wasebbe heldluogo, butma dominateddominò alltutte thele topprime positionsposizioni bycon anuno overwhelmingschiacciante margin.distacco sui Magicsecondi. Software'sIl paradigmparadigma wentdella onMagic toSoftware becomestava anper establisheddiventare un [[integratedambiente developmentdi environmentsviluppo integrato|IDE]] withstabile thegrazie abilityalla notcapacità onlydi toridurre siginificantlysignificativamente cutnon programmingsolo timei tempi di programmazione, butma anche additionallyquelli cutdella maintenancemanutenzione timesu onprogetti enterprisedi levellivello projectsaziendale.
== ProsVantaggi ande Cons of RADsvantaggi ==
Pro:
'''Pros'''
#* IncreasedMaggiore speedvelocità ofdi developmentsviluppo throughattraverso methodsmetodi includingincludenti la [[prototipizzazione rapida|rapid prototyping]], virtualizationla ofvirtualizzazione systemdelle relatedprocedure routines,correlate theal usesistema, ofl'utilizzo di [[strumenti CASE|CASE tool]]s, ande otheraltre techniquestecniche.
* ''Ridotte'' funzionalità per l'utente finale (derivante da una più mirata progettazione), da cui una ridotta complessità.
# ''Decreased'' end-user functionality (arising from narrower design focus), hence reduced complexity
* Maggiore enfasi sulla semplicità e l'usabilità del design delle [[GUI]] (''Graphic User Interface'').
# Larger emphasis on simplicity and usability of GUI design
Contro:
'''Cons'''
#* ReducedRidotta [[Scalabilità|Scalability]], ande reducedridotte featuresfunzionalità whenquando aun'applicazione RADsviluppata developedtramite application startsRAD asinizia acome [[prototipo|prototype]] anded evolvesevolve intoin auna finishedapplicazione applicationcompleta.
#* ReducedRidotte featuresfunzionalità occursi duepresentano toa causa del [[time boxing]] whenquando featuresqueste aresono pushedaccelerate toverso laterla versionsnuova inversione orderallo toscopo finishdi a releaseultimare in atempi shortbrevi amountla ofrelease timedel software.{{FactCitazione necessaria|date=February 2007}}
== ReferencesNote ==
<references/>
*James Martin: ''Rapid Application Development'', Macmillan Coll Div, ISBN 0-02-376775-8
== See alsoBibliografia ==
* {{cita libro|autore=James Martin|titolo=Rapid Application Development|anno=1991|url=https://archive.org/details/rapidapplication00mart|editore=Macmillan Coll Div|isbn=0-02-376775-8}}
*[[Agile software development]] ▼
* {{cita libro|autore=Ian Sommerville|titolo=Ingegneria del software|edizione=8|editore=Addison-Wesley, Pearson PLC|data=aprile 2007|curatore=Stefano Gaburri|isbn=978-88-7192-354-3|pagine=394-402|cid=Sommerville|url=https://books.google.it/books?id=h-hCKFMbqNMC&pg=PA394}}
*[[Collaborative development environment]] (CDE)
*[[List of Rapid Application Development tools]]
== Voci correlate ==
==External links==
▲* [[Agile software development]]
*[http://www.blueink.biz/RapidApplicationDevelopment.aspx blueink.biz - Rapid Application Development] - More details on RAD including the process and lifecycle stages, and Rapid Application Development tools ▼
* [[SSADM]]
*[http://csweb.cs.bgsu.edu/maner/domains/RAD.htm More details on RAD]
==Collegamenti esterni==
▲*[http://www.blueink.biz/RapidApplicationDevelopment.aspx blueink.biz - Rapid Application Development] - More details on RAD including the process and lifecycle stages, and Rapid Application Development tools
{{Portale|informatica}}
[[Categoria:Metodologie_di_sviluppo]]
[[Categoria:Metodi di sviluppo software]]
[[de:Rapid Application Development]]
[[es:Desarrollo rápido de aplicaciones]]
[[en:Rapid Application Development]]
[[fr:Rapid Application Development]]
[[id:Rapid Application Development]]
[[nl:Rapid Application Development]]
[[ja:RAD]]
[[pl:RAD]]
[[pt:RAD]]
[[ru:RAD]]
|