ݺߣ

ݺߣShare a Scribd company logo
Software Development Workflow
‫افزار‬ ‫نرم‬ ‫توسعه‬ ‫فرآیند‬
https://hosseinzahed.com
hello@hosseinzahed.com
1
Hossein Zahed ‫زاهد‬ ‫حسین‬
-
Steps – ‫مراحل‬
Step ‫مرحله‬
Planning & Team Setup ‫تیم‬ ‫تشکیل‬ ‫و‬ ‫ریزی‬ ‫برنامه‬
Software Development Phase ‫افزار‬ ‫نرم‬ ‫توسعه‬ ‫فاز‬
Deployment & UAT ‫ها‬ ‫تست‬ ‫انجام‬ ‫و‬ ‫بارگذاری‬
Operations & Maintenance ‫نگهداری‬ ‫و‬ ‫ها‬ ‫عملیات‬
Decommissioning ‫افزار‬ ‫نرم‬ ‫کردن‬ ‫خارج‬ ‫رده‬ ‫از‬
https://hosseinzahed.com
hello@hosseinzahed.com
2
Planning & Team Setup – ‫تیم‬ ‫تشکیل‬ ‫و‬ ‫ریزی‬ ‫برنامه‬
•
‫نیازمندی‬ ‫سند‬ ‫تولید‬
‫های‬
‫کار‬ ‫و‬ ‫کسب‬
(BRD: Business Requirements Document)
•
‫خالصه‬
‫پروژه‬
•
‫اهداف‬ ‫جزییات‬
•
‫مرزها‬ ‫و‬ ‫محدوده‬
•
‫ها‬ ‫نیازمندی‬
•
‫کلیدی‬ ‫سهامداران‬
•
‫ها‬ ‫محدودیت‬
•
‫هزینه‬ ‫تحلیل‬
-
‫فایده‬
https://hosseinzahed.com
hello@hosseinzahed.com
3
BRD
Executive
summary
Objectives
Scope
Requirements
Stakeholders
Constraints
Cost-benefit
analysis
Planning and Team Setup – ‫تیم‬ ‫تشکیل‬ ‫و‬ ‫ریزی‬ ‫برنامه‬
•
‫کاربردی‬ ‫غیر‬ ‫های‬ ‫نیازمندی‬ ‫سند‬ ‫تولید‬
(NFR: Non-Functional Requirements Document)
•
‫نیروی‬ ‫اختصاص‬
‫دسترس‬ ‫در‬ ‫و‬ ‫الزم‬ ‫انسانی‬
•
‫تیم‬ ‫تشکیل‬ ‫و‬ ‫انسانی‬ ‫نیروی‬ ‫های‬ ‫نقش‬ ‫کردن‬ ‫مشخص‬
•
‫زمانی‬ ‫تخمین‬
‫انسانی‬ ‫نیروی‬ ‫اساس‬ ‫بر‬
•
‫تخمین‬
‫نهایی‬
‫هزینه‬
‫نیروی‬ ،‫زمان‬ ‫اساس‬ ‫بر‬
،‫کار‬
BRD
‫و‬
NFR
•
‫یا‬ ‫دوام‬ ‫قابل‬ ‫محصول‬ ‫حداقل‬ ‫تولید‬ ‫محدوده‬ ‫تعریف‬
MVP
•
Minimum Viable Product
https://hosseinzahed.com
hello@hosseinzahed.com
4
NFR
Performance
Usability
Localization
Security
Scalability
Maintainability
Portability
Compatibility
Reliability
Availability
Software Development Phase – ‫افزار‬ ‫نرم‬ ‫توسعه‬ ‫فاز‬
•
‫ابزارها‬ ‫و‬ ‫جامع‬ ‫نویسی‬ ‫برنامه‬ ‫محیط‬ ‫سازی‬ ‫آماده‬
•
‫کنترلر‬ ‫ورژن‬ ‫اندازی‬ ‫راه‬
(git)
•
‫همفکری‬ ‫و‬ ‫بررسی‬ ‫و‬ ‫تحلیل‬ ‫جلسات‬ ‫برگزاری‬
•
‫سیستم‬ ‫اجزای‬ ‫کلی‬ ‫طراحی‬
(Architectural System Design)
•
‫امن‬ ‫و‬ ‫بهینه‬ ‫کارهای‬ ‫راه‬ ‫یافتن‬
•
‫الزم‬ ‫های‬ ‫دیاگرام‬ ‫تولید‬
(Use case, Sequence, Dependency)
•
‫کدها‬ ‫نوشتن‬
•
‫اتوماتیک‬ ‫های‬ ‫تست‬ ‫انجام‬
•
‫کدها‬ ‫بازبینی‬
•
‫راه‬
‫روی‬ ‫برای‬ ‫افزار‬ ‫نرم‬ ‫اجرای‬ ‫زیرساخت‬ ‫اندازی‬
‫ابری‬ ‫رایانش‬ ‫یا‬ ‫سرور‬
(Cloud)
https://hosseinzahed.com
hello@hosseinzahed.com
5
Software
Development
• Environment
• Version controller
• Mind storming
• Architecture
• Solutions
• Diagrams
• Codes
• Automated tests
• Code reviews
• Infrastructure
Deployment & UAT – ‫ها‬ ‫تست‬ ‫انجام‬ ‫و‬ ‫بارگذاری‬
Title ‫عنوان‬
DevSecOps: Development Security Operations
(SonarQube, Polaris, Qualys, Snyc, BlackDuck, Dependabot)
‫بارگذاری‬ ‫زیرساخت‬ ‫سازی‬ ‫آماده‬
CI/CD: Continuous Integration/Continuous
Delivery(Deployment) Pipelines
‫روندهای‬ ‫ایجاد‬
‫دائمی‬
‫بارگذاری‬ ‫و‬ ‫ساخت‬
UAT: User Acceptance Tests ‫انسانی‬ ‫های‬ ‫تست‬ ‫انجام‬
Load, Performance, Penetration, Stress Tests ‫عملکردی‬ ‫های‬ ‫تست‬ ‫انجام‬
Upstream / Downstream dependencies
integration
‫ها‬ ‫سیستم‬ ‫سایر‬ ‫با‬ ‫ادغام‬ ‫و‬ ‫اتصال‬
https://hosseinzahed.com
hello@hosseinzahed.com
6
Operations & Maintenance – ‫نگهداری‬ ‫و‬ ‫ها‬ ‫عملیات‬
Title ‫عنوان‬
Logging, Monitoring & Alerting systems ‫سیستم‬
‫نظارت‬ ‫های‬
‫دهنده‬ ‫اخطار‬ ‫و‬ ‫کننده‬
Bug fixes ‫اشکاالت‬ ‫و‬ ‫ها‬ ‫باگ‬ ‫کردن‬ ‫طرف‬ ‫بر‬
Support & ticketing system ‫پشتیبانی‬ ‫سیستم‬
Backup plans ‫پشتیبان‬ ‫های‬ ‫فایل‬ ‫تولید‬
Feature enhancements ‫سیستم‬ ‫های‬ ‫ویژگی‬ ‫بهبود‬
Security patches ‫امنیتی‬ ‫های‬ ‫رسانی‬ ‫روز‬ ‫به‬
External package updates ‫رسانی‬ ‫روز‬ ‫به‬
‫پکیج‬
‫ها‬
BCDR (Business Continuity & Disaster Recovery) ‫فاجعه‬ ‫بازیابی‬ ‫و‬ ‫کار‬ ‫و‬ ‫کسب‬ ‫تداوم‬
https://hosseinzahed.com
hello@hosseinzahed.com
7
Decommissioning – ‫خارج‬ ‫رده‬ ‫از‬
‫کردن‬
‫افزار‬ ‫نرم‬
Title ‫عنوان‬
Dependencies evaluation (upstream/downstream) ‫ها‬ ‫وابستگی‬ ‫ارزیابی‬
(
‫دستی‬ ‫پایین‬ ‫و‬ ‫دستی‬ ‫باال‬
)
Read-only access ‫گر‬ ‫مشاهده‬ ‫به‬ ‫ها‬ ‫دسترسی‬ ‫کردن‬ ‫محدود‬
Final backup generation ‫نهایی‬ ‫پشتیبان‬ ‫های‬ ‫فایل‬ ‫تولید‬
Screaming test ‫جیغ‬ ‫تست‬
!
Shutting down the service ‫سرویس‬ ‫انداختن‬ ‫کار‬ ‫از‬
Destroying infrastructure ‫افزار‬ ‫نرم‬ ‫اجرای‬ ‫زیرساخت‬ ‫بردن‬ ‫بین‬ ‫از‬
Cancelling licenses ‫مجوزها‬ ‫کردن‬ ‫لغو‬
(
‫الیسنس‬
‫ها‬
)
https://hosseinzahed.com
hello@hosseinzahed.com
8
Thank you - ‫سپاس‬
https://hosseinzahed.com
hello@hosseinzahed.com
9

More Related Content

فرآیند توسعه نرم افزار

  • 1. Software Development Workflow ‫افزار‬ ‫نرم‬ ‫توسعه‬ ‫فرآیند‬ https://hosseinzahed.com hello@hosseinzahed.com 1 Hossein Zahed ‫زاهد‬ ‫حسین‬ -
  • 2. Steps – ‫مراحل‬ Step ‫مرحله‬ Planning & Team Setup ‫تیم‬ ‫تشکیل‬ ‫و‬ ‫ریزی‬ ‫برنامه‬ Software Development Phase ‫افزار‬ ‫نرم‬ ‫توسعه‬ ‫فاز‬ Deployment & UAT ‫ها‬ ‫تست‬ ‫انجام‬ ‫و‬ ‫بارگذاری‬ Operations & Maintenance ‫نگهداری‬ ‫و‬ ‫ها‬ ‫عملیات‬ Decommissioning ‫افزار‬ ‫نرم‬ ‫کردن‬ ‫خارج‬ ‫رده‬ ‫از‬ https://hosseinzahed.com hello@hosseinzahed.com 2
  • 3. Planning & Team Setup – ‫تیم‬ ‫تشکیل‬ ‫و‬ ‫ریزی‬ ‫برنامه‬ • ‫نیازمندی‬ ‫سند‬ ‫تولید‬ ‫های‬ ‫کار‬ ‫و‬ ‫کسب‬ (BRD: Business Requirements Document) • ‫خالصه‬ ‫پروژه‬ • ‫اهداف‬ ‫جزییات‬ • ‫مرزها‬ ‫و‬ ‫محدوده‬ • ‫ها‬ ‫نیازمندی‬ • ‫کلیدی‬ ‫سهامداران‬ • ‫ها‬ ‫محدودیت‬ • ‫هزینه‬ ‫تحلیل‬ - ‫فایده‬ https://hosseinzahed.com hello@hosseinzahed.com 3 BRD Executive summary Objectives Scope Requirements Stakeholders Constraints Cost-benefit analysis
  • 4. Planning and Team Setup – ‫تیم‬ ‫تشکیل‬ ‫و‬ ‫ریزی‬ ‫برنامه‬ • ‫کاربردی‬ ‫غیر‬ ‫های‬ ‫نیازمندی‬ ‫سند‬ ‫تولید‬ (NFR: Non-Functional Requirements Document) • ‫نیروی‬ ‫اختصاص‬ ‫دسترس‬ ‫در‬ ‫و‬ ‫الزم‬ ‫انسانی‬ • ‫تیم‬ ‫تشکیل‬ ‫و‬ ‫انسانی‬ ‫نیروی‬ ‫های‬ ‫نقش‬ ‫کردن‬ ‫مشخص‬ • ‫زمانی‬ ‫تخمین‬ ‫انسانی‬ ‫نیروی‬ ‫اساس‬ ‫بر‬ • ‫تخمین‬ ‫نهایی‬ ‫هزینه‬ ‫نیروی‬ ،‫زمان‬ ‫اساس‬ ‫بر‬ ،‫کار‬ BRD ‫و‬ NFR • ‫یا‬ ‫دوام‬ ‫قابل‬ ‫محصول‬ ‫حداقل‬ ‫تولید‬ ‫محدوده‬ ‫تعریف‬ MVP • Minimum Viable Product https://hosseinzahed.com hello@hosseinzahed.com 4 NFR Performance Usability Localization Security Scalability Maintainability Portability Compatibility Reliability Availability
  • 5. Software Development Phase – ‫افزار‬ ‫نرم‬ ‫توسعه‬ ‫فاز‬ • ‫ابزارها‬ ‫و‬ ‫جامع‬ ‫نویسی‬ ‫برنامه‬ ‫محیط‬ ‫سازی‬ ‫آماده‬ • ‫کنترلر‬ ‫ورژن‬ ‫اندازی‬ ‫راه‬ (git) • ‫همفکری‬ ‫و‬ ‫بررسی‬ ‫و‬ ‫تحلیل‬ ‫جلسات‬ ‫برگزاری‬ • ‫سیستم‬ ‫اجزای‬ ‫کلی‬ ‫طراحی‬ (Architectural System Design) • ‫امن‬ ‫و‬ ‫بهینه‬ ‫کارهای‬ ‫راه‬ ‫یافتن‬ • ‫الزم‬ ‫های‬ ‫دیاگرام‬ ‫تولید‬ (Use case, Sequence, Dependency) • ‫کدها‬ ‫نوشتن‬ • ‫اتوماتیک‬ ‫های‬ ‫تست‬ ‫انجام‬ • ‫کدها‬ ‫بازبینی‬ • ‫راه‬ ‫روی‬ ‫برای‬ ‫افزار‬ ‫نرم‬ ‫اجرای‬ ‫زیرساخت‬ ‫اندازی‬ ‫ابری‬ ‫رایانش‬ ‫یا‬ ‫سرور‬ (Cloud) https://hosseinzahed.com hello@hosseinzahed.com 5 Software Development • Environment • Version controller • Mind storming • Architecture • Solutions • Diagrams • Codes • Automated tests • Code reviews • Infrastructure
  • 6. Deployment & UAT – ‫ها‬ ‫تست‬ ‫انجام‬ ‫و‬ ‫بارگذاری‬ Title ‫عنوان‬ DevSecOps: Development Security Operations (SonarQube, Polaris, Qualys, Snyc, BlackDuck, Dependabot) ‫بارگذاری‬ ‫زیرساخت‬ ‫سازی‬ ‫آماده‬ CI/CD: Continuous Integration/Continuous Delivery(Deployment) Pipelines ‫روندهای‬ ‫ایجاد‬ ‫دائمی‬ ‫بارگذاری‬ ‫و‬ ‫ساخت‬ UAT: User Acceptance Tests ‫انسانی‬ ‫های‬ ‫تست‬ ‫انجام‬ Load, Performance, Penetration, Stress Tests ‫عملکردی‬ ‫های‬ ‫تست‬ ‫انجام‬ Upstream / Downstream dependencies integration ‫ها‬ ‫سیستم‬ ‫سایر‬ ‫با‬ ‫ادغام‬ ‫و‬ ‫اتصال‬ https://hosseinzahed.com hello@hosseinzahed.com 6
  • 7. Operations & Maintenance – ‫نگهداری‬ ‫و‬ ‫ها‬ ‫عملیات‬ Title ‫عنوان‬ Logging, Monitoring & Alerting systems ‫سیستم‬ ‫نظارت‬ ‫های‬ ‫دهنده‬ ‫اخطار‬ ‫و‬ ‫کننده‬ Bug fixes ‫اشکاالت‬ ‫و‬ ‫ها‬ ‫باگ‬ ‫کردن‬ ‫طرف‬ ‫بر‬ Support & ticketing system ‫پشتیبانی‬ ‫سیستم‬ Backup plans ‫پشتیبان‬ ‫های‬ ‫فایل‬ ‫تولید‬ Feature enhancements ‫سیستم‬ ‫های‬ ‫ویژگی‬ ‫بهبود‬ Security patches ‫امنیتی‬ ‫های‬ ‫رسانی‬ ‫روز‬ ‫به‬ External package updates ‫رسانی‬ ‫روز‬ ‫به‬ ‫پکیج‬ ‫ها‬ BCDR (Business Continuity & Disaster Recovery) ‫فاجعه‬ ‫بازیابی‬ ‫و‬ ‫کار‬ ‫و‬ ‫کسب‬ ‫تداوم‬ https://hosseinzahed.com hello@hosseinzahed.com 7
  • 8. Decommissioning – ‫خارج‬ ‫رده‬ ‫از‬ ‫کردن‬ ‫افزار‬ ‫نرم‬ Title ‫عنوان‬ Dependencies evaluation (upstream/downstream) ‫ها‬ ‫وابستگی‬ ‫ارزیابی‬ ( ‫دستی‬ ‫پایین‬ ‫و‬ ‫دستی‬ ‫باال‬ ) Read-only access ‫گر‬ ‫مشاهده‬ ‫به‬ ‫ها‬ ‫دسترسی‬ ‫کردن‬ ‫محدود‬ Final backup generation ‫نهایی‬ ‫پشتیبان‬ ‫های‬ ‫فایل‬ ‫تولید‬ Screaming test ‫جیغ‬ ‫تست‬ ! Shutting down the service ‫سرویس‬ ‫انداختن‬ ‫کار‬ ‫از‬ Destroying infrastructure ‫افزار‬ ‫نرم‬ ‫اجرای‬ ‫زیرساخت‬ ‫بردن‬ ‫بین‬ ‫از‬ Cancelling licenses ‫مجوزها‬ ‫کردن‬ ‫لغو‬ ( ‫الیسنس‬ ‫ها‬ ) https://hosseinzahed.com hello@hosseinzahed.com 8
  • 9. Thank you - ‫سپاس‬ https://hosseinzahed.com hello@hosseinzahed.com 9