كان لانتشار تكنولوجيا المعلومات الدور الأساسي الذي أدى إلى بناء وتصميم واستخدام نظم المعلومات الإدارية، التي يمكن تعريفها بأنها مجموعة من العناصر الآلية والبشرية التي تعمل على تقديم وجمع وتشغيل البيانات بغرض تحويلها إلى معلومات تساعد على تسهيل العمل واتخاذ القرارات. وتبدأ مراحل عملية تطوير النظم بالتخطيط لها ولا تنتهي بمجرد تسليمها، بل تستمر حياة تلك النظم حتى ما بعد التسليم والتشغيل الفعلي، في مراحل التحسين والصيانة مشكلة دورة حياة لا تنتهي إلا بانتهاء النظام تماما. ويعرّف المختصون عملية تطوير هذه النظم بأنها عملية متسلسلة يتم العمل فيها لتوصيل عدد من الخطوات (مراحل التطوير) الضرورية لتطوير أي نظام معلومات حاسوبي من تحليل وتصميم وبرمجة وصيانة خدمة لجهة ما. ويشمل ذلك تطوير نظم معلومات جديدة أو حل مشكلات النظم الحالية. في هذه المقالة نستعرض أولا عددا من منهجيات التطوير المستخدمة، ونفصّل ثانيا مراحل دورة حياة تطوير نظام المعلومات.
أولا: منهجيات تطوير النظم
منذ أن بدأت نظم المعلومات تظهر للوجود، انتهج مطورو النظم عددا من المنهجيات المختلفة، تبعا لتطور مفاهيم التطوير من فترة لأخرى، وقد أفادت كل منهجية من سابقتها، وهذه المنهجيات يوضحها الشكل التالي: 1 - المنهجية التقليدية: وهي أقدم منهجية لتطوير النظم، ويعتمد نموذجها على فكرة تقسيم خطوات أي نظام معلومات حاسوبي إلى مراحل خمس تتم بالتتابع، ولا يتم الانتقال من مرحلة إلا بعد استكمال المرحلة السابقة، وهي مراحل: التخطيط، والتحليل، والتصميم، والبرمجة، والاختبار، حيث لم تكن مراحل التشغيل، وما يليها من عمليات صيانة ضمن عملية التطوير. وكانت حلا مناسبا لولا العيب الرئيسي المتمثل في صعوبة العودة إلى أي مرحلة سابقة بمجرد الشروع في المرحلة التي تليها، وبذلك لا يمكن فعلياً إنهاء أي مرحلة بشكل كامل في ظل عدم القدرة على الرجوع، وأيضا في ظل عدم القدرة على تقديم رؤية مستقبلية للمرحلة التالية، وهو ما يوقع النظام في الجمود نتيجة الانشغال بشكل دائم في تعديل أخطاء لم تكن في الحسبان. ويضاف إلى ذلك أن وقت مرحلة التحليل وكذلك التصميم في هذه المنهجية قليل، مقارنة بالوقت المحدد للبرمجة والاختبار. 2- المنهجية البنائية: وهي منهجية شبيهة للمنهجية السابقة لكن مع إضافة بعض التعديلات والتحسينات. وكان التحديث الرئيسي هو وجود ما يسمى بالتغذية الراجعة (Feedback) بين المراحل بعضها بعضا. وهذه التغذية سمحت بإمكانية إجراء تعديل في أي مرحلة وانعكاس ذلك على المراحل الأخرى، الأمر الذي حد كثيرا من الجمود الحاصل، كما قلل من الوقت والجهد المصروفين في متابعة تغيير المتطلبات والمهام. 3- منهجية الكائنات (Object Oriented Approach): وهي منهجية حديثة مبنية على أساس الأهداف العامة للنظام، وليس على نوع البيانات فيه أو طرق معالجتها. وباختصار يتم العمل، وفق هذه المنهجية على تقسيم وتصنيف المكونات إلى كائنات (Objects) من خلال خصائصها (Attributes)، وسلوكها (Behavior)، وتقوم المنهجية بنمذجة (Modeling) هذه المكونات وتحديد ما يعرف بـ(classes)، ومع تحديد علاقات بينها، وفق سمات رئيسية ومفاهيم جديدة في هذه العلاقات أهمها التوريث ( Inheritance ) والاحتواء (Encapsulation)، وتعدد الأشكال ( Polymorphism ).
ثانيا: دورة حياة النظم
ما هي دورة حياة النظام؟ تعرف دورة حياة النظام على أنها تلك الإجراءات التي تتم على مراحل بشكل متسلسل من لحظة التفكير بالنظام، نظرا لحاجة ما أو مشكلة ما ومرورا بتحديد تلك المشكلة ومتطلبات حلها الأولية، وتحليل وظائف النظام وتصميم مكوناته ثم كتابة برامجه، واختبارها، وانتهاء بتركيبه وتشغيله، وتشكل هذه المراحل الخمس مراحل البناء، وبإضافة المرحلة السادسة المتعلقة بصيانة النظام تكتمل مراحل التطوير الست، التي يمكن توضيحها من خلال الشكل التالي:
مراحل دورة حياة النظم: مرحلة تحديد المتطلبات (Requirements Definition ):
وفي بعض الأحيان يطلقون على هذه المرحلة: مرحلة التهيئة والتخطيط للعمل في النظام (Project Identification And planning)، ويجري فيها التعرف على احتياجات القسم أو الإدارة الطالبة للنظام من النظم الحاسوبية وتحليلها، ووضع أولويات لها، وترتيبها أو تعريف ومناقشة المشكلات (Problem Definition) التي تعترض هذه الإدارة لإنجاز أعمالها بشكل أفضل وأسرع. ويجب على الفريق المكلف بعمل التحريات الأولية أن يفهم هذه المتطلبات أو المشكلات، فهما عميقا، حيث يجب أن تكون واضحة أمامه تماما، وأن تكون لديه القدرة على تصنيف المشكلات، حسب نوعها، سواء كانت مشكلات تتعلق بالثقة والاعتمادية على البيانات والمعلومات التي ينتجها النظام (Reliability)، أو مشكلات تتعلق بصحة النتائج (Validity)، ودقتها (Accuracy)، أو مشكلات تتعلق بقدرة النظام القديم على التخزين والاستيعاب ( Capacity Storage and)، ويقصد بها قدرات التشغيل والتخزين، أو مشكلات تتعلق بالإنجاز والإنتاج (Productivity) وترتبط هذه المشكلة بإنتاجيه وقدرة النظام الحالي على أداء المهام المطلوبة بسرعة وفعالية. ومن خلال عدة لقاءات واجتماعات، يوجه فريق التحريات الأولية للمستفيد من النظام أسئلة من قبيل: ما الذي يعيقهم في النظام الحالي؟ وهل من الأفضل الاستمرار فيه وتعديله أم إلغاؤه؟ وما الوظائف والخدمات التي يتوقعونها من النظام الجديد؟ وهل ستخفف حقيقة من الجهود المبذولة وتوفر على المستفيد تكاليف مالية أم لا؟ وهل سيحقق فوائد فنية وتقنية على مستوى الإنتاجية والدقة والاستيعاب أم لا؟ وهل يوجد وقت كاف للتنفيذ أم لا؟.. أي هل الوقت مناسب للتطوير أم لا؟. وناتج هذه المرحلة تقرير مبدئي يتم فيه وصف الطلب أو المشكلة التي دعت لتطوير أو تنفيذ نظام حاسوبي جديد.
2- مرحلة تحليل النظام (System Analysis):
وهذه هي المرحلة الثانية من دورة حياة النظام، ويتم خلالها دراسة الطلب وتحليل التقرير الناتج من المرحلة السابقة. وتتضمن هذه المرحلة إجراءين أولهما تقديم دراسة جدوى للنظام يتم فيها اتخاذ قرار المتابعة في تنفيذ النظام من عدمه، ويمكن التمييز بين نوعين رئيسيين من دراسة الجدوى هما: الجدوى الفنية، وهي المتعلقة بالتقنية المستخدمة، وإمكانية تطويرها .والجدوى الاقتصادية: وهي تلك المتعلقة بالنواحي المالية والاقتصادية لمعرفة إن كان المشروع جديرا بالتنفيذ أم لا، ويتم ذلك من خلال حصر التكاليف التي ستترتب على النظام الجديد، بما في ذلك تكاليف دراسة النظام وتحليله وتصميمه وتشغيله .وكذلك حصر المنافع والعائدات في المال والوقت والجهد. ونتيجة هذه الدراسة هي اعتماد خطة أولية لبقية مراحل دورة النظام أو التوقف واتخاذ قرار بعدم جدوى النظام. ومن أهم مكونات تقرير دراسة الجدوى ملخص الطلب أو المشكلة، وهو وصف أولي لمتطلبات النظام الجديد ووظائفه الرئيسية وسرد للمشكلات التي سيقضي عليها، والفوائد التي سيضيفها، وتفاصيل دراسة الجدوى الأخرى مثل تكاليف التشغيل، والتطوير، والمتابعة، والموارد البشرية والمادية لذلك. والإجراء الثاني هو عملية استيفاء، وشرح لنظام المعلومات المتوقع تنفيذه، ويتم ذلك من خلال تحديد ثلاث نقاط مهمة، وهي: أهداف النظام ووظائفه الرئيسية والتفصيلية، ومتطلبات تشغيله من بيئات تشغيل وأجهزة ولغات برمجة، وأخيرا قيوده واشتراطاته. ويتم هنا مناقشة طرق تطوير النظام، وعرض حلول متعددة لذلك، واختيار أفضلها وأولويات التنفيذ، فيما لو تم على أجزاء. وعند الانتهاء من اختيار أحد الحلول يتم التعرف على نماذج وإجراءات سير العمل الحالية في النظام، وحركة تدفق البيانات والمستندات من خلال اجتماعات عدة يقوم بها فريق التحليل، ومن خلال متابعة سير العمل على الطبيعة، وتفريغ محتويات كل الوثائق والمستندات والنماذج المستخدمة. وينتج من هذه المرحلة ما يسمى ( Requirement structure Typical ) أو هيكل المتطلبات النموذجي وفيه يتم إعداد مخطط تدفق البيانات (Data Flow Diagram)، ومخطط علاقات مكونات النظام ببعضها (Entity Relation Diagram).
3- مرحلة تصميم النظام (System Design):
وتتضمن هذه المرحلة نوعين من إجراءات التصميم هما: التصميم المنطقي (Logical Design) والتصميم الواقعي ((Physical Design. في التصميم الأول (التصميم المنطقي)، يتم وصف كل وظائف النظام وعلاقات هذه الوظائف ببعضها بعضا، وتصميم قاعدة بيانات لهذه الوظائف. وهذا الوصف غير مرتبط بأي نوع من لغات البرمجة أو تطبيقات الحاسب الآلي التي يتم تحديدها في المرحلة السابقة. وناتج إجراء التصميم هذا هو نموذج البيانات المنطقي ( Logical Data model). بينما يتم في الإجراء الثاني (التصميم الواقعي) تحويل التصميم المنطقي إلى تفاصيل ترتبط بالتقنية التي ستتبع، وهي لغات البرمجة المطبقة وتطبيقات الحاسب المطلوبة والبيئة التشغيلية للنظام من شبكات ونظم اتصالات. ناتج هذا الإجراء هو نموذج البيانات الواقعي (Physical Data model (. وبشكل عام ينتج عن هذه المرحلة إضافة لنموذجين نموذج تفصيلي ثالث يشمل تحديد المهام التفصيلية لأجزاء ومكونات النظام من نماذج الإدخال، والإخراج، والتقارير، والشاشات التي من خلالها يتم العمل على النظام، كما يقوم فريق التصميم بكتابة وصف تفصيلي للبرامج والأكواد المطلوبة لتنفيذ النظام من خلالها يقوم فريق البرمجة في المرحلة التالية بكتابة واختبار البرامج.
4- مرحلة برمجة النظام (System Coding):
هذه هي المرحلة الرابعة من دورة حياة النظام، وتسمى أيضا بمرحلة التطوير الفعلي، وفيها تتم عملية كتابة البرامج، أو ما يعرف بأكواد النظام (Codes) حسب لغة البرمجة التي تم اختيارها وتحديدها في المرحلة السابقة. وبعد الانتهاء من كتابة البرامج يتم اختبارها على حده قبل أن يتم اختبار النظام كوحدة متكاملة، وذلك بإدخال بيانات وهمية في مرحلة أولى ثم حقيقية لاحقا لمعرفة كيف تنتظم هذه البيانات والمعلومات وتتكامل لأداء وظائف ومهام النظام. الناتج النهائي من هذه المرحلة هو ما يعرف بالكود المصدري (Source Code).
5- مرحلة تشغيل النظام (System Implementation):
تبدأ هذه المرحلة أولا بتجهيز بيئة النظام من الأجهزة والمكونات المادية (Hardware)، ومن ثم تحميل وتركيب (installation) النظام عليها، وبعد ذلك عملية الدعم الفني لمستخدمي النظام، لذلك، فإن التنفيذ الفعلي، الذي يشعر به المستخدم الفعلي للنظام هو في هذه المرحلة، حيث يقوم مستخدم النظام بالتحول للنظام الجديد، ويشمل هذا التحول تحولا في الأجهزة (Hardware) وفي البرمجيات (Software)، وفي البيانات والملفات القديمة (Data and Files). وقد لا يشتمل التحول في الأجهزة أكثر من تركيب أجهزة حاسوب وشبكة يعمل عليها النظام، إلا أنه في أحيان أخرى قد يشمل تغيرات في المبنى والموقع. أما التحول في البرمجيات فيعني التأكد من أن التطبيقات التي تم تصميمها في مراحل التطوير للنظام ستقوم بعملها بشكل أفضل في بيئة الأجهزة والمكونات المادية الجديدة. ويعني التحول الثالث في البيانات والملفات نقل البيانات القديمة إلى النظام الجديد بدقة، ومن دون أية خسارة في البيانات وفي محتويات الملفات، سواء تم تصميم برامج خاصة لنقل هذه الملفات في أشكالها الجديدة أو عبر إدخالها للنظام. وهذه المرحلة تتطلب تدريب المستخدمين على استخدام النظام الجديد، وهنالك أساليب عدة لجعل المستخدمين للنظام الجديد معتادين على استخدام النظام الجديد، ابتداء من توفير مطبوعات وأدلة استخدام أو من خلال التدريب العملي المباشر باستخدام بيانات تجريبية. وقد يجري التدريب من خلال محللي النظم، وبعض المختصين في تقنيات التدريب والعارفين بوظائف النظام الجديد من فريق التطوير، وبهذا تكتمل المراحل الخمس الأولى، وهي المراحل الفعلية لبناء النظام.
6- مرحلة صيانة النظام (System Maintenance):
تأتي هذه المرحلة السادسة كمرحلة متعلقة بضمان استمرارية النظام والمحافظة عليه، وتشكل مع مراحل البناء الخمس السابقة مراحل عملية التطوير، وفيها يقوم فريق صيانة متخصص في مركز تطوير النظم، يتكون غالبا من فرق التحليل والتصميم والبرمجة التي أسهمت في بناء النظام عن طريق القيام بالتدقيق والتقويم الدوري، وتلمس المشكلات التي قد تحدث للنظام، وفقا للبيئة والظروف الجديدة للنظام، ومن ثم القيام بالتغييرات المطلوبة التي تشمل إجراء عمليات ضبط وتعديل وتحسين وتطوير في التصميم وفي أكواد النظام. وتعد هذه المرحلة مرحلة ممتدة طوال حياة النظام، ولا تتوقف إلا بتوقف تشغيله تماما، فطالما هناك نظام قائم، هناك حاجة وتوقع دائم لصيانته.
العقيد المهندس/ عبدالعزيز بن عبدالله العُمري