Вы находитесь на странице: 1из 3

Тема 7: Проектирование программного продукта

Цель – освоить основные понятия проектирования программного продукта


Задание – изучить лекцию и составить таблицу характеристик согласно
контрольным вопросам

Общая характеристика и компоненты проектирования


Этап проектирования предназначен для выработки и детализации модели
разрабатываемой программной системы. Такая модель определяет структуру
программной системы, организацию модулей, интерфейсов и данных,
описание которых необходимо для последующего этапа реализации.
Указанный этап может быть представлен совокупностью компонент
проектирования, для каждой из которых определены набор свойств и связи с
другими компонентами.
Компонентой проектирования является элемент проектирования,
полученный в результате декомпозиции требований заказчика к ПП.
Компоненты проектирования могут быть системами, подсистемами,
модулями, элементами данных, процессами и т.п.
Все они обладают общими характеристиками, называемыми атрибутами
компонент. Для компонент проектирования могут быть определены
следующие атрибуты:
Название компоненты - ее уникальное имя;
Тип компоненты - ее сущность (подсистема, процедура, процесс, элемент
данных и тд.);
Функция- выполняемые компонентой действия;
Зависимости- описание взаимосвязей с другими компонентами;
Интерфейсы- описание методов взаимодействия с другими компонентами;
Ресурсы-описание необходимой аппаратной , библиотечной или другой
поддержки;
Обработка – описание алгоритма выполнения функции;
Данные- описание внутренних структур данных.
Перечень необходимых компонент, их названия и назначения
определяются в зависимости от выбранного способа построения модели ПП
и, в первую очередь, от выбранной методики программирования (например,
структурное программирование или объектно-ориентированное). Каждая из
этих методик имеет свои способы построения модели ПП.
Результаты проектирования представляются в виде описания компонент
проектирования по определенному набору атрибутов.
Структурное программирование
Появление первых ЭВМ ознаменовало новый этап в развитии техники
вычислений. Возникла идея, что достаточно разработать последовательность
элементарных действий, каждое из которых преобразовать в понятные ЭВМ
инструкции, и любая вычислительная задача может быть решена. Этот
подход оказался настолько жизнеспособным, что долгое время доминировал
над всеми другими в процессе разработки программ. Появились специальные
языки программирования, которые позволили преобразовывать отдельные
вычислительные операции в соответствующий программный код.
Основой данной методологии разработки программ стала процедурная или
алгоритмическая организация структуры программного кода.
Со временем разработка больших программ превратилось в серьезную
проблему о потребовала их разбиения на более мелкие фрагменты. Основой
для такого разбиения стала процедурная декомпозиция, при которой
отдельные части программы, или модули, представляли собой совокупность
процедур для решения некоторой совокупности задач. Главная особенность
процедурного программирования заключается в том, что программа всегда
имеет начало во времени, или начальную процедуру (начальный блок), и
окончание (конечный блок). При этом вся программа может быть
представлена визуально в виде направленной последовательности
графических примитивов, или блоков.
Объектно – ориентированное проектирование
Основными понятиями объектно- ориентированного подхода являются
объект и класс.
Объект определяется как осязаемая реальность т.е. предмет или явление,
имеющие четко определяемое поведение. Объект характеризуется
состоянием, поведением и индивидуальностью; структура и поведение
схожих объектов определяют общий для них класс. Термины «экземпляр
класса» и «объект» являются эквивалентными. Состояние объекта
характеризуется перечнем всех возможных (статических) свойств данного
объекта и текущими (динамическими) значениями каждого из этих свойств.
Класс- это множество объектов, связанных общностью структуры и
поведения. Любой объект является экземпляром класса.
Концептуальной основой объектно-ориентированного подхода служит
объектная модель. Основными ее элементами являются:
Абстрагирование- это выделение существенных характеристик
некоторого объекта, которые отличают его от всех других видов объектов и ,
таким образом четко определяют концептуальные границы для дальнейшего
рассмотрения и анализа. Абстрагирование концентрирует внимание на
внешних особенностях объекта и позволяет отделить самые существенные
особенности его поведения от деталей их реализации. Выбор правильного
набора абстракций для заданной предметной области представляет собой
главную задачу объектно-ориентированного проектирования.
Инкапсуляция – это процесс отделения друг от друга отдельных
элементов объекта, определяющих его устройство и поведение.
Абстрагирование и инкапсуляция являются взаимодополняющими
операциями; абстрагирование фокусирует внимание на внешних
особенностях объекта, а инкапсуляция не позволяет объектам- пользователям
видеть внутреннее устройство объекта.
Модульность-это свойство системы, обусловленное возможностью его
декомпозиции на ряд внутренне связанных, но слабо объединнех между
собой модулей. Инкапсуляция и модульность создают барьеры между
абстракциями.
Иерархия- это ранжированная, или упорядоченная система абстракций,
расположение их по уровням.
Кроме основных имеются еще три дополнительных элемента:
Типизация-это ограничение, накладываемое на класс объектов и
препятствующее взаимозаменяемости различных классов.
Параллелизм – это свойство объектов находиться в активном или
пассивном состоянии и различать активные и пассивные объекты.
Устойчивость- это свойство объекта существовать во времени
(независимо от процесса, породившего данный объект) и/или в пространстве
(при перемещении объекта из адресного пространства, в котором он был
создан).
Важным качеством объектно-ориентированного подхода является
согласованность моделей деятельности организации и моделей
проектируемой системы, начиная со стадии формировании требований и до
стадии реализации.
Контрольные вопросы:
1. Для чего предназначен этап проектирования?
2. Что определяет модель проектирования ПП?
3. Что является компонентой проектирования?
4. Назовите атрибуты для компонент проектирования?
5. В каком виде представляются результаты проектирования?
6. Что является основой структурного программирования?
7. Что является основными понятиями объекто-ориентированного
подхода?
8. Основные элементы концептуальной основой объекто-
ориентированного подхода?
9. Назовите понятию «Абстрагирование»
10. Понятие инкапсуляции?
11. Что такое модульность?
12. Назовите понятие иерархия?
13. Назовите и опишите дополнительные элементы концептуальной
основой объектно-ориентированного подхода?

Вам также может понравиться