روی خط زندگی

گشت و گذار من در هنر نرم افزار

روی خط زندگی

گشت و گذار من در هنر نرم افزار

تحلیل نیازمندی ها

پنجشنبه, ۱۰ ارديبهشت ۱۳۹۴، ۰۷:۲۰ ب.ظ

همان طور که در مطلب قبل گفتیم، اولین گام در تحلیل و طراحی شی گرا، جمع آوری نیازمندی ها است که از آن می توان با عنوان تحلیل نیازمندی ها هم نام برد. در این مرحله مشخص می کنیم که از دید کارفرما و نیز تیم توسعه، سیستم چه کارهایی را باید انجام دهد. چرا می گوییم از دید کارفرما و تیم توسعه! اگر با فرآیند های ممیزی ایزو آشنایی داشته باشید، می دانید که از دیدگاه ایزو، نیازمندی های مشتری بر دو قسم است:

  • نیازمندی های تصریحی: نیازمندی های که مشتری راسا می گوید. مثلا رنگ ماشین خاکستری باشد.
  • نیازمندی های تلویحی: نیازمندی هایی که مشتری رسما نمی گوید ولی سیستم باید طبیعتا داشته باشد. مثلا یک خودرو طبیعتا باید سیستم ترمز داشته باشد.

در نرم افزار نیز نیازمندی ها به نوعی بر همین مبنا تقسیم می شوند:

  • نیازمندی های کارکردی (Functional Requirement)
  • نیازمندی های غیر کارکردی (Non Functional Requirement)

نیازمندی های کارکردی مشخص می کند که سیستم چه کاری باید انجام دهد اما نیازمندی های غیر کارکردی به مواردی می پردازد که ممکن است صراحتا گفته نشود ولی طبیعتا باید در سیستم لحاظ گردد. نیاز مندی های غیر کارکردی بر اقسام زیر است:

  1. راهنمای سیستم (Help): مستنداتی و آموزش هایی که برای یادگیری عملکرد سیستم مورد نیاز است.
  2. پشتیبانی (Support): آیا سیستم پس از اجرا به پشتیبانی نیاز دارد. اگر کسی ساعت دو نیمه شب با سیستم کار کند و به مشکل بر بخورد چه باید بکند.
  3. قوانین و مقررات (Legal): چه قوانین و مقرراتی بر پروژه حاکم است. مثلا قوانین کشوری یا وزارت خانه ای خاص که سیستم برای آن نوشته می شود.
  4. کارایی (Performance): سیستم به چه حجمی از کاربران باید پاسخ گو باشد و به قول معروف Response Time سیستم چه قدر باید باشد. مثلا ذات یک سیستم ثبت نام کنکور با سیستم ثبت نام یک آموزشگاه موسیقی متفاوت است.
  5. امنیت (Security): امنیت مقوله ای است که ممکن است بنا به نوع سیستم از نیاز مندی های اصلی باشد صراحتا گفته شود و یا جزو نیازمندی های غیر کارکردی و تلویحی لحاظ شود.

نمونه هایی از نیازمندی های کارکردی در سیستم های مختلف به قرار زیر است:

  • سیستم باید تنها به کاربرانی اجازه ورود بدهد که قبلا ثبت نام کرده اند.
  • سیستم باید در زمان ثبت نام کاربر، اطلاعات کلمه عبور را برای وی از طریق پیامک ارسال کند.
  • سیستم باید به کاربر اجازه ارسال پیامک به گروه های انتخابی از افراد را بدهد.
  • سیستم باید احراز هویت افراد را با کد ملی آنها از طریق سیستم ثبت احوال انجام دهد.

نمونه هایی از نیازمندی های غیر کارکردی به قرار زیر است:

  • یک راهنمای استفاده آنلاین برای کاربران تهیه شود و روی سایت قرار گیرد.
  • در صفحه ورود به سیستم (لاگین) یک Captcha قرار گیرد تا از حمله Brute force جلوگیری شود.
  • سیستم باید بتواند همزمان به یک صد هزار کاربر آنلاین پاسخ گو باشد.

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی