1 / 37

مهندسی نرم افزار مبتنی بر عامل

مهندسی نرم افزار مبتنی بر عامل. رئوس مطالب. مهندسي نرم ‌ افزار مبتني بر عامل فرايند ‌ هاي توسعه مبتني بر عامل روش ‌ هاي توسعه سيستم ‌ هاي مبتني بر عامل روش ‌ هاي مهندسي نياز ‌ ها چارچوب i* زبان GRL (زبان مدل سازي نياز ‌ ها) چارچوب NFR ‌

eron
Download Presentation

مهندسی نرم افزار مبتنی بر عامل

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. مهندسی نرم افزار مبتنی بر عامل

  2. رئوس مطالب • مهندسي نرم‌افزار مبتني بر عامل • فرايند‌هاي توسعه مبتني بر عامل • روش‌هاي توسعه سيستم‌هاي مبتني بر عامل • روش‌هاي مهندسي نياز‌ها • چارچوب i* • زبان GRL (زبان مدل سازي نياز‌ها) • چارچوب NFR‌ • روش‌هاي تحليل و طراحي سيستم‌هاي مبتني بر عامل • راه‌حل‌هاي مبتنی بر روشهای شیء گرا آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  3. رئوس مطالب (ادامه) • متدولوژي MaSe • مرحله تحليل در MaSE • مرحله تعيين اهداف • اعمال موارد كاربرد • بازبيني نقش‌ها • مرحله طراحي • ايجاد كلاس هاي عامل • ساخت گفتگوها • تركيب كلاس هاي عامل • طراحي سيستم • روش‌هاي پياده سازي • روش‌هاي تست آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  4. مهندسي نرم‌افزار مبتني بر عامل • نرم‌افزار‌هاي مبتني بر عامل داراي ويژگي‌هاي مشتركي نظير پيچيدگي، باز بودن و توزيع داده و كنترل هستند. • نرم‌افزار‌هاي مبتني بر عامل معمولاً در دسته نرم‌افزار‌هاي Real-Time و حساس قرار مي‌گيرند. • از عامل‌ها تشكيل شده بنابراين مهمترين Abstraction در اينگونه سيستم‌ها مفهومي به نام عامل است. • بنابراين اين سيستم‌ها نيازمند روش‌هاي مهندسي نرم‌افزاري بوده كه به طور خاص براي اينگونه سيستم‌ها طراحي شده باشد. آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  5. مهندسي نرم‌افزار مبتني بر عامل (ادامه) • مهندسي نرم‌افزار مبتني بر عامل مهندسي نرم‌افزار سيستم‌هاي مبتني بر عامل است. • مهندسي نرم‌افزار مبتني بر عامل، علاوه بر كاربرد در توسعه سيستم‌هاي مبتني بر عامل، براي توسعه سيستم‌هايي كه داراي ويژگي‌هايي نظير سيستم‌هاي مبتني بر عامل هستند، قابل كاربرد است. • مهندسي نرم‌افزار مبتني بر عامل، يك تكنولوژي لايه‌اي محسوب مي‌شود. آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  6. آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  7. فرايند‌هاي توسعه مبتني بر عامل • اين فرايند‌ها مشخص كننده مراحل لازم براي ساخت به موقع و با كيفيت يك سيستم مبتني بر عامل مي‌باشند. • نمونه‌ها : • MASSIVE ( مدل فرايند تكراري ) • Tropos (مدل فرايند خطي) • فرايند‌هاي همراه با چارچوب‌هاي توليد عامل (Zeus) • گسترش مدل‌هاي فرايند موجود (XP for AO Systems) آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  8. روش‌هاي توسعه سيستم‌هاي مبتني بر عامل • در كنار فرايند، روش‌هايي براي به كارگيري در مدل‌فرايند نيز ضروري مي‌باشد. • روش‌ها عبارتند از : • روش‌هاي مهندسي نياز‌ها • روش‌هاي تحليل و طراحي • روش‌هاي پياده سازي • روش‌هاي تست آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  9. روش‌هاي مهندسي نياز‌ها • اين روش‌ها، براي به دست آوردن و آناليز نياز‌هاي مشتري به كار مي‌روند. • نمونه‌هايي از اين روش‌ها: • چارچوب i* • زبان GRL (زبان مدل سازي نياز‌ها) • چارچوب NFR‌ آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  10. چارچوب i* براي مهندسي نياز‌ها • چارچوبي براي مهندسي نياز‌ها بر اساس روش‌هاي مبتني بر عامل • اين چارچوب براي مدل‌سازي نياز‌ها در يك سيستم كه داراي چندين عامل شركت كننده (نرم‌افزاري يا غير نرم‌افزاري) با خواست‌هاي متفاوت باشند، قابل استفاده است. • در يافتن اهداف سيستم، اولويت بازيگران سيستم و ارتباط آنها با يكديگر، نحوه و امكان سنجي دستيابي به اهداف سيستم سودمند است. آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  11. مدل Strategic Dependency در چارچوب i* • چرا لازم است جلسات به موقع برنامه ريزي شوند؟ • چرا لازم است برنامه ريز جلسات از شركت كنندگان زمان‌هاي مورد علاقه و زمان‌هايي را كه نمي‌توانند شركت كنند دريافت كند‌؟ • .... آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  12. مدل Strategic Rationale در چارچوب i* آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  13. ويژگي‌هاي ديگر i* • امكان ارزيابي هريك از عمليات و اهداف معرفي شده از چهارديدگاه ability، workability، viability و believability • تاكيد بر مديريت نياز‌ها در مراحل اوليه توسعه (Early Phase Requirement Engineering) • امكان به كارگيري در مديريت نياز‌هاي سيستم‌هاي گوناگون مخصوصاً سيستم‌هاي توزيع شده، سيستم‌هاي امن و ... آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  14. روش‌هاي تحليل و طراحي سيستم‌هاي مبتني بر عامل • در این متدولوژی ها سعی شده که ویژگی های مربوط به عامل ها و روش های مرتبط با آن در متدولوژی های موجود اضافه گردد. • به دو دسته تقسیم میشوند : • متدولوژی هایی که توسعه روش های شیء گرا هستند. • متدولوژی هایی که توسعه روش های مهندسی دانش هستند. آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  15. راه‌حل‌هاي مبتنی بر روشهای شیء گرا • مزایا : • شباهت میان شی و عامل وجود دارد. • روش های شی گرا بسیار متداول است. • یادگیری و هزینه کمتری نسبت به سایر روش ها دارد. • مواردی که باید مد نظر قرار گیرد : • تجرد بالاتر عامل نسبت به شیء • عدم توانایی روش های شیء گرا در مدل سازی ویژگی های خاص عامل • تفاوت در نوع ارتباط بین اشیاء و عامل ها آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  16. متدولوژي MaSe • متدولوژي تحليل و طراحي سيستم‌هاي مبتني بر عامل • توسط ابزار agentTool پشتيباني مي‌شود. • ويژگي‌هاي عامل نظير ”خود مختاري“، ”خلاقيت“، ”پيش فعال بودن“ در آن مورد توجه نمي‌باشد. • عامل ها به صورت موجوديت‌هاي نرم‌افزاري فرض مي‌شوند كه براي رسيدن به يك هدف خاص با هم همكاري مي‌كنند. آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  17. آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  18. مرحله تحليل در MaSE • مرحله تعيين اهداف • اعمال موارد كاربرد • بازبيني نقش‌ها تحليل نقش‌هاي موجود در سيستم نياز‌ها آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  19. تعيين اهداف • تشخيص اهداف • تشخيص اهداف كلي سيستم • با توجه به نياز‌مندي‌هاي مشتري • طبقه بندي اهداف • اهداف كلي به اهداف كوچك تر شكسته مي‌شود. • ساختار سلسله مراتبي اهداف، به كمك نمودار درختي نمايش داده مي‌شود. • اهداف بايد به اندازه‌اي جزئي شوند كه امكان انجام آنها توسط عامل‌هايي كه در مرحله طراحي مشخص مي‌شود، وجود داشته باشد. آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  20. آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  21. به كارگيري موارد كاربرد • ايجاد موارد كاربرد • با توجه به نياز‌مندي‌ها و اهداف سيستم، مدل مورد كاربرد سيستم مشخص مي‌گردد. • توليد نمودار ترتيب (Sequence Diagram) • براي هريك از موارد كاربرد، نقش‌هاي لازم و همچنين ارتباط بين نقش‌ها براي انجام مورد كاربرد مربوطه، مشخص مي‌شود. آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  22. بهبود نقش‌ها • هدف اين مرحله، تكميل نقش‌هاي سيستم و مشخص‌نمودن وظايف هر نقش‌مي‌باشد. • در اين مرحله بايد اطمينان حاصل نمود كه به هر Goal يك نقش اختصاص داده شده است. • مي‌توان با تركيب نقش‌ها، وظيفه انجام چندين Goal را به يك نقش اختصاص داد. آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  23. آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  24. مشخص كردن وظايف • براي تبديل نقش‌ها به كلاس‌هاي عامل در مرحله طراحي، بايد وظايف هر نقش مشخص گردد. • براي اين منظور مي‌توان از نمودار‌ نقش‌هاي سيستم را با جزئيات كامل استفاده نمود. • همچنين وظايف را مي‌توان با استفاده از نمودار‌هاي حالت مدل‌سازي نمود. آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  25. آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  26. آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  27. مرحله طراحي • در اين مرحله مي خواهيم مدلي توليد كنيم كه در مراحل بعدي قابل پياده سازي باشد. • طراحي در MaSE شامل مراحل زير است : • ايجاد كلاس هاي عامل • ساخت گفتگوها • تركيب كلاس هاي عامل • طراحي سيستم آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  28. ايجاد كلاسهاي عامل • در اين مرحله، براي هريك از نقش هاي موجود در سيستم يك كلاس عامل اختصاص داده مي شود. • مي توان بين نقش ها و كلاس هاي عامل، نگاشت يك به يك ايجاد نمود يا مجموعه اي از نقش ها را داخل يك كلاس عامل قرار داد. • در نمودار كلاس عامل، كلاس ها ( به صورت مربع ) و ارتباط بين كلاس ها با خطوط مشخص مي شود. آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  29. آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  30. ساخت گفتگوها • در اين مرحله، هدف مدل سازي وضعيت داخلي يك عامل در هنگام دريافت يك پيام است. • براي اين منظور از نمودارهاي حالت UML استفاده شده و موارد زير بايد مدل شود : • "پيامي" ‌كه با دريافت آن گذر از يك حالت به حالت ديگر صورت مي‌گيرد. • "فعاليتي" كه در صورت دريافت پيام فعال مي‌شود. • شرايطي كه براي گذر از يك حالت به حالت ديگر بايد برقرار باشد. • پيامي‌ كه در حين گذر از يك حالت به حالت ديگر، ارسال مي‌گردد. آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  31. آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  32. طراحي داخلي عامل • در اين مرحله معماري داخلي عامل مشخص مي شود. • براي اين منظور مي توان از زبان هاي توصيف معماري استفاده نمود. آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  33. استقرار سيستم • در اين مرحله ساختار كلي عامل ها در سيستم مشخص مي شود. • براي نمايش نحوه استقرار عامل ها از نمودارهاي استقرار (Deployment Diagram) در UML استفاده مي شود. آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  34. روش‌هاي پياده سازي • در اين بخش‌ زبان‌هايي براي توسعه عامل‌ها ارائه شده است. • زبان‌هاي عامل، زبان‌هايي هستند كه در توسعه سيستم امكان استفاده از مفاهيم اصلي موجود در عامل‌ها (نظير باور‌ها، اهداف، و ديگر ويژگي‌هاي ذهني) را به طور مستقيم فراهم مي‌كنند. • نمونه‌هايي از اين زبان‌ها عبارتند از : • Agent 0 • PLACA • 3APL آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  35. روش‌هاي تست • تست ويژگي‌هاي عامل • تست Unit‌ • در سيستم‌هاي مبتني بر عامل، كوچكترين واحد قابل تست عامل است. • در اين روش، عامل از لحاظ ويژگي‌هايي كه بايد از ديد ديگر عامل‌ها برآورده سازد، تست مي‌شود. • محيط‌هايي براي تست خودكار عامل‌ها ( با زبان Java ) ارائه شده است. در اين محيط‌ها امكان ايجاد Test Case هايي مشتق شده از Junit و تست خودكار عامل بر اساس Test Case وجود دارد. آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  36. روش‌هاي تست • تست جامعه • در اين روش كل سيستم چند عامله تست مي‌گردد. • تست پروتكل ‌هاي ارتباطي • تست كاركرد عامل‌ها در هنگام دريافت پيغام از ديگر عامل‌ها • تست Validation • در اين روش، برآورده شدن نياز‌هاي مورد انتظار كاربر توسط سيستم چند عامله تست مي‌گردد. آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

  37. معماری سیستم • در معماری سیستم دو مورد باید مشخص گردد : • معماری عامل • معماری سیستم چند عامله • در این زمینه در منابع مختلف، الگوهای معماری گوناگون (نظیر Blackboard،Agency، ... ) معرفی شده است. • زبان های توصیف معماری مخصوص عامل ها آزمایشگاه سیستمهای هوشمند www.ceit.aut.ac.ir/islab

More Related