پایگاه دادهها

سازی میشود.
میزان شباهت کاربران نیز توسط فرمول زیر محاسبه میگردد:
که در آن CRu,n به مجموعه بخشهای corated بین u و n دلالت دارد. این فرمول عددی بین ۱ و ۱- تولید میکند که کاربران در موافقت کامل عدد ۱ و در مخالفت کامل عدد ۱- تولید میکند.
تکنیک استفاده از شبکه اجتماعی و پایش مشترک۴۸: این تکنیک به چهار قسمت تقسیم شده است: ۱. انتخاب یک پروژه نرمافزاری و مطالعه پروژه جهت تعیین لیستی از ذینفعان و نیازمندیها ۲. ساخت یک شبکه اجتماعی که کمک بزرگی به تعیین و اولویتبندی ذینفعان میکند ۳. توسعهی یک روش که از پایش مشترک جهت تعیین و اولویتبندی نیازها استفاده میکند ۴. توسعهی یک ابزار نرمافزاری که فعالیتهای فوق را پشتیبانی میکند [۱۴].
در این تکنیک از ذینفعان خواسته میشود تا ذینفعان دیگر را توصیه کنند و در نهایت یک شبکه اجتماعی ساخته میشود که گرههای آن نمایانگر ذینفعان و ارتباط بین آنها نمایانگر توصیهی آنها میباشد. روشهای متعددی را میتوان جهت اولویتبندی ذینفعان بکار گرفت. تحلیل شبکههای اجتماعی روشی جهت درک روابط بین بازیگرها و الگوهای بین آنها میباشد. شبکههای اجتماعی را معمولاً با گرافها نشان میدهند که شکل ۲-۳ این شبکه را به تصویر میکشد:
شکل ۲-۳: شبکه اجتماعی [۱۴]
پایش مشترک نوعی از سیستمهای توصیه گر میباشند که بر اساس رفتارهای گذشته کار میکنند. به عنوان مثال سایت آمازون در توصیهی کتابها به مشتریان از این نوع سیستم استفاده میکند. مراحل مدل توصیهگر ذینفعان به این صورت میباشد: ۱. تعیین یک پروژه بزرگ مقیاس ۲. تعیین و اولویتبندی ذینفعان ۳. پیش بینی نیازها ۴. اولویتبندی نیازها
در مرحله اول تعیین بزرگی پروژه از نظر تعداد ذینفعان انجام میشود. در مرحله دوم همانطور که توضیح داده شد یک شبکه اجتماعی از ذینفعان ایجاد گردیده و از روشهایی چون اندازه گیری ارتباطات و یا نقش ذینفعان میتوان آنها را اولویتبندی کرد. در مرحله سوم با استفاده از الگوریتم K- نزدیکترین همسایه به پیش بینی نیازهای ذینفعان پرداخته و در مرحله آخر با روشهای متعددی چون AHP، درخت پوشای کمینه، درخت جستجوی دودویی میتوان به اولویتبندی نیازها پرداخت که البته پیشنهاد این تکنیک استفاده از داده کاوی و روشهای یاد گیری ماشین میباشد.
در [۱۵] پژوهشگران معتقدند مسائلی چون عدم ارتباط دقیق بین کاربران و تحلیلگران و همچنین ارتباط زبانی متفاوت بین آنها باعث بروز مشکلاتی در استخراج صحیح نیازمندیها میگردد. از این رو سعی دارند با ارائه روشی این مشکلات را مرتفع سازند. در این مقاله روشی ارائه شده است که شامل سه مرحله میباشد. در مرحله اول خواستهها و تمایلات ذینفعان در قالب داستانهایی مکتوب میگردد و در انتها این داستانها به داستان واحدی مبدل میگردد. در مرحله دوم این داستان واحد از طریق تحلیلگران به سناریوهایی تبدیل شده و در مرحله آخر این سناریوها به موردهای کاربرد۴۹ تبدیل میشوند. در هر سه مرحله حضور تحلیلگران ضروری بوده و کیفیت نیازهای مستخرج به توانایی آنها بستگی دارد. روند کار این روش را در شکل ۲-۴ میبینید:
نویسندگان مقاله معتقدند در با ارائه روش مذکور محیط مدیریت دانشی جهت کشف و تبادل اطلاعات در طول فاز استخراج نیازمندیها را فراهم کردهاند. اما قابل ذکر است روش مذکور برخورداری از نیروی انسانی حرفهای اعم از تحلیلگران و برنامهنویسان را در اجرای هر چه بهتر روش میطلبد.
پس از آن در [۱۶] نوشین صباحت و همکارانش در سال ۲۰۱۰ پس از مروری بر چالشها و مشکلات بکار گیری روشها سنتی در توسعه نرمافزارهای جامع و سراسری، چارچوبی تکرار پذیر در مهندسی نیازمندیها پیشنهاد کردهاند. نویسندگان مدعی هستند با شواهد موجود، روش مطروحه در ارضای نیازهای مشتریان مؤثرتر از روشهای موجود میباشد. روش پیشنهادی با مرحله استخراج نیازمندیها شروع شده و به مراحل بعد یعنی مذاکره و تحلیل نیازها، تعیین نیازها و در آخر اعتبار سنجی نیازها هدایت میشود. در این روش فازهای استخراج و تحلیل از مهندسی نیازمندیها به صورت مکرر به استخراج مهندسی نیازمندیها به صورت مکرر به استخراج نیازهای مشتریان پرداخته تا یک خروجی مورد قبول بدست آید. در فاز مذاکره و تحلیل وقتی مهندسان هرگونه ابهام و یا نقصی در نیازها مییابند، میتوانند همراه با مشتری به فاز قبل برگشت داشته باشند و یا دادههای جمع آوری شده از مشتریان را با استفاده از روشهای مختلفی بازنگری کنند. در استخراج نیازهای جامع، مصاحبه و نمونه سازی از مهمترین روشها شمرده شده و همچنین پرسشنامه و سناریو نویسی به عنوان روشهای جایگزین و پشتیبان محسوب میشوند. در نتیجه در روش پیشنهادی از این چهار روش به صورت ترکیبی در مرحله مذاکره و تحلیل استفاده شده است. شکل ۲-۵ نمایانگر روش مذکور میباشد:
۲-۱۱-۳-۱ مقایسه روشهای نوین
در [۲] با بکار گیری داده کاوی جهت استخراج هرم نیازها روش مناسبی را ارائه نکردند. مثالهای نقض آن پیشتر توضیح داده شد.
در تکنیک استفاده از داده کاوی و سیستم توصیهگر [۴] نقطه ضعف بزرگی نمیباشد. در این روش مسائل و مشکلاتی چون توانایی بکار گیری آن در پروژهها و سازمانهای بزرگ مقیاس، اولویت بندی نیازها، جمع آوری نیازها در زمانها و مکانهای جغرافیایی متفاوت ذینفعان، تشخ
یص و توصیه نیازهای مشابه و پیش بینی نیازها و … به خوبی درک و دیده شده است. قابل ذکر است این روش در انجام یک پروژه نرمافزاری بکار گرفته شده و دارای معایبی همچون پیچیدگی زیاد نیز میباشد.
روش دیگر یعنی استفاده از شبکه اجتماعی و نوعی سیستم توصیهگر یعنی پایش مشترک نیز در بکار گیری در مقیاسهای بزرگ به اثبات رسیده است. این روش نیز دارای نقاط قوتی چون تعیین ذینفعان در مقیاسهای بزرگ، اولویت بندی نیازها، پیش بینی نیازها و … میباشد.
اما در روش بعدی که در آن تبدیل داستانها به سناریو و تبدیل آن سناریو به موردهای کاربرد و تحلیل آنها در هر مرحله توسط تحلیلگران صورت میگیرد، میتوان گفت این روش توانایی بکار گیری در مقیاسهای بزرگ را ندارد. نمیتوان در گسترهای که ممکن است هزاران ذینفع را در بر گرفته شوند از این روش استفاده کرد.
در روش آخر هم که نوشین صباحت و همکارانش در سال ۲۰۱۰ ارائه کردهاند میتوان گفت این روش، روشی ترکیبی از روشهای سنتی استخراج نیازمندیها بوده و تکنیک و روش جدیدی ارائه نگردیده و آنها با این ترکیب فقط سعی به پوشش مشکلات روشهای سنتی در همان مقیاسهای کوچک و متوسط را دارند.
۲-۱۲ تکنیکهایی در افزایش سطح بهبود رضایت ذینفعان در فاز استخراج نیازمندیها
در کنار تلاشهایی که برای ارائه روشهایی در فاز استخراج نیازمندیها میشود، برخی به سمت ارائه تکنیکهایی در افزایش سطح بهبود رضایتمندی ذینفعان جهت گیری نمودهاند. در واقع این تکنیکها در فاز استخراج نیازمندیها سعی به انجام هرچه صحیحتر و کاملتر این فاز داشته که در تبعات خود، افزایش رضایتمندی ذینفعان را که هدف این فاز میباشد به همراه دارند. نمونههای این تکنیکها به شرح زیر میباشند:
در سال ۲۰۱۰ بی بی چوآ۵۰ و همکارانش در [۱۷] سعی به ارائه بینشی در ارتباط با روش مصاحبه و ارزیابی روشهایی موثر بر جمع آوری نیازهای کامل و سازگار دارند. آنها اظهار دارند برخی روشها برای اعتبار سنجی، برخی برای تعیین صحت و درستی و برخی دیگر برای کامل کردن نیازمندیها مورد استفاده قرار میگیرند.
در این مقاله با استناد به جدولی در [۱۸] نتایج حاصل از مسائل و مشکلات پیش روی نیازمندیها بحث گردیده است. به جدول ۲-۲ توجه کنید:
جدول ۲-۲ مسائلی در ارتباط با نیازمندیهای تطبیق شده [۱۸]
معلول
علت
نیازمندیهای ناقص
فهم ناقص از خواستهها
دامنهی دانش ناقص
همکاری سطح پایین کاربران
چشم پوشی از فرضیههای ضمنی
نیازمندیهای ناصحیح
محدودیتهای تعریف شده سیستم
گمراهی در هدف سیستم
نیازمندیهای مبهم
عبارات هم خانواده و هم نام
عباراتی که قابلیت تست ندارند
ملاحظات طراحی غیر ضروری
نیازمندیهای ناسازگار
اراده و قصد سست درخواست کننده
دیدگاههای متفاوت از کاربران
نیازمندیهای غیر ثابت
نیازهای بی ثبات
پذیرش نیازهای اضافی و مکرر
نیازهای مفرط
منابع اطلاعاتی حجیم و نابسامان
در انتها نظر به استفاده مرکب از روشهای سنتی استخراج نیازمندیها دارند.
در [۱۹] هلن شارپ۵۱ و همکارانش تصمیم به شناسایی ذینفعان در پروژه و یا سازمان را دارند. آنان بر این باورند که مشاوره موثر، منظم و دقیق ذینفعان مرتبط یکی از مهمترین مسائل در فرایند مهندسی نیازمندیها میباشد.
روش کار بدین صورت است که ابتدا ذینفعان مرجع را به چهار گروه ۱. کاربران ۲. توسعه دهندگان ۳. قانون گذاران و در آخر ۴. تصمیم گیرندگان تقسیم میکنند. سپس شروع به کاوش در شبکه اطراف این چهار گروه پرداخته و طی انجام پنج مرحله به شناسایی ذینفعان میپردازند. این مراحل از قرار زیر میباشند:
۱. تمامی نقشهای مشخص در گروههای ذینفعان را مشخص کنید.
۲. ذینفعان تأمین کننده برای هر نقش در گروهها را مشخص کنید.
۳. ذینفعان سرویس گیرنده برای هر نقش در گروهها را مشخص کنید.
۴. ذینفعان پیرو برای هر نقش را در گروهها مشخص کنید.
۵. مراحل ۱ تا ۴ را برای هر گروه از ذینفعان مشخص شده در مراحل ۲ تا ۴ تکرار کنید.
در حقیقت مزیت این روش این است که از ذینفعان شناسایی شده شروع کرده و به محیطهای بیرونی رفته و کم کم شبکه ذینفعان را گستردهتر میکند و از سر در گمی شناسایی ذینفعان در ابتدای کار جلوگیری میکند.
محققان دیگری نیز در [۲۰] سعی بر خوشه بندی ذینفعان جهت تصمیم گیری در نیازمندیها دارند. روش کار بدین صورت ذکر گردیده است که در ابتدا از ذینفعان خواسته شده تا به رتبه بندی نیازمندیها بپردازند. سپس با استفاده از فاصله اقلیدسی به تعیین شباهتهای ذینفعان در رتبه بندی نیازها پرداخته و پس از آن با استفاده از روش سلسله مراتبی تجمیعی و یا تقسیمی به خوشه بندی ذینفعان پرداخته تا با این کار یک نقطه تمرکز و اتحادی بر سر تصمیم گیری در ارتباط با نیازمندیها بوجود آورند.
۲-۱۳ نتیجه گیری
در ابتدا بحثی تحت عنوان استخراج نیازمندیها به عنوان اولین و مهمترین مرحله در مهندسی نیازمندیها مطرح گردید. دیدیم که اهمیت این مرحله تا به جایی است که هرگونه ضعف و کم و کاستی در آن به صورت تصاعدی در مراحل بعدی مهندسی نیازمندیها اعم از تحلیل، تعیین و مدیریت نیازمندیها تأثیر گذار است.
در ادامه بحث استخراج نیازمندیها به مسئله سازمانها و سامانههای بزرگ مقیاس که ممکن است گسترهای بزرگ از ذینفعان را
در بر گیرد برخوردیم و دریافتیم که روشهای سنتی استخراج نیازمندیها اعم از مصاحبه، مشاهده، نمونه سازی و … با توجه به تعداد زیاد ذینفعان، حجم بزرگ پایگاه دادههای امروزی و … اجازه بکارگیری روشهای سنتی را به مهندسان نیازمندی نمیدهد. از این رو دریافتیم باید روشها و تکنیکهای بهینه دیگری توسعه داده شوند تا در مقیاسهای بزرگ به استخراج هر چه کاملتر و صحیحتر نیازمندیها کمک کنند.
در پی آن به بررسی ابزارهایی پرداختیم که در مراحل مختلف مهندسی نیازمندیها مورد استفاده قرار میگیرند. در برخی موارد دیدیم که این ابزارها صرفاً با اهداف دیگری توسعه داده شده بودند اما در بحث مهندسی نیازمندیها از آنها استفاده میشد. هر کدام دارای مزایا و معایبی بودند و بسته به سطح جزئیات، میزان رسمیت، اهداف و عملیاتهای گوناگون در مراحل مختلف مهندسی نیازمندیها مورد استفاده قرار میگرفتند.
در پی این تحقیقات به این نتیجه رسیدیم که در مقیاسهای بزرگ علاوه بر استخراج نیازمندیها درگیر مسائلی چون شناسایی و پیش بینی نیازهای دیگر ذینفعان، هدایت ذینفعان در ارائه خواستههایشان، اولویت بندی نیازها و دیگر موارد هستیم. در اینگونه موارد دریافتیم بحث داده کاوی به عنوان مرحلهای از کشف دانش کمک شایانی به بحث استخراج دانش نهفته در حجم عظیم دادهای خام موجود در پایگاه دادههای بزرگ میکند. میدانیم که در دنیای امروز جمع آوری اطلاعات کار دشواری نیست، بحث مهم استخراج دانش مورد نیاز از این اطلاعات است. به عنوان مثال پایگاه داده موجود در سازمان مدیریت شهری ۱۳۷ شهرداری تهران را در نظر بگیرید. این پایگاه داده که از طریق درگاههای ارتباطی متفاوتی چون سامانه اینترنتی، پیام کوتاه و تماس تلفنی به ثبت نیازها، خواستهها، پیشنهادات و انتقادات شهروندان میپردازد با میلیونها رکورد ثبتی دارای مقیاس بسیار بزرگی بوده که در شناسایی، استخراج، اولویت انجام نیازها و دیگر موارد ناگزیر به استفاده از روشهای هوشمندی چون داده کاوی هستیم. امروزه سازمانها در دریای دادهها و اطلاعات غرق شدهاند، حال آنکه گرسنه دانش از این اطلاعات هستند.
در پی بکار گیری داده کاوی در بحث استخراج نیازمندیها به مروری بر تحقیقات کارلوس کاسترو [۴, ۵]، نیلوفر مولا [۱۴] و دیگر محققان پرداختیم. دیدیم که این محققان چگونه با بکار گیری داده کاوی بر مسائل و مشکلات در استخراج نیازمندیها در مقیاسهای بزرگ تا حدودی نائل آمدند. آنان با بکار گیری این تکنیک توانستند مسائل مهمی چون پیش بینی و اولویت بندی نیازها را در کار خود بگنجانند چرا که در مقیاسهای بزرگ نیاز به پیش بینی و اولویت بندی احساس میگردد.
دو نمونه کار مرتبط بر روی پایگاه داده موجود در