- •Использование системного подхода при проектировании программного обеспечения
- •Основные проблемы разработки и проектирования по и методы их преодоления
- •Понятие жизненного цикла по и его роль в проектировании информационных систем
- •Понятие модели жц в проектировании информационных систем, терминология моделей жц
- •Основные модели жц и рекомендации по их использованию
- •Преимущества и недостатки использования каскадной модели жц
- •Преимущества и недостатки использования эволюционной модели жц
- •Сравнение эволюционной и итерационной моделей жц
- •Понятие архитектуры программного обеспечения и причины возникновения такого понятия в рамках процесса создания информационных систем
- •Понятие "сложности" в современном проектировании информационных и способы её преодоления
- •Использование принципа декомпозиции в процессе проектирования информационных систем
- •Принципы объектно-ориентированного подхода к проектированию информационных систем
- •Основные понятия объектно-ориентированного подхода к проектированию информационных систем
- •Понятие соединения между элементами объектной модели и различные виды соединений
- •Понятие гибкого моделирования, манифест и основные принципы гибкого процесса проектирования
- •Понятие гибкого унифицированного процесса проектирования
- •Фазы и дисциплины унифицированного процесса проектирования, распределение работ на различных фазах для основных дисциплин
- •Начальная фаза унифицированного процесса и артефакты, которые могут создаваться на этой фазе процесса проектирования
- •Понятие требования к информационной системе, типы и категории требований
- •Понятие прецедента в процессе моделирования требований к информационной системе, модель прецедентов.
- •Понятие исполнителя в процессе формализации требований к информационной системе
- •Артефакты унифицированного процесса, используемые для описания нефункциональных требований к информационной системе
- •Фаза развития унифицированного процесса и артефакты, которые могут создаваться на этой фазе процесса проектирования
- •Задачи фазы развития унифицированного процесса и планирование итераций на этой фазе проектирования
- •Моделирование предметной области и основные понятия модели предметной области
- •Использование классов описаний и производных атрибутов в процессе моделирования предметной области
- •Понятие системного события и идентификация системных событий
- •Открытый системный интерфейс и описание операций в рамках унифицированного процесса проектирования
- •Проектирование динамической структуры по с использованием uml в рамках объектно-ориентированного подхода
- •Средства uml для выражения полиморфных сообщений в контексте проектирования динамической структуры по
- •Средства uml для выражения асинхронных вызовов в контексте проектирования динамической структуры по
- •Проектирование статической структуры по с использованием uml в рамках объектно-ориентированного подхода
- •Средства uml для представления атрибутов коллекций в контексте проектирования статической структуры по
- •Признаки существования зависимости между классами в контексте проектирования статической структуры по
- •Стадии создания информационной системы в рамках канонического проектирования
- •Обследование и технико-экономическое обоснование проекта
- •Разработка технического задания в соответствии с гост 34.602-89
- •Состав и содержание технического задания (гост 34.602- 89)
- •Состав эскизного и технического проектов
- •Типовое проектирование информационных систем
Понятие архитектуры программного обеспечения и причины возникновения такого понятия в рамках процесса создания информационных систем
Архитектура ПО – набор ключевых правил, определяющих организацию системы:
1. Совокупность структурных элементов системы и связей между ними;
2. Поведение элементов системы в процессе их взаимодействия;
3. Иерархия подсистем, объединяющих структурные элементы;
4. Архитектурный стиль (типовой способ организации системы).
Архитектура ПО многомерна. Различные представления архитектуры служат различным целям
(модель «4+1»):
представление вариантов использования отображает функциональные возможности использования ПО ( содержит сценарии взаимодействия системы с внешней средой и роли,
играемые пользователями ПО и внешними системами);
логическое представление отображает логическую организацию ПО (пакеты, подсистемы, классы, связи между ними);
представление реализации - отображает физическую структуру, то есть набор программных компонентов, интерфейсов связи между ними);
представление процессов отображает структуры потоков управления, моделирует аспекты параллельной работы ПО (потоки управления, нити);
представление размещения описывает физическое размещение компонента ПО , например на узлах вычислительной системы (узлы вычислительной системы, устройства, линии коммуникации).
Понятие "сложности" в современном проектировании информационных и способы её преодоления
Одна из основных проблем создания больших систем это проблема сложности. В современном
проектировании ИС различают 2 вида сложности:
Техническая.
Сложность управления.
Техническая сложность вызывается:
Структурная сложность. Количество элементов и сложностью взаимосвязи между ними.
Техническая сложность может быть вызвана отсутствие полных аналогов, что ограничивает возможность использования типовых проектных решений.
Необходимость интеграции существующих и вновь разрабатываемых решений.
Функционирование в неоднородной среде, например на нескольких аппаратных платформах;
Высокими требованиями к надежности и производительности
Сложность управления порождается следующими причинами:
Сильное воздействие внешней среды (политика, экономическая ситуация, контракты, много заинтересованных лиц, противоречивые требования);
большой коллектив разработчиков (много различных проектов и продуктов).
разобщенность и разнородность отдельных групп разработчиков по уровню квалификации и традициям использования инструментальных средств;
значительная временная протяженность проекта.
Основным подходом к преодолению сложности в современном проектировании является принцип
декомпозиции. То есть сложная программная система должна быть разделена на небольшие
подсистемы, каждую из которых можно разрабатывать независимо (в какой-то степени) от
других.
Использование принципа декомпозиции в процессе проектирования информационных систем
Основным подходом к преодолению сложности в современном проектировании является принцип
декомпозиции. Тоесть сложная программная система должна быть разделена на небольшие
подсистемы, каждую из которых можно разрабатывать независимо (в какой-то степени) от
других.
Существуют два основных принципа декомпозиции:
1. Количество связей между подсистемами должно быть минимальным («низкая
связанность» или «слабое зацепление» – Low Coupling);
2. Степень взаимодействия внутри каждой подсистемы должна быть максимальной («сильная
связность» или «высокая прочность» – High Cohesion).
При разбиении системы на подсистемы необходимо добиться выполнения следующих условий:
1. Каждая подсистема должна инкапсулировать свое содержимое (скрывать его от других
подсистем);
2. Каждая подсистема должна иметь четко определенный интерфейс с другими
подсистемами, устанавливающий стандартные ограничения на взаимодействие.
Существуют два основных подхода к декомпозиции систем:
1. функционально-модульный подход, основывается на функциональной декомпозиции, при
которой структура системы описывается в терминах иерархии ее функций и иерархии
структур данных;
2. объектно-ориентированный, использующий объектную декомпозицию, то есть структура
системы описывается в терминах объектов и связей между ними, а поведение системы
описывается в терминах обмена сообщениями между объектами.
Подходы имеют много общего. Достоинством второго подхода является то, что есть единая
иерархия, и нет необходимости отслеживать соответствие между двумя иерархиями
функционально- модульного подхода.
Проектирование архитектуры информационной системы в соответствии с моделью представлений "4+1", понятие модели ПО
Архитектура ПО многомерна. Различные представления архитектуры служат различным целям
(модель «4+1»):
представление вариантов использования отображает функциональные возможности использования ПО ( содержит сценарии взаимодействия системы с внешней средой и роли,
играемые пользователями ПО и внешними системами);
логическое представление отображает логическую организацию ПО (пакеты, подсистемы, классы, связи между ними);
представление реализации - отображает физическую структуру, то есть набор программных компонентов, интерфейсов связи между ними);
представление процессов отображает структуры потоков управления, моделирует аспекты параллельной работы ПО (потоки управления, нити);
представление размещения описывает физическое размещение компонента ПО , например на узлах вычислительной системы (узлы вычислительной системы, устройства, линии коммуникации).
Каждое архитектурное представление – это модель системы с определенной точки зрения, в
которой отражены лишь существенные аспекты и опущено все, что несущественно при данном
взгляде на систему.
Модель ПО – это формализованное описание системы ПО на определенном уровне абстракции.
Для облегчения труда разработчиков и автоматизированного выполнения некоторых рутинных
действий используются CASE-средства (Computer Aided Software Engineering). В настоящее время
CASE-средства обеспечивают поддержку большинства процессов жизненного цикла ПО, что
позволяет говорить о CASE-технологиях разработки ПО. CASE-технология – это совокупность
методов проектирования ПО и инструментальных средств для моделирования предметной
области, анализа моделей на всех стадиях жизненного цикла ПО и разработки ПО.