4.1. Основни понятия
Под
обект се
разбира познаваем предмет, елемент или същност (реална
или абстрактна), имащ важно функционално предназначение в разглежданата
приложна област. Всеки обект има състояние, поведение и индивидуалност
Структурата и поведението на сходни обекти определят общ за тях
клас. Със-
тоянието на обекта се характеризира с изброяване на всички възможни свойс-
тва на обекта и текущите стойности на тези свойства. Разгаежданите свойства
се наричат
атрибути. Всеки атрибут има област на допустимите стойности. С
всеки обект могат да се свържат
операции (услуги или методи), които променят
един или няколко атрибута на обекта. Обектът
наследява всички атрибути и
операции на класа, към който принадлежи.
Понятието клас е основно за ОО-подход. То обхваща (encapsulate) данни
те и алгоритмите (процедурите), чрез които може да се опише съдържанието
поведението на „нещо" от реалния свят. Класът може да се разглежда като обоб
щено описание на съвкупност от подобни обекти.
Обектите в класа наследяват неговите атрибути и операции.
Суперклас е
съвкупност от класове, а
подклас е екземпляр на клас. Съществува йерархия|
на класовете, като подкласовете наследяват атрибутите и операциите на cynep-
класа, но могат да имат и специфични за тях атрибути и операции.
Взаимодействието между обекти се осъществява чрез
съобщения
(messages). Съобщението предизвиква реакция и промяна в поведението на обек
та получател. Той изпълнява посочената в съобщението операция и връща уп-
48
4.2. Обектно ориентиран анализ и проектиране
Целта на
обектно ориентирания анализ (OOA) е създаването на модел,
представящ статичните и динамични характеристики на класовете и взаимоот-
ношенията между тях. Създадени са различни методи за OOA, използващи раз-
лични съвкупности от диаграми и означения, но преминаващи през едни и същи
стъпки, обобщени в [1], както следва:
Изясняване на потребителските изисквания за системата.
Идентифициране на потребителските сценарии (use-cases).
Избор на класовете и обектите въз основа на формулираните изисква-
ния.
Идентифициране на атрибутите и операциите за всеки обект.
Дефиниране на структурите и йерархиите на класовете.
Построяване на модел, описващ обектите и връзките между тях (object-
relationship model).
Построяване на поведенчески модел.
Проверка на ОО аналитични модели за съответствие с потребителските
сценарии.
Проектирането на ОО-система изисква определянето на многопластова
софтуерна архитектура, специфициране на подсистеми, които изпълняват ис-
каните функции, описание на обектите (класовете), които са изграждащите бло-
кове на системата, и описание на механизмите на комуникация, реализиращи
потока на данните между слоевете, подсистемите и обектите.
49