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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Даталогические модели имеют логический и физический уровни представления.

Физический уровень организации хранения данных в памяти компьютера.

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

 

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

При традиционном не автоматизированном программировании независимо от принятого метода проектирования используемого инструментального выполнения следующей работы:

1 Составление технического задания на программирования –

Это этап анализа, спецификации программ и жизненного цикла программного продукта.

При составлении технического задания требуется:

а) Определить платформу разрабатываемой программы – тип операционной системы;

б) Оценить необходимого сетевого варианта (допустимая номенклатура программного обеспечения сетевой обработки);

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

г) Обосновать целесообразную работу базы данных по управлению СУБД.

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

 

2Технический проект выполняет комплекс наиболее важных работ, а именно:

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

б) Определяется состав общесистемного программного обеспечения, включая базовые средства (операционная система, модуль СУБД, электронные таблицы, пакеты прикладных программ промышленного назначения);

в) Разрабатывается внутренняя структура программного продукта образованная отдельными программными модулями;

г) Осуществляется выбор инструментальных средств разрабатываемого программного модуля.

3 Рабочая документация состоит:

а) Описания применения – общая характеристика программного изделия с указанием сферой его применения, преобразование к базовым программным обеспечением и комплекс технических средств;

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

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

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

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

 

 

Раздел 3. Структурное проектирование и программирование