فصل 4
جمع آوری نیازمندیها و تحلیل سیستم : فاز تولید هر نرم افزار با مرحله ای به نام تعریف مسئله شروع می شود. منظور از تعریف مسئله شناخت محیط و مدل عملکردی سیستم مورد نظر و نیازمندیهای آن به صورت کلی می باشد. در مرحله ی تعریف مسئله نیازمندیهای مشتری نیز مشخص می شود. پس از فاز تعریف مسئله ، فاز تولید سیستم آغاز می گردد. تحلیل سیستم System Analysis : منظور از تحلیل سیستم ، مشخص کردن ویژگیهای سیستم و ساختار آن می باشد و در این مرحله فعالیتهای زیر انجام می شود. 1. شناسایی و تحلیل نیازهای مشتری
2. ارزیابی سیستم به منظور امکان سنجی آن (امکان سنجی : اینکه آیا سیستم با توجه به محدودیتهای زمانی ، اقتصادی و تکنولوژیکی قابل اجرا هست یا نه.) 3.انجام تحلیل های اقتصادی و تکنیکی 4. مشخص کردن نیروی انسانی ، پایگاه داده ها ، سخت افزار و نرم افزار و سایر اجزاء مورد نیاز برای راه اندازی سیستم 5. مشخص کردن محدودیتهای برنامه ریزی و هزینه های سیستم 6. تهیه ی یک گزارش یا مستند که شامل ساختار و تعاریف کلی سیستم و مراحل تولید آن می باشد.
امکان سنجی (Feasibility): منظور از امکان سنجی کنترل این نکته است که با توجه به محدودیت های موجود، سیستم از لحاظ پیاده سازی ، امکان پذیر و قابل قبول می باشد و یا پیاده سازی آن میسر نیست؟ بدیهی است پس از این مرحله مشخص می شود که پروژه می تواند ادامه یابد یا می بایست قطع گردد.
زمان انجام فعالیت امکان سنجی: زمان انجام فعالیت امکان سنجی پس از مرحله ی شناخت و قبل از سایر مراحل تولید نرم افزار می باشد. مراحل امکان سنجی: Feasibility Study – Phases 1. تحلیل نیاز 2. امکان سنجی اقتصادی 3. امکان سنجی تکنیکی 4. امکان سنجی قانونی 5. ارزیابی گزینه ها
تحلیل نیاز: Need Analysis در این مرحله می بایست مشخص کنیم که آیا اصولاً نیازی به تولید یک سیستم جدید وجود دارد یا خیر؟ در این راستا می بایست مطالعات و عملیات زیر انجام شود: 1. شناخت تاریخچه و اطلاعات زیربنایی سازمان مشتری 2. درک نیازمندیها و مشکلات مشتری 3. آشنایی با چارت سازمانی و شرح وظایف امکان سنجی اقتصادی Economic Feasibility در امکان سنجی اقتصادی تحلیل سود و هزینه انجام می شود و اگر مزایا یا سود یک سیستم نسبت به هزینه های آن بیشتر باشد، سیستم از لحاظ امکان سنجی اقتصادی مثبت بوده و قابل پیاده سازی است.
در برآورد هزینه ها می بایست هزینه های اولیه برای پروژه، هزینه ی خرید تجهیزات و هزینه های تکراری یا متناوب از قبیل اجاره ی محل نیز لحاظ گردد. امکان سنجی تکنیکی Technical Feasibility در این مرحله می بایست تکنولوژی مورد استفاده در سیستم مشخص گردد و در این راستا تکنولوژی های موجود در سازمان و نیازهای آموزشی نیز هم برای تولید کنندگان نرم افزار و هم برای استفاده کنندگان می بایست مدّ نظر قرار گیرد.
امکان سنجی قانونی Legal Feasibility این مرحله شامل بررسی محدودیتها و موانع قانونی برای پیاده سازی سیستم می باشد و در این مرحله مواردی نظیر وجود کپی رایتها ، طراحی یا ساخت مناسب قرار دارد و جلوگیری از به کار بردن جملات یا کلمات متناقض و مبهم در قرارداد می باشد. معمولاً این مرحله با مشاوره ی کارشناسان حقوقی انجام می شود و برای همه ی سیستم ها، خصوصاً سیستم های کوچک و ساده، مورد نیاز نیست.
ارزیابی گزینه ها در این مرحله کلیه ی گزینه های موجود برای پیاده سازی سیستم به همراه هزینه و برنامه ریزی انجام آن مشخص شده و تحلیل گر ، یکی از گزینه ها را انتخاب و به مشتری پیشنهاد می دهد. گزارش امکان سنجی پس از انجام مرحله ی امکان سنجی، تحلیل گر گزارشی تحت عنوان گزارش امکان سنجی را آماده می کند که در این گزارش خلاصه ی فعالیتهای انجام شده در مرحله ی امکان سنجی و گزینه های مختلف که برای پیاده سازی سیستم وجود دارد به همراه زمان برنامه ریزی و محدودیتهای هر گزینه ارائه می شود.
پیشنهاد پروژه Project Proposal شناسنامه پروژه یا proposal یک مستند یا گزارش می باشد که در آن اطلاعات جامع و کاملی در ارتباط با پروژه از طرف پیمانکار به مشتری یا کارفرما ارائه می شود. اما در بهترین حالت مشتری نیز گزارشی قبل از آن به نام گزارش درخواست برای proposal یا Request For Proposal (RFP) آماده می کند که در آن مسائل و نیازمندیهای خود را شرح داده است. در proposal اطلاعات زیر معمولاً وجود دارد.
1. تقویم اولیه ی زمان بندی انجام پروژه (زمان بندی در ادامه ی کار ممکن است دچار تغییر شود.) 2. محدوده، ساختار و سرویس های کلی پروژه 3. زمان بندی و توالی انجام مراحل پروژه طبیعتاً این زمان بندی و مراحل می بایست بر مبنای مدل process ارائه شود. 4. مشخص کردن هزینه های سخت افزاری، نرم افزاری و نیروی انسانی. 5. مشخص کردن نیازهای آموزشی (تعداد و محتوای آموزش) 6. مشخص کردن هزینه ی کلی پروژه 7. ذکر مزایا و امکانات پروژه
تحلیل نیازمندیها Requirements analysis منظور از تحلیل نیازمندیها را می توان از دو بعد مورد بررسی قرار داد. در بعد اول ما می بایست شناختی از عملکرد سیستم موجود به دست آوریم.(به این مدل، مدل تجاری یا business model ) گفته می شود و در بعد دوم شناخت نیازمندیها انجام می شود. که به این مدل،مدل نیازمندیها یا request model گفته می شود. مدلها در دنیای نرم افزار به دو شکل کلی ساخت یافته(structure) و شیء گرا (object oriented) ساخته می شود.
مدلهای ساخت یافته که در حال حاضر کمتر در تولید سیستم ها مورد استفاده قرار می گیرند یا روشی تحت عنوان 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 تحلیل نیازمندیها: در این مرحله معمولاً فعالیتهای زیر انجام می شود: 1. درک دامنه و حوزه ی اطلاعاتی سیستم 2. مشخص کردن قابلیتها و امکانات مورد نیاز سیستم. 3. ساخت یک مدل برای نمایش اطلاعات فوق (همانند مدل DFD در SSADM و یا مدلهای usecase ، activity diagram و ... در مدل UML ) 4. تفکیک و شکستن مدل طی مراحلی به مدلهای تفصیلی تر . 5. همواره باید در مرحله ی تجزیه تحلیل از اطلاعات کلی ، مرحله به مرحله به اطلاعات تفصیلی یا جزئی رسید.
مدلهای اساسی در تجزیه تحلیل سیستم Essential Model 1 مدلهای اساسی در تجزیه تحلیل سیستم Essential Model 1. مدل محیطی Environmental Model 2. مدل رفتاری Behavioral Model در مدل محیطی ما کل سیستم و محیط در برگیرنده ی آن را که شامل سخت افزار، نرم افزارهای دیگر ، نیروی انسانی می باشد را مدل می کنیم. نمودار متن یا Context Diagram یک نمونه از مدلهای محیطی است. در مدلهای رفتاری ما عملکرد یک سیستم و ارتباط بین عناصر مختلف یک سیستم را به همراه داده های مورد استفاده در سیستم مدل می کنیم. نمودار DFD و نمودار ERD از نمونه مدلهای رفتاری است.