Transcript Slide 1

‫فصل ‪4‬‬
‫جمع آوری نیازمندیها و تحلیل سیستم ‪:‬‬
‫فاز تولید هر نرم افزار با مرحله ای به نام تعریف مسئله شروع می شود‪.‬‬
‫منظور از تعریف مسئله شناخت محیط و مدل عملکردی سیستم مورد نظر‬
‫و نیازمندیهای آن به صورت کلی می باشد‪ .‬در مرحله ی تعریف مسئله‬
‫نیازمندیهای مشتری نیز مشخص می شود‪ .‬پس از فاز تعریف مسئله ‪ ،‬فاز‬
‫تولید سیستم آغاز می گردد‪.‬‬
‫تحلیل سیستم ‪: System Analysis‬‬
‫منظور از تحلیل سیستم ‪ ،‬مشخص کردن ویژگیهای سیستم و ساختار آن می‬
‫باشد و در این مرحله فعالیتهای زیر انجام می شود‪.‬‬
‫‪ .1‬شناسایی و تحلیل نیازهای مشتری‬
‫‪ .2‬ارزیابی سیستم به منظور امکان سنجی آن‬
‫(امکان سنجی ‪ :‬اینکه آیا سیستم با توجه به محدودیتهای زمانی ‪ ،‬اقتصادی و‬
‫تکنولوژیکی قابل اجرا هست یا نه‪).‬‬
‫‪.3‬انجام تحلیل های اقتصادی و تکنیکی‬
‫‪ .4‬مشخص کردن نیروی انسانی ‪ ،‬پایگاه داده ها ‪ ،‬سخت افزار و نرم افزار و‬
‫سایر اجزاء مورد نیاز برای راه اندازی سیستم‬
‫‪ .5‬مشخص کردن محدودیتهای برنامه ریزی و هزینه های سیستم‬
‫‪ .6‬تهیه ی یک گزارش یا مستند که شامل ساختار و تعاریف کلی سیستم و‬
‫مراحل تولید آن می باشد‪.‬‬
‫امکان سنجی (‪:)Feasibility‬‬
‫منظور از امکان سنجی کنترل این نکته است که با توجه به محدودیت‬
‫های موجود‪ ،‬سیستم از لحاظ پیاده سازی ‪ ،‬امکان پذیر و قابل قبول‬
‫می باشد و یا پیاده سازی آن میسر نیست؟ بدیهی است پس از این‬
‫مرحله مشخص می شود که پروژه می تواند ادامه یابد یا می بایست‬
‫قطع گردد‪.‬‬
‫زمان انجام فعالیت امکان سنجی‪:‬‬
‫زمان انجام فعالیت امکان سنجی پس از مرحله ی شناخت و قبل از‬
‫سایر مراحل تولید نرم افزار می باشد‪.‬‬
‫مراحل امکان سنجی‪Feasibility Study – Phases :‬‬
‫‪ .1‬تحلیل نیاز‬
‫‪ .2‬امکان سنجی اقتصادی‬
‫‪ .3‬امکان سنجی تکنیکی‬
‫‪ .4‬امکان سنجی قانونی‬
‫‪ .5‬ارزیابی گزینه ها‬
‫تحلیل نیاز‪:‬‬
‫ا‬
‫ی‬
‫در این مرحله می بایست مشخص کنیم که آیا اصول نیاز به تولید یک سیستم‬
‫جدید وجود دارد یا خیر؟ در این راستا می بایست مطالعات و عملیات زیر‬
‫انجام شود‪:‬‬
‫‪ .1‬شناخت تاریخچه و اطالعات زیربنایی سازمان مشتری‬
‫‪ .2‬درک نیازمندیها و مشکالت مشتری‬
‫‪ .3‬آشنایی با چارت سازمانی و شرح وظایف‬
‫امکان سنجی اقتصادی ‪Economic Feasibility‬‬
‫در امکان سنجی اقتصادی تحلیل سود و هزینه انجام می شود و اگر مزایا یا‬
‫سود یک سیستم نسبت به هزینه های آن بیشتر باشد‪ ،‬سیستم از لحاظ‬
‫امکان سنجی اقتصادی مثبت بوده و قابل پیاده سازی است‪.‬‬
‫‪Need Analysis‬‬
‫در برآورد هزینه ها می بایست هزینه های اولیه برای پروژه‪ ،‬هزینه ی خرید‬
‫تجهیزات و هزینه های تکراری یا متناوب از قبیل اجاره ی محل نیز لحاظ‬
‫گردد‪.‬‬
‫امکان سنجی تکنیکی ‪Technical Feasibility‬‬
‫در این مرحله می بایست تکنولوژی مورد استفاده در سیستم مشخص گردد و‬
‫در این راستا تکنولوژی های موجود در سازمان و نیازهای آموزش ی نیز هم‬
‫برای تولید کنندگان نرم افزار و هم برای استفاده کنندگان می بایست مد‬
‫نظر قرار گیرد‪.‬‬
‫امکان سنجی قانونی‬
‫این مرحله شامل بررس ی محدودیتها و موانع قانونی برای پیاده سازی سیستم می‬
‫باشد و در این مرحله مواردی نظیر وجود کپی رایتها ‪ ،‬طراحی یا ساخت‬
‫مناسب قرار دارد و جلوگیری از به کار بردن جمالت یا کلمات متناقض و مبهم‬
‫ا‬
‫در قرارداد می باشد‪ .‬معمول این مرحله با مشاوره ی کارشناسان حقوقی‬
‫ا‬
‫انجام می شود و برای همه ی سیستم ها‪ ،‬خصوصا سیستم های کوچک و‬
‫ساده‪ ،‬مورد نیاز نیست‪.‬‬
‫‪Legal Feasibility‬‬
‫ارزیابی گزینه ها‬
‫در این مرحله کلیه ی گزینه های موجود برای پیاده سازی سیستم به همراه‬
‫هزینه و برنامه ریزی انجام آن مشخص شده و تحلیل گر ‪ ،‬یکی از گزینه ها را‬
‫انتخاب و به مشتری پیشنهاد می دهد‪.‬‬
‫گزارش امکان سنجی‬
‫پس از انجام مرحله ی امکان سنجی‪ ،‬تحلیل گر گزارش ی تحت عنوان گزارش‬
‫امکان سنجی را آماده می کند که در این گزارش خالصه ی فعالیتهای انجام‬
‫شده در مرحله ی امکان سنجی و گزینه های مختلف که برای پیاده سازی‬
‫سیستم وجود دارد به همراه زمان برنامه ریزی و محدودیتهای هر گزینه ارائه‬
‫می شود‪.‬‬
‫پیشنهاد پروژه ‪Project Proposal‬‬
‫شناسنامه پروژه یا ‪ proposal‬یک مستند یا گزارش می باشد که در‬
‫آن اطالعات جامع و کاملی در ارتباط با پروژه از طرف پیمانکار به‬
‫مشتری یا کارفرما ارائه می شود‪.‬‬
‫اما در بهترین حالت مشتری نیز گزارش ی قبل از آن به نام گزارش‬
‫درخواست برای ‪ proposal‬یا ‪ )RFP( Request For Proposal‬آماده می‬
‫کند که در آن مسائل و نیازمندیهای خود را شرح داده است‪ .‬در‬
‫ا‬
‫‪proposal‬اطالعات زیر معمول وجود دارد‪.‬‬
‫‪ .1‬تقویم اولیه ی زمان بندی انجام پروژه (زمان بندی در ادامه ی کار ممکن است دچار‬
‫تغییر شود‪).‬‬
‫‪ .2‬محدوده‪ ،‬ساختار و سرویس های کلی پروژه‬
‫‪ .3‬زمان بندی و توالی انجام مراحل پروژه‬
‫ا‬
‫طبیعتا این زمان بندی و مراحل می بایست بر مبنای مدل ‪ process‬ارائه شود‪.‬‬
‫‪ .4‬مشخص کردن هزینه های سخت افزاری‪ ،‬نرم افزاری و نیروی انسانی‪.‬‬
‫‪ .5‬مشخص کردن نیازهای آموزش ی (تعداد و محتوای آموزش)‬
‫‪ .6‬مشخص کردن هزینه ی کلی پروژه‬
‫‪ .7‬ذکر مزایا و امکانات پروژه‬
‫تحلیل نیازمندیها‬
‫منظور از تحلیل نیازمندیها را می توان از دو بعد مورد بررس ی قرار داد‪.‬‬
‫در بعد اول ما می بایست شناختی از عملکرد سیستم موجود به دست‬
‫آوریم‪(.‬به این مدل‪ ،‬مدل تجاری یا ‪ )business model‬گفته می شود و‬
‫در بعد دوم شناخت نیازمندیها انجام می شود‪ .‬که به این مدل‪،‬مدل‬
‫نیازمندیها یا ‪ request model‬گفته می شود‪.‬‬
‫مدلها در دنیای نرم افزار به دو شکل کلی ساخت یافته(‪ )structure‬و ش یء‬
‫گرا (‪ )object oriented‬ساخته می شود‪.‬‬
‫‪Requirements analysis‬‬
‫مدلهای ساخت یافته که در حال حاضر کمتر در تولید سیستم ها مورد‬
‫استفاده قرار می گیرند یا روش ی تحت عنوان ‪SSADM(Structured‬‬
‫)‪ System Analysis and Design‬ساخته می شود‪.‬‬
‫ا‬
‫اما مدلهای تحلیل و طراحی ش یءگرا در حال حاضر غالبا توسط زبانهای‬
‫مدلسازی ‪ UML‬یا ‪ Unified Modeling Language‬ساخته می شود‪.‬‬
‫فارغ از نوع مدل پس از تکمیل مرحله ی تجزیه تحلیل گزارش ی ارائه شده‬
‫که در آن گزارش کلیه اطالعات مراحل تحلیل به همراه مدل ها به‬
‫کارفرما ارائه شده و کارفرما پس از مطالعه ی آن می تواند نظرات و‬
‫پیشنهادات اصالحی خود را به تولید کنندگان اعالم کند‪.‬‬
‫‪SSADM‬‬
‫اولین مدل‪(Context Diagram :‬نمودار متن)‬
‫در تحلیل و طراحی ‪ SSADM‬در مرحله ی اول ‪ context diagram‬ساخته‬
‫می شود‪ .‬در نمودار‪ DFD‬از موجودیت های تولید کننده و مصرف کننده ی‬
‫اطالعات که با شکل مستطیل نشان داده می شود و پردازش یا ‪process‬‬
‫که از شکل دایره استفاده می شود و جریان داده که از فلش یا پیکان‬
‫استفاده می شود و رسانه ی ذخیره سازی برای داده که از شکل‬
‫استفاده می شود ساخته شده است‪.‬‬
‫برای سیستم های بزرگ و پیچیده ‪ ،‬مرحله ی تجزیه تحلیل و نمودارهای ‪DFD‬‬
‫ا‬
‫معمول در یک سطح یا یک ‪ level‬کشیده نمی شوند و می توان در هر مرحله‬
‫جزئیات بیشتری از پروسس ها و داده را نشان داد‪.‬‬
‫در مرحله ی طراحی ‪ ،‬می بایست با استفاده از آخرین سطح ‪DFD‬ها ساختار‬
‫سیستم را به دست آوریم‪ .‬منظور از ساختار معماری سیستم در مدل ساخت‬
‫یافته‪ ،‬ماژول ها و ارتباط بین آنهاست‪.‬‬
‫در این مرحله می بایست دایره ها یا ‪Bubble‬ها را به ماژول ها اختصاص‬
‫دهیم‪.‬اما این تبدیل می تواند همیشه تبدیل یک به یک نبوده و در بعض ی اوقات‬
‫یک دایره یا ‪ bubble‬به چند ماژول یا برعکس چند ‪ bubble‬به یک ماژول‬
‫تبدیل شوند‪.‬‬
‫تکنیکهای جمع آوری اطالعات در مرحله تجزیه تحلیل‪:‬‬
‫یک تحلیل گر می تواند با استفاده از تکنیکهایی نظیر انجام مصاحبه ی‬
‫حضوری با اشخاص مرتبط در سیستم ‪ ،‬ارائه ی پرسشنامه ها به اشخاص‬
‫ذینفع بررس ی سوابق عملیاتی و اجرایی یک سازمان و یا استفاده از مشاهده ی‬
‫حضوری از عملکرد یک سازمان اطالعات مورد نیاز خود را جمع آوری نماید‪ .‬در‬
‫اکثر حالت ‪ ،‬تلفیقی از این روشها مورد استفاده قرار می گیرد‪.‬‬
‫تحلیل نیازمندیها‪:‬‬
‫ا‬
‫در این مرحله معمول فعالیتهای زیر انجام می شود‪:‬‬
‫‪ .1‬درک دامنه و حوزه ی اطالعاتی سیستم‬
‫‪ .2‬مشخص کردن قابلیتها و امکانات مورد نیاز سیستم‪.‬‬
‫‪ .3‬ساخت یک مدل برای نمایش اطالعات فوق (همانند مدل ‪ DFD‬در‬
‫‪ SSADM‬و یا مدلهای ‪ activity diagram ، usecase‬و ‪ ...‬در مدل‬
‫‪) UML‬‬
‫‪ .4‬تفکیک و شکستن مدل طی مراحلی به مدلهای تفصیلی تر ‪.‬‬
‫‪ .5‬همواره باید در مرحله ی تجزیه تحلیل از اطالعات کلی ‪ ،‬مرحله به مرحله به‬
‫اطالعات تفصیلی یا جزئی رسید‪.‬‬
‫مدلهای اساس ی در تجزیه تحلیل سیستم ‪Essential Model‬‬
‫‪ .1‬مدل محیطی ‪Environmental Model‬‬
‫‪ .2‬مدل رفتاری ‪Behavioral Model‬‬
‫در مدل محیطی ما کل سیستم و محیط در برگیرنده ی آن را که شامل سخت‬
‫افزار‪ ،‬نرم افزارهای دیگر ‪ ،‬نیروی انسانی می باشد را مدل می کنیم‪.‬‬
‫نمودار متن یا ‪ Context Diagram‬یک نمونه از مدلهای محیطی است‪ .‬در‬
‫مدلهای رفتاری ما عملکرد یک سیستم و ارتباط بین عناصر مختلف یک‬
‫سیستم را به همراه داده های مورد استفاده در سیستم مدل می کنیم‪.‬‬
‫نمودار ‪ DFD‬و نمودار ‪ ERD‬از نمونه مدلهای رفتاری است‪.‬‬