التقنية الرقمية 3-1 • الوحدة الثانية: دورة حياة النظام

الدرس الأول: دورة حياة النظام

من تحليل المشكلة إلى تصميم النظام وتطويره وتنفيذه وصيانته وتوثيقه وتقييمه

فكرة الدرس

توفر دورة حياة النظام (System Life Cycle) إطار عمل منظمًا لعمليات إنتاج وتطوير الأنظمة. ولا يقتصر الهدف على تحسين المنتج النهائي، بل يشمل أيضًا تحسين إدارة عمليات الإنتاج والتطوير والاستخدام الأمثل للموارد.

الفكرة الأساسية: بناء النظام لا يبدأ بالبرمجة مباشرة؛ بل يمر بمراحل تساعدنا على فهم المشكلة، وتصميم الحل، وتطويره واختباره، ثم تشغيله ومتابعته.

مراحل دورة حياة النظام

رسم مراحل دورة حياة النظام من الكتاب
1. التحليل
تحديد المشكلة والمستخدمين والاحتياجات والمتطلبات والموارد والقيود.
2. التصميم
تحويل نتائج التحليل إلى هيكل وتصميم تفصيلي للنظام.
3. التطوير والاختبار
تحويل المواصفات إلى برمجيات ثم اختبارها أثناء وبعد التطوير.
4. التنفيذ
نشر النظام وتثبيته في البيئة المستهدفة وتجهيزه للاستخدام.
5. الصيانة
إصلاح الأخطاء وتحسين الوظائف وإضافة الميزات وفق الحاجة.
6. التوثيق
تسجيل تفاصيل التصميم والتطوير والاختبار والتنفيذ والصيانة.
7. التقييم
التأكد باستمرار من كفاءة النظام وسهولة استخدامه وملاءمته.
مهم: التوثيق والتقييم عمليتان مستمرتان خلال مراحل دورة حياة النظام، وليستا مجرد خطوة تنفذ مرة واحدة في النهاية.

مثال الدرس: تطبيق سياحي لكبار السن

يستخدم الكتاب مثال تطبيق هاتف يعرض معلومات عن المعالم السياحية في المملكة، مع مراعاة كبار السن والأشخاص الذين لديهم مشكلات في الرؤية أو ارتعاش في اليدين.

احتياجات المستخدم
خط واضح وقابل للتكبير، أزرار مناسبة، واجهة سهلة، وإمكانية تغيير الألوان.
الهدف
تمكين المستخدم من الوصول إلى المعلومات السياحية بسهولة وبطريقة تناسب احتياجاته.

1) مرحلة التحليل Analysis

الخطوة الأولى لنجاح أي مشروع هي تحديد المشكلة التي تحتاج إلى حل، ثم تحديد متطلبات الحل بدقة. في التحليل نحدد المستخدمين واحتياجاتهم ومتطلباتهم، ونأخذ في الاعتبار الموارد والتكلفة والميزانية والوقت والوظائف المطلوبة والصعوبات المحتملة.

كيف نجمع المتطلبات؟

الاستبانات
مناسبة لعدد كبير من الأشخاص، وأسرع وأقل تكلفة عادة.
المقابلات
تتيح التفسير الفوري وتعديل الأسئلة والحصول على تفاصيل أعمق.
الملاحظة
متابعة النظام الحالي على أرض الواقع لاكتشاف تفاصيل دقيقة في طريقة العمل.
فحص توثيقات النظام
تحليل التقارير والنماذج والفواتير والسجلات والوثائق الحالية.
مقارنة طرق جمع متطلبات النظام من الكتاب
لا توجد طريقة واحدة مناسبة دائمًا؛ يوضح الكتاب أن اختيار طريقة جمع البيانات يعتمد على طبيعة المؤسسة وعدد المستهدفين، وغالبًا تستخدم أكثر من طريقة للوصول إلى نتائج أدق.

المتطلبات الوظيفية وغير الوظيفية

المتطلبات الوظيفية

تحدد ما الذي يجب أن يفعله النظام، مثل البحث، التنقل، الأزرار ووظائفها، الرسائل والتنبيهات، وإصدار التقارير.

المتطلبات غير الوظيفية

تصف خصائص جودة النظام ومعايير تشغيله، مثل الأداء، زمن الاستجابة، الموثوقية، الأمان، سهولة الاستخدام، قابلية الصيانة والتكامل.

رسم توضيحي للمتطلبات الوظيفية وغير الوظيفية
مثال: «يستطيع المستخدم البحث عن معلم سياحي» = متطلب وظيفي. أما «تظهر نتيجة البحث بسرعة ويعمل النظام بكفاءة مع عدد كبير من المستخدمين» = متطلب غير وظيفي.

2) مرحلة التصميم Design

في هذه المرحلة يشارك محلل النظم في بناء هيكلية النظام وتصميمه، وتُقسم المشكلة الرئيسة إلى مشكلات أصغر يمكن حلها باستخدام الحاسب.

رسم توضيحي لمرحلة تصميم النظام من الكتاب
تحديد تدفق البيانات والمعلومات.
تحديد هياكل البيانات والبيانات الرئيسة.
تحديد مكان وكيفية تخزين البيانات بأمان.
تصميم التقارير والمخرجات.
تصميم واجهة المستخدم ووظائف عناصرها.
تصميم التكامل مع الأنظمة الأخرى.
تحديد طريقة اختبار النظام وبيانات الاختبار.

3) التطوير والاختبار

بعد التحليل والتصميم يأتي دور المبرمجين ومختبري النظام لتحويل المتطلبات والمواصفات إلى مقاطع برمجية. ويربط الكتاب التطوير بالاختبار؛ إذ يجب اختبار النظام أثناء التطوير وبعده.

صحة البيانات المدخلة
التحقق من القيم والقواعد والحدود المسموح بها.
الوظائف وقابلية الاستخدام
اختبار الواجهة وتجربة المستخدم والوظائف.
أخطاء التصميم والتشغيل
اكتشاف الأخطاء المنطقية والتأكد من ظهور الرسائل المناسبة.
الاتصال بالأنظمة الأخرى
التأكد من التكامل الصحيح مع الأنظمة والخدمات الأخرى.

4) التنفيذ Implementation

بعد موافقة المستخدم على النظام الذي تم تطويره واختباره، يُنشر النظام ويُثبت في الموقع المستهدف ليصبح جاهزًا للعمل. وقد يحتاج المستخدمون النهائيون إلى التدريب، وقد يتطلب التنفيذ نقل البيانات من النظام القديم إلى الجديد.

في مثال التطبيق: يصبح التطبيق متاحًا للمستخدمين عبر متجر التطبيقات ليتمكنوا من تحميله وتثبيته على هواتفهم.

5) الصيانة Maintenance

الصيانة ضرورية لمعالجة الأخطاء التي تظهر أثناء الاستخدام الفعلي، كما تشمل تحسين الوظائف وإضافة ميزات جديدة ومواكبة الاحتياجات المستقبلية.

مثال: إذا لاحظ المستخدمون أن أزرار التطبيق ما زالت صغيرة، يمكن إصدار تحديث يزيد خيارات التحكم في حجمها.

6) التوثيق Documentation

التوثيق مهمة مستمرة تبدأ أثناء التخطيط والتحليل وتستمر حتى الصيانة. ويشمل وصف التصميم والتطوير والاختبار والتنفيذ وسجلات الصيانة.

توثيق متطلبات المستخدمين.
كتابة وثيقة تصميم النظام.
إضافة تعليقات توضيحية داخل المقاطع البرمجية.
توثيق عمليات الاختبار.
إعداد دليل المستخدم.

7) التقييم Evaluation

يجب تقييم مراحل دورة حياة النظام باستمرار؛ لأن مشكلة صغيرة في التصميم قد تؤدي إلى مشكلات أكبر أثناء التطوير أو التنفيذ. ومن مجالات التقييم: الكفاءة، سهولة الاستخدام، والملاءمة للمهمات المطلوبة.

يمكن أن يشارك في التقييم فريق تقنية المعلومات والمستخدمون والإدارة.

تحقق من فهمك

لماذا لا نبدأ ببرمجة النظام مباشرة قبل التحليل؟

لأن التحليل يحدد المشكلة والمستخدمين والمتطلبات والموارد والقيود. البرمجة قبل فهم هذه العناصر قد تنتج نظامًا لا يحل المشكلة المطلوبة.

ما الفرق بين المتطلب الوظيفي وغير الوظيفي؟

الوظيفي يحدد ما الذي يجب أن يفعله النظام، بينما غير الوظيفي يحدد خصائص جودة النظام ومعايير تشغيله مثل الأداء والأمان والموثوقية.

في أي مرحلة تتحول المتطلبات والمواصفات إلى مقاطع برمجية؟

مرحلة التطوير، مع إجراء الاختبارات أثناء وبعد التطوير.

نشاط صفي — صمّم فكرة نظام

بالعمل في مجموعات: اختاروا نظامًا رقميًا بسيطًا يمكن أن يخدم المدرسة، مثل نظام حجز معمل الحاسب، نظام استعارة الأجهزة، أو تطبيق للإبلاغ عن الأعطال.

1. المشكلة
ما المشكلة التي سيحلها النظام؟
2. المستخدمون
من الأشخاص الذين سيستخدمونه؟
3. جمع المتطلبات
أي طريقة ستستخدمون: استبانة، مقابلة، ملاحظة، أم فحص وثائق؟ ولماذا؟
4. متطلبات وظيفية
اكتبوا ثلاث وظائف يجب أن يؤديها النظام.
5. متطلبات غير وظيفية
اكتبوا ثلاثة معايير جودة للنظام.
6. التصميم
ارسموا تصورًا مبسطًا لواجهة النظام وتدفق العمل.
مثال سريع — نظام حجز معمل الحاسب:
المشكلة: تعارض حجوزات المعمل.
المستخدمون: المعلمون ومنسق المعمل.
جمع المتطلبات: مقابلة المنسق + استبانة للمعلمين.
متطلبات وظيفية: عرض المواعيد، إنشاء حجز، إلغاء الحجز.
متطلبات غير وظيفية: سهولة الاستخدام، سرعة الاستجابة، حماية بيانات المستخدمين.