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