منهجيات تحليل الأنظمة
منهجيات تحليل الأنظمة عملية أساسية في بناء البرمجيات، ومع زيادة التعقيد في الأنظمة الجديدة في العالم، زاد
الاحتياج إلى هذه الأساليب والتقنيات، وتتضمن منهجيات تحليل الأنظمة أساليب متقدمة في توضيح متطلبات
واحتياجات العميل، كما توفر هذه التحليلات بعض الرسومات البيانية التي تساعد المطورين في تنفيذ المنتج بشكل صحيح.
التحليل كائني التوجه Object Oriented Analysis (OOA)
هي أول مرحلة من مراحل استخدام الكائنات في بناء البرمجيات، ومن أدوات تحليل الأنظمة، ويوفر هذا النهج مجموعة من المفاهيم والمصطلحات التي تساعد في اكتشاف المشكلة وتحليلها ومعرفة الجوهر، وتتمحور هذه المفاهيم حول مجموعة من المبادئ كالآتي:
معلومات عن مجال الصناعة:
دعنا نشرح هذا المبدأ باستخدام مثال، عند بناء لعبة مثلا، يساعدك التحليل كائني التوجه في معرفة كل شئ حول
عالم الألعاب، كالشخصيات الأساسية في كل لعبة، والمميزات التي تقدمها، وكيفية تفاعل المستخدمين مع اللعبة،
فالأمر أشبه بوضع خطة لكل شئ مهم في هذه الصناعة.
تمثيل السلوك:
تساعدك أيضا منهجيات تحليل الأنظمة في كيفية وضع رسم تخيلي للعمليات داخل النظام الخاص بك، فتساعدك في
فهم ماذا سوف تقدم شخصيات اللعبة، حيث يمكن للشخصية القفز عند الضغط على زر معين، فيمكنك وصف هذا الحدث باستخدام التحليل كائني التوجه، فالأمر أشبه بكتابة سيناريو كل شخصية.
توصيف الوظائف:
كل برنامج له مجموعة من الوظائف التي يقوم بها، فتساعدك منهجيات تحليل الأنظمة في وصف هذه الوظائف وطريقة
عملها، ففي مثال اللعبة السابق، تتنوع الوظائف بين تحريك شخصية معينة، أو تحقيق هدف محدد، فالأمر أشبه بقائمة الأعمال اليومية التي تقوم بكتابتها يوميا قبل النوم.
تقسيم المراحل:
تتميز منهجيات تحليل الأنظمة بتقسيم المراحل التي يمر بها المنتج في البداية، فكما نرى في المثال السابق، يمكن
تقسيم اللعبة إلى 3 أقسام: أشياء تعرفها اللعبة (مثل الأهداف)، وأشياء تقوم بها اللعبة (مثل القفز)، وأشياء لها سلوك
معين (مثل الشخصيات التي تتحرك)، فهذا يجعل الأمر أكثر سهولة ويمكن فهمه ببساطة.
التعمق في التفاصيل مع مرور الوقت:
التحليل كائني التوجه يستخدم في المنتجات الأولية، لذا عليك فهم الصورة الكبرى للمشكلة في بداية الأمر، ثم تنفيذ
إصدار صغير جدا من البرنامج، ومن ثم تطوير هذا البرنامج شيئا فشيئا، فيساعدك ذلك في إضافة العديد من المميزات والوظائف في البرنامج.
النمذجة الوظيفية Functional Modeling
النموذج الوظيفي في النظام يحدد كيفية حساب المخرجات من مدخلات النظام، بدون اعتبار أوجه التحكم المستخدمة
في عملية الحساب، كما يعرض المنظور الوظيفي للنظام والتي يتكون من مدخلات ومخرجات وعمليات، وكيفية عمل هذه العمليات والخطوات المتبعة في كل عملية.
النموذج الوظيفي من أهم منهجيات تحليل النظم والتي تتحق باستخدام أداة مهمة وهي مخططات تدفق البيانات (Data Flow Diagrams)، وباستخدام هذه الأداة يمكن للنمذجة الوظيفية توفير المهام الأساسية التي يجب على النظام القيام
بها، ووصف هذه المهام والعمليات الداخلية لها.
مخططات تدفق البيانات Data Flow Diagrams
تستخدم هذه المخططات لرسم النظام بمستويات مختلفة، حيث يتم تقسيم المستوى الأعلى إلى مستويات أقل تعرض معلومات وتفاصيل أكبر، كما يتم ترقيم المستويات في DFD إلى 0، 1، 2، وسوف نستعرض المستويات العليا الأربعة لهذه المخططات.
المستوى 0
هو أعلى مستوى في مخططات تدفق البيانات، ويقدم ملخص للنظام كاملا، كما يوضح المهام الأساسية في النظام، ومرور البيانات بين وحدات النظام، وأماكن تخزين البيانات، ولا يستعرض هذا الجزء أي تفاصيل متعلقة بتنفيذ العمليات الداخلية سواء كانت عمليات منطقية، أو عمليات لتدفق البيانات.
مستوى 1
يقدم هذا الجزء منظور أكثر تفصيلا للنظام عن المستوى الذي قبله، وهذا بتقسيم العمليات الأساسية في النظام التي
عُرفت في المستوى 0 إلى عمليات فرعية، وتعتبر كل عملية فرعية في هذا المستوى هي عمليى مستقلة بذاتها، كما يمكن عرض تدفق البيانات وأماكن تخزينها في كل عملية فرعية.
المستوى 2
هنا نتعمق أكثر وأكثر في التفاصيل الصغيرة للعمليات الفرعية، حيث تقسم العمليات الفرعية إلى عمليات أخرى أصغر حجما، كما تتم معالجة كل عملية على حدة.
مستوى 3
من أهم منهجيات تحليل الأنظمة وفيه تفاصيل كل مستويات مخطط تدفق البيانات، فيقدم تفاصيل دقيقة جدا حول كل
عملية، وكل عملية مرور للبيانات، وكل مكان تخزين، وهذا المستوى يستخدم خصيصا للأنظمة المعقدة، حيث يغوص في تفاصيل التنفيذ لكل عمليات النظام، كما تحتوي كل عملية في هذا المستوى على وصف تفصيلي للمدخلات، والمخرجات، وعمليات نقل وتخزين البيانات.
ما هي نمذجة البيانات What is Data Modeling
نمذجة البيانات هي أحد منهجيات تحليل الأنظمة، وهي عملية تصميم مخططات مرئية، وعلاقات، وقواعد داخل النظام، كما تحلل بيانات المتطلبات اللازمة لدعم الأنشطة التجارية ضمن حدود العمليات المسموح بها في كل مؤسسة.
الهدف الرئيسي من نمذجة البيانات هو توفير إطار عمل دقيق ومنظم لبيانات المؤسسة، كما توفر كفاءة عالية في
عمليات التحليل واتخذاء القرار، ويمكن لمحللي البيانات اكتشاف الإتجاهات الإجتماعية، وفهم الروابط بين عناصر
البيانات المختلفة، والتأكد أن البيانات تخزن بكفاءة وبشكل صحيح بالتزامن مع بناء نماذج للبيانات.
أنواع نماذج البيانات Data Models Types
نموذج البيانات التصوري Conceptual Data Model
نموذج البيانات التصوري هو تمثيل البيانات، ووصف مصطلحات وهياكل التجارة عالية المستوى، ويمكن توظيف هذا النموذج عند العمل على مفايهم عالية المستوى، واستخدامها بشدة عند بداية المشروع، وتم تطوير هذا النموذج لكي يصبح بديل لنموذج البيانات المنطقي، والهدف من هذا النموذج تعريف المشكلة والقواعد للنظام، ويعد من أهم منهجيات تحليل الأنظمة.
البيانات المنطقي Logical Data Model
بناءً على نموذج البيانات التصوري، يوسع نموذج البيانات المنطقي عرضًا تفصيليًا للبيانات على المستوى المنطقي، فهو
يحدد الجداول والأعمدة والعلاقات والقيود التي تشكل بنية البيانات، ومهم جدا في منهجيات تحليل الأنظمة الكبيرة، وعلى الرغم من أن النماذج المنطقية للبيانات لا تعتمد على نظام إدارة قواعد بيانات (DBMS) معين، إلا أنها أقرب إلى كيفية
تنفيذ البيانات داخل قاعدة البيانات، ويستند التصميم الفيزيائي لقواعد البيانات على هذه الفكرة.
نموذج البيانات المادي Physical Data Model
بناءً على النموذج المنطقي للبيانات، يأتي النموذج الفيزيائي للبيانات ليشرح كيفية تنفيذ ذلك التصميم باستخدام نظام
إدارة قواعد بيانات محدد، مثل: Oracle, MySQL، والتي توفر منهجيات تحليل الأنظمة بشكل واضح.
- تنفيذ خاص بنظام إدارة قواعد البيانات:
على عكس النموذج المنطقي الذي له تركيز عام، يركز النموذج المادي على تفاصيل نظام إدارة قواعد البيانات المحدد
الذي سيتم تخزن فيه البيانات.
- استخدام لغة الاستعلام الهيكلية (SQL):
يتم إنشاء النموذج المادي باستخدام لغة الاستعلام الخاصة بنظام إدارة قواعد البيانات.
- تفاصيل دقيقة للبيانات:
يحدد النموذج المادي كل عنصر من عناصر قاعدة البيانات، بما في ذلك الجداول والأعمدة والقيود، مثل: Primary Key, Foreign Key, NOT NULL
- إنشاء قاعدة البيانات: الهدف الرئيسي للنموذج المادي للبيانات هو توفير خارطة طريق لإنشاء قاعدة البيانات الفعلية.
- من صنع المطورين ومسؤولي قواعد البيانات (DBA): يساهم مسؤول قواعد البيانات في تطوير قاعدة البيانات وتحسينها باستمرار.
منهجيات تحليل الأنظمة من الأمور المهمة في تطوير البرمجيات، ولابد من تنفيذ هذه المرحلة بكفاءة عالية، لأنها تساعد
في بناء أنظمة قوية يمكن الاعتماد عليها، واستخدامها بشكل آمن.