توسعه ویژگی‌محور کیست؟ توضیح بده.
توسعه ویژگی محور(FDD)، یک فرایند توسعه نرم‌افزار تکرارشونده و افزایشی می‌باشد. این مورد یکی از از روش‌های بسیار راحت یا سریع، برای توسعه نرم‌افزار است. FDD، تعدادی از صنعت‌های به رسمیت شناخته‌شده را با بهترین شیوه به یک کل منسجم متصل می‌کند. این شیوه‌ها، همه از عملکرد چشم‌انداز مشتری‌محوری تبعیت می‌کنند. هدف اصلی آن، ارائه محسوس با روش زمانی استفاده از نرم‌افزار به صورت متناوب می‌باشد.تاریخچه.FDD ابتدا توسط جف دلوکا جهت پاسخگویی به نیازهایویژه از پروژه نرم‌افزار توسعه(۵۰ ماه، ۵۰ شخص) در یک بانک بزرگ سنگاپور در سال۱۹۹۷ ابداع شد. جف دلوکا پنجفرایندی که روند توسعهٔ یک مدل کلی و فهرست آن، برنامه‌ریزی، طراحی، ساخت و ویژگی‌هایآن را پوشش می‌دهد، ارائه می‌نماید. اولین فرایند، به شدت تحت تأثیر روند مدل‌سازیپیتر کود می‌باشد. فرایند دوم شامل ایده‌های پیتر کود با استفاده از لیست ویژگی‌هاییبرای مدیریت الزامات عملکردی و توسعهٔ وظایف، می‌باشد. فرایندهایدیگر و ترکیب دیگر فرایندها و تبدیل آن به یک کل منسجم، نتیجهٔ تجربه جف دلوکا می‌باشد.تا استفاده موفقیت‌آمیز بر روی پروژه سنگاپور، چندین اجرا برای FDD وجودداشته‌است.شرح FDD برای اولین بار در جهان، در فصل ۶ کتاب"مدلینگ در رنگ با یو ام‌ال جاواً در سال ۱۹۹۹ توسط پیتر کود، اریکلوفور و جف دلوکا، معرفی شد. سپس در کتاب‌های استیفن پالمر و مکفلشینگ با عنوان "راهنمای عملی برای پیشرفت توسعه محور"، که در سال ۲۰۰۲منتشر شد، که جدا از کتاب مدلینگ جاوا، تعریف جدیدی از اف دی دی داده شده‌است.روند اصلی و نهایی FDD را می‌توان در وب‌سایت جفدلوکا و در زیر مجموعهٔ مقالات، جستجو کرد. هم‌چنین وب‌سایتی عمومی جهت یادگیریبیشتر راجع به FDD، پرسش سوالات و تجربه‌ها و بحث راجع به روندهای خودشان،وجود دارد.بررسی اجمالی.FDD یک روند تکرار کوتاه و مدل محور است که شامل پنج فعالیت اساسی می‌باشد.برای گزارش دقیق و پیگیری پروژه توسعه نرم‌افزار، نقاط ضعف که نشانه‌های پیشرفت درهر یک از ویژگی‌ها تعریف شده می‌باشد، مشخص شده‌است. این بخش یک بررسی اجمالی درسطح بالا از فعالیت‌ها را گزارش می‌دهد.توسعه مدل جامع.پروژه FDD، با خرید در سطح بالا از محدوده سیستم و متن آن شروع می‌شود.قدم بعد، ارائهٔ مدل‌های دقیق با جزئیات برای هر محدوده توسط گروه‌های کوچک ایجادشده و بررسی دقیق آن‌ها می‌باشد. یکی از مدل‌های ارائه شده یا ترکیبی از آن‌هابرای تبدیل شدن به مدل برای هر محدوده از این دامنه، انتخاب شده‌است. مدل محدودهاین دامنه به تدریج به یک مدل کلی ادغام می‌شود.ساخت لیستی از طرح‌ها.اطلاعات در طول مدل‌سازی اولیه برای معرفی یک لیست از طرح‌ها، جمع‌آوری شدهاست. محدوده موضوع هریک شامل فعالیت‌های کسب‌وکار و مراحل فعالیت پایه‌ای توسطتجزیه کاربردی محدوده مربوط به موضوع برای لیست طبقه‌بندی شده در طرح می‌باشد. طرح‌هادر این رابطه، اجزای کوچکتر عملکرد مشتری محور بیان شده در فرم می‌باشند که هریکشامل عملکرد، نتیجه و کالا می‌شوند. به عنوان مثال مجموع فروش یا اعتبارسنجی رمزعبور یک کاربر. تکمیل طرح‌ها نباید بیش از دو هفنه زمان ببرند، بلکه باید به اجزایکوچکتر تقسیم شوند.برنامه‌ریزی توسط طرح.بعد از تکمیل لیست طرح، قدم بعد تولید برنامه توسعه می‌باشد. اختصاص مالکیت درطرح‌ها (یا مجموعه طرح‌ها) به عنوان روندی برای برنامه‌نویسان.طراحی بر اساس راهکارها.برای هریک از راهکارها یک بسته تولید شده‌است. یک برنامه‌نویس ارشد، یک گروهاز طرح‌ها را که در طی دو هفته توسعه یافته‌است را انتخاب می‌کند. همراه با مکاتبهبا صاحبان کلاس مربوطه، برنامه‌نویس ارشد برای هر طرح و تصفیه مدل کلی، نمودارهایمتوالی دقیقی را بیرون می‌کشد. کلاس و پیش‌درآمد مکتوب شده‌است و در نهایت یکبازرسی از طراحی برگزار می‌گردد.ساخت بر اساس طرح.پس از فائق آمدن در بازرسی طراحی برای تولید فعالیت طراحی، عملکرد مشتری محوربرنامه‌ریزی می‌شود. هریک از صاحبان کلاس‌ها، برنامه‌نویسی کلاس‌هایشان را توسعهمی‌دهند. بعد از بازرسی برنامه‌نویس‌ها و آزمون واحدها، طرح تکمیل شده به مرحلهٔساخت اصلی راه می‌یابد.نقاط عطف.از آن‌جا که طرح‌ها کوچک هستند، تکمیل یک طرح، نسبتاً کار کوچکی به حساب می‌آید.برای گزارش دقیق پیگیری پروژه توسعه نرم‌افزار، مشخص نمودن روند ساخته شده در هرطرح مهم می‌باشد؛ بنابراین FDD تعریفی از ۶ نقطه عطف در هر طرح می‌باشد که بهتدریج تکمیل می‌شوند. سه نقطه عطف اولیه در طول فعالیت طراحی و سه مورد دیگر درطول ساخت آن تکمیل می‌شوند. برای کمک به ردیابی این روند، درصد کاملی به هر نقطهعطف اختصاص داده شده‌است. زمانی‌که برنامه‌نویسی برای یک طرح آغاز می‌شود، ۴۴ درصدتکمیل شده می‌باشد (دامنه خرید ۱ درصد، طراحی ۴۰ درصد، بازرسی از طراحی ۳ درصد؛ درمجموع ۴۴ درصد).بهترین شیوه ساخت.توسعه روند طرح که روی مجموعه‌ای از بهترین شیوه ساخت مهندسی نرم‌افزار ساختهشده‌است، همه در یک چشم‌انداز طراحی مشتری محور هدف‌گذاری شده‌اند.مدل‌سازی دامنه کالا: مدل‌سازی دامنه کالا متشکل از کاوش و شرح دامنه حل مشکل می‌باشد.و نتیجه مدل محدوده کالا یک چارچوب کلی که به طرح اضافه می‌شود را فراهم می‌نماید.توسعه بر اساس طرح: هر عملکرد بیش از حد پیچیده‌است که بتوان در طول دو هفتهاجرا شود؛ بنابراین باید به اجزای کوچکتر تقسیم شوند تا هر زیرمشکل برای تبدیل بهیک طرح کافی باشد. این روند ارائهٔ عملکرد صحیح و گسترش ویرایش سیستم را آسانترمی‌کند.کلاس‌های فردی مالکیت (برنامه‌نویسی): کلاس‌های فردی مالکیت که به معنای بخش‌های مختلف یا گروهیاز برنامه‌نویسان که به یک مالک اختصاص داده می‌شود، می‌باشند. مالک، در برابرثبات، عملکرد و یکپارچگی کلاس، مسئول می‌باشد.تیم طراحی: یک تیم طراحی، تیمی است کوچک و پویا که فعالیت‌های کوچک راتوسعه می‌دهد. با انجام این کار، ذهن‌های متعدد همیشه برای تصمیم راجع به هر طرحآماده می‌باشد و گزینه‌های مختلف همیشه قبل از انتخاب ارزیابی می‌شوند.بازرسی: بازرسی‌ها برای اطمینان از طراحی و برنامه‌نویسی با کیفیت خوب در درجه اول باتشخیص نقص‌های آن‌ها انجام می‌گیرد.مدیریت شکل‌گیری: میریت شکل‌گیری کمک می‌کند تا تیم طراحی با شناسایی منبعبرنامه‌نویسی برای همهٔ طرح‌ها که در تاریخ مشخص انجام شده‌اند و برای حفظ سابقهٔتغییرات برای کلاس‌ها، آن‌ها را ارتقا می‌دهند.ساخت منظم: ساخت منظم این اطمینان را ایجاد می‌کند که همیشه یک سیستمبه روز برای نشان دادن و مشخص نمودن خطاهای منابع برنامه‌نویسی برای طرح‌های اولیهبه مشتریان، وجود دارد.چشم‌انداز روند و نتایج: با پیشرفت‌های مکرر، مناسب و گزارش دقیق در تمامی سطوحداخلی و خارجی پروژه، بر اساس کار تکمیل شده، مدیران در اداره کردن صحیح پروژهیاری می‌شوند.متامدل.جدول۲- مدل داده‌ها برای اف دی دیمتامدل به تجسم هر دو فرایند وداده‌های یک روش کمک می‌کند تا این روش‌ها بتوانند مقایسه شوند و اجزای این روشبتوانند در روشی مهندسی به راحتی دوباره استفاده شوند. مزیت این روش، آن است که واضح،جمع‌وجور و مطابق با استانداردهای یو ام‌ال می‌باشد.در سمت چپ مدل، ابرداده به تصویرکشیده شده‌است. پنج فعالیت اساسی درگیر در یک پروژه توسعه نرم‌افزار با استفاده ازاف دی دی نشان داده می‌شود. فعالیت‌ها همه شامل زیرفعالیت‌هایی که مطابق بازیرفعالیت‌های موجود در روند شرح اف دی دی در وب‌سایت جف دلوکا، می‌باشند. سمتراست مدل، ایده‌های طرح را نشان می‌دهد. این ایده‌ها از فعالیت‌های به تصویر کشیدهشده در سمت چپ دیاگرام نشات می‌گیرند. تعریفی از این ایده در جدول ۳، ارائه شدهاست.ابزار مورد استفاده.طراحیفکر روش توسعه طرحمنابع.1. ، Lefebvre,E.&amp; (1999). "Java ModelingIn Color With UML: Enterprise Components and Process". Prentice HallInternational. ()2. Palmer, S.R. , &amp; Felsing,J.M.(2002). "A Practical Guide to Feature-Driven Development". Prentice Hall.