Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
06.02.12.docx
Скачиваний:
12
Добавлен:
01.05.2025
Размер:
26 Кб
Скачать
☆

Проектирование программного обеспечения

Проектирование ПО

Процесс определения архитектуры, компонентов, интерфейсов и других характеристик системы или её компонентов называется проектированием. Результат процесса проектирования – дизайн(software) либо проект.

Проектирование, как процесс это инженерная деятельность в рамках жизненного цикла ПО, в которой анализируются требования для создания описания внутренней структуры ПО.

Результат проектирования

Проектирования программных систем можно рассматривать как деятельность результат которой состоит из двух составных систем.

- Архитектурный или высокоуровневый дизайн (software architectural design, top-level design) – описание высокоуровневой структуры и организации компонентов системы.

- Детализированная архитектура (software)

Процесс проектирования

- Архитектурное проектирование

- Детализация архитектуры

Принцип проектирования

- Абстракция

- Связанность и соединение

- Декомпозиция и разбиение на модули

- Инкапсуляция/сокрытие информации

- Разделение интерфейса и реализации

- Достаточность, полнота и простота

Модульное программирование

Обычно при разработке программного средства, подразумевается, что программная система будет большой и сложной. Соответственно необходимо будет принимать меры по её упрощению. Для этого любое программное средство пытаются разделить на логические части и разрабатывать каждую из этих частей по отдельности. Такие части называются программными модулями, а процесс – модульным программированием.

Программный модуль – это любой фрагмент описания некоего процесса, оформляемый как самостоятельный программный продукт.

Любой программный модуль проектируется, конструируется и тестируется отдельно от других модулей программы. Так же условия использования каждого модуля обычно отдельно документируется. В связи с этим любой подобный программный модуль не зависит от других модулей программы и может использоваться в различных программных продуктов.

Для того чтобы модуль удовлетворял всем условиям, для него определены некоторые важные характеристики:

  1. Хороший модуль снаружи проще, чем внутри.

  2. Хороший модуль проще использовать, чем построить.

По другой классификации предлагаются ещё 4 характеристики это: размер модуля, прочность модуля, сцепление с другими модулями и рутинность модуля (независимость от истории обращения к нему).

Размер модуля определяется количеством операторов входящих в его состав. Модуль не должен быть слишком маленьким или слишком большим. Большие модули не удобны для изучения и изменения, а из маленьких получается слишком громоздкая структура.

Прочность модуля – мера его внутренних связей. Чем выше прочность модуля, тем больше связей он может спрятать от внешней по отношению к нему части программы. Тем самым сделав программу проще.

Функционально прочный модуль – это модуль, который реализует одну какую-то определённую функцию. При этом он так же может использовать другие модули.

Информационно прочный модуль – это модуль, который может реализовать несколько функций, но на одной и той же структуре данных (информационный объект).

Сцепление модуля – это мера зависимости модуля, по данным, от других модулей. Худшим вариантом является такое сцепление, когда в одном модуле стоит ссылка на данные содержащиеся внутри другого модуля. Лучшим вариантом является, когда данные передаются при обращений к модулю, в виде различных параметров, или как результат выполнения какой-то функции.

Рутинность модуля – это независимость работы модуля от предыстории обращения к нему.