از مدل سازی فرآیند تا طراحی سیستم خودکار (قسمت 1)

"یک روز در زندگی یک سنجاب" یا از مدل سازی فرآیند تا طراحی یک سیستم خودکار حسابداری ثروت "Belka-1.0" (قسمت 1)

از مدل سازی فرآیند تا طراحی سیستم خودکار (قسمت 1)
یک تصویر برای "داستان تزار سالتان" توسط A.S.

"سنجاب" چه ربطی به آن دارد؟

من بلافاصله توضیح خواهم داد که "سنجاب" با آن چه ارتباطی دارد. برخورد با پروژه های سرگرم کننده در اینترنت برای یادگیری UML بر اساس یک حوزه موضوعی وام گرفته شده از افسانه ها (به عنوان مثال، اینجا [1])، همچنین تصمیم گرفتم نمونه مشابهی را برای دانش آموزانم آماده کنم تا بتوانند برای شروع فقط سه نوع نمودار را مطالعه کنند: نمودار فعالیت، نمودار مورد استفاده و نمودار کلاس. من عمداً نام نمودارها را به روسی ترجمه نمی کنم تا از اختلاف در مورد "مشکلات ترجمه" جلوگیری کنم. کمی بعد توضیح خواهم داد که برای چیست. در این مثال من از چارچوب Enterprise Architect از یک شرکت استرالیایی استفاده می کنم سیستم های اسپارکس [2] - یک ابزار خوب برای قیمت مناسب. و به عنوان بخشی از جلسات آموزشی خود استفاده می کنم مدلیو [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. پوشکین "داستان تزار سلتان، قهرمان باشکوه و توانا شاهزاده گیدون سالتانوویچ و شاهزاده زیبای سوان" کار بر روی افسانه احتمالاً در سال 1822 آغاز شد. - اتفاقاً 10 سال از مفهوم تا انتشار!)

کمی در مورد کدهایی که در سمت راست خطوط نوشته شده است. "A" (از "بازیگر") به این معنی است که خط حاوی اطلاعاتی در مورد یک شرکت کننده در فرآیند است. "C" (از "Class") - اطلاعاتی در مورد اشیاء کلاس که در طول اجرای فرآیندها پردازش می شوند. "E" (از "محیط") - اطلاعاتی در مورد اشیاء کلاس که محیط را برای اجرای فرآیندها مشخص می کند. "P" (از "فرآیند") - اطلاعاتی در مورد خود فرآیندها.

به هر حال، تعریف دقیق یک فرآیند نیز ادعا می کند که علت اختلافات روش شناختی است، البته فقط به این دلیل که فرآیندهای مختلفی وجود دارد: تجارت، تولید، فناوری و غیره. و غیره (برای مثال می توانید بفهمید اینجا [4] و اینجا [5]). برای جلوگیری از بحث، بیایید با آن موافقت کنیم ما به این فرآیند از نقطه نظر تکرارپذیری آن در طول زمان و نیاز به اتوماسیون علاقه مندیم، یعنی انتقال اجرای هر قسمت از عملیات فرآیند به یک سیستم خودکار.

نکاتی در مورد استفاده از نمودار فعالیت

بیایید مدل سازی فرآیند خود را شروع کنیم و از نمودار Activity برای این کار استفاده کنیم. ابتدا اجازه دهید نحوه استفاده از کدهای بالا در مدل را توضیح دهم. توضیح آن با یک مثال گرافیکی ساده تر است، اما در عین حال برخی از عناصر (تقریباً همه موارد مورد نیاز) از نمودار Activity را تجزیه و تحلیل خواهیم کرد.
بیایید قطعه زیر را تجزیه و تحلیل کنیم:

...
سنجاب آهنگ می خواند، (P1، A1)
بله، او مدام آجیل می خورد، (P2)
اما آجیل ساده نیست، (C1)
تمام پوسته ها طلایی هستند (C2)
هسته زمرد خالص است. (C3)
...

ما دو مرحله فرآیند P1 و P2، شرکت‌کننده A1، و اشیاء از سه کلاس مختلف داریم: یک شی از کلاس C1 به گام ورودی می‌شود، اشیای کلاس‌های C2 و C3 در نتیجه فعالیت این مرحله P2 از ما خارج می‌شوند. روند. برای نمودار از عناصر مدل سازی زیر استفاده می کنیم.

از مدل سازی فرآیند تا طراحی سیستم خودکار (قسمت 1)

بخشی از فرآیند ما را می توان چیزی شبیه به این نشان داد (شکل 1).

از مدل سازی فرآیند تا طراحی سیستم خودکار (قسمت 1)

شکل 1. قطعه نمودار فعالیت

برای سازماندهی فضا و ساختار نمودار Activity، از دیدگاه استفاده کلاسیک از نشان‌گذاری UML، از یک رویکرد غیر استاندارد استفاده می‌کنیم. اما دلایل متعددی برای این امر وجود دارد. در مرحله اول، درست قبل از شروع مدل سازی، به اصطلاح را جمع آوری می کنیم توافق نامه مدل سازی، که در آن تمام ویژگی های استفاده از علامت گذاری را ثبت می کنیم. ثانیاً، این رویکرد بارها و بارها با موفقیت در مرحله مدل‌سازی کسب‌وکار در پروژه‌های واقعی برای ایجاد سیستم‌های نرم‌افزاری اعمال شد. 6]. برای نمودار Activity، تعریف می کنیم که فیلد نمودار با استفاده از "swim lanes" ساخته شده است. نام تراک با نوع عناصر نموداری که در آن تراک قرار می گیرند مطابقت دارد.

"مصنوعات ورودی و خروجی": این آهنگ شامل عناصر Objects خواهد بود - اشیایی که استفاده می شوند یا نتیجه اجرای برخی از مراحل فرآیند هستند.
"مراحل فرآیند": در اینجا عناصر Activity را قرار می دهیم - اقدامات شرکت کنندگان در فرآیند.
"شركت كنندگان": مسیری برای عناصری که نشان دهنده نقش بازیگران اکشن در فرآیند ما باشد، برای آنها از همان عنصر مدلسازی Object - یک شیء استفاده می کنیم، اما کلیشه "بازیگر" را به آن اضافه می کنیم.
آهنگ بعدی نام دارد "قوانین کسب و کار" و در این مسیر قوانین اجرای مراحل فرآیند را به صورت متنی قرار می دهیم و برای این کار از عنصر مدل سازی Note - a note استفاده می کنیم.
ما در اینجا توقف خواهیم کرد، اگرچه می توانیم از مسیر نیز استفاده کنیم "ابزار" برای جمع آوری اطلاعات در مورد سطح اتوماسیون فرآیند. یک مسیر نیز ممکن است مفید باشد "مقامات و تقسیمات شرکت کنندگان"، می توان از آن برای پیوند دادن نقش ها به موقعیت ها و بخش های شرکت کنندگان در فرآیند استفاده کرد.

همه چیزهایی که من توضیح دادم یک قطعه است کنوانسیون های مدل سازی، این قسمت از قرارداد مربوط به قوانین سازماندهی یک نمودار و بر این اساس قوانین نوشتن و خواندن آن است.

"دستور آشپزی"

حالا بیایید گزینه مدل سازی سیستم را به طور خاص در نظر بگیریم از نمودار فعالیت این فقط یک گزینه است، توجه می کنم که البته تنها گزینه نیست. نمودار فعالیت ما را از نقطه نظر نقش آن در انتقال از مدل سازی فرآیند به طراحی یک سیستم خودکار مورد توجه قرار می دهد. برای انجام این کار، ما به توصیه های روش شناختی پایبند خواهیم بود - نوعی دستور العمل که فقط از پنج مرحله تشکیل شده است و تنها سه نوع نمودار را ارائه می دهد. استفاده از این دستور العمل به ما کمک می‌کند تا یک توضیح رسمی از فرآیندی که می‌خواهیم خودکارسازی کنیم و داده‌ها را برای طراحی سیستم جمع‌آوری کنیم، به دست آوریم. و برای دانش آموزانی که در ابتدای مطالعه UML هستند، این نوعی محافظ زندگی است که به آنها اجازه نمی دهد در انواع ابزارها و تکنیک های بصری که در UML و ابزارهای مدل سازی مدرن یافت می شود غرق شوند.

در واقع، در اینجا خود دستور غذا وجود دارد و سپس نمودارهای ساخته شده برای منطقه موضوعی "افسانه" ما را دنبال کنید.

مرحله 1. ما فرآیند را در قالب یک نمودار فعالیت توصیف می کنیم. برای فرآیندی با بیش از 10 مرحله، استفاده از اصل تجزیه مرحله فرآیند برای بهبود خوانایی نمودار منطقی است.

مرحله 2. آنچه را که می توان خودکار کرد را انتخاب کنید (برای مثال، مراحل را می توان بر روی یک نمودار برجسته کرد).

مرحله 3. مرحله خودکار باید با عملکرد یا عملکردهای سیستم مرتبط باشد (رابطه می تواند چند به چند باشد)، یک نمودار Use-case رسم کنید. اینها وظایف سیستم ما هستند.

مرحله 4. بیایید سازمان داخلی AS را با استفاده از نمودار کلاس توصیف کنیم - کلاس مسیر شنای «اشیاء ورودی و خروجی (اسناد)» در نمودار Activity اساس ساخت یک مدل شی و یک مدل رابطه موجودیت است.

مرحله 5. بیایید یادداشت های مربوط به مسیر "قوانین تجاری" را تجزیه و تحلیل کنیم، انواع محدودیت ها و شرایط را فراهم می کنند که به تدریج به الزامات غیر کارکردی تبدیل می شوند.
مجموعه نمودارهای حاصل (Activity، Use-case، Class) یک توصیف رسمی در یک نماد نسبتاً دقیق به ما می دهد، یعنی. قرائتی بدون ابهام دارد. اکنون می توانید مشخصات فنی را توسعه دهید، مشخصات الزامات را روشن کنید و غیره.

بیایید مدلسازی را شروع کنیم.

مرحله 1. فرآیند را در قالب یک نمودار فعالیت توصیف کنید

اجازه دهید به شما یادآوری کنم که ما فیلد نمودار را با استفاده از خطوط "شنا" ساختیم (شکل 2). علاوه بر عناصر نمودار شرح داده شده در بالا، ما از عناصر اضافی استفاده خواهیم کرد، اجازه دهید آنها را توضیح دهیم.

از مدل سازی فرآیند تا طراحی سیستم خودکار (قسمت 1)

تصمیم (تصمیم) نشان دهنده نقطه انشعاب فرآیند ما در نمودار، و ادغام موضوعات (Merge) - نقطه اتحاد مجدد آنها است. شرایط انتقال در کروشه های مربع روی انتقال ها نوشته می شود.

بین دو همگام ساز (Fork) شاخه های فرآیند موازی را نشان خواهیم داد.
فرآیند ما می تواند تنها یک شروع داشته باشد - یک نقطه ورودی (Initial). اما ممکن است چندین تکمیل (Final) وجود داشته باشد، اما نه برای نمودار خاص ما.

تعداد زیادی فلش با تعداد زیادی عناصر و اتصالات وجود دارد، ابتدا می توانید مراحل فرآیند را شناسایی کنید و سپس تجزیه این مراحل را انجام دهید. اما برای وضوح، من می خواهم روند "افسانه" خود را به طور کامل در یک نمودار نشان دهم، در حالی که، البته، ما باید اطمینان حاصل کنیم که فلش ها "به هم نچسبند"، امکان ردیابی دقیق آنچه متصل است وجود دارد. برای چه.

از مدل سازی فرآیند تا طراحی سیستم خودکار (قسمت 1)

شکل 2. نمودار فعالیت - نمای کلی فرآیند

زیرا در سطرهای شاعرانه، برخی از جزئیات روند حذف شده است، آنها باید بازسازی می شدند، آنها توسط عناصری با پس زمینه سفید نشان داده می شوند. این جزئیات شامل مرحله انتقال/دریافت برای ذخیره سازی و پردازش و چندین مصنوع ورودی و خروجی است. شایان ذکر است که این مرحله نیز روند را به طور کامل نشان نمی دهد، زیرا ما باید مرحله انتقال و مرحله دریافت را جداگانه تعیین کنیم و حتی یک مرحله جداگانه برای پوسته ها اضافه کنیم و همچنین فکر کنیم که ابتدا همه این مقادیر مادی باید به طور موقت در جایی ذخیره شوند و غیره. و غیره
اجازه دهید همچنین توجه داشته باشیم که سوال منشا آجیل بی پاسخ مانده است - آنها از کجا می آیند و چگونه به سنجاب می رسند؟ و این سوال (در یادداشت با فونت قرمز مشخص شده است - عنصر Note) نیاز به مطالعه جداگانه دارد! این روشی است که یک تحلیلگر کار می کند - جمع آوری اطلاعات ذره ذره، ایجاد فرضیات و دریافت "خوب" یا "نه خوب" از کارشناسان موضوع - افراد بسیار مهم و به سادگی غیر قابل جایگزینی در مرحله مدل سازی کسب و کار هنگام ایجاد سیستم ها.

همچنین توجه داشته باشید که مرحله فرآیند P5 از دو بخش تشکیل شده است.

از مدل سازی فرآیند تا طراحی سیستم خودکار (قسمت 1)

و ما هر قسمت را تجزیه کرده و با جزئیات بیشتری در نظر خواهیم گرفت (شکل 3، شکل 4)، زیرا فعالیت های انجام شده در این مراحل خاص خودکار خواهند شد.

از مدل سازی فرآیند تا طراحی سیستم خودکار (قسمت 1)

شکل 3. نمودار فعالیت - جزئیات (قسمت 1)

از مدل سازی فرآیند تا طراحی سیستم خودکار (قسمت 1)

شکل 4. نمودار فعالیت - جزئیات (قسمت 2)

مرحله 2. آنچه را که می توان خودکار کرد را انتخاب کنید

مراحلی که باید خودکار شوند به صورت رنگی روی نمودارها مشخص شده اند (شکل 3، شکل 4 را ببینید).
از مدل سازی فرآیند تا طراحی سیستم خودکار (قسمت 1)

همه آنها توسط یک شرکت کننده در فرآیند انجام می شود - کارمند:

  • اطلاعات مربوط به وزن مهره را در بیانیه وارد می کند.
  • اطلاعات مربوط به انتقال مهره را در بیانیه وارد می کند.
  • واقعیت تبدیل مهره به پوسته و هسته را ثبت می کند.
  • اطلاعات مربوط به مغز آجیل را در بیانیه وارد می کند.
  • اطلاعات مربوط به پوست آجیل را در لیست وارد می کند.

تجزیه و تحلیل کار انجام شده. بعدش چی؟

بنابراین، ما کارهای مقدماتی زیادی انجام داده‌ایم: اطلاعاتی در مورد فرآیندی که می‌خواهیم خودکارسازی کنیم، جمع‌آوری کرده‌ایم. شروع به تشکیل توافقنامه در مورد مدل سازی کرد (تاکنون فقط از نظر استفاده از نمودار فعالیت). شبیه سازی فرآیند را انجام داد و حتی چندین مرحله آن را تجزیه کرد. ما مراحل فرآیندی را که به صورت خودکار انجام خواهیم داد، شناسایی کردیم. اکنون آماده هستیم تا به مراحل بعدی برویم و طراحی عملکرد و سازمان داخلی سیستم را آغاز کنیم.

همانطور که می دانید تئوری بدون عمل چیزی نیست. شما قطعا باید "مدل سازی" را با دستان خود امتحان کنید، این نیز برای درک رویکرد پیشنهادی مفید است. به عنوان مثال، شما می توانید در یک محیط مدلینگ کار کنید مدلیو [3]. ما فقط بخشی از مراحل نمودار فرآیند کلی را تجزیه کرده ایم (شکل 2 را ببینید). به عنوان یک کار عملی، ممکن است از شما خواسته شود که تمام نمودارها را در محیط Modelio تکرار کنید و مرحله "انتقال/دریافت برای ذخیره سازی و پردازش" را تجزیه کنید.
ما هنوز به فکر کار در محیط های مدل سازی خاص نیستیم، اما این موضوع ممکن است موضوع مقالات و بررسی های مستقل شود.

در بخش دوم مقاله، تکنیک‌های مدل‌سازی و طراحی لازم را در مراحل 3-5 مورد تجزیه و تحلیل قرار می‌دهیم و از نمودارهای UML Use-case و Class استفاده می‌کنیم. ادامه دارد.

فهرست منابع

  1. وب سایت "UML2.ru". انجمن تحلیلگران بخش عمومی. مثال ها. نمونه هایی از افسانه هایی که به صورت نمودارهای UML قالب بندی شده اند. [منبع الکترونیکی] حالت دسترسی: اینترنت: http://www.uml2.ru/forum/index.php?topic=486.0
  2. وب سایت Sparx Systems [منبع الکترونیکی] حالت دسترسی: اینترنت: https://sparxsystems.com
  3. وب سایت مدلیو [منبع الکترونیکی] حالت دسترسی: اینترنت: https://www.modelio.org
  4. فرهنگ لغت دایره المعارفی بزرگ. فرآیند (تفسیر). [منبع الکترونیکی] حالت دسترسی: اینترنت: https://dic.academic.ru/dic.nsf/enc3p/246322
  5. وب سایت "سازمان مدیریت موثر". وبلاگ. دسته "مدیریت فرآیندهای کسب و کار". تعریف فرآیند کسب و کار [منبع الکترونیکی] حالت دسترسی: اینترنت: https://rzbpm.ru/knowledge/pochemu-processy-stali-s-pristavkoj-biznes.html
  6. گواهی شماره 18249 مبنی بر ثبت و سپرده گذاری یک اثر فعالیت فکری. Alfimov R.V.، Zolotukhina E.B.، Krasnikova S.A. نسخه خطی یک کمک آموزشی با عنوان "مدل سازی یک حوزه موضوعی با استفاده از معمار سازمانی" // 2011.
  7. Zolotukhina E.B.، Vishnya A.S.، Krasnikova S.A. مدل سازی فرآیندهای کسب و کار - M.: KURS، NITs INFRA-M، EBS Znanium.com. - 2017.

منبع: www.habr.com

اضافه کردن نظر