کتاب BDD برای تجزیه و تحلیل نیازمندیهای پیچیده با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
BDD برای تجزیه و تحلیل نیازمندیهای پیچیده: گامی فراتر در برنامه نویسی مدرن! BDD Masterclass خانه درباره ما تماس با ما معرفی دوره: از سردرگمی تا اطمینان در توسعه نرمافزار آیا از پیچیدگیهای نیازمندی...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره BDD برای تجزیه و تحلیل نیازمندیهای پیچیده
موضوع کلی: برنامه نویسی
موضوع میانی: توسعه رفتارمحور (BDD)
📋 سرفصلهای دوره
- 1. مقدمهای بر پیچیدگی در نیازمندیهای نرمافزار
- 2. چالشهای روشهای سنتی تحلیل نیازمندیها
- 3. آشنایی با اصول و ارزشهای تفکر چابک (Agile)
- 4. توسعه رفتارمحور (BDD) چیست؟ فلسفه و اهداف آن
- 5. تاریخچه BDD: از توسعه آزمونمحور (TDD) تا BDD
- 6. معرفی مفهوم "سه رفیق" (The Three Amigos)
- 7. مقایسه BDD، TDD و ATDD
- 8. چرخه کامل BDD: کشف، فرمولهسازی و اتوماسیون
- 9. زبان فراگیر (Ubiquitous Language) و نقش آن در BDD
- 10. مزایای کلیدی BDD برای پروژههای پیچیده
- 11. باورهای غلط رایج در مورد BDD
- 12. اصطلاحات بنیادی: ویژگی (Feature)، سناریو (Scenario)، گام (Step)
- 13. BDD به عنوان یک فرآیند ارتباطی، نه فقط یک ابزار تست
- 14. ایجاد درک مشترک (Shared Understanding) در تیم
- 15. مفهوم مستندات زنده (Living Documentation)
- 16. اهمیت گفتگو بر مستندسازی صرف
- 17. اصول برگزاری کارگاههای کشف نیازمندی (Discovery Workshops)
- 18. تکنیک نگاشت مثال (Example Mapping) برای شکستن پیچیدگی
- 19. تشریح اجزای نگاشت مثال: قانون، مثال، و سوال
- 20. شناسایی اهداف کسبوکار و ارزش پیشنهادی
- 21. تعریف پرسونای کاربران و درک نیازهای آنها
- 22. هنر نوشتن داستانهای کاربری (User Stories) مؤثر
- 23. به کارگیری اصل INVEST برای داستانهای کاربری باکیفیت
- 24. شکستن ویژگیهای بزرگ (Epics) به داستانهای قابل مدیریت
- 25. تکنیکهای عملی برای ساخت و تکامل زبان فراگیر
- 26. راهکارهای مدیریت ابهام و ناشناختهها در نیازمندیها
- 27. نقش تحلیلگر کسبوکار یا مالک محصول در فاز کشف
- 28. نقش توسعهدهنده در شفافسازی نیازمندیهای فنی
- 29. نقش متخصص تضمین کیفیت (QA) در شناسایی موارد مرزی
- 30. تکنیکهای همکاری از راه دور در جلسات BDD
- 31. استفاده از نگاشت داستان (Story Mapping) برای تجسم سفر کاربر
- 32. استفاده از نگاشت تأثیر (Impact Mapping) برای اتصال ویژگیها به اهداف
- 33. تحلیل و تعریف نیازمندیهای غیرکاربردی (NFRs)
- 34. چگونه سوالات قدرتمند و درستی بپرسیم؟
- 35. مستندسازی خروجی کارگاههای کشف به شیوهای مؤثر
- 36. معرفی زبان Gherkin به عنوان زبان استاندارد BDD
- 37. ساختار یک فایل Feature و بهترین شیوههای نگارش آن
- 38. کلیدواژه `Feature`: تعریف هدف و ارزش کسبوکار
- 39. کلیدواژههای `Scenario` و `Scenario Outline`
- 40. ساختار سهبخشی: `Given`, `When`, `Then`
- 41. کاربرد `And` و `But` برای افزایش خوانایی سناریوها
- 42. نگارش سناریوهای اعلانی (Declarative) در مقابل دستوری (Imperative)
- 43. هنر نوشتن `Given`: آمادهسازی زمینه و وضعیت اولیه
- 44. هنر نوشتن `When`: توصیف دقیق عمل یا رویداد
- 45. هنر نوشتن `Then`: تعریف خروجی و نتایج قابل اندازهگیری
- 46. استفاده از `Background` برای کاهش تکرار در سناریوها
- 47. استفاده از جداول `Examples` برای سناریوهای دادهمحور
- 48. کار با دادههای پیچیده از طریق جداول در گامها
- 49. استفاده از `Doc Strings` برای ورودیهای متنی چندخطی
- 50. اصول سازماندهی و مدیریت فایلهای Feature در پروژه
- 51. بهترین شیوهها برای نگارش Gherkin خوانا و قابل نگهداری
- 52. ضدالگوهای رایج در Gherkin و نحوه اجتناب از آنها
- 53. نوشتن سناریو برای تست API و وبسرویسها
- 54. نوشتن سناریو برای تعاملات پیچیده رابط کاربری (UI)
- 55. نوشتن سناریو برای قوانین کسبوکار (Business Rules) پیچیده
- 56. مرور و بازبینی سناریوهای Gherkin با "سه رفیق"
- 57. کنترل نسخه (Versioning) فایلهای Feature با Git
- 58. استفاده از تگها (Tags) برای دستهبندی و اجرای سناریوها
- 59. نقش Gherkin به عنوان پل ارتباطی میان کسبوکار و تیم فنی
- 60. ابزارها و افزونههای IDE برای کار با Gherkin
- 61. مقدمهای بر فریمورکهای اتوماسیون BDD (مانند Cucumber, SpecFlow)
- 62. انتخاب فریمورک مناسب بر اساس پلتفرم تکنولوژی
- 63. راهاندازی اولیه یک پروژه اتوماسیون BDD
- 64. مفهوم تعاریف گام (Step Definitions)
- 65. اتصال گامهای Gherkin به کد اجرایی (Glue Code)
- 66. استفاده از Regular Expressions و Cucumber Expressions
- 67. نحوه انتقال پارامترها از گامها به متدهای کد
- 68. الگوی Page Object Model (POM) برای اتوماسیون UI
- 69. معرفی الگوی Screenplay به عنوان جایگزینی برای POM
- 70. مدیریت وضعیت (State) بین گامهای مختلف یک سناریو
- 71. استفاده از تزریق وابستگی (Dependency Injection) در تعاریف گام
- 72. راهکارهای مدیریت عملیات غیرهمزمان (Asynchronous)
- 73. اصول نوشتن تعاریف گام قابل استفاده مجدد (Reusable)
- 74. تکنیکهایی برای جلوگیری از تستهای شکننده (Brittle Tests)
- 75. استراتژیهای مدیریت دادههای تست (Test Data Management)
- 76. ادغام تستهای BDD در خط لوله یکپارچهسازی و تحویل مداوم (CI/CD)
- 77. تولید گزارشهای تست خوانا و کاربردی از اجرای BDD
- 78. روشهای اشکالزدایی (Debugging) سناریوهای ناموفق
- 79. نقش اتوماسیون در تحقق "مستندات زنده"
- 80. BDD در معماری میکروسرویس: چالشها و راهکارها
- 81. تست قرارداد (Contract Testing) با رویکرد BDD
- 82. استراتژیهای مقیاسپذیری BDD در سازمانهای بزرگ و تیمهای متعدد
- 83. چگونه فرهنگ "مشخصات مبتنی بر مثال" (SBE) را نهادینه کنیم؟
- 84. معیارهای کلیدی برای سنجش موفقیت پیادهسازی BDD
- 85. بهکارگیری BDD برای تحلیل و بهبود سیستمهای قدیمی (Legacy)
- 86. تعریف رفتارهای مورد انتظار برای نیازمندیهای عملکردی (Performance)
- 87. استفاده از BDD برای تعریف نیازمندیهای امنیتی
- 88. ادغام BDD با مفاهیم طراحی دامنه محور (Domain-Driven Design)
- 89. نقش متخصص BDD به عنوان عامل تغییر در سازمان
- 90. آموزش و مربیگری تیمها برای پذیرش مؤثر BDD
- 91. تکنیکهای پیشرفته نگاشت مثال برای دامنههای بسیار پیچیده
- 92. استفاده از Domain Storytelling برای کشف فرآیندهای کسبوکار
- 93. مدیریت یک مجموعه بزرگ و در حال رشد از فایلهای Feature
- 94. فرآیند کشف و پالایش مستمر نیازمندیها
- 95. کاربرد اصول BDD فراتر از توسعه نرمافزار
- 96. مرور جامع چرخه BDD از ایده تا نرمافزار در حال کار
- 97. چالشهای رایج در پذیرش BDD و راهکارهای غلبه بر آنها
- 98. مطالعه موردی: تحلیل یک پروژه پیچیده با استفاده از BDD
- 99. چشمانداز آینده BDD و ابزارهای تحلیل مشارکتی
- 100. پروژه نهایی: پیادهسازی کامل BDD برای یک سناریوی پیچیده
تگها:
Agile
BDD
BDD in Persian
Programming
Softwar Development
برنامه نویسی
بکدِو، بک اند، رفتارگرایی
تجزیه و تحلیل نیازمندی
تست نرم افزار
توسعه رفتار محور
توسعه نرم افزار
مهندسی نرم افزار
نیازمندی های پیچیده
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.