680 likes | 1.11k Views
مهندسی نرم افزار. بخش دوم. اصول و قواعد تحلیل نیاز. فواید تحلیل نیاز . 1- تعیین توابع و عملکرد آن ها 2- مشخص ساختن ارتباط بین نرم افزار و سایر اجزای سیستم 3- تعریف و نشان دادن محدودیت ها 4- مدل سازی داده ها، توابع و رفتار سیستم
E N D
مهندسی نرم افزار بخش دوم
فواید تحلیل نیاز • 1- تعیین توابع و عملکرد آن ها • 2- مشخص ساختن ارتباط بین نرم افزار و سایر اجزای سیستم • 3- تعریف و نشان دادن محدودیت ها • 4- مدل سازی داده ها، توابع و رفتار سیستم • 5- طراحی مدل داده ای، معماری، واسط ها و پردازش ها با استفاده از مدل ها
فعالیت های عمده تحلیل نیاز • شناسایی مسئله • ارزیابی و ترکیب • مدل سازی • تعیین و شناسایی مشخصات مسئله • بازنگری و کنترل
روش های جمع آوری نیازها • 1- روش های ارتباط با مشتری برای تحلیل نیازها • مشاهده • مصاحبه • پرسشنامه • مطالعه و تحقیق • مناظره • برگزاری سمینار و کارگاه آموزشی • استفاده از ابزارهای مفید مانند نرم افزار
روش های جمع آوری نیازها • 2- دسته بندی سوالات به منظور آماده سازی فرایند جمع آوری نیازها • سوالات آزاد • از مشتری • ارزیابی • 3- روش هدایت شده تعیین نیازها • روش FAST(Facilitated Application Specification Technique) • 4- استقرار تابع کیفیت • QFD(Quality Function Deployment) • 5- تهیه Use-Case ها
اصول تحلیل نیاز 1- حوزه اطلاعات یک مسئله باید بازنمایی و ادراک شود. 2- کارکردهایی که نرم افزار باید انجام دهد، مشخص شوند. 3- رفتار نرم افزار به عنوان پیامد رخدادهای خارجی باید بازنمایی شود. 4- مدل هایی که نمایشگر اطلاعات، کارکرد و رفتار که باید به روشی تقسیم بندی شوند که جزئیات را به طریقی لایه بندی شده یا سلسله مراتبی آشکار نماید. 5- فرایند تحلیل باید از اطلاعات اساسی به سوی جزئیات پیاده سازی حرکت کند.
شش اصل راهنمای DAVIS برای مدل سازی نیازها • قبل از شروع به ساخت مدل تحلیل، درک درست مسئله الزامی است. • نمونه های اولیه ای را ایجاد کنید که کاربر را قادر می سازد تا چگونگی تعامل کاربر-ماشین را ادراک نماید • منبع و دلیل هر نیاز باید ثبت شود. • به صورت های مختلف، نیازها نمایش داده شوند. • نیازها باید اولویت بندی شوند. • روی موارد مبهم کار شود تا حذف و یا به طور واضح و روشن بیان شوند.
فعالیت های تحلیل نیاز • 1- تعیین دامنه اطلاعات • 2- مدل سازی از سیستم • 3- افراز مسئله به اجزای کوچک تر • 4- رعایت دیدگاه های ضروری در پیاده سازی و در نظر گرفتن آن ها در مدل سازی نیازها
اصول كلي در مهندسي نرم افزار روش كلي در حل مسئله : در حل هر مسئله به طور كل 3 مرحله وجود دارد : 1- شناخت مسئله:شامل شناخت مسئله و جمع آوري اطلاعات 2-تعيين و تهيه راه حل : شامل تعيين راه حل ها،ارزيابي آن ها و انتخاب بهترين راه حل 3- اجراي راه حل : شامل اجراي راه حل انتخاب شده و ارزيابيموفقيت آن
روش تجزيهتحليل و طراحيسيستم در اين مبحث 3 مسئله اساسي مورد بررسي است 1- تجزيهوتحليلسيستم 2- طراحيسيستم 3- اجرايسيستمطراحي شده
تجزيه و تحليلسيستم • 1- تشخيص و تعريف مسئله • 2- تعيين اهداف و محدوديت ها • 3- تشخيصنيازهايسيستمجديد • 4- تعيين راه حل هاي مختلف • 5-انتخاب بهترين راه حل
اجرايسيستمطراحي شده • اجرايسيستمطراحي شده • تهيه و استقرار سخت افزار و نرم افزار انتخاب شده • آموزش نيرويانساني به منظور پيادهسازيسيستم • جايگزينكردنسيستمجديد • ارزيابينتايجعملكردسيستم
تحليلگرسيستم و نقش آن • تحليلگرشخصي است كه به عنوان تحليلكننده مسئله و مشكل سازمان در آنجا فعاليتميكند ، مسئله و مشكل سازمان را به خوبي مورد تفكيك قرار داده و راه حل معقوليبراي آن پيشنهادميكند • نقش تحليلگر در سازمان اين است كه از طرفي با استفاده كنندگانسيستم در ارتباط است و از طرف ديگر با برنامه نويسان و ارتباط بيناين دو گروه را برقرار ميكند.
دانش هاي مورد نيازيكتحليلگر • دانش هاي مورد نيازبراييكتحليلگر به دو قسمت كليزيرتقسيممي شود : • 1- دانش و مهارت عمومي • 2- دانش و مهارتهايتخصصي
مهارت هايعمومي • تكنيك و هنر برقراري ارتباط • ترغيب افراد به همكاري و اعمال نظرات خود به آن ها • تكنيكهاي مصاحبه • حل مسئله و خلاقيت
مهارت هايتخصصي • اطلاع در زمينههاي مختلف فعاليت سازمان ها مانند زمينههايمالي ،تجاري ، اداري و.... • آشنايي با كامپيوتر و تكنولوژيهاي وابسته • مهارت در يكيا چند زبان سطح بالاي برنامه نويسي
روش هاي مختلف تجزيه و تحليل • 1- روش سنتي • 2- روش هاي ساخت يافته • 3- روش هايشي گرا
روش سنتي • اين روش كهتقريبا به طور كامل منسوخ شده است بر پايه چرخه تكاملسنتي ، مدل هايسنتي و تكيه بر مدل هايفيزيكي بنا نهاده شده است. • از جمله معايباين روش تكيه بر خصوصياتفيزيكيسيستم، اجراي از پايين به بالايسيستم، توالي چرخه تكاملي و تاخير در مستند سازي تا پايانسيستممي باشد
روش ساخت يافته • روشي است كه بر پايه تكنيك ها و ابزار هاي ساخت يافته و همچنينمتودولوژي ساخت يافته بنا نهاده شده است . • مزاياياين روش نسبت به روش سنتي : استفاده از مفهوم برنامه نويسيماجولار، استفاده از ابزار هاي ساخت يافته ، تكيه بر مدل منطقيسيستم ، اجراي از بالا به پايين ، همزماني و اجراي مراحل مختلف سيستم ، سهولت در تهيه مستندات و....
روش شي گرا • اين روش امروزه به طور كاملبين طراحان و برنامه نويسانمحبوبيتيافته و بر پايه مدل هايواقعي از دنياي اطراف ما بنا نهاده شده است . • مزيتهاياين روش نسبت به روش ساخت يافته : استفاده از مدل شيبرايتحليل برنامه ، قابليت فهم ساده مراحل تجزيه و تحليلبرايكليه افراد درگير در پروژه ، بالا بردن قابليت استفاده مجدد از سيستم و اجزاء، سادگي در نگهداريسيستم و سهولت در گسترش سيستم
مروري بر روش ساخت يافته • ابزار و تكنيكهاي ساخت يافته • 1- نمودار جريان داده DFD • 2- ديكشنري داده هاDD • 3- نمودار ارتباط موجوديت ها ERD • 4- نمودار ساختار برنامهPSC
DFD نمودار جريان داده ها • يكي از ابزار هاي مشهور و پر كاربرد در ساخت يافته نمودار جريان داده هاستكه نشان دهنده تغيير در نحوه نگرش به سيستم است.DFDدرككلي و واضح تري از وجوه منطقيسيستم به ما مي دهد. • DFD به سيستم به صورت جريان داده هاييكه وارد آن شده و به پردازش هاييكه انجام مي شود تا خروجيتوليد شود مي نگرد.
يك DFDساده • در ايننمودارپيكان ها نمايندهجريان داده،دايرهنماينده پردازش ، مستطيلكامل عناصر داخل و خارج يا اشخاص و ياسايرزيرسيستم ها و مستطيل ناقص نشان دهنده ذخاير داده هاست.
ديكشنري داده هاDATA DICTIONARY • در سراسر تحليل برنامه نام هايمختلفي به اجزاي مختلف از جمله پردازش ها و ذخاير داده ها، داده مي شود. • براياينكه برنامه نويسان و طراحان برداشت يكساني از اين نام ها داشته باشند .اين نام ها در محلي به اسم ديكشنري داده (DD)ذخيرهمي شوند. • تهيهديكشنري داده با رسم اولينDFD آغاز و به مرور كاملمي شود.
نمودار ارتباط موجوديت ها ERD • در يكسيستم داده هايمختلفيذخيرهمي شود نمودار ERD ارتباط اين داد هاي مختلف با يكديگر را نمايشمي دهد. • بر خلاف DFDكه داده ها و پردازش ها را در حالت حركت نشان مي دهد، ERD داده ها و ارتباط آن ها را در حالت سكون نشان مي دهد. • ERD اغلب در پايانتجزيه و تحليلبرايتعيين مدل منطقيذخيرهسازي استفاده مي شود و مبنايتهيهپايگاه داده است.
نمودار ساختار برنامه PSC • به طور كل نمودار ساختار برنامه نمايش سلسله مراتبي از ماژولهاي برنامه و ارتباط ان ها است. به طور كلساختاري است براي برنامه ايكهبايد نوشته شود. • تحليلگر در مرحله طراحيبراي مشخص كردنماژولهاي برنامه استفاده ميكند و برنامه نويس از اين نمودار به همراه DDبرايكدينگ برنامه استفاده ميكند.
در نمودار قبل مستطيل ها نشان دهنده ماژولهاي برنامه مي باشد. • اگر داده اي از يكماژول به ماژولديگر فراخوانده شود اين داده هايارسالييادريافتي با فلشهايي با دايرههايتوخالي در انتهاي آن نشان داده مي شود • سمبوللوزيبراي انتخاب بين چند ماژولمي باشد • فلش برگردان به يكماژول نشان دهنده تكرار آن ماژول است
DFD (Data Flow Diagram) نمودار جریان داده هم محدوده اطلاعات و هم توابع عملکرد سیستم را درنظر دارد.
3سطح DFD داریم 1- DFD0 که Contex Diagram گفته می شود و یک نمای کلی از سیستم است . در این سطح موجودیت های داخلی و خارجی را به همراه ورودی و خروجی آورده و از قراردادن مکان ذخیره سازی اجتناب می کنیم 2- DFD1 در این سطح بسته به نیاز مکان ذخیره سازی استفاده شده و سیستم را به اجزای کوچکتری شکسته . نکته ای که باید در DFD رعایت کرد این است که تعداد ورودی و خروجی ها در هر سطح نباید تغییر کند بدین منظور که به طور کلی نباید ورودی یا خروجی جدیدی داشته باشیم . 3- DFD2 در این سطح زیرسیستم ها نیز به اجزای کوچکتر تجزیه می شود .
مراحل رسم DFD فیزیکی سیستم موجود: • • رسم نمودار سطح صفر( Context Diagram ) یا نمودار محدوده سیستم. • • رسم DFD سطح۱ که نمایانگر ارتباطات بین واحد های اصلی و بخش های عمده سیستم است. • • رسم DFD سطح ۲ که نمایانگر فعالیتهای عمده انجام شده در هر واحد اصلی است. • نمودار سطح صفر ( Context Diagram ) این سطح از DFD ها سیستم را به صورت یک پردازش واحد نشان می¬دهد. در این نمودار محدوده سیستم مشخص می-شود به همین دلیل از سخت ترین مراحل رسم DFDهاست. نکته: در این نمودار “ذخیرهداده” ای نداریم. با توجه به ویژگی های این نمودار از آن به Black Box نیز تعبیر می شود. • نمودار سطح ۱ بدون وارد شدن به جزئیات فعالیت ها، واحد ها و اداره های عمده موسسه مورد مطالعه قرار می¬گیرد. برای رسم این نمودار از نمودارهای سازمانی شرکت میتوان استفاده کرد. کلیه جریان های داده اعم از درون داده یا برون داده از سطح صفر را به این سطح منتقل می¬کنیم. • رسم نمودار سطح ۲ نشان دهنده فعالیت های عمده ای است که در واحد های فرعی آن صورت می پذیرد.
مروري بر مزيتهاي روش ساخت يافته : • تكيه بر مدل منطقيسيستم • طراحي و اجرا از بالا به پايين • همزماني و اجراي مراحل مختلف پروژه • دخالت مستقيم و موثر استفاده كنندگان • سهولت تهيه مستندات
تكيه بر مدل منطقي • بر خلاف روش سنتيكهتكيه بر چگونگي انجام كار دارد ، مدل ساخت يافته بر مدل منطقيسيستمتمركز دارد • در مدل منطقي نمودار هايجريان داده به صورت سلسله مراتبي رسم مي شوند.و هر سطح نمودار اطلاعات جامع تري در مورد سطح بالايي خود ارائه ميكند. • استفاده از مدل منطقي و فارغ نمودن سيستم از قالب هايفيزيكي قوه ابتكارتحليلگر را بالا مي برد.
طراحي و اجرا از بالا به پايين : • در مدل ساخت يافتهسيستمجديد به زيرسيستمهاي مجزا تقسيممي شود و اينتقسيمبندي تا جايي ادامه پيداميكندكه هر زيرسيستممبناي نوشتن برنامه هايكامپيوتري شود. • اما در اين روش تست سيستم از ماژولهاي سطح بالا شروع شده و به سطوح زيرين ادامه مييابد. • تست سيستم ساده تر است زيرا اشتباهات مهم در مراحل اوليه مشخص مي شود. • هر نوع تغيير به دليلتفكيكزيرسيستم ها ساده تر است و به ديگرزيرسيستم ها سرايتنميكند. • همزماني مراحل مختلف • در روش ساخت يافته به دليلتفكيكسيستم ها و زيرسيستم ها با حفظ ارتباط آن ها . مي توان بخش هايي را ابتدا تحليل و برنامه نويسيكرد .اينكارمي تواند در زمانيكه بخش ديگري از سيستم در مرحله تجزيه و تحليل است انجام شود
دخالت مستقيم و موثر استفاده كنندگانسيستم • در روش ساخت يافته به دليل وجود ابزار هايكاملطراحي مانند DFD و غيرهكاربر به طور كامل در طراحيسيستمدخيل است. • اين دخالت مزايايي دارد از جمله: • 1- در مراحل طراحينتايج در اختياركاربر قرار داده مي شود تا از بعضي اشتباهات جلوگيري شود. • 2- حضور استفاده كنندهتاثيرزيادي از نظر رواني بر او دارد چون احساس ميكندبخشي از كار و سيستم است.
سهولت در تهيه مستندات • روش ساخت يافتهروشي خود مستند ساز است .يعني مستند سازي محصول كار است . • در واقع ابزار ها و تكنيكهاياين روش در هر مرحله براي مدل سازيسيستم خود قسمتي از مستندات سيستم است. و مي توان از اينطريقسيستم را به رده هاي بالاتر و استفاده كنندگان منتقل كرد
مديريت پروژه چيست؟ • مديريت پروژه عبارت است از هدايتفعاليتهايطراحيسيستمهاياطلاعاتي با حد اقل هزينه و در چارچوب زماني مشخص به نحويكه از شكست پروژه جلوگيري شود.
دلايل و علت هايشكست پروژه • 1- عدم استفاده از تكنيك ها و ابزار هاي موثر تجزيه و تحليل و طراحي • 2- پيشبيني نا درست تخصص ها • 3- تغييرعقيده استفاده كنندگانسيستم • 4- مدير پروژه بي تجربه • 5- نداشتن انگيزهقوياعضاي پروژه • 6- افزايشهزينه نسبت به بودجه • 7- تاخير در انجام پروژه و تحويل آن
مدير پروژه و وظايف آن • معمولا مديران پروژه از بينتحليلگران ارشد انتخاب مي شوند ام اين روش اصلا صحيحنيست .همانگونه كهيك برنامه نويس خوب ممكن است نتواند يكتحليلگر خوب باشد يكتحليلگر ارشد نيزشايديكمدير پروژه خوب نباشد. • مدير پروژه شخصي است كهتوانايي برنامه ريزي ، تاميننيرويانسانيسازماندهي، زمانبندي و هدايت و كنترل پروژه را داراست
برنامه ريزي ، سازماندهي و تفاوت آن ها • برنامه ريزي و تاميننيرويانسانييعنيمديربايد منابع مورد نياز را براوردكرده و طرح و برنامه اي ارائه كندكه شامل كليه مراحل و بخش ها باشد.سپس اين مراحل به وظايف متعدد تقسيم و سپس وظايفيكهبايد در پروژه انجام شود مشخص گردد. • سازمان دهي و زمان بندييعنياينكهوظايف و كارهاي انتخاب شده در مرحله قبلي با چه ترتيب و اولويتخاصي اجرا شود . كداميك با ديگريموازي باشد و....
ابزار هايرايج در مديريت پروژه • دو تكنيكرايج جهت مديريت پروژه استفاده از نمودار هايزيرميبتشد • 1- نمودار پرت(PERT) كه اغلب براي برنامه ريزي و اصلاح پروژه به كارمي رود. • 2- نمودار گنت(Gant) كه اغلب براي گزارش و پيشرفتكار استفاده مي شود.
نمودار پرت(PERT) • واژه پرت به تكنيكهايكنترل و ارزيابي پروژه اتلاقمي شود. اين نمودار برايتعيينوابستگيهايوظايف مختلف پروژه مورد استفاده قرار ميگيرد. • در اين روش يك پروژه مانند يكشبكه از وقايع و وظايفپيادهسازيمي شود.كهبراي نشان دادن وقايع از دايره و برايمسير ها از پيكان استفاده مي شود.
در نمودار پرت هر دايره به سه قسمت تقسيممي شود. قسمت اول (سمت چپ) نشان دهنده شماره واقعه ، رقم دوم در سمت راست و بالا نشان دهنده زودترين زمان شروع فعاليت و سومين عدد در پايين و سمت راست نشان دهنده ديرترينزماني است كهاين واقعه مي تواند شروع شود بدون آنكه به پروژه لطمه اي وارد شود. • در اين نمودار پيكان ها نشان دهنده فعاليتهاست و حروفيكهروي آن نوشته مي شود مشخص كننده نام فعاليت و ارقام زير آن مشخص كننده تعداد روز يا هفته هاييكهاينفرايند طول ميكشد. • در نمودار پرت وابستگيوقايع به خوبي مشخص است.مثلا در نمودار قبل كارهاي 2-4و2-3و2-7 نمي تواند شروع شود مگر اينكهفعاليتAتكميل شده باشد
روش رسم نمودار پرت • 1 – وظايف لازم براي انجام يك پروژه مشخص شود. • 2- مدت زمان مورد نيازبراي انجام هر وظيفه مشخص شود • 3- ترتيب انجام فعاليت ها ، تقدم و تاخر و همزماني آن ها مشخص شود • 4- زود ترين و ديرترين زمان شروع 1 فعاليت مشخص شود • زودترين زمان شروع يك واقعه براي واقعه اول 0 است چون در هر لحظه مي توان شروع كرد. برايبقيهوقايع عبارت است از بيشترين مجموع مدت زمان فعاليت ها و ETوقايع بلافاصله ماقبل آن. • ET=Erliest Time
چون واقعه 7 نمي تواند تا تكميلوقايع ماقبل خود شروع شود پس بايد در اينجا تا زمان 11 صبر كند در نتيجهET واقعه 7 برابر 11 است. • ديرترين زمان يك واقعه( LT ) .ديرترينزماني است كه واقعه مي تواند بدون تاخير انداختن در زمان پروژه آغاز شود.براي محاسبه LT در شبكه پرت از سمت راست به عقب بر ميگرديم.LTيك واقعه كمترين تفاوت بينLT واقعه بعدي خود منهاي مدت زمان فعاليت آن واقعه است.