چکیده:

ساخت نرمافزار در سالهای اخیر دستخوش تغییرات بسیاری بوده است که عمدهترین علت آن پیچیده شدن نرمافزارها است. از عمدهترین روش مهار پیچیدگی، پیمانه بندی است که سبب می شود مسئله به بخشهای کوچکتر تقسـیم گردیـده و درک مسئله آسان تر شود. شی ءگرایی و استفاده از اشیا روشی است که توانایی پیمانه بندی را افـزایش مـی دهـد و کمـک مـی کنـد پیمانه بندی در سطح مناسبی اعمال شود. اما شیءگرایی مشکلات خاص خود را دارد و همین مشکلات سـبب شـده اسـت تـا پس از سال ها و برای بهبود ساخت نرم افزار روشهای مبتنی بر جنبه مورد توجه قرار گیرند. در رویکرد ساخت نرمافزار، ساخت نرم افزار جنبه گرا یک دیسیپلین جدید مثل شی گرایی برای تجزیه وتحلیل و طراحی است که برای جلـوگیری از پیچیـدگی و پراکندگی خواسته ها در مراحل چرخه عمر نرم افزار دغدغه های تداخلی را شناسایی و در ماژول هایی به نام جنبه جدا مـیکنـد که این شناسایی اولیه هزینه و محدودیتهای زمانی پیادهسازی را کاهش میدهد. در این تحقیق دو تکنیک سـاخت نـرمافـزار شی گرا و ساخت نرمافزار جنبهگرا بررسی و مقایسه شده و درنهایت مزیتهای ساخت نرمافزار جنبهگرا بیان خواهد شد.

کلمات کلیدی: تکنیکهای ساخت نرمافزار، ساخت نرمافزار جنبهگرا، سـاخت نـرمافـزار شـی گـرا، دغدغـه، پیمانهبندی

.۱ مقدمه:

تکنیکهای ساخت نرمافزار همراه با مدل های ساخت نرمافزار یک متد ساخت نرمافزار ایجاد کرده است. برای مثال مـدلهـایی مثل مدل آبشاری، مدل تکرار، مدل مارپیچی با تکنیک هایی مثل ساخت سریع نرمافزار، ساخت اتاق پـاک نـرم افـزار ۱، سـاخت نرم افزار جنبه گرا برای پیدایش یک متد برای ساخت نرم افزار با هم ترکیب شده اند. با توجه به تکنیکهای ساخت نرمافزار برای ایجاد بهترین شرایط می توان از هر مدلی استفاده کرد و آنها را ترکیب کرد، به عبارتی برای اسـتفاده از تکنیـکهـای سـاخت نرم افزار می توان به یک مدل محدود نشد، هرچند ممکن است نتوان از همه تکنیک ها و مدل های فوق الذکر همزمان و به شکل متناوب استفاده کرد ولی ترکیب آنها ممکن است.

.۲ ساخت نرمافزار شیءگرا

ساخت نرمافزار شیءگرا متشکل از ۳ زمینه اصلی مرتبط تجزیهوتحلیل شیءگرا، طراحی شیءگـرا و برنامـهنویسـی شـیءگـرا است. طراحی شی ءگرا مربوط به پیاده سازی خواسته ها و برنامه نویسی شی ءگرا مربوط به ساخت شی ءگرا با استفاده از یک زبان مانند جاوا یا C++ است. در طی مراحل تحلیل، طراحی و پیادهسازی سیستم، از مفاهیم، اصطلاحات و قالـب فکـری واحـدی استفاده می شود. تحلیل گر کار خود را با شناسایی کلاس ها و اشیا آغاز می کند، طـراح مـدل منطقـی و فیزیکـی سیسـتم را بـا استفاده از ساختار کلاس ها و اشیا می سازد و برنامه نویس نیز با استفاده از یکی از زبانهای شـیءگـرا، ایـن طراحـی را بـه کـد تبدیل میکند. حتی برای طراحی بانکهای اطلاعاتی نیز روشها و ابزارهای شیءگرا وجود دارد. به این ترتیب زبـان مشـترکی در کلیه مراحل ساخت سیستم به وجود میآید که امر ساخت سیستم و نگهداری و تغییر آن را تسهیل میکند.

.۱-۲ تجزیهوتحلیل شیءگرا

هدف از OOA تعیین مدل نرمافزار کامپیوتر موردنیاز برای برآوردن خواستههای کاربران است. هدف تعریف کلاسهـا، روابـط بین کلاس ها و رفتار آن ها با توجه به سیستم تحت بررسی است. این فرایند مهندسی خواسته ها نیز نامیده میشود که با توجه به خواسته های مشتری می تواند مدل نرم افزار را تحت تأثیر قرار دهد. نمودار کلاسها، نمودار شیءها، نمودارهـای پیمانـهای، نمودارهای فرآیند، نمودار تبدیل حالت، نمودار زمانبندی و نمودار وراثت ابزارهایی هستند کـه در روش طراحـی شـیءگـرا از آنها استفاده میشود.