بسم الله الرحمن الرحیم
وزارت علوم، تحقیقات و فناوری
دانشگاه علوم و فنون مازندران
پایان نامه
مقطع کارشناسی ارشد
رشته: مهندسی فناوری اطلاعات
عنوان: ارائه چارچوبی برای امکان پذیری استخراج نیازمندی‌ها در سازمان‌های بزرگ مقیاس به زبان فارسی مبتنی بر نیازمندی‌های عملیاتی و غیر عملیاتی
استاد راهنما: دکتر جواد وحیدی
استاد مشاور: دکتر بابک شیرازی
دانشجو: سید حسین خلیلی
شماره دانشجویی: 90191107
بهار 1392
تشکر و قدر دانی
اکنون که این تحقیق را به پایان می‌برم، نخست خدای مهربان را سپاسگزارم که لطفش همواره شامل حالم بوده و لحظه‌ای مرا به حال خود واگذار نکرده است.
تقدیم به پدر و مادر مهربانم که می‌دانم هرچه دارم از دعای خیر آنها بوده است.
آنگاه از استاد راهنمای گرانقدرم جناب آقای دکتر جواد وحیدی تشکر و قدر دانی فراوان دارم. ایشان همواره با راهنمایی‌های بی‌نظیرشان حامی اینجانب بوده و همواره در تمام این مدت اینجانب را با آغوشی باز پذیرفتند.
لازم می‌دانم اقرار کنم بهره‌مندی‌های اینجانب از رهنمودها و مشاوره‌های استاد مشاورم جناب آقای دکتر بابک شیرازی کمتر از دیگران نبوده و همواره وجود ایشان باعث دلگرمی و هدایت اینجانب به مسیر تحقق اهدافم بوده و هست.
با سپاس فراوان از سازمان فناوری اطلاعات و ارتباطات شهرداری تهران بابت حمایت اطلاعاتی پایان نامه
در آخر توفیق روز افزون را برای همه‌ی کسانی که در این راه مرا یاری کردند از خداوند متعال خواستارم.
اجرکم عندالله
ارادتمند خلیلی
چکیده:
در سازمان‌ها و سامانه‌های بزرگ مقیاس و پیچیده، جهت تعیین نیازمندی‌های عملیاتی و غیر عملیاتی در گستره‌ای که ممکن است هزاران ذینفع را در بر گیرد، دانشی جهت استخراج نیازمندی‌ها احساس می‌گردد. با توجه به اینکه سازمان‌ها، داده‌ها و اطلاعات بسیاری در تصرف خود دارند و با فلج ساختن اطلاعات یک چالش کلیدی در تصمیم گیری تشکیلات سازمانی ایجاد می‌نمایند، فرایند کشف دانش از پایگاه داده سازمان مطرح گردیده که یک فرایند علمی برای شناسایی الگوهای معتبر، بالقوه مفید و قابل فهم از داده‌ها می‌باشد. در این تحقیق قصد داریم با بکار گیری داده کاوی به عنوان مرحله‌ای از فرایند کشف دانش به ارائه‌ی چارچوبی جهت استخراج و اولویت بندی نیازمندی‌ها در سازمان‌های بزرگ مقیاس پرداخته که در نتیجه کار خود، افزایش رضایتمندی را به همراه می‌آورد. بدین صورت که ابتدا با توجه به فرکانس تکرار و درجه اهمیت، نیازمندی‌ها را با استفاده از الگوریتم K-Means خوشه بندی کرده سپس با روشی به نام رتبه بندی و بهره گیری از ماتریس ارزش محور به اولویت بندی نیازمندی‌ها می‌پردازیم. مطالعه موردی چارچوب پیشنهادی، پایگاه داده سامانه مدیریت شهری 137 شهرداری تهران می‌باشد. بر اساس نتایج بدست آمده می‌توان خوشه‌های متفاوت از نیازها با اولویت اقدام متفاوت را معرفی نمود.
کلمات کلیدی: مهندسی نیازمندی‌ها، استخراج نیازمندی‌ها، سازمان‌ها و یا سامانه‌های بزرگ مقیاس، داده کاوی، اولویت بندی نیازها، رضایتمندی
فهرست مطالب
فصل اول (مقدمه و کلیات تحقیق)2
1-1 مقدمه2
1-2 مهندسی نیازمندی‌ها2
1-3 استخراج نیازمندی‌ها3
1-4 سازمان‌های بزرگ مقیاس4
1-5 ویژگی‌های سازمان‌ها و سامانه‌های بزرگ مقیاس5
1-6 چالش‌های سازمان‌های بزرگ مقیاس8
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-Means56
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 معرفی ابزار برتر داده کاوی RapidMiner66
4-3 پیاده سازی روش پیشنهادی68
4-4 ارزیابی و تفسیر خوشه‌ها69
فصل پنجم (نتیجه گیری و پیشنهادات)72
5-1 نتیجه گیری72
5-2 مشکلات و نقاط ضعف کارهای مرتبط72
5-3 مزایا و ویژگی‌های روش پیشنهادی73
5-4 کارهای آینده74
پیوست – منابع و مآخذ75
Abstract76
فهرست جداول
جدول2-1: مقایسه روش‌های سنتی استخراج نیازمندی‌ها36
جدول2-2: مسائلی در ارتباط با نیازمندی‌های تطبیق شده47
جدول3-1: معیارهای SSE و ASC57
جدول3-2: بررسی برخی روش‌های اولویت بندی59
جدول3-3: تعیین ضریب شاخص (درجه اهمیت)62
جدول3-4: تعیین درجه اهمیت نیازمندی62
جدول3-5: تعیین ضریب شاخص63
جدول4-1: جدول پیام65
جدول4-2: نتیجه خوشه بندی و اولویت بندی نیازمندی‌ها69
فهرست شکل‌ها
شکل2-1: فرایند داده کاوی و کشف دانش20
شکل2-2: استفاده از داده کاوی در استخراج نیازمندی‌ها40
شکل2-3: شبکه اجتماعی43
شکل2-4: روش مبتنی بر سناریو44
شکل2-5: مدل تکرار پذیر استخراج نیازمندی‌های جامع46
شکل3-1: مراحل اصلی راهکار پیشنهادی53
شکل3-2: گام‌های مرحله آماده سازی و پیش پردازش داده54
شکل3-3: تعیین اولویت61
شکل3-4: ترتیب اولویت62
شکل4-1: نمایی از یک پردازش در نرم‌افزار RapidMiner67
شکل4-2: نمایی از مصور سازی داده‌ها در نرم‌افزار RapidMiner67
شکل4-3: استفاده از عملگرها در مراحل پیاده سازی68
فصل اول
مقدمه و کلیات تحقیق
1-1 مقدمه
مهندسی سیستم سعی می‌کند تا نیازمندی‌های سیستم را تشخیص دهد که این عمل با همکاری مشتریان، کاربران و تمامی ذینفعان انجام می‌شود [1]. مدیریت ارتباط با شهروند یکی از مباحث اصلی در مدیریت دولتی نوین محسوب شده و از اهمیت بسیاری برخوردار است. در مدیریت ارتباط با شهروند تمرکز اصلی بر شهروند محوری است و بهبود خدمت رسانی و پاسخ گویی به شهروندان بر اساس نیازهای ایشان، هدف اصلی محسوب می‌شود. در واقع درک درست از نیازها و خواسته‌های گروه‌های مختلف شهروندان و ارائه خدمات مناسب با این نیازها، موضوعی است که باید در مدیریت ارتباط با شهروند مورد توجه قرار گیرد [2].
1-2 مهندسی نیازمندی‌ها
خروجی فرایند مهندسی سیستم تعریفی از یک سیستم کامپیوتری یا محصول است. در این مرحله نیز این مشکل وجود دارد که چگونه مطمئن شویم که تعریف ارائه شده از سیستم نیازهای مشتری را برطرف می‌کند و انتظارات او را رفع می‌سازد. برای این منظور نیازمند به طی فرایند مهندسی نیازمندی‌ها هستیم. این فرایند مکانیزم‌های مناسب را فراهم می‌آورد تا تشخیص دهیم مشتری چه می‌خواهد، نیازهای تحلیل چیست، یک راه معقول کدام است و ابهامات نیازمندی در کجا هستند.
مهندسی نیازمندی‌ها دارای پنج فاز مهم زیر می‌باشد [1]:
استخراج1 نیازمندی‌ها: در این فاز اهداف سیستم و یا محصول مشخص می‌گردد و نیز اینکه چه چیزی انجام می‌گیرد، سیستم و یا محصول چگونه نیازهای تجاری را رفع می‌کنند.
تحلیل2 نیازمندی‌ها: هنگامیکه نیازها جمع آوری شدند عمل تحلیل روی آنها انجام می‌گیرد. تحلیل، نیازمندی‌ها را در زیر دسته‌هایی خاص دسته بندی می‌کند، ارتباط هر کدام را با دیگری بررسی نموده، جامعیت و ابهامات آنها را تست و نیازمندی‌ها را بر اساس نیاز مشتری اولویت بندی می‌کند.
تعریف مشخصات3 نیازمندی‌ها: در این فاز بر اساس تعریف ایجاد شده از سیستم، یک مدل از آن ساخته می‌شود.
اعتبار سنجی4 نیازمندی‌ها: در این فاز نیازمندی‌ها برای وجود ابهامات مورد آزمایش و بررسی دقیق قرار می‌گیرند.
مدیریت5 نیازمندی‌ها: این فاز مجموعه‌ای از فعالیت‌ها را تعریف می‌کند که باعث می‌شوند تیم پروژه بتواند تعیین، کنترل و ردگیری نیازمندی‌ها و تغییرات آنها را در هر زمان مدیریت کند.
این پنج فاز مکانیزم مناسبی جهت درک خواسته‌های ذینفعان، تحلیل نیازها، تعیین امکان پذیر بودن پروژه، مذاکره در مورد راه حل قابل قبول، تعیین راه حل به صورت شفاف، اعتبار سنجی خصوصیات و مدیریت نیازمندی‌ها در زمان اعمال آنها به سیستم عملیاتی می‌باشد.
هدف از فاز اول تعیین این موضوع است که چه مسائلی نیاز به حل شدن دارند. در فاز دوم درک ارتباط بین نیازمندی‌های گوناگون مشتری و شکل دادن به ارتباطات برای دستیابی به نتیجه موفق انجام می‌شود. در فاز سوم از روش‌هایی چون ایجاد یک مدل ملموس از سیستم می‌تواند به تعیین نیازمندی‌ها کمک کند. در فاز چهارم توسط بازبینی مدل به اعتبار و صحت سنجی نیازهای ثبت شده پرداخته و در فاز آخر به مدیریت این فرایند که شامل تعیین، کنترل و پیگیری نیازها و تغییرات آنها می‌باشند، می‌پردازیم.
1-3 استخراج نیازمندی‌ها
استخراج نیازمندی‌ها به عنوان اولین و مهم‌ترین فاز از پنج فاز مهندسی نیازمندی‌ها می‌باشد. هدف استخراج نیازمندی‌ها تعیین این مطلب است که چه مسائلی نیازمند حل شدن هستند. بیشتر سیستم‌هایی که در صنعت نرم افزار ساخته می‌شوند نمی‌توانند نیازهای کاربران را برآورده کنند. کیفیت نیازمندی‌ها برای موفقیت یک پروژه حیاتی است. استخراج نیازمندی‌ها فاز اول مهندسی نیازمندی‌ها است و نقش مهمی در طول چرخه‌ی عمر توسعه‌ی نرم افزار دارد. این فاز شامل مسائل اجتماعی، ارتباطی و تکنیکی و درگیر بیرون کشیدن نیازمندی‌های مشتری است و یکی از فعالیت‌های کلیدی و پیچیده محسوب می‌شود، زیرا در اکثر موارد کاربران از نیازهای خود آگاه نیستند و اختلاف در نقاط دید طرز تفکر و انتظارات بین کاربران و تحلیلگران این کار را مشکل و چالش برانگیز ساخته است. برای پشتیبانی و بهبود فرایند استخراج تکنیک‌های زیادی با نقاط ضعف و قدرت متفاوت وجود دارند اما مهندسان نیازمندی همواره برای انتخاب تکنیک مناسب از بین این تکنیک‌ها مشکلاتی دارند. مهم‌ترین دلیل آن این است که یک تکنیک برای همه‌ی موقعیت‌ها مناسب نیست و موقعیت در طول فرایند استخراج تغییر می‌کند. نقل قولی از فردریک بروکس جواب این سؤال را که “چرا نیازمندی‌ها اینقدر اهمیت دارند” می‌گوید: سخت‌ترین بخش ساخت یک سیستم نرم‌افزاری تصمیم گیری دقیق در مورد این است که چه چیزی باید ساخته شود. بخش‌های دیگر عمل درک نیازمندی‌ها به سختی وضع کردن نیازمندی‌های فنی مجزا نیست که شامل همه رابطه‌های افراد، ماشین‌ها ، و سیستم‌های نرم افزاری دیگر است. بخش‌های دیگر سیستم حاصل را اینقدر عاجز نمی‌کنند اگر اشتباه انجام شود. هیچ بخش دیگری سخت‌تر از این نیست که بعداً تصحیح شود. استنباط ، تحلیل ، و خوب نوشتن نیازمندی‌ها سخت‌ترین بخش‌های مهندسی نرم افزار هستند. به هر حال به نقل قول از کارل ویگرس “اگر شما نیازمندی‌ها را درست نگیرید هیچ اهمیتی نخواهد داشت که شما چیزهای دیگر را چقدر خوب انجام داده باشید”.
1-4 سازمان‌های بزرگ مقیاس
همان طور كه از نام سازمان‌هاي بزرگ مقياس برمي‌آيد، اين نوع از سازمان‌ها، سازمان‌هايي هستند كه از نظر مقياس و اندازه فراتر از سازمان‌هاي امروزي هستند. اين «بزرگ مقياس» بودن از هر نظر قابل بررسي است: از نظر افراد درگير در سازمان، داده‌هاي ذخيره شده، بازيابي شده، دستكاري شده و پالايش شده، ميزان اتصالات و وابستگي بين واحدي مؤلفه‌های نرم‌افزاري، عناصر سخت‌افزاري و … .
«مقياس» در سازمان‌هاي بزرگ مقياس باعث تغيير همه چيز مي‌شود. اين سازمان‌ها، لزوماً به شكل نامتمركز هستند؛ توسط تعداد زيادي از ذینفعان با نيازهاي متضاد، توسعه و به كار گرفته مي‌شوند؛ به طور مستمر تكامل پيدا مي‌كنند؛ از قطعات ناهمگن تشكيل مي‌شوند؛ افراد تنها كاربران سامانه نيستند، بلكه بخشي از سامانه محسوب مي‌شوند؛ خرابي‌هاي نرم‌افزاري و سخت‌افزاري يك امر كاملاً عادي محسوب مي‌شوند و نمي‌توان آن‌ها را يك استثناء در نظر گرفت. همچنين، سامانه‌هاي بزرگ مقياس همزمان مورد استفاده قرار مي‌گيرند و نياز به روش‌هاي نوين براي كنترل دارند. اين ويژگي‌ها، لزوم بكارگيري روش‌هايي را براي استفاده، توليد، استقرار، مديريت، مستندسازي و تكامل سازمان‌هاي بزرگ مقياس اجتناب‌ناپذير مي‌سازد [3].
از نمونه این سازمان‌ها می‌توان به شهرداری تهران اشاره نمود که دارای مجموعه وسیعی از نیروی انسانی در واحدهای مختلف بوده که هدف آنها جلب رضایت هرچه بیشتر شهروندان می‌باشد. ارضای نیازمندی‌های شهروندان در اولویت وظایف این سازمان قرار داشته و با بوجود آوردن زیرمجموعه‌هایی همچون سامانه مدیریت شهری 137، سامانه نظارت همگانی 1888 و … با دخیل کردن شهروندان در ثبت نظرات، پیشنهادات، خواسته‌ها و نیازهایشان سعی به انجام بهتر این وظیفه بزرگ دارد.
1-5 ویژگی‌های سازمان‌ها و سامانه‌های بزرگ مقیاس
سازمان‌هاي بزرگ مقياس ويژگي‌هايي دارند كه باعث مي‌شوند رويكردهاي فعلي و مورد استفاده روش‌هاي مهندسي نرم‌افزار نتوانند پاسخگوي توسعه آن‌ها باشند. اين ويژگي‌ها عمدتاً ناشي از «مقياس» اين گونه از سازمان‌ها است. ويژگي اصلي سازمان‌هاي بزرگ مقياس، اندازه بسيار بزرگ آن‌ها در ابعاد مختلف است. البته ماهيت سامانه‌هاي بزرگ مقياس به مواردي فراتر از «اندازه» آن‌ها برمي‌گردد. در واقع، اندازه باعث مي‌شود بسياري از مواردي كه در سازمان‌هاي معمولي غیر مهم يا كم اهميت بودند، تبديل به موارد بااهميت شوند. مشكلات ناشي از مقياس، نيازمند روش‌هاي جديد حل و تعريف مفاهيم نو براي طراحي، توسعه، كاركرد و تكامل سازمان‌ها است. مي‌توان هفت ويژگي را براي سازمان‌ها و یا سامانه‌های بزرگ مقياس در نظر گرفت. در ادامه، ضمن بيان اين ويژگي‌ها، مشخص مي‌كنيم چرا هر يك از آن‌ها باعث مي‌شود كه رويكردهاي فعلي مهندسي نرم‌افزار در مقابله با آن‌ها ناتوان باشد [3].
كنترل نامتمركز
مقياس سامانه‌هاي بزرگ مقیاس تنها به شكل بسيار محدودي اجازه كنترل مركزي و سلسله مراتبي داده، توسعه، تكامل، و كاركرد را مي‌دهد. حتي مقدار محدود كنترل سلسله مراتبي كه امروزه در سامانه‌هاي بسيار بزرگ امكان‌پذير است، در سامانه‌هاي بزرگ مقیاس مورد ترديد است، و در نتيجه مدل‌هاي متفاوتي را براي كنترل طلب مي‌كند.
نیازمندی‌های ذاتاً متضاد و ناشناخته
مقياس و پيچيدگي مسائلي كه سازمان‌هاي بزرگ مقياس بايد حل كنند، اغلب ما را به سمت وضعيتي سوق مي‌دهد كه در آن نيازمندي‌هاي يك سامانه تا زمان استفاده از آن سامانه ناشناخته‌اند. حتی، گاهي پس از آن كه سامانه مورد نظر عملياتي شد، درك ما از مسئله دچار تغيير مي‌شود. در واقع، هر تلاش براي حل مسئله، فهم ما را از آن مسئله بيشتر مي‌كند و باعث مي‌شود مسئله جديدي مطرح شده و به تلاشي ديگر براي حل آن نياز باشد. به اين شكل، بسياري از مسائلي كه سامانه‌هاي بزرگ مقياس بايد حل كنند، پايان‌پذير نيستند. از طرف ديگر، سامانه‌هاي بزرگ مقياس به دليل اندازه و ماهیتشان بايد طيف وسيعي از نيازمندي‌ها را ارضا كنند. هر چقدر دامنه اين نيازمندي‌ها وسيع‌تر باشد، تنوع و تضاد در بين آن‌ها افزايش مي‌يابد. همچنين، يكپارچگي راه‌حل‌ها نياز به دانش در حوزه‌هاي مختلف و بين دامنه‌اي دارد، كه به دست آوردن آن چندان ساده نيست.
تكامل و استقرار مداوم
يكي ديگر از پيامدهاي «اندازه» اين است كه سازمان‌هاي بزرگ مقياس براي مدت طولاني بايد به ارايه خدمات بپردازند. در واقع، اندازه اين نوع از سازمان‌ها جايگزيني يا از رده خارج شدن آن‌ها را غيرممكن مي‌سازد. سازمان‌هاي بزرگ مقياس نيز همانند سامانه‌هاي بسيار بزرگ امروزي به طور مداوم تكامل پيدا مي‌كنند تا نيازمندي‌هاي جديد و تغييريافته را برآورده كنند. با اين حال، ما به تكاملي متفاوت از تكامل در سازمان‌هاي بسيار بزرگ امروزي نياز داريم. هنگامي كه از تكامل يك سامانه صحبت مي‌كنيم، منظورمان تغييرات هدايت‌شده‌اي است كه بر اساس قواعد و سياست‌ها، به شكل محلي انجام مي‌شود بدون آن كه يكپارچگي آن سامانه را از بين ببرد. اما، يكپارچگي در سامانه‌هاي بزرگ مقياس توسط گروه‌هاي مختلفي از ذینفعان انجام مي‌شود. هيچ تضميني وجود ندارد كه اين تغييرات كاملاً قاعده‌مند بوده و بر اساس قواعد از پیش تعریف شده انجام پذيرد.
عناصر ناهمگن، ناسازگار و در حال تغيير
اندازه سامانه‌هاي بزرگ مقياس به این معني است كه عناصر آن (همچون سخت‌افزار، نرم‌افزار، روال‌ها، قواعد، افراد و …) ناهمگن، ناسازگار و در حال تغيير هستند. عناصر نرم‌افزاري به دليل گوناگون بودن منابع آن‌ها ناهمگن هستند (زبان‌هاي برنامه‌سازي متفاوت، سكوهاي مختلف، متدلوژی‌های متفاوت و …). از آن جا كه ايجاد نرم‌افزارها نيز در شرايط متفاوتي (از منظر مكان‌ها، زمان‌بندي‌ها، فرآيندها، اهداف، ذینفعان و …) انجام شده است، احتمالاً در طراحي، ساخت و بهره‌برداري با يكديگر ناسازگارند. بخش‌هاي مختلف يك سامانه همواره در حال تغيير هستند. محيط عملياتي تغيير مي‌كند؛ بخش‌هاي خراب سخت‌افزار بايد جايگزين شوند؛ نرم‌افزارها و سخت‌افزارها به روز مي‌شوند؛ و پيكربندي مؤلفه‌ها اصلاح مي‌شوند.
از بين رفتن تدريجي مرز بين افراد و سامانه
افراد نه تنها كاربران يك سامانه بزرگ مقياس هستند، بلكه بخشي از رفتار كلي آن نيز محسوب مي‌شوند. در واقع، مرز بين سامانه و نقش‌هاي كاربر/ توسعه‌دهنده به روشني مشخص نيست. يك شهر را در نظر بگيريد. افرادي كه در اين شهر ساكن هستند، ممكن است تغيير و نگهداري آن را نيز به عهده داشته باشند. در واقع يك شخص، نقش‌هاي متفاوتي دارد. در يك سامانه بزرگ مقياس نيز چنين وضعيتي رخ مي‌دهد. يك شخص در يک زمان ممکن است كاربر سامانه باشد؛ در وقتي ديگر ممکن است يك نقش نگهداشت را بر عهده گيرد؛ در زماني ديگر مي‌تواند عملكردهاي سامانه را اضافه و كم يا تصحيح کند. در نظر گرفتن افراد به عنوان بخشي از سامانه‌هاي بزرگ مقياس به اين معني است كه با تغيير توانايي‌هاي محاسباتي و پيكربندي سازمان‌ها بايد فرآيندها و روال‌هاي مربوطه جهت كمك به درك افراد در راستاي اهداف و مأموریت‌های آن‌ها اصلاح شود، زيرا افراد بخشي از خود سامانه بزرگ مقياس هستند.
خرابي‌هاي طبيعي
از آن جا كه زيربناي فيزيكي يك سامانه بزرگ مقياس بسيار گسترده است، خرابي سخت‌افزار ديگر يك امر غيرعادي نيست؛ بلكه به طور طبيعي اتفاق مي‌افتد. همچنين، از آنجا كه مؤلفه‌های نرم‌افزاري فراتر از ظرفيتي كه طراحي شده‌اند، تحت فشار قرار مي‌گيرند، رفتار آن‌ها نيز ممكن است نامطلوب باشد؛ كه اين مسئله نيز كاملاً عادي است. فرض كنيد يك پروتكل ارتباطي در هر يك ميليون انتقال فايل يك بار با شكست روبه‌رو مي‌شود. اگر انتقال فايل يك ميليون بار در روز اتفاق افتد، به طور متوسط يك شكست در روز خواهيم داشت. در سامانه‌هاي بزرگ مقياس معمولاً بروز خرابي آن قدر متداول است كه در واقع مي‌توان گفت خطا «هميشه» رخ مي‌دهد. با توجه به مقياس چنين سامانه‌هايي، مسئله خرابي بايد به شكل يك مشكل پيوسته در طراحي و ساخت لحاظ شود. 
پارادايم‌هاي جديد براي استفاده و سياست‌گذاري
به دليل اندازه سامانه‌هاي بزرگ مقياس، افرادي كه مسئول ساخت آن‌ها هستند (احتمالاً مديران، توسعه‌دهندگان، فروشندگان، و …) نمي‌توانند به طور قطعي تعريف شوند. نمي‌توان نيازمندي‌هاي متغير و غيرقطعي ذینفعان را كنترل كرد. نمي‌توان نيازمندي‌ها را به شكل متمركز و سراسري نظارت كرد. در حقيقت اندازه سامانه‌هاي بزرگ مقياس باعث بروز يك چالش اساسي براي مديران مي‌شود. اگر نتوان نيازمندي‌هاي واقعي ذینفعان را به طور كامل مشخص كرد، چگونه مي‌توان فرآيند بستن قرارداد، طراحي و ساخت را كنترل كرد.
1-6 چالش‌های سازمان‌های بزرگ مقیاس
سازمان‌هاي بزرگ مقياس داراي ويژگي‌هايي هستند كه باعث مي‌شوند رويكردهاي (فعلي و مورد استفاده) روش‌هاي مهندسي نرم‌افزار نتوانند پاسخگوي نیازهای آن‌ها باشند. اين ويژگي‌ها عمدتاً ناشي از «مقياس» اين گونه از سازمان‌ها است. روش‌هاي امروزي براي استخراج صحیح نیازمندی‌ها در این سازمان‌ها كافي نيستند. موفقيت سازمان‌هاي بزرگ مقياس و دست‌يابي به اهداف و مقاصد اين نوع از سازمان‌ها بستگي به توسعه توانمندي‌هاي جديد دارد [3]. از نمونه این چالش‌ها می‌توان به بحث استخراج و اولویت بندی نیازمندی‌ها در سامانه مدیریت شهری 137 شهرداری تهران اشاره نمود که شامل میلیون‌ها رکورد ثبت شده از خواسته‌ها و نیازهای شهروندان می‌باشد که استفاده از این حجم عظیم اطلاعات، این سامانه را گاهاً دچار مشکل می‌کند.
1-7 انگیزه
امروزه اهمیت اولین فاز از فازهای مهندسی نیازمندی‌ها بر همگان مشخص گردیده و بارها مشاهده کردیم که نادیده گرفتن یک ذینفع منجر به صدمات جبران ناپذیر و یا حداقل منجر به نادیده شدن گروهی از ذینفعان دیگر گردیده است. در استخراج نیازها، افراد دیدگاه‌ها و نظرات متفاوتی در نیازها و اولویت اجرای آنها دارند و با رشد روز افزون بازار فناوری اطلاعات و بزرگ شدن پروژه‌ها اهمیت و پیچیدگی این موضوع بیشتر می‌گردد.
انگیزه از جایی شروع می‌شود که تا ندانیم چه مسائلی نیاز به حل شدن دارند نمی‌توانیم به دنبال ارائه راه حل‌های آنها باشیم. بنابراین شناسایی و اولویت بندی نیازها موضوعی است که باید در ابتدا مورد توجه قرار گیرد. با توجه به اهمیت استخراج نیازمندی‌ها و مدیریت ارتباط با شهروند، پژوهش قابل توجهی در این زمینه انجام نشده است. اکثر مقالات منتشر شده در این زمینه نیز جنبه نظری و تئوری داشته و تعداد کمی از آنها به صورت کاربردی مفهوم مدیریت ارتباط با شهروند را مورد بررسی قرار داده‌اند [2].
1-8 تعریف مسئله
با رشد و توسعه‌ی بازار فناوری اطلاعات این موضوع به وضوح مشخص است که مشتریان و توسعه دهندگان از نظر جغرافیایی در سراسر کشور و جهان پراکنده می‌باشند و در نتیجه روش‌های چون ملاقات‌های شخصی در بحث استخراج نیازمندی‌ها تقریباً غیر ممکن است. علاوه بر این، رشد اندازه و پیچیدگی سیستم‌های نرم‌افزاری و همچنین رشد رو به افزایش تعداد ذینفعان، مسئله‌ی مدیریت و هماهنگی استخراج نیازها را در سازمان‌ها و سامانه‌های بزرگ مقیاس روشن می‌سازد [4-6]. در این میان تکنیک‌های سنتی مهندسی نیازمندی‌ها روش‌هایی اقتباس گردیده از مدل‌های متمرکزی هستند که استفاده از این تکنیک‌ها در سامانه‌های بزرگ مقیاس چالش برانگیز و زمانبر و گاهی ناممکن است.
در نتیجه لازم است تکنیک‌ها و یا ابزارهای جدیدی در راستای پشتیبانی از سازمان‌ها و یا سامانه‌های بزرگ مقیاس در استخراج نیازمندی‌ها توسعه داده شوند که در این خصوص رهیافت‌های جدید باید دارای قابلیت مقیاس پذیری بالایی باشند. در این راستا قصد داریم روش‌های پرکاربرد موجود در استخراج نیازمندی‌ها را اعم از روش‌های سنتی، استفاده از ابزارها و روش‌های نوین مورد بررسی و تجزیه و تحلیل قرار داده و مزایا و معایب هر روش را تشریح کنیم. سپس به تکنیک‌های مورد استفاده در افزایش سطح رضایتمندی ذینفعان پرداخته تا بتوانیم در راستای اهداف تحقیق از آنها بهره‌مند گردیم. در آخر با استفاده از تدبیری به ارائه چارچوبی جهت استخراج و اولویت بندی صحیح نیازمندی‌ها در سازمان‌های بزرگ مقیاس بپردازیم.
1-9 فرضیه
نکته قابل توجه در بحث تعیین اندازه سازمان یا سامانه این است که معیارهای متفاوت و استانداردی در این مورد ذکر گردیده است. از جمله‌ی این معیارها می‌توان به تعداد خطوط برنامه، زمان، هزینه و غیره اشاره نمود. اما قابل ذکر است در این تحقیق منظور ما از سازمان‌ها و یا سامانه‌های بزرگ مقیاس، آنهایی هستند که تعداد زیادی از ذینفعان را در بر می‌گیرند. ذینفعان افرادی هستند که به هر نحو سطوحی از تأثیرات روی نیازمندی‌های آن سازمان و یا سامانه دارند. از نمونه‌ی این سازمان‌ها می‌توان به مرکز مدیریت شهری 137 شهرداری تهران اشاره نمود که دارای پایگاه داده‌ای شامل میلیون‌ها رکورد از نیازهای ثبت شده مردمی می‌باشد.
1-10 اهداف تحقیق
اصلی‌ترین اهدافی که این تحقیق پوشش می‌دهد، عبارتند از:
بررسی مراحل لازم در استخراج نیازمندی‌ها
درک چگونگی برنامه ریزی و تعیین استراتژی استخراج نیازمندی‌ها
بررسی تکنیک‌های مطرح در استخراج نیازمندی‌ها به همراه نقاط ضعف و قوت آنها
ارائه چارچوبی در استخراج و اولویت بندی نیازمندی‌ها در سازمان‌ها و یا سامانه‌های بزرگ مقیاس
ارزیابی چارچوب ارائه شده و بحث و نتیجه گیری
به طور کلی این پایان نامه از پنج فصل تشکیل شده است. در فصل اول مقدمه‌ای بر مهندسی نیازمندی‌ها و اولین و مهم‌ترین فاز آن یعنی استخراج نیازمندی‌ها ارائه خواهد شد. در فصل دوم به ادبیات موضوع و پیشینه تحقیق پرداخته خواهد شد. این تحقیقات شامل پر کاربردترین و رایج‌ترین روش‌های استخراج نیازمندی‌ها در سه گروه 1. روش‌های سنتی، 2. استفاده از ابزارها و 3. روش‌های نوین استخراج نیازمندی‌ها می‌باشد. در این فصل نیز تلاش‌هایی که در جهت افزایش سطح رضایتمندی ذینفعان صورت گرفته مطرح و همچنین در ارتباط با نقاط ضعف و قوت تمامی این روش‌ها بحث خواهد گردید. در فصل سوم به ارائه چارچوب پیشنهادی در ارتباط با استخراج و اولویت بندی نیازمندی‌ها در سازمان‌های بزرگ مقیاس به زبان فارسی مبتنی بر نیازمندی‌های عملیاتی و غیر عملیاتی پرداخته و در فصل چهارم در ارتباط با محاسبات و یافته‌های تحقیق به روش مطالعه میدانی و کتابخانه‌ای بحث خواهد گردید. در فصل آخر یعنی فصل پنجم به نتیجه گیری و پیشنهادات آتی پرداخته خواهد شد. پس از آن در پیوست، منابع و مآخذ و ضمایم همچنین چکیده انگلیسی قابل دسترس است.
فصل دوم
ادبیات و پیشینه تحقیق
2-1 مقدمه
امروزه میزان داده‌های در دسترس هر پنج سال دو برابر می‌شود و سازمانی تواناست که قادر باشد کمتر از 7% از اطلاعاتش را مدیریت نماید. بر اساس تحقیقات شرکت IBM سازمان‌ها کمتر از 1% از داده‌هایشان را برای تحلیل استفاده می‌نمایند. سازمان‌ها داده‌های تجاری زیادی را در تصرف خود دارند، در حالی که هنوز با فقدان دانش تجاری مواجه هستند. تقسیم بندی مشتریان، افزایش رضایت آنها و یا حتی بدست آوردن سهم بیشتری از بازار نسبت به رقبا با استفاده از ابزارهای داده کاوی از کاربردهای آن می‌باشد [7]. با استفاده از داده کاوی می‌توان به دانشی دست یافت که خود انسان قرن‌ها بعد این دانش را کسب خواهد کرد. در حقیقت داده کاوی در زمینه‌های متعددی از قبیل پزشکی، بورس اوراق بهادار، هواشناسی، بازاریابی، تشخیص کلاه‌برداری‌های بانکی و بیمه‌ای، تجارت الکترونیک و … وجود دارد. خروجی همه‌ی این زمینه‌ها بر این اصل صحه می‌گذارد که انسان به دلایل مختلف اعم از سرعت پردازشی، جهل داده‌ای، چگونگی پردازش و … نمی‌تواند نظم‌های پیچیده موجود در نهان داده‌های حجیم را شناسایی نماید [8]. در محیط امروزی، سازمان‌های بسیاری در تلاش هستند که فلج اطلاعات را شکست بدهند. در این راستا داده کاوی سازمانی6 به عنوان یک ابزاری می‌باشد که مدیران را قادر می‌سازد تا سریع‌تر نسبت به آینده عمل نمایند، فعال باشند نسبت به اینکه واکنش پذیر باشند، بدانند تا اینکه حدس بزنند. پر واضح است که با داشتن این قابلیت، سازمان‌ها قادرند دانش ارزشمندی را از داده‌هایشان بدست آورند [9]. در واقع علم داده کاوی انسان را قادر می‌سازد که حجم عظیمی از داده‌ها را مورد پردازش عمیق قرار دهد و کلیه نظم‌هایی را که در عمق داده وجود دارند، همچون طلا در یک معدن طلا، به صورت دانشی با ارزش کشف کرده و جهت استفاده عرضه نماید [8]. در این فصل با مقدمات علم داده کاوی آشنا خواهیم شد و پس از آن به بررسی روش‌ها و تکنیک‌های استخراج نیازمندی‌ها پرداخته و در آخر سعی داریم پس از بررسی نقاط قوت و ضعف این روش‌ها بخصوص در زبان فارسی به تبیین راهکار پیشنهادی خود بپردازیم.
2-2 انگیزه‌های کاوش داده
با توجه به مطالب مطرح شده، شاید بتوان اولین انگیزه کاوش داده را رشد روز افزون آن دانست. در واقع رشد داده به حدی است که تنها در صورت وجود ابزار مکانیزه برای بررسی آن می‌توان امیدوار به استفاده از آن بود. زیرا در غیر اینصورت همزمان با تحلیل حجم کوچکی داده، حجم بسیار زیادی از همان داده در حال تولید شدن است که هرگز فرصتی برای کاوش آن وجود نخواهد داشت. به علاوه مشکلاتی دیگر که در ادامه اشاره شده‌اند وجود خواهند داشت:
معمولاً دانشی که در داده‌ها وجود دارد خیلی بدیهی، روشن و واضح نیست.
تحلیل‌گران انسانی ممکن است هفته‌ها برای کشف اطلاعات با ارزش از داده وقت صرف کنند و گاهی اوقات ممکن است با صرف زمان زیادی لزوماً موفق هم نشوند.
گاهی اوقات با وجود امکان جمع آوری داده، این کار انجام نمی‌شود. دلیل عدم جمع آوری داده معمولاً عدم وجود دانش برای جمع آوری آن است. اینکه داده سرمایه یک سازمان است خود دانشی مهم و با ارزش است که همیشه وجود ندارد [8]!
2-2-1 انگیزه‌های تجاری
هنگامیکه می‌خواهیم داده‌ها را از بعد تجاری مورد پردازش قرار دهیم نیاز به داده‌هایی داریم که ماهیت تجاری داشته باشند. به طور کلی سه منبع برای جمع آوری داده‌های تجاری وجود دارند که عبارتند از: داده‌های وب و داده‌های تجارت الکترونیک، خرید و فروش‌های موجود در فروشگاه‌های خواربار فروشی/سوپر مارکت‌های زنجیره‌ای و تراکنش‌های بانکی/تراکنش‌های کارت‌های اعتباری.
به طور کلی منظور از داده‌های وب یا تجارت الکترونیک، داده‌های معمولی مثلاً داده‌های حاصل از جستجوهای معمولی نیست بلکه منظور از این داده‌ها تراکنش‌هایی است که همه روزه در اینترنت انجام شده و ثبت می‌شوند و از آنجایی که این داده‌ها زیاد هستند ثبت آنها وقت زیادی می‌گیرد. تعدادی از این داده‌ها عبارتند از: خرید و فروش بلیط‌های هواپیما، قطار، پرداخت قبوض و …
خرید و فروش‌های موجود در فروشگاه‌های خواربار فروشی/سوپر مارکت‌های زنجیره‌ای نوع مهم دیگری از داده‌های تجاری هستند. منظور از این داده‌ها خرید و فروش‌هایی هستند که همه روزه در فروشگاه‌ها انجام می‌شود و شامل کالاهایی است که در سبد خرید مشتری‌های مختلف صورت می‌گیرد.
تراکنش‌های بانکی/تراکنش‌های کارت‌های اعتباری از دیگر داده‌های تجاری می‌باشند که حجم عظیمی از داده‌ها را به صورت روزانه شامل می‌شوند. منظور از این داده‌ها، داده‌های مربوط به عملیات بانکی است که همه روزه توسط مشتریان مختلفی که به یک بانک مراجعه می‌کنند، انجام شده و ثبت می‌شوند. به عنوان مثال اطلاعات مربوط به اینکه یک مشتری پول به حساب خود واریز کرده، پول از حساب خود برداشت کرده و … در سیستم ثبت می‌شود و از آنها به عنوان داده‌های مربوط به تراکنش‌های بانکی یاد می‌شود. همچنین تراکنش‌های مربوط به کارت‌های اعتباری در این مجموعه داده قرار می‌گیرند، به عنوان مثال هر فردی که کارت‌های خود را وارد سیستم نموده و قصد انجام عملیاتی را دارد اطلاعات مربوط به آن مشتری، کالا(هایی) را که قصد خرید آن(ها) را دارد، زمانی که در حال خرید است، در سیستم ثبت می‌شود و از آنها به عنوان داده‌های مربوط به تراکنش‌های کارت‌های اعتباری استفاده می‌شود.
در واقع هدف اصلی از پردازش داده‌های تجاری دستیابی به سود بیشتر است. به عنوان مثال اگر داده‌هایمان از نوع داده‌های وب یا داده‌های تجارت الکترونیک باشند، می‌توان از نتایج پردازش این داده‌ها در طراحی ساختار صفحات وب و ایجاد تکنولوژی‌هایی که سود آوری بیشتری دارند استفاده کرد. اگر داده‌های مربوط به سبد خرید مشتریان را مورد پردازش قرار دهیم می‌توانیم کالاهایی را که فروششان بیشتر است را شناسایی کنیم و آن کالاها را به میزان بیشتری برای سوپر مارکت تهیه نماییم و یا اینکه می‌توانیم بفهمیم کدام کالاها معمولاً به همراه یکدیگر خریداری می‌شوند و در نتیجه آن کالاها را در چیدمان فروشگاه در کنار هم قرار دهیم تا خرید آنها برای مشتری راحت‌تر شده و مشتری برای خرید اجناس خود کمتر در فروشگاه حرکت کند و به این ترتیب رضایت مشتری بیشتر جلب شود. اگر تراکنش‌های بانکی را پردازش می‌توانیم اعتبار مشتری‌های مختلف را بسنجیم و روی مشتریانی که ارزش سرمایه گذاری دارند سرمایه گذاری کنیم. به عنوان مثال به مشتریانی که اعتبار بالاتری دارند وام بدهیم و به این مشتریان برای سرمایه گذاری اعتماد کنیم.
در حوزه داده کاوی، شاخه علمی که بر روی بهبود سرویس دهی به مشتری تمرکز می‌کند با نام مدیریت ارتباط با مشتری7 شناخته می‌شود. هدف اصلی در این علم آن است که بتوانیم مشتری‌ها را اعتبار سنجی کنیم و بر اساس آن یک فرایندی را ایجاد کنیم که در این فرایند به آن دسته از مشتریان که اعتبار بیشتری دارند، سرویس‌های بیشتر و به مشتریانی که اعتبار کمتری دارند سرویس کمتری را ارائه بدهیم. هدف در داده کاوی این است که این فرایند اعتبار سنجی به صورت مکانیزه و هوشمند انجام شود [8].
2-2-2 انگیزه‌های علمی
هنگامیکه می‌خواهیم داده‌ها را از بعد علمی مورد پردازش قرار دهیم نیاز به داده‌هایی داریم که ماهیت علمی داشته باشند. به طور کلی چهار منبع عمده برای جمع آوری داده‌های علمی در حجم‌های بالا وجود دارند که عبارتند از: تصاویر ارسالی از طریق ماهواره‌ها، تصاویر ارسالی از تلسکوپ‌ها، داده‌های دنباله ژنی و داده‌های حاصل از شبیه سازی علمی.
داده‌ها و تصاویر ارسالی از ماهواره‌ها شامل تصاویری می‌باشند که از طریق حسگرهای نصب شده بر روی ماهواره‌ها، همه روزه در حجم بسیار بالا به زمین مخابره می‌شوند. این داده‌ها و تصاویر از طریق سیگنال‌های ماهواره‌ای که در مکانی در مدار زمین قرار دارد، منتقل می‌شوند.
تلسکوپ‌ها نیز همه روزه تصاویری را از زمین می‌گیرند. این تصاویر به صورت روزانه از طریق تلسکوپ‌ها ارسال می‌شوند و شامل اطلاعات بسیار زیادی هستند.
داده‌های دنباله ژنی، حاصل توصیف دنباله ژنی افراد مختلف می‌باشند و یکی از منابع داده‌ای بسیار مشهور با ماهیت علمی هستند. تکنیک‌های میکرو آرایه، داده‌های دنباله ژنی مربوط به یک بافت خاص را استخراج می‌کنند. این تکنیک‌ها با پردازش نوآورانه‌ای که روی بافت خاص از یک شخص (مثلاً کبد، معده، خون و …) انجام می‌دهند می‌توانند یک دنباله ژنی منحصر به آن بافت را پیدا کنند که آن دنباله ژنی حاوی اطلاعات بسیاری است و تعداد زیادی ویژگی ایجاد می‌کند. عموماً این اعداد و ویژگی‌ها در تشخیص بیماری افراد، کمک قابل ملاحظه‌ای می‌کنند.
داده‌های حاصل از شبیه سازی علمی منبع مهم دیگری از داده‌های علمی هستند. منظور از شبیه سازی علمی مدل سازی یک سیستم در ابعاد کوچکتر است. شبیه سازی وقتی مورد استفاده قرار می‌گیرد که ما بتوانیم مکانیزم حاکم بر آن سیستم و محیط را به صورت یک مجموعه از قوانین بدانیم. ما می‌توانیم سیستم‌ها و محیط‌های زیادی را شبیه سازی کنیم و اگر یک محیط شبیه سازی شده داشته باشیم، می‌توانیم آزمایش‌های مختلفی را بر روی آن انجام دهیم و داده‌های زیادی را تولید کنیم که این داده‌ها می‌توانند اطلاعات زیادی را به ما منتقل دهند. به عنوان مثال می‌توانیم بدن یک انسان را شبیه سازی نموده و داروهای مختلف را روی آن امتحان کنیم و نتایج حاصل از آزمایشات را بدست آوریم. بخصوص اگر این آزمایشات هزینه‌های سنگینی داشته باشند، شبیه سازی و نتایج حاصل از آن بسیار با ارزش خواهند بود. شبیه سازی در محیط‌های مختلف متفاوت است. چند نمونه از شبیه سازی عبارتند از: شبیه سازی یک آزمایش هسته‌ای، شبیه سازی زلزله و … به طور کلی این شبیه سازی‌های علمی داده‌های بسیار حجیمی را فراهم می‌کنند.
وقتی داده‌ها از نوع علمی باشند، معمولاً نتیجه مستقیم کاوش داده‌های علمی لزوماً به سود بیشتر منجر نمی‌شود، اما بیشتر اوقات منجر به ایجاد دانش جدید، دستاوردهای جدید و نیز باعث خدمت رسانی بیشتر به افراد و یا کشف حقایق خواهد شد. بنابراین می‌توان نتیجه گرفت که انگیزه اصلی در پردازش داده‌های علمی کمک به بسط و گسترش مرزهای دانش بشری در یک حوزه خاص می‌باشد[8].
2-3 چالش‌های داده کاوی
شاید بتوان مهم‌ترین نقاط ضعف روش‌های داده کاوی را در سه مورد خلاصه نمود: وجود داده، صحت داده و کافی بودن ویژگی‌ها. منظور از وجود داده این است که اصولاً داده‌ای برای کاوش وجود داشته باشد و اینگونه نباشد که داده در محیط مورد کاوش استخراج و یا ثبت نشده باشد. متأسفانه این مشکل در بسیاری از محیط‌های واقعی وجود دارد. صحت داده مبین آن است که داده جمع آوری شده صحیح بوده و نادرستی در آن وجود نداشته باشد. به عنوان مثال نباید جنسیت شخصی با نام “محسن” زن وارد شده باشد و یا اشتباهات دیگری که دلیل وجودی آنها خطا در ورود داده است، رخ دهد. کافی بودن ویژگی‌ها بدین معناست که ویژگی‌های اخذ شده برای هر رکورد یا شئ برای یادگیری مدل و یا کشف نظم حاکم بر داده موثر، مناسب و کافی باشند. به عنوان مثال اگر هدف ما یادگیری یک مدل دسته بندی کننده برای تشخیص بیماری دیابت است، ثبت ویژگی قند خون بسیار مهم است در حالی که ثبت ویژگی میزان تحصیلات اهمیتی ندارد. توجه داشته باشید اگر هر کدام از مشکلات سه‌گانه فوق در داده وجود داشته باشد، هیچ یک از الگوریتم‌های داده کاوی، هر قدر هم که توانا باشند، نخواهند توانست نظم حاکم بر داده را تحت هیچ شرایطی بیابند.
در داده کاوی می‌توان چالش‌ها را به دو گروه اولیه و ثانویه تقسیم نمود. در ادامه به بررسی هر کدام از این دو گروه می‌پردازیم.
2-3-1 چالش‌های اولیه
چالش‌های اولیه که انگیزه مهم بکار گیری فرایند داده کاوی به جای روش‌های سنتی تحلیل داده‌ها هستند عبارتند از: حجیم بودن داده‌ها، ابعاد بالای داده‌ها، طبیعت توزیع شده و ناهمگن داده‌ها. در ادامه به بررسی هرکدام از این چالش‌ها می‌پردازیم [8].
حجم بالای داده‌ها: الگوریتم‌های داده کاوی با تعداد زیادی رکورد کار می‌کنند و حجم زیادی از داده‌ها را پردازش می‌کنند. به طور کلی هرچه تعداد رکوردهای موجود بیشتر باشد باعث می‌شود روش‌های سنتی نتوانند این رکوردها را پردازش نمایند. اگر تعداد رکوردها کم باشد فرایند تحلیل آنها بسیار ساده است و معمولاً احتیاج به روش‌های داده کاوی نیست. هرچه تعداد رکوردها بیشتر باشد باعث می‌شود علم داده کاوی بتواند کارکرد درخشان‌تری داشته باشد.
ابعاد بالای داده‌ها: منظور از بعد همان فیلد یا ویژگی (خصیصه) می‌باشد. به طور کلی هرچه تعداد ویژگی‌ها بیشتر باشد، باعث خواهد شد که تحلیل داده‌ها مشکل‌تر شود. هرچه تعداد ویژگی‌های موجود در داده‌ها بیشتر باشد، نمی‌توان با استفاده از روش‌های سنتی بین آنها نظمی پیدا کرد. این در حالی است که در اینگونه مواقع الگوریتم‌های داده کاوی می‌توانند اثر بخشی و توان بالقوه‌ای که دارا هستند را نشان بدهند.
طبیعت توزیع شده داده‌ها: به طور کلی طبیعت توزیع شده داده‌ها و وجود داده‌ها در منابع پراکنده باعث می‌شود نتوانیم از روش‌های سنتی برای پردازش داده‌ها استفاده کنیم. در این مواقع به روش‌های داده کاوی نیاز داریم. این روش‌ها باید قادر باشند داده‌هایی را که در مکان‌های مختلف ذخیره شده‌اند، به گونه‌ای مدیریت کنند که دانش نهفته را از نهان این داده‌های پراکنده و توزیع شده استخراج کنند.
طبیعت ناهمگن داده‌ها: در انباره داده‌ای که به عنوان مخزن فرایند داده کاوی عمل می‌کند، انواع مختلفی از ویژگی‌ها وجود دارد. هر ویژگی محدوده مقادیر مشخص و ویژه‌ای اختیار می‌کند. کمینه و بیشینه مقادیر مربوط به بعضی ویژگی‌ها با هم فرق دارند. بعضی ویژگی‌ها حوزه مقداری بسیار وسیع و بعضی دیگر حوزه محدودی دارند. در این مواقع می‌توان از مباحث نرمال سازی برای بخورد با این مشکل استفاده کرد. اما مسائل دیگری در ارتباط با ویژگی‌ها نیز وجود دارد. به عنوان مثال بعضی ویژگی‌ها عددی (صحیح یا حقیقی) هستند، بعضی دودویی، بعضی دیگر اسمی (مانند رنگ چشم) هستند. بعضی از ویژگی‌ها نیز به گونه‌ای هستند که در مورد آنها تنها می‌توان گفت آیا با هم مساوی هستند یا خیر(مانند رنگ چشم)، گونه‌ای دیگر از ویژگی‌ها به این شکل‌اند که در مورد آنها علاوه بر مساوی و نامساوی بودن می‌توان کوچکتر یا بزرگتر بودن آنها را نیز تعیین کرد (مانند سطح تحصیلات)، در مورد برخی دیگر از ویژگی‌ها علاوه بر مساوی و نامساوی بودن، کوچکتری و بزرگتری، می‌توان از عملگرهای جمع و تفریق نیز استفاده نمود ( مانند تاریخ‌های تقویم) و در نهایت در مورد گروهی دیگر از ویژگی‌ها علاوه بر مساوی و نامساوی، کوچکتری و بزرگتری، جمع و تفریق می‌توان عملگرهای ضرب و تقسیم را نیز بکار برد (مانند قد و وزن). در نتیجه به دلیل تنوع بالای ماهیت ویژگی‌ها نمی‌توان از روش‌های سنتی برای پردازش داده‌ها استفاده نمود.
2-3-2 چالش‌های ثانویه
چالش‌های ثانویه به آن دسته از چالش‌هایی گفته می‌شود که در قیاس با چالش‌ها اولیه از اهمیت کمتری برخوردارند. البته می‌بایست توجه نمود، این امر بدان معنا نخواهد بود که اهمیت این چالش‌ها پایین است و یا حل مشکلات مربوط به آنها کار ساده و کم تأثیری است. در ادامه به بررسی این چالش‌ها می‌پردازیم [8].
کیفیت داده8: مربوط به زمانی است که کیفیت داده‌ها پایین است. به عنوان نمونه هنگامی که داده‌های ما شامل نویز9، داده پرت10، داده گمشده11 و داده تکرار شده12 باشد، شاهد پایین آمدن کیفیت داده‌ها خواهیم بود.
عدم مالکیت داده: به دلایل گوناگون مانند توزیع‌شدگی ممکن است نتوانیم کل داده‌ها را یکجا در مالکیت داشته باشیم و فرایند کاوش را روی آنها انجام دهیم.
حفظ حریم شخصی داده‌ها13: مربوط به زمانی است که باید با رعایت حریم شخصی، داده‌ها را کاوش نماییم. فرایند کاوش داده می‌بایست به گونه‌ای انجام شود که بتوان بدون دسترسی به همه داده‌ها و با دیدن تنها بخش محدودی از آن فرایند داده کاوی را پیش برد. تفاوت حفظ حریم شخصی داده‌ها با توزیع‌شدگی و عدم مالکیت داده در این است که در توزیع‌شدگی و عدم مالکیت داده ممکن است برای یادگیری مدل از همه داده‌ها استفاده شود ولی در اینجا ممکن است به بخشی از داده‌ها اصلاً دسترسی وجود نداشته باشد، یعنی باید بتوانیم مدل خود را با همان داده‌های در دسترس بسازیم.
داده‌های جریانی14: به داده‌های گفته می‌شود که سرعت تولید آنها بالاست به گونه‌ای که فرصت تحلیل آنها و ساخت مدل وجود ندارد چرا که حین انجام عملیات کاوش مرتباً داده‌های جدیدی تولید می‌شوند. بنابراین سیستم باید بصورت برخط باشد تا بتواند خودش را تصحیح کند و قادر باشد مدل بروزی را در اختیار قرار دهد.
2-4 مروری بر کشف دانش و داده کاوی
کشف دانش و داده کاوی15 یک حوزه



قیمت: تومان

دسته بندی : پایان نامه ها

دیدگاهتان را بنویسید