فكرة الدرس
توفر دورة حياة النظام (System Life Cycle) إطار عمل منظمًا لعمليات إنتاج وتطوير الأنظمة. ولا يقتصر الهدف على تحسين المنتج النهائي، بل يشمل أيضًا تحسين إدارة عمليات الإنتاج والتطوير والاستخدام الأمثل للموارد.
مراحل دورة حياة النظام
تحديد المشكلة والمستخدمين والاحتياجات والمتطلبات والموارد والقيود.
تحويل نتائج التحليل إلى هيكل وتصميم تفصيلي للنظام.
تحويل المواصفات إلى برمجيات ثم اختبارها أثناء وبعد التطوير.
نشر النظام وتثبيته في البيئة المستهدفة وتجهيزه للاستخدام.
إصلاح الأخطاء وتحسين الوظائف وإضافة الميزات وفق الحاجة.
تسجيل تفاصيل التصميم والتطوير والاختبار والتنفيذ والصيانة.
التأكد باستمرار من كفاءة النظام وسهولة استخدامه وملاءمته.
مثال الدرس: تطبيق سياحي لكبار السن
يستخدم الكتاب مثال تطبيق هاتف يعرض معلومات عن المعالم السياحية في المملكة، مع مراعاة كبار السن والأشخاص الذين لديهم مشكلات في الرؤية أو ارتعاش في اليدين.
خط واضح وقابل للتكبير، أزرار مناسبة، واجهة سهلة، وإمكانية تغيير الألوان.
تمكين المستخدم من الوصول إلى المعلومات السياحية بسهولة وبطريقة تناسب احتياجاته.
1) مرحلة التحليل Analysis
الخطوة الأولى لنجاح أي مشروع هي تحديد المشكلة التي تحتاج إلى حل، ثم تحديد متطلبات الحل بدقة. في التحليل نحدد المستخدمين واحتياجاتهم ومتطلباتهم، ونأخذ في الاعتبار الموارد والتكلفة والميزانية والوقت والوظائف المطلوبة والصعوبات المحتملة.
كيف نجمع المتطلبات؟
مناسبة لعدد كبير من الأشخاص، وأسرع وأقل تكلفة عادة.
تتيح التفسير الفوري وتعديل الأسئلة والحصول على تفاصيل أعمق.
متابعة النظام الحالي على أرض الواقع لاكتشاف تفاصيل دقيقة في طريقة العمل.
تحليل التقارير والنماذج والفواتير والسجلات والوثائق الحالية.
المتطلبات الوظيفية وغير الوظيفية
المتطلبات الوظيفية
تحدد ما الذي يجب أن يفعله النظام، مثل البحث، التنقل، الأزرار ووظائفها، الرسائل والتنبيهات، وإصدار التقارير.
المتطلبات غير الوظيفية
تصف خصائص جودة النظام ومعايير تشغيله، مثل الأداء، زمن الاستجابة، الموثوقية، الأمان، سهولة الاستخدام، قابلية الصيانة والتكامل.
2) مرحلة التصميم Design
في هذه المرحلة يشارك محلل النظم في بناء هيكلية النظام وتصميمه، وتُقسم المشكلة الرئيسة إلى مشكلات أصغر يمكن حلها باستخدام الحاسب.
3) التطوير والاختبار
بعد التحليل والتصميم يأتي دور المبرمجين ومختبري النظام لتحويل المتطلبات والمواصفات إلى مقاطع برمجية. ويربط الكتاب التطوير بالاختبار؛ إذ يجب اختبار النظام أثناء التطوير وبعده.
التحقق من القيم والقواعد والحدود المسموح بها.
اختبار الواجهة وتجربة المستخدم والوظائف.
اكتشاف الأخطاء المنطقية والتأكد من ظهور الرسائل المناسبة.
التأكد من التكامل الصحيح مع الأنظمة والخدمات الأخرى.
4) التنفيذ Implementation
بعد موافقة المستخدم على النظام الذي تم تطويره واختباره، يُنشر النظام ويُثبت في الموقع المستهدف ليصبح جاهزًا للعمل. وقد يحتاج المستخدمون النهائيون إلى التدريب، وقد يتطلب التنفيذ نقل البيانات من النظام القديم إلى الجديد.
5) الصيانة Maintenance
الصيانة ضرورية لمعالجة الأخطاء التي تظهر أثناء الاستخدام الفعلي، كما تشمل تحسين الوظائف وإضافة ميزات جديدة ومواكبة الاحتياجات المستقبلية.
6) التوثيق Documentation
التوثيق مهمة مستمرة تبدأ أثناء التخطيط والتحليل وتستمر حتى الصيانة. ويشمل وصف التصميم والتطوير والاختبار والتنفيذ وسجلات الصيانة.
7) التقييم Evaluation
يجب تقييم مراحل دورة حياة النظام باستمرار؛ لأن مشكلة صغيرة في التصميم قد تؤدي إلى مشكلات أكبر أثناء التطوير أو التنفيذ. ومن مجالات التقييم: الكفاءة، سهولة الاستخدام، والملاءمة للمهمات المطلوبة.
يمكن أن يشارك في التقييم فريق تقنية المعلومات والمستخدمون والإدارة.
تحقق من فهمك
لماذا لا نبدأ ببرمجة النظام مباشرة قبل التحليل؟
ما الفرق بين المتطلب الوظيفي وغير الوظيفي؟
في أي مرحلة تتحول المتطلبات والمواصفات إلى مقاطع برمجية؟
نشاط صفي — صمّم فكرة نظام
بالعمل في مجموعات: اختاروا نظامًا رقميًا بسيطًا يمكن أن يخدم المدرسة، مثل نظام حجز معمل الحاسب، نظام استعارة الأجهزة، أو تطبيق للإبلاغ عن الأعطال.
ما المشكلة التي سيحلها النظام؟
من الأشخاص الذين سيستخدمونه؟
أي طريقة ستستخدمون: استبانة، مقابلة، ملاحظة، أم فحص وثائق؟ ولماذا؟
اكتبوا ثلاث وظائف يجب أن يؤديها النظام.
اكتبوا ثلاثة معايير جودة للنظام.
ارسموا تصورًا مبسطًا لواجهة النظام وتدفق العمل.
المشكلة: تعارض حجوزات المعمل.
المستخدمون: المعلمون ومنسق المعمل.
جمع المتطلبات: مقابلة المنسق + استبانة للمعلمين.
متطلبات وظيفية: عرض المواعيد، إنشاء حجز، إلغاء الحجز.
متطلبات غير وظيفية: سهولة الاستخدام، سرعة الاستجابة، حماية بيانات المستخدمين.