ماذا ستتعلم؟
- تفسير دورة حياة النظام ومراحلها، ودور التوثيق والتقييم المستمر.
- التمييز بين المتطلبات الوظيفية وغير الوظيفية.
- المقارنة بين أدوات جمع المتطلبات واختيار الأداة المناسبة.
- تطبيق المراحل على تطوير تطبيق هاتف ذكي أو متجر إلكتروني.
ما دورة حياة النظام؟
نطبق هذه الدورة هنا على أنظمة تقنية المعلومات والاتصالات (ICT). تبدأ بفهم المشكلة، ثم تصميم الحل وتطويره واختباره وتنفيذه وصيانته.
1. التحليل (Analysis)
نحدد المشكلة التي تحتاج إلى حل، والمستخدمين واحتياجاتهم، وجميع الوظائف المطلوبة من النظام بدقة. ونأخذ في الحسبان الموارد البشرية والمادية، والتكاليف والميزانية والوقت المتاح والصعوبات المحتملة.
ما المشكلة؟
حدد الوضع الحالي وما يحتاج إلى تحسين، ثم حدد ما يتوقعه أصحاب المصلحة من النظام الجديد.
كيف نجمع المتطلبات؟
بالاستبانات والمقابلات والملاحظة وفحص وثائق النظام الحالي.
مثال الكتاب: تطبيق سياحي لكبار السن
تطبيق يقدم معلومات عن المعالم السياحية في المملكة العربية السعودية، ويدعم من لديهم مشكلات بصرية أو رعاش في اليدين. يحتاج المستخدم إلى تغيير حجم الخط والأزرار، وإمكانية استخدام الأسود والأبيض لتسهيل القراءة.
2. التصميم (Design)
يسهم محلل النظم في بناء هيكل النظام وتصميمه، وتقسيم المشكلة الرئيسة إلى مشكلات أصغر يمكن حلها باستخدام الحاسب.
- تحديد تدفق البيانات والمعلومات بين أجزاء النظام.
- تحديد البيانات الرئيسة وهياكلها.
- تحديد مكان التخزين وطريقته، مع سهولة الوصول والأمان.
- تصميم التقارير ومخرجات البيانات.
- تصميم واجهة المستخدم ووظائف عناصرها.
- تصميم واجهات تبادل البيانات مع الأنظمة الأخرى.
- تحديد طريقة الاختبار وبياناته لضمان الجودة.
3. التطوير والاختبار (Development and Testing)
يحول المبرمجون المتطلبات والمواصفات إلى مقاطع برمجية. ويختبر النظام أثناء التطوير وبعده لمعالجة المشكلات والتحقق من تلبية احتياجات المستخدمين.
صحة البيانات المدخلة
التحقق من قبول البيانات الصحيحة ورفض غير الصحيحة؛ مثل قواعد كلمات المرور وأرقام الهواتف وحدود مبالغ التحويل في النظام المصرفي.
الوظائف وقابلية الاستخدام
اختبار واجهة المستخدم (UI) وتجربة المستخدم (UX)، والتأكد من سهولة التصفح وعمل الوظائف كما ينبغي.
أخطاء التصميم والتشغيل
اختبار منطق التعليمات وتسلسل العمليات وظهور رسائل الخطأ والتأكيد في مواضعها الصحيحة.
الاتصال بالأنظمة الأخرى
اختبار التكامل مع الأنظمة المرتبطة؛ مثل قواعد بيانات العملاء وتحويل العملات والصراف الآلي.
تطوير التطبيق السياحي واختباره
يعرض الكتاب مطور التطبيقات App Inventor لبناء تطبيق أندرويد، مع إمكانية استخدام هاتف متصل بالإنترنت أو محاكٍ. تختبر نسخة تجريبية بمشاركة كبار السن ومن لديهم مشكلات بصرية أو رعاش، للتأكد من ملاءمتها لهم.
تحقق من فهمك
اختبر فريقٌ تطبيقًا مع كبار السن للتأكد من سهولة الضغط على الأزرار. ما نوع الاختبار؟
4. التنفيذ (Implementation)
بعد موافقة المستخدم على النظام الذي تم تطويره واختباره، ينشر النظام ويثبت في الموقع المستهدف ليصبح جاهزًا للعمل.
- تدريب المستخدمين على استخدام النظام عند الحاجة.
- نقل البيانات من النظام الحالي إلى النظام الجديد عند الحاجة.
- إدخال النظام الجديد تدريجيًا واستبدال القديم في الوقت المناسب.
5. الصيانة (Maintenance)
تعالج الصيانة الأخطاء التي تظهر أثناء الاستخدام الفعلي، وتكيف النظام مع تغير بيئة العمل. وتشمل تحسين الوظائف وإضافة ميزات تلبي الاحتياجات المستقبلية.
تساعد ملاحظات المستخدمين وتقييم فريق تقنية المعلومات على تحديث النظام وضمان أدائه. وفي التطبيق السياحي، قد تتطلب التحديثات تعديل التعليمات البرمجية أو متطلبات النظام.
6 و7. التوثيق والتقييم المستمران
التوثيق (Documentation)
وصف تفاصيل التصميم والتطوير والاختبار والتنفيذ وسجلات الصيانة، ليكون مرجعًا لفهم النظام وتعديله. يبدأ مع التخطيط والتحليل ويستمر حتى الصيانة، ويحدث عند إجراء تغييرات.
التقييم (Evaluation)
تقييم كل مرحلة من حيث الكفاءة وسهولة الاستخدام وملاءمة المهمات واستيفاء المتطلبات. يشارك فيه فريق تقنية المعلومات والمستخدمون والإدارة؛ فمشكلة التصميم قد تؤدي إلى مشكلات أكبر لاحقًا.
أمثلة على توثيق التطبيق
- تسجيل متطلبات المستخدمين خلال التحليل.
- كتابة وثيقة دقيقة لتصميم النظام.
- إضافة تعليقات توضيحية داخل المقاطع البرمجية.
- توثيق عمليات الاختبار.
- إعداد دليل للمستخدم.
يمكن الاستفادة من تقييمات المستخدمين وملاحظاتهم في متجر التطبيقات لتقييم التطبيق.
المتطلبات الوظيفية وغير الوظيفية
تحدد المتطلبات خلال التحليل، وتنقسم إلى نوعين:
المتطلبات الوظيفية
تحدد ما يجب أن يقوم به النظام: أدوار المستخدمين، عرض البيانات والألوان والخطوط المطلوبة، التنقل، الرسائل والتنبيهات، وظائف الأزرار، البحث، وإصدار التقارير وطباعتها.
المتطلبات غير الوظيفية
تصف خصائص جودة النظام ومعايير تشغيله: الأداء وزمن الاستجابة، الإتاحة، الموثوقية والاسترداد، الأمان والصيانة، التوافق والتكامل، سهولة الإدارة والاستخدام، وتكامل البيانات والتراخيص.
صنف المتطلبين: «طباعة تقرير» و«خدمة عشرة آلاف مستخدم في وقت واحد».
طرق جمع المتطلبات
الاستبانات (Questionnaires)
توزع على أصحاب المصلحة بأسئلة محددة وواضحة. توفر الوقت والجهد، ويمكن تحليلها آليًا وجمعها دون تحديد الهوية. من تحدياتها غموض الأسئلة أو عدم جدية المستجيب، وهي أقل ملاءمة للبيانات الوصفية.
المقابلات (Interviews)
محادثات مع أشخاص من مستويات مختلفة لفهم النظام الحالي ومتطلبات الجديد. تسمح بتفسير الأسئلة وتعديلها وتؤخذ عادة بجدية أكبر، لكنها تحتاج وقتًا وتكلفة وقد يتوتر المشاركون.
الملاحظة (Observation)
متابعة العمل الفعلي لتحديد العمليات والتحديات والتفاصيل الدقيقة دون مقاطعة المستخدمين. تحتاج معرفة بالنظام، وقد يغير الشخص سلوكه أثناء مراقبته.
فحص توثيقات النظام
جمع التقارير والنماذج والفواتير والسجلات وتحليلها لفهم تدفق البيانات والمدخلات والمخرجات وحجم النظام. توفر الوقت عند توافر وثائق جيدة، لكنها تتطلب جهدًا وتعتمد على جودة الوثائق ودقتها.
مقارنة طرق جمع المتطلبات
| الطريقة | الوقت | التكلفة والجهد | دقة البيانات |
|---|---|---|---|
| الاستبانات | أقل عادةً | محدودان | تعتمد على وضوح الأسئلة وجدية المستجيب |
| المقابلات | يزيد بزيادة المشاركين | مكلفة وجهدها متزايد | تعتمد على مهنية المشاركين والمحلل |
| الملاحظة | أكثر من الاستبانات وأقل من المقابلات | تكلفة محدودة وجهد أكبر للمحلل | تكشف تفاصيل دقيقة وتتأثر بسلوك من تتم ملاحظتهم |
| فحص الوثائق | يوفر الوقت حسب توافر الوثائق وجودتها | يصف جدول الكتاب تكلفته بالمحدودة وجهده بالكبير | واقعية وتعتمد على دقة الوثائق ومصداقيتها |
يشير شرح الكتاب أيضًا إلى أن جمع الوثائق وتحليلها قد يكون مكلفًا؛ لذا تتغير التكلفة وفق حجم الوثائق وحالتها.
مراجعة سريعة
التحليل والتصميم
التحليل يحدد المشكلة والمتطلبات؛ والتصميم يحدد بنية الحل وواجهاته وبياناته.
التطوير والاختبار
تحويل المتطلبات إلى برمجيات والتحقق من صحتها وسهولة استخدامها.
التنفيذ والصيانة
التنفيذ يضع النظام في الاستخدام الفعلي؛ والصيانة تصلحه وتحسنه.
التوثيق والتقييم
نشاطان مستمران عبر جميع المراحل.
تدريبات الكتاب وإجابات مقترحة
أعيدت صياغة التدريبات نصيًا لتسهيل القراءة والتفاعل. الإجابات الآتية مقترحة بناءً على شرح الدرس.
تدريب 1: دورة حياة متجر إلكتروني
عرّف دورة حياة النظام من خلال مراحل إنشاء متجر إلكتروني.
تدريب 2: صح أم خطأ؟
تنحصر عملية تطوير البرمجيات في الصيانة.
كتابة تعليقات وصفية للمقاطع البرمجية من إجراءات التوثيق.
تشمل مرحلة التطوير إنشاء نظام المعلومات وتطويره واختباره.
يمكن طرح الأسئلة على جميع المعنيين بالنظام لجمع المتطلبات في التحليل.
يكتب محلل النظم المقطع البرمجي أثناء التطوير.
تدريب 3: اختر الإجابة الصحيحة
في أي مرحلة تستخدم أدوات جمع البيانات؟
التحليلالتصميمالتنفيذالصيانة
في أي مرحلة تستخدم إحدى لغات البرمجة لإعداد النظام؟
التصميمالتقييمالتطويرالتوثيق
في أي مرحلة يعد دليل المستخدم؟
التحليلالتوثيقالتقييمالاختبار
ما الإجراء المرتبط بصيانة تطبيق الهاتف؟
إنشاؤه بمطور التطبيقاتتحديد الاحتياجاتاستقبال التغذية الراجعةتصميمه لأندرويد
تدريب 4: صل المرحلة بالعملية
طابق: نشر النظام، تحسين الوظائف، تحويل المتطلبات إلى برمجيات، الوصف المكتوب، تحديد البيانات وتدفقها، تحديد المشكلة، مشاركة المستخدمين والإدارة في الحكم على النظام.
- نشر النظام: التنفيذ.
- تحسين الوظائف بناءً على التغذية الراجعة: الصيانة.
- تحويل المتطلبات إلى برمجيات وتجربتها: التطوير والاختبار.
- الوصف التفصيلي المكتوب: التوثيق.
- تحديد البيانات وتدفقها: التصميم.
- تحديد المشكلة: التحليل.
- الحكم على النظام بمشاركة المستخدمين والإدارة: التقييم.
تدريب 5: دور المستخدم
وضح دور المستخدم في كل مرحلة من مراحل دورة حياة النظام.
- التحليل: يوضح احتياجاته ومشكلات النظام الحالي.
- التصميم: يقدم ملاحظات على الواجهة والحل المقترح.
- التطوير والاختبار: يجرب الوظائف ويبلغ عن المشكلات.
- التنفيذ: يتدرب على النظام ويستخدمه بعد الموافقة عليه.
- الصيانة: يقدم التغذية الراجعة والاحتياجات المستجدة.
- التوثيق: يستفيد من دليل المستخدم ويساعد في توضيح الإجراءات.
- التقييم: يحكم على سهولة الاستخدام ومدى تلبية احتياجاته.
تدريب 6: إنشاء موقع على الإنترنت
ما إجراءات التطوير والاختبار والتنفيذ عند إنشاء موقع؟ علل إجابتك.
الاختبار: فحص المدخلات والروابط والنماذج والتنقل والتوافق مع الأنظمة الأخرى، وتجربة الاستخدام لكشف الأخطاء قبل الإطلاق.
التنفيذ: نشر الموقع في بيئة التشغيل بعد الموافقة عليه، ونقل البيانات وتدريب المسؤولين عند الحاجة، ليصبح متاحًا للاستخدام الفعلي.