روش نوین برنامه‌نویسی سریع

مشاهده : 139
روش نوین برنامه‌نویسی سریع کامپیوتر و موبایل
روش نوین برنامه‌نویسی سریع اشاره : در ادامه مبحث ‌Agile Software Development یا برنامه‌نویسی چابکانه که در شماره قبل (شماره۷۳) به آن اشاره کوتاهی شد، در این یادداشت مبحث اکس‌پی که یکی از روش‌های قدرتمند این نوع برنامه‌نویسی است، مورد بررسی قرار می‌گیرد.اشتباه نکنید! منظور از اکس‌پی ویندوز اکس‌پی نیست.در ادامه مبحث ‌Agile Software Development […]
روش نوین برنامه‌نویسی سریع اشاره : در ادامه مبحث ‌Agile Software Development یا برنامه‌نویسی چابکانه که در شماره قبل (شماره۷۳)
به آن اشاره کوتاهی شد، در این یادداشت مبحث اکس‌پی که یکی از روش‌های قدرتمند این نوع برنامه‌نویسی است، مورد
بررسی قرار می‌گیرد.
اشتباه نکنید! منظور از اکس‌پی ویندوز اکس‌پی نیست.
در ادامه مبحث ‌Agile Software Development یا برنامه‌نویسی چابکانه که در شماره قبل (شماره۷۳) به آن اشاره کوتاهی شد، در
این یادداشت مبحث اکس‌پی که یکی از روش‌های قدرتمند این نوع برنامه‌نویسی است، مورد بررسی قرار می‌گیرد.
اشتباه نکنید! منظور از اکس‌پی ویندوز اکس‌پی نیست.
اکس‌پی مخفف Extreme Programming یا برنامه‌نویسی سریع است که مانند Scrum روشی هوشمند در تولید نرم‌افزار است.
اکس‌پی شامل یک سری تمرینات ساده و اصول مرتبط به هم است که وقتی آن‌ها را اجرا و رعایت کنیم،
روش اکس‌پی را انجام داده‌ایم.
شکل ۱ این اصول را نشان می‌دهد.
اعضای تیم در پروژه در روش اکس‌پی مشتری نرم‌افزار باید جزئی از تیم اجرایی پروژه باشد و برنامه‌نویس و مشتری
باید با هم کار کنند و از مشکلات و نیازهای هم مطلع باشند.
در اکس‌پی مشتری به کسی یا گروهی گفته می‌شود که نیازهای برنامه و اولویت‌های آن نیازها را خوب می‌داند.
در این روش مشتری و برنامه‌نویسان باید در یک اتاق کار کنند (البته تبصره‌ای نیز در این قسمت وجود دارد
که می‌گوید مشتری می‌تواند تا حداکثر پنجاه متر از برنامه‌نویسان دور باشد).
داستان‌های کاربران یا User Stories برای این‌که بتوانیم برای پروژه‌ای برنامه‌ریزی کنیم، باید از نیازهای کاربران مطلع باشیم.
البته نیازی نیست که همه چیز را از همان اول بدانیم و از جزئیات نیازهای کاربران اطلاعاتی کسب کنیم؛ زیرا
آن جزئیات به احتمال زیاد در طول پروژه تغییر پیدا می‌کنند.
در اکس‌پی باید در مورد هر نیاز کاربر یا Requirement مقداری با مشتری صحبت کنیم و از مشتری بخواهیم چند
کلمه‌ای در مورد هر یک از نیازها روی فیش یا کاغذهای یادداشت چسب‌دار (Post-it) بنویسد‌.‌ همزمان برنامه‌نویس نیز می‌تواند برداشت
خود را از آن موضوع روی کاغذی مشابه بنویسد و هر دو برگه را روی دیوار اتاق بچسبانند.
این برگه‌ها می‌توانند باعث یادآوری اعضای تیم از نیازهای اولیه و همچنین سهولت در تخمین زمان و هزینه پروژه شوند.
دوره‌های زمانی کوتاه‌ پروژه اکس‌پی هر دوهفته یک ‌بار یک قسمت از نرم‌افزار که کارایی بالایی دارد و قسمتی از
نیازهای اولیه مشتری بوده است را تحویل می‌دهد و از مشتری در مورد آن قسمت نظرخواهی می‌شود و اگر نیاز
بود، نظر مشتری سریعاً اعمال می‌گردد.
به این دوره دو هفته‌ای Iteration نیز می‌گویند.
هر Iteration قسمتی از نرم‌افزار را با توجه به User Storiesها تولید می‌کند که چند نیاز کاربر را برآورده می‌سازد.
وقتی یک Iteration شروع شد، دیگر مشتری حق عوض کردن نیازهایی که بر سر آن‌ها توافق کرده است را ندارد.
تست های قبول شده جزئیات نیازهای کاربران که در ‌User Stories وجود دارد، در قالب Acceptance Tests) AT) که مشتری
تعیین می‌کند برداشت می‌شود.
این تست همزمان با Iteration می‌تواند انجام گردد و در قالب زبان‌های اسکریپتی نوشته می‌شود تا بتوان آن را چندین
بار تکرار کرد.
هدف اصلی ATها تست کردن برنامه و حصول اطمینان از این است که آن قسمت از برنامه نوشته می‌شود که
صددرصد نیاز مشتری را برآورده می‌سازد.
این تست‌ها هر وقت که قسمت جدیدی به برنامه اضافه می‌شود و برنامه کامپایل می‌گردد، دوباره اجرا می‌شوند و اگر
اشکالی داشته باشند، پیغام خطا می‌دهند.
در نتیجه وقتی سیستم به اتمام رسید، می‌توان مطمئن بود که سیستم بدون خطا است.
به علا‌وه، در اکس‌پی تمامی کدها به روش Test-Driven Development تولید می‌شوند.
یعنی قبل از نوشتن هر قطعه کد، باید تست آن تولید شود و کاری کرد که کد در پاس کردن
Unit Test ناتوان باشد.
بدین‌معنی که اول یک قطعه کد مثلاً برای افزودن دانشجوی جدید به فهرست دانشجویان می‌نویسیم، ولی چون در آن کد
قطعه‌ای از کد کلاسی که insert را انجام می‌دهد وجود ندارد، برنامه اشکال می‌گیرد.
حال کار گروه اکس‌پی این است که برنامه را طوری درست کنند که این تست پاس شود و به قدری
روی برنامه کار کنند تا برنامه دلخواه به دست آید.
برنامه نویسی دوتایی (Pair Programming) ‌ معمولاً در اکس‌پی برنامه‌نویسان در گروه‌های دوتایی قرار می‌گیرند و وظیفه تکمیل قسمتی از
برنامه را به عهده می‌گیرند.
هر دو برنامه‌نویس در مورد هر کدام از نیازهای کاربران با هم بحث می‌کنند و قدم به قدم کلاس‌های برنامه
را آماده می‌کنند.
بدین ترتیب که در ابتدا کلاسی را به صورت خیلی ابتدایی و بدون هیچ طراحی اولیه به وجود میآورند و
این کلاس را امتحان می کنند و در صورتی که این کلاس فاقد هر گونه اشکال باشد، کد اصلی برنامه
را بر اساس این امتحان کلاس می‌نویسند.
وقتی یکی از برنامه‌نویسان مشغول نوشتن قسمتی از برنامه است، برنامه‌نویس دیگر وظیفه کنترل صحت این کدها را عهده‌دار است
و در صورت مشاهده هر گونه اشکال، نویسنده کد را مطلع می کند.
تیم همه کاره در اکس‌پی همه اعضای تیم همه کار می‌کنند.
همه روی GUI، پایگاه اطلاعات و …
کار می کنند.
این بدین منظور نیست که اعضای تیم نمی‌توانند در کار مشخصی حرفه‌ای باشند، بلکه همکاری در تمامی بخش‌های پروژه باعث
خواهد شد که تجربه جدیدی کسب کنند.
این تیم حق دارد کدهایی که دیگران نوشته‌اند را بارها چک کند، اشکالات آن را مشخص نماید و اگر اصلاحی
دارد، آن را متذکر شود.
محیط کاری باز تیم باید در مکانی باز کار کند.
در اتاق پروژه باید میزهایی فراهم شوند که روی آن چند کامپیوتر قرار دارد.
در جلوی هر کامپیوتر هم باید دو صندلی برای اعضای Pair تعبیه شود.
دیوارهای اتاق باید از نقشه‌ها و طرح‌های نرم‌افزاری به همراه UML مملو باشد.
صدای اتاقی که در آن کار انجام می‌شود، معمولاً پر از زمزمه‌های اعضای تیم است.
شاید بگویید که در محیطی پر زمزمه که نمی‌شود کار کرد.
در جواب این سؤال باید گفت طبق تحقیقاتی که در دانشگاه میشیگان انجام شده است، راندمان کار در محیط‌های کاری‌ای
که در آن زمزمه باشد و سکوت محض نباشد، به دو برابر حالت عادی می‌رسد.
طراحی ساده نرم‌افزار در اکس‌پی تیم سعی می کند طراحی نرم‌افزار را تا حد ممکن ساده انجام دهد.
اعضای تیم تمام انرژی خود را فقط روی نیازهای فعلی کاربران می‌گذارند و نگران نیازهای جدیدی که ممکن است در
آینده مطرح شوند، نیستند.
در ابتدای کار تمرکز برنامه‌نویسان تیم به انتخاب پایگاه اطلاعاتی، انتخاب معماری نرم‌افزار و …
نیست و تمام سعی تیم این است که قسمتی از نرم‌افزار را به ساده ترین راه ممکن تحویل مشتری دهد
و وقتی واقعاً به تغییرات نیاز پیدا شد، می‌توانند تغییرات لازم را اعمال نمایند.
در اکس‌پی اعضای گروه می‌توانند روند تکمیلی تولید نرم‌افزار را مشاهده کنند و در جریان کار قرار گیرند.
اکس‌پی روش مناسبی برای پروژه‌های کوچک است که اعضای تیم از دو تا دوازده برنامه‌نویس تشکیل شده است؛ هرچند اصولاً
اکس‌پی هیچ رویه خاص و مراحل پیوسته‌ای را مشخص نکرده است.
می‌توان گفت که اکس‌پی چهار مرحله اصلی دارد: ●‌‌مرحله زمانبندی پروژه ‌‌●‌‌طراحی ابتدایی ‌‌●‌‌نوشتن کدهای برنامه ‌‌●‌‌امتحان کدهای نوشته شده
طبق تحقیقات انجام شده مشخص شده است که اکس‌پی تنها در پروژه‌های کوچک نرم‌افزاری می‌تواند مفید باشد و در پروژه‌های
بزرگ، اصلاً موفق نخواهد بود.
شاید به این دلیل که در این روش مستندات چندانی برای نرم‌افزار وجود ندارد و چند نفر بیشتر نمی‌توانند در
مورد قسمتی از نرم‌افزار اطلاعاتی داشته باشند.
همچنین نرم‌افزار تولید شده با این روش هیچ‌گونه طراحی سازمان یافته‌ای ندارد و این امر می‌تواند برای مراحل پس از
نصب، یعنی تعمیرات و نگهداری سیستم، باعث بروز مشکلاتی گردد.
از جمله مزایای اکس‌پی این است که از آن جایی که یک برنامه‌نویس به صورت مستقیم کدهای برنامه را چک
می‌کند، کیفیت نرم‌افزارهای تولیدی بالاتر می‌رود.
همچنین از آن جایی که دو برنامه‌نویس با هم کار می‌کنند، آموزش کمتری نیاز است و در نتیجه هزینه تولید
نرم‌افزار پایین میآید، اما این روش مشکلات خاصی نیز دارد.
مثلاً تصور کنید اگر در یک گروه یک برنامه‌نویس تمایلی برای کار با دیگر برنامه‌نویسان نداشته باشد، چه اتفاقی خواهد
افتاد؟! متخصصان نرم‌افزار پس از تحقیقات زیاد روی این روش به این نتیجه رسیده‌اند که وقتی برنامه‌نویسی در کدهای برنامه
به دنبال اشکال می‌گردد، حداکثر می‌تواند پانزده درصد از اشکالات برنامه را پیدا کند، ولی در روش‌هایی مانند اکس‌پی که
دو برنامه‌نویس با هم کار می‌کنند و یکی از این برنامه‌نویسان کدها را چک می‌کند، تا چهل درصد از اشکالات
ساختاری برنامه مشخص می‌شود.
2009-05-03 / گردآوری:
گزارش خطا در خبر
نظر خود را بنویسید - نظرات کاربران (۰)
فیلم پرشین وی
با دنیای بی نظیر و پر از خلاقیت گوشی های موبایل همراه شوید با دنیای بی نظیر و پر از خلاقیت گوشی های موبایل همراه شوید
دراین مطلب به بررسی دنیای بی نظیر و پر از خلاقیت گوشی های موبایل خواهیم پرداخت ، با ما همراه شوید .
سوژه های روز رو این جا ببینید !
فال روزانه
تعبیر خواب
گوشی دست دوم بخریم یانه؟ (نکات مهم خرید گوشی دست دوم)
کمی در رابطه با تاریخچه و اطلاعات گوگل کروم بخوانیم
کیفیت و وضوح بالای تلویزیون ۵۵ اینچ سونی به همراه قیمت
تجربه فروش بیشتر با طراحی سایت فروشگاهی
اندروید ۱۰ جدیدترین سیستم عامل گوشی های هوشمند را بیشتر بشناسید
دوربین آیفون ۱۱ را بیشتر بشناسیم
سونی اکسپریا ۵ پرچم دار کوچک سونی
نحوه فهمیدن آنفالو شدن در اینستاگرام توسط سایر کاربران
آیپد پروی جدید و ویژگی های منحصربفردش
آیفون ۱۱ چه چیزهایی برای موفقیت لازم دارد؟
حذف شدن کیبورد گوشی ها با هوش مصنوعی
تعداد لایک در اینستاگرام نمایش داده شود یا نه؟
راه‌ رفتن معلولین با آسانی با شورت ورزشی رباتیک
اسم آیفون آیا از گوشی های اپل حذف خواهد شد؟
بازی‌های رایگان iOS مخصوص فصل تابستان
جایگزین sms اندروید گوشی های سامسونگ
logo-samandehi