- •Использование системного подхода при проектировании программного обеспечения
- •Основные проблемы разработки и проектирования по и методы их преодоления
- •Понятие жизненного цикла по и его роль в проектировании информационных систем
- •Понятие модели жц в проектировании информационных систем, терминология моделей жц
- •Основные модели жц и рекомендации по их использованию
- •Преимущества и недостатки использования каскадной модели жц
- •Преимущества и недостатки использования эволюционной модели жц
- •Сравнение эволюционной и итерационной моделей жц
- •Понятие архитектуры программного обеспечения и причины возникновения такого понятия в рамках процесса создания информационных систем
- •Понятие "сложности" в современном проектировании информационных и способы её преодоления
- •Использование принципа декомпозиции в процессе проектирования информационных систем
- •Принципы объектно-ориентированного подхода к проектированию информационных систем
- •Основные понятия объектно-ориентированного подхода к проектированию информационных систем
- •Понятие соединения между элементами объектной модели и различные виды соединений
- •Понятие гибкого моделирования, манифест и основные принципы гибкого процесса проектирования
- •Понятие гибкого унифицированного процесса проектирования
- •Фазы и дисциплины унифицированного процесса проектирования, распределение работ на различных фазах для основных дисциплин
- •Начальная фаза унифицированного процесса и артефакты, которые могут создаваться на этой фазе процесса проектирования
- •Понятие требования к информационной системе, типы и категории требований
- •Понятие прецедента в процессе моделирования требований к информационной системе, модель прецедентов.
- •Понятие исполнителя в процессе формализации требований к информационной системе
- •Артефакты унифицированного процесса, используемые для описания нефункциональных требований к информационной системе
- •Фаза развития унифицированного процесса и артефакты, которые могут создаваться на этой фазе процесса проектирования
- •Задачи фазы развития унифицированного процесса и планирование итераций на этой фазе проектирования
- •Моделирование предметной области и основные понятия модели предметной области
- •Использование классов описаний и производных атрибутов в процессе моделирования предметной области
- •Понятие системного события и идентификация системных событий
- •Открытый системный интерфейс и описание операций в рамках унифицированного процесса проектирования
- •Проектирование динамической структуры по с использованием uml в рамках объектно-ориентированного подхода
- •Средства uml для выражения полиморфных сообщений в контексте проектирования динамической структуры по
- •Средства uml для выражения асинхронных вызовов в контексте проектирования динамической структуры по
- •Проектирование статической структуры по с использованием uml в рамках объектно-ориентированного подхода
- •Средства uml для представления атрибутов коллекций в контексте проектирования статической структуры по
- •Признаки существования зависимости между классами в контексте проектирования статической структуры по
- •Стадии создания информационной системы в рамках канонического проектирования
- •Обследование и технико-экономическое обоснование проекта
- •Разработка технического задания в соответствии с гост 34.602-89
- •Состав и содержание технического задания (гост 34.602- 89)
- •Состав эскизного и технического проектов
- •Типовое проектирование информационных систем
Принципы объектно-ориентированного подхода к проектированию информационных систем
Объектная модель является концептуальной базой объектно-ориентированного подхода (ООП).
В основе ООП, лежит объектная декомпозиция.
Объектная декомпозиция подразумевает описание статической структуры ПО в терминах
объектов и связей между ними и динамическую структуру ПО в терминах обмена сообщениями
между объектами.
Основными принципами объектной модели являются:
1. Абстрагирование
2. Инкапсуляция
3. Модульность
4. Иерархия
Дополнительные принципы:
1. типизация;
2. параллелизм;
3. устойчивость.
Абстрагирование – это выделение наиболее существенных характеристик некоторого объекта,
отличающих его от всех других видов объектов, важных с точки зрения дальнейшего рассмотрения и анализа. Абстракцией является любая модель, включающая наиболее важные, существенные или отличительные характеристики некоторого объекта. Основными абстракциями предметной области являются объекты и классы.
Инкапсуляция – это локализация свойств и поведения в рамках единственной абстракции
(рассматриваемой как «черный ящик»), эта абстракция скрывает реализацию за общедоступным
интерфейсом. При инкапсуляции отделяется внутреннее устройство объекта от его внешнего
поведения. Объектный подход предполагает, что внутренние ресурсы объекта, скрыты от внешней среды. Абстрагирование и инкапсуляция являются взаимодополняющими принципами.
Модульность – это свойство системы, связанное с возможностью ее декомпозиции на ряд
внутренне сильно сцепленных, но слабо связанных между собой подсистем (частей).
Иерархия – ранжированная или упорядоченная система абстракций, расположение их по уровням
в виде древовидной структуры. Элементы, находящиеся на одном уровне иерархии, должны также находиться на одном уровне абстракции. Основными видами иерархических структур сложных систем являются структура классов и структура объектов. Иерархия классов строится по
наследованию, а иерархия объектов – по агрегации.
Тип – точная характеристика некоторой совокупности однородных объектов, включающая структуру и поведение.
Типизация – способ защититься от использования объектов одного класса вместо другого, или, по
крайней мере, управлять таким использованием.
Параллелизм – наличие в системе нескольких потоков управления одновременно. Объект может
быть активен, т. е. может порождать отдельный поток управления, соответственно различные
объекты могут быть активны одновременно.
Устойчивость – способность объекта сохранять свое существование во времени или пространстве (в том числе и адресном).
Основные понятия объектно-ориентированного подхода к проектированию информационных систем
Основным понятиям объектно-ориентированного подхода относятся: объект; класс; атрибут;
операция; полиморфизм; наследование; компонент; пакет; подсистема; связь.
1. Объект – осязаемая сущность (tangible entity) – предмет или явление (процесс), имеющие
четко выраженные границы, индивидуальность и поведение. Любой объект обладает
состоянием, поведением и индивидуальностью. Состояние объекта определяется
значениями его свойств (атрибутов) и связями с другими объектами, оно может меняться
со временем. Поведение определяет действия объекта и его реакцию на запросы от других
объектов. Поведение представляется с помощью набора сообщений. В разных состояниях
реакция может меняться. Индивидуальность – это свойства объекта, отличающие его от
всех других объектов.
2. Структура и поведение схожих объектов определяют общий для них класс. Класс – это
множество объектов, связанных общностью свойств, поведения, связей и семантики.
Любой объект является экземпляром класса.
3. Атрибут – поименованное свойство класса, определяющее диапазон допустимых
значений, которые могут принимать экземпляры данного свойства.
4. Операция – это услуга, которую можно запросить у любого объекта данного класса.
Операции реализуют поведение экземпляров класас
Результат операции зависит от текущего состояния объекта. Виды операций:
a) Операции реализации– реализуют требуемую функциональность.
b) Операции управления -управляют созданием и уничтожением объектов (конструкторы и
деструкторы).
c) Операции доступа – дают доступ к закрытым атрибутам.
d) Вспомогательные операции (как правило закрытые)– служат для реализации операций других
видов.
5. Полиморфизм – способность скрывать множество различных реализаций под
единственным общим именем или интерфейсом. Интерфейс – это совокупность операций,
определяющих набор услуг класса или компонента.
6. Компонент – это относительно независимая и замещаемая часть системы, выполняющая
четко определенную функцию в контексте заданной архитектуры.
7. Пакет – это общий механизм для организации элементов в группы. Кроме того, пакетом
также называется элемент модели, который может включать другие элементы. Каждый
элемент модели может входить только в один пакет. Пакет является средством
организации модели в процессе разработки, повышения ее управляемости и читаемости.
Кроме того в некоторых случаях является единицей конфигурации.
8. Подсистема – это комбинация пакета (может включать другие элементы модели) и класса
(обладает поведением). Подсистема реализует один или более интерфейсов, определяющих ее
поведение. Подсистема используется для представления компонента в процессе проектирования.
Между элементами объектной модели существуют различные виды связей.
9. Соединение (link) – физическая или концептуальная связь между объектами, позволяющая
им взаимодействовать.
Виды соединений:
Ассоциация – связь между классами, описывающая группу однородных по структуре и семантике соединений между экземплярами классов. Соединения являются экземплярами ассоциации точно так же, как соединенные объекты являются экземплярами классов, связанных ассоциацией
Агрегация – более сильный тип ассоциативной связи между целым и его частями.
Композиция – усиленная агрегация, когда часть не может существовать без целого (пример: человек и голова).
Зависимость – связь между двумя элементами модели, при которой изменения в спецификации одного элемента могут повлечь за собой изменения в другом элементе.
Обобщение – это связь «тип – подтип». Оно реализует механизм наследования, позволяет поддерживать полиморфизм.
Наследование – это построение новых классов, на основе существующих с возможностью добавления или переопределения свойств и поведения.
Реализация – связь между контрактом (либо интерфейс, либо вариант использования) и его исполнением (классом, подсистемой, компонентой и т. д.).