1 / 26

التحليل (مخطط الصفوف)

التحليل (مخطط الصفوف). Analysis Workflow (Classes Diagrams). المحتويات. دراسة حالة ( Online Shopping ) – تتمة توجيهات بخصوص الوظيفة. ITA330 – S8. التحليل: الخطوة 8 - واصفات الصفوف. ITA330 – S8. التحليل: الخطوة 9 – مخطط الصفوف (الاقتران).

hunter-gray
Download Presentation

التحليل (مخطط الصفوف)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. التحليل(مخطط الصفوف) Analysis Workflow (Classes Diagrams)

  2. المحتويات • دراسة حالة (Online Shopping) – تتمة • توجيهات بخصوص الوظيفة ITA330 – S8

  3. التحليل: الخطوة 8 - واصفات الصفوف ITA330 – S8

  4. التحليل: الخطوة 9 – مخطط الصفوف (الاقتران) • بالعودة إلى الصفوف التي تم اكتشافها وتوصيفها في الخطوتين (7) و (8)، ما هي مسارات التواصل (العلاقات) التي تتطلبها حالات الاستخدام؟ أضف علاقات الاقتران المناسبة إلى مخطط الصفوف. • لتحديد تعداد كل علاقة من علاقات الاقتران سنفترض ما يلي: • يصدر الطلب (Order) من زبون (Customer) واحد في حين يمكن لكل زبون أن يُصدر عدة طلبات. • لا يُقبل الطلب إلا بعد تحديد آلية الدفع (Payment) وعليه فالاقتران بين الصفين هو واحد لواحد. • ليس من الضروري أن يكون للطلب فاتورة (Invoice) إلا أن أية فاتورة مرتبطة حكماً بطلب واحد. • يمكن أن يتضمن الطلب ConfiguredComputer واحد أو أكثر. • يمكن أن يُطلب ConfiguredComputer عدة مرات وقد لا يُطلب أبداً. ITA330 – S8

  5. علاقات الاقتران ITA330 – S8

  6. التحليل: الخطوة 10 – مخطط الصفوف (التجميع) أضف علاقات التجميع المناسبة إلى مخطط الصفوف الناتج من الخطوة (9). ITA330 – S8

  7. علاقات التجميع ITA330 – S8

  8. علاقات التجميع • يملك الحاسوب (Computer) واحداً أو أكثر من العناصر (ConfigurationItem). • بالمثل، يملك كل حاسوب مشكل (ConfiguredComputer) واحداً أو أكثر من العناصر (ConfigurationItem). ITA330 – S8

  9. التحليل: الخطوة 11 – مخطط الصفوف (التعميم) بالعودة إلى مخطط الصفوف الناتج من الخطوة السابقة (وما قبلها)، هل يمكن استخلاص واصفات مشتركة بين بعض الصفوف وتجريدها في صف بمستوى أعلى؟ في حال الإيجاب عدل المخطط السابق بإضافة علاقات التعميم المناسبة. ITA330 – S8

  10. علاقات التعميم ITA330 – S8

  11. علاقات التعميم يبين الشكل السابق نموذجاً معدلاً للصفوف بعد تحويل الصف Computer إلى صف مجرد (Abstract class) يتحدر منه صفان فرعيان (Concrete classes) هما: StandardComputer و ConfiguredComputer. في هذا النموذج، يقترن كل من الصفين Order و ConfigurationItem مع الصف Computer، والحاسب (Computer object) قد يكون StandardComputer أو ConfiguredComputer. ITA330 – S8

  12. التحليل: الخطوة 12 – مخطط الصفوف (مراجعة) راجع مخططات الصفوف الناتجة من كل المراحل السابقة وعدّل (حيث يلزم) واصفات الصفوف بعد أن أضفنا علاقات التعميم. ITA330 – S8

  13. مخطط الصفوف ITA330 – S8

  14. مخطط الصفوف • لاحظ أننا لم نضف بعد أية عمليات إلى الصفوف. تنتمي العمليات إلى نموذج التصميم أكثر مما تنتمي إلى نموذج التحليل. إن إضافة العمليات تجعل من نموذج الصفوف نموذجاً معبراً عن سلوك النظام. • لا يمكن اعتبار مخطط الصفوف الناتج حلاً كاملاً، إذ غالباً ما نحتاج أثناء التصميم (ومن ثم التنفيذ) لإضافة واصفات جديدة تسهل التنفيذ. ITA330 – S8

  15. تمرين (1) • في الشريحة 5، لا يرتبط الصف Customer بشكل مباشر بأي من الصفوف: Payment، Invoice، أو ConfiguredComputer. هل تعتقد بضرورة إنشاء اقتران كهذا؟ في حال الإيجاب، عدل المخطط مع الشرح. ITA330 – S8

  16. حل التمرين (1) • يُعتبر نموذج التحليل جيداً إذا كان كاملاً وأصغرياً (complete and minimal). تعني الصفة "كامل" أن كل متطلبات الزبون (المستخدم) وقواعد العمل (Business Rules) منمذجة في المخطط، أما الصفة "أصغري" فتعني أن يتم التعبير عن النموذج بأقل عدد ممكن من العناصر. • إن إنشاء اقتران مباشر بين الصف Customer والصفوف الأخرى غير ضروري لأن الاقترانات التي يقدمها الصف Order كافية لتأمين انتقال غير مباشر بين الصف Customer من جهة وكل من الصفوف Payment و Invoice و ConfiguredComputer من جهة أخرى. • يمكن أن لا نهتم كثيراً بتحقيق صفة الأصغرية في نموذج التصميم الذي قد يحتاج لإضافة عناصر ذات مضمون مكرر لأسباب تتعلق بأداء النظام أو مستوى الأمان المطلوب. لهذا السبب قد نضيف علاقات الاقتران هذه (للمخطط المشار إليه) أثناء إعداد نموذج تصميم الصفوف. ITA330 – S8

  17. تمرين (2) • يوضح مخطط الصفوف في الشريحة 10 علاقة التعميم بمثال بسيط. ما التعقيدات التي قد تظهر فيما لو كان هناك فروق بين معلومات الفاتورة المعدة لحاسوب جاهز (StandardComputer) وتلك المعدة لحاسوب مخصص (ConfiguredComputer)؟ على سبيل المثال، قد تُحتسب تكاليف إضافية تبعاً للتعديلات المطلوبة عند شراء ConfiguredComputer، كما قد يقدم البائع حسومات خاصة عند شراء مجموعة من StandardComputer؟ • عدّل مخطط الصفوف بما يجسد هذه التعديلات، مع الشرح. ITA330 – S8

  18. حل التمرين (2) • قد تبدو التعديلات اللازمة بسيطة للوهلة الأولى إلا أنها ستؤدي في النهاية إلى إعادة التفكير بالنموذج. لفهم هذه التعديلات من الضروري أن نأخذ بالحسبان واصفات التعريف (Identifying attributes) في صفوف النموذج. • من الواضح أن كل ConfiguredComputer وحيد بعلاقته مع الصف Order. فبافتراض أن الواصفة part_number تميز StandardComputer وحيد، يحتاج تمييز غرض من الصف ConfiguredComputer إلى معرّف مركب من part_number و reference_order_number (قد يكون لهذا الأخير قيمة order_number المقابلة نفسها إذا كان النظام يولد أرقاماً وحيدة دوماً). ITA330 – S8

  19. حل التمرين (2) ITA330 – S8

  20. حل التمرين (2) • نلاحظ من الشكل أعلاه كيف تم إنشاء صفين فرعيين (subclasses) من الصف Order هما: StandardOrder و ConfiguredOrder، للأول الواصفة الإضافية bulk_discount وللثاني الواصفة additional_charge. وبدلاً من علاقة اقتران وحيدة بين Order و Computer أصبح لدينا علاقة اقتران بين StandardComputer و StandardOrder وأخرى بين ConfiguredComputer و ConfiguredOrder. لاحظ أيضاً الاختلاف بين تعدادي علاقتي الاقتران. بالمقابل، ولضمان الانسجام مع نوع الطلب (Order) تم إنشاء صفين فرعيين من الصف Invoice هما StandardInvoice و ConfiguredInvoice. ITA330 – S8

  21. توجيهات بخصوص الوظيفة النص: نص الوظيفة ITA330 – S8

  22. توجيهات بخصوص الوظيفة ملاحظة هامة بالرغم من أن التوجيهات التي سيرد ذكرها لاحقاً قد كُتبت خصيصاً لهذه المسألة، إلا أنها توجيهات عامة يمكن الاسترشاد بها لدى حل أية مسألة أخرى. وعلى الرغم من أن الغاية الأساسية كانت وتبقى الانتقال قدر الإمكان من التحليل بالاعتماد على المهارات الفردية (فن) إلى التحليل بالاعتماد على إجرائيات معيارية واضحة (علم هندسي) يبقى للمهارات الفردية دور بالغ الأهمية، ومن غير المتوقع (بل من المستغرب) أن تتطابق الحلول التي تقدمها المجموعات المختلفة. ITA330 – S8

  23. توجيهات بخصوص الوظيفة الطلب الأول: استنتاج الفاعلين وحالات الاستخدام توجيهات: • تذكر أن الفاعل ليس بالضرورة كائناً بشرياً. • لاستنتاج حالات الاستخدام قد يكون مناسباً إعادة ترتيب فقرات وجمل النص بحيث تظهر الأفكار المترابطة في جمل متتالية. • استخدم جدولاً كالمبين أدناه ووزع النص (بعد إعادة ترتيبه إذا لزم الأمر) على عمود “المتطلب” واكتب في العمود الأخير اسم حالة الاستخدام باللغة الإنكليزية (تذكر أن تستخدم صيغ فعلية لتسمية حالات الاستخدام). ITA330 – S8

  24. توجيهات بخصوص الوظيفة الطلب الثالث: الصفوف المحتملة وواصفاتها توجيهات: • يُنصح أن يقوم بهذه المهمة عنصر آخر من الفريق على أن يجري ذلك على التوازي مع عملية استنتاج الفاعلين وحالات الاستخدام. • يُنصح بذكر المنهج (أو المناهج) المستخدم لاكتشاف الصفوف (منهج العبارات الاسمية، المنهج المساق بحالات الاستخدام، المنهج المختلط...الخ). • لا تهتم في هذه المرحلة بالعلاقات بين الصفوف واكتفِ بذكر أسماء الصفوف وواصفاتها الأساسية (أي تلك اللازمة لتمييز حالات الأغراض). ITA330 – S8

  25. توجيهات بخصوص الوظيفة الطلب الرابع: توصيف حالات الاستخدام توجيهات: • تذكر أنه يمكن تصميم أكثر من حل للمسألة، لكن بالقياس إلى حجم المسألة التي لدينا ومحدودية وظائفها يجب ألا يقل عدد حالات الاستخدام عن 4 وألا يزيد عن 8. • بالنظر إلى تعريف حالة الاستخدام وضرورة أن تكون كلها على المستوى نفسه من التفصيل يتوقع أن تكون حجومها متقاربة، وبالتالي لن يخضع انتقاء الحالات الثلاث التي ستقوم بتوصيفها لاعتبارات تتعلق بالحجم أو درجة التعقيد. • التزم باستخدام النموذج المرفق مع نص الوظيفة لكتابة توصيف حالات الاستخدام. ITA330 – S8

  26. توجيهات بخصوص الوظيفة الطلب السادس: رسم مخطط الصفوف توجيهات: • قد تحتاج في هذه المرحلة لإجراء تعديلات على الصفوف التي اكتشفتها أثناء حل الطلب رقم (3). (قد تشمل هذه التعديلات حذف و/أو إضافة صفوف، كما قد تشمل تعديلات على واصفات الصفوف). • تذكر أن الصفوف الناتجة عن هذه المرحلة هي من صفوف التطبيق (أي أنها تنتمي إلى فضاء الحل وليس فقط إلى فضاء المسألة)، وبالتالي فقد تكون الصفوف الجديدة نتاج عمليات تعميم أو تجريد. ITA330 – S8

More Related