دورة حياة تطوير نظام حلول للجمعيات الخيرية:
بقلم م/ محمد عبدالله الجرفي أخصائي تقنية المعلومات بالجمعية.
دورة حياة تطوير النظام مرت بعدة إجراءات ومجموعة من الخطوات خطوة - خطوة، وبشكل انسيابي.
مقدمة بسيطة: في هندسة البرمجيات، بناء النظام البرمجي ليس مجرد كتابة شفرة، وإنما هي عملية إنتاجية لها عدة مراحل أساسية وضرورية للحصول على المنتج، وهو البرنامج بأقل كلفة ممكنة وأفضل أداء محتمل, يطلق على هذه المراحل اسم دورة حياة النظام البرمجي (Software Lifecycle) التي قد يبدو بعضها ليس له علاقة بالبرمجة. وهناك الكثير من التصورات والنماذج في هندسة البرمجيات تصف عملية إنتاج برنامج والخطوات اللازمة لذلك. كما أن دورة حياة النظام خاضعة للتطوير دائما.
دورة الحياة التي مر بها نظام حلول :
1. التحريات الأولية: (preliminary investigation)
مرحلة جمع المعلومات التي تخص المستفيدين والاجراءات المتخذة من قبل الجمعية والأنظمة المتبعة في التعامل مع المستفيد وطرق الصرف وآلياته واجراءات الاستلام والتسليم من المستودع وغير ذلك من المعلومات التي تعطي صورة عامة عن آلية العمل في الجمعية.
2. تحليل النظام: (systems analysis)
تحليل المعلومات التي تم الحصول عليها في المرحلة السابقة جمع المعلومات بدقة ثم تحديد المتطلبات والمهام التي سيقوم بها النظام، وتوصف هذه المهام بدقة تامة، كما تم دراسة الجدوى المرجوة من النظام ، واستخلاص الأفكار وتحديدها, لذلك فهي تتطلب مهارة عالية وقدرة على التحليل الصحيح. ينتج في نهاية هذه المرحلة وثيقة تدعى جدول الشروط والمواصفات.
3. تصميم النظام: (systems design)
تصميم النظام هي المرحلة الثالثة من مراحل دورة حياة النظام، تساعدنا في تحديد كيفية حل المشكلة " كيف سنحل المشكلة؟ "، وإيجاد الحل الأمثل والتخطيط للتوصل إلى حلول للمشكلة، باستخدام الخوارزميات والدخول في تفاصيل النظام. التصميم يحدد هيكلية وبنية النظام من خلال تجزئة النظام إلى مجموعة من الأنظمة الفرعية Sub-Systems مما يساهم في السيطرة على التعقيد في النظام System Complexity ، وتحديد الواجهات ونوافذ المستخدم User Interfaces ،والمكونات Components ، والوحدات Modules والبيانات للنظام كي يحقق النظام متطلبات الجمعية والمستخدم للنظام. باستخدام المتطلبات التي حددناها في مرحلة التحليل. مرحلة التصميم تم خلالها إيجاد التصميم الأمثل لنظام حلول الذي يلبي احتياجات الجمعية ومستخدمي النظام والتي تم توصيفها في مرحلة التحليل. إن عملية التصميم في جوهرها هي عملية حل مشكلات، أي يجري البحث خلالها عن أفضل الحلول التصميمية لبناء نظام له أهداف محددة.
4. تطوير النظام: (systems development)
وتسمى أيضاً مرحلة الترميز (كتابة الكود), حيث تم تحويل الخوارزميات والمخططات Diagrams التي تم انتاجها في مرحلة التصميم إلى لغة PHP & MySQL، وذلك لإنتاج نظام قابل للاستخدام من أي مكان يرتبط بالإنترنت, خلال هذه المرحلة قمنا ببعض الاختبارات Testing على الأنظمة الفرعية كنظام الفئات والأحياء والباحثين وتجهيز الصرفيات والتحكم بالصرفيات والكفالات ورسائل sms و .. الخ للنظام للتأكد من عملها بطريقة صحيحة.
5. الاختبار والتكاملية: (Testing and integrative)
يختبر النظام للتأكد من موافقته لاحتياجات الجمعية،.
6. التوثيق: (Documentation)
وهي مرحلة هامة من مراحل بناء نظام حلول حيث يتم توثيق البناء الداخلي للنظام؛ لغرض الصيانة والتطوير. والتوثيق مستمر مع كل مرحلة من المراحل السابقة واللاحقة لجميع المشاكل والحلول التي يمكن أن تظهر أثناء بناء النظام. وبدون التوثيق لا يمكن متابعة صيانة وتطوير النظام ، أو بمعنى آخر الفشل في بناء نظام ذا جودة عالية. وهناك أكثر من طريقة استخدمت في التوثيق -توثيق بإضافة تعليقات داخل الشفرة البرمجية للنظام. - توثيق أثناء التحليل بكتابة مستندات شرح الكثير من أجزاء النظام. - توثيق أثناء اختبار النظام وفيها يتم تسجيل نقاط الخلل والمشاكل التي تظهر في النظام لحلها.
7. تنفيذ النظام: (systems implementation)
بعد مراحل التحريات الأولية preliminary investigation))، ثم تحليل النظام (systems analysis)، ثم تصميم النظام (systems design)،وأخيراً تطوير النظام (systems development). وفي هذه المرحلة تم تركيب النظام على الاستضافة وجميع الأجهزة لقسم الخدمة الاجتماعية داخل الجمعية، وكذلك وتدريب المستخدمين من العاملين في الجمعية بشكل فردي.
8. الصيانة والتطوير - إدامة وحفظ النظام -: (systems maintenance)
إن هذه المرحلة هي المرحلة الأطول في حياة نظام حلول لبقاء النظام قادراً على مواكبة التطورات والتقنيات الحديثة، جزء من هذه المرحلة يكون في تصحيح الأخطاء، والجزء الآخر يكون في التطوير وإضافة تقنيات جديدة.
وفي هذه المرحلة الأخيرة نقوم بالضبط والتعديل والتحسين والتطوير (adjustment and improvement) للنظام ، عن طريق التدقيق والتقويم الدوري (conducting system audits and periodic evaluations)، ومن ثم القيام بالتغييرات المطلوبة، إذا لزم الأمر.
آمل أن أن أكون قد وفقت في توضيح دورة حياة بناء نظام حلول وتنفيذه وصيانته وتطويره, بالاستفادة من مقالات آخرى منشورة في هذا المجال.
م/ محمد عبدالله الجرفي. أخصائي تقنية المعلومات بالجمعية