تولیدگر کد
WISE یک خط تولید نرم افزارهای سازمانی کامل است که امکانات متنوعی را فراهم مینماید. یکی از مهمترین و ملموسترین ابزارهای SPL تولیدگر کد (Code Generator) میباشد. اهمیت تولیدگر کد در خط تولید نرمافزار تا جایی است که برخی -به اشتباه- خط تولید نرم افزار را معادل تولیدگر کد میدانند.
وایز مجهز به چندین تولیدگر کد برای مقاطع مختلف میباشد. مهمترین هدف تولیدگر کد، کاهش کارهای تکراری است. حذف کارهای تکراری ضمن کاهش هزینه و زمان پروژه، موجب کاهش احتمال اشتباه نیروی انسانی (در نتیجه بهبود کیفیت محصول) و افزایش رضایت شغلی برنامه نویسان میشود.
مزایای استفاده از تولیدگر کد
- کاهش مخاطرات و افزایش قابلیت اطمینان: تولید کد از روی قالبهای اثبات شده ای که به وسیله کارشناسان خبره تولید شده و با پشتوانه تجربه چندین ساله بلوغ یافته است، زمینه بسیاری از مخاطرات را از بین میبرد.
- یک دست شدن ساختار پروژهها: وقتی تمام قسمتهای پروژه از روی قالبهای یکسان تولید شده و سپس بر پایه آنها توسعه یابد، بخشهای مختلف از نظر ساختاری یک دست و سازگار خواهند بود.
- افزایش قابلیت نگهداری: یکدست شدن ساختار پروژه، اشراف بیشتر هر برنامه نویس روی کل پروژه و افزایش قابلیت نگهداری را به دنبال دارد.
- کاهش زمان پروژه: با خودکاری سازی بخشهایی از تولید سیستم و استفاده مستقیم از دستاوردهای تحلیل برای پیاده سازی و حذف کارهای تکراری زمان مورد نیاز برای تولید محصول کاهش مییابد.
- کاهش هزینه پروژه: کنترل مخاطرات، کاهش زمان پروژه و خودکارسازی برخی از فعالیتها به معنی کاهش هزینههای پروژه میباشد.
تولیدگر پروژه
هر محصول نرم افزاری از یک یا چند مولفه تشکیل میشود. آماده سازی معماری و شالوده این مولفههای نرمافزاری مستلزم صرف زمان زیاد از برنامه نویسان خبره است. در WISE مولفههای نرمافزاری به چند تیپ تقسیم بندی شدهاند و برای هر تیپ یک قالب پروژه ایجاد شده است. معمار نرم افزار میتواند مولفههای خود را از روی این قالبها بسازد. در هر قالب پروژه موارد زیر پیش بینی شده است:
- ساختار دایرکتوری پروژه مبتنی بر استاندارد maven
- تعیین کتابخانههای مورد نیاز
- فایلهای پیکربندی مختلف به فراخور نوع پروژه (web.xml، فایلهای پیکربندی spring، تنظیمات log)
- اسکریپتهای build مبتنی بر ant و maven
- مکانیزمهای تست واحد
- پلاگین installer: برای نصب محصول در محیط عملیاتی
در وایز معمار نرم افزار میتواند با ترسیم یک UML Component Diagram و تعیین قالبهای دلخواه (با افزودن چند stereotype و tagged value روی component ها) اقدام به تولید مولفههای نرم افزاری محصول نماید. همچنین امکان سادهتری برای ایجاد یکی یکی مولفهها با اسکریپت وجود دارد.
تولیدگر کد عملیات CRUD
بخش مهمی از موارد کاربرد سیستمهای اطلاعاتی داده محور هستند یعنی عملیات نسبت سادهای حول یک موجودیت یا داده خاص انجام میدهند؛ عملیاتی همچون ایجاد، ویرایش، حذف و جستجوی رکوردهای داده که اصطلاحاً CRUD خوانده میشود.
وایز برای پیاده سازی سریع موارد کاربرد داده محور ابزار سریع و سادهای ارائه میکند. تحلیلگر یا طراح میتوانند مدل داده سیستم را در قالب UML Class Diagram طراحی کنند. سپس اطلاعاتی بیشتری در مورد موجودیتها و فیلدهای اطلاعاتی در قالب Stereotype و tagged value به مدل اضافه میشود. از این نمودار کلاس به طور مستقیم برای تولید کد تمام لایهها استفاده میشود. کدهایی که تولید میشوند بدون تغییر قابل بهره برداری هستند.
ویژگیهای تولیدگر کد عملیات CRUD:
- تولید کد تمام لایهها
- تولید فرمهای ورود اطلاعات
- تولید کد وب سرویس
- پشتیبانی از انواع روابط بین موجودیتها
- یک به چند، چند به یک، چند به چند
- توارث
- کل به جزء (Master/Detail)
- پشتیبانی از انواع صحت سنجی دادهها
- ایجاد و کنترل کدهای دسترسی برای هر موجودیت
نمونه ورودی تولیدگر کد عملیات CRUD
نمونه خروجی تولیدگر کد عملیات CRUD