1-7 انگیزه……………….. 8
1-8 تعریف مسئله………………… 9
1-9 فرضیه………………… 9
1-10 اهداف تحقیق………………… 10
فصل دوم (ادبیات و پیشینه تحقیق)……………….. 12
2-1 مقدمه………………… 12
2-2 انگیزههای کاوش داده……………….. 13
2-2-1 انگیزههای تجاری…………………. 13
2-2-2 انگیزههای علمی………………… 15
2-3 چالشهای داده کاوی…………………. 16
2-3-1 چالشهای اولیه………………… 17
2-3-2 چالشهای ثانویه………………… 18
2-4 مروری بر کشف دانش و داده کاوی…………………. 19
2-5 مراحل داده کاوی…………………. 21
2-6 دلایل وجود و ضرورت داده کاوی…………………. 29
2-7 داده کاوی سازمانی………………… 30
2-8 نقش داده کاوی سازمانی در معرفت سازمانی………… 31
2-9 معیارهای تعریف نیازمندیهای سیستم………………… 31
2-10 نتایج نیازمندیهای نادرست…………………. 32
2-11 پیشینه تحقیق………………… 32
2-11-1 روشهای سنتی………………… 33
2-11-1-1 مقایسه روشهای سنتی………………… 35
2-11-2 استفاده از ابزارها……………….. 37
2-11-3 روشهای نوین………………… 38
2-11-3-1 مقایسه روشهای نوین………………… 46
2-12 تکنیکهایی در افزایش سطح بهبود رضایت ذینفعان در فاز استخراج نیازمندیها …..47
2-13 نتیجه گیری…………………. 49
فصل سوم (روش تحقیق)……………….. 53
3-1 مقدمه………………… 53
3-2 راهکار پیشنهادی…………………. 53
3-2-1 آماده سازی و پیش پردازش داده……………….. 54
3-2-1-1 جمع آوری و بارگذاری دادههای استخراج شده ………………..54
3-2-1-2 پاک سازی داده……………….. 54
3-2-1-3 انتخاب زیر مجموعهای از ویژگیها……………….. 55
3-2-1-4 فیلترینگ نمونهها……………….. 55
3-2-1-5 تبدیل داده……………….. 55
3-2-1-6 خلق ویژگی………………… 55
3-2-1-7 نمونه برداری…………………. 56
3-2-2 یادگیری مدل………………… 56
3-2-2-1 خوشه بندی…………………. 56
3-2-2-2 خوشه بندی K-Means…………………
3-2-2-3 خوشه بندی با استفاده از الگوریتم K-Means با توجه به فرکانس تکرار و درجه اهمیت درخواستها و نیازمندیها …57
3-2-3 ارزیابی و تفسیر مدل………………… 58
3-2-4 دسته بندی جدید و اولویت بندی نیازمندیهای استخراج شده با استفاده از تکنیک رتبه بندی…… 58
3-2-4-1 روش رتبه بندی…………………. 60
3-2-4-2 شاخصهای رتبه بندی…………………. 60
3-2-4-3 ضرایب یا وزن شاخصها ………………..61
فصل چهارم (محاسبات و یافتههای تحقیق)……………….. 65
4-1 مطالعه موردی: سامانه مدیریت شهری 137 شهرداری تهران………………… 65
4-2 معرفی ابزار برتر داده کاوی RapidMiner………………..
4-3 پیاده سازی روش پیشنهادی…………………. 68
4-4 ارزیابی و تفسیر خوشهها ………………..69
فصل پنجم (نتیجه گیری و پیشنهادات)……………….. 72
5-1 نتیجه گیری…………………. 72
5-2 مشکلات و نقاط ضعف کارهای مرتبط…………………. 72
5-3 مزایا و ویژگیهای روش پیشنهادی…………………. 73
5-4 کارهای آینده ………………..74
پیوست – منابع و مآخذ………………… 75
چکیده:
در سازمانها و سامانههای بزرگ مقیاس و پیچیده، جهت تعیین نیازمندیهای عملیاتی و غیر عملیاتی در گسترهای که ممکن است هزاران ذینفع را در بر گیرد، دانشی جهت استخراج نیازمندیها احساس میگردد. با توجه به اینکه سازمانها، دادهها و اطلاعات بسیاری در تصرف خود دارند و با فلج ساختن اطلاعات یک چالش کلیدی در تصمیم گیری تشکیلات سازمانی ایجاد مینمایند، فرایند کشف دانش از پایگاه داده سازمان مطرح گردیده که یک فرایند علمی برای شناسایی الگوهای معتبر، بالقوه مفید و قابل فهم از دادهها میباشد. در این تحقیق قصد داریم با بکار گیری داده کاوی به عنوان مرحلهای از فرایند کشف دانش به ارائهی چارچوبی جهت استخراج و اولویت بندی نیازمندیها در سازمانهای بزرگ مقیاس پرداخته که در نتیجه کار خود، افزایش رضایتمندی را به همراه میآورد. بدین صورت که ابتدا با توجه به فرکانس تکرار و درجه اهمیت، نیازمندیها را با استفاده از الگوریتم K-Means خوشه بندی کرده سپس با روشی به نام رتبه بندی و بهره گیری از ماتریس ارزش محور به اولویت بندی نیازمندیها میپردازیم. مطالعه موردی چارچوب پیشنهادی، پایگاه داده سامانه مدیریت شهری 137 شهرداری تهران میباشد. بر اساس نتایج بدست آمده میتوان خوشههای متفاوت از نیازها با اولویت اقدام متفاوت را معرفی نمود.
فصل اول: مقدمه و کلیات تحقیق
1-1- مقدمه
مهندسی سیستم سعی میکند تا نیازمندیهای سیستم را تشخیص دهد که این عمل با همکاری مشتریان، کاربران و تمامی ذینفعان انجام میشود [1]. مدیریت ارتباط با شهروند یکی از مباحث اصلی در مدیریت دولتی نوین محسوب شده و از اهمیت بسیاری برخوردار است. در مدیریت ارتباط با شهروند تمرکز اصلی بر شهروند محوری است و بهبود خدمت رسانی و پاسخ گویی به شهروندان بر اساس نیازهای ایشان، هدف اصلی محسوب میشود. در واقع درک درست از نیازها و خواستههای گروههای مختلف شهروندان و ارائه خدمات مناسب با این نیازها، موضوعی است که باید در مدیریت ارتباط با شهروند مورد توجه قرار گیرد [2].
2-1- مهندسی نیازمندی ها
خروجی فرایند مهندسی سیستم تعریفی از یک سیستم کامپیوتری یا محصول است. در این مرحله نیز این مشکل وجود دارد که چگونه مطمئن شویم که تعریف ارائه شده از سیستم نیازهای مشتری را برطرف میکند و انتظارات او را رفع میسازد. برای این منظور نیازمند به طی فرایند مهندسی نیازمندیها هستیم. این فرایند مکانیزمهای مناسب را فراهم میآورد تا تشخیص دهیم مشتری چه میخواهد، نیازهای تحلیل چیست، یک راه معقول کدام است و ابهامات نیازمندی در کجا هستند.
مهندسی نیازمندیها دارای پنج فاز مهم زیر میباشد [1]:
1- استخراج[1] نیازمندیها: در این فاز اهداف سیستم و یا محصول مشخص میگردد و نیز اینکه چه چیزی انجام میگیرد، سیستم و یا محصول چگونه نیازهای تجاری را رفع میکنند.
2- تحلیل[2] نیازمندیها: هنگامیکه نیازها جمع آوری شدند عمل تحلیل روی آنها انجام میگیرد. تحلیل، نیازمندیها را در زیر دستههایی خاص دسته بندی میکند، ارتباط هر کدام را با دیگری بررسی نموده، جامعیت و ابهامات آنها را تست و نیازمندیها را بر اساس نیاز مشتری اولویت بندی میکند.
3- تعریف مشخصات[3] نیازمندیها: در این فاز بر اساس تعریف ایجاد شده از سیستم، یک مدل از آن ساخته میشود.
4- اعتبار سنجی[4] نیازمندیها: در این فاز نیازمندیها برای وجود ابهامات مورد آزمایش و بررسی دقیق قرار میگیرند.
5- مدیریت[5] نیازمندیها: این فاز مجموعهای از فعالیتها را تعریف میکند که باعث میشوند تیم پروژه بتواند تعیین، کنترل و ردگیری نیازمندیها و تغییرات آنها را در هر زمان مدیریت کند.
این پنج فاز مکانیزم مناسبی جهت درک خواستههای ذینفعان، تحلیل نیازها، تعیین امکان پذیر بودن پروژه، مذاکره در مورد راه حل قابل قبول، تعیین راه حل به صورت شفاف، اعتبار سنجی خصوصیات و مدیریت نیازمندیها در زمان اعمال آنها به سیستم عملیاتی میباشد.
هدف از فاز اول تعیین این موضوع است که چه مسائلی نیاز به حل شدن دارند. در فاز دوم درک ارتباط بین نیازمندیهای گوناگون مشتری و شکل دادن به ارتباطات برای دستیابی به نتیجه موفق انجام میشود. در فاز سوم از روشهایی چون ایجاد یک مدل ملموس از سیستم میتواند به تعیین نیازمندیها کمک کند. در فاز چهارم توسط بازبینی مدل به اعتبار و صحت سنجی نیازهای ثبت شده پرداخته و در فاز آخر به مدیریت این فرایند که شامل تعیین، کنترل و پیگیری نیازها و تغییرات آنها میباشند، میپردازیم.
3-1- استخراج نیازمندیها
استخراج نیازمندیها به عنوان اولین و مهمترین فاز از پنج فاز مهندسی نیازمندیها میباشد. هدف استخراج نیازمندیها تعیین این مطلب است که چه مسائلی نیازمند حل شدن هستند. بیشتر سیستمهایی که در صنعت نرم افزار ساخته میشوند نمیتوانند نیازهای کاربران را برآورده کنند. کیفیت نیازمندیها برای موفقیت یک پروژه حیاتی است. استخراج نیازمندیها فاز اول مهندسی نیازمندیها است و نقش مهمی در طول چرخهی عمر توسعهی نرم افزار دارد. این فاز شامل مسائل اجتماعی، ارتباطی و تکنیکی و درگیر بیرون کشیدن نیازمندیهای مشتری است و یکی از فعالیتهای کلیدی و پیچیده محسوب میشود، زیرا در اکثر موارد کاربران از نیازهای خود آگاه نیستند و اختلاف در نقاط دید