Софтуерни технологии



страница18/106
Дата11.05.2023
Размер2.27 Mb.
#117653
ТипАнализ
1   ...   14   15   16   17   18   19   20   21   ...   106
Softuerni Texnologii
Свързани:
empty doc
4.1. Основни понятия
Под обект се разбира познаваем предмет, елемент или същност (реална
или абстрактна), имащ важно функционално предназначение в разглежданата
приложна област. Всеки обект има състояние, поведение и индивидуалност
Структурата и поведението на сходни обекти определят общ за тях клас. Със-
тоянието на обекта се характеризира с изброяване на всички възможни свойс-
тва на обекта и текущите стойности на тези свойства. Разгаежданите свойства
се наричат атрибути. Всеки атрибут има област на допустимите стойности. С
всеки обект могат да се свържат операции (услуги или методи), които променят
един или няколко атрибута на обекта. Обектът наследява всички атрибути и
операции на класа, към който принадлежи.
Понятието клас е основно за ОО-подход. То обхваща (encapsulate) данни
те и алгоритмите (процедурите), чрез които може да се опише съдържанието
поведението на „нещо" от реалния свят. Класът може да се разглежда като обоб
щено описание на съвкупност от подобни обекти.
Обектите в класа наследяват неговите атрибути и операции. Суперклас е
съвкупност от класове, а подклас е екземпляр на клас. Съществува йерархия|
на класовете, като подкласовете наследяват атрибутите и операциите на cynep-
класа, но могат да имат и специфични за тях атрибути и операции.
Взаимодействието между обекти се осъществява чрез съобщения
(messages). Съобщението предизвиква реакция и промяна в поведението на обек
та получател. Той изпълнява посочената в съобщението операция и връща уп-
48
4.2. Обектно ориентиран анализ и проектиране
Целта на обектно ориентирания анализ (OOA) е създаването на модел,
представящ статичните и динамични характеристики на класовете и взаимоот-
ношенията между тях. Създадени са различни методи за OOA, използващи раз-
лични съвкупности от диаграми и означения, но преминаващи през едни и същи
стъпки, обобщени в [1], както следва:

  1. Изясняване на потребителските изисквания за системата.

  2. Идентифициране на потребителските сценарии (use-cases).

  3. Избор на класовете и обектите въз основа на формулираните изисква-
    ния.

  4. Идентифициране на атрибутите и операциите за всеки обект.

  5. Дефиниране на структурите и йерархиите на класовете.

  6. Построяване на модел, описващ обектите и връзките между тях (object-
    relationship model).

  7. Построяване на поведенчески модел.

  8. Проверка на ОО аналитични модели за съответствие с потребителските
    сценарии.

Проектирането на ОО-система изисква определянето на многопластова
софтуерна архитектура, специфициране на подсистеми, които изпълняват ис-
каните функции, описание на обектите (класовете), които са изграждащите бло-
кове на системата, и описание на механизмите на комуникация, реализиращи
потока на данните между слоевете, подсистемите и обектите.
49

ОО-проектиране се извършва на две нива, съответстващи на външното и
детайлното проектиране при конвенционалния подход — проектиране на сис-
темата и проектиране на обектите.
При проектирането на системата се определя архитектурата на OO-
приложение. Създаденият аналитичен модел се декомпозира на подсистеми, ка-
то се описва предназначението на всяка подсистема и връзките между тях. Про-
ектират се още потребителският интерфейс и логическата организация на дан-
ните (т. нар. компонента за управление на данните).
При проектирането на обектите за всеки обект (екземпляр на клас или
подклас) се съставя интерфейсно описание и описание на реализацията [2].
Интерфейсното (протоколно) описание определя всички съобщения, получавани
от обекта, и съответните операции, които обектът извършва при получаване на
съобщенията. Описанието на реализацията (implementation description) специ-
фицира свързаните с обекта структури данни и алгоритмите за всяка операция.
За стандартизирано описание на моделите в обектно ориентираното раз-
работване на софтуер е създаден т. нар. Unified Modeling Language (UML) [3].
Основните части на UML са:
а) Представяния. Моделирането на сложните реални системи изисква
описването на различни техни аспекти — функционални, нефункционални, ор-
ганизационни и др. Така системата има няколко представяния от различна глед-
на точка, като всяко представяне е проекция на цялостното описание на систе-
мата в съответствие с избран аспект (ракурс). Поддържаните от езика UML
представяния са:

  • потребителско (use-case view) — това представяне показва функцио-
    налността на системата от гледна точка на потребителите й;

  • логическо — това представяне показва как функционалността е проек-
    тирана за вграждане в системата — в термините на статичната структура на
    системата и динамичното й поведение;

  • компонентно — показващо организацията на програмните компонети;

  • конкурентно — описващо комуникационните и синхронизационни проб-
    леми в конкурентните системи;

  • обвързващо (deployment view) — това представяне описва разполага-
    нето на системата в конкретна компютърна среда.

б) Диаграми. Диаграмите са графи, описващи съдържанието на различни-
те представяния. Езикът UML има девет различни типа диаграми (use-case dia-
gram, class diagram, object diagram, state diagram, sequence diagram, collabo-
ration diagram, activity diagram, component diagram and deployment diagram),
чрез съчетаването на които се описват всички представяния на системата.
в) Елементи на модела. Използваните в диаграмите концептуални обекти
се наричат елементи на модела. Те представят основните обектно ориентирани
елементи като клас, обект, съобщение и връзките между тях. Всеки елемент на
модела може да се използва в различни диаграми, но смисълът и означението му
не се променят.
г) Общи механизми. Те осигуряват допълнителна информация за семанти-
ката на елементите на модела или как да се разшири моделът за специфични
процеси, системи или организации.
Езикът UML може да се използва за моделиране във всички фази на разра-
ботването и за всякакви софтуерни системи. Използването му се подпомага от
50
инструментални средства (индивидуални или интегрирани), които изчертават ди-
аграмите, съхраняват информацията за всички модели и представянията им, оси-
гуряват многопотребителска работа и дори могат да генерират автоматично код.


Сподели с приятели:
1   ...   14   15   16   17   18   19   20   21   ...   106




©obuch.info 2024
отнасят до администрацията

    Начална страница