Занятие 5 - 2часа

 

Содержит следующие главы::

- Методология проектирования программного продукта

- Структурное проектирование и программирование

- Объектно- ориентированное программирование

 

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

 

После изучения темы вы должны знать следующие вопросы:

- классификация методов и подходов к проектированию программного продукта;

- этапы создания программного продукта;

- техническое задание на программирование;

- работы на этапе технического проекта;

- виды документации на программный продукт;

- понятие о внутренней структуре программного продукта;

- основные методы структурного проектирования алгоритмов и программ:

- особенности различных технологий создания программного продукта;

- основы объектно-ориентированного подхода к проектированию алгоритмов и программ

 

Тема 2.1 Методология проектирования программного продукта

содержит следующие вопросы:

 

1. Классификация методов проектирования программного продукта.

2. Этапы создания программного продукта

3. Структура программного продукта

4. Проектирование интерфейсов пользователя

 

2.1.1 Классификация методов проектирования

 

а) методы проектирования алгоритмов и программ классифицирует по сле-дующим признакам:

· Степень автоматизации проектных работ

· Принятая методология процесса разработки

 

По степени автоматизации проектирования алгоритмов и программ можно выделить:

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

 

- Методы автоматизированного проектирования. Они называются CASE-

технологии и ее элементами.

CASE-технологии – это программный комплекс, весь автоматизированный

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

Автоматизированное проектирование алгоритмов и программ возникло для уменьшения затрат на проектирование чтобы сохранить сроки их выполнения создать типовые “заготовки” алгоритмов и программ.

 

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

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

Типичными методами структурного проектирования являются:

· Нисходящее проектирование, кодирование и тестирование программ

· Структурное проектирование (программирование)

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

Структурный подход использует:

· Диаграммы потоков данных (информационно-технологические схемы) –показывают процессы и информационные потоки между ними с учетом “событий” инициирующих процессы обработки;

· Интегрированную структуру данных предметной области(инфологическая модель, ER-диаграммы)

· Диаграммы декомпозиции- структура декомпозиции целей, функций управления приложений

· Структурные схемы- архитектура программного продукта в виде иерархии взаимосвязанных программных модулей с идентификацией связей между ними, детальная логика обработки данных программных модулей (блок-схемы)

 

в) Большую значимость информационные модели и структуры данных имеют для информационного моделирования предметной области в основе которого положение об определяющей роли данных при проектировании алгоритмов и программ. Подход появился в условиях развития программ-мных средств организации хранения и обработки данных – СУБД.

Информационная инженерия выделяет следующие составляющие данного подхода:

- информационный анализ предметных областей (бизнес-областей);,
-
информационное моделирование - построение комплекса взаимосвязан-ных моделей данных;

-системное проектирование функций обработки данных;

-детальное конструирование процедур обработки данных.

Первоначально строятся информационные модели различных уровней представ-ления:

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

- даталогические модели, ориентированные на среду хранения и обработки данных.

Даталогические модели имеют логический и физический уровни представ-ления. Физический уровень организации хранения данных в памяти компьютера. Логичес­кий уровень данных применительно к СУБД реализован в виде;

-концептуальной модели базы данных - интегрированныеструктуры дан

ных под уп­равлением СУБД;

-внешних моделей данных - подмножество структурданных для реализации

прило­жений.

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

Выбор средств реализации базы данных определяет вид даталогическнхмоделей и, следовательно, алгоритмы преобразования данных. В большинствеслучаев используется реляционное представление данных баш данных и соответствующие реляционные языки Для программирования (манипулирования) обработки данных СУБД и реализации алгорит-.чон обработки (см. гл. 19). Данный подход использован во многих CASE-технологиях.

Объектно-ориентированный подход к проектированию программных продук-тов основан на;

- выделении классов объектов;

- установлении характерных свойств объектов и методов их обработки;

-создании иерархии классов, наследовании свойств объектов и методов их обра-ботки.

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

Объектный подход при разработке алгоритмов и программ предполагает:

-объектно-ориентированный анализ предметной области;

-объектно-ориентированное проектирование.

 

Объектно-ориентированный анализ — анализ предметной области и вы­деление объектов, определение свойств и методов обработки объектов, ус­тановление их взаимосвязей.

Объектно-ориентированное проектированиесоединяет процесс объект­-
ной декомпозиции и представления с использованием моделей данных про­ектируемой системы па логическом и физическом уровнях, в статике и динамике.

 

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

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

Объектно-ориентированная технология разработки программных продуктов объеди­няет данные и процессы в логические сущности — объекты, которые имеют способнос1Ь наследовать характеристики (методы и данные) одного или более объектов,обеспечивая тем самым повторное использование программного кода. Это приводит к значительному уменьшению затрат на создание программных продуктов, повышает эффективность жиз­ненною цикла программныхпродуктов (сокращается длительность фазы разработки).При выполнении программы объекту посылается сообщение, которое инициирует обработку данных объекта.