یک مدل چرخه حیات تفصیلی
یکی دیگر از مدلهای چرخه حیات که در تعدادی از پروژه های سیستم خبره به طور موفقیت آمیز بکار گرفته شده مدل خطی است که در شکل ۷-۶ نشان داده شده و توسط بوچلر تدوین شده است (Bochsler 88). این چرخه حیات شامل چندین مرحله از برنامه ریزی تا ارزیابی سیستم است و نحوه ایجاد سیستم را بگونه ای تشریح می کند که تواناییهای عملکردی سیستم مورد ارزیابی قرار گیرند. سپس چرخه حیات همان مراحل برنامه ریزی تا ارزیابی سیستم را تکرار می کند تا وقتی که سیستم برای استفاده عادی تحویل شود. پس از آن چرخه حیات برای نگهداری و تکمیل سیستم مورد استفاده قرار می گیرد. اگرچه در شکل به صراحت نشان داده نشده ولی مراحل تصدیق و اعتبارسنجی به موازات سایر مراحل انجام می شود. برای حفظ کیفیت سیستم خبره به جای برطرف کردن اشکالات به محض بروز، آنها را در مراحل متوالی پیگیری می نمایند. پریدن از روی یک یا چند مرحله حتی برای برطرف کردن یک اشکال کوچک به کیفیت کل سیستم صدمه می زند.
این چرخه حیات را می توان به صورت یکی از حلقه های مدل مارپیچی در نظر گرفت. هر مرحله از چند وظیفه تشکیل شده است. توجه کنید که همه وظایف ممکن است برای یک مرحله ضروری باشند بخصوص زمانی که سیستم به سوی مراحل نگهداری و تکمیل پیش می رود. در عوض در کل چرخه حیات یعنی از پیدایش مفهوم اولیه تا مرگ سیستم، ترکیبی از همه وظایف را داریم. همچنین به جای برخی احتیاجات قطعی که برای تکمیل هر مرحله باید ارضاء شوند، برخی وظایف بسته به نوع کاربرد پیش می آیند و بنابراین آنها را فقط به عنوان راهنما باید در نظر گرفت.
مدل چرخه حیات به تفصیل مورد بحث قرار می گیرد تا عوامل متعدد و موثر در طراحی یک سیستم خبره بزرگ و با کیفیت را نشان دهد. برای نمونه های کوچک تحقیقاتی که کاربرد عمومی ندارد، همه وظایف یا حتی همه مراحل ضروری نیستند. هر چند تجربه نشان می دهند برخی از نرم افزارهای که با هدف کاربردهای شخصی یا تحقیقاتی طراحی شده اند به تدریج در بازار راه پیدا کرده و یک نرم افزار عمومی شده اند.
طراحی
هدف از مرحله طراحی، تهیه یک برنامه کاری رسمی برای ایجاد سیستم خبره است. برنامه کاری عبارت است از مجموعه ای از مستندات که برای راهنمایی و ارزشیابی ایجاد سیستم بکار می رود. جدول ۲-۶ وظایف این مرحله را نشان می دهد.
مهمترین وظیفه در چرخه حیات امکان سنجی پروژه است. این ارزیابی باید به سوالات مربوط به ارزشمند بودن پروژه جواب داده و همچنین مناسب بودن سیستم خبره را برای انجام کار مشخص کند. پاسخ این دو سوال تعیین می کند که پروژه با استفاده از روش سیستمهای خبره انجام خواهد شد یا خیر. در تشخیص امکان سنجی پروژه عوامل بسیاری در نظر گرفته می شوند. همان طور که در بخش ۱-۶ مطرح شد این عوامل شامل انتخاب دامنه مناسب برای سیستم خبره، هزینه، عایدی و موارد دیگر هستند.
جدول ۲-۶ وظایف مرحله طراحی
وظیفه | هدف |
امکان سنجی | تعیین می شود که آیا ساخت سیستم با ارزش است یا نه و اگر جواب مثبت است آیا باید از تکنولوژی سیستم خبره استفاده شود. |
مدیریت منابع | تعیین منابع انسانی، زمان، پول، نرم افزار و سخت افزار مورد نیاز و اینکه چگونه باید منابع مورد نیاز را بدست آورد و مدیریت کرد. |
ترتیب وظایف | تعیین وظایف و ترتیب آنها در هر مرحله. |
زمان بندی | زمانهای شروع و تحویل وظایف در هر مرحله مشخص می شود. |
چیدمان مقدماتی عملکردها | تعیین اینکه با مشخص شدن عملکردهای سطح بالای سیستم، چگونه سیستم ساخته خواهد شد. این کار هدف سیستم را نیز مشخص می کند. |
احتیاجات سطح بالا | در مناسبات سطح بالا مشخص می شود که چگونه عملکردهای سیستم انجام خواهند شد. |
تعریف دانش
هدف از مرحله تعریف دانش این است که احتیاجات سیستم خبره به دانش تعریف شوند. مرحله تعریف دانش شامل دو وظیفه اصلی به شرح زیر است:
شناسایی و انتخاب منابع دانش.
کسب دانش و تحلیل و استخراج آن
هر یک از این دو وظیفه اصلی از چند وظیفه دیگر تشکیل شده اند، جدول ۳-۶ وظایف مربوط به شناسایی و انتخاب منابع را شرح داده است.
وظیفه | هدف |
شناسائی منابع | بدون در نظر گرفتن امکان دسترسی مشخص شود که چه منابعی از دانش وجود دارد. |
اهمیت منابع | فهرست اولویت بندی شده منابع دانش بر اساس اهمیتی که برای ایجاد سیستم دارند. |
دسترسی به منبع | فهرست منابع دانش که بر اساس میزان دسترسی مرتب شده است. کتابها و سایر مستندات معمولا بیش از افراد خبره در دسترس هستند. |
انتخاب منبع | انتخاب منبع دانش بر اساس میزان اهمیت و دسترسی. |
وظایف مربوط به کسب دانش و تحلیل و استخراج آن در جدول ۴-۶ تشریح شده اند.
هدف اصلی از وظیفه اکتساب دانش، وظیفه تحلیل دانش و وظیفه استخراج دانش، در واقع تولید و تصدیق دانش مورد نیاز سیستم است. هر بار که سطح دانش موجود ثبت شود باید دانش مورد تصحیح قرار گیرد و برای مرحله بعدی طراحی دانش آماده شود. علاوه بر روش متداول مصاحبه با افراد خبره، ممکن است از سایر روشها نظیر شبکه های مجموعه های اطلاعاتی و یا تئوری ساخت شخصی برای اجرای کسب دانش خودکار استفاده شود.
جدول ۴-۶ وظایف مربوط به کسب دانش و تحلیل و استخراج آن
وظیفه | هدف |
استراتژی کسب دانش | مشخص می کند که چگونه به کمک مصاحبه با فرد خبره، خواندن مستندات، استقراء، قاعده، شبکه های مجموعه های اطلاعاتی و غیره می توان به کسب دانش پرداخت. |
تعیین اجزای دانش | بدست آوردن دانش مورد نظر از منابعی که در این دوره از چرخه حیات مفید بوده اند. |
سیستم طبقه بندی دانش | طبقه بندی و سازمان دهی دانش برای کمک به فرد مجری سیستم جهت تصدیق و درک دانش. در صورت امکان از گروههای سلسله مراتبی استفاده شود. |
طرح تفصیلی عملکردها | قابلیتهای عملکردی سیستم به تفصیل مشخص می شود. این سطح از کار به مراتب فنی تر است در حالیکه طرح عملکردی اولیه در سطح مدیریت قرار داشته است. |
جریان کنترل اولیه | مراحل عمومی اجرای سیستم خبره را شرح می دهد. این فازها مربوط به گروههایی منطقی از قواعد هستند که در قالب گروههایی فعال یا غیر فعال می شوند تا جریان اجرای سیستم کنترل شود. |
دستورالعمل اولیه کاربر | سیستم را از دیدگاه کاربر شرح می دهد. (کاری که اغلب فراموش می شود ولی از جمله کارهای اساسی سیستم است) بسیار ضروری است که در جریان ساخت سیستم هرچه زودتر از کاربران بازخوری دریافت شود. اگر آنها از سیستم استفاده نکنند آن سیستم ارزشی ندارد. |
مشخصات احتیاجات | تعریف دقیق هدف سیستم، سیستم خبره با استفاده از این احتیاجات مورد تایید قرار خواهد گرفت. |
بستر دانش | سطح دانش برای سیستم تعریف می شود. حال هر تغییری باید با درخواست رسمی انجام شود. در حال حاضر دانش سطح بالا برای مرحله بعدی طراحی دانش کافی و مناسب است. |
طراحی دانش
هدف از مرحله طراحی دانش ایجاد یک نوع طرح تفصیلی برای سیستم خبره است. این مرحله شامل دو وظیفه اصلی است:
تعریف دانش
طرح تفصیلی
جدول ۵-۶ وظایف مربوط به تعریف دانش را تشریح کرده است.
درباره ساختار داخلی وقایع که در جدول ۵-۶ مطرح شده مراجعه به متون مربوط به نرم افزار CLIPS ضروری است. ایده اصلی تعیین ساختار وقایع، انطباق با سبک مناسب است. به عنوان مثال یک واقعیت مثل «۱۰» به تنهایی چندان معنی دار نیست. «۱۰» به تنهایی چه چیز را نشان می دهد؟ اگر اطلاعات بیشتری همراه این واقعیت باشد مثلا «قیمت ۱۰» و یا جمله کاملتر باشد مثل «قیمت طلا ۱۰» در آن صورت معنی دار خواهد بود. توجه کنید که این نحوه بیان «واقعیت» به صورت سه تایی شیء – مشخصه – ارزش متداول بوده، و بنابراین خواندن و درک آن برای مردم آسان است. CLIPS از چنین ساختاری برای قواعد و همچنین اشیاء پشتیبانی می کند.
جدول ۵-۶ وظایف تعریف دانش
وظیفه | هدف |
نمایش دانش | مشخص می کند که دانش چگونه در قالب قواعد، چارچوبها و یا منطق نشان داده می شود و این بستگی به نوع ابزار سیستم خبره دارد که از سیستم پشتیبانی می کند. |
ساختار کنترلی تفصیلی | سه ساختار کنترلی عمومی را مشخص می کند (۱) اگر سیستم در کدهای رویه ای احاطه شده چگونه می توان آنرا فرخوانی کرد (۲) کنترل گروههایی از قواعد مرتبط در داخل یک سیستم اجرائی (۳) ساختارهای کنترلی فراسطحی برای قواعد. |
ساختار واقعیتهای داخلی | ساختار درونی وقایع را به یک روش منطقی برای کمک به درک آنها و ایجاد یک سبک مناسب مشخص می کند. |
ارتباط مقدماتی با کاربر | نحوه ارتباط اولیه با کاربر را تعیین می کند. از کاربران درباره نحوه ارتباط بازخورهایی گرفته می شود. |
برنامه آزمون اولیه | مشخص می کند که چگونه کدها مورد آزمایش قرار می گیرند. داده های آزمون، برگزارکنندگان آزمون و چگونگی تحلیل نتایج تعریف می شوند. |
در برخی از زبانهای سیستم خبره ممکن است مقادیر مورد قبول فیلدها، انواع محدودی داشته باشند به طوری که فقط مقادیر خاصی را قبول کنند. اگر در قاعده ای از مقادیر غیر مجاز استفاده شود موتور استنتاج پیغام خطا خواهد بود. مرحله طراحی تفصیلی دانش در جدول ۶-۶ نشان داده شده است.
جدول ۶-۶ وظایف طراحی تفصیلی دانش
وظیفه | هدف |
ساختار طراحی | مشخص می کند که چگونه دانش به صورتی منطقی در پایگاه دانش سازمان دهی می شود و در پایگاه دانش چه چیزی وجود دارد. |
استراتژی اجرا | مشخص می کند که چگونه سیستم اجرا می شود. |
جزئیات ارتباط با کاربر | پس از دریافت بازخور از کاربر در مرحله ارتباط مقدماتی با کاربر جزئیات ارتباط با کاربر مشخص می شود. |
مشخصات طراحی و گزارش دهی | مستند کردن طراحی |
برنامه آزمون تفصیلی | مشخص می کند که چگونه کدها به دقت مورد آزمون و بررسی قرار می گیرند. |
محصول مرحله طراحی تفصیلی، مستندات پایه طراحی است که از طریق آن کدنویسی انجام می شود. مستندات پایه ای قبل از کدنویسی باید مورد بازنگری قرار گیرد.
جدول ۷-۶ وظایف کدنویسی و آزمون
وظیفه | هدف |
کد نویسی | اجرای برنامه نویسی |
آزمونها | آزمون برنامه ها با استفاده از داده های آزمون، مجریان آزمون و رویه های تحلیل آزمون |
فهرست منابع | تولید کد منابع به طور مستند و واضح |
راهنمای کاربر | ایجاد یک راهنمای کاری برای کاربر به گونه ای که کاربر و فرد خبره بتوانند به سیستم بازخور ارائه دهند. |
راهنمای نصب سیستم و بکارگیری آن | مستندسازی نصب سیستم و بکارگیری آن برای کاربران |
مستندات تشریح سیستم | مستندات کلی سیستم برای عملیات، محدویتها و مسائل |
این مرحله با بازنگری آمادگی آزمون به اتمام می رسد که بدین صورت مشخص می شود آیا سیستم خبره برای مرحله بعدی یعنی بررسی دانش آماده است یا خیر.
تصدیق بر دانش
هدف از مرحله تصدیق دانش، تعیین درستی، کامل بودن و سازگاری سیستم است. این مرحله به دو وظیفه اصلی تقسیم می شود.
آزمونهای رسمی
تحلیل آزمون
جدول ۸-۶ وظایف مربوط به آزمون رسمی را در مرحله تصدیق دانش تشریح می کند.
جدول ۸-۶ وظایف آزمون رسمی در مرحله بررسی دانش
وظیفه | هدف |
رویه های آزمون | رویه های آزمون رسمی را اجرا می کند. |
گزارشهای آزمون | نتایج آزمون را مستند می کند. |
جدول ۹-۶ وظایف تحلیل آزمون را نشان می دهد.
جدول ۹-۶ وظایف تحلیل آزمون
وظیفه | هدف |
ارزیابی نتایج | نتایج آزمونها را تجزیه و تحلیل می نماید. |
پیشنهادها | پیشنهادها و نتایج آزمونها را مستند می کند. |
در مرحله تحلیل آزمون مشکلات عمده زیر پیگیری می شود.
پاسخهای نادرس
پاسخهای ناقص
پاسخهای غیر منطقی و ناسازگار
و تعیین می شود که آیا مشکلات مربوط به قواعد، زنجیره های استنتاج، یا عدم قطعیت و یا ترکیبی از این سه عامل است. اگر مشکلات موجود مربوط به سیستم خبره نباشد آنگاه تجزیه و تحلیل نرم افزار ابزار سیستم خبره برای یافتن اشکالات ضروری است.
ارزیابی سیستم
همان طور که در جدول۱۰-۶ تشریح شده، مرحله نهایی ایجاد سیستم در چرخه حیات، مرحله ارزیابی سیستم است. هدف این مرحله جمع بندی آموخته ها و پیشنهادات برای بهبود و تصحیح عملکرد سیستم است.
جدول ۱۰-۶ وظایف مرحله ارزیابی سیستم
وظیفه | هدف |
ارزیابی نتایج | نتایج آزمونها و تصدیق جمع بندی می شود. |
پیشنهادها | هرگونه تغییری در سیستم را پیشنهاد می کند. |
اعتبارسنجی | اگر سیستم با توجه به نیازهای کاربر و احتیاجات درست عمل می کند معتبر خواهد بود. |
گزارش بین کار یا نهایی | اگر سیستم تکمیل شده باشد گزارش نهایی منتشر می شود در غیر این صورت یک گزارش بین کار منتشر خواهد شد. |
از آنجا که یک سیستم خبره معمولا طی چند تکرار از چرخه حیات ساخته می شود، گزارش مرحله ارزیابی سیستم معمولا یک گزارش میان مرحله ای است که هر بار دانش جدیدی به سیستم اضافه شود پیشرفت عملکرد سیستم را تشریح می کند. ولی توانایی یک بخش جدید در سیستم باید توسط خود آن بخش و همچنین به عنوان قسمتی از دانش قبلی تصدیق شود. یعنی تصدیق سیستم باید با توجه به همه دانش سیستم و نه فقط دانش جدید صورت بگیرد. سیستم خبره همچنین باید در هر مرحله مورد اعتبارسنجی قرار گیرد نه اینکه فقط در تکرار نهایی چرخه حیات اینکار صورت پذیرد. لازم به تذکر است که تحقیقاتی نیز بر روی سیستمهایی که پایگاه دانش آنها به طور خودکار مورد اعتبارسنجی قرار می گیرد صورت گرفته است (Stachowitz 87).
خلاصه
در این فصل ما یک روش مهندسی نرم افزار را برای ساخت سیستمهای خبره مطرح کردیم. حال که از تکنولوژی سیستمهای خبره برای حل مسائل دنیای واقعی استفاده می شود، سیستمهای خبره باید از کیفیت مناسبی برخوردار باشند. عوامل متعددی باید در طراحی یک سیستم خبره در نظر گرفته شود که انتخاب مسئله، هزینه و عایدی از آن جمله اند. برای ساخت یک سیستم موفق باید جنبه های مدیریتی و فنی مورد نظر قرار گیرند.
یکی از مفاهیم بسیار مفید مهندسی نرم افزار، چرخه حیات است. مفهوم چرخه حیات، فرآیند ایجاد نرم افزار را به صورت یک سری مراحل در نظر می گیرد که از مفهوم اولیه شروع شده و به مرگ نرم افزار ختم می شود. با اجرای پیوسته یک چرخه حیات می توان نرم افزاری با کیفیت بالا ایجاد نمود. چندین مدل مختلف از چرخه های حیات برای سیستمهای خبره مطرح شد و یکی از آنها به تفصیل مورد بحث قرار گرفت.
منابع
- fa.wikipedia.org
- http://itresearches.ir
- www.ihoosh.ir
- http://zagra.co