Тема 2.2. Этапы создания программного продукта.
Классификация методов проектирования
а) методы проектирования алгоритмов и программ классифицируют по следующим признакам:
· Степень автоматизации проектных работ
· Принятая методология процесса разработки
По степени автоматизации проектирования алгоритмов и программ можно выделить:
Методы традиционного( неавтоматизированного) проектирования преимущественно используется при разработке небольших по трудоемкости и структурной сложности программных продуктов. Трудоемкость разрабатываемых программных продуктов, небольшая, а программные продукты имеют преимущественно прикладной характер.
Методы автоматизированного проектирования. Они называются CASE- технологии и ее элементами.
CASE-технологии – это программный комплекс, весь автоматизированный технологией процесса анализа, проектирования, разработки и сопровождения сложных программных систем.
Автоматизированное проектирование алгоритмов и программ возникло для уменьшения затрат на проектирование чтобы сохранить сроки их выполнения создать типовые “заготовки” алгоритмов и программ.
б) Проектирование алгоритмов и программ может основываться на различных подходах, среди которых наиболее распространены:
-структурное проектирование и программирование. В основе которого лежит последовательная декомпозиция, целенаправленное структурирование на отдельные составляющий .
Типичными методами структурного проектирования являются:
· Нисходящее проектирование, кодирование и тестирование программ
· Структурное проектирование (программирование)
· Модульное программирование
Структурный подход использует:
· Диаграммы потоков данных (информационно-технологические схемы) –показывают процессы и информационные потоки между ними с учетом “событий” инициирующих процессы обработки;
· Интегрированную структуру данных предметной области(инфологическая модель, ER-диаграммы)
· Диаграммы декомпозиции- структура декомпозиции целей, функций управления приложений
· Структурные схемы- архитектура программного продукта в виде иерархии взаимосвязанных программных модулей с идентификацией связей между ними, детальная логика обработки данных программных модулей (блок-схемы)
в) Большую значимость информационные модели и структуры данных имеют для информационного моделирования предметной области в основе которого положение об определяющей роли данных при проектировании алгоритмов и программ. Подход появился в условиях развития программных средств организации хранения и обработки данных – СУБД.
Информационная инженерия выделяет следующие составляющие данного подхода:
- информационный анализ предметных областей (бизнес-областей);,
-информационное моделирование - построение комплекса взаимосвязанных моделей данных;
-системное проектирование функций обработки данных;
-детальное конструирование процедур обработки данных.
Первоначально строятся информационные модели различных уровней представления:
- информационно-логическая модель, не зависящая от средств программной реализации " хранения и обработки данных, отражающая интегрированные структуры данных предметной области;
- даталогические модели, ориентированные на среду хранения и обработки данных.
Даталогические модели имеют логический и физический уровни представления.
Физический уровень организации хранения данных в памяти компьютера.
Логический уровень данных применительно к СУБД реализован в виде;
-концептуальной модели базы данных - интегрированныеструктуры данных под управлением СУБД;
-внешних моделей данных - подмножество структурданных для реализации приложений.
Средствами структур данных моделируются функции предметной области, прослеживается взаимосвязь функций обработки, уточняется состав входной и выходной информации, логикапреобразования входных структур данныхв выходные. Алгоритм обработки данных можно представить как совокупностьпроцедур преобразований структур данных в соответствиис внешними моделями данных.
Выбор средств реализации базы данных определяет вид даталогическихмоделей и, следовательно, алгоритмы преобразования данных. В большинстве случаев используется реляционное представление данных баш данных и соответствующие реляционные языки Для программирования (манипулирования) обработки данных СУБД и реализации алгоритмов обработки. Данный подход использован во многих CASE-технологиях.
Объектно-ориентированный подход к проектированию программных продуктов основан на;
- выделении классов объектов;
- установлении характерных свойств объектов и методов их обработки;
-создании иерархии классов, наследовании свойств объектов и методов их обработки.
Каждый объект объединяет как данные, так и программу обработки этих данных и относится к определенному классу. С помощью класса один и тот же программный код можно использовать для относящихся к нему различных объектов.
Объектный подход при разработке алгоритмов и программ предполагает:
-объектно-ориентированный анализ предметной области;
-объектно-ориентированное проектирование.
Объектно-ориентированный анализ — анализ предметной области и выделение объектов, определение свойств и методов обработки объектов, установление их взаимосвязей.
Объектно-ориентированное проектированиесоединяет процесс объект-
ной декомпозиции и представления с использованием моделей данных проектируемой системы па логическом и физическом уровнях, в статике и динамике.
Для проектирования программных продуктов разработаны объектно-ориентированные технологии, которые включают в себя специализированные языки программирования и инструментальные средства разработки пользовательского интерфейса.
Традиционные подходы к разработке программных продуктов всегда подчеркивалиразличия между данными и процессами их обработки. Так, технологии, ориентированные на информационное моделирование, сначала специфицируют данные, а затем описываютпроцессы, использующие эти данные. Технологии структурного подхода ориентированы, в первую очередь, на процессы обработки данных с последующим установлением необходимых для этого данных и организации информационных потоков между связанными процессами.
Объектно-ориентированная технология разработки программных продуктов объединяет данные и процессы в логические сущности — объекты, которые имеют способнос1Ь наследовать характеристики (методы и данные) одного или более объектов,обеспечивая тем самым повторное использование программного кода. Это приводит к значительному уменьшению затрат на создание программных продуктов, повышает эффективность жизненною цикла программныхпродуктов (сокращается длительность фазы разработки).При выполнении программы объекту посылается сообщение, которое инициирует обработку данных объекта.
Занятие - часа
При традиционном не автоматизированном программировании независимо от принятого метода проектирования используемого инструментального выполнения следующей работы:
1 Составление технического задания на программирования –
Это этап анализа, спецификации программ и жизненного цикла программного продукта.
При составлении технического задания требуется:
а) Определить платформу разрабатываемой программы – тип операционной системы;
б) Оценить необходимого сетевого варианта (допустимая номенклатура программного обеспечения сетевой обработки);
в) Определить необходимой разработки программы, которую можно переносить на различные платформы;
г) Обосновать целесообразную работу базы данных по управлению СУБД.
На этом же этапе выбираем метод решения задачи, разрабатываем обобщенный алгоритм, функциональную структуру, составление объектов, требования к техническим средствам системы обработки информации и интерфейс конечного пользователя.
2Технический проект выполняет комплекс наиболее важных работ, а именно:
а)С учетом принятого подхода разрабатывают детальный алгоритм обработки данных, уточняется состав объектов и их свойства методов обработки, событий запуска методов обработки;
б) Определяется состав общесистемного программного обеспечения, включая базовые средства (операционная система, модуль СУБД, электронные таблицы, пакеты прикладных программ промышленного назначения);
в) Разрабатывается внутренняя структура программного продукта образованная отдельными программными модулями;
г) Осуществляется выбор инструментальных средств разрабатываемого программного модуля.
3 Рабочая документация состоит:
а) Описания применения – общая характеристика программного изделия с указанием сферой его применения, преобразование к базовым программным обеспечением и комплекс технических средств;
б) Руководство пользователя – это детальное описание функциональных возможностей и технической работы с программным продуктом. Этот документ ориентирован на конечного пользователя, содержит необходимую информацию для самостоятельного освоения и нормальной работы (с учетом квалификации пользователя);
в) Руководство программистом (оператором) – указывает особенности установки (инсталляция) программного продукта, его внутренняя структура, состав и назначение модулей, правило эксплуатации, обеспечение надежной и качественной работы.
В ряде случаев для программного продукта массовых применений создают обучаемые системы, демоверсии, гипертекстовые системы помощи.
4. Ввод действия (защита) программного продукта с начало проходит опытную эксплуатацию (пробный рынок продаж), а затем сдается в промышленную эксплуатацию (тиражирование и распространение ПП).
Раздел 3. Структурное проектирование и программирование