اربیتال


روش هاي سنتي توليد نرم افزار و مشکلاتش

در روشهاي سنتي توليد نرم افزار غالبا کليه نيازمنديها، فرآيند توليد، تکنولوژيهاي مورد استفاده و مواردي اين چنين به ازاي هر نرم افزار جديد بررسي ميشود و نرم افزار از ابتدا پياده سازي ميشود. اين روش هزينه، زمان و انرژي زيادي را نيازمند ميباشد. ميدانيم که با توجه به ذات محصولات نرم افزاري اصولا موارد زيادي در فرآيند توليد و اجزاي مختلف نرم افزارهاي توليد مشترک ميباشند. تکيه به اشتراکات، اصل اساسي در خطوط توليد ميباشد.

آينده نگري به جاي انتظار براي فرصتها
خطوط توليد به جاي انتظار براي فرصت استفاده مجدد از اجزاي پيش ساخته، با آينده نگري و شناخت دامنه از ابتدا ميکوشند با رعايت اصولي ثابت و استقرار مناسب و معماري بهينه و خاص دامنه ، فرآيند توليد را بگونه اي هدايت کنند که بتوان با همساز کردن سرويس هاي موجود و توليد شده، خروجي ها و محصولات آتي را سريعتر توليد کرد.

خط توليد نرم افزار چيست؟

خطوط توليد نرم افزار سازه هاي مهندسي هستند براي توليد نرم افزار با استفاده از مجموعه اي از دارائي هاي نرم افزاري . دارائي نرم افزاري، سيستم يا زير سيستمي نرم افزاري است که به خوبي معماري و توليد شده تا در يک خط توليد مناسب بتوان به راحتي تعدادي از آنها را با هم يکپارچه کرد. دارائي هاي نرم افزاري را ميتوان طوري تنظيم کرد که رفتار جديدي داشته باشند و نحوه ي ارتباطشان با اجزاي ديگر تغيير کند. دارائي هاي نرم افزاري سازمان به عنوان ورودي هاي خط توليد ميتوانند گوناگون باشند، از طرف ديگر رفتار و ارتباطات تمامي اين سرويسها نيز قابل تنظيم است لذا محصولات خروجي خط توليد ميتوانند بسيار متفاوت باشند. ايده ي توليد نرم افزار در يک خط توليد از چند دهه ي گذشته وجود داشته اما موفقيت در اين زمينه چشمگير نبوده است. پيشرفت هاي اخير در حوزه مهندسي نرم افزار و خصوصا راهکارهاي "توليد مبتني بر مدل " نشان داده است که خطوط توليد نرم افزار در صورت تمرکز روي دامنه هاي خاص، پياده سازي بهينه و بکارگيري راهکارها و سرمشق هاي مناسب با صرفه جوئي در هزينه و زمان ميتواند وجه تمايز قابل توجهي در عرصه ي توليد و صنعت نرم افزار باشند.



orbitall00-aspx.jpg

سازمان دروني اربيتال
اربيتال ميکوشد با استقرار بستري مناسب دغدغه هاي فني و وابسته به تکنولوژي را که در روشهاي سنتي توليد نرم افزار قسمت اعظم فرآيند توليد و هزينه ها را به خود اختصاص ميدهند، کاهش دهد و تمرکز اصلي را به سمت شناخت و مدلسازي بهينه متمرکز بر دامنه سوق دهد. به عبارت ديگر اربيتال راه حل جامعي است که مبتني بر دامنه ميباشد . اجزاي کلان اربيتال به شرح زير ميباشد:

  • Orbit@ll Workbench

استقرار و پذيرش خط توليد نرم افزار در سازمانهاي بزرگ فرآيندي بسيار حساس، پيچيده و گاه زمان بر است. وجود ابزارهايي که فرآيند توليد و مديريت اربيتال را براي متخصصين سازمانها تسهيل نمايند از جمله مواردي است که ميتواند اين فرآيند پذيرش سازماني و تغيير ديدگاه سنتي را سرعت ببخشد و حتي به تجربه اي خوشايند تبديل نمايد. Orbit@ll Workbench مجموعه اي از ابزار مجتمع و قابل گسترش بر روي پلاتفرم Eclipse ميباشد که امکانات لازم براي بهره برداري از خط توليد اربيتال را فراهم ميسازد. جايگاه ويژه Eclipse به عنوان يک پلاتفرم مستقل و پذيرفته شده توسط بسياري از سازمانها و توليد کنندگان نرم افزار به مزيت عمده Orbit@ll Workbench نيز بدل گشته و در نتيجه Orbit@ll Workbench را به محصولي قدرتمند و در عين حال داراي قابليت گسترش توسط خود سازمان و ديگر توليدکنندگان نرم افزار تبديل کرده است.

  • Domain Specific Reference Architecture

معماري مرجع، راه حلي آزموده شده در دامنه هاي خاص (مانند خودروسازي، بانک، بيمه) ميباشد که موجب کاهش هزينه و زمان لازم براي انتخاب، چيدمان و ارزيابي راه حل فني در توليد نرم افزار ميشود. انتخاب معماري مرجع نقطه آغاز فرآيند توليد و در واقع ترسيم کلان تصوير لازم براي درک و مدلسازي ارتباطات اجزاي دامنه در فازهاي بعدي ميباشد. پس از استقرار اربيتال در سازمان براساس نيازمنديها و ضروريات دامنه، معماري مرجع با هدايت کارشناسان سازمان و توسط ابزار Orbit@ll Workbench انتخاب و بومي سازي ميشود. خروجي اين فرآيند "معماري راه حل " براي سازمان ميباشد:

2-(1)-aspx.gif

مزاياي پشتيباني از معماري مرجع خاص دامنه توسط اربيتال به شرح زير ميباشد:


  • استانداردهاي پذيرفته شده جهاني : معماري هاي مرجع راه حل هايي جامع و بهينه براي حل مسائل تکرار شونده هستند که با هدايت و مشارکت متخصصين دامنه تهيه و استاندارد شده و توسط سازمان هاي اربيتالي بومي سازي ميشوند. براي مثال در حوزه خودروسازي، معماري مرجعي به نام AUTOSAR با مشارکت متخصصيني از PSA Peugeot Citroën، Toyota Motor Corporation، Volkswagen، BMW Group،Ford Motor Company، General Motors، Opel، automotive suppliers Bosch، Continental و Siemens VDO تهيه و استانداردسازي شده است. معماري مرجع AUTOSAR توسط خط توليد اربيتال پياده سازي شده و پس از راه اندازي اربيتال براي دامنه خودروسازي گسترش يافته و بومي سازي ميگردد.
 
  • توصيفي : انتخاب و بومي سازي معماري مرجع به عنوان اساس " معماري راه حل" حاصل تلاش جمعي متخصصين دامنه و تيم فني بهره بردار اربيتال ميباشد. مزيت عمده اربيتال در مقايسه با روشهاي سنتي انتخاب معماري راه حل، فراهم کردن مجموعه اي از ابزارهاي توصيفي در Orbit@ll Workbench و توليد معماري راه حل بر اين اساس ميباشد. به بيان ديگر تيم بهره بردار خط توليد نقاط گسترش و بومي سازي معماري مرجع را توسط Orbit@ll Workbench توصيف ميکنند و دانش چگونگي تبديل اين توصيفات به معماري راه حل تماما توسط اربيتال و به صورت اتوماتيک فراهم ميشود.
 
  • قابليت کنترل و نظارت : با توجه به اينکه معماري راه حل در طول زمان توسط اعمال نظرات کارشناسان سازمان تغيير يافته و شکل ميگيرد، اربيتال امکان نسخه سازي روي معماري راه حل انتخابي را فراهم ميسازد. همچنين انتقال از يک معماري به معماري هاي ديگر تحت نظارت و کنترل مديريت خط توليد امکان پذير ميباشد.
    (Domain Specific Languages (DSL
از آنجا که اربيتال يک خط توليد مبتني بر دامنه ميباشد براي دامنه هاي مختلف، زبانهاي خاص دامنه پيشنهاد ميکند تا بخش هاي مختلف محصولات با اين زبانها توصيف و نرم افزار براساس اين توصيف توليد شود. اين زبانها برخلاف زبانهاي برنامه نويسي که هدفي عام دارند به صورت خاص منظوره براي توصيف بخش مشخصي از يک دامنه ميباشند. متعاقبا دايره ي لغات اين زبانها شامل کلمات کليدي آن حوزه و فاقد لغات فني برنامه نويسي ميباشد. در نتيجه کارشناسان سازمان با بررسي توصيفاتي که با اين زبان بيان شده است به راحتي ميتوانند با بيان نظرات خود در توليد نرم افزار با تيم فني اربيتال مشارکت داشته باشند.

  • (Orbit@ll Human Service Repository (HSR

خط توليد اربيتال از ابتدا با تمرکز روي معماري سرويس گرا (SOA)تلاش کرده است محصولاتي با وابستگي کم و قابليت يکپارچگي بالا توليد نمايد. در اين راستا يکي از مهمترين اجزاي خط توليد اربيتال، Orbit@ll HSR است که انباره اي غني از سرويسهاي فني و تجاري با قابليت استفاده مجدد بالا ميباشد. استفاده و بهنگام سازي سرويسهاي Orbit@ll HSR از طريق متخصصين سازمان و در چارچوب يک طرح توليد مشخص و بصورت کنترل شده صورت ميگيرد، هرچند مشخصات، نسخه هاي مختلف و توسعه هاي جانبي سرويسها توسط تمامي بهره برداران خط توليد در داخل سازمان از طريق واسطي مشابه wiki قابل پيگيري و مشاهده ميباشد. Orbit@ll HSR به عنوان انباره دارائي هاي نرم افزاري سازمان، با ثبت مشخصات استفاده کنندگان از سرويسها، تغييرات آتي، رفع خطاها و بهنگام سازي ها را مستقيما در سيستم هاي استفاده کننده از سرويس (بصورت push) اعمال ميکند. Orbit@ll HSR خود شامل دو انباره عمده ميباشد:

  • Technical Core Assets & Services
    • Orbit@ll BPMS
    • Citadel
    • ACE2
    • Orbit@ll Reports
  • Business Core Assets & Services
    • Organization Resource allocation
    • Scheduling & Organizational calendar
    • Registration
    • Loan processing
    • ...
orbitall03-aspx.gif

مهندسي فرآيند خط توليد نرم افزار از ديدگاه اربيتال

اربيتال خط توليد نرم افزار با راهکار مبتني بر دامنه (DDD) است. طراحي مبتني بر دامنه براي حوزه هايي که داراي پيچيدگي ذاتي (پيچيدگي افقي و عمودي) هستند راهکار بسيار مناسبي ميباشد. اربيتال با درک تفاوت دامنه هاي مختلف به جاي ارائه يک راه حل جامع و ثابت براي تمامي حوزه ها، ويژگي هاي متفاوتي را در هر دامنه در اختيار سازمانها قرار ميدهد. اربيتال دو اصل اساسي زير را در هنگام استقرار در سازمانها مورد توجه قرار ميدهد:

  • تمرکز اصلي سازمان در توليد نرم افزار بايد بر روي دامنه و پيچيدگي و ابهامات آن باشد و نه غلبه بر موانع و مشکلات صرفا فني.
  • دامنه هاي پيچيده بايد ابتدا مدلسازي شده، مدل توسط سازمان و کارشناسان آن تاييد گشته و تنها پس از تاييد، نرم افزار در خط توليد مونتاژ شود.
    فرآيند مهندسي خط توليد سه مرحله ي مشخص دارد:
    • تحليل دامنه
    • طراحي دامنه
    • پياده سازي دامنه

orbitall04-aspx.gif

با برقراري رابطه ي دو طرفه بين مراحل مختلف فرآيند مهندسي خط توليد نرم افزار، امکان توليد تدريجي و پاسخ سريع به تغيير نيازمندي ها فراهم ميگردد.
تحليل دامنه در سازمانهاي اربيتالي شامل فعاليتهاي عمده زير ميباشد:

  • تحليل مشابهت ها و اشتراکات دامنه
  • تحليل وجوه تمايز دامنه
  • محدودسازي دامنه
  • ساختاربندي دامنه


طراحي دامنه در سازمانهاي اربيتالي شامل فعاليتهاي عمده زير ميباشد:

  • انتخاب و توسعه معماري مرجع
  • تهيه طرح توليد
  • شناسايي و تامين سرويس هاي پايه


پياده سازي دامنه در سازمانهاي اربيتالي شامل فعاليتهاي عمده زير ميباشد:

  • توسعه و بومي سازي سرويس
  • همساز کردن سرويس ها
  • توصيف براساس زبانهاي خاص دامنه اربيتال و توليد براساس اين توصيف

متدولوژي بذرافشاني : استقرار اربيتال در سازمانها

متدولوژي بذر افشاني به عنوان متدولوژي استقرار اربيتال در سازمانها ايده هاي اصلي خود را از روشهاي توليد چالاک گرفته است . روشهاي توليد چالاک در صنايع مختلف از جمله صنعت اتومبيل آزموده شده و نمونه ي موفق خط توليد صنعتي و چالاک در مجموعه Toyota مشاهده ميشود. هدف اصلي متدولوژي بذرافشاني حذف يا كم كردن فعاليتهايي است كه از ديد مشتري داراي بازدهي تجاري مستقيم نيستند. مزاياي متدولوژي بذرافشاني براي پرسنل سازمان اربيتالي عبارتند از :

  • بكارگيري چرخه دانش، تجربيات سازماني و مديريت دانش
  • هدايت توليد و بومي سازي انبوه محصولات در چرخه هاي هم افزا
  • متمركز شدن توليد بر روي استخراج فرآيندهاي دامنه اي و بهينه سازي آنها
  • كاهش هزينه هاي آموزش در سطح سازمان
  • بهبود ضمني معماري سازماني


  orbitall05-aspx.gif


اربيتال و دارائي هاي نرم افزاري موجود سازمانها

پيش نياز لازم جهت ترکيب و ساختاربندي دارائي هاي نرم افزاري در بستر اربيتال، استانداردها و روش هائي واحد است که اربيتال در طول فرآيند توليد از آن پيروي ميکند از همين رو دارائي هاي نرم افزاري سازمانها مشروط بر اينكه مبتني بر اين اصول باشند ميتوانند توسط Orbit@ll HSR در خط توليد بکارگرفته شوند و جزء دارايي هاي پايه ي اربيتال بشمار روند. انطباق با OSGi به عنوان پلاتفرم و مجموعه اي از استاندارد ها، روش ها و قراردادها، فصل مشترک و شرط لازم براي ثبت يک سرويس در Orbit@ll HSR ميباشد. دارائي هاي نرم افزاري موجود سازمانها نيز با پايبندي به اين اشتراکات ميتوانند در بين دارائي هاي اربيتال جاي بگيرند.


orbitall06-aspx.jpg


فرآيند تامين سرويس در اربيتال

در روش طراحي مبتني بر دامنه (DDD) حوزه استقرار خط توليد اربيتال به لحاظ اولويت هاي تجاري و سازماني به بخش هاي زير تقسيم ميشود:

  • دامنه اصلي (Core Domain) : اين بخش از دامنه مهمترين و حساس ترين نيازمندي هاي سازمان را شامل ميشود و دربرگيرنده اولويتهاي اساسي سازمان مطابق با چشم انداز بلند مدت آن مجموعه ميباشد. نرم افزارهاي لازم براي پياده سازي دامنه اصلي تماما در خط توليد اربيتال و با بکارگيري دانش سازماني و نظارت مديريت سازمان تهيه ميشود. حساسيت موارد کاربردي در دامنه اصلي به گونه اي است که پياده سازي آنها را نميتوان به سازمانها و شرکتهاي خارج از سازمان محول و يا برون سپاري کرد.
  • دامنه پشتيباني کننده(Supporting Domain): نرم افزارهاي توليد شده براي دامنه پشتيباني کننده ارتباط مستقيم با ماموريت سازمان و يا کسب و کار آن ندارند اما وجود آنها براي کاربردي شدن نيازمندي هاي دامنه اصلي ضروري ميباشد. اين نرم افزارها را ميتوان توسط خط توليد اربيتال در داخل سازمان توليد و يا توليد آنها را به مجموعه هاي خارج سازماني سفارش داد.
  • زير دامنه عام (Generic sub-Domain): نرم افزارهاي زير دامنه عام همان طور که از نام آن پيداست خاص يک سازمان نميباشند و لذا ميتوان چنين سرويس هايي را خريداري نموده و يا توليد آن ها را به مجموعه هاي خارج سازمان برون سپاري کرد. بديهي است يکپارچه سازي نرم افزارهاي فوق با محصولات توليد شده براي دامنه اصلي و پشتيباني کننده در نهايت توسط خط توليد اربيتال انجام خواهد شد.

فرآيند تامين سرويس درخط توليد اربيتال مطابق شکل زير ميباشد:

orbitall07-aspx.gif



ويژگي هاي متمايز کننده اربيتال

  • زبانهاي خاص دامنه از پيش تعريف شده و قابل بسط در اربيتال:
    • زبان توصيف نيازمندي ها مطابق با راهکار BDD
    • زبان مدلسازي دامنه مطابق با روش DDD
    • زبان توصيف ويژگي هاي امنيتي و کنترل دسترسي (يکپارچه با Citadel)
    • زبان توصيف قواعد تجاري (يکپارچه با ACE2)
    • زبان مدلسازي و اجراي فرآيندهاي تجاري (يکپارچه با Orbit@ll BPMS)

  • توليد کد با کيفيت بالا مطابق با انتخاب معماري مرجع:
    از آنجا که معماري مرجع مجموعه اي از پياده سازي تکنولوژي هاي مختلف در کنار هم براساس بهترين نمونه هاي عملي موجود ميباشد، لذا کنترل کيفي کدها يکبار در مرحله ايجاد معماري راه حل توسط توسعه دهندگان اربيتال و بار دوم براساس معيارهاي انتخابي کاربران در Orbit@ll Workbench انجام ميشود.
    کنترل کيفيت نرم افزار در سطوح مختلف توسط Orbit@ll Workbench براي راهبران خط توليد و مديريت سازمان به صورت پيوسته و توسط شاخص هاي زير قابل انجام است:
    • Test code coverage
    • Bug patterns
    • Cohesion
    • Coupling
    • ...
  • تعريف وجوه مختلف امنيت با استفاده از روش مبتني بر wizard (سيتادل):
    معمولا مسائل امنيتي بخش مهمي از يک سيستم نرم افزاري را تشکيل ميدهند و به لحاظ پيچيدگي در لايه هاي مختلف پياده سازي شده و اعمال آن هزينه زيادي را براي سازمانها در بر دارد. سيتادل، سرويس کنترل دسترسي هاي اربيتال است که در Orbit@ll HSR به عنوان يک دارائي نرم افزاري پايه ارائه ميشود و با استفاده از روش wizard-based با نرم افزار توليدي يکپارچه ميگردد.
  • تعريف قوانين تجاري با استفاده از يک زبان سطح بالا (ACE2):
    ACE2 نسل دوم "موتور محاسبه مشخصه " که به عنوان يک سرويس در Orbit@ll HSR موجود ميباشد به کاربر اين امکان را ميدهد که با يک زبان خاص دامنه و سطح بالا، قوانين تجاري دامنه را تعريف و به صورت پويا بروزرساني کند.
  • توصيف فرآيندهاي سازماني و تجاري (Orbit@ll BPMS):
    توصيف فرآيندهاي تجاري و بروزرساني آنها از طريق زبان گرافيکي و سطح بالايي در Orbit@ll Workbench و منطبق با استانداردهاي BPMN ،BPEL و jPDL صورت ميگيرد. نتيجه اين توصيف توسط سرويس Orbit@ll BPMS در زمان اجرا تفسير ميشود.



اربيتال در آينده

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

دسترسی آسان

خبرنامه ماهانه