Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Постановка задачи заключается в разработке технического задания, содержащего следующие разделы:
- Наименование и краткая характеристика программы
Разработать систему учета и отчетности выполнения работ рабочими ремонтно-строительного управления «Учет работ РСУ». Учет выполнения работы рабочим фиксируется в исходном документе «Акт». Расценки работ содержатся в исходном документе «Справочник расценок». Отчет о всех выполненных работах рабочим и в целом за месяц определяется в результирующем документе «Ведомость стоимости работ».
- Требования к функциональным характеристикам
Система должна выполнять следующие функции: для исходных документов («Акты», «Справочник расценок») – ввод, просмотр, поиск, замена, удаление информации; для результирующего документа - только расчет «Ведомости».
Исходные данные: для документа «Акты» - таб. номер, разряд, вид работы, объем (в натур. ед.); для документа «Справочник расценок» - вид работы, расценка.
Результатные данные для документа «Ведомости» - таб. номер, разряд, вид работы, объем, стоимость работы, итого за месяц.
- Требования к техническим средствам: минимальная конфигурация, тип процессор – 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 элемента массива нового табельного номера заменяемой записи.
Дата публикования: 2014-11-26; Прочитано: 230 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!