Учебно-методический комплекс дисциплины


НазваниеУчебно-методический комплекс дисциплины
страница7/16
ТипУчебно-методический комплекс
filling-form.ru > Бланки > Учебно-методический комплекс
1   2   3   4   5   6   7   8   9   10   ...   16
Тема: «Понятие методологии проектирования ПО»

Основные вопросы:

1. Общие сведения о методологии проектирования

2. Общие сведения о структурном подходе к проектированию ПО

3. Общие сведения об объектно-ориентированном подходе к проектированию ПО
1. Общие сведения о методологии проектирования

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

Как правило, методология выражается в некотором методическом подходе к процессу проектирования ПО и представляет собой совокупность методов и средств, используемых проектировщиками в работе. Выбор того или иного подхода является следствием решения проблемы сложности реальной автоматизируемой системы, для которой проектируется ЭПК.

Проблема сложности является главной проблемой, которую приходится решать при создании больших и сложных систем любой природы, в том числе и ЭПК. Ни один разработчик не в состоянии выйти за пределы человеческих возможностей и понять всю систему в целом. Единственный эффективный подход к решению этой проблемы, который выработало человечество за всю свою историю, заключается в построении сложной системы из небольшого количества крупных частей, каждая из которых, в свою очередь, строится из частей меньшего размера и т.д. до тех пор, пока самые небольшие части можно будет строить из имеющегося материала. Этот подход известен под самыми разными названиями. Среди них такие, как «разделяй и властвуй» (divide et impera), иерархическая декомпозиция и пр. По отношению к проектированию сложной программной системы это означает, что ее необходимо разделять (декомпозировать) на небольшие подсистемы, каждую из которых можно разрабатывать независимо от других. Это позволяет при разработке подсистемы любого уровня держать в уме информацию только о ней, а не обо всех остальных частях системы. Правильная декомпозиция является главным способом преодоления сложности разработки больших систем ПО. Понятие «правильная» по отношению к декомпозиции означает следующее:

• количество связей между отдельными подсистемами должно быть минимальным;

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

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

• каждая подсистема должна инкапсулировать свое содержимое (скрывать его от других подсистем);

• каждая подсистема должна иметь четко определенный интерфейс с другими подсистемами.

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

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

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

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

Естественно, в процессе функционального проектирования применяется первый подход.

Организация проектирования предполагает определение методов взаимодействия проектировщиков между собой и с заказчиком
(в процессе создания проекта ЭПК), которые могут также поддерживаться набором специфических средств.

Эти методы проектирования ЭПК можно классифицировать по различным классификационным признакам.

Классификация производится следующим образом.

1. По степени автоматизации методы проектирования разделяются на методы:

• ручного проектирования, при котором проектирование компонентов ЭПК осуществляется без использования специальных инструментальных программных средств, а программирование осуществляется на алгоритмических языках;

• компьютерного проектирования, которое производит генерацию или конфигурацию (настройку) проектных решений на основе использования специальных инструментальных программных средств.

2. По степени использования типовых проектных решений различают следующие методы проектирования:

• оригинального (индивидуального) проектирования, когда проектные решения разрабатываются «с нуля» в соответствии с требованиями к ЭПК;

• типового проектирования, предполагающего конфигурацию ЭПК из готовых типовых проектных решений (программных модулей).

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

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

3. По степени адаптивности проектных решений методы проектирования классифицируются на методы:

• реконструкции, когда адаптация проектных решений выполняется путем переработки соответствующих компонентов (перепрограммирования программных модулей);

• параметризации, когда проектные решения настраиваются (перегенерируются) в соответствии с изменяемыми параметрами;

• реструктуризации модели, когда изменяется модель проблемной области, на основе которой автоматически перегенерируются проектные решения.
2. Общие сведения о структурном подходе к проектированию ПО
Сущность структурного подхода к разработке ПО ЭПК заключается в его декомпозиции (разбиении) на автоматизируемые функции: система разбивается на функциональные подсистемы, которые, в свою очередь, делятся на подфункции, те – на задачи и так далее до конкретных процедур. При этом автоматизируемая система сохраняет целостное представление, в котором все составляющие компоненты взаимоувязаны. При разработке системы «снизу вверх», от отдельных задач ко всей системе целостность теряется, возникают проблемы при описании информационного взаимодействия отдельных компонентов.

Все наиболее распространенные методы структурного подхода базируются на ряде общих принципов.

Базовыми принципами являются:

принцип «разделяй и властвуй» подразумевает именно декомпозицию (разбиение) системы и благодаря этому обретение возможности работы с подсистемами и задачами;

принцип иерархического упорядочения – это принцип организации составных частей системы в иерархические древовидные структуры с добавлением новых деталей на каждом уровне.

Наряду с базовыми принципами в основе проектирования лежат и другие, не менее значимые:

принцип абстрагирования – выделение существенных аспектов системы и отвлечение от несущественных;

принцип непротиворечивости – обоснованность и согласованность элементов системы;

принцип структурирования данных – они должны быть представлены в файловом или табличном виде, удобном для сбора, хранения и обработки.

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

В структурном подходе используются в основном три группы средств, отражающих методологии описания функциональной структуры системы и отношений между данными. Каждая методология для описания системы в процессе проектирования располагает определенными видами моделей (диаграмм).

Наиболее распространенные методологии:

• методология DFD (Data Flow Diagrams) – модель диаграмм потоков данных;

• методология SADT (Structured Analysis and Design Technique) – модель структурного анализа и проектирования, содержащая соответствующие функциональные диаграммы;

• методология ERD (Entity-Relationship Diagrams) – модель диаграмм «сущность-связь».

Для всех указанных диаграмм существуют удобные CASE-средства, которые используются в процессе проектирования.

Конкретный вид перечисленных диаграмм и интерпретация их конструкций зависят от стадии ЖЦ ПО.

Так, на стадии формирования требований к ПО DFD используются для построения модели «AS-IS» и модели «ТО-ВЕ», отражая, таким образом, существующую и предлагаемую структуру бизнес-процессов организации и взаимодействие между ними. С помощью ERD на данном этапе выполняется описание используемых в организации данных на концептуальном уровне, не зависимом от средств реализации базы данных (СУБД).

На стадии проектирования используются SADT-модели, т.к. они подготавливают функциональную структуру предприятия к этапу реализации, т.е. к написанию кода программы. Также на этой стадии используются DFD для описания структуры данных проектируемой системы ПО. Эти диаграммы могут уточняться, расширяться и дополняться новыми конструкциями. Аналогично ERD уточняются и дополняются новыми конструкциями, описывающими представление данных на логическом уровне, пригодном для последующей генерации схемы базы данных.

Данные модели могут дополняться диаграммами, отражающими системную архитектуру ПО, структурные схемы программ, иерархию экранных форм и меню и др.

Перечисленные модели в совокупности дают полное описание ПО ЭПК независимо от того, является ли система существующей или вновь разрабатываемой. Состав диаграмм в каждом конкретном случае зависит от сложности системы и необходимой полноты ее описания. Примером предметной области для таких диаграмм может служить налоговая система РФ, наиболее полное описание которой содержится в Налоговом кодексе РФ.
3. Общие сведения об объектно-ориентированном подходе к проектированию ПО
Следует отметить, что объектно-ориентированный подход к проектированию ПО не является предметом данного курса («Функциональное проектирование ПО»). Однако читателю, изучающему подходы к процессу проектирования, следует иметь общее представление о нем, о его отличиях от структурного подхода. Этим знанием будущие проектировщики обозначат сферу применения подходов, их возможности и назначение. Далее в данном учебном пособии этот подход рассматриваться не будет.

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

Понятие «объект» впервые было использовано в 80-х гг. прошлого века в технических средствах при попытках отойти от традиционной архитектуры фон Неймана и преодолеть барьер между высоким уровнем программных абстракций и низким уровнем абстрагирования на уровне компьютеров. С объектно-ориентированной архитектурой также тесно связаны объектно-ориентированные операционные системы. Однако наиболее значительный вклад в объектный подход был внесен объектными и объектно-ориентированными языками программирования: Simula, Smalltalk, C++, Object Pascal. На объектный подход оказали влияние также развивавшиеся достаточно независимо методы моделирования баз данных, в особенности подход «сущность-связь».

Концептуальной основой объектно-ориентированного подхода является объектная модель. Основными ее характеристиками являются

абстрагирование (abstraction);

инкапсуляция (encapsulation);

модульность (modularity);

иерархия (hierarchy).

Кроме основных имеются еще три дополнительных характеристики, не являющихся, в отличие от основных, строго обязательными:

типизация (typing);

параллелизм (concurrency);

устойчивость (persistence).

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

Инкапсуляция – это процесс отделения друг от друга отдельных объектов. Объекты отличаются друг от друга устройством и поведением. Инкапсуляция служит для того, чтобы изолировать интерфейс объекта, отражающий его внешнее поведение, и его внутреннюю реализацию от таких же проявлений других объектов. Объектный подход предполагает, что собственные ресурсы, которыми могут манипулировать только методы самого класса, скрыты от внешней среды. Абстрагирование и инкапсуляция являются взаимодополняющими операциями: абстрагирование фокусирует внимание на внешних особенностях объекта, а инкапсуляция (или, иначе, ограничение доступа) не позволяет объектам-пользователям различать внутреннее устройство объекта.

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

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

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

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

Устойчивость – свойство объекта существовать во времени (вне зависимости от процесса, породившего данный объект) и/или в пространстве (при перемещении объекта из адресного пространства, в котором он был создан).

Основные понятия объектно-ориентированного подхода – объект и класс.

Объект определяется как осязаемая реальность (tangible entity) – предмет или явление, имеющие четко определяемое поведение. Объект обладает состоянием, поведением и индивидуальностью, структура и поведение схожих объектов определяют общий для них класс. Термины «экземпляр класса» и «объект» являются эквивалентными. Состояние объекта характеризуется перечнем всех возможных (статических) свойств данного объекта и текущими значениями (динамическими) каждого из этих свойств. Поведение характеризует воздействие объекта на другие объекты и наоборот относительно изменения состояния этих объектов и передачи сообщений. Иначе говоря, поведение объекта полностью определяется его действиями. Индивидуальность – это свойства объекта, отличающие его от всех других объектов. Определенное воздействие одного объекта на другой с целью вызвать соответствующую реакцию называется операцией. Как правило, в объектных и объектно-ориентированных языках операции, выполняемые над данным объектом, называются методами и являются составной частью определения класса.

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

Следующую группу важных понятий объектного подхода составляют наследование и полиморфизм. Понятие полиморфизма может быть интерпретировано как способность класса принадлежать более чем одному типу. Наследование означает построение новых классов на основе существующих с возможностью добавления или переопределения данных и методов.

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

Важным качеством объектного подхода является согласованность моделей деятельности организации и моделей проектируемой системы от стадии формирования требований до стадии реализации. Требование согласованности моделей выполняется благодаря возможности применения абстрагирования, модульности, полиморфизма на всех стадиях разработки. Модели ранних стадий могут быть непосредственно подвергнуты сравнению с моделями реализации. По объектным моделям может быть прослежено отображение реальных сущностей моделируемой предметной области (организации) в объектах и классах информационной системы.
Лекция 6 (4 часа)

1   2   3   4   5   6   7   8   9   10   ...   16

Похожие:

Учебно-методический комплекс дисциплины iconУчебно-методический комплекс дисциплины «Учет на предприятиях малого бизнеса»
Учебно-методический комплекс составлен в соответствии с требованиями государственного образовательного стандарта высшего профессионального...

Учебно-методический комплекс дисциплины iconУчебно-методический комплекс дисциплины «Торговый маркетинг»
Учебно-методический комплекс дисциплины составлен в соответствии с требованиями государственного образовательного стандарта высшего...

Учебно-методический комплекс дисциплины iconУчебно-методический комплекс дисциплины «антикризисное управление»
Учебно-методический комплекс дисциплины составлен в соответствии с требованиями государственного образовательного стандарта высшего...

Учебно-методический комплекс дисциплины iconУчебно-методический комплекс дисциплины «Бухгалтерский учет и аудит»
Учебно-методический комплекс дисциплины составлен в соответствии с требованиями государственного образовательного стандарта высшего...

Учебно-методический комплекс дисциплины iconУчебно-методический комплекс дисциплины «хозяйственное право»
Учебно-методический комплекс дисциплины составлен в соответствии с требованиями государственного образовательного стандарта высшего...

Учебно-методический комплекс дисциплины iconУчебно-методический комплекс дисциплины «Деловой иностранный язык»
Учебно-методический комплекс дисциплины составлен в соответствии с требованиями государственного образовательного стандарта высшего...

Учебно-методический комплекс дисциплины iconУчебно-методический комплекс дисциплины «Практическая социология»
Учебно-методический комплекс дисциплины составлен в соответствии с требованиями государственного образовательного стандарта высшего...

Учебно-методический комплекс дисциплины iconУчебно-методический комплекс дисциплины «Организация и технология продаж»
Учебно-методический комплекс дисциплины составлен в соответствии с требованиями государственного образовательного стандарта высшего...

Учебно-методический комплекс дисциплины iconУчебно-методический комплекс дисциплины «информационные технологии управления»
Учебно-методический комплекс дисциплины составлен в соответствии с требованиями государственного образовательного стандарта высшего...

Учебно-методический комплекс дисциплины iconУчебно-методический комплекс дисциплины «исследование систем управления»
Учебно-методический комплекс дисциплины составлен в соответствии с требованиями государственного образовательного стандарта высшего...

Вы можете разместить ссылку на наш сайт:


Все бланки и формы на filling-form.ru




При копировании материала укажите ссылку © 2019
контакты
filling-form.ru

Поиск