ترسیم یک فرایند
هدف
یک فرایند را بکشید: خطهایی که از آنها میگذرد، گامهای هر خط، و اتصالهای میانشان.
باز کردن طراح
از فرایندها یک فرایند را برگزینید و طراحی را بزنید — یا روی سطر کلیک کنید. بوم درون همان برنامه باز میشود، با مسیر راهنما و نوار عنوان که همچنان بالای آن میمانند.
فرایندی که هرگز نکشیدهاید با یک نمودار آغازین باز میشود نه بوم خالی: یک خط، یک آغاز و یک پایان. هر فرایندی همین شکل را دارد، پس همینجا شروع میکنید.
چهار ناحیه
- پالت، در لبهٔ چپ — آنچه میتوانید بیفزایید: یک خط، و گونههای گره.
- رئوس، کنارش — فرایند بهشکل درخت: ریشه، خطها، و گرههای هر خط. انتخاب در رئوس روی بوم هم انتخاب میکند و برعکس. لبهٔ راستش را بکشید تا پهنتر شود.
- بوم، در میانه — خودِ نمودار.
- پنل ویژگیها، در راست — هرچه دربارهٔ چیزِ برگزیده هست.
خطها: کار با کیست
از پالت خطی بیفزایید، یا یکی را روی بوم بکشید. نامش را از روی ن قش بگذارید، نه شخص — «مدیر»، نه نام یک نفر — چون فرایند از هرکسی که این ماه آن کار را میکند بیشتر عمر میکند.
- تغییر نام با دوبار کلیک روی سرستون خط.
- تغییر اندازه با کشیدن مرز زیر آن. خطهای پایینی همراهش پایین میروند، و گرههایشان نیز.
- گره به خطی تعلق دارد که در آن نشسته است. آن را به خط دیگری بکشید و صاحبش عوض میشود.
«نقش» خط را تعیین کنید، وگرنه گامهایش به هیچکس نمیرسند
نامگذاری یک خط به «مدیر» به خواننده میگوید کار با کیست؛ به موتور نمیگوید. خط را برگزینید و در پنل ویژگیها نقش آن را انتخاب کنید — یک جستوجوگر روی نقشهای دسترسی همین محیط، همراه با کادر جستوجو: شروع به تایپ کنید و فهرست بر پایهٔ نام نقش یا نام منطقیاش محدود میشود.
پیشتر کادری بود که نام را در آن تایپ میکردید، و یک غلط تایپی خطی میساخت که کارش به نقشی ناموجود میرفت — و تا وقتی اجرایی متوقف نمیشد، چیزی این را نمیگفت. اگر خالی بماند، هر گام خودش تصمیم میگیرد.
آنگاه هر کار کاربریِ آن خط به دارندگان همان نقش میرسد — و همین تمام دلیلِ کشیدن خط شناست، که یک بار برای خط تعیین میشود نه برای هر گام. گامی که خودش عبارت واگذار به دارد، بر این اولویت دارد.
خطی بدون نقش و گامهایی بدون واگذار به یعنی فرایندی که اجرا میشود و بعد با پیام «… به هیچکس واگذار نشد» متوقف میماند. کار ساخته میشود تا مدیر بتواند ببیندش — اما در فهرست هیچکس نیست.
تا نقشی به شخصی برسد دو چیز دیگر هم باید برقرار باشد: نقش باید وجود داشته باشد (نقشها، در مرکز کنترل مدیریت) و کسی باید آن را در یک واحد داشته باشد (نقشهای فرایندی، در برنامهٔ سازمان). نگاه کنید به سازمان خود را برپا کنید.
گرهها: گامها
| گونه | یعنی چه |
|---|---|
| آغاز | جایی که فرایند شروع میشود. دقیقاً یکی بکشید. |
| پایان | جایی که تمام میشود. میتواند چند تا باشد — «تأیید» و «رد» هر دو پایاناند. |
| کار | یک گام. بیشترین چیزی که به کار میبرید. |
| انشعاب | یک تصمیم: یک ورودی، چند خروجی. |
| دوشاخه | جدا شدن به مسیرهایی که همه اجرا میشوند. |
| پیوند | ماندن تا آن مسیرها دوباره به هم برسند. |
| زمانسنج | صبر کردن به اندازهٔ مدتی، یا تا لحظهای مشخص. از کسی چیزی خواسته نمیشود. |
یک کار گونهٔ کار هم دارد که در پنل ویژگیها انتخاب میشود — کاربر، سرویس، اسکریپت، دستی، ارسال، دریافت، قاعدهٔ کسبوکار. نشان کوچکی روی گره میکشد، و همان است که خواننده با یک نگاه «کسی این را پر میکند» را از «سکو خودش این را انجام میدهد» تشخیص میدهد.
کدام گامها منتظر میمانند
فقط کار کاربری اجرا را منتظر یک نفر نگه میدارد. هر نوع دیگری از کار، هنگام ورود و هنگام خروج خود را اجرا میکند و مستقیم ادامه میدهد؛ نوعش برای کسی است که نمودار را میخواند.
وقتی اجرا چند مسیر دارد
پس از یک انشعاب موازی، اجرا همزمان روی چند مسیر است. دو انتخاب تعیین میکنند وقتی این مسیرها تمام میشوند چه پیش میآید.
- ادامه میدهد وقتی در یک ادغام: همهٔ مسیرها رسیدهاند (پیشفرض)، نخستین مسیر میرسد، یا تعدادی از مسیرها رسیدهاند همراه با چند مسیر. مسیرهایی را میشمارد که انشعاب موازیِ آن آغاز کرده، نه اتصالهایی را که به آن کشیده شدهاند. مسیری که هنگام ادامهدادنِ ادغام هنوز در جریان است متوقف میشود و کار بازِ آن پس گرفته میشود.
- وقتی م سیری به آن میرسد در یک پایان: این مسیر تمام شود (پیشفرض: اجرا وقتی تمام میشود که مسیر دیگری در جریان نباشد)، یا کل اجرا تمام شود که همهٔ مسیرهای دیگر را متوقف میکند. دومی پایانِ «رد شد، همهچیز را متوقف کن» است.
«عنوان» و «نام» یک گام
هر گام هر دو را دارد و کارشان فرق میکند — همان جفتی که یک جدول با «نام نمایشی» و «نام منطقی» خود دارد.
- عنوان چیزی است که روی بوم خوانده میشود. آن را برای خواننده بنویسید، به هر زبانی که کار میکنید، و هر وقت خواستید بازنویسی کنید.
- نام چیزی است که کد، تاریخچهٔ اجرا و فرایندهای دیگر گام را با آن میشناسند. حروف کوچک انگلیسی، رقم و زیرخط، و الزامی است.
معمولاً نام را تایپ نمیکنید. همزمان با تایپ عنوان پر میشود — «Approve Leave» میشود
approveleave — و بهمحض اینکه خودتان ویرایشش کنید دیگر دنبال عنوان نمیآید، پس نامی که
انتخاب کردهاید هرگز بازنویسی نمیشود. برای بازگشتِ پیشنهاد، کادر را خالی کن ید.
دو گام نمیتوانند یک نام داشته باشند. اگر عنوانی نامی بسازد که گرفته شده است، گام تازه _2
میگیرد؛ گام قبلی نامش را نگه میدارد، چون تغییر آن یعنی تغییر چیزی که همهٔ اسکریپتهای موجود
به آن اشاره میکنند.
عنوانی به فارسی یا عربی نامی نمیسازد، پس گام به نام گونهاش نامیده میشود — task، task_2.
آن را به چیزی تغییر دهید که در تاریخچهٔ یک اجرا بشناسید.
نام پیشتر اختیاری بود، پس ممکن است فرایندی که زودتر کشیدهاید گامهایی بینام داشته باشد — یا نامهایی به سبک آزاد قدیمی. آن سندها دیگر پذیرفته نمیشوند.
هر کدام را در طراح باز کنید و ذخیره کنید. نامها هنگام باز شدن از روی عنوانها پر میشوند و ذخیرهکردن تمام کار است. چیزی آنها را برایتان تبدیل نمیکند، و فرایندی که دوباره باز نکرده باشید، دفعهٔ بعد که ویرایشش کنید ذخیره نخواهد شد.
اتصالها
در پالت اتصال را برگزینید، سپس از گرهی به گره دیگر بکشید. مسیر اتصالها خودکار محاسبه میشود — گوشهها را شما نمیکشید.
- هر جا لازم است به اتصال برچسب بدهید. روی خروجیهای یک انشعاب، همان است که خواننده بهجای تصمیم میخواند: تأیید شد، بیش از سقف، رد شد.
- سبک اتصال — منحنی یا گوشهدار — روی ریشهٔ فرایند است و بر کل نمودار اثر میگذارد، چون نموداری که هر دو را قاطی کند بهجای انتخاب، اشتباه خوانده میشود.
متغیرها: آنچه فرایند با خود میبرد
در نمای درختی ریشهٔ فرایند را برگزینید و متغیرها را اضافه کنید — مقادیری که این فرایند از یک گام به گام بعد با خود میبرد. هر کدام یک نام و یک نوع دارند (متن، عدد، بله/خیر، تاریخ).
نام همان چیزی است که یک اسکریپت مینویسد: getVariable("total"). تغییر نام یک متغیر،
اسکریپتهایی را که آن نام را نوشتهاند بازنویسی نمیکند؛ پس نام را چیزی بدانید که نامگذاری
میکنید، نه برچسبی که آزادانه عوض میشود. متغیری که هنوز نامش را نگذاشتهاید هیچجا پیشنهاد
نمیشود.
فرمهای تصمیم: آنچه فرد برای تمامکردن یک گام پر میکند
فرم تصمیم همان فرم کوتاهی است که کسی برای انجام یک کار کاربری پر میکند، بههمراه نتیجهها — دکمههایی که کار را تمام میکنند. این فرم، فرم مدلمحورِ یک جدول نیست: به فرایند تعلق دارد، درون سند فرایند جابهجا میشود، و فقط همان چیزی را میپرسد که تصمیم به آن نیاز دارد.
ریشهٔ فرایند را در نمای درختی انتخاب کنید — همان جایی که طراح روی آن باز میشود — تا زیر «متغیرها» بخش فرمهای تصمیم را ببینید؛ چون فرم تصمیم به فرایند تعلق دارد نه به یک گام خاص و چند گام میتوانند یک فرم را نشان دهند.
هر فرم تصمیم اینها را دارد:
- یک نام فرم تصمیم که کار با آن به فرم اشاره میکند، و یک عنوان که خوانندهٔ فرم آن را میبیند.
- فیلدها — نام فیلد، برچسب و نوع داده. اینها همان نوعهای دادهٔ خودِ سکو هستند، پس فرم تصمیم همان انتخابگرهای تاریخ، تقویمها و فهرستهای گزینهای را میگیرد که یک فرم رکورد دارد.
- نتیجهها — هر سطر یک دکمه. متن دکمه آنچه روی آن نوشته میشود، سبک ظاهر آن (معمولی، اصلی، مخرب)، و نیازمند توضیح باعث میشود همان یک دکمه بر پرشدن نخستین فیلد چندخطی فرم اصرار کند. آن را روی «رد» بگذارید و روی «تأیید» نگذارید: تفاوتی که این تن ظیم برای آن هست، همین است.
سپس یک کار کاربری را انتخاب کنید و فرم تصمیم آن را از فهرست بردارید.
کاری که فرم تصمیم ندارد باز هم تمام میشود، اما فرد هیچ راهی برای گفتن چیزی دربارهٔ آن ندارد. فرایندی که گامهای انسانیاش هیچ نمیپرسند، معمولاً فرایندی است که طراحیاش تمام نشده است.
آنچه هنگام تصمیمگیری میبینند
زیر فرم تصمیم، آنچه میبینند تعیین میکند در حین تصمیمگیری چه چیزی ناحیهٔ اصلی را پر کند: هیچچیز، فرم یک رکورد، یک فهرست، یک گزارش یا یک صفحه. یکی را برگزینید تا بقیهٔ این بخش نمایان شود.
| فیلد | برای چیست |
|---|---|
| برنامه | درون کدام برنامه باز شود. خالی بگذارید تا در برنامهای باز شود که آنچه گام دربارهٔ آن است را دارد: همان برنامهای که شخص در آن است، اگر آن را داشته باشد، وگرنه برنامهای که در فرایندهای کسبوکار شرکت دارد. همین است که فرایند را پس از ورود به محیطی دیگر کارآمد نگه میدارد. |
| جدول / گزارش / صفحه | گام دربارهٔ چیست. اینکه کدامیک را میبینید به انتخاب بالا بستگی دارد. |
| کدام فرم / کدام نما | بهجای پیشفرض جدول، یک فرم یا نمای نامدار. خالی یعنی همان پیشفرض. |
| نحوهٔ باز شدن | فقط خواندنی، یا برای ویرایش. پاسخ معمول «فقط خواندنی» است — کسی میخواند تا تصمیم بگیرد — و ویرایش با دسترسیهای خودِ رکورد انجام میشود: کار هیچ دسترسی تازهای نمیدهد. |
هر یک از اینها فهرستی از آنچه واقعاً در این محیط هست را نشان میدهد. پیشتر جعبههایی بودند که نام منطقی را در آنها تایپ میکردید، و نامی که با دست تایپ شود تنها میتواند غلط باشد — که چند هفته بعد، پیش چشم همان کسی که فرایند برایش ساخته شده، به شکل «گام هیچچیز باز نمیکند» بروز میکند.
کدام رکورد باز شود در این فهرست نیست: آن یک عبارت است، پس همراه بقیه زیر کد جای دارد.
معمولاً getRecordRef("request") — همان رکوردی که این اجرا دربارهٔ آن است.