Объектно-ориентированный подход к анализу и проектированию информационной системы. Унифицированный язык моделирования UML.
В основе ООП лежит объектная декомпозиция, статическая структура системы описывается в терминах объектов и связей между ними, а поведение системы описывается в терминах обмена сообщениями между объектами. Каждый объект системы обладает своим собственным поведением, моделирующим поведение объекта реального мира. Проблемы, стимулировавшие развитие ООП: 1) Повышения производит-ти разработки за счет многократного использования ПО; 2)необходимость упрощения сопровождения и модификации разработанных систем; 3)облегчение проектирования систем. Основой ООП является объектная модель. Основными принципами ее построения являются: 1)абстрагирование; 2)инкапсуляция; 3)модульность; 4)иерархия. Абстрагирование - это выделение важных, существенных характеристик объекта, которые отличают его от других видов объектов и определяют его концептуальные границы с точки зрения дальнейшего рассмотрения и анализа, и игнорирование незначительных деталей. Аб-е позволяет управлять сложностью системы, концентрируясь на существенных свойствах объекта. Аб-е концентрирует внимание на внешних особенностях объекта и определяет самые существенные особенности его поведения от деталей их реализации. Выбор правильного набора абстракций для заданной предметной области представляет собой главную задачу ООП. Инкапсуляция - физическая локализация свойств и поведения в рамках единственной абстракции, скрывающая их реализацию за общедоступным интерфейсом. Это процесс отделения друг от друга отдельных элементов объекта, определяющих его устройство и поведение. Инк-я служит для изолирования интерфейса объекта, отражающего его внешнее поведение, от внутренней реализации объекта. Объектный подход предполагает, что собств-е ресурсы, кот-ми могут манипулировать только операции самого объекта, скрыты от внешней среды. Модульность - это св-во системы, связанное с возможностью ее декомпозиции на ряд внутренне сцепленных, но слабо связанных между собой подсистем (модулей). Мод-ть снижает сложность системы, позволяя выполнять независимую разработку отд. модулей. Инкапсуляция и мод-ть создают барьеры между абстракциями. Иерархия - это упорядоченная система абстракций, расположение их по уровням. Основными видами иерархических структур применительно к сложным системам являются структура классов и структура объектов. Основные понятия: Объект(осязаемая сущность) - предмет или явление, имеющие четко определяемое поведение. Объект может представлять собой абстракцию некоторой сущности предметной области или программной сис-мы. Объекты так же обладает состоянием. Состояние объекта - одно из возможных условий, в которых он может существовать, оно изменяется со временем. Характеризуется перечнем всех возможных свойств данного объекта и текущими значениями каждого из этих свойств. Состояние объекта определяется значениями его свойств и связями с другими объектами. Поведение - определяет действия объекта и его реакцию на запросы от других объектов. Поведение характеризует воздействие объекта на другие объекты, изменяющее их состояние. Поведение объекта полностью определяется его действиями. Класс - это множество объектов, связанных общностью свойств, поведения, связей и семантики. Класс объединяет в себе данные (атрибуты) и поведение (операции). Класс является абстрактным определением объекта и служит в качестве шаблона для создания объектов. Любой объект является экземпляром класса. Атрибут - поименованное свойство класса, определяющее диапазон допустимых значений, которые могут принимать экземпляры данного свойства. Это элемент информации, связанный с классом. +Public (общий, открытый). Это значение видимости предполагает, что атрибут будет виден всеми остальными классами. -Private (закрытый, секретный). Соответствующий атрибут не виден никаким другим классом. #Protected (защищенный). Доступен только самому классу и его потомкам в иерархии наследования. Определенное воздействие одного объекта на другой с целью вызвать соответствующую реакцию называется операцией. Операция - это реализация услуги, которую можно запросить у любого объекта данного класса. Операции отражают поведение объекта. Результат операции зависит от текущего состояния объекта. Полиморфизм - это способность скрывать множество различных реализаций под единственным общим интерфейсом. Интерфейс - совокупность операций, определяющих набор услуг класса или компонента. Не определяет внутреннюю структуру, все его операции имеют открытую видимость. Полиморфизм тесно связан с наследованием. Наследование-построение новых классов на основе существующих с возможностью добавления или пере определения атрибутов и операций. Компонент - относительно независимая и замещаемая часть системы, выполняющая четко определенную функцию в контексте заданной архитектуры. Между элементами объектной модели существуют различные виды связей. К основным типам связей относятся связи ассоциации, зависимости и обобщения. Ассоциация - это семантическая связь между классами. Ассоциация отражает структурные связи между объектами различных классов. Агрегация - представляет собой форму ассоциации - более сильный тип связи между целым объектом и его частями. Композиция – составной объект может физически содержать компонентные объекты. Обобщение – связь «тип - подтип» реализует механизм наследования. Зависимость– один объект зависит от другого. Мощность связи показывает сколько объектов участвует в связи. Унифицированный язык моделирования UML – язык для определения, представления, проектирования и документирования ПО. Структурные модели: 1)диаграммы классов (class diagrams) - для моделирования статической структуры классов системы и связей между ними; 2)диаграммы компонентов (component diagrams) - для моделирования иерархии компонентов (подсистем) системы; 3) диаграммы размещения (deployrnent diagrams) - для моделирования физической архитектуры системы. Модели поведения: 1) диаграммы вариантов использования (use case diagrams) - для моделирования бизнес-процессов и функциональных требований к создаваемой системе; 2) диаграммы взаимодействия (interaction diagrams): диаграммы последовательности (sequence diagrams) и кооперативные диаграммы (collaboratiol1 diagrams) - для моделирования процесса обмена сообщениями между объектами; 3) диаграммы состояний (statechart diagrams) - для моделирования поведения объектов системы при переходе из одного состояния в другое; 4) диаграммы деятельности (activity diagrams) - для моделирования поведения системы в рамках различных вариантов использования, или потоков управления. Логическая модель (описание системы). Диаграммы: 1) прецедентов; 2) классов; 3) последовательностей;4) состояний. Физическая модель (реализация системы). Диаграммы: 1) классов; 2) компонентов; 3) развертывания. Вариант использования - последовательность действий (транзакций), выполняемых системой в ответ на событие, инициируемое некоторым внешним объектом (действующим лицом). Вариант использования описывает типичное взаимодействие между пользователем и системой и отражает представление о поведении системы с точки зрения пользователя. Действующее лицо (actor) - это роль, которую пользователь играет по отношению к системе. Действующие лица (пользователи системы, внешние системы, время) представляют собой роли, а не конкретных людей или наименования работ. ©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|