Методы предупреждения ошибок концентрируются на отдельных этапах процесса проектирования программного обеспечения и включают в себя:
· Методы, позволяющие справиться со сложностью системы.
· Методы достижения большей точности при переводе информации.
· Методы улучшения обмена информацией.
· Методы немедленного обнаружения и устранения ошибок на каждом шаге (этапе) проектирования, не откладывая их на этап тестирования программы.
Сложность системы является одной из главных причин низкой надежности программного обеспечения. В общем случае, сложность объекта является функцией взаимодействия (количества связей) между его компонентами. В борьбе со сложностью программного обеспечения используются две концепции:
· Иерархическая структура. Иерархия позволяет разбить систему по уровням понимания (абстракции, управления). Концепция уровней позволяет анализировать систему, скрывая несущественные для данного уровня детали реализации других уровней. Иерархия позволяет понимать, проектировать и описывать сложные системы.
· Независимость. В соответствии с этой концепцией, для минимизации сложности, необходимо максимально усилить независимость элементов системы.
Это означает такую декомпозицию системы, чтобы её высокочастотная динамика была заключена в отдельных компонентах, а межкомпонентные взаимодействия (связи) описывали только низкочастотную динамику системы [6]. Методы обнаружения ошибок базируются на введении в программное обеспечение системы различных видов избыточности:
· Временная избыточность. Использование части производительности ЭВМ для контроля исполнения и восстановления работоспособности программного обеспечения после сбоя.
· Информационная избыточность [17]. Дублирование части данных информационной системы для обеспечения надёжности и контроля достоверности данных.
· Программная избыточность включает в себя: взаимное недоверие - компоненты системы проектируются, исходя из предположения, что другие компоненты и исходные данные содержат ошибки, и должны пытаться их обнаружить; немедленное обнаружение и регистрацию ошибок; выполнение одинаковых функций разными модулями системы и сопоставление результатов обработки; контроль и восстановление данных с использованием других видов избыточности.
Методы обеспечения устойчивости к ошибкам направлены на минимизацию ущерба, вызванного появлением ошибок, и включают в себя:
· обработку сбоев аппаратуры;
· повторное выполнение операций;
· динамическое изменение конфигурации;
· сокращенное обслуживание в случае отказа отдельных функций системы;
· копирование и восстановление данных;
· изоляцию ошибок.
Важным этапом жизненного цикла программного обеспечения, определяющим качество и надёжность системы, является тестирование [10]. Тестирование - процесс выполнения программ с намерением найти ошибки. Этапы тестирования:
· Автономное тестирование, контроль отдельного программного модуля отдельно от других модулей системы.
· Тестирование сопряжений, контроль сопряжений (связей) между частями системы (модулями, компонентами, подсистемами).
· Тестирование функций, контроль выполнения системой автоматизируемых функций.
· Комплексное тестирование, проверка соответствия системы требованиям пользователей.
· Тестирование полноты и корректности документации, выполнение программы в строгом соответствии с инструкциями.
· Тестирование конфигураций, проверка каждого конкретного варианта поставки (установки) системы.
Все вышеизложенное должно быть принято к рассмотрению и реализации.
Глава IV. Программная реализация и тестирование автоматизированной информационной системы «Отдел кадров»
4.1Состав базы данных. Таблицы и их поля
В любой автоматизированной информационной системе существуют рабочие и справочные таблицы, о назначении которых можно судить по их названию [24].
В разрабатываемой автоматизированной информационной системе «Отдел кадров» используются следующие рабочие таблицы:
1. «Анкеты»: код анкеты, фамилия, имя, отчество, пол, дата рождения, серия и номер паспорта, кем выдан, дата выдачи, образование, адрес и телефон, семейное положение, иностранные языки, уровень заработной платы.
2. «Личные дела»: код личного дела, код анкеты, табельный номер, стаж работы, дата выдачи трудовой книжки.
3. «Записи стажа»: дата выдачи трудовой книжки, номер записи, дата записи, должность, название организации, дата приема на работу, дата увольнения или перевода.
4. «Отчеты»: порядковый номер, название, табельный номер.
5. «Приказы»: порядковый номер, табельный номер.
Свойства представлены в каждой таблице в виде полей. Ниже представлены свойства и их название в таблицах 4.1, 4.2, 4.3, 4.4, 4.5.
Таблица 4.1 «Анкеты».
Название поля | Тип данных | Размер поля |
Код анкеты | Счетчик | Длинней целое. Последовательные значения. Совпадения не допускаются. |
Фамилия | Текстовый | |
Имя | Текстовый | |
Отчество | Текстовый | |
Пол | Текстовый | Вводится фиксированный набор значений |
Дата рождения | Дата/время | Краткий формат даты (вводится автоматически) |
Серия и номер паспорта | Текстовый | Маска ввода (___ - ___ № ________) |
Кем выдан | Текстовый | |
Дата выдачи | Дата/время | Краткий формат даты (вводится автоматически) |
Образование | Текстовый | Вводится фиксированный набор значений |
Адрес и телефон | Текстовый | |
Иностранные языки | Текстовый | Вводится фиксированный набор значений |
Семейное положение | Текстовый | Вводится фиксированный набор значений |
Уровень заработной платы | Числовой | Длинное целое (выбор из списка таблицы «Договора») |
В этой таблице содержатся анкетные данные работника. Код анкете присваивает счетчик. Это делает номер анкеты уникальным и таким образом исключается повторение номера анкеты. Фамилия, имя, отчество, кем выдан паспорт и адрес имеют текстовый формат. Поля, в которых предусмотрено наличие цифирных значений имеют формат соответствующий будущей записи: числовой и дата\время.
Название поля | Тип данных | Размер поля | |
Код личного дела | Счетчик | Длинней целое. Последовательные значения. Совпадения не допускаются. | |
Код анкеты | Числовой | Длинное целое (выбор из списка таблицы «Анкеты») | |
Стаж работы | Числовой | Длинное целое | |
Табельный номер | Числовой | ||
Дата выдачи трудовой книжки | Дата/время | Краткий формат даты (вводится автоматически) |
В представленной таблице приведены некоторые поля таблицы «Личные дела». Счетчиком в данной таблице является поле «код личного дела».
Таблица 4.3 «Записи стажа»
Дата выдачи трудовой книжки | Дата/время | Краткий формат даты (вводится автоматически) |
Номер записи | Текстовый | |
Дата записи | Дата/время | Краткий формат даты (вводится автоматически) |
Должность | Текстовый | |
Название организации | Текстовый | |
Дата приема на работу | Дата/время | Краткий формат даты (вводится автоматически) |
Дата увольнения или перевода | Дата/время | Краткий формат даты (вводится автоматически) |
В зависимости от того, какая информация будет занесена в каждое поле, им присвоены соответствующие форматы.
Таблица 4.4 «Отчеты»
Порядковый номер | Счетчик | Длинней целое. Последовательные значения. Совпадения не допускаются. |
Название | Текстовый | |
Табельный номер | Числовой |
В представленной таблице поле «порядковый номер» имеет счетчик, так как он должен быть уникальным и не иметь повторений.
Таблица 4.5 «Приказы»
Название поля | Тип данных | |
Порядковый номер | Счетчик | Длинней целое. Последовательные значения. Совпадения не допускаются. |
Табельный номер | Числовой |
В этой таблице уникальным является поле порядковый номер, в виду чего ему задан формат счетчик.
Кроме вышеприведенного перечня некоторых таблиц используются также ряд справочных таблиц:
-справочник структурных подразделений(отделов);
-справочник групп (подразделений внутри отделов);
-справочник условий труда;
-справочник видов дополнительного отпуска;
-справочник праздничных дней;
-справочник статей ТК - оснований увольнения;
-справочник должностей (профессий).
Все справочники могут изменяться, дополняться и редактироваться в зависимости от ситуации.
4.2Запросы
Запросы служат для выбора записей, обновления таблиц и включения в них новых записей. Чаще всего запросы применяют для выбора конкретных групп записей, удовлетворяющих заданному условию. Кроме того, запросы позволяют комбинировать информацию, содержащуюся в различных таблицах, обеспечивая связанным элементам данных таблиц унифицированный вид. В автоматизированной информационной системе «отдел кадров» были созданы запросы, согласно требуемому действию.