| توسعه نرم‌افزار |
| --- |
| فعالیت‌های اصلیدر مهندسی نرم‌افزار
* فرایند
* نیازمندی‌ها
* طراحی
* ساخت
* آزمون
* اشکال‌زدایی
* استقرار
* نگهداری
 |
| پارادایم‌ها و مدل‌ها
* چابک
* Cleanroom
* افزایشی
* پروتوتایپ
* مدل مارپیچی
* آبشاری
 |
| متدولوژی‌ها و چارچوب‌ها
* دواپس
* DSDM
* FDD
* IID
* Kanban
* Lean SD
* MDD
* MSF
* PSP
* توسعه سریع نرم‌افزارRAD
* SAFe
* Scrum
* SEMAT
* TSP
* RUP
* مدل وی
* XP
 |
| رشته‌های مورد حمایت
* رشته‌های مورد حمایت
مدیریت پیکربندی
* مستندسازی
* تضمین کیفیت (SQA)
* مدیریت پروژه
* تجربه کاربری
 |
| کاربردهای عملی
* توسعه آزمون محور
* BDD
* CCO
* CI
* CD
* DDD
* PP
* Stand-up
* TDD
 |
| ابزار
* کامپایلر
* اشکال‌زدا
* رخ‌نمانگار
* GUI designer
* مقایسه ابزارهای زبان مدل‌سازی یکپارچه
* محیط توسعه یکپارچه
* Build automation
* Release automation
* Infrastructure as Code
* آزمون
 |
| استانداردها و بدنه‌های دانش
* CMMI
* IEEE standards
* ایزو ۹۰۰۰
* ISO/IEC standards
* SWEBOK
* پم‌باک
* BABOK
 |
| واژه‌نامه‌ها
* Artificial intelligence
* Computer science
* Electrical and electronics engineering
 |
| رئوس مطالب
* Outline of software development
 |
| * ن
* ب
* و
 |

روش توسعه سامانه‌های پویا
توسعه سیستم‌های پویا یک چارچوب برای تحویل پروژه‌های نرم‌افزاری به روش چابک است. برای اولین بار در سال ۱۹۹۴ این روش برای برطرف ساختن برخی از اشکالات در روش توسعه سریع نرم‌افزار منتشر شد. توسعه سیستم‌های پویا یک روش تکرار شونده و افزایشی است که قوانین موجود در روش چابک (یعنی توسعه پروژه با دخالت مشتری در پروژه) را در بر می‌گیرید.

توسعه سیستم‌های پویا هزینه، کیفیت و زمان را با استفاده از اولویت بندی روش ماسکو به طرز مناسبی ثابت می‌کند تا در محدودیت زمانی اعلام شده از سوی مشتری پروژه در زمان مناسبی تحویل گردد. همان‌طور که گفته شد روش توسعه سیستم‌های پویا در مدل توسعه نرم‌افزاری چابک قرار می‌گیرد.

در سال 2007 روش توسعه سامانه‌های پویا با نام توسعه سامانه‌های پویایِ آترن ثبت شد. کلمه آترن (atern) کوتاه شده کلمه (Arctic tern) به معنای پرستوی دریای شمال - پرنده‌هایی هستند در قطب شمال که مسافت‌های زیادی را طی می‌کنند و در سفرها با یکدیگر همکاری منسجمی دارند. البته در سال 2014 این نام تغییر یافت و به نام قبلی خود یعنی روش توسعه سامانه‌های پویا بازگشت.

کنسرسیوم (مجمع شرکت‌ها) توسعه سامانه‌های پویا
---------------------------------------------

در اولیل دهه نود میلادی برنامه‌سازی سریع به سرعت در سطح دنیا فراگیر میشد به‌طوری‌که صنعت آی تی جهان را تحت شعاع خود قرار دارد و به این صورت که ظاهر برنامه‌ها و واسط کاربری برنامه‌ها از آن حالت سبز و ساده و قدیمی که داشتند به سمت واسطه‌های کاربری گرافیکی زیبا و جذاب حرکت می‌کرد.

ابزارهای مختلف مانند پاور بیلدر که برای برنامه‌سازی بود به سرعت در بازارها در حال رشد بود که این باعث شد برنامه نویسان راحت‌تر ایده‌ها و پیشنهادهای خود را به مشتری‌ها انتقال بدهند ، در واقع از اصل پروتوتایپینگ که یک روش کلاسیک و قدیمی بود استفاده می‌کردند. در مقابل این اصل برنامه‌سازی سریع پیشرفت آن به شکل ساختار نایافته و نامنظم بود و هیچ تعریف مشخصی که تمام برنامه نویسان و تمام سازمان‌ها آن تعریف را قبول داشته باشند و به شکل مناسبی نزد آن‌ها مقبولیت داشته باشد وجود نداشت و هر کدام از آن‌ها تعریف و برداشت مستقل خود را از روش توسعه سامانه پویا داشتند (البته همهٔ آن‌ها در این که این یک رویکرد مناسب برای تحویل پروژه است هم نظر بودند که در عین حال می‌توانست کیفیت کار را پایین بیاورد).

همانطور که در بالا گفته شد روش توسعه سامانه‌های پویا در سال 1994 توسط انجمنی از فروشندگان تجاری و متخصصین در زمینه مهندسی کامپیوتر با هدف ایجاد یک چارچوب کاری کامل و متصل برای برنامه‌سازی سریع ایجاد شد.

مبدا این کار توسط گروهی به نام باتلردر شهر لندن بود. ادمایی که در این همایش آمده بودند همگی برای سازمان بلو چیپ کار می‌کردند همانند بریتیش ایر و آمریکن اکسپرس و اوراکل و ... (بقیه شرکت‌های بزرگی که در این زمینه کار می‌کردند) البته تمامی این فعالیت‌ها هیچکدام برای برای منفعت طلبی انجام نمی گرفت بلکه همگی یک هدف یعنی ایجاد یک چارچوب کاری برای تحویل پروژه‌های نرم‌افزاری را دنبال می‌کردند.

روش توسعه سامانه‌های پویایِ آترن
--------------------------------

این روش همانطور که گفته شد مستقل فروشندگی هست که نشان می‌دهد که بیشتر شسکت‌ها در پروژه‌های نرم‌افزاری بیشتر خود افراد دخیل هستند تا تکنولوژی‌هایی که در پروژه‌ها استفاده می‌شود ،بر همین اساس روش توسعه سامانه‌های پویا بر این موضوع که آدم‌های درون یک پروژه بهتر بتوانند با یکدیگر همکاری کنند تا هدف‌های تجاری خود را برآورده کنند تمرکز دارد.

این رویکرد همچنین مستقل از ابزارها و تکنیک‌هایی است که در بسیاری از تجارت‌ها و محیط‌های فنی استفاده بشود.

### اصول

هشت قاعده در مورد توسعه سامانه‌های پویا در زیر آمده‌است:

1. توجه به نیازهای تجارتی که در حال انجام است
2. به موقع تحویل دادن پروژه
3. همکاری افراد گروه با یکدیگر
4. هیچ وقت کیفیت را فراموش نکنید
5. از پایه پروژه را شروع کنید و آن را بسازید
6. به شکل تکراری افزایش توسع دهید
7. با یکدیگر همیشه در ارتباط باشید و منظور یکدیگر را بدانید
8. کنترل پروژه را داشته باشد

پانویس
------



| * ن
* ب
* و
مهندسی نرم‌افزار |
| --- |
| حوزه‌ها | تحلیل نیازمندی‌ها •  تحلیل سامانه‌ها •  طراحی نرم‌افزار •  برنامه‌نویسی •  روش‌های صوری •  وارسی مدل •  تست نرم‌افزار •  توسعه نرم‌افزار •  گسترش نرم‌افزار •  نگهداری نرم‌افزار |
| مفاهیم | مدل‌سازی داده •  معماری سازمانی •  مشخصات کاربردی •  زبان مدل‌سازی •  پارادایم برنامه‌نویسی •  نرم‌افزار •  معماری نرم‌افزار •  فرایند توسعه نرم‌افزار •  فرایند تولید نرم‌افزار •  کیفیت نرم‌افزار •  تضمین کیفیت نرم‌افزار •  Software archaeology •  تحلیل ساختمند |
| گرایشات | مدل چابک •  مدل طراحی جنبه‌گرا •  شیءگرایی •  آنتولوژی •  سرویس‌گرایی •  چرخه حیات توسعه سیستم‌ها |
| مدل‌ها | 

|  |  |
| --- | --- |
| مدل‌های توسعه | مدل چابک •  آریوپی  •  اسکرام •  مدل مارپیچی •  مدل آبشاری •  برنامه‌سازی مفرط •  مدل وی •  مدل تکراری و افزایشی •  پیش‌نمونه |
| مدل‌های دیگر | Automotive SPICE •  مدل بلوغ قابلیت یکپارچه •  مدل داده •  مدل تابع •  مدل اطلاعات •  فرامدل •  مدل شیءگرایی •  مدل‌سازی سیستم‌ها •  مدل نما |
| زبان‌های مدل سازی | IDEF •  زبان مدل‌سازی یکپارچه |

 |
| مهندساننرم‌افزار سرشناس | 
* ویکتور باسیلی
* کنت بک
* گریدی بوچ
* فردریک بروکز
* Barry Boehm
* وارد کانینگهام
* تام دی ماکرو
* ادسخر دیکسترا
* مارتین فولر
* تونی هور
* واتس هامفری
* مایکل ای. جکسون
* ایوار جاکوبسون
* Stephen J. Mellor
* برترند میر
* دیوید پارناس
* وینستون واکر رویس
* جیمز رامبا
* نیکلاوس ویرت
* Edward Yourdon
* Mohamed Fayad

 |
| حوزه‌های مرتبط | 
* علوم رایانه
* مهندسی کامپیوتر
* مدیریت پروژه
* مدیریت ریسک
* مهندسی سامانه‌ها

 |
|  •  رده  •  انبار |

|  |  |
| --- | --- |
| آیکون خرد | این یک مقالهٔ خرد رایانه است. می‌توانید با گسترش آن به ویکی‌پدیا کمک کنید. |