چكيده
سيستمهاي اطلاعاتي عمدتاً از يك تناقض رنج مي‎برند. محيطهاي عملياتي آنها با اصطلاحاتي مثل عامل،‌ مسئوليت، اهداف و كار و منابع درك مي‎شود حال آنكه سيستمهاي اطلاعاتي خودش از يك سري ماژولهاي نرم‎افزاري،‌ ساختارهاي داده و رابطها تشكيل شده است. اين مقاله يك روش ايجاد نرم‎افزار را بيان مي‎كند. كه اين ناهمگوني را با دخالت مفاهيمي مثل عامل و هدف به عنوان اصول پايه در مراحل طراحي و تحليل، از بين مي‎‏برد. عملاً اين روش با Frameworkي بنام I*، يك Framework مدل كردن براي احتياجات اوليه،همراه است و نه تنها در تحليل اوليه بلكه در تمام مراحل توليد نرم‎افزار از آن بهره مي‎گيرد.

۱-معرفي:
معمولاً محيطهاي عملياتي با اصطلاحاتي مثل عامل، مسئوليت، اهداف و كار و منابع درك مي‎‏شود در حاليكه سيستمهاي اطلاعاتي اجتماعي از ماژولهاي نرم‎افزاري، ساختارهاي داده و رابطها مي‎باشند. اين تناقض عاملي در جهت فقر كيفيت سيستمهاي اطلاعاتي است. همچنين موجب شكستهايي در سيستمهاي اطلاعاتي تجاري مي‎شود.

هدف اين مقاله بيان يك متد توليد نرم‎افزار است كه روي مفاهيم Agent (عامل) و Goal (هدف) درك مي‎شود. اين قيد اين امكان را فراهم مي‎آورد كه اين مفاهيم را براي توضيح محيطهاي سازماني بكار ببريم.
Framework توليد نرم‎ازار كه*(i)Tropos نام دارد و از دو واژة
Easily Changeable و Easily Adaptable مي‎آيد در مرحلة تحليل احتياجات اوليه بكار مي‎رود.

روش ارائه شده از چهار قسمت براي توليد نرم‎افزار استفاده مي‎كند:
۱-احتياجات اوليه : در ارتباط با درك مشكلات و احتياجات يك جايگاه سازماني مي‎باشد. خروجيهاي اين مرحله يك مدل سازمان يافته است كه شامل عاملهاي (Actor) مناسب و اهداف بين آنهاست.

۲-احتياجات ثانويه : در اين مرحله سيستم در محيط عملياتيش، مورد تفسير قرار مي‎گيرد و همة احتياجات عملياتي و غير عملياتي سيستم در اين مرحله شناخته مي‎شود. (توابع مناسب + كيفيتهاي مناسب)
۳-طراحي معماري : معماري سيستم در اصطلاح زير سيستمهايي كه با جريان داده و كنترل به هم ارتباط دارند، تعريف مي‎شود.

۴-طراحي جزئي : يك اجزاء موجود در بخش معماري با جزئيات بيشتري تعريف مي‎شود (ورودي‎اش، خروجي‎اش، كنترلها و اطلاعات مناسب ديگر براي هر جزء)
۲- مثال :
فروشگاه گل يك مغازه است كه انواع گلها را مي‎فروشد و انتقال مي‎دهد. مشتريهاي گل فروشي مي‎توانند كاتالوگي كه محصولات موجود را نمايش مي‎دهد، براي سفارش دادن (از راه دور يا On-Site) بكار ببرند. كه اين كاتالوگ بطور منظم بروز مي‎شود. براي افزايش بازار جهاني فروشگاه گل تصميم به خرده‎فروشي از طريق اينترنت مي‎كند. با نصب چنين سيستمي، مشتري مي‎تواند محصولات مغازه را سفارش دهد (يا از طريق تلفن، يا از طريق اينترنت يا شخصاً).
نام سيستم اينترنتي Flower Alive است.

۱-۲: اهداف پروژه :
هدف اصلي سيستم جديد فراهم كردن اين امكان براي مشتري كه بتواند انواع مختلف گلها را ببيند و گلهاي مورد علاقه خود را بتواند سفارش دهد.

۲-۲: توضيحات :
اين سيستم طراحي مي‎شود تا هر مشتري بتواند بطور بالقوه از طريق دسترسي به اينترنت و يك Web Browser، به سيستم دسترسي داشته باشد. همچنين نيازي به ثبت نام و مراحل شناسايي، براي مشاهدة كاتالوگ نيست. (استفادة رايگان) حتي اگر مشتري چيزي نخرد هم سيستم او را به عنوان مشتري در نظر مي‎گيرد. مشتريان مي‎توانند هم كاتالوگ را ببينند و هم مي‎توانند يك گل خاصي را در پايگاه داده جستجو كنند. همچنين كاتالوگ گلها را به سه گروه تقسيم كرده تا مشتريان بتوانند انواع گلها را ببينند و با هم مقايسه كنند.

جزئيات هر گل شامل – نام، توضيح كوتاه، نام تجاري، سال معرفي گل، هزينه مي‎باشد كه توسط سيستم ارائه مي‎گردد (براي هر گل)، هنگامي كه يك مشتري تصميم مي‎گيرد يك گل را بخرد آن گل را به كارت خريد خود اضافه مي‎كند.
سيستم نيز بعد از چك كردن گلهاي خريده شده، اين امكان را براي مشتري فراهم مي‎آورد كه اطلاعاتش مثل نام و آدرس و كارت اعتباري و.. را از طريق تلفن يا اينترنت (توسط فرمهاي استاندارد) در اختيار فروشگاه( سيستم) قرار دهد.

۳-احتياجات اوليه:
در طول تحليل احتياجات، مهندس احتياجات به تحليل و تسخير مقاصد و اهداف سرمايه‎گذاران (متقاضيان سيستم) مي‎پردازند. اين مقاصد، به عنوان اهدافي كه عاقبت به نيازهاي عملياتي و غير عملياتي منجر مي‎شود، توسط برخي اشكال تحليل Agent Oriented مدل مي‎شوند. در I*، احتياجات اوليه شامل Actorهاي اجتماعي است كه براي ۱-دستيابي به اهدافشان (Goal) يا ۲- كارهايي كه بايد انجام دهند (Task) يا ۳-منابعي كه بايد بدست آورند (Resource) به هم متصلند.

در I*، دو مدل داريم:
۱-مدل وابستگي استراتژيك : براي توضيح شبكة از ارتباطات بين Actorها.
۲-مدل منطقي استراتژيك : براي توصيف و حمايت استدلالهايي كه در مورد ارتباطات هر Actor با ديگر Actorها بحث مي‎كند، بكار مي‎رود.
مدل وابستگي استراتژيك : يك گراف كه هر نودش يك Actor با نمايش مي دهد و لينگ بين دو Actor نشان ميدهد كه يك Actor براي ارضاء نيازهايش (اهدافش) به ديگري وابسته است. Actorي كه به ديگري وابسته است را Depender و ديگري را Dependee مي‎نامند.

ناحيه اطراف مركز وابستگي را Dependum مي‎نامند. با وابستگي روي Actor ها، يك Actor مي‎تواند اهدافش را بدست آورد كه در غير اينصورت (عدم وابستگي) نمي‎‏توانست به تنهايي آنها را بدست آورد يا حداقل به راحتي قادر به كسب اين اهداف نبود و كيفيت نيز تحت تاثير قرار مي‎گرفت (بدتر مي‎شد) نكته شايان ذكر اينست كه يك Depender به علت وابسته بودن به Dependee آسيب پذير است. يعني اگر Dependee با شكست مواجه شود ، Depender نيز در رسيدن به اهدافش با مشكل روبرو مي‎‏شود.

شكل ۱، آغاز تحليل احتياجات اوليه را نشان مي‎دهد. كه از دو Actor مناسب در فروشگاه گل تشكيل شده است.

 

دو Actor بنامهاي مشتري (Customer) و فروشگاه گل (Flower Shop) كه اهداف فروشگاه گل عبارتند از :
۱-پردازش سفارشات مشتري
۲-رضايت مشتري
۳-افزايش بازار جهاني

چون ۲ و ۳ براحتي قابل تعريف نيستند آنها را در اصطلاح اهداف نرم مي‎ناميم و در اشكال ابرقرار دارند.
بعد از اينكه سرمايه‎گذاران و اهداف آنها مشخص شدند يك تحليل Mean-End مشخص مي‎كند كه چگونه اين اهداف ميتوانند عملاً، از طريق شركت Actorي ديگري (كه هنوز ممكن است شناسايي نشده باشد)، بدست آيد.
تحليل Mean-End را براي هدف نرم افزاريش بازارجهاني، بكار مي‎بريم. (شكل ۲) عمل محوري براي ارضاء اين هدف نرم، Run Shop است.

در اينجا Run Shop يك Task است. (داخل،۶ ضلعي)
Task بعنوان يكي توالي از مراحل كه متمايل به انجام بعضي اهداف نرم هستند تعريف مي‎شوند.
همانطور كه در شكل ۲ مي‎بينيم 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
اگر چه مدل وابستگي استراتژيك هشدارهايي در بارة اينكه چرا پردازشها در يك راه خاص ايجاد مي‎شوند تهيه مي‎كند اما آن امكان پيشنهاد دادن و بيان و ارزيابي پيشنهادها را ندارد. و اين وظيفه مدل منطقي استراتژيك است.

يك مدل منطقي استراتژيك يك گراف است با ۴ نوع از نودها:
۱-نودهاي هدف (Goal) 2-نودهاي كار(Task) 3-نودهاي هدف نرم (Soft Goal) 4-نودهاي منبع (Resource) و۲ نوعLink دارد : لينك هاي Mean-End و Decomposition . يك گراف منطقي استراتژيك ميتواند موقعيتهايي كه هر Actor ميتواند، از بين چندين پيكربندي وابستگي انتخاب كند را بيان كند.

-در شكل ۴، تحليل، يك Task ريشة Internet Shop Manager را اصل قرارداده كه بطور مثبت براي هدف نرم Increase Market Share ظاهر مي‎شود.
واضح است كه هرچه تحليل ثانويه پيش مي‎رود مسئوليتهاي بيشتري كشف مي‎شود (براي سيستم Flower Alive) و وابستگيهاي ديگري براي سيستم ايجاد مي‎شود. به علاوه سيستم به چندين Sub-Actor تقسيم مي‎شود كه اين مسئوليتها را به عهده مي‎گيرند كه اين كار ]پيدا كردن وظايف ديگر[ از طريق تحليل Mean-End در طول تحليل استراتژيك منطقي انجام مي‎شود. همانطور كه در شكل مي‎بنيم Internet Shop Manager به چندين هدف تقسيم مي‎شود.

و همچنين شناساندن مشتري به سيستم ازطريق فرمهاي Secure تاثيري مثبت در هدف نرم Security (امنيت) دارد، در حاليكه انجام اين كار از طريق فرمهاي استاندارد تأثير منفي روي هدف نرم امنيت دارد.
وابستگيهاي Keyword Search و Place Order مطابق شكل ۴ تاثير منفي در هدف نرم امنيت دارند.
همچنين هدف نرم Secure (امنيت) تاثير منفي در هدف نرم Usable (كارا) دارد. – به همين ترتيب On-Line Catalog بطور مثبت براي هدف نرم Get Internet Customer شركت مي‎كند.
نتايج اين تحليل يك مجموعه از Actorهاست كه به هم وابسته‎اند.