بخش دهم آشنایی با CASE ابزارهای تولید نرمافزار به کمک کامپیوتر1- مقدمه
با توجه به رشد روزافزون سیستمهای مبتنی بر کامپیوتر، تنوع و گستردگی مسائل در حوزه کامپیوتر نیز به سرعت رشد کرده است. به عبارت دیگر افزایش نیازهای کاربران باعث شده است تا حوزه استفاده از کامپیوتر به سیستمهای بزرگ و پیچیده گسترش یابد. بنابراین تحلیل، طراحی و پیادهسازی اینگونه سیستمهای بزرگ و پیچیده بدون استفاده از ابزار مناسب کار بسیار مشگل و همراه با خطا و وجود ناسازگاری در سیستم است. کمبود نیروی انسانی متخصص کامپیوتر، هزینههای سنگین آنالیز نیازها، طراحی مشخصات سیستم، پیادهسازی، آزمایش و نگهداری نرمافزار از عمده عواملی هستند که همواره متخصصین را به ساخت ابزارهایی جهت پر کردن خلاء نیروی انسانی متخصص و کاستن هزینهها، تشویق و ترغیب نمودهاند. البته استفاده از ابزارهای CASE ( ) به هیچ وجه به معنی حذف خلاقیتهای فردی انسان در طراحی نرمافزار نیست بلکه این ابزارها تنها کارهای تکراری را حذف کرده و از خطاهای ناخواسته و ناسازگاریها در سیستم جلوگیری مینمایند.
بطور کلی مهمترین اهداف استفاده از ابزارهای(CASE: Computer Aided Software Engineering)عبارتند از :
• تقلیل نیاز به متخصص کامپیوتر
حضور متخصصین کامپیوتر در تمامی مراحل چرخه حیات سیستم لازم و ضروری میباشد. بدلیل کمبود نیروهای متخصص میبایست از ابزارهایی استفاده شود که این نیاز را به حداقل برساند.
• تقلیل زمان
یکی از مؤلفههای مهم ساخت نرمافزار، زمان است، لذا میتوان با استفاده از ابزارهای CASE مدت زمان ساخت سیستم را کاهش داد.
• تقلیل هزینه
بر اثر بکارگیری ابزارهای CASE ، نیاز به نیروی انسانی متخصص و زمان صرف شده برای انجام کارهای تکراری کاهش مییابد و منجر به کاهش هزینههای ساخت و توسعه نرمافزار میشود.
• ایجاد هماهنگی بین اعضاء تیم پروژه
بروز ناهماهنگی بین اعضاء تیم پروژه باعث کندی کار و بروز اشتباهات فراوان خواهد شد و با استفاده از ابزارهای مناسب میبایست اعضاء تیم را ملزم به پیروی از یک متدلوژی خاص نمود.
• تقلیل اشتباهات و خطاها (ارتقاء کیفیت)
جبران اشتباهات و خطاها در هر یک از مراحل چرخه حیات سیستم باعث صرف زمان و هزینه زیادی میگردد. یکی از مهمترین دلایل استفاده از ابزار CASE رفع خطا و جلوگیری از بروز ناسازگاری در سیستم میباشد.
عموماً سیستمهای CASE را به سه دسته اصلی زیر تقسیم میکنند.
الف- ابزارها (Tools)
این ابزارهای کمکی بصورت انفرادی وظایفی از پروسه تولید نرمافزار مانند کنترل سازگاری یک طراحی، ترجمه برنامه، یا مقایسه نتایج آزمون و غیره را مستقل از یکدیگر پشتیبانی میکنند. ابزارها ممکن است همه منظوره باشند یا فقط برای یک وظیفه مشخص بوجود آمده باشند.
ب- Workbenches
این سیستمهای کمکی، فازها یا فعالیتهایی از پروسه تولید نرمافزار مانند تحلیل نیازها و خواستهها، طراحی، و یا آزمون نرمافزار را پشتیبانی میکنند. بصورت معمول این سیستمها مجموعهای از "ابزارها " هستند که بعضا با یک درجه کم یا زیاد با یکدیگر مجتمع شدهاند.
ج - Environments
این نوع سیستمها، تمام یا بخش عمدهای از پروسه تولید نرمافزار را پشتیبانی میکنند. آنها معمولاً شامل چند نوع Workbench مختلف هستند که به طریقهای با یکدیگر مجتمع شدهاند.
با تشکر فراوان از :http://www.developercenter.ir/Forum/showthread.php?t=2136