9.3. Методы проектирования программных продуктов
Методы проектирования алгоритмов и программ очень разнообразны, их можно классифицировать по различным признакам, важнейшими из которых являются:
степень автоматизации проектных работ;
принятая методология процесса разработки.
По степени автоматизации проектирования алгоритмов и программ можно выделить:
методы традиционного (неавтоматизированного) проектирования;
методы автоматизированного проектирования (CASE - технология и ее элементы)
Неавтоматизированное проектирование алгоритмов и программ преимущественно используется при разработке небольших по трудоемкости и структурной сложности программных продуктов, не требующих участия большого числа разработчиков. Трудоемкость разрабатываемых программных продуктов, как правило, небольшая, а сами программные продукты имеют преимущественно прикладной характер.
Автоматизированное проектирование позволяет уменьшить трудозатраты на проектные работы, сократить сроки их выполнения, создать типовые «заготовки» алгоритмов и программ, многократно тиражируемых для различных разработок, координировать работу большого коллектива разработчиков, стандартизировать алгоритмы и программы.
Автоматизированный подход требует технического и программного «перевооружения» труда самих разработчиков (мощных компьютеров, дорогостоящего программного инструментария, а также повышения квалификации разработчиков и т.д.) Автоматизированное проектирование алгоритмов и программ под силу лишь крупным фирмам, специализирующимся на разработке определенного класса программных продуктов, занимающих устойчивое положение на рынке программных средств.
Проектирование алгоритмов и программ может основываться на различных подходах, среди которых наиболее распространены:
структурное проектирование программных продуктов;
информационное моделирование предметной области и связанных с ней приложений;
объектно-ориентированное проектирование программных продуктов.
В основе структурного проектирования лежит последовательная декомпозиция, целенаправленное структурирование на отдельные составляющие. Типичными методами структурного проектирования являются:
нисходящее проектирование, кодирование и тестирование программ - последовательное разложение общей функции обработки данных на простые функциональные элементы;
модульное программирование - разбиение программы на последовательность модулей, каждый из которых выполняет одну или несколько законченных функций;
структурное программирование - использование при создании программного продукта типовых управляющих структур алгоритмов обработки данных.
Основой информационного моделирования предметной области является положение об определяющей роли данных при проектировании алгоритмов и программ. Данный подход к проектированию программных продуктов появился благодаря появлению и развитию программных средств организации хранения и обработки данных - СУБД.
Данный подход имеет следующие составляющие:
информационный анализ предметных областей;
информационное моделирование - построение комплекса взаимосвязанных моделей данных;
системное проектирование функций обработки данных;
детальное конструирование процедур обработки данных.
Информационный анализ предметной области предполагает построение диаграммы потоков данных (информационно-технологических схем), показывающих процессы, происходящие в объекте информатизации и информационные потоки между ними.
Информационное моделирование заключается в построении информационных моделей двух уровней представления:
информационно-логическая модель, не зависящая от средств программной реализации хранения и обработки данных, отражающая интегрированные структуры данных предметной области;
даталогическая модель, ориентированная на среду хранения и обработки данных.
Средствами структур данных моделируются функции предметной области, прослеживается взаимосвязь функций обработки, уточняется состав входной и выходной информации, логика преобразования входных структур данных в выходные.
Выбор средств реализации базы данных определяет вид даталогических моделей и, следовательно, алгоритмы преобразования данных. В большинстве случаев используется реляционное представление данных и соответствующие языки программирования.
Объектно-ориентированный подход к проектированию программных продуктов основан на следующих принципах:
выделение классов объектов;
установление характерных свойств объектов и методов их обработки;
создание иерархии классов, наследовании свойств объектов и методов их обработки.
Каждый объект объединяет как данные, так и программу обработки этих данных и относится к определенному классу. С помощью класса один и тот же программный код можно использовать для относящихся к нему различных объектов.
Традиционные подходы к разработке программных продуктов всегда подчеркивали различия между данными и процессами их обработки. Так, технологии, ориентированные на информационное моделирование, сначала специфицируют данные, а затем описывают процессы, использующие эти данные. Технологии структурного подхода ориентированы, в первую очередь, на процессы обработки данных с последующим установлением необходимых для этого данных и организации информационных потоков между связанными процессами. Объектно-ориентированная технология разработки программных продуктов объединяет данные и процессы в логические сущности - объекты.
- Информационные технологии
- Содержание
- 1. Понятие информационной технологии
- 1.1. Информатика и информационные технологии
- 1.2. Понятие информационной технологии как научной дисциплины
- 1.3. Структура предметной области информационной технологии
- 1.4. Место информационной технологии в современной системе научного знания
- 1.5. Определение информационной технологии и информационной системы
- 1.6. Этапы развития информационных технологий
- 1.7. Новая информационная технология
- 1.8. Свойства информационных технологий
- 2. Критерии эффективности информационных технологий
- 2.2. Специфика реализации информационных технологий
- 2.3. Общий критерий эффективности информационных технологий
- 2.4. Отличительные признаки высокоэффективных технологий и основные принципы их проектирования
- Концентрация ресурсов в пространстве
- Концентрация ресурсов во времени
- Комбинированные технологии
- Векторная ориентация ресурсов
- 2.5. Основные научные направления развития информационной технологии
- Проблема семантического сжатия информации
- Семантические концентраторы
- 2.6. Человеческий фактор в перспективных информационных технологиях
- 2.7. Методологический аппарат науки как информационная технология
- 3. Классификация информационных технологий
- 3.1. Основные классы информационных технологий
- 3.1. Основные классы информационных технологий
- 3.2. Классификация по пользовательскому интерфейсу
- 3.3. Классификация по степени взаимодействия между собой
- 3.5. Понятие платформы
- 3.6. Проблемы и критерии выбора информационных технологий
- 4. Стандарты пользовательского интерфейса ит
- 4.1. Интерфейс прикладного программирования
- Реализация функций api на уровне ос
- Реализация функций api на уровне системы программирования
- Реализация функций api с помощью внешних библиотек
- 4.2. Платформенно-независимый интерфейс posix
- 4.3. Проектирование пользовательского интерфейса
- 5. Информационные технологии широкого пользования
- 5.1. Табличные процессоры
- 5.2. Системы управления базами данных Основные понятия бд
- Виды моделей бд
- Сетевая модель данных
- Реляционная модель данных
- Обзор субд
- Технология работы в субд
- 5.3. Текстовые процессоры
- 5.4. Графические процессоры
- 5.5. Геоинформационные технологии
- 5.6. Интегрированные пакеты
- Microsoft Office 2000/xp
- Русский офисс (Арсеналъ), набор независимых друг от друга программных продуктов, ориентированных на домашнее применение:
- 5.7. Информационные системы как средства и методы реализации информационных технологий
- 6. Авторские и интегрированные информационные технологии
- 6.1. Гипертекст
- 6.2. Мультимедиа
- 6.3. Новый класс интеллектуальных технологий
- 6.4. Информационные хранилища
- 6.5. Система электронного документооборота
- 6.6. Системы групповой работы
- 6.7. Оснащение рабочего места пользователя информационными технологиями
- 7. Примеры экономических информационных систем
- 7.1. Предпринимательство
- 7.2. Менеджмент
- 6.3. Электронные деньги
- 7.4. Банки
- 7.5. Биржи
- 7.6. Торговля
- 7.7. Финансы
- 7.8. Обучение
- 8. Технология обработки и обеспечения безопасности данных
- 8.1. Общая характеристика процессов сбора, передачи, обработки и хранения информации
- 8.2. Контроль достоверности данных
- 8.3. Технология обеспечения безопасности компьютерных систем
- 9. Инструментарий технологии программирования
- 9.4.2. Методология rad — Rapid Application Development
- 9.1. Принцип программного управления
- 9.2. Жизненный цикл информационных систем
- 9.3. Методы проектирования программных продуктов
- 9.4. Методология и технология разработки информационных систем
- 9.4.1. Case-технологии
- 9.4.2.Методология rad — Rapid Application Development
- 9.4.3. Стандарты и методики
- 9.5. Профили открытых информационных систем
- Список использованной литературы