ورود

View Full Version : مفهوم Iterative



manager
شنبه 09 دی 1385, 13:36 عصر
سلام

کسی می تونه مفهوم دقیق Iterative و یا توسعه نرم افزار با تکرار رو شرح بده !
من تو درک این مفهوم مشکل دارم.

whitehat
شنبه 09 دی 1385, 14:27 عصر
دیدگاه Iterative برای توسعه نرم افزار برای موقعی بکار میره که شما مراحل تولید نرم افزار را می بایست چندین بار تکرار کنید. مثلا در متدلوژی مانند RUP یا USDP تولید نرم افزار به چندین بخش تقسیم می شود (فاز) که در هر یک از این مراحل یک بار کل مراحل تولید نرم افزار (که در متلوژی آبشاری وجود دارد) اجرا می شود که همین پروسه انجام شده را یک تکرار می گویند، شما در هر یک از این فاز ها بنابه نوع پروژه خود می بایست تعداد تکرار ها را در هر یک از فاز ها مشخص کنید
مثال :یک برنامه کتابخانه را در نظر بگیرید و فرض کنید با محیط و نوع نیاز مندید ها به طور کامل آشنا هستید ، پس در مرحله شناخت فقط یک تکرار مورد نیاز شما است، حال فرض کنید می خواهید از یک معماری جدید برای پیاده سازی نرم افزار استفاده کنید که تیم نرم افزار با آن آشنایی ندارند بنابراین شما می بایست علاوه بر تکراری که برای خود در نظر گرفته اید یک تکرار هم به فاز دوم خود اضافه کنید و ....
موفق باشید

manager
یک شنبه 10 دی 1385, 09:24 صبح
ممنون جناب ولی من باید سوالم رو اصلاح کنم، من با مفهوم و تئوری تکرار آشنا هستم ولی با مفهوم عملی آن مشکل دارم !
مثلا در مثال شما که کتابخانه بود و بنده با محیط و نیازمندی های آن آشنائی کامل دارم، در فاز Inception و یا شناخت فقط یک تکرار مورد نیاز بود ! تکرار یعنی اینکه تمامی دسیپلین های توسعه نرم افزار رو طی کنیم، خوب در اینجا چه لزومی داره که مثلا دسیپلین دیباگ انجام بشه ! اصلا مگه چیزی هست که دیباگش انجام بشه !

whitehat
یک شنبه 10 دی 1385, 13:45 عصر
بهتره ابتدا متدلوژِی خود را مشخص کنید. در اینجا فرض کنیم RUP متدلوژی است که در مورد آن بحث می کنید. در فاز های مختلف ممکنه که شما نیاز به انجام بعضی از مراحل نداشته باشید . به نمودار زیر توجه کنید :
http://dn.codegear.com/article/images/33319/RUP.JPG
همانطور که مشاهده می کنید برخی از مراحل توسعه نرم افزار در بعضی از جاها کمرنگ تر و در بعضی از جاها پررنگ تر است بنابه پروژه شما میزان عملکرد هر کدام از این مراحل در فازهای شما تغییر پذیر است. شاید در بعضی از فاز ها لازم نباشد اصلا مرحله ای را اجرا کنید مانند مرحله استقرار در فاز اول.
اگر سوال شما صرفا در مورد مرحله تست است ، باید بگویم که RUP فقط متدلوژِی ایجاد یک نرم افزار را در بر نمی گیرد! مرحله تست در فاز Inception برای پروژه هایی است که شما باید آنرا Re engineering کنید مثلا نرم افزاری در سازمانی وجود دارد که شما می بایست آنرا بهینه کنید،برای این کار شاید لازم باشد برای شناخت در فاز اول نرم افزار موجود را بررسی و تست نمائید :)
موفق باشید