- •Ф.Ф. Павлов технология программирования
- •Санкт-Петербург
- •090103 – Организация и технология защиты информации
- •Содержание
- •Раздел 1 Создание программных приложений………………..…..7
- •Тема 1. Технология программирования. Основные понятия........7
- •Тема 3. Объектно-ориентированный подход
- •Тема 4 Объектно-ориентированное проектирование
- •Раздел 3 «Перспективные направления в области создания технологий программирования» содержит 3 темы: технология ActiveX, технологии доступа к базам данных, технологии для работы в Internet.
- •Раздел 1. Создание программных приложений
- •Тема 1. Технология программирования.
- •1.1. Этапы эволюции технологии программирования
- •1.2. Жизненный цикл и этапы разработки программ
- •1.3. Постановка задачи и спецификация программы
- •1.4. Проектирование и реализация программы
- •2.1 Структура программы
- •2.2 Структура функции
- •2.3. Типы данных
- •2.4. Средства управления экраном и клавиатурой
- •2.5 Средства управления файлами
- •Тема 3. Объектно-ориентированный подход
- •3.1. Сущность объектно-ориентированного подхода
- •3.2. Инкапсуляция
- •3.3. Наследование
- •3.4. Полиморфизм
- •Тема 4. Объектно-ориентированное проектирование
- •4.1. Постановка задачи и определение спецификаций
- •4.2. Проектирование структуры программы
- •4.3. Проектирование файлов интерфейсов классов
- •4.4. Проектирование файлов реализации классов
- •Раздел 2. Особенности программирования в Windows
- •5.1. Система окон разработки и система меню
- •5.2. Библиотека классов mfc
- •5.3. Сообщения – реакция на события
- •Тема 6. Создание Windows-приложений
- •6.1. Консольные приложения
- •6.4. Диалоговые приложения
- •Тема 7. Ввод-вывод информации
- •7.1. Управление клавиатурой
- •7.2. Управление курсором
- •7.3. Управление мышью
- •Тема 8. Программирование интерфейса приложений
- •8.1. Система меню
- •8.2. Система диалоговых окон и элементов управления
- •Тема 9. Программирование файловой обработки
- •9.1. Файловая обработка объектов класса mfc
- •9.2. Файловая обработка объектов классов пользователя
- •9.3. Файловая обработка с классом cFile
- •Тема 10. Технология программирования в Widows
- •10.1. Проектирование структуры программы,
- •10.2. Создание классов предметной области
- •10.3. Создание диалоговых окон
- •10.4. Создание диалоговых окон базы справочных
- •10.5. Создание ведомости результатов
- •Раздел III. Прогрессивные технологии
- •Тема 11. Технология ActiveX
- •11.1. Концепция технологии ActiveX
- •11.2. Создание приложения-контейнера
- •11.3. Создание приложения-сервера
- •Тема 12. Поддержка баз данных
- •12.1. Технологии доступа к данным
- •12.2. Создание приложения с базой данных
- •Тема 13. Программирование для Internet
- •13.1. Технологии для работы в Internet
- •13.2. Приложение в стиле браузера
- •13.3. Приложение с протоколом http в WinInet
- •13.4. Приложение с протоколом ftp в WinInet
- •Раздел 1 «Создание программных приложений»:
- •Раздел 2 «Особенности программирования в Windows»:
- •Раздел 3 «Прогрессивные технологии программирования»:
- •Извлечение из рабочей программы дисциплины
- •Утверждаю
- •Рабочая программа
- •Технология программирования
- •Санкт-Петербург
- •4. Содержание разделов и тем дисциплины
- •Раздел 1. Создание программных приложений
- •Тема 1. Технология программирования. Основные
- •Тема 4. Технология объектно-ориентированного
Тема 4. Объектно-ориентированное проектирование
программ
Рассмотрим этапы технологии объектно-ориентированного программирования на примере информационной мини-системы «Учет работ РСУ».
4.1. Постановка задачи и определение спецификаций
Постановка задачи заключается в разработке технического задания, содержащего следующие разделы:
- Наименование и краткая характеристика программы
Разработать систему учета и отчетности выполнения работ рабочими ремонтно-строительного управления «Учет работ РСУ». Учет выполнения работы рабочим фиксируется в исходном документе «Акт». Расценки работ содержатся в исходном документе «Справочник расценок». Отчет о всех выполненных работах рабочим и в целом за месяц определяется в результирующем документе «Ведомость стоимости работ».
- Требования к функциональным характеристикам
Система должна выполнять следующие функции: для исходных документов («Акты», «Справочник расценок») – ввод, просмотр, поиск, замена, удаление информации; для результирующего документа - только расчет «Ведомости».
Исходные данные: для документа «Акты» - таб. номер, разряд, вид работы, объем (в натур. ед.); для документа «Справочник расценок» - вид работы, расценка.
Результатные данные для документа «Ведомости» - таб. номер, разряд, вид работы, объем, стоимость работы, итого за месяц.
- Требования к техническим средствам: минимальная конфигурация, тип процессор – Pentium.
- Технологические требования: архитектура - однопользовательская, тип – программная система; пользовательский интерфейс-меню; метод программирования – объектно-ориентированный; язык программирования – C++; среда программирования – Visual C++ 2005.
Для получения спецификаций сформулируем содержательную постановку задачи, разработаем интерфейс-меню, определим подзадачи (функции меню), алгоритмы решения функций.
Исходные документы («Акты», «Справочник расценок») будем хранить в базе данных с индексной организацией; «Ведомость стоимости работ» - выводить сразу на экран. Структура записи файла Акты содержит следующие поля: таб. номер, разряд, вид работы, объем, где ключом записи является таб. номер. Структура записи файла Справочник расценок содержит следующие поля: вид работы, расценка, где ключом записи является вид работы.
Спроектируем пользовательский интерфейс-меню программной системы (см. рис. 4.1).
Pr |
File Акты Расценки Ведомости View Help Имена файлов Создание Создание Создание Status Bar About Exit Просмотр Просмотр Поиск Поиск Замена Замена Удаление Удаление |
Рис. 4.1. Интерфейс-меню программной системы
Рассмотрим алгоритмы управления базой данных с индексной организацией, необходимые для реализации меню.
Для файла данных создается массив в оперативной памяти, называемый индексным массивом, который содержит для каждой записи номер записи и значение ключа записи. Все операции управления базой данных выполняются через индексный файл, где по значению ключа записи определяется номер записи, и затем используется прямой доступ к записям файла данных.
Пример структуры базы данных с индексной организацией будет выглядеть следующим образом:
Файл данных Индексный массив
nomer tabn tabn nomer
0 <020 ... > 020 0
1 <050 ... > 050 1
2 <040 ... > 040 2
3 <010 ... > 010 3
4 <035 ... > 035 4
5 <\0 ... > \0 5
,где tabn (табельный номер служащих) - ключ записи;
nomer- номер записи в файле данных;
'\0' - признак пустой записи;
Файл данных содержит заполненные записи, а также пустые записи, которые образуются при удалении записей.
Алгоритм добавления записей включает два этапа:
- нахождение номера записи в файле в индексном массиве;
- добавление записи и корректировка индексного массива.
Нахождение номера записи в файле определяется состоянием индексного массива:
- если индексный массив содержит элемент с tabn=='\0', номер добавляемой записи будет равен соответствующему значению поля nomer элемента массива, т. е. добавление записи будет на место пустой записи.
- если индексный массив не содержит элемента с tabn=='\0', номер добавленной записи будет равен следующему индексу после фактического последнего индекса массива, т.е. добавление записи будет в конец файла данных;
Добавление записи в файл производится прямым доступом по найденному номеру. Корректировка индексного массива сводится к записи в поле tabn массива табельного номера добавляемой записи.
Алгоритм удаления записи включает два этапа:
- нахождение номера удаляемой записи по табельному номеру с помощью индексного массива;
- удаление записи и корректировка индексного массива.
Нахождение номера удаляемой записи определяется поиском элемента массива на совпадение табельного номера удаляемой записи с полем tabn элемента массива. Номер удаляемой записи будет равен значению поля nomer найденного элемента массива.
Удаление записи производится записью прямым доступом в файл по найденному номеру пустой записи. Корректировка индексного массива сводится к записи в поле tabn элемента массива символа '\0'.
Алгоритм замены записи включает два этапа:
- нахождение номера заменяемой записи;
- замена записи и корректировка индексного массива.
Замена записи в файле производится записью прямым доступом по найденному номеру новой записи. Корректировка индексного массива сводится к записи в поле tabn элемента массива нового табельного номера заменяемой записи.