1- مقدمه
با توجه به رشد روزافزون سيستمهاي مبتني بر كامپيوتر، تنوع و گستردگي مسائل در حوزه كامپيوتر نيز به سرعت رشد كرده است. به عبارت ديگر افزايش نيازهاي كاربران باعث شده است تا حوزه استفاده از كامپيوتر به سيستمهاي بزرگ و پيچيده گسترش يابد. بنابراين تحليل، طراحي و پيادهسازي اينگونه سيستمهاي بزرگ و پيچيده بدون استفاده از ابزار مناسب كار بسيار مشگل و همراه با خطا و وجود ناسازگاري در سيستم است. كمبود نيروي انساني متخصص كامپيوتر، هزينههاي سنگين آناليز نيازها، طراحي مشخصات سيستم، پيادهسازي، آزمايش و نگهداري نرمافزار از عمده عواملي هستند كه همواره متخصصين را به ساخت ابزارهايي جهت پر كردن خلاء نيروي انساني متخصص و كاستن هزينهها، تشويق و ترغيب نمودهاند. البته استفاده از ابزارهاي CASE ( ) به هيچ وجه به معني حذف خلاقيتهاي فردي انسان در طراحي نرمافزار نيست بلكه اين ابزارها تنها كارهاي تكراري را حذف كرده و از خطاهاي ناخواسته و ناسازگاريها در سيستم جلوگيري مينمايند.
بطور كلي مهمترين اهداف استفاده از ابزارهاي(CASE: Computer Aided Software Engineering)عبارتند از :
• تقليل نياز به متخصص كامپيوتر
حضور متخصصين كامپيوتر در تمامي مراحل چرخه حيات سيستم لازم و ضروري ميباشد. بدليل كمبود نيروهاي متخصص ميبايست از ابزارهايي استفاده شود كه اين نياز را به حداقل برساند.
• تقليل زمان
يكي از مؤلفههاي مهم ساخت نرمافزار، زمان است، لذا ميتوان با استفاده از ابزارهاي CASE مدت زمان ساخت سيستم را كاهش داد.
• تقليل هزينه
بر اثر بكارگيري ابزارهاي CASE ، نياز به نيروي انساني متخصص و زمان صرف شده براي انجام كارهاي تكراري كاهش مييابد و منجر به كاهش هزينههاي ساخت و توسعه نرمافزار ميشود.
• ايجاد هماهنگي بين اعضاء تيم پروژه
بروز ناهماهنگي بين اعضاء تيم پروژه باعث كندي كار و بروز اشتباهات فراوان خواهد شد و با استفاده از ابزارهاي مناسب ميبايست اعضاء تيم را ملزم به پيروي از يك متدلوژي خاص نمود.
• تقليل اشتباهات و خطاها (ارتقاء كيفيت)
جبران اشتباهات و خطاها در هر يك از مراحل چرخه حيات سيستم باعث صرف زمان و هزينه زيادي ميگردد. يكي از مهمترين دلايل استفاده از ابزار CASE رفع خطا و جلوگيري از بروز ناسازگاري در سيستم ميباشد.
عموماً سيستمهاي CASE را به سه دسته اصلي زير تقسيم ميكنند.
الف- ابزارها (Tools)
اين ابزارهاي كمكي بصورت انفرادي وظايفي از پروسه توليد نرمافزار مانند كنترل سازگاري يك طراحي، ترجمه برنامه، يا مقايسه نتايج آزمون و غيره را مستقل از يكديگر پشتيباني ميكنند. ابزارها ممكن است همه منظوره باشند يا فقط براي يك وظيفه مشخص بوجود آمده باشند.
ب- Workbenches
اين سيستمهاي كمكي، فازها يا فعاليتهايي از پروسه توليد نرمافزار مانند تحليل نيازها و خواستهها، طراحي، و يا آزمون نرمافزار را پشتيباني ميكنند. بصورت معمول اين سيستمها مجموعهاي از "ابزارها " هستند كه بعضا با يك درجه كم يا زياد با يكديگر مجتمع شدهاند.
ج - Environments
اين نوع سيستمها، تمام يا بخش عمدهاي از پروسه توليد نرمافزار را پشتيباني ميكنند. آنها معمولاً شامل چند نوع Workbench مختلف هستند كه به طريقهاي با يكديگر مجتمع شدهاند.
با توجه به رشد روزافزون سيستمهاي مبتني بر كامپيوتر، تنوع و گستردگي مسائل در حوزه كامپيوتر نيز به سرعت رشد كرده است. به عبارت ديگر افزايش نيازهاي كاربران باعث شده است تا حوزه استفاده از كامپيوتر به سيستمهاي بزرگ و پيچيده گسترش يابد. بنابراين تحليل، طراحي و پيادهسازي اينگونه سيستمهاي بزرگ و پيچيده بدون استفاده از ابزار مناسب كار بسيار مشگل و همراه با خطا و وجود ناسازگاري در سيستم است. كمبود نيروي انساني متخصص كامپيوتر، هزينههاي سنگين آناليز نيازها، طراحي مشخصات سيستم، پيادهسازي، آزمايش و نگهداري نرمافزار از عمده عواملي هستند كه همواره متخصصين را به ساخت ابزارهايي جهت پر كردن خلاء نيروي انساني متخصص و كاستن هزينهها، تشويق و ترغيب نمودهاند. البته استفاده از ابزارهاي CASE ( ) به هيچ وجه به معني حذف خلاقيتهاي فردي انسان در طراحي نرمافزار نيست بلكه اين ابزارها تنها كارهاي تكراري را حذف كرده و از خطاهاي ناخواسته و ناسازگاريها در سيستم جلوگيري مينمايند.
بطور كلي مهمترين اهداف استفاده از ابزارهاي(CASE: Computer Aided Software Engineering)عبارتند از :
• تقليل نياز به متخصص كامپيوتر
حضور متخصصين كامپيوتر در تمامي مراحل چرخه حيات سيستم لازم و ضروري ميباشد. بدليل كمبود نيروهاي متخصص ميبايست از ابزارهايي استفاده شود كه اين نياز را به حداقل برساند.
• تقليل زمان
يكي از مؤلفههاي مهم ساخت نرمافزار، زمان است، لذا ميتوان با استفاده از ابزارهاي CASE مدت زمان ساخت سيستم را كاهش داد.
• تقليل هزينه
بر اثر بكارگيري ابزارهاي CASE ، نياز به نيروي انساني متخصص و زمان صرف شده براي انجام كارهاي تكراري كاهش مييابد و منجر به كاهش هزينههاي ساخت و توسعه نرمافزار ميشود.
• ايجاد هماهنگي بين اعضاء تيم پروژه
بروز ناهماهنگي بين اعضاء تيم پروژه باعث كندي كار و بروز اشتباهات فراوان خواهد شد و با استفاده از ابزارهاي مناسب ميبايست اعضاء تيم را ملزم به پيروي از يك متدلوژي خاص نمود.
• تقليل اشتباهات و خطاها (ارتقاء كيفيت)
جبران اشتباهات و خطاها در هر يك از مراحل چرخه حيات سيستم باعث صرف زمان و هزينه زيادي ميگردد. يكي از مهمترين دلايل استفاده از ابزار CASE رفع خطا و جلوگيري از بروز ناسازگاري در سيستم ميباشد.
عموماً سيستمهاي CASE را به سه دسته اصلي زير تقسيم ميكنند.
الف- ابزارها (Tools)
اين ابزارهاي كمكي بصورت انفرادي وظايفي از پروسه توليد نرمافزار مانند كنترل سازگاري يك طراحي، ترجمه برنامه، يا مقايسه نتايج آزمون و غيره را مستقل از يكديگر پشتيباني ميكنند. ابزارها ممكن است همه منظوره باشند يا فقط براي يك وظيفه مشخص بوجود آمده باشند.
ب- Workbenches
اين سيستمهاي كمكي، فازها يا فعاليتهايي از پروسه توليد نرمافزار مانند تحليل نيازها و خواستهها، طراحي، و يا آزمون نرمافزار را پشتيباني ميكنند. بصورت معمول اين سيستمها مجموعهاي از "ابزارها " هستند كه بعضا با يك درجه كم يا زياد با يكديگر مجتمع شدهاند.
ج - Environments
اين نوع سيستمها، تمام يا بخش عمدهاي از پروسه توليد نرمافزار را پشتيباني ميكنند. آنها معمولاً شامل چند نوع Workbench مختلف هستند كه به طريقهاي با يكديگر مجتمع شدهاند.