أ/المادة: م. لندا عمر البدري م. نجلاء حسن بسم الله الرحمن الرحيم Introduction To System Analysis مقدمة في تحليل النظم عدد الساعات: 2 نظري أ/المادة: م. لندا عمر البدري م. نجلاء حسن 02/04/1440
Lecture 4 - منهجيات تطوير نظم المعلومات (System Development Methodologies) - الأدوات التي تدعم التحليل والتصميم المعتمد على النماذج Tools that support Model-driven analysis &design) ) - المتطلبات (Requirements) - نماذج النظام System models) ( 02/04/1440
منهجيات تطوير نظم المعلومات System Development Methodologies مجموعة الطرق والأدوات المستخدمة في تطوير النظام . Model-driven analysis and design تقنيات معتمدة على رسم نماذج (Models) تمثل النظام الحالي أو الرؤية المستقبلية للنظام الجديد: منهجية التحليل والتصميم الهيكلي (Structured System Analysis and Design Methodology) ِِِ منهجية هندسة المعلومات (Information Engineering Methodology) منهجية التحليل والتصميم الموجه نحو الكائنات (Object-Oriented Analysis and Design Methodology) منهجية الحزم الجاهزة Commercial off- the-shelf software COTS) ( 02/04/1440
منهجية التحليل والتصميم الهيكلي Structured System Analysis and Design Methodology تم تطوير هذه المنهجية وأصبحت منهجية قياسية, تعتمد على نماذج العمليات (Process Models) أي التوصيف الهيكلي للعمليات باستخدام الأدوات الهيكلية مثل مخططات تدفق البيانات (DFD), ومن أهم خصائصها: أصبحت منهجية قياسية تعتمد على الجمع ما بين عملية تحليل البيانات وتحليل التدفقات في آن واحد تحدد بدقة وبالتفصيل الكامل جميع المهام المطلوبة والتسلسل اللازم. 02/04/1440
منهجية هندسة المعلومات Information Engineering Methodology تعتبر هذه المنهجية معتمدة على البيانات من التخطيط الاستراتيجي للمؤسسة ككل, وبناء نموذج البيانات(Data Model) الذي يأخذ بعين الاعتبار الاحتياجات المستقبلية, ومن أهم خصائصها: تعتمد على التخطيط الاستراتيجي للمؤسسة بناء نموذج البيانات(Data Model) تتطلب من محللي النظم دراسة مجال العمل الذي تمارسه المؤسسة واستكشاف التطورات المحتملة. 02/04/1440
التحليل الهيكلي و هندسة المعلومات في التحليل الهيكلي يتم رسم نموذج العمليات أولاً (Process Model), بينما في هندسة المعلومات يتم رسم نموذج البيانات (Data Model) أولاً. النموذجين مطلوبين في المنهجيتين, لأن نظام المعلومات يتضمن العمليات والبيانات معاً. 02/04/1440
التحليل والتصميم الموجه نحو الكائنات Object-Oriented Analysis and Design Methodology يهتم التحليل الموجه نحو الكائنات بتطوير نموذج كائن (Object model) . الكائن (Object) عبارة عن وحدة تحتوي على مجموعة من البيانات تسمى خصائص أو صفات وعلى مجموعة من العمليات. اصبحت هذه المنهجية هي الأكثر شيوعاً. 02/04/1440
التحليل والتصميم الموجه نحو الكائنات Object-Oriented Analysis and Design Methodology تستخدم هذه المنهجية: لغة النمذجة الموحدة (Unified Modeling Language (UML)) تزود لغة النمذجة الموحدة بمجموعة أدوات مفيدة لتحليل وتصميم النظم. تعتمد قيمة نتائج استخدام أدوات UML في مشروع ما, على خبرة محلل النظم في استعمال هذه الأدوات. يستخدم المحلل هذه الأدوات لتحليل متطلبات النظام الى نموذج حالات ونموذج كائنات (Object Model). 02/04/1440
الأدوات التي تدعم التحليل والتصميم المعتمد على النماذج Tools that support Model-driven analysis &design نوعين من الأدوات التي تدعم التحليل المعتمد على النماذج: 1- البرمجيات الرسومية عامة الغرض : Microsoft Visio professional 02/04/1440
تابع:الأدوات التي تدعم التحليل والتصميم المعتمد على النماذج Tools that support Model-driven analysis 2- أدوات هندسة البرمجيات بمساعدة الحاسب (CASE Tools) Computer-Aided Software Engineering Tools هي مجموعة البرامج الحاسوبية المعدة بهدف المساعدة في عملية حوسبة المهام والأنشطة للوصول الى نظام معلومات جيد. مثل:Rational Rose أهم وظائفها: رسم المخططات تكوين مخازن البيانات تصميم الشاشات. تصميم التقارير. توليد البرامح التنفيذية. ادارة عملية التطوير. 02/04/1440
منهجية الحزم الجاهزة Commercial off- the-shelf software COTS برامج معدة مسبقاً من قبل خبراء ليس لنظام معين ولكن بشكل عام. تطبيق على المؤسسات ذات النظم المتشابهة بعد اجراء التعديل المناسب للاحتياجات الخاصة بالمؤسسة, ومن الأمثلة على هذه النظم: - نظام مخازن - نظام بنوك - نظام مدارس المميزات: - التطور السريع - المرونة التي تتيحها لإجراء التغييرات والاحتياجات. العيوب: - عدم مطابقتها الكاملة للاحتياجات الخاصة للمؤسسة 02/04/1440
المتطلبات (Requirements) تحديد المتطلبات: يعني تعريف شكل النظام أو وصف لما يستطيع النظام أن يقوم به لأداء وظيفته التي سيصمم من أجلها. أي الاجابة على السؤال: What do the users need and want from a new system? 02/04/1440
أنواع المتطلبات (Types of requirements) صُنفت من عدة وجهات نظر منها تقسيمها الى متطلبات وظيفية وغير وظيفية ومنها تقسيمها كالتالي: متطلبات مستخدم (User Requirements): جمل بلغة طبيعية مع أشكال توضيحية Diagrams للخدمات التي يوفرها النظام وقيود التشغيل مكتوبة للزبون. متطلبات النظام(System Requirements): وثيقة هيكلية تبين الوصف التفصيلي لخدمات النظام, مكتوبة كعقد بين المقاول والزبون. مواصفات البرمجيات (Software Requirements): وصف تفصيلي للبرمجيات يعمل كأساس لتصميم وتنفيذ النظام, مكتوب لمطوري النظام 02/04/1440
المتطلبات الوظيفية وغير الوظيفية Functional and None-Functional Requirements 1- المتطلبات الوظيفية Requirements Functional: تصف وظيفة أو الخدمات التي يوفرها النظام, وكيف يجب للنظام أن يتعامل مع المدخلات المعينة وكيفية تصرف النظام في مواقف معينه. تعتمد المتطلبات الوظيفية على: - نوع البرمجيات. - نوع النظام الذي تستخدم فيه هذه البرمجيات - المستخدمين المتوقعين مثال: - سوف يكون المستخدم قادراً على البحث في كل مجموعة قواعد البيانات أو اختيار مجموعة فرعية منها. - سوف يوفر النظام العروض المرغوبة للمستخدم حتى يتمكن من قراءة المستندات في مخزون المستندات. المشاكل: تظهر المشاكل عندما: - لا يتم تحديد المتطلبات بدقة ووضعها في غموض. - قد تفسر المتطلبات الملتبسة بطرق مختلفة لدى المطورين والمستخدمين 02/04/1440
المتطلبات الوظيفية وغير الوظيفية Functional and None-Functional Requirements تصف خصائص النظام (Properties) والقيود (Constraints) التي يتم خلالها تطوير النظام. أنواع المتطلبات الغير وظيفية: - متطلبات المنتج: مثل متطلبات الكفاءة Efficiency (تضم متطلبات الأداء Performance:كمية المعلومات التي تتم معالجتها throughput + وقت الاستجابة response time). - المتطلبات التنظيمية Organizational: تضم متطلبات التسليم Delivery ومتطلبات التنفيذ Implementation ومتطلبات المعايير Standards. - متطلبات خارجية External: تضم متطلبات اخلاقية ومتطلبات تشريعية (منها متطلبات الخصوصية Privacy ومتطلبات السلامة Safety). مثال: النظام يدعم سرية عالية, مرن, سهل الاستخدام 02/04/1440
متطلبات المستخدم User Requirements يجب أن تصف المتطلبات الوظيفية وغير الوظيفية حتى يمكن أن تكون مفهومة بواسطة مستخدمي النظام الذين لا يملكون معرفة تقنية تفصيلية. تعرف متطلبات المستخدم بلغة طبيعية مع جداول ورسوم تخطيطية. المشاكل التي تنتج من وصف المتطلبات باللغة الطبيعية: - قصور أو تدني الوضوح. - تشويش المتطلبات: المتطلبات الوظيفية وغير الوظيفية تميل الى الاختلاط - دمج المتطلبات: العديد من المتطلبات المختلفة قد يعبر عنها معاً الخطوط الرئيسية لكتابة المتطلبات: - استخدام اللغة بطريقة محددة تامة الوضوح متماسكة. - استخدام النص في توضيح وبيان وتعريف الأجزاء الرئيسية من المتطلبات. - تحاشي استخدام تعقيدات الكمبيوتر 02/04/1440
متطلبات النظام System Requirements: مواصفات اكثر تفصيلاً من متطلبات المستخدم, تخدم اسس تصميم النظام. متطلبات النظام يجب أن تحدد ما يجب أن يفعله النظام What the system should do يصف التصميم كيفية قيام النظام بذلك How it does this. يعبر عن متطلبات النظام باستخدام نماذج النظام System models. 02/04/1440
نماذج النظام System models النموذج : تعريف موجز للنظام , وتوفر أنواع النماذج معلومات مختلفة عن النظام. أنواع النماذج Model types: - نماذج العمليات /الوظائف Process models:تبين العمليات الكلية والمدعومة من النظام - نماذج السياق Context models - نماذج السلوك أو التصرف Behavioral models - نماذج البيانات الدلالية Semantic data models - نماذج الكائنات Object models 02/04/1440
نماذج السياق Context models: تستخدم لتوضيح وتمثيل حدود النظام وتبين النظام والعلاقة مع النظم الأخرى. مثال 02/04/1440
نماذج السلوك أو التصرف Behavioral models تستخدم لوصف السلوك الكلى للنظام، وهناك نوعان من نماذج السلوك: 1-نماذج معالجة البياناتData processing models: - تبين كيفية معالجة البيانات كلما تحركت فى النظام. - تستخدم مخططات بيانية لتدفق البيانات (DFD)Data Flow Diagrams . 02/04/1440
نماذج السلوك أو التصرف Behavioral models 2- نماذج حالة الآلة State machine models: - تبين كيفية استجابة النظم للأحداث. - تستخدم فى نمذجة نظم الوقت الحقيقي - جزء متكامل من لغة النمذجة الموحدة (UML). مثال عمل فرن الميكروويف 02/04/1440
نماذج البيانات الدلالية Semantic data models تستخدم لوصف الهيكل المنطقى للبيانات التى يعالجها النظام. هو نموذج علاقات سمات عناصر(كينونة) Entity-relation-attribute model يبين العناصر الموجودة فى النظام، والعلاقات بين هذه العناصر وسمات هذه العناصر ويستخدم على نطاق واسع فى تصميم قواعد البيانات، ويمكن تنفيذه بإستخدام قواعد البيانات العلائقية (Relational database) 02/04/1440
نماذج الكائنات Object models تصف النظام فى مصطلحات من فئات الكائنات Object classes. فئة الكائنات موجز مجرد لمجموعة كائنات ذات سمات شائعة وخدمات (عمليات operations) يوفرها كل كائن. يمكن إنتاج العديد من نماذج الكائنات مثل: 1- نماذج الوراثة Inheritance models 2- نماذج التجمع Aggregation models 3 - نماذج التفاعل Interaction models 02/04/1440
نماذج الكائنات Object models 1- نماذج الوراثة Inheritance models تنظم فئات كائن المجال فى مراتب (Hierarchy)، وتعكس الفئات التى فى أعلى مرتبة معمارية الملامح العامة الشائعة لكل الفئات، وترث فئات الكائنات سماتها من واحدة أو أكثر من الفئات الأعلى وهى تكون مخصصة كلما أمكن. مثال معمارية فئة المكتبة: 02/04/1440
نماذج الكائنات Object models 2- نماذج التجمع Aggregation models: يبين كيفية تجميع الفئات وتركيبها من فئات أخرى، ويشبه نسبيا العلاقات فى نماذج دلالة البيانات. مثال تجمع الكائنات: 02/04/1440
نماذج الكائنات Object models 3 - نماذج التفاعل Interaction models: يبين النموذج السلوكى التفاعل بين الكائنات لإنتاج تصرف معين للنظام مخصص كحالة استخدام. تستخدم مخططات التتابع فى لغة النمذجة الموحدة لنمذجة التفاعل بين الكائنات. مثال: 02/04/1440
النموذج الأولي Prototyping تحديد المتطلبات المعروفة بناء النموذج الأولي وضع النموذج تحت الاستخدام اختبار النموذج وتقييمه هل توجد تعديلات الوصول الى النموذج النهائي التخلص من النموذج وبناء النموذج الأصلي لا نعم النمذجة الاولية الشبيهة: تحديد المتطلبات المعروفة بناء النموذج الأولي وضع النموذج تحت الاستخدام اختبار النموذج وتقييمه هل توجد تعديلات الوصول الى النموذج النهائي النمذجة الأولية الارتقائية 02/04/1440