التطوير السريع للتطبيقات
تطوير سريع تطبيقات
Rapid applications development (RAD) -
التطوير السريع للتطبيقات
مهيب النقري
المفاهيم الأساسية للتطوير السريع للتطبيقات
مراحل التطوير السريع للتطبيقات
محاسن التطوير السريع للتطبيقات ومساوئه
التطوير السريع للتطبيقات rapid application development منهجية لبنا الأنظمة الحاسوبية، تعتمد على دمج أدوات هندسة البرمجيات وتقاناتها بمعونة الحاسوب Computer-Assisted Software Engineering (CASE) في النماذج المَقودة بالمستخدم user-driven prototyping ومولّدات الرِماز code generators بهدف الوصول إلى تطبيقات عالية الجودة في زمن أسرع وبتكلفة أقلّ.
طُوِّرت هذه المنهجية في تسعينيّات القرن العشرين بهدف تجاوز نقاط الضعف التي كانت تسبغ منهجيات التطوير البنيويّة structured development methodologies، وأهمها: طول وقت إعدادها، وصعوبة فهم متطلبات النظام اعتماداً على الوصف الموجود على الورق فقط؛ لذلك كان الهدف الأهم لبنا المنهجية الجديدة هو تحسين فهم المستخدمين للنظام عن طريق المراجعات التفاعلية والمتزامنة بهدف جعله أقرب إلى متطلباتهم.
المفاهيم الأساسية للتطوير السريع للتطبيقات
تعتمد هذه المنهجية على ثلاثيّة بنا التطبيقات بأعلى سرعة، وبجودة عالية، وبأقل تكلفة ممكنة.
تَستخدم هذه المنهجية طريقتين أساسيّتين للتطوير هما: التطوير المرحلي phased development، وبنا النموذج الأوّلي prototyping.
تعتمد طريقة التطوير المرحلي على تقسيم النظام إلى سلسلة من الإصدارات التي يجري تطويرها تسلسلياً. تبدأ مرحلة التحليل بتحديد مفاهيم النظام؛ إذ يقوم فريق العمل بتصنيف المتطلبات إلى سلسلة من الإصدارات، وتُوضع المتطلبات الرئيسية في الإصدار الأول، ثمّ يجري تحقيق بقية المتطلبات من خلال سلسلة متلاحقة من الإصدارات.
أما طريقة بنا النموذج الأوّلي فتعتمد على إجرا عمليات تحليل النظام وتصميمه وإنجازه على نحو متزامن، ويتم تنفيذ المراحل الثلاث على نحوٍ متكرر حتى الوصول إلى إنجاز كامل النظام، تجعل هذه الطريقة من المستخدم عنصراً فعّالاً في أثنا عملية تطوير النظام. يُسلَّم النموذج الأوّلي إلى المستخدم لإجرا الاختبارات، وتقديم الملاحظات التي يمكن أن تستدعي إعادة تحليل النظام وتصميمه من جديد، ومن ثمَّ توليد نموذج أولي آخر، وهكذا حتى يصل المستخدم إلى النسخة النهائية التي تلبي متطلباته كلَّها.
تمتلك منهجية التطوير السريع للتطبيقات مميزات عدة من أهمها مايأتي:
-
جمع المتطلبات عن طريق ورشات العمل أو المجموعات المركزية focus groups.
-
النمذجة الأولية واختبارات المستخدم التكرارية.
-
إعادة استخدام المكوّنات البرمجيّة.
-
استخدام مجموعة أدوات هندسة البرمجيات بمعونة الحاسوب(CASE) المتكاملة بغية نمذجة النظام وتصميمه، وتوليد رِماز خالٍ من العثرات البرمجية.
-
المشاركة الفعّالة للمستخدم النهائي خلال مراحل تصميم النظام؛ ممَّا يساعد على الكشف المبكّر عن الأخطا ، وإنقاص الزمن اللازم لإصلاحها.
مراحل التطوير السريع للتطبيقات
تتألف منهجية التطوير السريع للتطبيقات من أربع مراحل رئيسية هي:
1- التخطيط planning: يُجرى ذلك من مراجعة مجالات العمل المرتبطة بالتطبيق الذي يتم بناؤه؛ ممّا يساعد على تحديد الوظائف التي يدعمها، وتُستخدم عادةً طريقة التصميم المشترك Joint Application Design (JAD) من أجل جمع المتطلبات بطريقة فعّالة تعتمد على جمع المستخدم النهائي والزبون والمطوّرين في ورشات عمل مشتركة. وتتمثل أهم المخرجات الناتجة بمايلي: النموذج التفصيلي للنظام (نماذج الإجرائيات والكيانات entity & process models)، وتحديد مجال النموذج وتقديرات تكاليف تطويره.
2- التصميم design: وذلك من خلال إجرا تحليل مفصّل لأنشطة العمل المرتبطة بالنظام المقترح. يجري الاعتماد في هذه المرحلة على ورشات العملworkshops التي تضمّ المستخدمين الأساسيِّين من أجل تفكيك وظائف الأعمال وتعريف أنواع الكيانات. يُستكمل التحليل بإنشا المخططات التي تُحدد الارتباطات بين الإجرائيات والبيانات، وبعد إنها عملية التحليل تُصمّم إجرا ات النظام وتُطوّر المخططات الأولية لواجهاته، ثم يجري بنا مخطط أوّلي prototype لإجرا ات النظام الحرجة، وتحضير مخطط تنفيذه.
3- البناء construction: يتم في هذه المرحلة الاعتماد على مجموعة صغيرة من المطوّرين الذين يعملون مع المستخدمين مباشرة من أجل إنها تصميم النظام والبد ببنائه. تتألف هذه المرحلة من سلسلة من خطوات "صَمِّم وابْنِ design and build" التي تسمح للمستخدم بالتوليف الدقيق للمتطلبات عبر مراجعة تنفيذ البرمجية الناتجة. تتضمن هذه المرحلة أيضاً عمليات التحضير لوضع النظام في الخدمة بعد الانتها من اختباره، وبنا المستندات والتعليمات والإجرائيات اللازمة لتشغيله، ومن ثمَّ تشمل هذه المرحلة خطوات التنفيذ والاختبار ومراجعة المستخدم.
4- النشر deployment: في هذه المرحلة يتم القيام بإنجاز النظام الجديد، وإدارة عمليات الانتقال من النظام القديم إلى النظام الجديد؛ والتي يمكن أن تشمل تنفيذ إخطاطات (أخطوطات) برمجية scripts التحويل ولاسيما تحويل البيانات وتدريب مستخدمي النظام وإنجاز مرحلة اختبارات القبول.
يبيّن الشكل (1) الفرق بين دورة حياة تطوير التطبيقات وفق الطريقة التقليدية ودورة التطوير السريع للتطبيقات.
الشكل (1) دورة التطبيقات وفق الطريقة التقليدية والسريعة. محاسن التطوير السريع للتطبيقات ومساوئه
تتمثّل محاسن هذه المنهجية بقدرة المستخدم على تعرّف النظام المطوّر في وقت مبكِّر من خلال بنا النموذج الأوّلي. كما أنها توفّر مرونة عالية للمطوّرين في إعادة تصميم النظام والتخفيف من كتابة الرِماز يدوياً نظراً إلى أن أدوات هندسة البرمجيات بمعونة الحاسوب تسمح بإعادة توليد الرِماز واستخدامه مرات عدة آلياً؛ ممّا يساعد على تقليص دورة التطوير والتقليل من عيوب النظام. تسمح هذه المنهجية ببنا التطبيقات بفعّالية باستخدام عدد قليل من المطوّرين.
هناك بعض العيوب والمساوئ لهذه المنهجية؛ إذ إن استخدامها يعتمد -بصورة أساسية- على أدوات هندسة البرمجيات بمعونة الحاسوب CASE المرتفعة الثمن بالتأكيد، ويصعُب تقدير مدى تقدّم العمل بتطوير النظام لعدم وجود نقاط علّام milestone محدّدة، ولعدم كتابة الرِماز يدوياً. كما أنّ هذه المنهجية تفتقد الدقّة العلمية بسبب عدم استخدام طرائق صورية formal methods، إضافة إلى الاحتمال الكبير بعدم القدرة على تغطية المتطلبات جميعها؛ إذ إن اهتمامات الزبون قد تتغير بين تكرار وآخر، كما أنّ استخدام هذه المنهجية يتطلب فريق عمل ذا خبرة عالية، ولايمكن استخدامها إلا لبنا التطبيقات التي يمكن تجزئتها، وتحتاج إلى مشاركة دائمة من قبل المستخدم خلال مراحل تطوير النظام، ممّا يجعل إدارتها أكثر تعقيداً.
يجب الانتباه لنقطة مهمة قد تجعل من استخدام منهجية التطوير السريع للتطبيقات هدّامة في حال عدم استخدامها بطريقة شمولية؛ ذلك لأنها تُستخدم في أغلب المؤسسات -على نحو فعّال- لبنا تطبيقات صغيرة قائمة بذاتها لحلّ مشكلات صغيرة تعترضها، وقابلة للتعميم على المؤسسة في حال نجاح تطبيقها. وفي حال اعتماد هذه الطريقة لبنا العديد من التطبيقات المعزولة لحلّ مسائل خاصّة قد تصل في نهاية الأمر إلى وجود عدد كبير من التطبيقات الصغيرة التي لاتستطيع العمل سويّة؛ لذلك يجب على المؤسسات التي تعتمد هذه المنهجية العمل على وضع خطة واضحة ومنهجية لبنا تطبيقاتها على نحو يسمح لها بالعمل سويةً.
مراجع للاستزادة:
- P. Konstantinou, Rapid Application Development, ISAM 5635, 2011.
- R. Pereira et al., Rapid Application Development with OutSystems: Create Applications with OutSystems up to Seven Times Faster Than With Traditional Technologies, Packt publishing, 2022.
- The Art of Service, Rapid Application Development A Complete Guide, Rapid Application Development publishing, 2021.
- التصنيف : كهرباء وحاسوب - النوع : كهرباء وحاسوب - المجلد : المجلد التاسع مشاركة :