Publicité

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

Lead Software Engineer à Maersk
27 Dec 2022
Publicité

Contenu connexe

Similaire à فرآیند توسعه نرم افزار(20)

Publicité

Dernier(20)

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

  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
Publicité