در این مقاله نیز به فرایند بازمهندسی در حال انجام بر روی نرمافزارهای اتوماسیون اداری دیدگاه در نقشه راه بازمهندسی، میپردازیم.
مهندسی معکوس
با گذشت 15 سال از عمر یک نرمافزار، بسیاری از این عملیاتها و در نتیجه آن بسیاری از رفتارهای نرمافزاری پیچیده میشود. در واقع هر چه از عمر یک نرمافزار میگذرد، تعاریف و قواعد و قوانین عملیاتهای نرمافزاری بیشتر از تعاریف اولیه خود دور میشود؛ بنابراین نیاز است که پیش از تغییر عملیاتهای یک ماژول، مجموعه تعاریف و رفتارهای فعلی نرمافزار به درستی شناخته و مشخص شود. شناسایی رفتارهاینرمافزار از این جهت اهمیت دارند که در فرایند بازمهندسی باید مشخص شود برای هر رفتاری از نرمافزار چه اتفاقی میافتد. برخی از رفتارها باید باقی بمانند، برخی تغییر رفتار روی آنها اتفاق میافتد و برخی رفتارهای منسوخ شده باید از مدار پشتیبانی، خارج شوند. از این رو در فاز مهندسی معکوس نیاز است تا موجودیتها، عملیاتها و رفتارهای نرمافزاری به صورت دقیقی مشخص شوند. کد منبع، اصلیترین مرجع رفتار هر نرمافزارست. این کدها بعد از پردازش خود، نرمافزار را تولید میکنند. مهندسی معکوس، فرآیند تهیه رفتارها و قابلیتهای پشتیبانی شده توسط نرمافزار از روی کدهای منبع آنست. در این فرایند با خواندن کدهای منبع نرمافزار توسط کارشناسان خُبره، ابتدا مجموعهای از مستندات رفتارهای نرمافزار در سطوح پایین طراحی به دست میآید و سپس با تحلیل آنها قابلیتهایی که نرمافزار از آنها پشتیبانی میکند، مشخص میشوند.
بازتعریف
با شروع بازمهندسی یک ماژول مجموعهای از فعالیتها برای بازتعریف آن روی میدهد. در حالیکه تیم تولید در حال مهندسی معکوس ماژول است سایر تیم های راهکار، جمعآوری اطلاعات درباره نیازمندیهای جدید بر روی ماژول در حال بازمهندسی را انجام میدهند این نیازمندیها شامل موارد زیر میشوند:
- به ازای هر ماژول، مجموعهای از قابلیتهای جدید وجود دارد که پیش از این توسط مشتریان درخواست شدهاند. این قابلیتها میتوانند در بازمهندسی نرمافزارها بررسی و برای پیادهسازی برنامهریزی شوند.
- کمبودهایی توسط مالکان محصول بر روی ماژول تشخیص داده میشوند.
- با بررسی و دریافت بازخورد از مشتریان، نیازمندیهای آنها تشخیص داده میشوند.
- با بررسی بر روی فرهنگ رفتاری سازمانهای مشتری تغییرات بر روی ماژول مورد نظر، شناسایی میشوند.
بعد از جمعآوری اطلاعات از منابع مختلف این اطلاعات همراه با دادههای مهندسی معکوس تجمیع و به کمیته بازتعریف ارسال میشوند. در این کمیته با بررسی اطلاعات، تعریف جدید از ماژول و قابلیتهای آن مشخص می شوند. در واقع به صورت تشبیهی میتوان فاز بازتعریف را به عملیات مغز تشبیه کرد. مهمترین فازی که در آن تغییر رفتارهای سیستم ( به عنوان یکی از اصلیترین اهداف بازمهندسی نرمافزارهای اتوماسیون اداری) در آن تعریف میشود. بر اساس این تعاریف، قابلیتهای جدید نیز به ماژول اضافه میشود. در این مرحله که آن را به فاز بازتعریف یک ماژول میشناسیم ماهیت وجودی یک ماژول به سوال گذاشته و سعی می شود با فرهنگهای جدید ایجاد شده در شبکههای مجازی (به عنوان پرکاربردترین ابزار در حال استفاده) از نو تعریف شود. پیامرسانها در صنعت انتقال اطلاعات پیشرو هستند و معنای پیام همانی شده است که در کانالهای پیامرسان یا در گروههای همکاران به اشتراک گذاشته میشود. ارجاع زدن همان Mention کردن فرد مخاطب و ارتباط ساده و مستقل دونفر در گروههای همکاری شده است. در فاز بازتعریف، تضمین کننده رفتارهای ماژول با فرهنگ جدید است و اصل سادهسازی را نیز با خود به ارمغان میآورد.
نیازسنجی مجدد
بعد از بازتعریف و دریافت تاییدیههای لازم برای اجرایی کردن آن، تیم تولید به سراغ ذینفعان عضو باز تعریف میرود و عملیات سریعی از فاز نیاز سنجی را انجام میدهد. در این فاز با انجام تکنیکهای تخصصی نیازسنجی موجودیتهای جدید، کاربری مربوط به قابلیت آنها هر چه سریعتر بدست میآید. در کنار آن، اختلافات قابلیتی بین ماژول پیش از بازتعریف و پس از آن نیز با مقایسه مستندات مهندسی معکوس در کنار تعریف جدید ارائه شده از ماژول) به دست میآید تا بر اساس میزان تغییرات برای ادامه عملیات بازمهندسی پیشبینیهای لازم صورت بگیرد. بعد از تولید این مستندات تیم محصول نیاز سنجی را برای بررسی کیفی و تضمین کیفیت نیازسنجی انجام شده در اختیار کارشناسان ارشد راهکار قرار میدهد و این افراد با بازنگری، باگها و اشکالات احتمالی را بیابند و با رفع آنها در زمان باز طراحی مجدد ماژولها خللی وارد نشود.