بخشی از مقاله
چكيده
سيستمهاي اطلاعاتي عمدتاً از يك تناقض رنج ميبرند. محيطهاي عملياتي آنها با اصطلاحاتي مثل عامل، مسئوليت، اهداف و كار و منابع درك ميشود حال آنكه سيستمهاي اطلاعاتي خودش از يك سري ماژولهاي نرمافزاري، ساختارهاي داده و رابطها تشكيل شده است. اين مقاله يك روش ايجاد نرمافزار را بيان ميكند. كه اين ناهمگوني را با دخالت مفاهيمي مثل عامل و هدف به عنوان اصول پايه در مراحل طراحي و تحليل، از بين ميبرد. عملاً اين روش با Frameworkي بنام I*، يك Framework مدل كردن براي احتياجات اوليه،همراه است و نه تنها در تحليل اوليه بلكه در تمام مراحل توليد نرمافزار از آن بهره ميگيرد.
1-معرفي:
معمولاً محيطهاي عملياتي با اصطلاحاتي مثل عامل، مسئوليت، اهداف و كار و منابع درك ميشود در حاليكه سيستمهاي اطلاعاتي اجتماعي از ماژولهاي نرمافزاري، ساختارهاي داده و رابطها ميباشند. اين تناقض عاملي در جهت فقر كيفيت سيستمهاي اطلاعاتي است. همچنين موجب شكستهايي در سيستمهاي اطلاعاتي تجاري ميشود.
هدف اين مقاله بيان يك متد توليد نرمافزار است كه روي مفاهيم Agent (عامل) و Goal (هدف) درك ميشود. اين قيد اين امكان را فراهم ميآورد كه اين مفاهيم را براي توضيح محيطهاي سازماني بكار ببريم.
Framework توليد نرمازار كه*(i)Tropos نام دارد و از دو واژة
Easily Changeable و Easily Adaptable ميآيد در مرحلة تحليل احتياجات اوليه بكار ميرود.
روش ارائه شده از چهار قسمت براي توليد نرمافزار استفاده ميكند:
1-احتياجات اوليه : در ارتباط با درك مشكلات و احتياجات يك جايگاه سازماني ميباشد. خروجيهاي اين مرحله يك مدل سازمان يافته است كه شامل عاملهاي (Actor) مناسب و اهداف بين آنهاست.
2-احتياجات ثانويه : در اين مرحله سيستم در محيط عملياتيش، مورد تفسير قرار ميگيرد و همة احتياجات عملياتي و غير عملياتي سيستم در اين مرحله شناخته ميشود. (توابع مناسب + كيفيتهاي مناسب)
3-طراحي معماري : معماري سيستم در اصطلاح زير سيستمهايي كه با جريان داده و كنترل به هم ارتباط دارند، تعريف ميشود.
4-طراحي جزئي : يك اجزاء موجود در بخش معماري با جزئيات بيشتري تعريف ميشود (ورودياش، خروجياش، كنترلها و اطلاعات مناسب ديگر براي هر جزء)
2- مثال :
فروشگاه گل يك مغازه است كه انواع گلها را ميفروشد و انتقال ميدهد. مشتريهاي گل فروشي ميتوانند كاتالوگي كه محصولات موجود را نمايش ميدهد، براي سفارش دادن (از راه دور يا On-Site) بكار ببرند. كه اين كاتالوگ بطور منظم بروز ميشود. براي افزايش بازار جهاني فروشگاه گل تصميم به خردهفروشي از طريق اينترنت ميكند. با نصب چنين سيستمي، مشتري ميتواند محصولات مغازه را سفارش دهد (يا از طريق تلفن، يا از طريق اينترنت يا شخصاً).
نام سيستم اينترنتي Flower Alive است.
1-2: اهداف پروژه :
هدف اصلي سيستم جديد فراهم كردن اين امكان براي مشتري كه بتواند انواع مختلف گلها را ببيند و گلهاي مورد علاقه خود را بتواند سفارش دهد.
2-2: توضيحات :
اين سيستم طراحي ميشود تا هر مشتري بتواند بطور بالقوه از طريق دسترسي به اينترنت و يك Web Browser، به سيستم دسترسي داشته باشد. همچنين نيازي به ثبت نام و مراحل شناسايي، براي مشاهدة كاتالوگ نيست. (استفادة رايگان) حتي اگر مشتري چيزي نخرد هم سيستم او را به عنوان مشتري در نظر ميگيرد. مشتريان ميتوانند هم كاتالوگ را ببينند و هم ميتوانند يك گل خاصي را در پايگاه داده جستجو كنند. همچنين كاتالوگ گلها را به سه گروه تقسيم كرده تا مشتريان بتوانند انواع گلها را ببينند و با هم مقايسه كنند.
جزئيات هر گل شامل – نام، توضيح كوتاه، نام تجاري، سال معرفي گل، هزينه ميباشد كه توسط سيستم ارائه ميگردد (براي هر گل)، هنگامي كه يك مشتري تصميم ميگيرد يك گل را بخرد آن گل را به كارت خريد خود اضافه ميكند.
سيستم نيز بعد از چك كردن گلهاي خريده شده، اين امكان را براي مشتري فراهم ميآورد كه اطلاعاتش مثل نام و آدرس و كارت اعتباري و.. را از طريق تلفن يا اينترنت (توسط فرمهاي استاندارد) در اختيار فروشگاه( سيستم) قرار دهد.
3-احتياجات اوليه:
در طول تحليل احتياجات، مهندس احتياجات به تحليل و تسخير مقاصد و اهداف سرمايهگذاران (متقاضيان سيستم) ميپردازند. اين مقاصد، به عنوان اهدافي كه عاقبت به نيازهاي عملياتي و غير عملياتي منجر ميشود، توسط برخي اشكال تحليل Agent Oriented مدل ميشوند. در I*، احتياجات اوليه شامل Actorهاي اجتماعي است كه براي 1-دستيابي به اهدافشان (Goal) يا 2- كارهايي كه بايد انجام دهند (Task) يا 3-منابعي كه بايد بدست آورند (Resource) به هم متصلند.
در I*، دو مدل داريم:
1-مدل وابستگي استراتژيك : براي توضيح شبكة از ارتباطات بين Actorها.
2-مدل منطقي استراتژيك : براي توصيف و حمايت استدلالهايي كه در مورد ارتباطات هر Actor با ديگر Actorها بحث ميكند، بكار ميرود.
مدل وابستگي استراتژيك : يك گراف كه هر نودش يك Actor با نمايش مي دهد و لينگ بين دو Actor نشان ميدهد كه يك Actor براي ارضاء نيازهايش (اهدافش) به ديگري وابسته است. Actorي كه به ديگري وابسته است را Depender و ديگري را Dependee مينامند.
ناحيه اطراف مركز وابستگي را Dependum مينامند. با وابستگي روي Actor ها، يك Actor ميتواند اهدافش را بدست آورد كه در غير اينصورت (عدم وابستگي) نميتوانست به تنهايي آنها را بدست آورد يا حداقل به راحتي قادر به كسب اين اهداف نبود و كيفيت نيز تحت تاثير قرار ميگرفت (بدتر ميشد) نكته شايان ذكر اينست كه يك Depender به علت وابسته بودن به Dependee آسيب پذير است. يعني اگر Dependee با شكست مواجه شود ، Depender نيز در رسيدن به اهدافش با مشكل روبرو ميشود.
شكل 1، آغاز تحليل احتياجات اوليه را نشان ميدهد. كه از دو Actor مناسب در فروشگاه گل تشكيل شده است.
دو Actor بنامهاي مشتري (Customer) و فروشگاه گل (Flower Shop) كه اهداف فروشگاه گل عبارتند از :
1-پردازش سفارشات مشتري
2-رضايت مشتري
3-افزايش بازار جهاني
چون 2 و 3 براحتي قابل تعريف نيستند آنها را در اصطلاح اهداف نرم ميناميم و در اشكال ابرقرار دارند.
بعد از اينكه سرمايهگذاران و اهداف آنها مشخص شدند يك تحليل Mean-End مشخص ميكند كه چگونه اين اهداف ميتوانند عملاً، از طريق شركت Actorي ديگري (كه هنوز ممكن است شناسايي نشده باشد)، بدست آيد.
تحليل Mean-End را براي هدف نرم افزاريش بازارجهاني، بكار ميبريم. (شكل 2) عمل محوري براي ارضاء اين هدف نرم، Run Shop است.
در اينجا Run Shop يك Task است. (داخل،6 ضلعي)
Task بعنوان يكي توالي از مراحل كه متمايل به انجام بعضي اهداف نرم هستند تعريف ميشوند.
همانطور كه در شكل 2 ميبينيم Task، Run Shop به سه هدف شكسته شده كه انجام شدن اين اهداف منجر به اجراي Run Shop ميشود.
همانطور كه ميبنيم هدف پردازش سفارش مشتريان نيز به سه Task شكسته ميشود.
و عمل شكستن آنقدر ادامه مييابد تا تحليل Mean-End بتواند يك Actor را شناسايي كند كه يا – يك هدف را انجام دهد يا بتواند منابعي را ارائه كند.
وابستگي به منابع روي Actor فروشگاه گل مثالي از اين مورد است.
تحليل احتياجات ثانويه :
-تحليل احتياجات ثانويه يك سند بيان كنندة احتياجات است كه همة احتياجات عملياتي و غير عملياتي سيستم در آن مشخص ميشود.
-در اينجا (در I*) سيستم نرم افزار بعنوان يك يا چند Actor، با چندين Actor ديگر از محيط عملياتي (در مدل استراتژيك) شركت ميكند.
به عبارت ديگر سيستم بعنوان يك يا چند Actor كه براي ارضاء هدف سرمايهگذاران، در مدل شركت دارند به تصوير كشيده ميشود. براي مثال سيستم Flower Alive به عنوان يك Actor در مدل وابستگي استراتژيك آمده است.
مطابق مدل Customer به Flower Shop براي خريدن گل وابسته است. مغازه گل فروشي (Flower Shop) براي تهيه گلهاي با كيفيت به تهيه كنندة گل (Supplier) وابسته است.
و به همين ترتيب ارتباطات زير بين Actorها وجود دارد:
: Customer سفارش گل از طريق اينترنت Flower Alive
اگر چه مدل وابستگي استراتژيك هشدارهايي در بارة اينكه چرا پردازشها در يك راه خاص ايجاد ميشوند تهيه ميكند اما آن امكان پيشنهاد دادن و بيان و ارزيابي پيشنهادها را ندارد. و اين وظيفه مدل منطقي استراتژيك است.
يك مدل منطقي استراتژيك يك گراف است با 4 نوع از نودها:
1-نودهاي هدف (Goal) 2-نودهاي كار(Task) 3-نودهاي هدف نرم (Soft Goal) 4-نودهاي منبع (Resource) و2 نوعLink دارد : لينك هاي Mean-End و Decomposition . يك گراف منطقي استراتژيك ميتواند موقعيتهايي كه هر Actor ميتواند، از بين چندين پيكربندي وابستگي انتخاب كند را بيان كند.
-در شكل 4، تحليل، يك Task ريشة Internet Shop Manager را اصل قرارداده كه بطور مثبت براي هدف نرم Increase Market Share ظاهر ميشود.
واضح است كه هرچه تحليل ثانويه پيش ميرود مسئوليتهاي بيشتري كشف ميشود (براي سيستم Flower Alive) و وابستگيهاي ديگري براي سيستم ايجاد ميشود. به علاوه سيستم به چندين Sub-Actor تقسيم ميشود كه اين مسئوليتها را به عهده ميگيرند كه اين كار ]پيدا كردن وظايف ديگر[ از طريق تحليل Mean-End در طول تحليل استراتژيك منطقي انجام ميشود. همانطور كه در شكل ميبنيم Internet Shop Manager به چندين هدف تقسيم ميشود.
و همچنين شناساندن مشتري به سيستم ازطريق فرمهاي Secure تاثيري مثبت در هدف نرم Security (امنيت) دارد، در حاليكه انجام اين كار از طريق فرمهاي استاندارد تأثير منفي روي هدف نرم امنيت دارد.
وابستگيهاي Keyword Search و Place Order مطابق شكل 4 تاثير منفي در هدف نرم امنيت دارند.
همچنين هدف نرم Secure (امنيت) تاثير منفي در هدف نرم Usable (كارا) دارد. – به همين ترتيب On-Line Catalog بطور مثبت براي هدف نرم Get Internet Customer شركت ميكند.
نتايج اين تحليل يك مجموعه از Actorهاست كه به هم وابستهاند.