wait لطفا صبر کنید
صفحه اصلی  » مقالات
1395/12/08
8001
386

ابزار CASE (مهندسی نرم افزار به کمک کامپیوتر)

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

خصوصیت

ابزار ساخت یافته قدیمی

ابزار شی گرا

مخزن مرکزی

X

غیر متمرکز

مخزن

پایگاه داده

فایل ساخت یافته

چندکاربره

پشتیبانی کامل

پشتیبانی محدود

مدل سازی لحظه ای (مدل سازی از snapshotهای داده ها)

X
(با پرکردن جداول راهنمایی می کند)

ساپورت محدود (بدون هیچ رهنمودی)

نقد طراحی

X
(خصوصیت استاندارد)

فقط به صورت آزمایشی در Argo-UML

ابزار نرمال سازی داده ها

X

ساپورت نمی شود

Impact Analysis

X
(در بیشتر سطوح)

هیچ کدام

تولید کد

X
(تمام کد)

X
(تنها کد بدنه)

مدل سازی حالت

X
(شبیه سازی ممکن است)

تنها در نسخه زمان حقیقی rational rose پشتیبانی می شود

مهندسی معکوس: مصورسازی معماری

X

محدود و یا در سطح معماری ساپورت نمی شود

 
 
مخزن: مخزن محلی است که تمام متادیتای ابزار case در آن ذخیره می گردد. در ابزار قدیمی، مخزن یک پایگاه داده مرکزی بوده است. استخراج متادیتا به راحتی با زبان sql (با کوئری دادن به پایگاه مرکزی) ممکن می گردد.
با معرفی xml به عنوان یک فرمت ذخیره در مخزن ابزار شی گرا، عملیات ذخیره دچار کاهش سرعت و کارایی شدند. یک مثال از سربار این فرمت، فرمت IBM Rational XDE XML می باشد که فضای مورد نیاز برای یک مدل خالی چیزی حدود 800 کیلو بایت می گردد.
تسهیل مدل سزای نمودارهای لحظه ای: بسیاری از ابزارهای شی گرا پشتیبانی خوبی از نمودارهای لحظه ای ندارند یک نمودار لحظه ای شی های زنده (live) را نمایش می دهد. که معمولا برای تشریح یک نمودار کلاس به افراد کمک کننده است. ابزار UML نمودار مجزایی برای این کار ندارد و یک دیاگرام شی می تواند توسط یک دیاگرام کلاس UML مدل گردد.
ابزار معمولا نمودار لحظه ای ندارند که بتوان به راحتی کلاس ها را در آن قرار دارده و تنها مقادیر شی ها را پر کرد.
تولید کد: در ابزار قدیمی تولید کد تنها به تولید کد بدنه محدود نبود و بسیاری از آنها زبانی برای بیان قوانین تجاری را داشتند که در مرحله تولید کد، قوانین را به زبان برنامه نویسی مورد نظر ترجمه کنند. بعضی معتقدند که در آینده همه چیز را می توان با UML به صورت تصویری مدل کرد. برخی نیز اصلا به مدل سازی تصویری اعتقادی به ندارند. واقعیت چیزی بین این دو خواهد بود.
به نظر نویسنده بعضی چیزها مثل قانونهای تجاری توسط یک زبان قانون خواناتر خواهد بود تا یک نمودار پیچیده یا یک زبان عملی مثل OCL.
مدل سازی حالت: ابزار uml از نمودارهای حالت پشتیبانی می کنند. تعداد ابزار کمی هستند که امکان شبیه سازی حالت ها و انتقال ها را فراهم می کنند. مثل rational rose real time. همچنین تقریبا هیچ کدام توانایی برسی درستی یک ماشین حالت محدود را ندارند. بررسی دستی ماشین های حالت پیچیده خیلی مشکل است و نیاز به ابزار کمکی دارند. این ابزار باید محدود بودن ماشین را نیز بررسی کنند و حالات و انتقالات مختلف را شبیه سازی کنند.
مصورسازی معماری: ابزار case باید وابستگی انباشته (cumulative dependency تصویری که نشان دهنده میزان پیچیدگی آن بخش است) هر بخش را نشان دهد. همچنین باید میزان انحراف از لایه را نیز نشان دهد.(انحراف از مشخصات هر لایه تعریف شده). خیلی از ابزار به شما تنها این امکان را می دهند که از کد شروع کنید در حالیکه یک معمار (یا یک طراح یا توسعه دهنده و ..) تمایل دارند تا یک تصویر کلی از کار را داشته باشند و اینکه ایا این تصویری با تصویر متداول منطبق است یا خیر؟ آیا اجازه داده می شود که به بخش های y , z دسترسی داشت یا این مخالف خصوصیت لایه ای است و حتی وابستگی های چرخه ای را معرفی کند. اگر بتوان معماری حقیقی (معماری ای که در حال حاضر دارد ساخته می شود) را با معماری طراحی شده اصلی مقایسه کرد و انحرافات معماری حقیقی از معماری طراحی شده را در شروع کار تشخیص داد می توان آن را در آغاز کار اصلاح کرد.
برای پروژه های کوچکتر می توان معماری را به صورت دستی تصویر کرد ولی برای پروژه های عظیم خیر.

تماس با ما

ایمـیل : I N F O @ D E P N A . C O M
 دفتر تهران : خیابان کارگر شمالی - بعد از مسجد النبی - خیابان ابراهیمی (17) - پلاک 140
تلفن:88019001-021
 دفتر قم : خیابان 45 متری صدوقی - 20 متری فجر - خیابان دانش - کوی 14 - پلاک 10
تلفن:32906868-025