X
تبلیغات
نماشا
رایتل

کامپیوتر

متدولوژی xp

XPDM
روشی است بر اساس متدلوژی XP که توجه زیادی به مسائل مهم کاربردهای تجارت الکترونیک دارد و راهکارهای سریع و بهینه‌ای برای تغییرات محیط‌های تجاری ارائه می‌نماید. 
هر چند زمان زیادی از پیدایش متدولوژی XP نمی‌گذرد، اما با توجه به بالا بردن کارایی و سرعت بخشیدن به امر تولید نرم‌افزار، از استقبال زیادی برخوردار گردیده، بگونه‌ای که تعداد زیادی از شرکت‌ها و موسسات از این متدلوژی جهت تولید نرم‌افزارهای خود استفاده می‌نمایند. بسیاری از این شرکت‌ها و موسسات با استفاده از اصول متدلوژی XP، با توجه به نیاز، نسخه‌هایی سفارشی شده از این روش را ایجاد و با استفاده از آنها حداکثر کارایی را در تولید نرم‌افزارهایشان بدست آورده‌اند. از جمله این شرکت‌ها، شرکت SSW می‌باشد که یک نسخه سفارشی شده از XP بنام SSW XPDM را بوجود آورده است. این شرکت یکی از شرکت‌های همکار مایکروسافت خصوصا'' در زمینه ارائه راه حلهای NET. بوده و با همکاریAdam Cogan (طراح ارشد و مدیر بخش محلی میکروسافت در تولید و بروز رسانی MSDN) از جمله یکی از شرکت‌های پیشتاز و موفق در این زمینه می‌باشد. در این مقاله سعی در تشریح این روش گردیده است. 
شکی نیست که نرم افزار باید کارایی تجارت الکترونیک را افزایش داده و ارتباط بهتری با کاربران خود برقرار نموده و با صرف حداقل هزینه و زمان، بیشترین کارایی را داشته و در حداقل زمان ممکن قابل ارائه به بازار باشد. با توجه به اینکه در روش‌های سنتی و معمول روند تولید نرم‌افزارها بسیار کند بوده و تغییرات در آنها بسختی قابل اعمال می‌باشد، همیشه ضرورت وجود روش‌هایی کارا بخوبی احساس گردیده است. روش XPDM ارائه شده توسط شرکت SSW روشی است بر اساس متدلوژی XP که توجه زیادی به مسائل مهم کاربردهای تجارت الکترونیک دارد و راهکارهای سریع و بهینه‌ای برای تغییرات محیط‌های تجاری ارائه می‌نماید. قبل از اینکه به توضیح روش SSW XPDM بپردازیم، بد نیست نگاهی سریع و گذرا بر متدولوژی XP داشته باشیم. 
برنامه نویسی فوق العاده(eXtreme Programming)
متدلوژی XP بر چهار ارزش کلیدی زیر بنا گردیده‌است: 
ارتباط (Communication) 
ساده سازی (Simplicity) 
بازخورد (Feedback) 
شجاعت (Courage) 
از انجام سه ارزش کلیدی ارتباط، ساده سازی و بازخورد در کنار یکدیگر توسط اعضای تیم پروژه و کاربر به ارزش کلیدی شجاعت دست خواهیم یافت. ، هدف اصلی متدولو‍ژی XP شجاعت می‌باشد. برای مثال شجاعت در تغییر کدی که باید تغییر داده شود، شجاعت برای درخواست یک نیاز جدید توسط کاربر و شجاعت در باور اینکه به نتیجه مطلوب خواهیم رسید. شجاعت یک تیم از واکنش آنها نسبت به فشار و اضطرابها مشخص می‌شود. 
متدولوژی XP جهت مقابله با تغییرات غیر منتظره و رفع نیازها و درخواست‌های جدید (که می‌توانند در مراحل بعدی انجام گردند) طراحی گردیده و بدین ترتیب با استفاده از چهار ارزش کلیدی خود همواره در حال اصلاح و تعدیل طرح پروژه با توجه به شرایط می‌باشد در حالی که در گروه‌هایی که براساس متدلوژی‌هایی بغیر از XP کار می‌کنند یا این درخواست‌ها و ورودی‌های جدید نادیده گرفته می‌شود (به دلیل اینکه چهارچوب پروژه از قبل تعیین شده و این تغییرات بسادگی قابل اعمال نخواهند بود) و یا بعنوان یک سری اطلاعات جدید اما در همان چهار چوب طرح کلی پروژه به آنها رسیدگی می‌کنند. 
هدف از شجاعت، داشتن اطلاعات صحیح از وضعیت لحظه به لحظه پروژه و اطلاع دقیق از توانایی‌های اعضای تیم در مقابله با مشکلات و اجرای صحیح پروژه می‌باشد. تاکید فراوان XP بر ارزش‌های ارتباط و بازخورد به این دلیل است که 
                                             بقیه درادامه مطلب
همواره بدانیم در کجا هستیم و چگونه به بهترین وجه از عامل شجاعت در پیشبرد پروژه استفاده نمائیم. چهار ارزش کلیدی XP با استفاده از مرور پیوسته و مستمر و تنظیم و تعدیل اهداف پروژه همیشه پروژه را بصورت زنده و پویا نگهداشته و همچنین تاکید زیادی بر ارتباط مداوم و فعال بین طراحان، برنامه نویسان، مدیران پروژه، مدیران تجاری و کاربران در طول عمر پروژه دارند. 
در طول این ارتباط مداوم هر یک از اعضای تیم پروژه وظایف زیر را بر عهده خواهند داشت: 
طراحان نرم‌افزار با کمک مدیران تجاری نیازهای سیستم را در حداقل زمان ممکن مشخص می‌نمایند. 
مدیران پروژه انجام فعالیت‌ها را بصورت محدود شده در محدوده زمانی بین 1 تا 3 روز برنامه ریزی می‌کنند. 
برنامه نویسان بطور پیوسته در حال نوشتن و مرور کدها می‌باشند، البته این کار بصورت برنامه نویسی زوجی (Pair Programming) صورت می‌پذیرد. در این روش دو برنامه نویس با هم بر روی یک طرح، تابع یا فرم کار می‌کنند و بدین صورت کار هر یک توسط دیگری نقد می‌گردد. 
کاربران، نسخه‌های مختلف سیستم را آزمایش نموده و نتایج را بطور مستمر گزارش می‌نمایند. 
مدیران تجاری بطور مداوم تغییرات سیستم و تغییر اولویت‌ها را بر اساس تغییرات نیازهای تجاری مرور کرده و گزارش می‌کنند. 
تصویر کلی از SSW XPDM
در روش SSW XPDM ابتدا با بدست آوردن یک دید کلی نسبت به مسئله و تعیین اولویت‌ها و تعیین دقیق نیازهای کاربر، یک طرح نسخه نهایی مشخص گردیده و سپس این طرح نسخه نهایی به طرح نسخ میانی که می‌توانند در طول یک دوره زمانی یک تا سه هفته‌ای پیاده سازی شوند، تقسیم می‌گردد (البته این عمل بطور مستمر در طول اجرای پروژه انجام می‌گردد). جهت پیاده سازی نسخ میانی، آنها نیز به نوبه خود به طرح نسخ جزئی که طول دوره پیاده سازی آنها یک تا سه روز می‌باشد، تقسیم شده و با طرح آزمون برای هر یک از نسخ جزئی و پیاده سازی و آزمایش آنها توسط روش برنامه نویسی زوجی و با الحاق این نسخه‌های جزئی، نسخه‌های میانی ساخته شده که این نسخ میانی باید توسط کاربر مورد بررسی و تائید قرار گیرد و در خاتمه بعد از تولید و تائید نسخ میانی، نسخه نهایی ایجاد گردیده و با تست نسخه نهایی و تائید آن توسط کاربر محصول نهایی تولید خواهد شد. بدیهی است در آزمون هر مرحله در صورت بروز خطاها و اشکالات احتمالی، آنها به مرحله قبلی ارجاع داده خواهند شد و تا رفع کامل آنها این عمل تکرار خواهد گردید. 
شکی نیست که پیاده سازی نرم افزار یک علم کاملا'' دقیق نبوده و همواره با یک درصد ریسک همراه است. SSW XPDM روشی است برای به حداقل رساندن درصد ریسک و حداکثر سازی کارایی تولید نرم افزار. در متدلوژی SWW XPDM در پایان تولید هر نسخه میانی، کاربران با آزمون و تشخیص خطاهای طراحی و پیاده سازی جهت برطرف نمودن آنها توسط اعضاء تیم پروژه میزان ریسک به دوره‌های یک تا سه هفته‌ای کاهش میابد. 
1. مقدار‌دهی اولیه پروژه
این مرحله که معمولا'' توسط یک نفر از اعضاء طراح سیستم، در محل کار کاربر انجام می‌گیرد و شامل اهداف زیر می‌باشد (انجام این مرحله غالبا'' هزینه‌ای برای کاربر در بر نخواهد داشت): 
بدست آوردن یک دید کلی از پروژه 
تعیین بهترین فناوری پیاده سازی 
تعیین و معرفی بهترین نرم‌افزارها بعنوان ابزار پیاده سازی 
تشریح متدلوژی پیاده سازی برای کاربر 
ارائه مستندات سوابق و شرایط شرکت برای آشنایی و توجیه هر چه بیشتر کاربر جهت عقد قرارداد 
2. تعیین اولویت‌ها
این اولین قدم در هر پروژه نرم‌افزاری می‌باشد. هنگامی که یک قرارداد امضاء گردیده است، اولویت‌های آن نیز بصورت کلی مشخص گردیده‌است. برای تعیین دقیق اولویت‌ها باید از بالاترین سطح شروع کرد و به سمت سطوح پایین حرکت نمود. این عمل قطعا'' با همکاری نزدیک کاربر انجام خواهد گردید. این بدین معنا است که مشخص نمائیم چه قسمت‌هایی برای کاربر بترتیب مهم می‌باشند. 
3. نوشتن نیازهای کاربر
نیازهای کاربر یک مستند فنی نیست، بلکه تا حد امکان باید ساده باشد و در اصل نوشتن نیازهای کاربر بصورت بسیار ساده و روان (در باره اینکه سیستم چه کاری باید انجام دهد) می‌باشد. با نوشتن نیازهای کاربر علاوه بر واضح شدن انتظارات کاربر می‌توان تخمینی از زمان پیاده سازی آنها نیز بدست آورد. اگر مشخص کردن و نوشتن نیازهای کاربر بیش از سه روز بطول بی‌انجامد باید به مراحل حداکثر سه روزه شکسته شود. برای مثال اگر پیاده سازی ''سیستم مدیریت مشتریان'' برای کاربر مطرح باشد که نوشتن نیازهای آن به بیش از سه روز زمان احتیاج داشته باشد، باید برای مثال به دو قسمت تشریح امکانات ''اضافه/ویرایش/حذف مشتریان'' و ''جستجوی مشتریان'' تقسیم گردد. 
4. طرح نسخه کلی و نسخ میانی
تمام نیازهای کاربر در کنار هم طرح نسخه کلی سیستم را مشخص می‌نمایند. طرح نسخ میانی از تقسیم طرح نسخه کلی به تمام فعالیت‌هایی که در یک دوره یک تا سه هفتگی انجام می‌شوند، ایجاد می‌گردند. طرح هر نسخه میانی شامل موارد زیر می‌باشد: 
چه عملیات و توابعی باید انجام گیرند 
هزینه و زمان هر یک از این فعالیتها چقدر است 
هر طرح نسخه میانی بعنوان یک پیشنهاد باید به تائید کاربر برسد. 
5. مرور نسخ میانی
همانطور که بیان گردید طرح نسخه کلی در اصل همان نیازهای مشخص شده کاربر می‌باشد، اما طرح نسخ میانی به فعالیت‌هایی که در اولویت بوده و در یک دوره یک تا سه هفته‌ای قابل پیاده سازی هستند، اطلاق می‌گردد. بنابراین روند انجام کار بدین ترتیب است که با توجه به اولویت مطرح شده از طرف کاربر اولین طرح نسخه میانی طراحی شده و بعد از آن این طرح باید توسط طرفین (تیم پروژه و کاربر) مرور گشته و علاوه بر تائید آن مواردی که در اولویت‌های بعد قرار دارند و باید در طرح نسخه میانی بعدی لحاظ گردند مورد موافقت قرار گیرند. بنابراین همانگونه که ملاحظه می‌گردد در این متدلوژی ابتدا مولفه های مرکزی نرم افزار ایجاد می‌شوند. 
6. طرح نسخ جرئی
طرح نسخه جزئی یک توصیف تکنیکی از طرح نسخه میانی است که به فعالیت‌های برنامه نویسی یک تا سه روزه شکسته شده است. این فعالیت‌ها به دو بخش آزمون و پیاده سازی تقسیم می‌شوند. بخاطر داشته باشید که طرح نسخه میانی یک سری از نیازهای عملیاتی هستند که کاربر و اعضاء تیم پروژه بر روی آن بتوافق رسیده‌اند و در یک دوره زمانی یک تا سه هفته‌ای قابل پیاده سازی می‌باشند. 
7. طرح آزمون نسخه جزئی
بر اساس متدلوژی XP طرح آزمون‌ها باید قبل از پیاده سازی آماده گردند. این بدین معناست که تمام پیاده سازی‌هایی که انجام می‌شوند، باید بر اساس قوانین از قبل تعریف شده باشند. این یک روش کارا جهت تشخیص و رفع سریع خطاهای احتمالی می‌باشد. بنابراین در این مرحله طرح آزمون برای نسخه جزئی آماده می‌گردد تا در مرحله پیاده سازی نسخه جرئی مورد استفاده قرار بگیرد. 
8.پیاده‌سازی نسخه جزئی
پیاده سازی نسخه جزئی عبارت است از پیاده سازی فرمها، توابع، اشیاء، روالهای ذخیره شده که باید در یک دوره یک تا سه روزه پیاده سازی گردند. هنگامی که یک فعالیت تائید گردید، تستهای آنها نوشته شده و پیاده سازی آنها آغاز می‌گردد. تمام عملیات در انتهای پیاده سازی هر نسخه جزئی مرور می‌گردد. همانطور که قبلا'' گفته شد در این روش کد نویسی با روش برنامه نویسی زوجی (Pair Programming) انجام می‌پذیرد. 
9. آزمایش نسخه میانی
در پایان پیاده سازی نسخ جزئی (در طول یک دوره یک تا سه هفته‌ای) یک نسخه از نرم افرار (نسخه میانی) برای مرور و تائید کاربر آماده می‌گردد، کاربر با مرور و آزمون این نسخه میانی در صورت وجود خطاها و اشکالات احتمالی آنها را گزارش کرده و با ارجاع آنها به مرحله قبل تا رفع کامل آنها این عمل ادامه پیدا می‌کند. در صورت رضایت کاربر، این نسخه میانی جهت ایجاد نسخه نهایی مورد تائید قرار می‌گیرد. یکی از اصول پروژه‌های موفق این است که هر کجا خطا یا اشکالی بروز کند باید قبل از پیاده سازی بیشتر برطرف گردد. 
10. تائید نسخه نهایی
بعد از پیاده سازی و تائید تمام نسخ میانی، نسخه نهایی ایجاد می‌گردد. در پایان این نسخه نهایی باید مورد آزمون و تائید کاربر قرار گیرد. بی شک با توجه به قابلیت انعطاف و پویایی این متدولوژی خطاها و اشکالات احتمالی در هر مرحله بطور مداوم و پیوسته بر طرف خواهند گردید. 
11. انتشار نسخه نهایی
هنگامیکه هر دو طرف (کاربر و تیم پروژه) از نسخه نهایی رضایت داشتند، آن را بصورت یک محصول نهایی ارائه خواهند نمود. در غیر این صورت دوباره با تعیین نیازها یک نسخه جدید ایجاد شده و دوباره مورد آزمون قرار خواهد گرفت. 
12.آموزش
بسیاری از کاربردهای جدید بر اساس نظرات مدیریتی طراحی و پیاده سازی می‌گردند و کاربر واقعی آخرین کسی است که سیستم را آزمایش می‌کند، در صورتیکه در متدلوژی XP از ابتدای کار کاربران واقعی سیستم در طی تمام مراحل طراحی و پیاده سازی مشارکت فعال داشته و بطور پیوسته در حال آموزش هستند. 
13.پشتیبانی
یکی از نگرانی‌های بجای کاربران همیشه مسئله پشتیبانی می‌باشد. متدلوژی XPDM SSW با طرح سطوح مختلف پشتیبانی برای کاربران مختلف این مسئله مهم را در نظر می‌گیرد. بنابراین با ارائه یک طرح در زمینه روند و چگونگی پشتیبانی نیازهای کاربران در این زمینه برطرف خواهد گردید. 
14.پیاده‌سازی بیشتر
با توجه به اینکه نیازها (خصوصا'' نیازهای تجاری) بطور مداوم در حال تغییر و تحول می‌باشند، بنابراین احتیاج است که سیستم همواره در حال گسترش و سازگاری با تغییرات باشد. با توجه به قابلیت انعطاف و پویایی متدولوژی XP این عمل با انجام مستمر مراحل آن بسادگی انجام پذیر خواهد بود. 
در این مقاله با اقتباس از منابع ذکر شده زیر، سعی در توضیح یک روش ساده و عملی برای استفاده از متدولوژی XP بوده و تشریح دقیق متدولوژی XP مد نظر نبوده است با این وصف نظرات استادان و دوستان گرامی در مورد کاستی‌های این نوشته و تجارب و راهنمای‌هایشان موجب امتنان خواهد بود. 

گدآورنده: ناصرعباس فام