، تهران , (اخبار رسمی): نرمافزاری که برای مدت ۱۰ تا ۱۵ سال در شرکتها استفاده شده است؛ بارها و بارها در طول زمان تغییر کرده، وفق داده شده و گسترش پیدا کرده است لذا عملیات بازمهندسی نرمافزارهای اتوماسیون اداری دیدگاه بر اساس ۳ هدف تغییر رفتار، تغییر معماری و تغییر کد ضروری است.
تغییرات فرآیندهای شرکتها و نیاز به بروزرسانی نرمافزارها به عنوان ابزارهای مورد استفاده، به همراه توسعه علوم نرمافزاری و تکنولوژیهای جدید نیاز به بازمهندسی را ایجاد میکند
مجموعه نرمافزارهای اتوماسیون اداری در ابتدای شکلگیری بر اساس مفاهیم مهندسی نرمافزار در فاز تولید قرار میگیرد. در این فاز بر اساس نیازمندیهای تعریف شده برای نرمافزار در فازهای مختلف تحلیل، معماری، طراحی، پیادهسازی و تست میشوند.
بعد از پایان این مراحل نرمافزار به فاز توسعه و نگهداری وارد میشود. در این فاز بدون تغییر اساسی در مفاهیم یا رفتارهای آن به منظور رفع باگهای موجود در آن از نرمافزار نگهداری میشود.
در همین مرحله ممکن است براساس نیازهای جدید تعریف شده برای نرمافزار مجموعهای از تغییرات محدود و کنترل شده که مفاهیم یا رفتارهای اصلی و همچنین معماری سختافزاری و نرمافزاری را تغییر نمیدهد در نرمافزار ایجاد میشود.
در فاز توسعه و نگهداری معمولا تغییرات در نرمافزار در سطح افزودن قابلیتهای کوچک به ماژولهای اصلی برای تصحیح یا تسهیل رفتار آنها خواهد بود. از طرف دیگر مهمترین مساله در این فاز، برطرف کردن انواع باگها و بهینهسازی کارایی نرمافزار است.
چرایی بازمهندسی نرمافزارها
نکته بسیار مهم در رابطه با نرمافزارها سناریوی عمومی براساس کتاب «مهندسی نرمافزار» پرسمن است. در این کتاب آمده است « نرمافزاری که برای مدت ۱۰ تا ۱۵ سال در شرکتها استفاده شده است؛ بارها و بارها در طول زمان تغییر کرده، وفق داده شده و گسترش پیدا کرده است.»
این تغییرات در طول حیات نرمافزار باعث ناپایداری میشود. نرمافزار همچنان کار میکند؛ اما هر تغییر باعث ایجاد تاثیرات غیر قابل کنترلی در سایر قسمتهای آن میشود و در نهایت نرمافزار را غیر قابل نگهداری میکند. در این شرایط نیاز است که با بازمهندسی نرمافزار حیات دوبارهای به او بخشیده شود؛ اما این تنها علت برای بازمهندسی نرمافزار نیست.
جدا از تغییرات فرآیندهای شرکتها که در طول سالها به وجود میآید و نیاز به به روزرسانی نرمافزارها به عنوان ابزارهای مورد استفاده در این فرآیندها را به وجود میآورد، عوامل دیگری نیز باعث بازمهندسی نرمافزارها میشود.
توسعه علوم نرمافزاری و تکنولوژیهای جدید نیاز به بازمهندسی را ایجاد میکند
یکی از اصلیترین این عوامل تغییر و تکمیل علوم نرمافزاری و ایجاد تکنولوژیهای جدید براساس این علوم است. بر این اساس، پلتفرمهای جدیدی در ساختارهای نرمافزاری ایجاد میشوند که انجام امور توسط کاربران را راحتتر میکنند. از این رو نیاز است تا نرمافزارها به این تکنولوژیهای جدید انتقال پیدا کنند؛ به عنوان مثال میتوان استفاده از نرمافزارهای اتوماسیون اداری و نرمافزارهای بستر همراه و اپهای موبایلی و میزان وابستگی افراد به این پلتفرم در مدت زمان ۶ یا ۷ سال پیش را با حال حاضر مقایسه کرد.
ایجاد علوم و تکنولوژیهای جدید در مدت زمانی که نرمافزارها در فاز توسعه و نگهداری هستند برای قابل توسعه نگهداشتن آنها نیاز به بازمهندسی را اجتنابناپذیر میکند. یکی دیگر از علتهای شایع برای بازمهندسی نرمافزار نیاز به ریفکتور کدها است.
نرمافزارها در طول حیات خود در فاز نگهداشت معمولا توسط افراد مختلف با میزان مهارتهای متفاوت، توسعه داده میشود.
این توسعه مکرر در سالهای طولانی باعث تغییرات بنیادین در کدهای نرمافزار میشود که معمولا کدهای اولیه را تبدیل به کدهایی پیچیده و غیر قابل توسعه، میکند.
از این رو نیاز است که با بازنگری بر روی منابع کد موجود در نرمافزار و ریفکتور کردن آنها توسعهپذیری و پشتیبانیپذیری نرمافزار را به آن برگرداند. در این شرایط هزینههای نگهداشت نرمافزار برای هر تغییر کوچک از هزینههای بازنویسی آن بیشتر میشود و نیاز به دوباره نویسی کدهای منبع بدون تغییر رفتار نرمافزار را اجتنابناپذیر میکند.
براساس موارد بیان شده میتوان گفت که عملیات بازمهندسی در نرمافزارها با اهداف زیر صورت میگیرد:
- تغییر رفتار نرمافزار به منظور پشتیبانی از فرایندهای تغییریافته در شرکتهای مشتری
- تغییر معماری نرمافزار به منظور استفاده از علوم و تکنولوژیهای جدیدتر
- تغییر کد به منظور توسعهپذیری و نگهداشت بهتر نرمافزار
### پایان خبر رسمی