"يوم واحد من عمر السنجاب" أو من عمليات النمذجة إلى تصميم نظام آلي للمحاسبة عن القيم المادية "السنجاب - 1.0" (الجزء 1)

تم استخدام الرسم التوضيحي الخاص بحكاية A.S. Pushkin's of Tsar Saltan ، التي نشرتها أدب الأطفال ، موسكو ، 1949 ، لينينغراد ، رسومات K. Kuznetsov
ما علاقة "السنجاب" به؟
سوف أشرح على الفور معنى "السنجاب". بعد أن تعثرت على الويب حول مشاريع ممتعة لتعلم UML ، بالاعتماد على حقل موضوع تم اقتراضه من مؤامرات حكاية خرافية (على سبيل المثال ، هنا [1]) ، قررت أيضًا إعداد مثال مشابه لطلابي حتى أتمكن من دراسة ثلاثة أنواع فقط من الرسوم البيانية للبدء: رسم تخطيطي وحالة استخدام وحالة رسم تخطيطي للصف. لا أترجم عمدا أسماء المخططات إلى اللغة الروسية لتجنب الخلافات حول "صعوبات الترجمة". ماذا عن ماذا - سأشرح بعد قليل. في هذا المثال ، أستخدم بيئة Enterprise Architect من شركة Sparx Systems الأسترالية [2] - وهي أداة جيدة بسعر معقول. وكجزء من التدريب ، أستخدم Modelio [3] ، وهي أداة مجانية جيدة للتصميم الموجه للكائنات التي تدعم معايير UML2.0 و BPMN ، من دون زخرفة غير ضرورية فيما يتعلق بالقدرات المرئية ، ولكنها كافية لتعلم أساسيات اللغة.
سنقوم بأتمتة نشاط محاسبة القيم المادية التي تنشأ في هذه العمليات.
...
تقع الجزيرة على البحر (E1 ، E2)
تقف المدينة على الجزيرة (E3 ، E1)
مع الكنائس ذات القبة الذهبية ، (E4)
مع الأبراج والحدائق ؛ (E5 ، E6)
شجرة التنوب تنمو أمام القصر ، (E7 ، E8)
وتحته منزل بلوري. (E9)
السنجاب يعيش هناك دليل (A1)
يا له من فنان! (A1)
السنجاب يغني الأغاني ، (P1 ، A1)
نعم ، يكسر كل شيء ، (P2)
والمكسرات ليست بسيطة ، (C1)
جميع الأصداف ذهبية ، (C2)
حبات الزمرد النقي ؛ (C3)
الخدم يحرسون السنجاب ، (P3 ، A2)
يخدمونها خادما مختلفا (P4)
وأمر الكاتب (A3)
حساب صارم من المكسرات. (P5 ، C1)
تحية جيشها (P6 ، A4)
من قذيفة صب عملة معدنية ، (P7 ، C2 ، C4)
نعم تطفو في جميع أنحاء العالم. (P8)
فتيات صب الزمرد (P9 ، A5 ، C3)
في المخزن ، ولكن في الخلفية ؛ (E10 ، E11)
...
(A.S. Pushkin "حكاية القيصر سالتان ، وابنه البطل المجيد والقوي الأمير جفيدون سالتانوفيتش والأميرة البجعات الجميلة" ، بدأ العمل على الحكاية على ما يبدو في عام 1822 ، تم نشر أول حكاية من قبل بوشكين في مجموعة "قصائد أ. بوشكين "(الجزء الثالث ، 1832 ، الصفحات 130-181) - 10 سنوات من التصميم إلى النشر ، بالمناسبة!)
قليلا عن الرموز المكتوبة على يمين الخطوط. "A" (من "ممثل") يعني أن السطر يحتوي على معلومات حول المشارك في العملية. "C" (من "Class") - معلومات حول كائنات الفئة التي تتم معالجتها أثناء تنفيذ العمليات. "E" (من "البيئة") - معلومات حول كائنات الفئات التي تميز بيئة تنفيذ العملية. "P" (من "Process") - معلومات حول العمليات نفسها.
بالمناسبة ، فإن التعريف الدقيق للعملية يدعي أيضًا أنه سبب النزاعات المنهجية ، فقط بسبب اختلاف العمليات: الأعمال ، الإنتاج ، التكنولوجيا ، إلخ. إلخ (يمكنك التعرف ، على سبيل المثال ، هنا [4] وهنا [5]). لتجنب الخلاف ، نوافق على أن العملية تهمنا من حيث التكرار في الوقت المناسب والحاجة إلى التشغيل الآلي ، أي تحويل تنفيذ أي جزء من عمليات العمليات إلى نظام آلي.
ملاحظات تطبيق مخطط النشاط
دعنا نبدأ في نمذجة عمليتنا واستخدام مخطط النشاط لهذا الغرض. أولاً ، سأشرح كيف سيتم استخدام الرموز أعلاه في النموذج. من السهل شرح ذلك بمثال بياني ، لكن في نفس الوقت سوف نقوم بتحليل بعض (كل العناصر التي نحتاجها تقريبًا) من مخطط النشاط.
دعنا نحلل الجزء التالي:
...
السنجاب يغني الأغاني ، (P1 ، A1)
نعم ، يكسر كل شيء ، (P2)
والمكسرات ليست بسيطة ، (C1)
جميع الأصداف ذهبية ، (C2)
حبات الزمرد النقي ؛ (C3)
...
لدينا خطوتان من العملية P1 و P2 ، المشارك A1 ، وكائنات من ثلاث فئات مختلفة: يصل كائن من الفئة C1 إلى مدخلات الخطوة ، ويتم الحصول على كائنات من الفئتين C2 و C3 في المخرجات ، نتيجة لنشاط هذه الخطوة P2 من عمليتنا. بالنسبة للرسم البياني ، نستخدم عناصر النمذجة التالية.

يمكن تمثيل جزء من عمليتنا على هذا النحو (الشكل 1).

الشكل 1. جزء من مخطط النشاط
لتنظيم المساحة وهيكل مخطط النشاط ، سنستخدم نهجًا غير قياسي تمامًا ، من حيث الاستخدام الكلاسيكي لتدوين UML. ولكن هناك عدة أسباب لذلك. أولاً ، قبل بدء النمذجة مباشرة ، سنضع اتفاقية ما يسمى بالنمذجة ، نصلح فيها جميع ميزات استخدام الرموز. ثانياً ، تم تطبيق هذا النهج بنجاح مرارًا وتكرارًا في مرحلة نمذجة الأعمال في المشروعات الحقيقية لإنشاء أنظمة برمجية ، وتم تسجيل النتائج بواسطة فريقنا الصغير من المؤلفين في موضوع حقوق الطبع والنشر المقابل [6] ، واستخدمت أيضًا في دليل التدريب [7]. بالنسبة إلى مخطط النشاط ، فإننا نحدد أن هيكل حقل الرسم البياني مبني باستخدام مسارات "السباحة" - ممرات السباحة. سيتوافق اسم المسار مع نوع عناصر المخطط التي سيتم وضعها على هذا المسار.
"قطع أثرية للإدخال والإخراج": الكائنات - الأشياء التي يتم استخدامها أو التي هي نتيجة لبعض خطوات العملية ستكون موجودة على هذا المسار.
"خطوات العملية": نضع هنا عناصر النشاط - تصرفات المشاركين في العملية.
"المشاركون": مسار للعناصر التي ستشير إلى أدوار منفذي الإجراءات في عمليتنا ، بالنسبة لهم ، سوف نستخدم نفس عنصر كائن النمذجة - كائن ، ولكننا نضيف الصورة النمطية "الفاعل" إليها.
يسمى المسار التالي "قواعد العمل" ، وعلى هذا المسار سنضع في النص قواعد لإكمال خطوات العملية ، وسنستخدم عنصر النمذجة ملاحظة - ملاحظة.
سنتوقف هنا ، على الرغم من إمكانية استخدام مسار "الأدوات" لجمع معلومات حول مستوى التشغيل الآلي للعملية. قد يكون المسار "مواقف ووحدات المشاركين" مفيدًا أيضًا ، حيث يمكن استخدامه لربط الأدوار بالمواقع ووحدات المشاركين في العملية.
كل ما وصفته للتو هو جزء من اتفاقية النمذجة ، هذا الجزء من الاتفاقية يتعلق بقواعد تنظيم رسم تخطيطي واحد ، وبالتالي ، قواعد كتابته وقراءته.
"وصفة"
سننظر الآن في خيار نمذجة النظام من مخطط النشاط. هذا واحد فقط من الخيارات ، ألاحظ أنه ، بالطبع ، ليس هو الخيار الوحيد. سيهتم بنا مخطط النشاط من حيث دوره في الانتقال من نمذجة العمليات إلى تصميم نظام آلي. للقيام بذلك ، سوف نلتزم بالتوصيات المنهجية - نوع من الوصفة يتكون من خمس مراحل فقط وتتضمن تطوير ثلاثة أنواع فقط من الرسوم البيانية. سيساعد تطبيق هذه الوصفة على الحصول على وصف رسمي للعملية التي نريد أتمتة ، وجمع البيانات لتصميم النظام. وبالنسبة للطلاب في بداية تعلم UML ، هذا نوع من عوامة الحياة لن تسمح لك بالغرق في مجموعة متنوعة من الأدوات والتقنيات المرئية الموجودة في UML وأدوات النمذجة الحديثة.
هنا ، في الواقع ، تتبع الوصفة نفسها ، ثم المخططات التي تم إنشاؤها من أجل موضوعنا "خرافة".
المرحلة 1. نصف العملية في شكل مخطط نشاط. بالنسبة لعملية يتم فيها تسليط الضوء على أكثر من 10 خطوات ، فمن المنطقي تطبيق مبدأ تحلل خطوات العملية لزيادة قابلية قراءة المخطط.
المرحلة 2. نسلط الضوء على ما يمكن أن يكون آليا (الخطوات ، على سبيل المثال ، يمكن تسليط الضوء عليها في الرسم التخطيطي).
المرحلة 3. يجب أن تتوافق الخطوة التلقائية مع وظيفة أو وظائف النظام (يمكن أن تكون العلاقة من كثير إلى كثير) ، ارسم رسم تخطيطي لحالة الاستخدام. هذه هي وظائف نظامنا.
المرحلة 4. نصف التنظيم الداخلي لـ AS باستخدام مخطط الفصل - الفصل. مسار السباحة "كائنات الإدخال والإخراج (المستندات)" في مخطط النشاط هو أساس إنشاء نموذج كائن ونموذج علاقة كيان.
المرحلة 5. دعنا نحلل الملاحظات على مسار "قواعد العمل" ، فهي توفر أنواعًا مختلفة من القيود والشروط ، وتتحول تدريجياً إلى متطلبات غير وظيفية.
توفر لنا مجموعة المخططات الناتجة (النشاط ، حالة الاستخدام ، الفصل الدراسي) وصفًا رسميًا في علامة صارمة إلى حد ما ، أي لديه قراءة لا لبس فيها. أصبح من الممكن الآن وضع اختصاصات وتوضيح مواصفات المتطلبات ، إلخ.
لنبدأ النمذجة.
المرحلة 1. نصف العملية في شكل مخطط نشاط.
واسمحوا لي أن أذكرك بأننا قمنا ببناء حقل الرسم البياني بمساعدة ممرات "السباحة" ؛ على كل ممر توجد عناصر من نفس النوع (الشكل 2). بالإضافة إلى عناصر المخطط الموضحة أعلاه ، سنستخدم عناصر إضافية ، دعنا نصف من.

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

الشكل 2. مخطط النشاط - عرض عام للعملية
لأن في الخطوط الشعرية تم حذف بعض تفاصيل العملية ، واضطررت إلى استعادتها ، حيث تم عرضها بواسطة عناصر ذات خلفية بيضاء. تتضمن هذه التفاصيل خطوة "النقل / الاستقبال للتخزين والمعالجة" والعديد من التحف الفنية للإدخال والإخراج. تجدر الإشارة إلى أن هذه الخطوة أيضًا لا تكشف العملية بالكامل ، لأن نحتاج إلى الإشارة بشكل منفصل إلى خطوة النقل وخطوة الاستقبال ، وحتى بالنسبة للأصداف تضيف خطوة منفصلة ، وكذلك تخمين أنه يجب أولاً تخزين كل هذه القيم المادية مؤقتًا في مكان ما ، إلخ. إلخ
نلفت الانتباه أيضًا إلى حقيقة أن السؤال عن أصل المكسرات لا يزال بدون إجابة - من أين أتوا وكيف يصابون بالبروتين؟ وهذا السؤال (يتم تسليط الضوء عليه باللون الأحمر في الخط في الملاحظة - عنصر الملاحظة) يتطلب دراسة منفصلة! وهكذا يعمل المحلل - بجمع المعلومات شيئًا فشيئًا ، ووضع افتراضات والحصول على "موافق" أو "لا موافق" من خبراء المجال - مهم جدًا للأشخاص الذين لا يمكن استبدالهم في مرحلة نمذجة الأعمال عند إنشاء أنظمة.
لاحظ أيضًا أن خطوة العملية P5 تتكون من جزأين.

ونحن نحلل كل جزء وننظر فيه بمزيد من التفصيل (الشكل 3 ، الشكل 4) ، لأنه سيتم تنفيذ الأنشطة التي يتم تنفيذها في إطار هذه الخطوات تلقائيًا.

الشكل 3. مخطط النشاط - التفاصيل (الجزء الأول)

الشكل 4. مخطط النشاط - التفاصيل (الجزء الثاني)
المرحلة 2. تسليط الضوء على ما يمكن أن يكون آليا
يتم تسليط الضوء على الخطوات التي يجب أن يكون آليا في الرسوم البيانية في اللون (انظر الشكل 3 ، الشكل 4).

يتم تنفيذ كل منهم من قبل مشارك واحد في العملية - كاتب الترتيب:
- إدخال معلومات حول وزن الجوز في البيان ؛
- يدخل معلومات عن نقل الجوز إلى البيان ؛
- إنه يثبت حقيقة تحول المكسرات إلى قشور وحبات.
- إدخال معلومات حول نواة الجوز في البيان ؛
- إدخال معلومات حول قذائف الجوز في البيان.
تحليل العمل المنجز ما التالي؟
لذلك ، قمنا بالكثير من الأعمال التحضيرية: قمنا بجمع معلومات حول العملية التي سنقوم بأتمتة ؛ بدأت في صياغة اتفاقية نمذجة (حتى الآن فقط من حيث استخدام مخطط النشاط) ؛ أجرى عملية محاكاة وحتى تحلل العديد من خطواته ؛ حددت خطوات العملية التي سنقوم بأتمتة. نحن الآن على استعداد للانتقال إلى الخطوات التالية والبدء في تصميم وظائف النظام وتنظيمه الداخلي.
كما تعلمون ، النظرية بدون ممارسة ليست شيئًا. يجب عليك بالتأكيد تجربة "النمذجة" بيديك ، وهذا مفيد أيضًا لفهم النهج المقترح. على سبيل المثال ، يمكنك العمل في بيئة التصميم Modelio [3]. قمنا بتحليل جزء فقط من خطوات الرسم البياني للرأي العام للعملية (انظر الشكل 2). كمهمة عملية ، قد يقترح تكرار جميع الرسوم البيانية في بيئة Modelio وتحلل الخطوة "نقل / استقبال للتخزين والمعالجة".
نحن لا نفكر في العمل في بيئات نموذجية محددة حتى الآن ، لكن قد يصبح هذا موضوع مقالات ومراجعات مستقلة.
في الجزء الثاني من المقالة ، سنقوم بتحليل تقنيات النمذجة والتصميم اللازمة في المراحل 3-5 ، وسوف نستخدم الرسوم البيانية UML - حالة الاستخدام والفئة. أن تستمر .