Учебник. — 2-е изд., перераб. и доп. — М.: Высш. шк. , 2006. - 454 с: ил.
В книге изложены технологии структурного программирования, объектно-ориентированного проектирования, визуального программирования, технология, основанная на абстракции данных Дейкстеры. Рассмотрено использование средств автоматизации проведения программных разработок.
Второе издание (1-е — 2005 г. ) дополнено главами по структуре данных и основам инженерии создания программ.
Для студентов вузов, обучающихся по направлению «Информатика».
В книге рассматриваются следующие вопросы:
- методологические основы проектирования программ
- оптимизация программных разработок
- основные инженерные подходы к созданию программ
- структура данных программ
- проектная процедура разработки функциональных описаний
- архитектура программных систем
- технология структурного программирования
- технология объектно-ориентированного программирования
- визуальное программирование
- CASE-средства и визуальное моделирование
- тестирование программного обеспечения
- менеджмент программных разработок; а также:
- стадии и этапы разработки программ по ГОСТ 19.102—77
- пример выполнения учебного технического задания
- элементы языка Object Pascal.
Содержание:
Предисловие.
Введение.
Методологические основы проектирования программ.
Общие положения теории проектирования.
Общие принципы разработки программ.
Системный подход и программирование.
Общесистемные принципы создания программ.
Особенности программных разработок.
Стандарты и программирование.
Описание цикла жизни программного обеспечения.
Стадии и этапы разработки программ.
Типовые ошибки обучаемых при составлении технического задания.
Моделирование и программирование. Понятие спецификаций.
Мнемоника имен в программах.
Проблема типовых элементов в программировании.
Оптимизация программных разработок.
Выбор оптимального варианта проектного решения.
Пример выбора оптимального варианта программного решения.
Методы синтеза вариантов реализаций программ.
Анализ требований к системе (системный анализ) и формулировка целей.
Проектная процедура постановки задачи разработки программы.
Психофизиологические особенности взаимодействия человека и ЭВМ.
Классификация типов диалога программ.
Основные инженерные подходы к созданию программ.
Основные сведения.
Ранние технологические подходы.
Каскадные технологические подходы.
Каркасные технологические подходы.
Генетические технологические подходы.
Подходы на основе формальных преобразований.
Ранние подходы быстрой разработки.
Адаптивные технологические подходы.
Подходы исследовательского программирования.
Структура данных программ.
Понятие структуры данных программ.
Операции над структурами данных.
Общая классификация логических структур данных.
Классификация видов оперативных структур данных по их логическому устройству.
Проектирование и документирование оперативных структур данных.
Файловые структуры.
Проектная процедура разработки функциональных описаний.
Общие сведения о проектной процедуре.
История возникновения проектной процедуры.
Общее описание проектной процедуры.
Рекомендации начинающим по составлению описаний алгоритмов и эвроритмов.
Пример разработки описания процесса "Кипячение воды в чайнике".
Пример описания программы "Редактор текстов".
Рефакторинг алгоритмов и эвроритмов.
Кодирование типовых структур на языках программирования.
Методика разработки алгоритмов программ.
Пример выполнения учебной работы "Разработка алгоритма умножения".
Пример применения проектной процедуры для кодирования программы печати календаря на принтере.
Архитектура программных систем.
Понятие архитектуры программной системы.
Системы из отдельных программ.
Системы из отдельных резидентных программ.
Системы из программ, обменивающихся данными через порты.
Подход к проектированию архитектуры системы на основе абстрактных машин Дейкстры.
СОМ — технология разработки развивающихся и рассредоточенных комплексов программ.
Технология структурного программирования.
Понятие структуры программы.
Модуль и основные принципы структурного подхода.
Ретроспективное проектирование демонстрационной программы Mcalc фирмы "Borland Inc.".
Технология объектно-ориентированного программирования.
История создания объектно-ориентированного программирования.
Введение в объектно-ориентированный подход к разработке программ.
Сравнительный анализ технологий структурного и объектно-ориентированного программирования.
Основные понятия объектно-ориентированной технологии.
Основные понятия, используемые в объектно-ориентированных языках.
Этапы и модели объектно-ориентированной технологии.
Какими бывают объекты по устройству.
Проектная процедура объектно-ориентированного проектирования по Б. Страуструпу.
Технология проектирования на основе обязанностей.
Пример ретроспективной разработки иерархии классов библиотеки визуальных компонент Delphi и C++ Builder.
Альтернативный проект графического интерфейса.
Проект асу предприятия.
Обзор особенностей проектов прикладных систем.
Гибридные технологии проектирования.
Визуальное программирование.
Общее понятие визуального программирования.
Технология визуального программирования.
CASE-средства и визуальное моделирование.
Предпосылки появления CASE-средств.
Обзор CASE-систем.
Визуальное моделирование в Rational Rose.
Диаграммы UML.
Визуальное моделирование и процесс разработки программного обеспечения.
Работа над проектом в среде Rational Rose.
Тестирование программного обеспечения.
Основные сведения.
Свойства программного обеспечения.
Связь процессов тестирования с процессом проектирования.
Подходы к проектированию тестов.
Проектирование тестов больших программ.
Критерии выбора наилучшей стратегии реализации.
Способы и виды тестирования подпрограмм. Проектирование тестов.
Проектирование комплексного теста.
Средства автоматизации тестирования.
Менеджмент программных разработок.
Управление разработкой программных систем.
Структура управления разработкой программных средств.
Подбор команды.
Методология управления проектом.
Составляющие методологии разработки.
Анализ пожеланий и требований заказчика.
Анализ требований к проекту.
Требования пользователя.
Техническое проектирование.
Реализация.
Системное тестирование.
Приемочный тест.
Послереализационный обзор.
Сопровождение программ.
Приложения:
Стадии и этапы разработки программ по ГОСТ 19.102-.
Пример выполнения учебного технического задания.
Фонд эвристических приемов проектирования программ.
Элементы языка Object Pascal.
Основные термины и определения.
Литература.