Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Постановка задачи и определение спецификаций



Постановка задачи заключается в разработке технического задания, содержащего следующие разделы:

- Наименование и краткая характеристика программы

Разработать систему учета и отчетности выполнения работ рабочими ремонтно-строительного управления «Учет работ РСУ». Учет выполнения работы рабочим фиксируется в исходном документе «Акт». Расценки работ содержатся в исходном документе «Справочник расценок». Отчет о всех выполненных работах рабочим и в целом за месяц определяется в результирующем документе «Ведомость стоимости работ».

- Требования к функциональным характеристикам

Система должна выполнять следующие функции: для исходных документов («Акты», «Справочник расценок») – ввод, просмотр, поиск, замена, удаление информации; для результирующего документа - только расчет «Ведомости».

Исходные данные: для документа «Акты» - таб. номер, разряд, вид работы, объем (в натур. ед.); для документа «Справочник расценок» - вид работы, расценка.

Результатные данные для документа «Ведомости» - таб. номер, разряд, вид работы, объем, стоимость работы, итого за месяц.

- Требования к техническим средствам: минимальная конфигурация, тип процессор – 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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...