Hızlı yazılım geliştirme. tarafından hızlı gelişme

  • 28.06.2019

Uygulama geliştirme metodolojilerinin seçimi, hızla büyüyen bir pazarda 1 numaralı görev haline geliyor. Araştırmaya göre 2015 yılında küresel olarak kurumsal yazılımlara 310 milyar dolar harcandı. Konsept geliştirmeRAD (Hızlı Uygulama Geliştirme)katı "şelale" modeline karşı ağırlık oluşturacak esnek, uyarlanabilir bir uygulama geliştirme sistemi oluşturmanın temeli oldu.

RAD, programlamanın hızına ve kolaylığına odaklanan hızlı bir uygulama geliştirme modelidir.

R.A.D.'nin ortaya çıkışı.

Hızlı uygulama geliştirmenin ortaya çıkması, aile modelinin kusurlu olmasından kaynaklanmaktadır. şelale yazılım oluştururken. Mesele şu ki, başlangıçta şelale geliştirme sistemi, tarafından kullanılan geleneksel mühendislik modeline dayanıyordu. bina ve köprülerin tasarımı ve inşası için.

Şelale, sıralı geliştirme faaliyetlerinin katı bir yapısına dayanıyorsa, RAD'nin ortaya çıkışı, proje yaşam döngüsü boyunca kazanılan bilgilerin içinde kullanılabileceği esnek bir süreç yaratma girişimiydi.

RAD'nin ilk versiyonu, 1986'da "spiral model" olarak adlandırılan Barry Boehm tarafından oluşturuldu. Spiralin her dönüşü 4 sektöre bölünmüştür ve bir parçanın veya yazılım sürümünün geliştirilmesine karşılık gelir. Her yeni turda, projenin hedefleri ve spesifikasyonlarında derinleşme ve iyileştirme olur. Sonuç olarak, makul bir seçenek seçmek mümkün hale gelir.

Barry'nin fikirlerini kullanarak, Briton James Martin RAD sistemini geliştirdi 80'lerde IBM'deki çalışmaları sırasında ve son olarak 1991'de "Hızlı Uygulama Geliştirme" de bunları formüle etti.

Doğru, BT uzmanları arasında bile "RAD" kelimesinin anlamı konusunda bazı kafa karışıklıkları oldu. Sonuçta, iki kavramla ilgiliydi: Şelaleye etkili bir alternatif olarak RAD ve RAD, Martin tarafından geliştirilen belirli bir yöntem olarak.İkincisi, kullanıcı arayüzü yoğun iş sistemlerine uyarlanmıştır.

Daha sonra fikirler geliştirildi ve geliştirildi RAD öncüleri James Kerr ve Richard Hunter bir proje yöneticisinin gerçek bir proje için gerçek hayattaki hızlı uygulama geliştirme metodolojisini öğrenme ve uygulama yolculuğunu anlatan işbirlikçi "Inside RAD"da.

Spiral Model, tasarım ve artımlı prototiplemeyi birleştiren bir yazılım geliştirme sürecidir.

Hızlı uygulama geliştirmenin temelleri (ilkeleri)

RAD ilkeleri, hızlı uygulama geliştirmenin temel faydalarını sağlamaya odaklanır:

  • artan geliştirme hızı
  • düşük maliyetli
  • yüksek kalite.

Son noktada, en çok sorun ortaya çıkıyor çünkü geliştirici ve müşteri geliştirme konusunu farklı görüyor.

Bu ve diğer sorunları ele almak için James Martin ve takipçileri tarafından aşağıdaki RAD ilkeleri belirlendi:

  • zaman maliyetlerinin minimizasyonu- araç seti geliştirme süresini kısaltmayı amaçlamalıdır
  • prototipleme– müşteri gereksinimlerini belirlemek için prototipler oluşturmak
  • geliştirme döngüsü- ürünün her yeni versiyonu, müşteri tarafından önceki versiyonun çalışmasının sonucunun bir değerlendirmesine dayanır.
  • işbirliği- geliştirme ekibi birbirleriyle yakın çalışmalı, her katılımcı birkaç görevi yerine getirmeye hazır olmalıdır
  • Iteratif yaklaşım gelişmeye
  • kombinasyonsistem testi ve geliştirme.

RAD ilkeleri yalnızca uygulama sırasında kullanılmaz, aynı zamanda yaşam döngüsünün tüm aşamaları, özellikle organizasyon araştırması, gereksinim oluşturma, analiz ve tasarım aşaması için geçerlidir.

RAD'den Yazılım Yaşam Döngüsü

RAD sürecinde bir başvuru dört aşamadan geçer.

İhtiyaç analizi ve planlama aşaması

Gereksinimler, uygulama işlevleri ve öncelikleri belirlenir, bilgi ihtiyaçları tanımlanır. Aşama, geliştiricilerin katılımıyla öncelikle kullanıcılar tarafından gerçekleştirilir. Bu aşamada, projenin kapsamı, zaman ve finansal çerçeve, yazılımı başlatmak için platformlar da belirtilir.

, Beverly Flowers'ın evde çevrimiçi çiçek sipariş etmek için bir uygulamaya ihtiyacı var. Oluşturma için 50 gün ayrılmıştır, bütçe 3.000 ABD dolarıdır.

Tasarım aşaması

Bazı kullanıcılar, geliştiricilerin rehberliğinde sistemin teknik tasarımına katılır. Bu aşamadaki RAD grupları veya alt grupları genellikle tekniklerin bir kombinasyonunu kullanır.İle birlikte Ortak Uygulama Geliştirme (JAD) ve VAKA araçları kullanıcı ihtiyaçlarını çalışan modellere dönüştürmek.

JAD (Ortak Uygulama Geliştirme), geliştirilmekte olan yazılımla ilgili sorunları en etkin şekilde çözmek için müşteri ve sanatçılar arasında yakın etkileşimin olduğu bir ortak uygulama geliştirme kavramıdır.
Case, programların yüksek kalitesini, hata olmamasını ve yazılım ürünlerinin bakım kolaylığını sağlamak için yazılım tasarımı için bir dizi araç ve yöntemdir.

Tasarım aşamasında, kullanıcılar sistemin kendi ihtiyaçlarına uygun bir çalışma modelini anlayabilir, değiştirebilir ve tanımlayabilir. Her süreç detaylı olarak ele alınır ve gerekirse oluşturulur.kısmi prototip .

Sonuç olarak, aşamalar oluşturulur:

  • genel uygulama bilgi modeli
  • sistem ve alt sistemlerin fonksiyonel modelleri
  • ekranların, raporların ve diyalogların çalışan prototipleri.

Önceki modellerde prototip geliştirme araçları gerçek uygulamalara uymuyorsa ve gelecekte kullanılmadıysa, o zaman RAD'de her prototip gelecekteki sistemin bir parçası olur.

Bu nedenle, "Beverly Flowers" uygulamasında kullanıcılar şu özelliklere erişebilmelidir: "Ana sayfa", "Çiçek ara", "Çiçek listesini görüntüle".

Ücretsiz yazılım SpringToolSuite, çok sayıda örneğin önceden belirlenmiş kod parçalarının mevcut olduğu geliştirme platformu olarak seçildi.
Sunucunun rolü Apache Tomcat 6.0'dır.

inşa aşaması

Bu aşamada, önceki aşamalarda elde edilen sonuçlara dayalı olarak doğrudan hızlı bir gelişme söz konusudur. neredekullanıcılar katılmaya devam ediyor sistemin geliştirilmesinde, uygulamada değişiklik ve iyileştirmeler önermek. Uygulama testi, geliştirme sırasında da gerçekleşir.

Beverly Flowers uygulaması üç işlevsel bileşenden oluşur - kullanıcının "Ana sayfaya" geçişi, "Çiçek ara" ve "Çiçek listesini görüntüle".
Çalışan bir model geliştirmek 1 uzman ve 8 gün sürmüştür.

uygulama aşaması

Kullanıcı eğitimi, test ve eski sistemi yenisiyle değiştirmek. Bu aşama için hazırlık, tasarım aşamasıyla başlar.

Daha önce, Beverly Flowers doğrudan satış noktalarından ve telefonla sipariş alıyordu.

Özel bir uygulama üzerinden sipariş verme imkanı ile ilgili bir mesaj kaydederek ve satış noktalarına bilgi stantları yerleştirerek, 2 hafta içinde alıcıların bir kısmını yeni bir dağıtım kanalına geçirmek mümkün oldu.

Aynı zamanda, telefon siparişlerinin payı orantılı olarak azaldı, bu da müşteri hizmetleri yöneticilerinin kadrosunun azaldığı anlamına geliyor.

Şelalenin aksine, RAD metodolojisine göre bir projenin yaşam döngüsünün katı olmadığını belirtmekte fayda var. Başlangıç ​​koşullarına bağlı olarak, dolumlarının yanı sıra faz sayısı da azalabilir.

Şirketinizde hızlı uygulama geliştirmenin artıları ve eksileri

Hızlı Uygulama Geliştirmeyi kullanmak veya kullanmamak, büyük ölçüde başlangıç ​​koşullarına, müşteri gereksinimlerine ve uygulamanın türüne bağlıdır.

RAD'nin net faydaları şunları içerir:

  1. yüksek kalite. Prototiplerle kullanıcı etkileşimi, hızlı uygulama geliştirme projelerinin işlevselliğini artırır. Bu tür yazılımlar, Çevik/Şelale tekniklerini kullanmaktan ziyade müşterinin (son kullanıcının) ihtiyaçlarına göre daha uygun hale getirilebilir.
  2. risk kontrolü- olmasına rağmen Aslan payı RAD ile ilgili materyaller üzerinde duruluyor hız ve içeren modelin temel özellikleri olarak kullanıcılar, üçüncü bir önemli avantaj göz ardı edilemezrisk azaltma. İlginç bir şekilde, RAD'nin ilk versiyonunu yaratan Boehm, spiral modeli risk tabanlı olarak nitelendirdi.
    Hızlı uygulama geliştirmeyi kullanmak, ana risk faktörlerine odaklanmanıza ve bunlara erken bir aşamada uyum sağlamanıza olanak tanır.
  3. Birim zaman başına bütçe dahilinde daha fazla proje tamamlanır- RAD ima ettiğinden beri artımlı geliştirme modeli, büyük Şelale projelerinde sıklıkla meydana gelen kritik hataların olasılığı azalır.
    Şelale sistemi projelerinde, projenin uygulanması altı ay veya daha fazla analiz ve geliştirmeden sonra mümkün olduysa, uygulamanın kendisini oluşturma sürecinde RAD'de gerekli tüm bilgiler daha önce ortaya çıkar.
Artımlı geliştirme modeli, bir ürünü nispeten bağımsız bileşenlere ayıran bir yazılım geliştirme formatıdır. İkincisi ayrı ayrı geliştirilir ve devreye alınır.

Eksiklikleri olmadan değildi.

Hızlı uygulama geliştirmenin dezavantajları şunları içerir:

  1. yenilik riski- Çoğu BT şirketi için RAD, olağan çalışma yöntemlerinin yeniden düşünülmesini gerektiren bir yenilikti. Yeniye direnç, sıfırdan araç ve tekniklerden öğrenme ihtiyacı, hızlı uygulama geliştirmenin ilk uygulamalarında hatalara yol açmaktadır.
  2. kullanıcılar tüm yaşam döngüsü boyunca sürekli olarak geliştirme sürecinde yer alamazlarsa, bu nihai ürünü olumsuz etkileyebilir - RAD'nin bir özelliği, kullanıcıların rolünün tanımlamaya indirgendiği Şelale modellerinin aksine kullanıcılar ve geliştiriciler arasındaki etkileşimi artırır Gereksinimler. Ayrıca, geliştiricilerin kendileri sistemi oluşturur.
  3. azaltılmış kontrol- RAD'nin avantajlarından biri olarak esneklik, süreç uyarlanabilirliği ideal olarak hem sorunlara hem de fırsatlara hızla uyum sağlama yeteneği anlamına gelir.
    Ne yazık ki, bir şeyi tercih etmelisiniz - esneklik veya kontrol.İkinci durumda, hızlı uygulama geliştirme uygulanabilir olmayacaktır.
  4. cimri tasarım- bazı durumlarda prototiplere odaklanmak, geliştiricilerin kullandığı bir "hack ve test" tekniğine yol açar. sürekli küçük değişiklikler yapmak ayrı öğelere ayırın ve sistem mimarisi sorunlarını göz ardı edin.
  5. ölçeklenebilirlik eksikliği- Ağırlıklı olarak RAD, küçük ve orta ölçekli proje ekipleri tarafından kullanılmaktadır. Hızlı uygulama geliştirme metodolojisinin eksiklikleri, özellikle büyük projelerde çalışmak için hızlı uygulama geliştirme kullanıldığında belirgindir.


RAD metodolojisi aşağıdaki durumlarda projenize uygun olacaktır:

  • hız ve geliştirme kolaylığı onun için önemlidir
  • proje geliştirme için açıkça tanımlanmış öncelik alanları
  • kısa sürede bir uygulama geliştirmek
  • proje sınırlı bir bütçeyle yürütülüyor
  • ana kriter kullanıcı arayüzüdür
  • projeyi fonksiyonel bileşenlere ayırmak mümkündür.

Hızlı uygulama geliştirme metodolojisi aşağıdaki durumlarda projenize uygun olmayacaktır:

  • kalite ve kontrol onun için önemlidir
  • bu yaratmakla ilgili büyük ölçekli proje- tahmini maksimum uygulama geliştirme süresi 60-90 gündür ve yüz binlerce satır program kodu yazarken böyle bir sınıra uymak neredeyse imkansızdır
  • Uygulama için kritik olan, yüksek düzeyde bir planlama ve katı tasarım disiplini, önceden tasarlanmış protokollere ve arayüzlere sıkı sıkıya bağlılık
  • İnsanların güvenliği bir ölçüde uygulamaya bağlıdır.

Karar

Hızlı uygulama geliştirme kavramı (Hızlı Uygulama Geliştirmeden RAD olarak kısaltılır), bir tür artımlı yazılım geliştirme modelidir.

RAD'nin üzerinde çalıştığı temel parametreler şunlardır:
hız ve programlama kolaylığı.

Metodoloji, uygulama için mükemmel bir seçim olacaktır. sınırlı bütçeli küçük projeler geliştirilmesi gereken kısa bir zaman içinde. Yüksek kontrol ve planlama gereksinimleri olan büyük ölçekli sistemler için diğer yazılım geliştirme modellerini seçmek daha iyidir.

Spiral yaşam döngüsü modeli çerçevesinde yazılım geliştirmeye yönelik yaklaşımlardan biri, hızlı uygulama geliştirme RAD (Hızlı Uygulama Geliştirme) için yaygın olarak kullanılan metodolojidir (teknoloji). Bu model, müfredatın geliştirilmesine çok uygundur, çünkü üç bileşen içerir:

Ø küçük bir programcı ekibi (2 ila 10 kişi);

Ø kısa ama dikkatli bir şekilde işlenmiş üretim programı (2 ila 6 ay arası);

Ø Geliştiricilerin, uygulama şekillenmeye başladığında, müşteri ile etkileşim yoluyla alınan gereksinimleri üründe talep etmeye ve uygulamaya başladığı yinelemeli bir döngü.

Bu modeli daha ayrıntılı olarak ele alalım. Geliştirme ekibi, CASE araçlarını kullanarak yazılımları analiz etme, tasarlama, kod oluşturma ve test etme konusunda deneyimli, son kullanıcılarla iyi etkileşim kurabilen ve tekliflerini çalışan prototiplere dönüştürebilen bir grup profesyonelden oluşmalıdır. RAD metodolojisine göre yazılım yaşam döngüsü şunlardan oluşur: dört aşama(şekil 21):

1. Analiz ve planlama gereksinimleri;

2. Tasarım;

3. Binalar;

4. Uygulamalar.


Üzerinde ilk etap ihtiyaç analizi ve planlaması Sistemin kullanıcıları, gerçekleştirmesi gereken işlevleri belirler, ilk etapta detaylandırılması gereken en yüksek öncelikli olanları vurgular, bilgi ihtiyaçlarını açıklar (bağlantılar). Sistem gereksinimlerinin formülasyonu, uzman geliştiricilerin rehberliğinde esas olarak kullanıcılar tarafından gerçekleştirilir. Projenin kapsamı sınırlıdır, sonraki aşamaların her biri için zaman çerçeveleri belirlenir. Ek olarak, verilen fon miktarında, mevcut donanım vb. üzerinde projeyi gerçekleştirme olasılığı belirlenir.

Aşamanın çıktısı şöyle olmalıdır: gelecekteki PS'nin öncelikli işlevlerinin bir listesi; PS'nin ön fonksiyonel modeli; PS'nin ön bilgi modeli.

Üzerinde İkinci aşama tasarım bazı kullanıcılar, geliştiricilerin rehberliğinde sistemin teknik tasarımında yer alır ve onlarla etkileşime girerek, önceki aşamada tanımlanmayan sistem gereksinimlerini düzeltir ve tamamlar. Daha ayrıntılı olarak ele alındı sistem süreçleri. Gerekirse, işlevsel model düzeltilir, kısmi prototipler oluşturulur: ekranlar, raporlar, belirsizlikleri veya belirsizlikleri ortadan kaldırır. Gereksinimler belirlendi veri erişim kontrolü. Aynı aşamada gerekli belgeler belirlenir. Süreçlerin bileşiminin ayrıntılı bir tanımından sonra, geliştirilmekte olan sistemin işlevsel elemanlarının sayısı tahmin edilir ve sistemin alt sistemlere bölünmesine karar verilir.

Bu aşama aşağıdakilerle sonuçlanmalıdır: sistemin genel bilgi modeli; bir bütün olarak sistemin işlevsel modelleri ve alt sistemler; otonom olarak geliştirilmiş alt sistemler arasında iyi tanımlanmış arayüzler; ekranların, raporların, diyalogların inşa edilmiş prototipleri.

Gerçek uygulamalar oluşturmaya yönelik olmayan belirli prototipleme araçlarını kullanan ve projedeki belirsizlikleri ortadan kaldırma görevini tamamladıktan sonra prototipleri atan geleneksel yaklaşımın aksine, RAD yaklaşımında, her prototip gelecekteki sistemin bir parçası olarak geliştirilir.. Böylece bir sonraki aşamaya daha eksiksiz ve faydalı bilgiler aktarılır.

Üzerinde üçüncü aşama bina uygulamanın kendisinin hızlı gelişimi doğrudan gerçekleştirilir (alt sistemlerin uygulanması). Bu aşamada geliştiriciler, önceki aşamada elde edilen modellerin yanı sıra işlevsel olmayan gereksinimlere dayalı olarak yinelemeli olarak gerçek bir sistem oluşturur. Bu aşamadaki son kullanıcılar, elde edilen sonuçları değerlendirir ve geliştirme sürecinde sistem daha önce tanımlanan gereksinimleri karşılamıyorsa ayarlamalar yapar. Geliştirme sırasında sistem testi yapılır.

Alt sistemlerin geliştirilmesi tamamlandıktan sonra, sistemin bu kısmı kademeli olarak diğerleriyle entegre edilir, eksiksiz bir program kodu oluşturulur ve sistem bir bütün olarak test edilir. Sistemin fiziksel tasarımı tamamlanıyor: veri dağıtımı ihtiyacı belirlendi; veri kullanımını analiz eder; veritabanının fiziksel tasarımı; donanım kaynakları için gereksinimler belirlenir; verimliliği artırmanın yolları belirlenir; proje dokümantasyonunun geliştirilmesi tamamlanmaktadır.

Aşamanın sonucuüzerinde anlaşmaya varılan tüm gereksinimleri karşılayan eksiksiz bir sistemdir.

Üzerinde dördüncü aşama uygulama kullanıcı eğitimleri, organizasyonel değişiklikler yapılmakta ve yeni sistemin tanıtımına paralel olarak mevcut sistemle (yeni sistem tam olarak uygulanıncaya kadar) çalışmalar yapılmaktadır. İnşa aşaması nispeten kısa olduğundan, planlama ve uygulama için hazırlık erkenden, genellikle sistem tasarım aşamasında başlamalıdır.

RAD teknolojisi (diğerleri gibi) evrensel olduğunu iddia edemez, öncelikle belirli bir müşteri için geliştirilen nispeten küçük projeler için iyidir. İşletim sistemlerinin geliştirilmesi için geçerli değildir; büyük miktarda program kodu ve karmaşık benzersiz kontrol algoritmaları içeren karmaşık hesaplama programları; Yinelemeli yaklaşım ilk birkaç sürümün gereksinimleri tam olarak karşılamayacağını varsaydığından, sistemin mantığını açıkça tanımlayan belirgin bir arayüz parçasından yoksun uygulamalar (gerçek zamanlı uygulamalar).

Sonuç olarak, listeliyoruz RAD teknolojisinin temel ilkeleri:

Ø uygulamaların yinelemelerle geliştirilmesi;

Ø yaşam döngüsünün her aşamasında işin isteğe bağlı olarak tamamlanması;

Ø Geliştirme aşamasında kullanıcıların zorunlu katılımı;

Ø son kullanıcının tüm gereksinimlerini bulmayı ve karşılamayı sağlayan prototipleme kullanımı;

Ø Geliştirme ile eş zamanlı olarak projenin test edilmesi ve geliştirilmesi;

Ø Gelişimin yetkin yönetimi, işin net bir şekilde planlanması ve kontrolü.


Bölüm 3 için kontrol soruları:

1. Bir yazılım ürününün standardizasyonu ve sertifikasyonu nedir?

2. Standart türleri nelerdir?

3. Yazılım geliştirme için kullanılan en ünlü yaşam döngüsü standartlarını listeleyin?

4. Yazılım yaşam döngüsü nedir?

5. Yazılım yaşam döngüsünün ana aşamalarını listeleyin. Süreç, eylem, görev nedir?

6. Ne tür süreçleri ve spesifik süreçleri hatırlıyorsunuz?

7. Yazılım yaşam döngüsünün temel mühendislik süreçlerinden bahseder misiniz?

8. Yazılım yaşam döngüsü modeli nedir? "Model" kavramıyla ilgili temel kavramların tanımlarını verin.

9. Ne tür modeller biliyorsunuz? Avantajları, dezavantajları, kapsamları nelerdir?

10. Şelale yaşam döngüsü modelinin özellikleri hakkında neler söyleyebilirsiniz?

11. Genelleştirilmiş kademeli model ile temel model arasındaki fark nedir?

12. Spiral yaşam döngüsü modelinin özellikleri hakkında neler söyleyebilirsiniz?

13. RAD teknolojisinin bileşenlerini listeleyin. RAD teknolojisi kullanılarak ne tür yazılımlar geliştirilebilir?

14. RAD teknolojisi için yaşam döngüsünün ana aşamalarını tanımlayın.

15. RAD teknolojisinin temel ilkelerini listeler.


KAYNAKÇA

1. Aptekar M.D., Ramazanov S.K., Freger G.E. Mühendislik faaliyetinin tarihi. - Kiev, 2003. - 204 s. : hasta.

2. Archibald R. Yüksek teknoloji projelerinin yaşam döngüsü modelleri. http://www.pmprofy.ru/content/rus/107/1073-article.html

3. Brooks F. Efsanevi adam-ay veya yazılım sistemlerinin nasıl oluşturulduğu. - St.Petersburg. : Sembol artı, 1999. - 321 s. : hasta.

4. Butch G. Uygulama örnekleri ile nesne yönelimli tasarım. - M.: Concord, 1992. - 586'lar. : hasta.

5. Butch G. C++'da nesne yönelimli analiz ve nesne yönelimli tasarım. - M. : Binom, - 2001. - 558 s. : hasta.

6. Vendrov A. M. VAKA teknolojileri. Bilgi sistemleri tasarlamanın modern yöntemleri ve araçları. - M. : Finans ve istatistik, - 1999. - 256 s. : hasta.

7. Wirth N. Algoritmalar + veri yapıları = programlar: Per. İngilizceden. - M. : Mir, 1985. - 406 s.: hasta.

8. Dahl O., Dijkstra E., Khoor K. Yapısal programlama: Per. İngilizceden. – M.: Mir, 1975. – 247 s. : hasta.

9. Dzerzhinsky F. Ya., Kalinichenko I.M. Programlama disiplini: yazılım mühendisliği metodolojik araçlarının uygulanmasında kavram ve deneyim. - M.: Atom Bilimi ve Teknolojisi Üzerine Bilgi ve Tekno-Ekonomik Araştırma Merkez Araştırma Enstitüsü, 1988. - 245 s. : hasta.

10. Zhogolev E. A. Programlama teknolojileri. - M. : Bilim dünyası, 2004. - 216 s. : hasta.

11. 29 Temmuz 2006 tarih ve 149-FZ sayılı Rusya Federasyonu Kanunu. “Bilgi, bilgi teknolojileri ve bilgi koruması hakkında”// Rossiyskaya Gazeta, No. 165, 27 Temmuz 2006.

12. Ivanova G. S. Programlama teknolojisi: Üniversiteler için ders kitabı. - 2. baskı, klişe. - M.: MSTU im. yayınevi. N.E. Bauman, 2003. - 320 s.: hasta.

13. Kalyanov G. N. VAKA: Yapısal sistem analizi (otomasyon ve uygulama). - M. : "Lori", 1996. - 356 s. : hasta.

14. Korablin M. A. Nesneye yönelik programlama: Ders kitabı. - Samara: SSAU yayınevi, 1994. - 94 s.

15. Leonenkov A. V. Kendi kendine öğretmen UML. - St. Petersburg: VHV Petersburg, - 2001. - 304 s. : hasta.

16. Lipaev VV Yazılım kalitesi. - M.: Finans ve istatistik, 1983. - 263 s. : hasta.

17. Lipaev VV Karmaşık programlarda hata ayıklama: Yöntemler, araçlar, teknoloji. -M. : Energoatomizdat, 1993. - 384 s. : hasta.

18. Lipaev VV, Filippov TR Açık bilgi sistemlerinde programların ve verilerin hareketliliği. – E.: Nauchnaya kniga, 1997. – 297 s. : hasta.

20. Ozhegov S. I. Rus dili sözlüğü. – M. : Mir i obrazovanie, 2006. – 1328 s.

21. Otomatik kontrol sistemleri için tasarım teknolojisi / V. V. Lipaev, L. A. Serebrovsky, P. G. Gaganov ve diğerleri; Ed. Yu.V. Afanasiev, V.V. Lipaeva. - M. : Radyo ve iletişim, 1983. - 256 s. : hasta.

22. Huvenen E., Seppyanen J. LISP Dünyası: Per. Finceden 2 ciltte V.1: Lisp diline ve fonksiyonel programlamaya giriş - M .: Mir, 1990. - 447 s. : hasta.

23. Huvenen E., Seppyanen J. LISP Dünyası: Per. Finceden 2 ciltte V.2: Programlama yöntemleri ve sistemleri - M.: Mir, 1990. - 319 s. : hasta.

24. Boehm B. "Yazılım Geliştirme ve Geliştirmenin Spiral Modeli", IEEE Computer, Cilt. 21, hayır. 5, s. 61-72, 1988.

25. Courtois P. Haziran 1985. Karmaşık Yapıların Zaman ve Mekan Ayrışımı Üzerine. ACM vol.28(6), s.596'nın iletişimleri.

26. Yazılım Değerlendirme Kriterleri. ISO TC97/SC7 #383.

27. Dijktra E. 1979. Bir İnsan Aktivitesi Olarak Değerlendirilen Programlama. Yazılım Mühendisliğinde Klasikler. New York, NY: Yourdon Press.

28. http://www.pmi.ru/glossary/.

29. http://www.staratel.com/iso/InfTech/DesignPO/ISO12207/ISO12207-99/ISO12207.htm.

30.Microsoft Şirketi. Yazılım tasarım ve geliştirme ilkeleri. MCSD eğitim kursu: Per. İngilizceden. - M.: Yayın ve ticaret evi "Rus baskısı", 2000. -608 s. : hasta.

31. Parnas D., Clements P., Weiss D. 1983. Bilgi Gizleme ile Yeniden Kullanılabilirliği Artırma. Programlamada Yeniden Kullanılabilirlik Çalıştayı Tutanakları. Stratford, CT: I.T.T. Programlama. s.241.

32. Rechtin E. Ekim 1992. Sistem Mimarlığı Sanatı. IEEE Spectrum, cilt 29(10), s.66.

33 Royce W.W. Büyük Yazılım Sistemlerinin Geliştirilmesini Yönetme. http://facweb.cti.depaul.edu/jhuang/is553/Royce.pdf.

34. Shaw M. Ekim 1984. Modern Programlama Dillerinde Soyutlama Teknikleri. IEEE Yazılımı vol.1(4).

35. Simon H. 1982. Yapay Bilimler. Cambridge, MA: MIT Basını. – s.218.

36. Sommerville I. Yazılım mühendisliği. – Addison-Wesley Yayıncılık Şirketi, 1992. s.87.

37. Tesler L. Ağustos 1981. Smalltalk Ortamı. Bayt cilt 6(8), s.142.

38. Yonezawa A., Tokoro M. 1987. Nesneye Yönelik Eşzamanlı Programlama. Cambridge, MA: MIT Basını.


terim listesi


Delphi Hızlı Geliştirme Ortamı

Modern yazılım geliştirme ölçeği, RAD araçları olmadan düşünülemez.

RAD (İngilizce'den. hızlı uygulama geliştirme- hızlı uygulama geliştirme) - yazılım geliştirme araçları oluşturma kavramı, programlamanın hızına ve rahatlığına özel önem verilmesi, programcının bilgisayar programlarını olabildiğince çabuk oluşturmasını sağlayan teknolojik bir sürecin oluşturulması. 20. yüzyılın sonundan itibaren RAD yaygın bir şekilde benimsendi ve kabul gördü. RAD kavramı genellikle görsel programlama kavramıyla da ilişkilendirilir.

RAD projeleri oluşturmak için temel ilkeler:

Araç takımı geliştirme süresini en aza indirmeyi amaçlamalıdır.

Müşteri gereksinimlerini netleştirmek için bir prototip oluşturulması.

· Geliştirme döngüsü: Ürünün her yeni versiyonu, müşteri tarafından önceki versiyonun çalışmasının sonucunun değerlendirilmesine dayanır.

· Hazır modüllerin aktarılması ve yeni sürüme işlevsellik eklenmesiyle sürüm geliştirme süresinin en aza indirilmesi.

· Geliştirme ekibi birlikte yakın çalışmalı, her üye birden fazla sorumluluk almaya istekli olmalıdır.

· Proje yönetimi, geliştirme döngüsünün süresini en aza indirmelidir.

RAD konsepti, 1970'lerin ve 1980'lerin başlarındaki beceriksiz programlama uygulamalarına bir yanıttı. Bu yöntemler, bir program oluşturmanın o kadar yavaş bir süreci için sağlandı ki, çoğu zaman programın gereksinimlerinin bile geliştirme tamamlanmadan önce değişmesi için zaman vardı. RAD'nin kurucusu, 1980'lerde IBM çalışanı olan D. Martin'dir. B. Boym ve S. Schulz'un fikirlerine dayanarak RAD'nin temel ilkelerini formüle etti. RAD artık yazılım geliştirme araçları oluşturmak için kabul edilen çerçeve haline geliyor. Programcılar arasında en popüler olan RAD tabanlı geliştirme araçlarıdır.

RAD ilkelerini kullanan geliştirme ortamları:

Borland Delphi.

· Borland C++ Oluşturucu.

IBM Lotus Domino Tasarımcısı.

Microsoft Visual Studio.

· Macromedia Flash, vb.

En yaygın RAD çerçevelerinden biri Delphi'dir.

Borland Delphi, Borland tarafından geliştirilen ve orijinal olarak Borland Delphi paketinde uygulanan Delphi programlama dilini (sürüm 7'den başlayarak, ortamdaki dil Delphi, eski adıyla Object Pascal olarak adlandırılır) kullanan Borland'dan entegre bir yazılım geliştirme ortamıdır. 2003 yılında şimdiki adını aldı. Object Pascal, nesne yönelimli uzantılara sahip Pascal dilinin bir ardılıdır.

Delphi, sırayla Pascal dilinden geliştirilen Turbo Pascal dilinin gelişiminin sonucudur. Pascal tamamen prosedürel bir dildi, Turbo Pascal, 5.5 sürümünden beri Pascal'a nesne yönelimli özellikler ekledi ve Delphi, derlenmiş kodda sınıf meta verilerine (yani, sınıf açıklamalarına ve üyelerine) erişme yeteneğine sahip nesne yönelimli bir programlama dilidir, iç gözlem de denir. De facto Object Pascal ve sonraki Delphi, Turbo Pascal'ın işlevsel uzantılarıdır.

Delphi'de yapılan birçok yaygın yazılım ürünü arasında şunlar yer alır:

Borland ürünleri: Borland Delphi, Borland C++ Builder.

· veritabanı yönetimi / geliştirme: MySQL Araçları (Yönetici, Sorgu Tarayıcı), TOAD.

Mühendislik yazılımı: Altium Designer / Protel (elektronik tasarım).

· İnternette bilgi dağıtımı: Skype (VoIP ve IM), QIP ve QIP Infium, The Bat! (e-posta istemcisi).

Delphi'de bir uygulama oluşturma sürecinde geliştirici, bileşen paletinden hazır bileşenleri seçer. Delphi'deki yazılım bileşenlerinin nesne yönelimli modelindeki ana vurgu, maksimum kod kullanımıdır. Bu, geliştiricilerin önceden hazırlanmış nesnelerden çok hızlı bir şekilde uygulamalar oluşturmasına olanak tanır ve ayrıca onlara Delphi ortamı için kendi nesnelerini oluşturma yeteneği verir.

Delphi ortamı, hızlı uygulama geliştirme için eksiksiz bir görsel araçlar seti içerir, kullanıcı arayüzü geliştirmeyi destekler ve kurumsal veri tabanlarına bağlanır. VCL - görsel bileşenlerden oluşan bir kitaplık, bir kullanıcı arayüzü oluşturmak için standart nesneler, veri yönetimi nesneleri, grafik nesneleri, multimedya nesneleri, diyaloglar ve dosya yönetimi nesneleri, OLE kontrolü içerir.

Şek. 7.3, LAB üretim süreçleri için bir modelleme programının geliştirilmesi sırasında Delphi ortamının ana penceresini gösterir.

Pirinç. 7.3. LAB üretim süreçleri için bir simülatörün geliştirilmesi sırasında Delphi ortamının ana penceresi

Delphi'deki veritabanı nesneleri SQL'e dayanmaktadır. Delphi ayrıca Borland SQL Link'i içerir, bu nedenle Oracle, Sybase, Informix ve InterBase DBMS'ye erişim oldukça verimlidir. Ayrıca Delphi, herhangi bir harici SQL sunucusuna genişletilebilecek uygulamalar geliştirebilmeniz için yerel bir Interbase sunucusu içerir. Bir bilgi sistemi tasarlayan bir Delphi geliştiricisi, bilgileri depolamak için *.dbf (dBase veya Clipper'da olduğu gibi) veya *.db (Paradox) dosyalarını kullanabilir.

Tamamlanan uygulama, yürütülebilir bir modül olarak veya diğer programlama dillerinde yazılmış uygulamalarda kullanılabilen dinamik bir kitaplık olarak yapılabilir.

Açık bileşen mimarisi sayesinde Delphi ile oluşturulan uygulamalar güvenilir ve güvenilir bir şekilde çalışır. Delphi, C ve C++ ile yazılmış DLL'ler, OLE sunucuları, VBX, Delphi ile oluşturulan nesneler dahil olmak üzere halihazırda var olan nesnelerin kullanımını destekler. Ayrıca Delphi tamamen nesne yönelimli olduğundan, geliştiriciler geliştirme maliyetlerini azaltmak için kendi yeniden kullanılabilir nesnelerini oluşturabilirler.

Görsel bileşenler kitaplığı, standart kullanıcı arabirimi oluşturma nesneleri, veri yönetimi nesneleri, grafik nesneleri, multimedya nesneleri, diyaloglar ve dosya yönetimi nesneleri, DDE ve OLE kontrolünü içerir.

Delphi, geliştiricilerin maksimum rahatlık için ortamı özelleştirmesine olanak tanır. Bileşen paletini, araç çubuğunu kolayca değiştirmek ve sözdizimi vurgulamasını renkle özelleştirmek mümkündür.

Bilgisayar bilgi sistemlerinin varlığının ilk aşamasında, geliştirmeleri geleneksel programlama dillerinde gerçekleştirildi. Ancak, geliştirilmekte olan sistemlerin karmaşıklığı arttıkça ve kullanıcı istekleri arttıkça (bilgisayar teknolojisindeki ilerlemeler ve sistem yazılımında uygun bir grafik kullanıcı arabiriminin ortaya çıkması büyük ölçüde kolaylaştırdı), geliştirme süresini önemli ölçüde azaltmak için yeni araçlar gerekliydi. . Bu, yazılım alanında bütün bir yönün yaratılması için ön koşuldu - hızlı uygulama geliştirme araçları. Bu yönün gelişimi, bilgi sistemlerinin yaşam döngüsünün neredeyse tüm aşamaları için yazılım pazarında otomasyon araçlarının ortaya çıkmasına neden olmuştur.

RAD metodolojisinin temel özellikleri

Hızlı uygulama geliştirme araçlarının kullanımına dayalı bilgi sistemleri geliştirme metodolojisi son zamanlarda yaygınlaşmış ve hızlı uygulama geliştirme metodolojisi - RAD (Hızlı Uygulama Geliştirme) adını almıştır. Bu metodoloji, modern bilgi sistemlerinin yaşam döngüsünün tüm aşamalarını kapsar.

RAD, uygulamaların bireysel bilgi bileşenlerini işlevsel olarak görüntüleyen belirli bir dizi grafik nesnesiyle çalışmanıza izin veren uygulamalı bilgi sistemlerinin hızlı gelişimi için bir dizi özel araçtır.

Hızlı bir uygulama geliştirme metodolojisi genellikle üç ana unsura dayalı bir bilgi sistemleri geliştirme süreci olarak anlaşılır:

Küçük bir programcı ekibi (genellikle 2 ila 10 kişi);

Nispeten kısa bir geliştirme süresi (2 ila 6 ay arası) için tasarlanmış, dikkatlice hazırlanmış üretim çalışma programı;

Müşteri ile yakın etkileşime dayalı yinelemeli bir geliştirme modeli - proje ilerledikçe, geliştiriciler müşteri tarafından üründe öne sürülen gereksinimleri iyileştirir ve uygular.

RAD metodolojisini kullanırken, geliştiricilerin deneyimi ve profesyonelliği büyük önem taşımaktadır. Geliştirme ekibi, yazılım analizi, tasarım, programlama ve yazılım testi konularında deneyimli profesyonellerden oluşmalıdır.

RAD metodolojisinin temel ilkeleri şu şekilde özetlenebilir:

Yinelemeli (spiral) bir geliştirme modeli kullanılır;

Yaşam döngüsünün her aşamasında işin tam olarak tamamlanması gerekli değildir;

Bir bilgi sistemi geliştirme sürecinde, müşteri ve gelecekteki kullanıcılar ile yakın etkileşim gereklidir;

Hızlı uygulama geliştirme için CASE araçlarını ve araçlarını kullanmak gereklidir;

Projede değişiklik yapmayı ve bitmiş sistemin bakımını kolaylaştıran konfigürasyon yönetimi araçlarını kullanmak gereklidir;

Son kullanıcının ihtiyaçlarını daha iyi anlamak ve gerçekleştirmek için prototip kullanmak;

Projenin test edilmesi ve geliştirilmesi, geliştirme ile eş zamanlı olarak gerçekleştirilir;

Geliştirme, küçük ve iyi yönetilen bir profesyonel ekip tarafından gerçekleştirilir;

Sistem geliştirmenin yetkin yönetimi, net planlama ve iş performansının kontrolü gereklidir.

RAD araçları, geleneksel olana kıyasla uygulama oluşturmak için tamamen farklı bir teknolojinin uygulanmasını mümkün kıldı. Bilgi nesneleri, işleyişi kullanıcı ile kararlaştırılan bir tür işletim modelleri (prototipler) olarak oluşturulur ve daha sonra geliştirici, tasarlanan sistemin genel resmini gözden kaçırmadan doğrudan eksiksiz uygulamaların oluşumuna geçebilir.

Böyle bir yaklaşımı kullanma olasılığı, büyük ölçüde ilkelerin uygulanmasının sonucudur. nesne yönelimli tasarım, Nesne yönelimli yöntemlerin kullanılması, karmaşık sistemlerin geliştirilmesinde ortaya çıkan ana zorluklardan birinin üstesinden gelmeyi mümkün kılar - gerçek dünya (tanımlanan sorunun konu alanı) ve simülasyon ortamı arasındaki devasa boşluk.

Nesneye yönelik yöntemlerin kullanılması, konu alanının bir dizi nesne biçiminde bir tanımını (modelini) oluşturmanıza olanak tanır - bu verileri işlemek için verileri ve yöntemleri (prosedürler) birleştiren varlıklar. Her nesnenin kendi davranışı vardır ve bazı gerçek dünya nesnelerini modeller. Bu bakış açısına göre bir nesne, belirli bir davranış sergileyen somut bir şeydir.

Nesne yaklaşımında vurgu, yazılım modellemenin konusu olan fiziksel veya soyut sistemin belirli özelliklerine kaydırılır. Nesnelerin ihlal edilemeyecek bir bütünlüğü vardır. Böylece, nesneyi ve davranışını karakterize eden özellikler değişmeden kalır. Bir nesne yalnızca durumunu değiştirebilir, kontrol edilebilir veya diğer nesnelerle belirli bir ilişki içinde olabilir.

Nesne yönelimli programlama, görsel tasarım araçlarının ortaya çıkmasıyla, veriler, grafiksel bir kullanıcı ortamında belirli bir şekilde görüntülenebilen program nesnelerine gerçek nesnelerin davranışını tanımlayan prosedürlerle birleştirildiğinde (kapsüllendiğinde) geniş bir popülerlik kazandı. Bu, gerçeğe mümkün olduğunca benzeyen yazılım sistemleri oluşturmaya başlamayı ve en üst düzeyde soyutlama elde etmeyi mümkün kıldı. Buna karşılık, program nesneleri iyi tanımlanmış ve sıkı bir şekilde kontrol edilen bir arayüze sahip olduğundan, nesne yönelimli programlama daha güvenilir kodlar oluşturmanıza olanak tanır.

RAD araçlarıyla uygulama geliştirirken, genel bir depoda saklanan birçok hazır nesne vardır. Bununla birlikte, yeni nesneler geliştirme imkanı da sağlanmıştır. Aynı zamanda, hem var olanlardan yola çıkarak hem de sıfırdan yeni nesneler geliştirilebilir.

RAD araçları uygun bir grafik kullanıcı arayüzüne sahiptir ve program kodu yazmadan standart nesnelere dayalı basit uygulamalar oluşturmanıza olanak tanır. Bu, RAD'nin büyük bir avantajıdır, çünkü kullanıcı arayüzleri geliştirmenin rutin işini büyük ölçüde azaltır (geleneksel araçları kullanmak, arayüz geliştirmek oldukça zahmetli ve zaman alıcı bir iştir). Uygulamaların ön uç geliştirmesinin yüksek hızı, hızlı bir şekilde prototipler oluşturmanıza ve son kullanıcılarla etkileşimi basitleştirmenize olanak tanır.

Böylece, RAD araçları, geliştiricilerin, bilgi sisteminin oluşturulduğu işletmenin gerçek iş süreçlerinin özüne odaklanmasına olanak tanır. Sonuç olarak, bu, geliştirilmekte olan sistemin kalitesinde bir artışa yol açar.

Nesne yönelimli programlama ilkelerinin uygulanması, araçlar adı verilen temelde yeni uygulama tasarım araçları oluşturmayı mümkün kıldı. görsel programlama. RAD görsel araçları, program kodu yazmadan karmaşık grafik kullanıcı arayüzleri oluşturmanıza olanak tanır. Aynı zamanda, geliştirici herhangi bir aşamada alınan kararların temelinde neyin yattığını gözlemleyebilir.

Görsel geliştirme araçları, temel olarak, veritabanındaki verilerle kolayca ilişkilendirilebilen ve monitör ekranında görüntülenebilen pencereler, listeler, metinler gibi standart arayüz nesneleri ile çalışır. Başka bir nesne grubu, standart kontrollerdir - görüntülenen verilerin yardımıyla kontrol edilen düğmeler, anahtarlar, onay kutuları, menüler vb. Tüm bu nesneler, dil aracılığıyla standart bir şekilde tanımlanabilir ve açıklamaların kendileri daha sonra yeniden kullanım için kaydedilir.

Şu anda oldukça fazla sayıda farklı görsel uygulama geliştirme aracı bulunmaktadır. Ancak hepsi iki gruba ayrılabilir - evrensel ve uzmanlaşmış.

Evrensel görsel programlama sistemleri arasında en yaygın olanı Borland Delphi ve Visual Basic'tir. Onlara evrensel diyoruz çünkü yalnızca veritabanı uygulamaları geliştirmeye odaklanmazlar - bilgi uygulamaları da dahil olmak üzere hemen hemen her tür uygulama onların yardımıyla geliştirilebilir. Ayrıca evrensel sistemler kullanılarak geliştirilen programlar hemen hemen her veritabanı yönetim sistemi ile etkileşime girebilir. Bu, hem ODBC veya OLE DB sürücüleri kullanılarak hem de özel araçlar (bileşenler) kullanılarak sağlanır.

Özel geliştirme araçları yalnızca veritabanı uygulamaları oluşturmaya odaklanmıştır. Ayrıca, kural olarak, iyi tanımlanmış veritabanı yönetim sistemlerine bağlıdırlar. Bu tür sistemlere örnek olarak Sybase'in Power Builder'ı (elbette, Sybase Anywhere Server DBMS ile çalışmak üzere tasarlanmıştır) ve Microsoft'un Visual FoxPro'su verilebilir.

Prototip oluşturma ve kullanıcı arayüzü tasarlama görevleri esasen birleştiğinden, programcı yalnızca uygulamanın oluşturulmasını gözlemleyemeyen, aynı zamanda aktif olarak katılan, sonuçları ve gereksinimlerini ayarlayan son kullanıcılardan sürekli geri bildirim aldı. Ayrıca geliştirme süresini azaltmaya yardımcı olur ve giderek daha fazla kullanıcıyı RAD'ye çeken önemli bir psikolojik yöndür.

Görsel RAD araçları, bilgi sistemleri oluşturma aşamalarını mümkün olduğunca yakınlaştırmanıza olanak tanır; geliştiriciler her aşamada görsel nesnelerle çalıştıkça temel analiz, sistem tasarımı, prototip oluşturma ve nihai uygulama geliştirme benzer hale gelir.

RAD ile oluşturulmuş bir uygulamanın mantığı şudur: olay odaklı. Bu, uygulamanın parçası olan her nesnenin olaylar yayabileceği ve diğer nesneler tarafından oluşturulan olaylara yanıt verebileceği anlamına gelir. Olay örnekleri arasında pencerelerin açılması ve kapatılması, bir düğmeye basılması, bir klavye tuşuna basılması, bir farenin hareket ettirilmesi, bir veritabanındaki verilerin değiştirilmesi vb. sayılabilir.

Geliştirici, her olay için bir işleyici tanımlayarak uygulama mantığını uygular - ilgili olay meydana geldiğinde nesnenin yürüttüğü bir prosedür. Örneğin, bir düğme tıklama olay işleyicisi bir iletişim kutusu açabilir. Böylece nesnelerin yönetimi olaylar kullanılarak gerçekleştirilir.

Veritabanı yönetimi (DELETE, INSERT, UPDATE) ile ilgili olay işleyicileri, istemci veya sunucu düğümünde tetikleyiciler olarak uygulanabilir. Bu tür işleyiciler, silme, ekleme ve güncelleme işlemleri sırasında veritabanının referans bütünlüğünü ve ayrıca birincil anahtarların otomatik oluşturulmasını sağlamanıza izin verir.

Hızlı uygulama geliştirme metodolojisini kullanırken, bir bilgi sisteminin yaşam döngüsü aşağıdakilerden oluşur: dört aşama :

İhtiyaç analizi ve planlama aşaması;

Tasarım aşaması;

Yapı aşaması;

Uygulama aşaması.

İhtiyaç analizi ve planlama aşamasında aşağıdaki faaliyetler gerçekleştirilir:

Geliştirilen bilgi sisteminin yerine getirmesi gereken işlevler belirlenir;

İlk etapta geliştirme gerektiren en öncelikli işlevler belirlenir;

Bilgi ihtiyaçları açıklanmıştır;

Projenin kapsamı sınırlıdır;

Sonraki aşamaların her biri için zaman çerçevesi belirlenir;

Sonuç olarak, mevcut donanım ve yazılımı kullanarak, bu projenin belirlenmiş finansman çerçevesinde uygulanması olasılığı belirlenir.

Projenin uygulanması temelde mümkünse, gereksinimlerin analizi ve planlanması aşamasının sonucu, geliştirilmekte olan bilgi sisteminin işlevlerinin bir listesi, önceliklerini ve sistemin ön işlevsel ve bilgi modellerini gösteren bir liste olacaktır.

Tasarım aşamasında, CASE araçları, çalışan uygulama prototiplerini hızla elde etmek için kullanılan gerekli bir araçtır.

CASE araçları kullanılarak oluşturulan prototipler, sistem için önceki aşamada tanımlanmayan gereksinimleri iyileştiren ve tamamlayan kullanıcılar tarafından analiz edilir. Dolayısıyla bu aşama, sistemin teknik tasarımına gelecekteki kullanıcıların katılımını da gerektirir.

Gerekirse, her temel süreç için kısmi bir prototip oluşturulur: bir ekran, bir iletişim kutusu veya bir rapor (bu, belirsizlikleri veya belirsizlikleri ortadan kaldırmanıza olanak tanır). Daha sonra verilere erişim kontrolü için gereksinimler belirlenir.

Süreçlerin ayrıntılı bir şekilde değerlendirilmesinden sonra, geliştirilmekte olan sistemin işlevsel elemanlarının sayısı belirlenir. Bu, bilgi sistemini, her biri bir geliştirme ekibi tarafından RAD projeleri için kabul edilebilir bir sürede (yaklaşık bir buçuk ay) uygulanan bir dizi alt sisteme bölmenize olanak tanır. CASE araçları kullanılarak proje farklı ekipler arasında dağıtılır - işlevsel model bölünür.

Aynı aşamada, gerekli dokümantasyon seti belirlenir.

Bu aşamanın sonuçları şunlardır:

Sistemin genel bilgi modeli;

Bir bütün olarak sistemin fonksiyonel modelleri ve bireysel geliştirme ekipleri tarafından uygulanan alt sistemler;

Otonom olarak geliştirilmiş alt sistemler arasında CASE'ye özel arayüzler;

Ekranların, diyalogların ve raporların yerleşik prototipleri.

Bu aşamada RAD metodolojisini uygulamanın özelliklerinden biri, oluşturulan her prototipin gelecekteki sistemin bir parçası olarak gelişmesidir. Böylece bir sonraki aşamaya daha eksiksiz ve faydalı bilgiler aktarılır. Geleneksel yaklaşım, gerçek uygulamalar oluşturmaya yönelik olmayan prototip oluşturma araçlarını kullandı, bu nedenle geliştirilen prototipler sonraki aşamalarda kullanılamadı ve projedeki belirsizlikleri ortadan kaldırma görevini tamamladıktan sonra basitçe "atıldı".

Üzerinde yapı aşaması uygulamanın gerçek hızlı gelişimi gerçekleştirilir. Bu aşamada geliştiriciler, daha önce elde edilen modellere ve ayrıca işlevsel olmayan gereksinimlere dayalı olarak yinelemeli olarak gerçek bir sistem oluşturur. Uygulama geliştirme, görsel programlama araçları kullanılarak gerçekleştirilir. Program kodunun oluşturulması, kısmen CASE araçlarının parçası olan otomatik kod oluşturucular kullanılarak gerçekleştirilir. Kod, geliştirilen modellere göre oluşturulur.

Oluşturma aşaması ayrıca, geliştirme sürecinde sistem önceden tanımlanmış gereksinimleri karşılamayı bırakırsa, sonuçları değerlendiren ve ayarlamalar yapan sistem kullanıcılarının katılımını gerektirir. Sistem testi, doğrudan geliştirme sürecinde gerçekleştirilir.

Her bir geliştirme ekibinin çalışması tamamlandıktan sonra, sistemin bu kısmı kademeli olarak geri kalanı ile entegre edilir, komple program kodu oluşturulur, uygulamanın bu kısmının geri kalanı ile ortak çalışması test edilir ve ardından sistem bir bütün olarak test edilir.

Sistemin fiziksel tasarımı tamamlanıyor, yani:

Veri dağıtımı ihtiyacı belirlenir;

Veri kullanımının analizi yapılır;

Veritabanının fiziksel tasarımı yapılıyor;

Donanım kaynakları için gereksinimler belirlenir;

Verimliliği artırmanın yolları belirlenir;

Proje dokümantasyonu tamamlanıyor.

Bu aşamanın sonucu, tüm kullanıcı gereksinimlerini karşılayan hazır bir bilgi sistemidir.

uygulama aşaması temel olarak, geliştirilen bilgi sisteminin kullanıcılarını eğitmekle ilgilidir.

İnşa aşaması oldukça kısa olduğundan, planlama ve uygulama için hazırlık, sistem tasarımı aşamasında bile erken başlamalıdır.

Bir bilgi sisteminin geliştirilmesi için yukarıdaki şema evrensel değildir. Ondan çeşitli sapmalar oldukça mümkündür. Bunun nedeni, proje yürütme planının geliştirmenin başladığı ilk koşullara bağımlılığıdır (örneğin, tamamen yeni bir sistem geliştirilmektedir veya kuruluşta bazı bilgi sistemleri zaten mevcuttur). İkinci durumda, mevcut sistem ya yeni bir sistemin prototipi olarak kullanılabilir ya da alt sistemlerden biri olarak yeni bir geliştirmeye entegre edilebilir.

Tüm avantajlarına rağmen, RAD metodolojisi (aslında başka herhangi bir metodoloji gibi) evrensel olduğunu iddia edemez. Uygulaması, çok özel bir işletme için geliştirilmiş nispeten küçük sistemlerin uygulanmasında en etkilidir.

Bitmiş bir ürün olmayan, ancak bir bilgi sisteminin tipik unsurlarından oluşan standart sistemler geliştirirken, yönetilebilirlik ve kalite gibi proje göstergeleri, geliştirmenin basitliği ve hızı ile çelişebilecek büyük önem taşır. Bunun nedeni, tipik sistemlerin genellikle merkezi olarak bakımının yapılması ve çeşitli yazılım ve donanım platformlarına, veri tabanı yönetim sistemlerine, iletişim araçlarına uyarlanabilmesi ve ayrıca mevcut gelişmelerle entegre edilebilmesidir. Bu nedenle, bu tür projeler, yüksek düzeyde planlama ve katı tasarım disiplini, önceden tasarlanmış protokollere ve arayüzlere sıkı sıkıya bağlı kalmayı gerektirir, bu da geliştirme hızını azaltır.

RAD metodolojisi yalnızca tipik bilgi sistemleri oluşturmak için değil, aynı zamanda karmaşık hesaplama programları, işletim sistemleri veya karmaşık mühendislik ve teknik nesneleri yönetmek için programlar - büyük miktarda benzersiz kod yazmayı gerektiren programlar - oluşturmak için de geçerli değildir.

RAD metodolojisi, kullanıcı arayüzünün ikincil olduğu, yani sistem mantığının görsel bir tanımının olmadığı uygulamalar geliştirmek için kullanılamaz. Bu tür uygulamalara örnek olarak gerçek zamanlı uygulamalar, sürücüler veya hizmetler verilebilir.

RAD metodolojisi, ulaşım kontrol sistemleri veya nükleer santraller gibi insanların güvenliğinin bağlı olduğu sistemlerin geliştirilmesi için tamamen kabul edilemez. Bunun nedeni, RAD'nin temellerinden biri olan iteratif yaklaşımın, sistemin ilk sürümlerinin tam olarak işlevsel olmayacağını varsayması ve bu durumda ciddi felaketlere yol açabilecek olmasıdır.

Hızlı Program Geliştirme

Hızlı yazılım geliştirme, nesne yönelimli ve görsel programlama kullanılarak uygulamaların hızlandırılmış şekilde geliştirilmesini ve değiştirilmesini sağlayan bir programlama teknolojisidir.

İngilizcede: Hızlı Uygulama Geliştirme

İngilizce eş anlamlılar: RAD

Ayrıca bakınız: Otomatik Programlama

  • - - eğitim programlarının içeriğinin, ilgili eğitim alanındaki devlet standardının ayrılmaz bir parçası olan düzenleyici belgelerin gerekliliklerine uygunluğunu sağlamak ...

    Pedagojik terminolojik sözlük

  • - Ana mahsulün ekimleri arasında olduğu gibi, yalnızca kısa bir süre için mevcut olan araziye ekilen hızlı büyüyen bir mahsul veya - bazen - ...

    İş terimleri sözlüğü

  • - stratejik bir fikrin geliştirilmesi, hedeflerin formülasyonu, kaynak fırsatlarının analizi, hedeflere ulaşmanın yolları ve araçları, seçilen eylem yolunun gerekçesi, durum, tartışma, planın benimsenmesi, tasarım, ...

    Büyük muhasebe sözlüğü

  • - ".....

    Resmi terminoloji

  • - 1) Don Kazaklarının Ülkesinde, Donets'in sol kolu olan bir nehir. 2. Donskoy bölgesinden doğar, Donetsk'in güneydoğu köşesini geçer ve 1. Donskoy bölgesinde Ust-Bystryanskaya köyünün yukarısında Donets'e akar ...
  • - Irkut Nehri'nin sağ kolu olan Irkutsk ili ve ilçesi, üstleri granit geçitlerde olan iki kaynakla Khamar-Daban sırtından kaynaklanmaktadır ...

    Brockhaus ve Euphron Ansiklopedik Sözlüğü

  • - Seversky Donets'in sol kolu olan RSFSR'nin Rostov bölgesinde bir nehir. Uzunluk 218 km, havza alanı 4180 km2. Ova boyunca akan. Yemekler çoğunlukla karlı. B.'nin üst kesimlerinde ve kolları yaz aylarında kurur ...

    Büyük Sovyet Ansiklopedisi

  • - Alegroya bakın...

    Beş dilli dilbilimsel terimler sözlüğü

  • - Bakınız Katılık -...
  • - Santimetre....

    VE. Dal. Rus halkının atasözleri

  • - Bak ZAMAN - ÖLÇÜ -...

    VE. Dal. Rus halkının atasözleri

  • eşanlamlı sözlük

  • - isim, eş anlamlı sayısı: 2 fast food fast food ...

    eşanlamlı sözlük

  • - isim, eş anlamlı sayısı: 1 saat ...

    eşanlamlı sözlük

  • - isim, eş anlamlı sayısı: 1 oyun ...

    eşanlamlı sözlük

  • - isim, eş anlamlı sayısı: 1 nehir ...

    eşanlamlı sözlük

Kitaplarda "Hızlı Yazılım Geliştirme"

YAZILIM GELİŞTİRME

İnsan Kaynakları Yönetimi Uygulaması kitabından yazar Armstrong Michael

PROGRAM GELİŞTİRME 6. E-öğrenmenin her yönü için lütfen aşağıdakileri belirtin:? öğrenme ihtiyacı; E-öğrenme bu ihtiyacı nasıl karşılayacak? kullanılacak öğrenme sistemi; içerik (en geniş anlamda)

2. Yol: Hızlı Uygulama Geliştirme

tarafından Jeston John

Yol 2: Hızlı Uygulama Geliştirme Çoğu otomatikleştirilmiş BPM çözümü, süreç uzmanları ve/veya süreç sahipleri masaya oturduğunda iş ve teknik personel arasındaki süreçleri etkileşimli olarak yapılandırma yeteneği sağlar.

Adım 9. Pazarlama programlarının geliştirilmesi ve başlatılması

İş Süreçleri Yönetimi kitabından. Başarılı Proje Uygulaması için Pratik Bir Kılavuz tarafından Jeston John

9. Adım: Pazarlama Programlarını Geliştirin ve Başlatın Özellikle dış paydaşları hedefleyen resmi pazaryeri pazarlama kampanyaları başlatmayı düşünün. Kuruluş, programını yayınlamayı bile gerekli bulabilir.

3. Kamu programlarının ve hizmetlerinin geliştirilmesi ve iyileştirilmesi

Devlet ve Kamu Kuruluşları için Pazarlama kitabından yazar Philip Kotler

3. Toplum programlarını ve hizmetlerini geliştirmek ve iyileştirmek “Bildiğiniz gibi 10 Downing Street'e dilekçe gönderdikten sonra harika haberler aldık. Şimdi okul yemeklerini iyileştirmek için 280 milyon dolar harcama sözü veriyorlar.

Sözlü tarih projelerinin oluşturulması ve sözlü tarih araştırma programlarının geliştirilmesi

Sözlü Tarih kitabından yazar Shcheglova Tatyana Kirillovna

Sözlü tarih projelerinin oluşturulması ve sözlü tarih araştırma programlarının geliştirilmesi Sözlü tarih alanındaki etkinliklerin özgünlüğü. Araştırma konseptinin geliştirilmesi. Hedef belirleme. Görevlerin tanımı. Sözlü tarihin yönleri ve biçimleri

Rusya Federasyonu Medeni Kanunu kitabından yazar GARANTİ

Bölüm 8 Program Geliştirme

UNIX - Evrensel Programlama Ortamı kitabından yazar Pike Rob

Bölüm 8 Program Geliştirme UNIX'in başlangıçta program geliştirme ortamı olması amaçlanmıştı. Bu bölümde, katı bir program örneğini kullanarak bu amaç için kullanılan bazı yazılım araçlarını tartışacağız - bir programlama dili yorumlayıcısı,

10. Hafıza sınıfları ve program geliştirme

The C Language - Yeni Başlayanlar Kılavuzu kitabından yazar Prata Stephen

10. Bellek sınıfları ve program geliştirme YEREL VE ​​KÜRESEL DEĞİŞKENLER

Bölüm 3 Microsoft eMbedded Visual Basic 3.0 ile Cep Bilgisayarı Programları Geliştirme

yazar Volkov Vladimir Borisoviç

Bölüm 3 Microsoft eMbedded Visual Basic ile Cep Bilgisayarı Programları Geliştirme

Bölüm 4 Microsoft eMbedded Visual C++ 3.0 ile Cep Bilgisayarı Programları Geliştirme

Cep Bilgisayarları için Programlama kitabından yazar Volkov Vladimir Borisoviç

Bölüm 4 Microsoft eMbedded Visual C++ 3.0 ile Cep Bilgisayarı Programları Geliştirme eVB ile karşılaştırıldığında, C++ kesinlikle geliştirici için daha fazla seçenek sunar. eVC'de yapabileceğiniz hemen hemen her şeyi eVB'de yapabilmenize rağmen (bu bölümde eMbedded Visual C++ olarak adlandırılacaktır).

Bölüm 5 Microsoft eMbedded Visual C++ 4.0 ile Cep Bilgisayarı Programları Geliştirme

Cep Bilgisayarları için Programlama kitabından yazar Volkov Vladimir Borisoviç

Bölüm 5 Microsoft eMbedded Visual C++ 4.0 ile Cep Bilgisayarı Programları Geliştirme VC 3.0 ortamı hakkında söylenen her şey eVC 4.0 için tamamen geçerli olduğundan ve ortamların kendileri ikiz gibi göründüğünden, geliştirme ortamını yeniden tanımlamaya gerek yoktur. Aşağıdaki durumlarda eVC 4.0 kullanmanız gerekir:

Bölüm 6 Microsoft Visual Studio .NET 2003'te NET Compact Framework ve Pocket PC Geliştirme

Cep Bilgisayarları için Programlama kitabından yazar Volkov Vladimir Borisoviç

Bölüm 6 Microsoft Visual Studio .NET 2003'te NET Compact Framework ve Pocket PC Geliştirme Kitabın en ilginç kısımlarından birine geçiyoruz dersem şaka yapmıyorum. Aslında, hala oldukça yeni bir teknoloji. NET benim için meşru bir endişeydi. hepsi çok güzeldi

Bölüm 12 Fiyatlandırma Stratejileri ve Programları Geliştirme

Pazarlama Yönetimi kitabından. Ekspres kurs yazar Philip Kotler

Bölüm 12 Fiyatlandırma Stratejileri ve Programları Geliştirme Bu bölümde aşağıdaki soruların cevaplarını bulacaksınız: 1. Tüketiciler fiyatları nasıl algılıyor ve karşılaştırıyor?2. İlk fiyat ayarı nasıl?3. Fiyatların farklı piyasa durumlarına nasıl uyum sağladığı ve

8.6. İşgücü teşvik programlarının geliştirilmesi

İnsan Kaynakları kitabından yazar Shevchuk Denis Aleksandroviç

8.6. İşgücü teşvik programlarının geliştirilmesi İşgücü teşvikleri, işgücü verimliliği ve teknoloji gereksinimlerinin karşılaştırılmasına dayalı olarak çalışanları üretime katılmaları için ödüllendirmenin bir yoludur.Üretim yönetimi alanında önemli bir sorun,

Bölüm 5. Turizm programlarının gelişimi ve türleri

Turizm İşletmeciliği Organizasyonu kitabından: Turizm Ürün Oluşturma Teknolojisi yazar Mishina Larisa Aleksandrovna

Bölüm 5. Turizm programlarının geliştirilmesi ve türleri Seyahat şirketlerinin asıl işlevi, turların planlanmasıdır. Bu işlevin yerine getirilmesi sürecinde rekabetçi ve çekici bir turistik ürün yaratılır.