لبناء أنظمة المعلومات منهجيات عديدة جداً، منها المنهجيات الرديئة ومنها الجيدة. تنتج عن المنهجيات الرديئة أنظمة ضعيفة، وعادة ما تفشل عند أول تطبيق فعلي لها، بينما ينتج عن المنهجيات الجيدة أنظمة ناجحة تتصف بالكثير من الخصائص والميزات الجيدة.
تتناول هذه الوحدة ثلاث منهجيات رئيسية لبناء أنظمة المعلومات: المنهجية التقليدية الرديئة، والمنهجية المهيكلة الجيدة، ومنهجية الكينونات الموجهة الحديثة، مع بيان نقاط القوة والضعف في كل منها. وفي القسم الأخير، يتم بيان عناصر لغة النمذجة الموحدة (UML) التي تُستخدم في منهجية الكينونات الموجهة.
تتكوّن المنهجية التقليدية لبناء أنظمة المعلومات من الخطوات التالية: التخطيط، والتحليل، والتصميم، والبناء، والصيانة. لقد أثبتت التجارب أن اتّباع هذه الخطوات وحدها غير كافٍ لإنتاج نظام ناجح يلبّي متطلبات المستخدم.
إن لهذه المنهجية العديد من المشكلات التي يكمن معظمها في عدم وجود آلية أو تكنيك واضح للتوقف بعد كل خطوة رئيسة وفحص ومراجعة ما تم إنجازه في الخطوة السابقة؛ حيث إنه في حال وجود خطأ أو خلل فيها، لا يتم تصحيح هذا الخلل والانتقال إلى الخطوة اللاحقة.
إن متطلبات المستخدمين ليست كاملة وصحيحة أثناء مرحلة التحليل فقط، بل هي دائمة التغيير خلال فترة العمل طوال المشروع، ما يتطلب إشراكهم بمرحلتي التصميم والبرمجة أيضاً. وبالطبع يؤدي هذا إلى بناء أنظمة مليئة بالأخطاء التي لا يراها المستخدم إلا بعد الانتهاء من بناء النظام.
أدت المشاكل الموجودة في المنهجية التقليدية إلى ظهور حاجة إلى منهجية جديدة مختلفة، وهذه المنهجية ظهرت في بداية السبعينيات من القرن الماضي تُسمى بالمنهجية المهيكلة. وقد جاءت هذه المنهجية لتقدم حلولاً لكثير من المشكلات التي تتصف بها المنهجية التقليدية، فهي تركز على مرحلتي التحليل والتصميم أكثر من مرحلة البرمجة وتعطيهما حقهما من الوقت والجهد.
تعتمد هذه المنهجية على تجزئة النظام إلى أجزاء برمجية صغيرة (Modules)، بحيث تكون العلاقة ودرجة الاعتمادية بينها أقل ما يمكن (Low Coupling)، وينفّذ الجزء الواحد مهمة واحدة (High Cohesion). وهذا يؤدي إلى بناء نظام سهل خالٍ من التعقيد (Simple)، ومرن بحيث تسهل الإضافة والتعديل والحذف عليه دون أن تتأثر بقية الأجزاء (Flexible)، كما يؤدي إلى سهولة اختبار النظام حيث إنه من السهل اختبار أجزاء برمجية صغيرة من البرامج الضخمة بهذه المواصفات، ومن الطبيعي أن يكون قليل الحاجة إلى الصيانة إذا احتاج ذلك إلى صيانته تكون سهلة وميسّرة (Maintainable).
| الخاصية | الوصف |
|---|---|
| Low Coupling | درجة اعتمادية منخفضة بين الوحدات البرمجية المختلفة. |
| High Cohesion | كل وحدة برمجية تنفذ مهمة واحدة محددة بوضوح. |
| Simple | نظام خالٍ من التعقيد بفضل التجزئة إلى وحدات صغيرة. |
| Flexible | سهولة الإضافة والتعديل والحذف دون التأثير على بقية الأجزاء. |
| Testable | سهولة اختبار الأجزاء البرمجية الصغيرة مقارنة بالبرامج الضخمة. |
| Maintainable | قلة الحاجة إلى الصيانة، وسهولتها ويسرها إن احتاج النظام لها. |
| User Friendly | سهل الاستخدام من قبل المستخدمين نتيجة إشراكهم في كل خطوة من خطوات البناء. |
في هذه المنهجية يتم إشراك المستخدمين في عملية بناء النظام وأخذ رأيهم في كل خطوة من خطوات البناء، وبذلك يتم ضمان رضاهم عن النظام وقبولهم إياه. والميزة الرئيسة في المنهجية المهيكلة هي وجود إمكانية بعد الانتهاء من كل خطوة رئيسة للتوقف والتأكد من صحة الخطوة قبل الاستمرار، بحيث لا يصبح تصحيحه بحاجة إلى جهد أكبر لاحقاً.
تعتبر تكنولوجيا الكينونات الموجهة من العبارات الطنّانة الحديثة في ميدان صناعة البرمجيات، حيث تتسابق كبريات المؤسسات والشركات لتبني هذه التكنولوجيا الجديدة ودمجها في تطبيقاتها البرمجية. وفي الواقع، فإن الغالبية العظمى من الأنظمة التي يتم تطويرها هذه الأيام تطبّق تكنولوجيا الكينونات الموجهة.
تعتبر منهجية بناء الأنظمة بالكينونات الموجهة طريقة مختلفة لبناء الأنظمة عن المنهجيات الأخرى في كثير من الأمور؛ فباستخدام هذه المنهجية يتم تقسيم النظام إلى أجزاء صغيرة أو كينونات (Objects) منفصلة عن بعضها بعض. فكِّر في هذه المنهجية كمن أراد بناء بيت من الطوب؛ أولاً، يجهّز الطوب ثم بعدها يضع بعضها مع بعض ليُكوِّن البيت. وكذلك الأمر عند بناء نظام ما، يتم تقسيمه إلى أجزاء برمجية بسيطة منفصلة عن بعضها قدر الإمكان، وبعدها يتم جمعها مع بعض لتكوّن النظام.
ومن الخصائص المهمة لمنهجية بناء الأنظمة بالكينونات هي خاصية إعادة الاستخدام (Reusability)، وتعني أنه عند بناء الأجزاء البرمجية الصغيرة بطريقة يمكن استخدامها مرات ومرات سواء في نفس النظام الذي يتم بناؤه أو حتى في الأنظمة الأخرى. وتجدر الإشارة هنا إلى أن هذه الخاصية توفر علينا الوقت والجهد المبذولين في كتابة الأجزاء البرمجية المكررة.
وتختلف هذه المنهجية عن المنهجيات التقليدية (Traditional Approaches) بأن المنهجيات التقليدية تركز على المعلومات التي تدخل إلى النظام وكيفية تخزينها والحفاظ عليها، ثم نقوم ببناء شاشات الإدخال ونصمم التقارير التي عن طريقها نحصل على النتائج، أي أن التركيز الرئيس في هذه المنهجيات يكون على المعلومات نفسها وليس على العمليات التي تُطبّق عليها أو على سلوك النظام نفسه، لذلك تسمى مثل هذه المنهجيات مركزية البيانات (Data-Centric).
أما منهجية الكينونات الموجهة فقد أخذت بعين الاعتبار هذه التغييرات المحتملة، حيث يتم بناء النظام بطريقة لو طُلب فيها أي تغيير وفي أي وقت، يتم إجراء هذه التغييرات بسهولة ويسر. وإن التركيز في هذه المنهجية ليس فقط على المعلومات بل على سلوك النظام أيضاً.
إن لغة النمذجة الموحدة عبارة عن لغة معيارية لتخصيص (Specifying)، وتصور (Visualizing)، وبناء (Constructing)، وتوثيق (Documenting) عناصر النظام، يستخدمها المحللون ومصممو الأنظمة.
لقد بُدئ ببناء هذه اللغة في أواخر سنة 1994، عن طريق عالمين من علماء هندسة البرمجيات هما غريدي بووخ (Grady Booch) وجيم رامبو (Jim Rambaugh) اللذان كانا يعملان في شركة راشونال للبرمجيات، حين قاما بدمج طريقتي Booch وOMT مع بعضهما. وفي خريف سنة 1995 انضم إليهما العالم جاكوبسون (Jacobson) الذي كان يمتلك شركة أوبجكتوري (Objectory) بطريقته المسماة OOSE، حيث كوّن هؤلاء العلماء لغة النمذجة الموحدة (UML).
وللغة النمذجة الموحدة فوائد واستخدامات عدة، أهمها:
وتُستخدم هذه اللغة لعدة أغراض أهمها: تبيين حدود النظام (System Boundary) ووظائف النظام (System Functions) الرئيسة عن طريق حالات الاستخدام (Use Cases) والمتفاعلين (Actors)، وتوضيح إدراك (Realization) حالات الاستخدام عن طريق المخططات التفاعلية (Interaction Diagrams)، وتوضيح البنية التركيبية الجامدة للنظام (Static Structure) باستخدام مخططات الكينونات (Class Diagrams)، وتوضيح سلوك الكينونات (Objects Behavior) باستخدام مخططات تحول الحالة (State Transition Diagrams)، وإظهار التطبيق المادي الملموس للنظام (Physical Implementation).
تتكون لغة النمذجة الموحدة من ثمانية مخططات، ولكل منها هدف معين ويستطيع المستخدمون وفريق التطوير عن طريقها أن يروا طريقها من جهة معينة من النظام. اضغط على كل مخطط للاطلاع على تعريفه:
اضغط على كل بطاقة لعرض تعريف المصطلح.
10 مصطلحات أساسية لهذه الوحدة.
يتكوّن الاختبار من 5 أسئلة صح/خطأ، و5 أسئلة اختيار من متعدد، و3 أسئلة إنشائية. تُصحَّح الأسئلة الموضوعية تلقائياً، بينما تعرض الأسئلة الإنشائية إجابة نموذجية لتقييم إجابتك بنفسك.