- •Курсовой проект
- •Содержание
- •Введение
- •Описание предметной области
- •Техническое задание на курсовой проект по теме: «Интерактивный телефонный справочник» Технический проект
- •3.1 Описание архитектуры программного продукта
- •3.2 Блок-схемы основных алгоритмов
- •3.3 Краткое описание файлов программного продукта
- •3.4 Описание классов (переменные и функции)
- •3.5 Принцип работы основных функций
- •4 Используемые методики тестирования программного продукта
- •4.1 Тестирование программного продукта целиком
- •4.2 Тестирование отдельных функций
- •5 Эксплуатационная документация
- •5.1 Руководство программиста
- •Техническое задание
Описание предметной области
C++ Builder — программный продукт, инструмент быстрой разработки приложений (RAD), интегрированная среда программирования (IDE), система, используемая программистами для разработки программного обеспечения на языке программирования C++.
C++ Builder объединяет в себе комплекс объектных библиотек (STL, VCL, CLX, MFC и др.), компилятор, отладчик, редактор кода и многие другие компоненты. Цикл разработки аналогичен Delphi. Большинство компонентов, разработанных в Delphi, можно использовать и в C++ Builder без модификации, но обратное утверждение не верно.
C++ Builder содержит инструменты, которые при помощи drag-and-drop действительно делают разработку визуальной, упрощает программирование благодаря встроенному WYSIWYG—редактору интерфейса и пр.
Министерство образования и науки Российской Федерации Федеральное государственное бюджетное
образовательное учреждение высшего профессионального образования
«Сибирский государственный аэрокосмический университет им. академика М.Ф. Решетнёва» (СибГАУ)
Аэрокосмический колледж
Техническое задание на курсовой проект по теме: «Интерактивный телефонный справочник» Технический проект
3.1 Описание архитектуры программного продукта
Существуют два основных подхода к разработке программного продукта: функционально-модульный или структурный (в основу положен принцип функциональной декомпозиции, при котором структура системы описывается в терминах иерархии ее функций и передачи информации между отдельными функциональными элементами) и объектно-ориентированный (использует объектную декомпозицию). При разработке программного продукта с использованием структурного подхода система разбивается на функциональные подсистемы, которые в свою очередь, делятся на подфункции, те – на задачи и так далее. Процесс разбиения продолжается вплоть до конкретных процедур. При этом автоматизируемая система сохраняет целостное представление, в котором все составляющие компоненты взаимосвязаны.
Программный продукт «Интерактивный телефонный справочник» состоит из трех основных модулей:
«Телефонный справочник»;
«Записная книжка»;
«Ежедневник».
Разработка данного программного продукта проводилась при помощи CASE-средства BPwin, а проектирование – при помощи среды разработки приложений Borland C++ Builder.
На рисунке 1 представлена структурная схема программного продукта «Интерактивный телефонный справочник».
Рисунок 1 – Структурная схема программного продукта «Интерактивный телефонный справочник»
На вход данной системы поступает пароль пользователя (имеется возможность работы нескольких пользователей под разными паролями) и входная информация, которая включает основную информацию о каждом абоненте:
Ф. И. О. абонента;
телефонный номер абонента;
адрес абонента;
дата рождения и другая информация.
На выход данной системы поступает информация, соответствующая запросам пользователя.
Управление процессом обработки данных производится на основе информации, которую заносит пользователь. Управление программой осуществляет пользователь.
После описания системы в целом проводится разбиение ее на крупные фрагменты. Этот процесс называется функциональной декомпозицией. Схема декомпозиции, изображенная на рисунке 2, представляет детальное разбиение общей схемы процесса, которая включает в себя следующие блоки: «Телефонная книжка» и «Ежедневник».
Рисунок 2 - Детальное разбиение общей схемы процесса
Блок «Телефонная книжка» делится на два подпроцесса: «Телефонный справочник» и «Записная книжка». Данная декомпозиция изображена на рисунке 3.
Рисунок
3 – Блок «Телефонная книжка»
На вход подпроцесса «Телефонный справочник» поступает следующая входная информация:
Ф. И. О. абонентов;
телефонный номер (номера) каждого абонента.
На выходе формируется такая выходная информация, как: Ф. И. О. каждого абонента со списком его телефонных номеров (если несколько) или полный список абонентов с телефонными номерами.
На вход подпроцесса «Записная книжка» поступает следующая информация:
Ф. И. О. абонента;
адрес абонента (домашний и рабочий);
информация об абоненте личного характера (например, дата рождения и др.).
На выходе формируется следующая информация: полная информация каждого абонента отдельно или список всех абонентов с полной информацией.
На рисунке 4 изображен блок «Ежедневник», который делится на такие подпроцессы, как «Формирование списка дел на каждый день» и «Формирование списков напоминаний»:
Рисунок 4 – Блок «Ежедневник»
На вход подпроцесса «Формирование списка дел на каждый день» поступает такая входная информация, как план пользователя на день, который формируется из следующих пунктов: наименование дела и время его проведения. На выходе такого подпроцесса формируется план- список пользователя. Данный раздел в программе заполняется при необходимости.
На рисунке 5 изображена декомпозиция блока «Формирование списков напоминаний», который делится на следующие подпроцессы: «Формирование списка дней рождений» и «Формирование списка дополнительных напоминаний»:
Рисунок 5 – Блок «Формирование списков напоминаний»
На вход подпроцесса «Формирование списков дней рождений» поступает информация о днях рождений людей, которую пользователь ввел в данный раздел. На выходе формируется список не только всех дней рождений, занесенных в данный раздел, но и дней рождений на каждый месяц.
На вход подпроцесса «Формирование списка дополнительных напоминаний» поступает информация, которую пользователь не хотел бы потерять (например, какие-либо пароли, коды и т. д.). В программе предусмотрена функция напоминания о данной информации в срок, указанный пользователем в соответствующем разделе. На выходе данного подпроцесса формируется как полный список всех напоминаний, так и список напоминаний на ближайший месяц.
