سعید صفایی | SAEED SAFAEE
ساختار فرآیند تولید نرم افزار(RADDTDM)
فرایند تولید نرمافزار که با عنوان «چرخهٔ حیات تولید نرمافزار» نیز شناخته میشود، ساختاری است که روی تولید و توسعه محصولات نرمافزاری اعمال میشود
- خواسته ها(Requirement)
- تجزیه و تحلیل(Analysis)
- طراحی که مهمترین بخش این فرایند است(Design)
- انتخاب معماری معماری سیستم
- معماری لایه بندی
- معماری میکروسرویس
- معماری رویدا محور
- معماری ارائه سرویس
- کنترل کیفت
- سیستم ارتباطی
- زبان یا زبان های برنامه نویسی و سیستم رابط برنامه نویسی یا api
- انتخاب معماری معماری سیستم
- توسعه(Development)
- تست(Test)
- مستقر کردن(Deploy)
- نگهداری و توسعه(Maintaining)
1- خواسته ها(Requirement)
همیشه نیاز ها و خواسته هایی برای حل یک مشکل یا بهبود عملکرد یک سیستم به وجود آمده و کلید اصلی شروع تولید یک محصول(نرم افزار) است
2- تجزیه و تحلیل(Analysis)
زمانی که خواسته ها بررسی شد فاز جمع آوری داده ها و تجزیه و تحلیل آن شروع میشود که طراح و تحلیل گر نرم افزار باید رویکرد خلاقانه ای در حل مساله داشته باشید.
از جمله کارهای مهم:
توانایی درک مسئله و ارائه راه حل
مستند کردن فرایند تولید نرم افزارها
- آشنایی با فرآیند های کسب و کار ( فروش، خرید، انبارداری، مالی و ...)
آشنایی با استاندارد های مدل سازی نرم افزار
و…
3- طراحی (Design)
مهمترین بخش تولید نرم افزار است که در این بخش باید:
انتخاب معماری معماری سیستم
زیر ساخت ها
سیستم ارتباطی
زبان یا زبان های برنامه نویسی و سیستم رابط برنامه نویسی یا api
فرایند طراحی محصول
مارکتینگ و بازاریابی
آنالیز رقبا
چالش ها و پروتوتایت اولیه
و غیره را بررسی و تولید کرد
4- توسعه(Development)
بعد از طراحی سیستم وارد فاز تولید و توسعه نرم افزار میشویم
پیاده سازی بخشی از پروسه است که در آن مهندسان نرم افزار در واقع شروع برنامه نویسی با متدولوژی ها و فریم ورک ها و زبان های برنامه نویسی میکنند
5- تست(Test)
بعد از تولید نرم افزار واحد کنترل کیفیت محصول را تست میکند و مورد آزمایش های مختلفی قرار میگیرد که هم از نظر تولید در سطح مناسبی باشد و مشکلی نداشته باشد و هم متناسب با نیاز های کاربر بوده باشد
6- مستقر کردن(Deploy)
در فاز نهایی محصول بعد از آن که کنترل کیفیت شد برای ارائه به کابر نهایی عرضه میشود
7- نگهداری و توسعه(Maintaining)
نگهداری و به روز رسانی و تولید فیچر های جدید
هر کدام از این بخش ها چالش ها و تخصص های مختلفی دارد که هر کدام در شاخه ای علوم نرم افزار وجود دارد و افراد میتوانند در آن حوزه متخصص شوند
Requirement
Analysis
Design
Architect Pattern
Layear
Microservice
Event Driven
Service Oriented
Quality Attribute
Messaging
Languages & Api
Development
Dessign Pattern
Automation
Paradime
Docker
Test
Deploy
Maintaining