1 / 36

Информационни системи - теория и практика

Информационни системи - теория и практика. доц., д-р Владимир Димитров cht@fmi.uni-sofia.bg Моделиране на взаимодействията. Модел на взаимодействията.

miyo
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. Информационни системи -теория и практика доц., д-р Владимир Димитров cht@fmi.uni-sofia.bg Моделиране на взаимодействията

  2. Модел на взаимодействията Моделът на взаимодействията е третата съставяща при моделиране на системите. Моделът на класовете описва обектите на системата и отношенията между тях. Моделът на състоянията описва жизнените цикли на обектите. Моделът на взаимодействията описва взаимодействията на обектите за получаване на нужните резултати. Моделът на взаимодействията е глобален поглед върху поведението на множество обекти, докато моделът на състоянията е редуцирано представяне на индивидуалното поведение на обектите.

  3. Модел на взаимодействията Взаимодействието може да се моделира на различни нива на абстракция. На най-високо ниво взаимодействието на системата с външните действащи лица се описва с варианти на употреба. Всеки вариант на употреба описва елемент от функционалността предоставяни от системата на потребителите. Вариантите на употреба са полезни за представяне в модела на неформалните изисквания. Диаграмите на последователностите са по-детайлни, те представят съобщенията, които се обменят между обектите във времето. Съобщенията са асинхронни сигнали и извикване на процедури. Диаграмите на последователностите са полезни за демонстрация на последовтелностите поведение видими от потребителите на системата.

  4. Модел на взаимодействията Диаграмите на дейностите съдържат цялата информация и представят потока на управление между етапите на изчисление. Диаграмите на дейностите могат да представят не само потоците на управление, но и потоците данни. С тях се представят етапи от диграмите на последователностите необходими за реализация на операции или бизнес процеси.

  5. Модел на вариантите на употреба Актьор (actor) е непосредствен външен потребител на системата. Това е обект или множество от обекти непосредствено взаимодействащи си със системата, но не са част от системата. Всеки актьор е обобщение на група обекти имащи определено отношение към системата. Актьорите могат да бъдат хора, устройства и други системи – всичко, което взаимодейства непосредствено с интересуващата ни система. Обектът може да бъде свс няколко актьора, ако поведението му е разностранно. Актьорът трябва да има ясно определена цел. Обектите и класовете обекновено имат няколко цели. Актьорът представя само една страна от обекта във взаимодействието му със системата. Всеки актьор има има съгласуван набор от възможности на обектите, които представя.

  6. Модел на вариантите на употреба Моделирането на актьорите позволява да се определят границите на системата, т.е. да се посочат обектите намиращи се в системата и обектите вън от нея. Актьорът пряковзаимодейства със системата. Обекти, които непряко взаимодействат със системата не са актьори и не трябва да се включват в модела на системата. Всяко непряко взаимодействие трябва да се осъществи чрез актьори. Ако трябва да се изгради модел на непряко взаимодействие с външните обекти трябва да се изгради модел на средата като по-голяма система включваща в себе си първоначалната.

  7. Варианти на употреба Различните взаимодействия на актьорите със системата се групират във варианти на употреба. Вариантът на употреба (use case) е свързващ елемант на функционалността, предоставяна от системата при взаимодействието й с актьорите. Във всеки вариант на употреба учавстват един или няколко актьора и системата. Вариантът на употреба подразбира обмен на поредица от съобщения между системата и актьорите. Някои варианти на употреба се характеризират с фиксирана последователност от съобщения. Често обаче последователността от съобщения може да варира в определени граници. Вариациите на последователностите може да се представят с няколко примера различаващи се с последователност на поведението. Обикновено, първо се определя основната последователност, а след това незадължителните последователности, повторенията и други вариации.

  8. Варианти на употреба Част от вариантите на употреба са и аварийните ситуации. От потребителска гледна точка някои видове поведение са грешки. Проектантът трябва да отчита всички възможни последователности. От гледна точка на системата, грешките на потребителя или на ресурсите са разновидности на поведение, които устойчивете система трябва да може да обработи. Вариантът на употреба обединява цялото поведение имащо отношение към елемента функционалност на системата: нормално поведение , вариации на нормалното поведение, изключителни ситуации, аварийни ситуации и отмяна на заявки. Обединяването на нормалното и анормалното поведение в един вариант на употреба помага да се убедим, че всички последователности на взаимодействие се разглеждат заедно. В пълният модел вариантите на употреба извършват разбиване на функционалността на системата. Всички варианти трябва да се намират на сравнимо ниво на абстракция.

  9. Диаграми на вариантите на употреба Всяка система има свое множество от варианти на употреба и множество от актьори. Всеки вариант на употреба опесва елемент от функционалността на системата. Множеството от вариантите на употреба описват цялата функционалност на системата на някакво ниво на абстракция. Всеки актьор е един вид обекти, за които системата може да има някакво поведение. Множеството от актьорите описва пълното множество от обекти, които могат да бъдат обслужени от системата. Обектите акумулират поведението на всички системи, с които те си взаимодействат като актьори.

  10. Варианти на упатреба Вариантите на упатреба могат да се представят във вид на текст със съдържание разделено в следните раздели: • Вариант на употреба (име) • Картко описание • Актьори • Предусловия • Описание • Изключения • Постусловия

  11. Варианти на употреба за търговски автомат

  12. Препоръки към вариантите на употреба Вариантите на употреба определят функционалността на системата и я подреждат от гледна точка на потребителите. Традиционните списъци с изисквания могат да описват функионалност не напълно ясна за потребителите, а също така да пропускат помощна функционалност. Вариантите на употреба описват само пълни транзакции и поради това има по-малки шансове нещо да се изпусне. Традиционните сци с изисквания могат да се използват за описание на глобални ограничения и друга нелокализирана функционалност. Обаче голямата част от взаимодействието с потребителите се описва с вариантите на употреба. Основното назначение на системата почти винаги се отразява във вариантите на употреба, а списъците с изисквания задават допълнителни ограничения върху реализацията.

  13. Списък с препоръки • Първо трябва да се определят границите на системата. Не може да се идентифицират вариантите на употреба и актьорите, ако границите на системата не са ясно определени. • Съсредоточавайте аьорите. Всеки актьор трябва да има една ясно изразена цел. Ако обекта от реалния свят съчетава в себе си няколко цели, те трябва да бъдат представени с няколко актьора. Актьорите се определят само по отношение на системата, а не са самостоятелна същност.

  14. Списък с препоръки • Всеки вариант на употреба трябва да дава стойност на потребителя. Вариантът на употреба трябва да описва пълна транзакция, предоставяща на потребителите стойност и тя не трябва да е тнърде тясно определена. Когато работим с пълни варианти на употреба се съсречаваме на назанчението на функциона на системата и не взимаме никакви предварителни решения за реализацията. Подробностите се добавят по-късно. Често изискваната функционалност може да бъде реализирана по няколко начина.

  15. Списък с препоръки • Свързвайте вариантите на употреба с актьори. Всеки вариант на употреба трябва да има поне по един актьор. Всеки актьор трябва да учавства в поне един вариант на употреба. Вариантът на упатреба може да има няколко актьора, актьорът може да учавства в няколко варианта на употреба. • Вариантите на употреба не са формално описание на системата. Не си струва и да се формализират. Те са създадени за да опредподредят функционалността на системата от гледна точка на потребителя. Вариантите на употреба в първия етап могат недостатъчно ясно да бъдат определени. Подробностте се добавят по-късно когато вариантите на употреба се разширяват и реализират. • Вариантите на употреба може да се структурират. За много приложения са достатъчни отделни варианти на употреба. В големите системи трябва да се конструират варианти на употреба от отделни фрагменти, използвайки отношенията между тях.

  16. Модел на последователностите Моделът на последователностите е задълбочено разглеждане на ситуациите описани във вариантите на употреба. Тези модели са два типа: сценрии и диаграми на последователностите. Последните имат по-строга структура.

  17. Сценарии Сценарии (scenario)е поредица от събития осъществяващи се в процеса на едно конкретно изпълнение на системата. Сценарият може да има различен обхват в системата: той може да описва всички събития в системата или само тези, които влияят на конкретни обекти или се пораждат от тях. Сценарият може да се разглежда като журнал на изполнението на фактическата система или като мисловен експеримент, в който учавства предлаганата система. Сценарият може да бъде представен във вид на текст.

  18. Сценарии Детайлите по реализацията на системата могат да бъдат показани отделно. На ранните етапи от разработката, сценариите се описват в термините на високите нива. В по-късните етапи могат да бъдат включени отделни съобщения. Определянето на реда на обмен на съобщения е задача на проектирането. Сценариите съдържат информация за съобщенията, които се обменят между обектите, а също така и дейността извършвана от обектите. Всяко съобщение предава информацн обект към друг. Писането на сценарии започва с определянето на обектите, които обменят съобщенията. След това се определят изпращача и получателя на всяко едно съобщение, а също така и наредбата на съобщенията. Накрая в сценария може да се добави и дейността съответстваща на вътрешните изчисления. Това се прави на етап кодиране.

  19. Диграми на последователностите Текстовите сценарии лесно се пишат, но не позволяват ясно да се виждат изпращача и получателя, особено при голям бркти. Диаграмата на последователностите показва участниците във взаимодействието и последователността от съобщения, които те си обменят. Тя описва взаимодействието на системата с актьорите в процеса на пълното или частичното изпълнение на варианта на употреба.

  20. Диаграма на последователностите при закупуване на акции

  21. Диаграма на последователностите при проверка на котировките

  22. Диаграма на последователностите при неудачна покупка

  23. Диграми на последователностите Описанието на поведението на всеки вариант на употреба изисква поне по една диаграма на последователностите. Всяка диаграма на последователностите представя конкретна последователност от поведението на варианта на употреба. Най-добре е на диаграмата да се изобразява определена част от варианта на употреба и да не се стремим към максимална общност. На диаграмата на последователностите може да се посочат условията, но моделът е по-ясен, ако за всеки съществен поток на управление се прави отделна диаграма на последователностите.

  24. Диграми на последователностите Диаграмите на последователностите могат да описват крупни взаимодействия, но много често взаимодействия от този вид съдържат независими задачи, които могат да бъдат по различен начин комбинирани. Вместо да се повтарят едно и също за различните комбинации може отделна диаграма на последователностите за всяка задача да се направи. Задължително трябва да се направи диаграма на последователностите за всяка изключителна ситуация възможна за варианта на употреба. В повечето системи броя на възможните сценарии е безкраен, поради което е невъзможно да бъдат бъдат всички изобразени на диаграми на последователностите. Трябва обаче всички варианти на употреба да бъдат проработени и да се опишат основните видове поведение с диаграмите на последователностите. Важното е да разгледаме основните варианти на дейностите.

  25. Препоръки към диаграмите на последователностите Моделът на последователностите преработва и детайлизира неформалното описание на системата зададено с вариантите на употреба. Моделите на последователностите са два вида. Сценарият е текстово описание на поредицата от събития. Диаграмата на последователностите също описва поредицата от събития, но в графичен вид, позволяващ нагледно представяне на участниците във взаимодействието.

  26. Списък препоръки • За всеки вариант на употреба трябва да се напише поне един сценарии. Етапите на сценария трябва да са отделни логически команди. Точният синтаксис на въвеждане може да бъде описан по-късно на етапа на реализацията. Започвайте с простите взаимодействия: без повотрения, с една основна дейност, с най-типичните стойности на параметрите. Ако основните варианти са няколко и те значително се отличават един от друг, напишете сценарии за всеки един от тях. • Абстрахирайте сценариите с дигарами на последователностите. Диаграмите на последователностите ясно представят участието на всеки един актьор. Много е важно да се посочи приноса на всеки един от тях за да може впоследствие да се организира поведението на обектите.

  27. Списък препоръки • Разбивайте сложните взаимодействия на по-прости. Разделете крупните последователности на съставящи задачи, за които построявайте диаграми на последователностите. • Изграждайте диаграма на последователностите за всяка изключителна или аврийна ситуация. Представете поведението на системата при нестандартно въздействие.

  28. Модел на дейността Диаграмата на дейността представя поредица от етапи образуващи сложен процес. Диаграмата на дейността представя потока на управление както диаграмата на последователностите, но съсредоточава вниманието върху операциите, а не върху обектите. Диаграмата на дейностите е особено полезна в ранните етапи на проектиране на алгоритми и технологични процеси. Диаграмата на дейността прилича на обикновената блок схема, тъй като също представя потока на управление от етап на етап. За разлика от блок схемите може едновременно да представя паралелна и последователна дейност. Това е особено важно за разпределените системи. Диаграмата на дейностите често се използва за моделиране на организации понеже последните се състоят от множество обекти (хора и организационни еденици) едновременно извършващи множество операции.

  29. Диаграма на дейността на брокерска система за обработка на заявка

  30. Дейност Елементи на диаграмата на дейностите са операциите, а именно видовете дейности от модела на състоянията. Назначението на диаграмата на дейността е да покаже етапите от сложния процес и подреждащите ограничения наложени върху тях. Някой видове дейност се изпълняват до тогава докато не бъдат прекъснати от някакво външно събитие, но в повечето случай дейността има свой логически край. Завършването на дейността е събитие на завършване, което обикновено означава възможност за начало на изпълнение на следваща дейност. Дейността може да бъде разбита на по-малки съставящи. Важно е видовете дейности на една диаграма да са от една и също ниво на детайлизация. Ако един от етапите се разбие на по-малки стъпки, то и другите етапи трябва да се разбият на по-малки стъпки за да могат всички да са на едно и също ниво. Съхраняването на нивото на детайлизация може да се запази, ако представяме съставящите на дейността от по-високото ниво на отделни диаграми.

  31. Диаграма на дейността execute order

  32. Разклонение Ако някоя дейност може да има няколко следващи елемента, около всяка стрелка трябва да се задава условието в квадратни скоби. Условието се проверява след завършване на дейността. Ако условието е в сила, то дейността, в която сочи стрелката му подлежи на изпълнение. Ако не е в сила нито едно от условията, моделът е лошо съглауван, защото системата ще зависне, ако няма прекъсване от по-високо ниво. За избягване на такива ситуации трябва да се използва условието [else]. Ако едновременно са в сила няколко условия ще бъде стартирана само една дейност, като не е възможно да се определи точно коя. В някои случаи такава неопределеност съзнателно се задава, но най-често това е грешка на разработчика, който не е отчел засичането на условията. Ако няколко стрелки влизат в дадена дейност, алтернативните пътища на изпълнение се сливат. За сливане и разклонение може да се използва ромб.

  33. Изпълнение на диаграмата на дейността Диаграмите на дейността могат да симулация управлението на изпълнението. Около изпълняемата дейност може да се постави маркер на дейността (activity token). Когато деа завърши маркерът се помества около изходната стрелка.

  34. Препоръки към модела на дейностите Диаграмите на дейността уточняват хода на изчисленията. Така те описват етапите необходими за реализацията на дадена операция или бизнес процес. Диаграмите на дейността помагат на разработчиците да разберат сложните изчисления поради графичното представяне на хода на изпълнение с междинните етапи.

  35. Препоръки • Избягвайте да използвате диаграмите на дейностите не по предназначение. Те са предназначени да уточняват вариантите на употреба и моделите на последователностите. С тяхна помощ разработчиците изучават алгоритмите и технологичните процеси. Диаграмите на дейностите са спомагателно средство в рамките на обектно-ориентирания подход и не трябва да се използват за разработка на софтуер по блок схеми. • Диграмите трябва да са еднонивови. На една диаграма трябва да се намират видове дейности от едно и също ниво на детайлизация. По-подробното съдържание на дадена дейност трябва да се изнася в отделна диаграма.

  36. Препоръки • Бъдете прецизни с разклоненията и условията. Ако в диаграмата има условия, то поне едно от тях трябва в сила. За тази цел може да се използва условието else. В недереминираните модели едновременно могат да са в сила няколко условия, но често такава ситуация говори за грешки. • Бъдете прецизни с паралелното изпълнение. Паралелизмът допуска произволен ред на завършване на всички видове дейности. Сливането е възможно само след пълното им завършване. • Разгледайте възможността за създаване на изпълняеми диаграми на дейността. Изпълняемата диаграма ще помогне на разработчиците по-добре да разберат системата. Понякога тя е полезна и зъ потребителите.

More Related