You are on page 1of 11

Software Engineering

Lecturer: Habibullah Nazari


Faculty of Computer Science
1
‫فرآیند توسعه نرم افزار‬

‫▪ هدف ‪ :‬آشنائی با فرآیند توسعه نرم افزار و شناخت مجموعه ای منسجم از فعالیت ها برای تولید نرم‬
‫افزار‬
‫▪ موضوعات مهم فرآیند توسعه نرم افزار‪:‬‬
‫مدل های فرآیند نرم افزار‬ ‫▪‬
‫فعالیت های فرآیندی‬ ‫▪‬
‫تغییر پذیری‬ ‫▪‬
‫بهبود فرایند‬ ‫▪‬

‫‪2‬‬
U ‫مدل‬

‫سیستم قبلی‬ ‫سیستم جدید‬


As-Is To-Be
Bussiness System

P I

A D

3
‫مدل خطی‬

‫▪ مدل ترتیبی خطی‪ :‬این مدل که گاه مدل «آبشار» یا «چرخه ی حیات کالسیک» نیز خوانده می شود‬
‫یک روش سیسماتیک و ترتیبی برای توسعه نرم افزار پیشنهاد می کند که در سطح سیستمی آغاز می‬
‫شود و به تحلیل‪،‬طراحی ‪ ،‬کدنویسی‪،‬آزمایش و پشتیبانی پیشروی می کند ‪.‬‬
‫▪ مدل افزایشی‪ :‬مدل افزایشی توسعه نرمافزار است که محصول به صورت افزایشی طراحی‪ ،‬پیادهسازی‬
‫و تست میشود‪ .‬در هر مرحله امکانات کوچک روی آن اضافه و بهبود پیدا میکند تا زمانی که محصول‬
‫نهایی تولید شود‪.‬‬
‫▪ مدل افزایشی در حقیقت مدل آبشاری را بصورت تکرار انجام میدهد‪.‬‬
‫▪ با هر تکرار در مدل افزایشی محصول نرم افزاری بهبود پیدا میکند‪.‬‬

‫‪4‬‬
‫مدل افزایشی‬

‫▪ ویژگی های مدل افزایشی‬


‫▪ ‪ -۱‬سیستم نرم افزار به بخش های کوچکتر شکسته میشود‪.‬‬
‫▪ ‪ -۲‬بخش های سیستم ساخته می شوند تا سیستم نهایی را تولید کنند‪.‬‬
‫▪ ‪ -۳‬نیازهای اساسی در اولویت اول قرار می گیرند و اول به آنها رسیدگی می شود‪.‬‬
‫▪ ‪ -۴‬نیازهای یک بخش تا زمانی که افزایش آن بخش توسعه نیابد غیر فعال است‪.‬‬

‫‪5‬‬
‫مدل ‪( U‬یوردون)‬

‫سیتسم فعلی‬ ‫سیستم جدید‬


‫‪implement‬‬
‫‪planning‬‬
‫‪ation‬‬
‫شناخت‬ ‫پیاده سازی‬
‫سیستم فعلی‬

‫شکستن یک سیستم به‬ ‫ترکیب اجزا و رابطه‬


‫اجزا و رابطه ها (تحلیل‬ ‫ها‬
‫سیستم)‬
‫مطالعه هر‬ ‫اجزا جدید بعد‬
‫جز سیستم‬ ‫از مطالعه اجزا‬
‫موجود‬ ‫سیستم موجود و‬ ‫‪Design‬‬
‫‪analysis‬‬ ‫بروز رسانی‬

‫‪6‬‬
Process model

‫ یا لیست کار های برای تولید سیستم جدید‬:‫▪ پروسس مدل‬


P Software Development Life Cycle : SDLC ▪
‫مدل آبشاری‬
Waterfall
Planning

A
Analysis

D Design

I Implementation

7
‫‪Process models‬‬

‫‪P‬‬
‫‪Parallel model‬‬

‫‪A‬‬ ‫‪……..‬‬ ‫‪A‬‬ ‫‪A‬‬

‫مدل موازی در قدم اول پالن عمومی‬ ‫•‬


‫‪D‬‬ ‫‪D‬‬ ‫‪D‬‬ ‫بصورت جامع گرفته میشود‬
‫هر جز سیستم نرم افزاری مراحل‬ ‫•‬
‫تحلیل طراحی و پیاده سازی را سپری‬
‫‪I‬‬ ‫‪I‬‬ ‫‪I‬‬ ‫میکند‬
‫در نهایت اجزا ترکیب شده سیستم نرم‬ ‫•‬
‫افزاری ایجاد میشود‪.‬‬
‫نظارت بصورت عمودی است‬ ‫•‬
‫سیستم جدید‬

‫‪8‬‬
Process models

‫پالن بزرگ‬ P
‫مدل فازی‬
P phase2
p phasen P

A
A A
Phase 1
D
D D

I
I I

Vn V2
V1
9
‫‪Phase model‬‬

‫▪ در مدل فازی پالن ساخت یک سیستم بصورت بزرگ و جامع گرفته میشود ولی بار اول نمونه خیلی‬
‫ساده از سیستم ساخته میشود‬
‫▪ ولی در فاز های بعدی بهبود و ارتقا داده میشود که همین روال ادامه پیدا میکند تا به سیستم که بصورت‬
‫وسیع و جامع پالن گذاری شده برسد‬
‫▪ چرخه حیات تولید نرم افزار با مدل فازی زمان زیادی را در بر می گیرد‪.‬‬
‫▪ مانند سیستم عامل ویندوز که از نسخه های قدیمی تا امروز ادامه دارد که بهبود و عملکرد بهتری نسبت‬
‫به نسخه های گذشته خود دارد‪.‬‬

‫‪10‬‬
‫‪Iterative‬‬

‫▪ مدل تکرار‪ :‬در هر تکرار بخشی از هر وظیفه یا (‪ )task‬انجام میشود‪.‬‬


‫‪task1‬‬
‫اگر کارها بصورت خطی انجام شود که مدل آبشاری‬ ‫•‬
‫‪task2‬‬ ‫میشود‪.‬‬
‫در مدل تکرار قسمتی از کار یک انجام میشود بعد‬ ‫•‬
‫قسمت از کار دوم انجام می مشود الی آخر‬
‫‪task3‬‬ ‫همین روا تکرار میشود‪.‬‬ ‫•‬
‫در هر پیمایش قسمتی از همه کار ها انجام میشود‪.‬‬ ‫•‬
‫در این مدل نظارت افقی است برعکس مدل موازی‬ ‫•‬
‫‪task4‬‬

‫‪11‬‬

You might also like