سؤال

في تطبيقي لدي فئة Document وفئة DocumentFact.تحتوي فئة DocumentFact على الأساليب التي ستحصل على مستندات متعددة من قاعدة البيانات.يتم تخزين هذه المستندات في جدول بيانات أو مجموعة بيانات.كلاهما (datatable، dataset) عضوان خاصان في فئة documentfact.ويمكن الوصول إليها عن طريق الخصائص.

الآن سؤالي هو:في مخطط التسلسل، هل يُسمح باستدعاء خاصية مثل هذا:

Actor      Web interface    DocumentFact          Database
  |          |                 |                      |
  |input     |                 |                      |
  |------->  |  GetDocuments   |                      |
  |          |---------------->|                      |
  |          |                 | ExecuteSelectQuery() |
  |          |                 | -------------------->|
  |          |                 |                      |
  |          |                 |      Bool            |
  |          |                 | <--------------------|
  |          |                 |                      |
  |          |                 |   GetDataSet()       |
  |          |                 | -------------------->|
  |          |                 |                      |
  |          |                 |    DataSet           |
  |          |                 |<---------------------|
  |          |                 |                      |

حيث GetDataSet هي خاصية.هل هذا صحيح؟وإذا لم يكن كذلك، فما هي الطريقة الصحيحة للقيام بذلك؟

ملحوظة: هذا مجرد جزء من مخطط التسلسل الخاص بي، والباقي غير ذي صلة.

هل كانت مفيدة؟

المحلول

أحد الأشياء المهمة التي يجب تذكرها هو أن لغة UML ليست تدوينًا رسميًا، لذا يمكنك القيام بكل ما تعتقد أنه يوصل الفكرة.إذا كان هناك شيء غير واضح (أو كان عليك التفكير كثيرًا في كيفية تمثيله)، فربما ينبغي عليك إضافة ملاحظة.

أحد الأشياء التي وجدتها مفيدة جدًا في المخططات التسلسلية هو ترقيم الرسائل (أو مجموعات الرسائل) والحصول على مربع حوار قيد التشغيل (منسق كقائمة مرقمة) يشرح ما يحدث (...ولماذا تفعل ذلك بهذه الطريقة).عليك أن تتذكر أن الرسم التخطيطي لا يقف بمفرده ولكن يجب دمجه في مجموعة أكبر من الوثائق، وبالتالي، فإن كيفية تمثيل خاصية على وجه التحديد ليست في الحقيقة مشكلة كبيرة.ما عليك سوى اختيار تمثيل وشرح أن GetDataSet هي خاصية لقاعدة البيانات (أو أيًا كان :).

نصائح أخرى

لقد واجهت مشكلة مماثلة أثناء توثيق تصميمي.لقد قمت للتو بإضافة "خاصية" النص ضمن استدعاء الأسلوب (تحت السهم).(لم أكتشف طريقة UML "الصحيحة" للقيام بذلك.) على الرغم من أن هذه ليست لغة UML القياسية، على حد علمي، فقد أوضحت هذه النقطة حقًا.بالطبع، قد لا يناسبك ذلك، وفي هذه الحالة، ستكون أفضل حالًا باستخدام لغة UML القياسية.

يمكنك إظهار الخاصية مع الصورة النمطية.على سبيل المثال، إذا DataSet هي الخاصية، وأنت تتصل بـ getter، use <<get>> الصورة النمطية.هكذا سيبدو الأمر

     DataSet <<get>>
--------------------->

لست متأكدًا مما إذا كان في مواصفات UML.ولكن هذا حسب اقتراح سكوت أمبلر في كتابه الممتاز عناصر نمط UML 2.0.

ويوصي أيضًا بالحفاظ على الصور النمطية بعد الاسم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top