ویرگول
ورودثبت نام
Seyed Abolfazl Mousavi
Seyed Abolfazl Mousavi
خواندن ۵ دقیقه·۱۹ روز پیش

Bean

در ابتدا باید گفته شود که Workflow با Flowchart به لحاظ مفهومی در افواه متخصصین مشغول در زیست‌بوم‌های فناورانه تفاوتی ندارد. Workflow و Flowchart به یک نمودار واحد جاری و ساری از حرکت‌های زنده‌ی سازمانی گفته می‌شود. هر فعالیتی که باعث پیشبرد امور اداری می‌شود در Workflow یعنی نمودار جریان کار یا گردش کار به صورت یک فلوچارت یا نمودار جریانی نشان داده می‌شود. نسبت Workflow با Flowchart عموم و خصوص مطلق می‌باشد.

برای طراحی یک سامانه‌ی نرم‌افزاری با طراحی مفهومی مبتنی بر مهندسی صنایع که منتهی به Workflow می‌شود و نهایتا با مدیریت نرم‌افزاری پایگاهی یا مشی پایگاهی تبدیل به یک برنامه‌ی جامع بدون کوچک‌ترین باگ مفهومی و تبعید آبجکت و یا تعمیم نگاه شیءگرایی به معماری نرم‌افزار می‌شود حلقه‌ی مفقوده‌ی مفهومی وجود دارد. حلقه‌ی مفقوده‌ی فوق باعث شده که:

  • مشی پایگاهی مغلوب و کنار گذاشته شده و طراحی شیءگرا اصالت یابد
  • آبجکت به عنوان اصلی لایتغیر، بی‌تعریف و axiom پذیرفته شود. پذیرشی که تعبدی بوده و به هیچ وجه مورد سوال قرار نمی‌گیرد و باعث شده مهندسی صنایع به عنوان یک فرزند چندوالد و هیبریدی در سلسله‌مراتب مهندسی سازمان‌ها مطرح گردد. در واقع صنایع یک ساحت مهارتی است و تخصصی متصل به علوم پایه لحاظ نمی‌شود از این رو در دانشکده‌های علوم پایه غیرمشروع به حساب می‌آید

راه اتصال مهندسی صنایع به معماری مفهومی نرم‌افزارها مبتنی بر الگوهای مرسوم ریاضی بازطراحی مفهومی مهندسی نرم‌افزار و سیستم‌سازی مبتنی بر مشی پایگاهی است که بسیار با ماهیت پایگاهی علوم داده‌ها یا تحلیل داده‌ها یا واحدهای BI سازمان‌ها قرابت دارد از این رو توضیح سیستم را پایگاهی و مبتنی بر جداول و فیلدهای مندرج در DBMS ساخته و نزدیک به استک ارزش‌افزوده تجاری بین‌المللی می‌شود. BI و علوم داده‌ها ارزشمندترین مناصب و مشاغل کارشناسی در فناوری‌اطلاعات محسوب می‌شوند و بیشترین حقوق‌ها را در بازار جهانی به خود اختصاص می‌دهند.

باید مهندسی صنایع با دو مفهوم کلی آشنا شود:

  • تاپل: که یک ROW در جدول است
  • رخداد یا Event در طراحی فرم‌های سامانه‌های نرم‌افزاری

یک متغیر مفهومی با عنوان BEAN قابل طرح است که قرار است حد واسط طراحی Workflow اداری با تاپل‌های پایگاه‌داده‌ها و رخداد موجود در فرم‌های نرم‌افزاری باشد. قرار است مهندسی صنایع با توصیف BEAN که می‌تواند ساخت‌یافته و مبتنی بر پرسشنامه‌های فناورانه باشد در طراحی نرم‌افزار دخیل شود و معمار نرم‌افزار کمتر به گردش‌کارهای موجود در زیست‌بوم‌های کسب‌وکار بپردازد تا محیط کار با نگاه شیءگرا آلوده نشده و ضمنا معمار نرم‌افزار بتواند با فراغ بال به تحقیق و توسعه بهتر جهت زیرساخت فناورانه‌ی سامانه خویش اعم از نرم‌افزاری و سخت‌افزاری مشغول گردد.

هر BEAN اگر به صورت Fine-Grained نگاه شود قرار است OWNER رخدادها یا Eventهایی باشد که قرار است از یک وضعیت موجود در Workflow به وضعیت دیگر رفته و باعث پیشبرد گردش‌کارهای مرسوم اداری شود. مهندس نرم‌افزار از تحلیل صنعت و بازار کار و کسب‌وکار تجارت سردرنمی‌آورد و مهندس صنایع فهمی از پایگاه داده‌ها و طراحی Event-Driven برنامه‌های GUIمحور یا گرافیکی ندارد. با طرح BEAN و تعیین TYPE که می‌تواند عملیاتی یا داده‌ای یا فرمی یا ... باشد در واقع BEAN محور شناسایی و شناخت سیستم نرم‌افزاری قرار گرفته و مورد بحث بین‌ساحتی مهندسین صنایع و متخصصین معماری نرم‌افزار و مهندسی نرم‌افزار قرار می‌گیرد ضمنا با طراحی مهندسی نرم‌افزار پیشرفته‌ی جاوا نیز هم‌خوانی کامل دارد.

اشیایی که ستون فقرات برنامه شما را تشکیل داده و توسط Spring IOC Container مدیریت می‌شوند، Beans نامیده می‌شوند. یک Bean شیئی است که توسط یک Spring IOC Container معرفی، ایجاد و اجرا می‌شود. این Beanها توسط اطلاعات پیکربندی (configuration metadata) که برای یک Container فراهم شده برای مثال توسط یک فایل XML با تگ ( ) ایجاد می‌شوند .

تعاریف لازم جهت یک Bean یا Bean Definition، اطلاعاتی هستند که به آنها اطلاعات پیکربندی configuration metadata گفته و به Container موارد زیر را توضیح می‌دهند :

  • چگونگی ایجاد یک Bean
  • جزئیات مربوط به چرخه حیات یک Bean ( از ایجاد تا انهدام )
  • جزئیات مرتبط با Bean یا dependencies Bean`s

کلیه اطلاعات فوق در قالب مجموعه‌ای از خواص خلاصه شده که هر Bean را تعریف و ایجاد می‌نماید که به شرح ذیل است:

کلاس یا Class: این خاصیت ضرروری بوده و کلاسی که بر مبنای آن Bean بایستی ساخته شود را مشخص می‌سازد.

نام یا Name: این خاصیت یک نام منحصر به فرد (شناسه) جهت شناسایی Bean در سطح برنامه تعریف می‌کند. در اطلاعات پیکربندی مبتنی بر XML می‌توان از خاصیت name یا id جهت تعیین شناسه منحصر به فرد برای Bean استفاده نمود.

Scape

این خاصیت محدوده عملیات و سطح دسترسی را جهت یک Bean تعیین می‌کند.

Constructor_arg

از این خاصیت برای تعیین وابستگی‌های یک Bean استفاده شده است.

Properties

این خاصیت نیز برای تعیین وابستگی‌های یک Bean به کار رفته است.

antowriting mode

از این خاصیت نیز برای تزریق وابستگی‌ها به یک Bean استفاده شده است.

Lazy_initialization mode

روش Lazy_initialized به IOC Container میگوید تا نسخه ای از هر bean را در هنگامی که برای اولین بار درخواست می شود بسازد و نه درهنگام شروع و اجرای برنامه .

Initialization method

این خاصیت یک متد Call back است که بلافاصله پس از این‌که Container کلیه‌ی خواص مربوط به یک Bean را تنظیم کرد ، فراخوانی و اجرا می‌شود. به عبارت دیگر رویدادی است که پس از ساخته شدن یک Bean رخ می‌دهد.

Destruction method

این خاصیت نیز یک متد Call back است که پس از نابود شدن Containerای که Bean مورد نظر را تولید کرده، فراخوانی و اجرا می‌شود. به عبارت دیگر رویدادی است که پس از نابود شدن یک Bean رخ می‌دهد.

متغیر مفهومی BEAN توسط مهندسین صنایع تحلیل و تشریح می‌شود و با تبعیت از الگوی ریاضی الگوریتم و اتصال به ماتریس جدول‌محور توسط مشی‌پایگاهی اسلوبی مبتنی بر علوم پایه پیدا می‌کند.
مهندسی صنایععلوم پایهمهندسی نرم‌افزارbeanطراحی شی گرا
سیدابوالفضل موسوی
شاید از این پست‌ها خوشتان بیاید