صفحه 1:
١ ‏كتاب: مهندسى نرم افزار‎ 55 e

صفحه 2:
اسلایدهای آموزشی درس مهندسی نرم افزار (۱) ( بركرفته از كتاب يرسمن ) مدرس : مهندس سهیل افراز ۱ enn ar

صفحه 3:
etl ۳ © 7-/!: رابطهى ميان اقراد و نيروى كا

صفحه 4:
فصل 2-۷ انتخاب وظایف مهندسی نرم افزار 220 6

صفحه 5:
35 ares 9

صفحه 6:

صفحه 7:
به عنوان مثال) وظائف مپندسی نرم افزار برای یک پروژه توسعه ‎ae‏ تعيين دامنه مفهوم - ثوانايى سازمان براى انجام كارى كه در دامنه بروزه نهفته است را به وجود مى آورد و 0 آزمون مفهوم - کارایی یک فناوری نو را حوزه نرم افزاری نشان می دهد eae Te tan ۳ 1 ‏ا‎ DR nS ee me LOS ‏ا ل‎ dE) ‏مورد هدف قرار می دهد.‎

صفحه 8:
ا ال ل ۱ يزوزه ها) تا اندازه كمى از عقل سليم بيشتر است. تیم نرم افزار باید بداند که چه کارهایی باید انجام گیرد (تعبین حوزه) تيم (يا مدير) ن کند که آیا کسی برای انجام آن وجود دارد (برنامه ریزی) خطرات ممکن را مورد ملاحظه قرار دهد (تخمین خطر) فناوری را تا ادازه ای مورد تامین قرار دهد (آزمون مفهوم) ۱ ‎DORE sae toy en E Se nae cc cae o avs)‏ ‎oats a) oan ss)‏ م * . ودرپایان .اگر مفهوم کارامد است. یک گونه تولیدی (تبدیلی) بایدتولید گردد. 85 مهدي هتفر

صفحه 9:
‎oe oe eo oor aE‏ ا ‎ ‎

صفحه 10:
فماليت هأى شبكه وظائف توسعه مفهوم ماهيتا تكرارى است. يعن : يك يروزه توسعه مقهوم واقمى از راه تعدادى ‎es tea‏ ا ا ل ا که توسط مشتری قابل اوزشیابی است. هستند. اگر یک مدل فرایند خطی انتخاب شده باشد. همانطور که نمودار ۱-۷ نشان می دهد هر یک از اين افزایشها در یک توالی تکراری تعریف شده اند. در خلال هر مرحلء فعلیتهای پوششی ( که در فصل ۲ توصیف شدند)اجر می شوند. کیفیت کنترل می شود و در پایان هر مرحله یک محصول قابل تحویل تولید می شود. با ر تکراره محصول قابل تحویلبایدبه محصول ‎Perera ete eee On ene eevee ere renee)‏ ‎Pe Spore ere scant age tome Ne I ee nee ny EAMES‏ مهندسی نرم افزار براى انواع ديكر يروزه ها نيز به شيوه مشابهى قابل تعریف و اجراست. 3 هي ری

صفحه 11:
فصل ۵-۷ پالایش وظایف اصلی

صفحه 12:
ا ا ال یک برنامه زمان بندی ماکروسکوپی برای یک پروژه به کار رون. با كت وجود, برنامه زمان بندى ماكروسكوبى براى ايجاد يك برنامه جزيى براى پروژه باید پالایش گردد. پالایش با در نظر گرفتن کارهای بزرگ و تجزیه ل 6 5076

صفحه 13:
۱ به عنوان نمونه ای از تجزیه کردن وظیفه, تعیین حوزه برای یک پروژه توسعه مفهوم ‎٠+‏ راء كه در بخش ‎١-8-1‏ بحث شدء مورد ملاحظه قرار دهيد. ا ‎I nn See‏ این کتاب یک رهیافت زبان طراحی فرایندی برای نشان دادن جربان ‎en any hey ei]‏ شود

صفحه 14:
طرح ریزی تولیه مفهوم | برته ریز یآ ارتیابی مخاطرات فن آدری تگهداری برنامه هاى گثربردی 68 بهبود برنامه های کاربردی توسعه برنامه های کاربردی جدید

صفحه 15:
تعريف وظيفه : | ‎eri aia‏ الا ‎yt‏ ‏یت نب ‎Pee ae ee tar ee ee oda‏ كه كايبردهارا هنلييشيكننك تعريف ۱ ل ‎PIES‏ ‏بررسى كنيد. -۲-۲-۱ لیستی از خروجی ها / ورودیبای قابل مشاهده مشترى بدست دهد.

صفحه 16:
وظيفه ) - 1“ تعيين حوزه مفيبوم: بر حسب مورد : دستگاهها دستگاه ها- کیفیت و آمادگی کارکردی با مشترى ملاقات نمايبد تا نيازهاى مغهومى اصلى مشخص كردند. ‎٩‏ ا کنندگان نهایی مصاحبه کنید -ص( ‏ ۰ . تقاضاها و شکایات گذشته را برس کنید 00 لا ‎٩‏ رابطه ین اشیا را تعیف کنید 09 ویژگی اشیا را تعريف كنيد ‎ese Conny‏ ‎٩‏ . لیستی از کلاسهای مسائل تهیه کنید ‎Ce ae ase a eae‏ ‎٩‏ . ویژگی های کلاسها را توصیف کنید پایان مورد

صفحه 17:
Edo ‏ا‎ Sy ۳-0 کارکردی) رفتلریرا که هر تابع لصلیجرا می‌کند تعریفک نید وظیفه 1-۱-۳ را آغاز کنیدد | وظیفه 1-۱-۲ حاصلدندبووسیکسنید و[ أوييد eer 9

صفحه 18:
دستكاهها : كيفيت و أمادكى كاركردى اا ا 0 0 ااا کنندگان نهایی مصاحبه کنید BSS EET CEES UES USE eer Rae as يك طرح سلسله مراتبى از كاركردهالرفتارها بدست دهيد دستكاهها:تجزيه و تحليل ساختارى Peeve eS sete. es ۱ Sea ‏با كمترين اصلاح ممكن توضيحات فرايندى براى كاركردها بنويسيد‎ 0 fs] ۰1 دستكاه ها:ديد عينى عملیات اروشهای مربوط به هر طبقه را تعریف کنید * پایان مورد

صفحه 19:
۱ yu ‏ا‎ oS ‏أآنيارالمصلاح كنيد‎ لما ال ا ل ‎Sree or Cod‏ اال 00 ‎A Bo be‏ 1 * -1 بسراوردی‌بسریع از اناید [کار] بسدستدهید ا 750 00 ner en pertyes) ‏وظایف و وظایف فردی که در پا‎ 35 ۱

صفحه 20:

صفحه 21:
۶ اوظاف و وظاتف فرعی بر پایه توالیشان. به هم وابستگی های متقابل دارنداگر بیش از یک نفر در یک پروژه نرم افزاری باشند. احتمالا فعالیتها و وظاتف توسعه ای به صورت موازی اجرا می شوند پس کارهای همروند باید با هم هماهنگ شوند. طوری که وقتی کارهای بعدی تولید کاری آنها را نیاز دارد آنها کامل شده باشند. ‎ce cea‏ سح ‎nae)‏ ع ل ‎Ree eine con ce‏ 0 2-00 ‏ين شكل أن ( كه براى ايجاد يك برنامه ماكروسكوبى به كار مى رود)ء شبكه وظيفه در توصيف تا ‏در ساده ت ‎ ‎eee]

صفحه 22:
0 ened 7 ‏مختلف به کار می‎ a ere ‏رای توسعه مفهومی‎ CL eaten Na)

صفحه 23:
همزمانى فعاليتياى ميندسى نرم افزارى منجر به نيازمنديباى برنامه ريزى ميمى مى شود. از آنجا كه كارهاى موازى ‎melee‏ ل ا ا ‎ee ee ee ee‏ ‎Bg Nc ROWENE IPS Kugere Serre ane Nwee rapes -y)‏ تضمين كردد. به علاوه, مديريروثه بليد بليد از وظائفى كه در موقعيت بحرانى قرار مى كيرنكد آكاه باشك. یعنی. آن کارهایی که در برنامه زمانبندی باید کامل گردند اگر کل پروژه قرار است در یک برنامه زمانبندى شده تكميل كردد. (جزئيات 0 6 ores 00

صفحه 24:
شبکه وظایف در تصویر ۳-۷ ماکروسکوپی است. در یک شبکه وظایف جزیی (که مقدمه ای برای یک برنامه زمان بندی جزیی است) هر فعالیتی که در تصویر ۳-۷ نشان داده شده است باید بسط داده شود. مثلا تا آنجا بسط داده خواهد شد که 1 وظیفه تمام وظائفی را که به طور جزئی در پالایش در بخش ۵-۷ دیده شد. نشان 1-1 وظیفه ودهد. ميدي ستقري

صفحه 25:
i> اس

صفحه 26:
ا ‎I ia‏ ان ات Ce eee dealt Set tant tar ‏ا‎ ‎0 STO LS SES Deine BELLS ye od ‏هستند.‎ ۱ eects TIN MOK eos Te eee o Teles] ‏پرای زمانبندی پروژه به کار می روند‎ FI rer eer ge cca ee UPS AN EPS Eee ar rece o =) ‏فعالیتهای برنیمه ریزی پروژه قبلی بدست آمدند:‎ et ean Mate ett ores 00

صفحه 27:
۱ ۱ ter ok ee ‏ا‎ ‎fee ORC SIC SSS MESS Te MC srt Reet Mal (es ()) [محاسبه زمانهای مرزی پروژه رم افزاری می تواند بسیار مفید باشد. مئلا توسعه بیشتر توابع دیگر را به تاخیر اندازد.) هي ری

صفحه 28:
۱ 00 (AU o BCS ‏فنون بررسى و روش مسير بحرانى تميز داده شوند توصيف مى كند:‎ ‎١‏ ل ال ا می شود ‎ ‎ ‎2011010056 ‏۲ الولين زمان ياباتى وظيقة <سجموع اولين شروع و مدت زماتى وغليقة ‎000000 erates ‎ ‎Sees Se)‏ ا مس و و سل ور و ‎ ‎۱ eee TP SUC ay mee se eetye RS nea aes ay ‏بحرانی شبکه در برنامه زمان بندی نگه داشته می شود. ‎| ‏ا‎ aac! ‏لس ‏لحا ادوس ‎eer 0

صفحه 29:

صفحه 30:
POS eke STO Cl SOE TCE TCC nO See ne ne rer tag ۱ a rrp Ne) nes SDRC kt ere oe ‏خودکار به کار روند. تقسیم کار به عنوان شبکه وظیفه یا خلاصه وظیفه در نظر‎ 0 es Sa Se Ol Se en ene Ce CS ey Ree aoe 1 EGR ‏ا ا م‎ y) ‏داده شوند.‎ 500 ‏مم‎ Pe Pe eee ‏ا‎ Taye ar ‏پروژه یا برای کارهای فردیی که بر روی پروژه انجام می شوند به وجود آورد.‎

صفحه 31:
نمودار ۴-۷: 000062 ‏ل ا‎ we keeeioe] ۱ ‏پرداز دارد.‎ er een Ae ee Ley SO tate) EES EO ea ed ‏کردیده اند.‎ 0 Wen S Re Cette Ney Hy ‏در یک زمان اتفاق می افتند. نشان دهنده همزمانی کارهاست.‎ ‏لوزى ها نشان دهنده نقاط عطف اصلى اند.‎ 2

صفحه 32:
SEAS ‎ome ١‏ ادها ‏تست ميان ‎Ha Se opines Sap I Go ‎Trem cat ‎pp Spat pt as ‏سا7 د ريل 901 تین واه کار کردی صفعه تسد تعبيين حوزه كاركردي وروی سوت سیب حوزه کار ردی خاهاي معا | تسین ‎been onthe poo‏ ‏بت ‎ ‎ ‏یش وی مه رت بش که رخ ‎reggie‏ ‏عبد ‎Re‏ ‎gprs‏ ‎we gules ors‏ هک ی ند 0 ی ‎ay‏ یار ی رسمه خر وی ری ‎ ‎ ‏تحتیي در عصوس تجنی در صوص ‎ipl‏ ول موس ‎gel‏ ‏شم + اسر فایل تفه مه مر شده ‎ ‎Peete dasha ahh oc ‏به‎ - ۷-۱ ‘ies ‏وساد۸ اه ترش‎ ‏یر اه ماه سر هبتر در مات در صورت از ‎elope waa td‏ ‎ ‎ ‎ ‎OCI: OuipurCantcoltaput — sagas: g ‏شکل ۴-۷مثالی از تمودار خطی زمانی ( گانت بعارت)) ‎ ‎

صفحه 33:
Sp Eons ES TSB Ta Ste SEU TSP al. a ne ‏زمانبندی پروژه های نرم افزاری جدولهای پروژه ای تولید کرده اند که لیستی جدول وار از‎ ‏تمام وظائف پروژه» شروع برنامه ریزی شده و واقعی و زمانههای پایان کارء و انواعی از‎ ۱ جدولهای پروژه که به همراه جدولهای زمانی به کار می روندبه مدیر پروژه امکان می دهد که پیشرفت کار را پیگیری کند. ‎ey‏ مهدي هتفر

صفحه 34:
وقاف کار شروع طن ]ی | یط ءرازي شحو ی هو ‎cate‏ بامشتريها یناه وه سر هی روز شین ‎et‏ ول سیر :یزیا تمرف شده معصول ‎Bem OO) weet Hd‏ تین عوزهفاکشنهایصفحه کید سین حوزه مکشنهی ورودی سوت a ae hd Me pe ‏مین‎ ‎Sot‏ حوزه در دکشنهای وا بدا ‏مسننه سای برودی رل خروم (0) ‎dew‏ موه انیت وک (082) توسطامشتری ‎(OCD E554 net‏ بهصورت مود یز ‎tad ‏رید‎ COGN Eft hee ‏تعريف کش ارفتر‎ 7-0-1 ‎ ‏© ۰ :هفته - رزروز عه كدخ : ورودی کنرل اخرویبی ۵61[ لبط صامی فجف | ووه ب فدر. بازینی ‎vib‏ رسصی ‎FIR‏ یمرو ‎Fomallectrical‏ ‎ ‎ ‎ ‎ ‎ ‏شکل ۵-۷ملیزجدولبوژه ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎sin ‎ ‎ ‎ ‎ ‎ ‎eee Kort 3-3-5

صفحه 35:
فصل ۲-۷-۷ ردگیری برنامه زمانبندی

صفحه 36:
برنامه ی زمانبندی پروئه وظلیف و نقاط عطف اصلی ای را که بايددر جريان ببشرفت يرويه يمكيرى و كنترل شوندء تعريفد 3 8 525208 00

صفحه 37:
or پیگیری به طور خلاصه به روشیای زیر صورت. می پذیرد: يت اسارزشميابى نتايج تمام يررسى ها ۳-مقایسه ی شروع واقعی وشروع برنامه ریزی شده ل م ‎oa‏ كه ‏۶-محاسبه ی ارزیبی کمی پیشرفتها با بکار گیری ارز ش سنجی اکتسایی

صفحه 38:
ESL Ome ne ley ed ۱-داره ی منابع پروژه ۲-موقعیت را با سایل سازگار کند و کارکنان را هدایت نماید ۳-در هنگام بروز مشکلات .به اعمال کنترل می پردازد .در این هنگام منابع بیشتری به ‎Peres eee Terenas‏ ۱ ‎Bete os nee STea yy‏ 525208 00

صفحه 39:
:[ سلجم ] جعبه ای کیدن زمان در مواردی که فشار زمانی حاد به وجود می آید‌مدبران با تحربه اقدام به بر ار را ‎Ne cae‏ ل كت 525208 31

صفحه 40:
anon haved] Ott re ree a TU STO ‏ا‎ ‎۳3 در موعد مقر قابل عرضه نخواهد بود. 4, = 5

صفحه 41:
SON ew epee er car rent) PUREE OS eee Ree eer cin KE Pee] ere RCC Ne VEE T =Pey 3 3

صفحه 42:
برنامه ی زمانی‌برای هر وظیفه تنظیم شده است و این کار با برگشت از زمان ‎ete Lad‏ 0 اطراف هر وظیقه گذاشنه شده است. هرگاه وطیفه ای به هرز زمان جعبه | 4 re 5

صفحه 43:
ل مقدار بدست آمده (ارزش سنجی اکتسابی: اس

صفحه 44:

صفحه 45:
م ‎ae oe-AiS 55)‏ ا 2 پیشرفت پروژه می باشد.

صفحه 46:
این ارزشیابی برداشت دقیق و قابل اطمینانی از اجرای پروژه از شروع۱۵./اولیه ی آن به بعد فراهم می کند. 4 62

صفحه 47:
تعيين ارزش اكتسابى طبق مراحل زير است: 012111111110000 (0101) NRIOL Gl? PRIEST a) شود ؟-مقدارهاى ارزش بودجه اى كار زمانبندى شده(يعنى:مقادير(800008) (Ree ‏ا‎ 1 ‏ا‎ Cars Peon ss RON sarang 1 Oe eas aT Deere SNCS tar Seen ms ‏نقطه ی زمانی در زمانبندی پروژه ی تکمیل شده است..‎ هع eer ‏م‎

صفحه 48:
‎lol pecery)‏ مى كند كه: ‎

صفحه 49:
با داشتن مقدار های ارزش بودجه ای کار زمان بندی شده؛ بودجه ی "تکمیل کار وارزش بودجه ای کار اجرا شده,نشانگو های عمده ی پیشرفت را می توان محاسبه کرد. 0 مهدي هتفر A

صفحه 50:
Schedule Performance Index , SPI=-BCWP/BCWS. Rod Rene ‏ل‎ ‏زمانبتدى‎ 0 03

صفحه 51:
Gchedle vane, SGO=BCOP/BCOG | Ferre end ee Smee Grant Sy Ete Tenn ep Tener ey] ‏سب‎ ‎ma OnE (Le‏ فا مرت سوت ‏ا ا 11110 ا ل ا ل

صفحه 52:
Cost Performance Index , CPI=BCWP/ACW ee horne Depa peer nt Spee ise bine Teces)] ‏اجرایی هزینه‎ Cost Variance, Cv=BCWP-ACWP Cs Seep ACESS ‏ا‎

صفحه 53:
n=)

صفحه 54:
جستجوى خطاها به شما اجازه مى دهدءفعاليت كنونى | کمی برای کیفیت کاری که اداره می شود ,تهیه کنید. ‎ea‏ مهدي هتفر ‎

صفحه 55:
تیم نرم افزاری به اجرای بررسی های فنی رسمی (و سپس آزمودن)برای یافتن واصلاح خطاهای »که در محصولات کاری در خلال وظایفشان تولید شده اند می پردازند: هرخطایی که کشف نشود به عنوان نقص در نظر گرفته می شود. کارایی و بازده رفع نقص به صورت زیر نعریف می شود. D=E/(E+D) 525208 00

فصل :7زمانبندی و ردگیری پروژه کتاب :مهندسی نرم افزار 1 1 مهدي فسنقري اسالیدهای آموزشی درس مهندسی نرم افزار ()1 ( برگرفته از کتاب پرسمن ) مدرس :مهندس سهیل افراز دانشگاه پيام نورمرکز اردبیل فهرست مطالب :7-1 مفاهیم اولیه ‏ ‏ ‏ ‏ ‏ ‏ ‏ ‏ 3 :7-2 : 7-3توزیع نیروی کار : 7-4انتخاب وظایف مهندسی نرم افزار : 7-5پاالیش وظایف کار : 7-6تعریف یک شبکه ی وظایف : 7-7زمانبندی : 7-8تحلیل مقدار بدست آمده(ارزش سنجی اکتسابی) : 7-9ردگیری خطا رابطه ی میان افراد و نیروی کار مهدي فسنقري فصل 4-7 انتخاب وظایف مهندسی نرم افزار 4 مهدي فسنقري تعریف: برای داشتن یک برنامه زمانبندی پروژه ،مجموعه وظائف باید در مدت زمانی پروژه توزیع گردد .مجموعه وظائف نسبت به نوع پروژه و میزان دقت تغییر خواهد کرد.هریک از پروژه های توصیف شده در بخش ، 3-7 ممکن است با به کاربردن یک مدل فرایندی که خطی، متوالی و تکراری (مثال مدلهای افزایشی یا نمونه سازی) و یا تکاملی است (مانند مدل حلزونی) قابل دسترسی باشند، در بعضی موارد یک پروژه به آرامی به پروژه بعدی .ملحق میشود 5 مهدي فسنقري به عنوان مثال: پروژه های توسعه مفهوم موفق اغلب وارد پروژه های توسعه کاربرد جدید می شوند ،بعضی وقتها با پایان یافتن یک پروژه توسعه کاربرد جدید، یک پروژه افزایش کاربرد شروع می شود.این پیشرفت طبیعی و قابل پیشگویی است و بدون توجه به مدل فرآیندی که توسط یک سازمان در پیش گرفته شده است اتفاق می افتد. بنابراین وظائف مهندسی نرم افزار اصلی که در بخش هایی که به دنبال می آیند توصیف شده اند ،در مورد تمام مدل های فرآیندی قابل اجرا هستند. 6 مهدي فسنقري به عنوان مثال) وظائف مهندسی نرم افزار برای یک پروژه توسعه مفهوم: ‏ تعیین دامنه مفهوم – توانایی سازمان برای انجام کاری که در دامنه پروژه نهفته است را به وجود می آورد طرحریزی اولیه مفهوم – برقرار ساختن توانایی سازمان در به عهده گرفتن کارهای مربوط به حوزه پروژه ارزیابی ریسک فنی – خطریرا که همراه فناوری مورد کاربرد حوزه پروژه است را ارزیابی می کند ‏ آزمون مفهوم – کارایی یک فناوری نو را حوزه نرم افزاری نشان می دهد ‏ پیاده سازی مفهوم – نمود مفهوم را به گونه ای که توسط یک مشتری فایل بررسی باشد پیاده می کند و برای اهداف بازیابی به کار می رود ،زمانی که در نظر باشد مفهومی به مشتریان با مدیریت دیگری فروخته شود ‏ واکنش مشتری به مفهوم – واکنش نسبت به مفهوم یک فناوری نو را جستجو می کند و کاربردهای مشتری خاصی را مورد هدف قرار می دهد. ‏ ‏ 7 مهدي فسنقري در واقع ،حرکت مهندسی نرم افزار به سوی پروژه های توسعه مفهوم (و نیز تمام انواع دیگر پروژه ها) تا اندازه کمی از عقل سلیم بیشتر است. ‏ تیم نرم افزار باید بداند که چه کارهایی باید انجام گیرد (تعیین حوزه) تیم (یا مدیر) باید تعیین کند که آیا کسی برای انجام آن وجود دارد (برنامه ریزی) خطرات ممکن را مورد مالحظه قرار دهد (تخمین خطر) فناوری را تا اندازه ای مورد تامین قرار دهد (آزمون مفهوم) و آن را به گونه ای شاخص پیاده پیاده نماید به طوری که مشتری بتواند آن را ارزیابی کند (پیاده سازی مفهوم و ارزشیابی مشتری) ‏ و در پایان ،اگر مفهوم کارامد است ،یک گونه تولیدی (تبدیلی) باید تولید گردد. ‏ ‏ ‏ ‏ 8 مهدي فسنقري ارزیابی مشتری اجرا مهندسی / ساخت طرح ریزی تعریف پروژه توسعه مفهومی ت55ضمین1-4 5کس55لعملم5شتری1-6 ع ا م5فه5وم5ی پ55یاد5ه 5س55از5ی1-5 1-2طرح ریزی مفهومی اولیه م5فه5وم5ی ارز5یاب5یف55نآور5یر5ی5سک1-3 ح5وز5ه1-1 5 م5فه5وم5ی پروژه های توسعه کاربردی [*]جدید پروژه های پیشرفته کاربردی نگهداری برنامه های کاربردی مهندسی مجدد شکل 1-7وظائف توسعه مفهومی در یک مدل خطی 9 _______________________________________________ مهدي فسنقري [*]new application development. فعالیت های شبکه وظائف توسعه مفهوم ماهیتا تکراری است .یعنی :یک پروژه توسعه مفهوم واقعی از راه تعدادی افزایش برنامه ریزی شده به این فعالیت ها نزدیک می شود که هریک مختص تولید یک محصول قابل تحویل، که توسط مشتری قابل ارزشیابی است ،هستند. اگر یک مدل فرایند خطی انتخاب شده باشد ،همانطور که نمودار 1-7نشان می دهد هر یک از این افزایشها در یک توالی تکراری تعریف شده اند. در خالل هر مرحله ،فعالیتهای پوششی ( که در فصل 2توصیف شدند) اجرا می شوند .کیفیت کنترل می شود و در پایان هر مرحله یک محصول قابل تحویل تولید می شود .با هر تکرار ،محصول قابل تحویل باید به محصول تعریف bشده پایانی در مرحله توسعه مفهوم نزدیکتر شود .اگر یک مدل تکاملی انتخاب شده باشد ،طرح بندی کارهای 1/1تا 6/1همانطور که در نمودار 2-7نشان داده شده است ظاهر خواهد گردید .وظائف بزرگ مهندسی نرم افزار برای انواع دیگر پروژه ها نیز به شیوه مشابهی قابل تعریف و اجراست. 10 مهدي فسنقري فصل5-7 پاالیش وظایف اصلی 11 مهدي فسنقري  12 کارهای بزرگی که در بخش 4-7توصیف گردیدند ممکن است برای تعریف یک برنامه زمان بندی ماکروسکوپی برای یک پروژه به کار روند .با این وجود ،برنامه زمان بندی ماکروسکوپی برای ایجاد یک برنامه جزیی برای پروژه باید پاالیش گردد .پاالیش با در نظر گرفتن کارهای بزرگ و تجزیه آنها به کارهای فرعی (با محصوالت کاری و هدفهای اصلی مربوط) شروع می شود. مهدي فسنقري مثال: به عنوان نمونه ای از تجزیه کردن وظیفه ،تعیین حوزه برای یک پروژه توسعه مفهوم [*] را ،که در بخش 1-4-7بحث شد ،مورد مالحظه قرار دهید. پاالیش وظیفه با بکار بردن یک طرح خالصه شده قابل انجام است ،اما در این کتاب ،یک رهیافت زبان طراحی فرایندی برای نشان دادن جریان فعالیت تعیین حوزه مفهوم به کار برده می شود: ________________________ [*]Concept scoping. 13 مهدي فسنقري 14 مهدي فسنقري شکل 2-7وظائف bتوسعه مفهوم با استفاده از مدل تکاملی (افزایشی) تعریف وظیفه : وظیفه I – 1تعیین حوزه مفهوم I-1 - 1ن55یاز5ها ،م5ناف5ع و5م5شتریانب55ا5لقوه 5را ش55ناسای5یک55نید. I-2 - 1رو5یداد5هایب55رو5ن5یک55نترلو درو5ن5یرا 5ت5یک55نند ،ت55ع5ری5ف ک55ه ک55ار5برد5ها را هدا5ی م ک55نید .و5ظ5یفه I-2-1را ش55رو5ع ک55نید. :I-1-2-1 FTRتوصیف نوشتاری نیازها را بررسی کنید. 2-2-1لیستی از خروج5ی ها /ورودیهای قابلمشاهده مشتری بدست دهد. 15 مهدي فسنقري ______________________ FTRبbbه bمbعنایبbbازbبbینیرbسbمیفbbنی(فbbصل )8مbیبbbاشد. وظیفه I – 1تعیین حوزه مفهوم: بر حسب مورد :دستگاهها دستگاه ها= کیفیت و آمادگی کارکردی ‏o با مشتری مالقات نمایید تا نیازهای مفهومی اصلی مشخص گردند. ‏o با مصرف کنندگان نهایی مصاحبه کنید ‏o رهیافت کنونی به مسئله .روند جاری را مورد مشاهده قرار دهید ‏o تقاضاها و شکایات گذشته را بررسی کنید دستگاه ها= تجزیه و تحلیل ساخت یافته. ‏o لیستی از اشیا داده های اصلی تهیه کنید ‏o رابطه بین اشیا را تعریف bکنید ‏o ویژگی اشیا را تعریف bکنید دستگاه ها :دید عینی ‏o لیستی از کالسهای مسائل تهیه کنید ‏o سلسله مراتب کالس و ارتباط کالس را توسعه دهید ‏o ویژگی های کالسها را توصیف کنید پایان مورد 16 مهدي فسنقري وظیفه نهایی – وظیفه :I-1-2 I-3-1کbbارbکردbی /رbفbتارbیرا کbbه bهر تbbابbع اbصbلیاbجرا مbیکbbند تbbعbریbفکbbنید وظیفه I-1-3را آغاز کنیدT: 17 ‏ I-1-3-1هدفbهایخbروbجbیو ورودbیرا کbbه bاز وbظbیفه I-1-2 bحbاصbلشbbدند بbbررbسbیکbbنید ‏ I-2-3-1مbدلbیرا از کbbارbکدها /رbفbتارbها بbbدسbت آورbید مهدي فسنقري مورد :دستگاهها: دستگاهها :کیفیت و آمادگی کارکردی با مشتری مالقات نمایید و نیازهای مفهومی اصلی را بررسی کنید با مصرف کنندگان نهایی مصاحبه کنید رهیافت کنونی به مسئله و روند جاری را مورد مشاهده قرار دهید یک طرح سلسله مراتبی از کارکردها/رفتارها بدست دهید دستگاهها:تجزیه و تحلیل ساختاری نموداری از سطح بافتی جریان داده ها تهیه کنید نمودار جریان داده را به منظور بدست دادن اطالعات بیشتر اصالح کنید با کمترین اصالح ممکن توضیحات فرایندی برای کارکردها بنویسید دستگاه ها:دید عینی عملیات/روشهای مربوط به هر طبقه را تعریف کنید ‏ 18 پایان مورد مهدي فسنقري I-3-3-1ک55ار5کرد5ها /ر5ف5تار5ها را ب55ا م5شتریم5رور ک55نید و در م5وارد ال5ز5م آن5ه5ا را ا5ص5الحک55نید وظیفه پایانی – وظیفه I-3-1 I-4-1 آbنعbناصر فbbناورbیرا کbbه bدر نbbرم اbفزار اbجرا مbیشbbوند جbدا کbbنید I-5-1 در دbسbترسبbbودbننbbرم اbفزار مbوجود را مbورد بbbررbسbیقbرار دbهید I-6-1 اbمbکانپbbذیریفbbنیرا تbbعbریbفکbbنید I-7-1 بbbراوردbیسbbریbع از اbندازbه[ bکbbار] بbbدسbتدbهید ‏I-8-1 تbbعbریbفیاز داbمbنه bکbbار بbbدسbتدbهید تعریف وظیفه پایانی :کار I-1 وظایف و وظایف فردی که در پاالیش زبان طراحی فرآیند به آنها اشاره شد ،پایه یک برنامه زمانبندی جزیی ،برای فعالیت تعیین حوزه مفهوم ،را تشکیل می دهند. 19 مهدي فسنقري فصل6-7 تعریف یک شبکه وظایف 20 مهدي فسنقري وظbائف و وظائف bفرعی بر پایه توالیشان ،به هم وابستگی های متقابل دارند.اگر بیش از یک نفر در یک پروژه نرم افزاری باشند ،احتماال فعالیتها و وظائف توسعه ای به صورت موازی اجرا می شوند پس کارهای همروند باید با هم هماهنگ شوند ،طوری که وقتی کارهای بعدی تولید کاری آنها را نیاز دارد آنها کامل شده باشند. ‏ یک شبکه وظائف[ =( ]1شبکه فعالیت[ ،) ]2نمیشی نموداری از جریان وظیفه برای پروژه می باشد .گاهی از آن به عنوان مکانیسمی برای انتقال توالی وظیفه و وابستگی های آن به یک ابزار برنامه ریزی خودکار پروژه ،استفاده می شود. ‏ در ساده ترین شکل آن ( که برای ایجاد یک برنامه ماکروسکوپی به کار می رود) ،شبکه وظیفه در توصیف کارهای اصلی مهندسی نرم افزار به کار می رود. __________________________________ ]task network.[1 [2].activity network 21 مهدي فسنقري a5.I پWWWیادWهW سWWازWی مWفهWومWی تلفیق ‏a,b,c I.6عکس العمل مشتری ‏a3.I ارزWیابWی فWWنآورWی رWیWسک ‏b5.I پWWWیادWهW سWWازWی مWفهWومWی ‏I .4 تضمین مفهوم ‏c5.I پWWWیادWهW سWWازWی مWفهWومWی ‏b3.I ارزWیابWی فWWنآورWی رWیWسک ‏c3.I ارزWیابWی فWWنآورWی رWیWسک سه وظیفه I.5موازی برای سه فانکشن مفهومی مختلف bبه کار می رود 22 مهدي فسنقري شکل 3-7یک شبکه کاری (وظیفه ای) برای توسعه مفهومی I.1تعیین حوزه مفهومی I.2طرح ریزی مفهومی ماهی5ت همزمان5ی فعالیتهای مهندس5ی نرم افزاری منج5ر به نیازمندیهای برنام5ه ریزی مهم5ی م5ی شود .از آنج5ا که کارهای موازی همزمان اتفاق م5ی افت5د ،برنام5ه ری5ز بای5د وابستگی های درون – وظیف5ه را مشخ5ص نمای5د ت5ا پیشرف5ت مداوم در جه5ت تکمیل کار تضمی5ن گردد .ب5ه عالوه ،مدیرپروژ5ه بای5د بای5د از وظائف5ی که در موقعی555ت بحران555ی قرار م555ی گیرن555د آگاه باشد. یعنی ،آن کارهایی که در برنامه زمانبندی باید کامل گردند اگر کل پروژه قرار است در یک برنامه زمانبندی شده تکمیل گردد( .جزئیات بشتر در این فصل بحث خواهد شد) 23 مهدي فسنقري شبکه وظایف در تصویر 3-7 ماکروسکوپی است .در یک شبکه وظایف جزیی (که مقدمه ای برای یک برنامه زمان بندی جزیی است) هر فعالیتی که در تصویر 3-7 نشان داده شده است باید بسط داده شود .مثال تا آنجا بسط داده خواهد شد که I-1وظیفه تمام وظائفی را که به طور جزئی در پاالیش در بخش 5-7دیده شد ،نشان I-1وظیفه .دهد 24 مهدي فسنقري فصل7-7 زمانبندی 25 مهدي فسنقري زمانبندی یک پروژه نرم افزاری تفاوت زیادی با زمانبندی هر تالش مهندسی چند ج5نبه ای دیگری ندارد .پس 5با کمی تعدیل ابزارهای زمانبندی عمومی پروژه ها و نیز فنون آن در مورد پروژه های نرم افزاری نیز قابل اج5را هستند. ارزشیابی برنامه و فنون بررسی ( ]1[)PERTو روش مسیر بحرانی ( ]2[)CPMدو روشی هستند که برای زمانبندی پروژه به کار می روند [ ]MOD83که برای توسعه نرم افزاری نیز قابل کاربردند .این 2تکنیک به وسیله اطالعات حاصل از فعالیتهای برنیمه ریزی پروژه قبلی بدست آمدند: • • • • برآوردهای نیروی انسانی تجزیه کارکرد محصول انتخاب مدل فرآیند مناسب و مجموعه وظائف تجزیه وظائف _________________________________ [Program Evaluation & Review Technique .]1 [Critical Path Method.]2 26 مهدي فسنقري با به کار بردن یک شبکه وظائف امکان تعریف وابستگی های موجود بین وظائف وجود دارد.وظائف که بعضی وقتها به آنها ساختار تجزیه کار پروژه ( ]3[ )WSBگفته می شود ،برای کل پروژه یا کارکردهای فردی تعریف می شوند. ارزشیابی برنامه و فنون بررسی و نیز روش مسیر بحرانی [ ]4به برنامه ریز نرم افزاری امکان می دهد: .1 .2 .3 مسیر بحرانی را مشخص نماید – زنجیره وظائفی که مدت زمانی پروژه را تعیین می کند. ”محتمل ترین ” برآورد زمانی برای کارهای فردی را با به کار بردن مدلهای آماری انجام دهد. زمانهای مرزی را محاسبه کند که به تعریف یک ”پنجره“ زمانی برای یک وظbیفه خاص می انجامد. {محاسبه زمانهای مرزی پروژه نرم افزاری می تواند بسیار مفید باشد ،مثال :تغییری جزئی در طرح یک تابع می تواند توسعه بیشتر توابع دیگر را به تاخیر اندازد}. _________________________________ [Work Breakdown Structure.]3 [critical path.]4 27 مهدي فسنقري ریگز [ ]1[ ]RIG81زمانهای مرزی مهمی را که ممکن است از ارزشیابی برنامه و فنون بررسی و روش مسیر بحرانی تمیز داده شوند توصیف می کند: اولین زمانی که یک وظیفه بعد از تکمیل تمام وظیفه های قبلی ،در کوتاهترین زمان ممکن شروع می شود دیرترین زمان برای شروع وظیفه قبل را به تاخیر افتادن زمان حداقل تکمیل پروژه. اولین زمان پایانی وظیفه –مجموع اولین شروع و مدت زمانی وظیفه آخرین زمان پایان وظیفه –آخرین زمان شروع وظیفه به عالوه مدت زمان انجام وظیفه تعلیق کلی [– ]2مقدار زمان افزوده یا فرعی که در زمانبندی وظیفه ها لحاظ گردیده است ،به طوری که مسیر بحرانی شبکه در برنامه زمان بندی نگه داشته می شود. )1 )2 )3 )4 )5 محاسبه مرزی منجر به تعیین مسیر بحرانی می شود و روشی کمی در اختیار مدیر می گذارد که با آن می تواند به هنگام تکمیل شدن کارها پیشرفت آنها را ارزشیابی کند. ________________________________________ [.Riggs,j.]1 [total float.]2 28 مهدي فسنقري فصل1-7-7 نمودارهای خطی زمانی 29 مهدي فسنقري بWه هنگام ایجاد یWک برنامه زمان بندی برای پروژه نرم افزاری برنامه ریWز آن، کارش را بWا مجموعWه ای از وظائWف (سWاختار تقسWیم کار) شروع مWی کند .اگر ابزارهای خودکار بWه کار رونWد ،تقسWیم کار بWه عنوان شWبکWه وظیفWه یWا خالصWه وظیفWه در نظر گرفتWه مWی شود.نیروی کاری ،مدت زمانWی ،و زمان شروع وظیفWه و ورودی هر وظیفWه در نظWر گرفته می شود.همچنین ممکWن اسWت وظائWف بWا افراد خاصWی اختصاص داده شوند. در نتیجه این کار ،یک نمودار زمانی[( ]1نمودار گانت[ )]2به وجود می آید .یک نمودار زمانی را می توان به کل پروژه توسعه داد .از طرف دیگر ،می توان نمودارهای جداگانه نیز برای هر یک از توابع پروژه یا برای کارهای فردیی که بر روی پروژه انجام می شوند به وجود آورد. 30 مهدي فسنقري _____________________________ ‏Timeline chart.1 ‏Gantt chart.2 نمودار :4-7 این نمودار قسمتی از برنامه زمان بندی یک پروژه نرم افزاری را نشان می دهد، که تکیه بر تعیین حوزه مفهومی وظیفه (بخش )5-7برای یک نرم افزار واژه پرداز دارد. ‏ ‏ ‏ 31 تمام کارهای پروژه (برای تعیین حوزه مفهومی) در ستون سمت چپ لیست گردیده اند. باریکه های افقی مدت زمانی هر وظیفه را نشان می دهند .وقتی چندین باریکه در یک زمان اتفاق می افتند ،نشان دهنده همزمانی کارهاست. لوزی ها نشان دهنده نقاط عطف اصلی اند. مهدي فسنقري 32 مهدي فسنقري یک بار اطالعات الزم برای به وجود آوردن یک نمودار زمانی وارد گردیده است و اکثر ابزارهای زمانبندی پروژه های نرم افزاری جدولهای پروژه ای تولید کرده اند –که لیستی جدول وار از تمام وظائف پروژه ،شروع برنامه ریزی شده و واقعی و زمانهای پایان کار ،و انواعی از اطالعات مربوطه میباشد. جدولهای پروژه که به همراه جدولهای زمانی به کار می روندبه مدیر پروژه امکان می دهد که پیشرفت کار را پیگیری کند. 33 مهدي فسنقري 34 مهدي فسنقري فصل2-7-7 ردگیری برنامه زمانبندی 35 مهدي فسنقري تعریف: برنامbه ی زمانبندی پروژbه وظایbف و نقاط عطbف اصbلی ای را که بایددر جریان پیشرفbت پروژbه پیگیری و کنترل شونbد ،تعریفb می کند. 36 مهدي فسنقري پیگیری به طور خالصه به روشهای زیر صورت5 می پذیرد: -1برگزاری گردهمایی -2ارزشیابی نتایج تمام بررسی ها -3مقایسه ی شروع واقعی وشروع برنامه ریزی شده -4بررسی تحقق یافتن اهداف رسمی(نقاط عطف) -5مالقات غیر رسمی با کارورزان -6محاسبه ی ارزیابی کمی پیشرفتها با بکار گیری ارز ش سنجی اکتسابی 37 مهدي فسنقري وظایف مدیر پروژه: -1اداره ی منابع پروژه -2موقعیت را با مسایل سازگار کند و کارکنان را هدایت نماید - 3در هنگام بروز مشکالت ،به اعمال کنترل می پردازد .در این هنگام منابع بیشتری به آنها اختصاص داده می شود وترتیب واستخدام کارکنان تغییر می کند و یا برنامه ی پروژه ی زمانبندی اصالح می شود. 38 مهدي فسنقري ]Time-boxing[:جعبه ای کر5دن زمان در مواردی که فشار زمانی حاد به وجود می آید،مدیران با تجربه اقدام به بکارگیری برنامه ی زمانبندی وتکنیک کنترل خاص در برنامه می کنند که جعبه ای کردن زمان نام دارد. 39 مهدي فسنقري توجه: []ZAH95 راهبرد جعبه ای کردن زمان تشخیص می دهد که کل محصول کامل در موعد مقرر قابل عرضه نخواهد بود. 40 مهدي فسنقري توجه: وظیفه ای که به هر یک از مراحل افزایشی اختصاص داده شده است از نظر زمانی به .اصطالح جعبه ای شده است 41 مهدي فسنقري یعنی برنامه ی زمانی،برای هر وظیفه تنظیم شده است و این کار با برگشت از زمان تحویل محصول به مراحل افزایشی انجام گرفته است.یک جعبه در اطراف هر وظیفه گذاشته شده است .هرگاه وظیفه ای به مرز زمان جعبه اش می رسد،آن وظیفه متوقف می شود و وظیفه ی بعدی آغاز می شود. 42 مهدي فسنقري فصل 8-7 تحلیل مقدار بدست آمده (ارزش سنجی اکتسابی): 43 مهدي فسنقري ارزش سنجی اکتسابی ‏ ‏ 44 تکنیکی که برای اجرای تحلیل کمی پیشرفت وجود دارد،ارزش سنجی اکتسابی ( )EVAنامیده می شود مهدي فسنقري ارزش اکتسابی ،واحدی برای بررسی کمی پیشرفت پروژه می باشد. 45 مهدي فسنقري نظر فلیمینگ و کاپلمن در این مورد: این ارزشیابی برداشت دقیق و قابل اطمینانی از اجرای پروژه از شروع%15اولیه ی آن به بعد فراهم می کند. 46 مهدي فسنقري تعیین ارزش اکتسابی طبق مراحل زیر است: -1ارزش بودجه ای کار زمانبندی شده( )BCWSبرای هر وظیفه ای که در برنامه است ،تعیین می شود. -2مقدارهای ارزش بودجه ای کار زمانبندی شده(یعنی:مقادیر()BCWS برای تمام کارها جمع شده اند ،تا بودجه را در زمان تکمیل پروژه نشان دهند). -3مرحله ی بعد،ارزش بودجه ای کار اجرا شده( )BCWPمحاسبه می شود.این مقدار برابر است با حاصل جمع مقدارهای ارزش بودجه ای کار اجرا شده برای همه ی کارهایی که واقعا در یک نقطه ی زمانی در زمانبندی پروژه ی تکمیل شده است. 47 مهدي فسنقري ویلکنز[]wil99اشاره می کند که: ‏ 48 تفاوت بین ارزش بودجه ای کار زمان بندی شده و ارزش بودجه ای کار اجرا شده در این است که اولی نماینده ی بودجه ی فعالیتهایی است که برای تکمیل آنها برنامه ریزی شده است،در حالی که دومی نماینده ی فعالیت هایی است که واقعا کامل شده اند مهدي فسنقري توجه: با داشتن مقدار های ارزش بودجه ای کار زمان بندی شده ،بودجه ی ”تکمیل کار وارزش بودجه ای کار اجرا شده،نشانگر Tهای عمده ی پیشرفت را می توان محاسبه کرد. 49 مهدي فسنقري 50 مهدي فسنقري Schedule varance,SV=BCWP/BCWS ارز'شب''ود'ج'ها'یک''ار ز'مانب''ندیش'ده'-ارز5شب55ود5ج5ها5یک55ار ا5جرا ش55ده=5وار5یان5س ز5مان5بندی ‏Percent Schedule for completion=BCWS/BAC = در صد برنامه ریزی شده برای تکمیل کار که نشانگر کمی از کامل شدن پروژه است بودجه به هنگام تکمیل کار/ارزش بودجه ای کار اجرا شده 51 مهدي فسنقري 52 مهدي فسنقري فصل 7-9 رد گیری خطا 53 مهدي فسنقري جستجوی خطاها به شما اجازه می دهد،فعالیت کنونی خود را با نیروی پیشین مقایسه نموده و یک معیار کمی برای کیفیت کاری که اداره می شود ،تهیه کنید. 54 مهدي فسنقري تیم نرم افزاری به اجرای بررسی های فنی رسمی (و سپس آزمودن)برای یافتن واصالح خطاهای، Eکه در محصوالت کاری در خالل وظایفشان تولید شده اند می پردازند. هرخطایی که کشف نشود به عنوان نقص در نظر گرفته می شود. Dکارایی و بازده رفع نقص به صورت زیر تعریف می شود. ییییییییی 55 مهدي فسنقري

51,000 تومان