![اتوماسیون اداری](https://static.digiato.com/digiato/2018/07/بازمهندسی-اتوماسیون-اداری.jpg.webp)
دلایل و اهمیت بازمهندسی نرمافزارهای اتوماسیون اداری [رپورتاژ آگهی]
سیستمهای اتوماسیون اداری وب و موبایل از سالها پیش که برای اولین بار توسط شرکتهای پیشرو در حوزه نرمافزارهای سازمانی توسعه داده شدند، مانند هر نرمافزار جدیدی مراحل تولید را براساس نیازمندیهای تعریف شده در ...
![واحد تبلیغات](https://digiato.com/wp-content/uploads/avatars/21900-32x32.jpg)
سلب مسئولیت: دیجیاتو صرفا نمایشدهنده این متن تبلیغاتی است و تحریریه مسئولیتی درباره محتوای آن ندارد.
سیستمهای اتوماسیون اداری وب و موبایل از سالها پیش که برای اولین بار توسط شرکتهای پیشرو در حوزه نرمافزارهای سازمانی توسعه داده شدند، مانند هر نرمافزار جدیدی مراحل تولید را براساس نیازمندیهای تعریف شده در فازهای تحلیل، معماری، طراحی، پیادهسازی و تست پشت سر گذاشتهاند.
در حوزه راهکار اتوماسیون اداری ، نرمافزارهای مکاتبات اداری موفق در بازار، به فاز توسعه و نگهداری رسیده و هماکنون، به منظور پاسخگویی به نیاز مشتریان و رفع باگهای موجود، اعمال تغییرات در سطح افزودن قابلیتهای کوچک به ماژولهای اصلی در حال اجرا است.
نرمافزاری که برای مدت 10 تا 15 سال استفاده شده؛ بارها در طول زمان تغییر کرده، وفق داده شده و گسترش پیدا کرده است. اما این تغییرات در طول حیات نرمافزار باعث ناپایداری میشود و با اینکه نرمافزار اتوماسیون اداری همچنان کار میکند؛ اما هر تغییر باعث ایجاد تاثیرات غیرقابل کنترلی در سایر قسمتهای آن میشود. در این شرایط نیاز هست که با بازمهندسی حیات دوبارهای به نرمافزار بخشیده شود.
یکی دیگر از دلایل بازمهندسی، تغییر و تکمیل علوم نرمافزاری و ایجاد تکنولوژیهای جدید بر اساس این علوم است. با ایجاد پلتفرمهای جدید در ساختارهای نرمافزاری که انجام امور توسط کاربران را راحتتر میکنند، نیاز هست تا نرمافزارها به این تکنولوژی جدید انتقال پیدا کنند. به عنوان مثال میتوان استفاده از اتوماسیون اداری موبایل و میزان وابستگی افراد به این پلتفرم را در مدت زمان 6 یا 7 سال پیش با حال حاضر مقایسه کرد.
یکی دیگر از علتهای شایع برای بازمهندسی نرمافزار نیاز به ریفکتور کدها است. نرمافزارها در طول حیات خود در فاز نگهداشت معمولا توسط افراد مختلف با میزان مهارتهای متفاوت، توسعه داده میشود. این توسعه مکرر در سالهای طولانی باعث تغییرات بنیادین در کدهای نرمافزار میشود که معمولا کدهای اولیه را تبدیل به کدهایی پیچیده و غیرقابل توسعه میکند. از این رو نیاز است که با بازنگری بر روی منابع کد موجود و ریفکتور کردن آنها توسعهپذیری و پشتیبانیپذیری نرمافزار به آن برگردانده شود. در این شرایط هزینههای نگهداشت نرمافزار برای هر تغییر کوچک از هزینههای بازنویسی آن بیشتر میشود و نیاز به دوبارهنویسی کدهای منبع بدون تغییر رفتار نرمافزار را اجتنابناپذیر میکند.
فرایند بازمهندسی نرمافزار
برای بازمهندسی نرمافزارها فرآیندهای مختلفی ایجاد شده است که طی آن سعی میشود کلیه عملیات بازمهندسی در چارچوب مشخصی صورت بگیرند. این فرآیندها ممکن است در برخی از فازهای بازمهندسی با هم متفاوت باشند؛ اما معمولا تمامی آنها از یک سری اصول اولیه تبعیت میکنند. به طور کلی فرآیند بازمهندسی نرمافزار شامل فازهای اصلی زیر است:
1- مهندسی معکوس
2- بازطراحی
3- بازسازی کد
4- تست
5- استقرار و پشتیبانی
مهندسی معکوس
مهندسی معکوس از فازهای اصلی بازمهندسی با هر هدفی از بازمهندسی است. در این فاز، منبع اصلی، استخراج اطلاعات کدهای مربوط به نرمافزار است. افراد درگیر در پروژه بازمهندسی در این فاز شروع به خواندن کدهای نرمافزار میکنند و این کدها را ابتدا به نمودارهای طراحی، معماری و سپس به داستانهای کاربری و رفتارهای سیستم، همراه قواعد و قوانین کسبوکار، تبدیل میکنند.
بازطراحی
فاز بازطراحی معمولا در زمانهایی اجرا میشود که هدف از بازمهندسی، تغییر رفتار و یا تغییر معماری نرمافزار باشد. در این فاز در صورتی که هدف تغییر معماری باشد عملیات بازطراحی مشخصکننده ساختار نرمافزار بعد از اعمال تغییرات خواهند بود و در صورتی که هدف، تغییر رفتارهای نرمافزار باشد عملیات بازطراحی، رفتار و معماری نرمافزار بر اساس رفتارهای جدید را شامل میشوند.
بازسازی کد
عملیات بازسازی کد شاید پیچیدهترین فاز بازمهندسی نرمافزار است زیرا همواره تغییر دادن کد موجود به کدی جدید که در کنار تغییرات احتمالی رفتار و معماری، قابلیت پشتیبانی و توسعه داده باشد و مشکلات پیش از بازمهندسی را نداشته باشد بسیار سختتر از نوشتن یک نرمافزار جدید است. در انتهای این فاز اطمینان حاصل میشود که کدهای بازسازی شده ناهنجاریهای پیشین را نداشته باشد.
تست
در این فاز اصول مهندسی نرمافزار به صورت جامع تست میشود تا پیش از انتشار نرمافزار، مجموعه باگها و مشکلات نرمافزار پیدا شده و رفع شود. تستهایی مانند تست واحد، تست یکپارچگی، تست بار، تست کارآیی و تست امنیت مجموعه تستهایی هستند که بر اساس اهمیت بخشهای مختلف نرمافزار و بودجه تعیین شده برای بازمهندسی صورت میگیرند. نتایج این تستها در بهبود کیفیت نرمافزار تولید شده بعد از بازمهندسی، تعیین کنندهاند.
استقرار و پشتیبانی
فاز آخر بازمهندسی به استقرار و پشتیبانی از نرمافزار بازمهندسی شده بازمیگردد. نیاز است که مستندات راهنما به روز شوند و آموزشهای لازم برای استفاده از نرمافزار (در صورت تغییر در رفتار نرمافزار) به مشتریان داده شود و عملیات پشتیبانی برای رفع عیوب و بازخوردگیری از نرمافزار به صورت کامل انجام پذیرند.
برای گفتگو با کاربران ثبت نام کنید یا وارد حساب کاربری خود شوید.