Программное обеспечение пункта обмена валюты банка
областями) по значению ключа
или номеру записи при помощи команды SET RELATION.
SET RELATION является командой обработки баз данных, которая связывает
родительскую рабочую область с одной или более дочерними областями путем
использования ключевого выражения, номера записи или числового выражения.
Каждая родительская рабочая область может быть связана не более, чем с
восемью дочерними рабочими областями. Отношение связи заставляет указатель
записи перемещаться в дочерней рабочей области в соответствии с
перемещением указателя записи в родительской рабочей области. Если в
дочерней рабочей области не обнаруживается соответствия, то дочерний
указатель записи помещается в позицию «за конец файла», и результат поиска
принимает значение "ложь" (.F.).
Способ связывания родительской и дочерней рабочих областей зависит от
типа выражения ключа и присутствия активного ведущего индекса в дочерней
рабочей области. Если дочерняя рабочая область имеет активный индекс, поиск
осуществляется с помощью стандартной команды SEEK. Если же дочерняя рабочая
область не имеет активного индекса, а тип выражения ключа числовой, то
вместо этого в дочерней рабочей области выполняется команда GOTO.
Такой способ доступа к данным позволяет очень быстро и надежно находить
значение ключевого выражения в связанной БД и обеспечивает автоматическое
сканирование дочерней базы данных при перемещении указателя записи в
основной базе.
Для обеспечения надежной связи данных необходимо предусмотреть в
процедуре пополнения справочников автоматическое создание ключевого
выражения. Оно должно удовлетворять следующим требованиям:
. Уникальность ключа;
. Небольшой размер ключевого выражения для уменьшения размеров индексного
файла и ускорения поиска при большом количестве записей.
При создании ключа не желательно в его качестве использовать номер
записи. При таком способе уникальность ключа может быть сохранена только
если запрещено физическое удаление записей из файла справочника, хотя этот
способ наиболее просто реализуем. В нашем случае есть смысл остановиться
именно на нем, поскольку физическое удаление записей из справочников
приведет к потере логической связи архивных документов. Таким образом при
необходимости удаления, запись будет просто помечена, как удаленная и
вдальнейшем не будет выводиться в списках.
Одним из важных моментов в проектировании информационно-справочных систем
является организация ввода данных пользователем и их дальнейшая обработка.
При вводе данных, как правило, используются две формы ввода: табличная и
бланк. В проектируемой системе ввод данных по обменной операции желательно
организовать в форме бланка при оформлении операции и в таблице при
корректировке и пополнении справочников. При вводе курсов валют можно
применить комбинированную форму ввода: поиск валюты по списку табличной
формы, а ввод курса в форме бланка. Основным режимом работы пользователя
будет являться ввод данных по операциям обмена, поэтому бланк ввода
необходимо спроектировать таким образом, чтобы форма соответствовала
стандартной справке. Ввод данных из справочников можно оформить так, чтобы
вызов справочника обеспечивался нажатием функциональной клавиши,
соответствие справочника текущему полю ввода также должно обеспечиваться
автоматически по имени поля ввода. Запись данных в базу должна
производиться после подтверждения пользователем правильности всех введенных
числовых и символьных данных и расчетных величин.
После ввода данных необходимо дать пользователю возможность распечатки
бланка справки и копии клиента. данная операция должна быть выполнена в
обязательном порядке. Печать может быть осуществлена на два типа принтеров:
ударного действия (матричные) и струйные. Печать справки на лазерных
принтерах невозможна из-за повышенных требований к качеству бумаги. При
печати справки на матричном принтере можно осуществить печать двух
экземпляров (справка+копия) за один проход с применением копировальной
бумаги. На струйном принтере необходимо печатать каждый экземпляр отдельно.
Таки м образом нужно предусмотреть изменяемый пользователем счетчик числа
копий или специальную функцию настройки на тип принтера.
[pic]Рис.2 Схема взаимодействия и сязей данных
Разработка функциональной схемы программы.
Функциональный состав программы должен максимально обеспечивать
необходимый набор возможностей для выполнения кассиром ОП его должностных
обязанностей, связанных с вводом данных, регистрацией сделок и оформлением
отчетных документов. Для этого составим примерный перечень функций, которые
должны быть реализованы в нашей системе.
Примерный перечень функций системы.
1. Регистрация обменной операции
2. Ввод данных по покупке валюты
3. Ввод данных по продаже валюты
4. Ввод данных по конверсии валюты
5. Печать справки клиента
6. Просмотр документов
7. Просмотр списка документов дня
8. Просмотр списка архивных документов
9. Ведение справочников
10. Ввод данных по кодам ценностей
11. Ввод данных по видам документов
12. Ввод данных по кодам валют
13. Ввод курсов валют по датам
14. Генерация отчетных документов
. Печать реестра наличной иностранной валюты, купленной за
наличные рубли;
. Печать реестра наличной иностранной валюты, проданной за
наличные рубли;
17. Печать реестра по обмену (конверсии) наличной иностранной
валюты;
18. Прочие функции
19. Ввод данных в поле ввода из справочника
20. Перевод числа из цифровой формы в строчную (сумма прописью)
21. Изменение вида курсора
22. Сохранение данных в архивных файлах
Приведенный перечень охватывает все процедуры, описанные в разделе
технологического процесса ОП и дополнен некоторыми функциями, которые будут
необходимы в процессе ввода данных и их корректировки.
Разработка структурной схемы программы.
Структурная схема программного комплекса определяет в основных чертах и
внешний вид проектируемой системы и принципы взаимодействия с
пользователем. Схема проектируемой системы будет представлять собой
иерархическую древовидную структуру, описывающую процедуры ввода, обработки
и вывода данных. Построение программ информационно-справочного класса по
такому принципу позволяет довольно легко производить модификацию системы в
целом и облегчает восприятие и понимание принципа работы программы. Для
построения структурной схемы необходимо определить иерархию и связь
перечисленных выше процедур обработки данных. Естественно установить
иерархию процедур в том виде, в каком они были описаны в предыдущей главе,
поскольку таковая схема соответствует схеме «важности» и «употребимости»
процедур. Структурная схема программы, с учетом всего вышеизложенного,
представлена на рис 2.
[pic]
Разработка экранного интерфейса программы
Существующие подходы к проектированию экранного интерфейса
Экранный интерфейс программы во многом определяет удобство работы
пользователя и является одним из важных факторов, влияющих на эффективность
его труда. Программа, выполняющая все возложенные на нее функции,
обладающая высоким быстродействием может быть полностью непригодной для
работы из-за неприемлемого интерфейса с пользователем. Еще буквально
несколько лет назад существовал текстовый редактор, прекрасно
иллюстрирующий такой подход к проектированию программного обеспечения. Вряд
ли кому-то придется по душе редактор текста, в котором для вставки символа
в строку нужно набрать однобуквенный код команды вставки, номер
обрабатываемой строки (к счастью не двоичный), номер символа, после
которого будет вставлен новый символ и собственно этот символ. Конечно
такой подход абсолютно неприемлем.
[pic]
Рис.4 Система меню операционной оболочки Norton Comander
Наиболее практичными и удобными с точки зрения пользователя можно считать
системы, имеющие экранный интерфейс, построенный на основе системы
всплывающих меню. Наиболее распространенными в настоящее время являются две
идеологии (имеются в виду DOS-приложения), включающие в себя и определенную
форму экранных окон и цветовую гамму и вид всплывающих списков. Это
инструментальные Среды фирмы Borland, и операционная оболочка Norton, фирмы
Symantec. Обе идеологии предусматривают определенное разбиение экранного
пространства на области или зоны, предназначенные для конкретных
информационных объектов и действий. Зоны могут быть в некоторой степени
переконфигурированы по желанию пользователя: изменены размеры и положение
на экране. Команды обработки данных вызываются из системы меню,
присутствующего на экране постоянно (Borland), или вызываемого по
функциональной клавише (Symantec).
И в том и в другом случае все команды системы распределены по
функциональному признаку на группы и в главном меню присутствуют
[pic]
Рис 5. Система меню компилятора Borland C++
собственно наименования групп команд. Выбрав группу, пользователь получает
доступ к списку команд группы, в который могут быть включены также команды,
объединенные в группы второго уровня и т.д.
Таким образом, создается система многоуровневого всплывающего меню.
Применение такой идеологии обеспечивает удобство ориентировки в системе,
имеющей достаточно сложное, многоуровневое меню с множеством выборов.
Естественно, что увеличение вложенности и размеров списков выбора, должно
иметь разумные границы, которые к счастью имеются в виде ограниченности
экранного пространства монитора. В большинстве систем заложена также
возможность настройки цветовой палитры по желанию пользователя. В
операционной оболочке Norton предлагается выбор гаммы из нескольких
стандартных вариантов, в системах фирмы Borland можно создать свою
собственную цветовую гамму, вплоть до мельчайших деталей. Примерный вид
некоторых экранных объектов приведен на рис.4,5.
Выбор идеологии экранного интерфейса
В нашей системе примем за основу экранного интерфейса, идеологию фирмы
Borland. В этой идеологии выдержано большинство автоматизированных
банковских систем, поэтому наша программа органично впишется в их ряд.
Система проектирования CA-Clipper предоставляет разработчику достаточно
обширную гамму функций, позволяющих осуществлять разработку экранного
интерфейса, однако программы, в которых используются только штатные
средства системы оказываются довольно сильно загруженными второстепенными
операторами, обеспечивающими вывод на монитор экранных объектов, рамок,
установку цвета и т.п. Целесообразно разработать комплекс функций экранного
интерфейса, выполняющих макрооперации, таких, к примеру, как вывод в
заданных координатах рамки с заголовком и тенью в указанной цветовой гамме
и сохранение области вывода в буфере для последующего восстановления
внешнего вида экрана. Все функции экранного интерфейса можно объединить в
библиотеку, с тем, чтобы в последующей работе не загружать исходный код
программы их описанием.
Перечень функций экранного интерфейса
Для формирования библиотеки экранных функций, приведем перечень процедур,
относящихся к созданию внешнего облика программы и связи программы с
конечным пользователем:
. создание горизонтального меню в указанных координатах
. создание вертикального меню в указанных координатах
. вывод окна с рамкой и тенью или без таковых в указанных координатах и
цвете
. вывод окна с рамкой и тенью или без таковых в указанных координатах и
цвете с эффектом раскрытия
. вывод строки подсказки
. вывод сообщения с ожиданием реакции пользователя
. вывод сообщения и ожидание выбора пользователя
. вывод линейного индикатора процесса и его обновление
. вывод транспаранта ожидания
Наиболее сложными и важными функциями из перечисленных, являются функции
создания меню, а самыми употребительными функции вывода окон. Таким
образом, необходимо в первую очередь спроектировать именно эти функции.
Проектирование функциональных модулей.
Существует множество методов построения программ и каждый разработчик
выбирает из всего многообразия наиболее приемлемый для себя или вообще
руководствуется своими личными соображениями. При проектировании нашей
системы можно разбить весь процесс на несколько частей:
. Создание функций экранного интерфейса
. Проектирование системы меню программы
. Разработка функциональных модулей и подключение их к основной программе
. Комплексная отладка и тестирование программы в процессе опытной
эксплуатации
. Окончательная доводка программного продукта и сдача его в эксплуатацию.
Создание в первую очередь процедур и функций экранного интерфейса
объясняется тем, что эти функции составят “скелет” программы к которому в
дальнейшем будут подключаться рабочие процедуры, таким образом мы будем
вести разработку методом “Сверху вниз”. Этот метод позволяет в короткие
сроки получить работающую систему с ограниченным (и в процессе работы все
более полным) набором функциональных возможностей.
Разработка интерфейсных функций
Функция вывода меню в указанных координатах
Для упрощения программы в целом возложим на эту процедуру следующие
задачи:
. Вывод горизонтального, или вертикального меню, в зависимости от
передаваемого параметра
. Возврат номера выбора пользователя, или 0 при прерывании выбора по
клавише “Escape”
. Вывод списка выборов в экранных координатах, передаваемых в функцию в
качестве параметра
. Вывод списка выборов в цветовой гамме, передаваемой в функцию в качестве
параметра
. Выделение “горячих” клавиш в списке выборов и их обработка
. Возможность перемещения по списку выборов с помощью манипулятора “Мышь”.
Определимся с параметрами функции.
1. Флаг вывода меню в горизонтальном или вертикальном виде (Logic)
2. Список выборов (Array)
3. Список координат (Array)
4. Список строк подсказок (Array)
5. Дополнительная координата (Numeric)
6. Цвет активного выбора (String)
7. Цвет неактивного выбора (String)
8. Цвет “горячей” клавиши
Дополнительная координата и массив координат выборов будут выполнять
двойную роль: при выводе горизонтального меню массив содержит номера
колонок для каждого выбора, а дополнительная координата определяет строку
вывода, при выводе вертикального меню в массиве будем иметь номера строк
для каждого выбора, а дополнительная координата определит столбец вывода.
Для отображения “горячей” клавиши необходимо определить в строке выбора
какой-либо маркер, символ, следующий за ним, будет использоваться в
качестве “горячей” клавиши и отображаться с выделением (рис.6)
[pic]
Рис.6 Фрагмент меню
[pic]
Рис 7. Алгоритм функции выбора из меню
Функция вывода окна в указанных координатах
Данная функция должна быть универсальной, следовательно, нужно иметь
возможность, при вызове функции, определять параметры будущего
[pic]
Рис.8 Параметры оконного объекта
оконного объекта. К таким параметрам относятся:
. экранные координаты окна (стандартно это строка и столбец левого верхнего
и правого нижнего углов окна)
. цвет оконной области
. символы обрамления и заполнения окна
. цвет символов обрамления и заполнения
Экранные координаты передаются в виде числовых величин в порядке,
принятом для команд BOX, CLEAR и т.п. YL,XL - левый верхний, YR,XR -
правый нижний угол. Символы заполнения передаются в виде строковой
переменной, содержащей последовательно символы обрамления, начиная с
верхнего левого угла по часовой стрелке. Последним в последовательности
является символ заполнения внутренней области окна. Цветовая гамма
устанавливается по умолчанию по текущим установкам.
Вывод оконного объекта с эффектом раскрытия осуществляется путем
циклического вызова предыдущей функции с задержкой и изменением координат
на единицу от Х1=(ХR-XL)/2, Y1=(YR-YL)/2 до переданных в качестве
параметра.
Вывод строки подсказки
Особенностью данной функции является необходимость вывода подсказки в
виде этикеток к функциональным клавишам в нижнюю строку экрана и фиксация
этих данных на время работы какой-либо процедуры, а затем восстановление
области экрана, занятой строкой подсказки. Кроме того, необходимо выводить
этикетки только для клавиш, задействованных в данной процедуре.
[pic]
Рис.9 Строка подсказки
Целесообразно в главном модуле программы определить массив с этикетками
для каждой функциональной клавиши, а в функцию передавать только номера или
позиции подлежащих отображению этикеток. В качестве параметра удобно
использовать символьное выражение битовой строки вида “1000001001”,
показывающее, что необходимо вывести в строку подсказки элементы массива с
номерами 1, 7 и 10, а в остальных позициях вывести блоки пробелов.
Поскольку в строку необходимо выводить десять элементов массива с
обозначением номера функциональной клавиши и разделителями, легко
подсчитать, что длина одного элемента составит 6 символов. Примерный вид
фрагмента строки приведен на рис.
Вывод сообщения с ожиданием реакции или выбора пользователя
Поскольку данные функции, написанные, как самостоятельные модули во
многом будут похожи, есть смысл объединить их в одну универсальную
процедуру. Условимся обрабатывать максимально три строки сообщения и до
трех вариантов выбора. При отсутствии в передаваемых параметрах вариантов
выбора, предполагается ожидание нажатия на любую клавишу.
Таким образом, список параметров функции будет следующим:
. Координаты вывода окна объекта
. Строка сообщения 1
. Строка сообщения 2
. Строка сообщения 3
. Строка выбора 1
[pic]
а)
. Строка выбора 2
. Строка выбора 3
[pic]
б)
[pic]
в)
Рис.10 Примеры работы функции при передаче различного количества
параметров.
а - одна строка сообщения б - две строки сообщения и две строки выбора, в -
Одна строка сообщения и три строки выбора.
При вызове функции условимся отсутствующие параметры передавать в виде
пустой строки -«», таким образом упростится анализ переданных параметров в
функции.
Вид выводимого сообщения при передаче в функцию различного количества
параметров приведен на рис.
Алгоритм функции и исходный текст приведен в приложении.
Вывод линейного индикатора процесса и его обновление
Вид линейного индикатора приведен на рис. Использование индикатора
позволяет визуально оценить процент выполнения какой-либо операции в
процессе работы. Для отображения шкалы необходимо иметь следующие данные:
. Количество вычисляемых единиц в 100% шкалы индикатора
[pic]
Рис.11 Линейный индикатор процесса
. Длина шкалы в экранных единицах
. Количество вычисляемых единиц в активной зоне шкалы
Алгоритм функции и исходный текст приведен в приложении.
Вывод транспаранта ожидания
Транспарант ожидания должен выводиться в указанных координатах на время
работы процедуры и иметь обязательную строку “Ожидайте окончания
операции...”, кроме того, можно в качестве параметра передать
дополнительную информацию. Область экрана, занятую сообщением, и ее
координаты необходимо сохранить в переменных для последующего
восстановления. Общий вид транспаранта приведен на рис.
[pic]
Рис.12 Транспарант ожидания
Вспомогательные функции
ФУНКЦИЯ ПЕРЕКЛЮЧЕНИЯ ВИДА КУРСОРА
Данная функция должна обеспечивать отображение курсора ввода в виде линии
при режиме «ЗАМЕНА» и в виде блока в режиме «ВСТАВКА». Для отслеживания
состояния курсора необходима глобальная переменная, которая принимает
значения 1 или 2. Функция должна быть приписана к клавише «Insert» командой
SET KEY.
ФУНКЦИЯ ПЕРЕВОДА СТРОКИ В ВЕРХНИЙ РЕГИСТР
Поскольку в составе Clipper 5.02 не имеется функции Upper, работающей с
символами кириллицы, необходимо обеспечить программу эквивалентной
процедурой. Наиболее просто реализовать функцию путем объявления двух
массивов - исходных символов и символов преобразования с однозначным
соответствием. Поиск исходного символа в первом массиве дает нам индекс
символа преобразования из второго. При отсутствии эквивалента, символ
транслируется без изменения.
ФУНКЦИЯ КОНТРОЛЯ ВЫХОДА
Для корректного закрытия БД и завершения работы необходимо
проконтролировать запросом попытку пользователя выйти из программы. Данная
функция будет содержать обычный запрос на подтверждение выхода, и при
положительном ответе осуществит закрытие всех активных файлов БД и возврат
в ДОС.
ФУНКЦИЯ ПЕРЕВОДА ЧИСЛОВОЙ ВЕЛИЧИНЫ В СТРОКУ «СУММА ПРОПИСЬЮ»
Функция небходима для получения строки, содержащей символьное выражение
числа. Преобразование должно осуществляться с соблюдением правил
грамматики, падежей и склонений. Первая буква строки прописная. Дробная
часть не преобразуется. При переводе валюты в функцию должен быть передан в
качестве параметра код валюты и строка дополнена псевдонимом валюты.
Псевдоним, или краткое наименование извлекается из БД валют по коду валюты,
переданному в функцию в качестве параметра. По умолчанию предполагается
валюта - Российский рубль (код 000 или 002)
Пример:
123456 код валюты 048
Сто двадцать три тысячи четыреста пятьдесят шесть DEM
52567478 без параметра
Пятьдесят два миллиона пятьсот шестьдесят семь тысяч четыреста семьдесят
восемь руб. 00 коп.
Разработка головного модуля программы
Структура функции MAIN
При написании головной функции необходимо описать именно в ней все
массивы и переменные, имеющие статус глобальных - «Public». В этом случае к
ним можно получить доступ из всех процедур и функций системы, использовать
их в качестве объектов для неявной передачи параметров и возврата значений
или результатов работы. Кроме того в головном модуле необходимо произвести
настройку общих параметров Clipper’а, таких, как формат даты, режим поиска
в БД, параметры поиска и сравнения строк и т.п.
Для обеспечения возможности корректировки пользователем цветовой палитры
системы следует определить комплекс переменных, в которых будут храниться
цветовые установки. Количество переменных определится количеством групп
процедур, и числом изменяемых цветов в каждой из них. Распределить функции
на группы можно по следующему принципу:
. Функция главного меню системы
. Функции меню нижних уровней
. Функции ввода данных
. Функции вывода данных
. Функции запросов
. Строка подсказки
Набор переменных цвета должен обеспечить хранение цветовых установок для
прорисовки окна, нормального текста, выделенных и невыделенных объектов для
каждой группы функций. Цветовые установки будут иметь символьное выражение
вида «+GR/B», что позволит производить непосредственную подстановку
переменных в функцию SETCOLOR. Хранение переменных необходимо осуществить в
специальном файле memo - переменных.
[pic]
Рис.13 Алгоритм головного модуля (Функция MAIN)
ФУНКЦИИ ВЫЗОВА МЕНЮ НИЖНИХ УРОВНЕЙ
[pic]
Рис.14 Алгоритм процедуры меню нижних уровней
Данные функции в комплексе с функцией главного меню образуют систему
всплывающих меню программы. Для организации взаимодействия между
процедурами необходимо обеспечить “стыковку” вызывающих и вызываемых
функций. Основной проблемой организации стыка функций является их экранное
взаимодействие т.е. каждая процедура или функция после окончания работы
должна обеспечить восстановление экрана в том состоянии, в каком он был до
вызова функции. Можно поступить несколько по другому: вызывающая функция
обеспечивает сохранение состояния экрана на время работы вызываемой
функции. Функции меню нижних уровней будут построены по одной схеме (Рис.
). Такой подход позволит при необходимости быстро встроить требуемый вызов
в систему меню и, в свою очередь, не требует модулей - заглушек для
отсутствующих процедур.
ФУНКЦИЯ РЕГИСТРАЦИИ ПОКУПКИ ВАЛЮТЫ
Процедуры регистрации валютно-обменных операций будут использовать одну и
ту же форму ввода данных (см. Рис). Редактирование данных будет
осуществляться в переменных соответствующих типов и после контрольного
[pic]
Рис.15 Бланк регистрации валютно-обменной операции и фрагмент справочника
ценностей
[pic]
Рис. 16 Алгоритм (укрупненный) функции регистрации сделки
запроса заноситься в БД операций.
Коды справочных данных вводятся двумя способами: непосредственно в поле
ввода или через список справочника, вызываемого по клавише F3. Для
облегчения работы кассира можно предусмотреть автоматический расчет суммы
после ввода суммы основной валюты. Укрупненный алгоритм функции приведен на
рис.15 .
ФУНКЦИЯ - ОПРЕДЕЛИТЕЛЬ ТЕКУЩЕГО ПОЛЯ ДЛЯ ПОЛУЧЕНИЯ КОДА И НАИМЕНОВАНИЯ
ОБЪЕКТА ИЗ СПРАВОЧНИКА
При организации ввода данных с использованием справочников желательно
обеспечить выбор данных из того или иного справочника в одной функции. Для
обеспечения вывода необходимого на данный момент списка можно применить
функцию GETACTIVE, которая возвращает имя текущего GET-объекта. Анализируя
это имя можно организовать примитивный селектор, который будет формировать
запросы к той или иной БД справочников. Дальнейший выбор организуется в
виде списка с поиском по набору.
Тестирование программного обеспечения.
Тестирование ( наиболее ответственный этап создания программного
обеспечения и заключается он в выполнении программы с целью обнаружения
ошибок.
Среди существующих способов тестирования можно выделить три наиболее
часто применяемых:
. восходящее тестирование;
. нисходящее тестирование;
. метод сэндвича.
Восходящее тестирование.
При восходящем подходе программа собирается и тестируется снизу вверх.
Только модули самого нижнего уровня (модули, не вызывающие других модулей)
тестируются независимо, автономно. После того как тестирование этих модулей
завершено, вызов их должен быть так же надежен, как вызов встроенной
функции языка или оператор присваивания. Затем тестируются модули,
непосредственно вызывающие уже проверенные. Эти модули более высокого
уровня тестируются не автономно, а вместе с уже проверенными модулями более
низкого уровня. Процесс повторяется до тех пор, пока не будет достигнута
вершина. Здесь завершаются и тестирование модулей, и тестирование
сопряжений программы. Для каждого модуля необходимо написать небольшую
ведущую программу.
Нисходящее тестирование.
Нисходящее тестирование не является полной противоположностью
восходящему, но в первом приближении может рассматриваться как таковое. При
нисходящем подходе программа собирается и тестируется сверху вниз.
Изолированно тестируется только головной модуль. После того как
тестирование этого модуля завершено, с ним соединяются один за другим,
модули, непосредственно вызываемые им, и тестируется полученная комбинация.
Процесс повторяется до тех пор, пока не будут собраны и проверены все
модули. Для имитации функций недостающих модулей программируются модули -
”заглушки”, которые моделируют функции отсутствующих модулей.
Метод сэндвича.
Тестирование методом сэндвича представляет собой компромисс между
восходящим и нисходящим подходами. При использовании этого метода
одновременно начинают восходящее и нисходящее тестирование, собирая
программу как снизу так и сверху и встречаясь в конце концов где-то в
середине. Точка встречи зависит от конкретной тестируемой программы и
должна быть заранее определена при изучении ее структуры. Если разработчик
может представить свою систему в виде уровня прикладных модулей, затем
уровня модулей обработки запросов, затем уровня примитивных функций, то он
может решить применять нисходящий метод на уровне прикладных модулей, а на
остальных уровнях применить восходящий метод.
В нашем случае применим метод сэндвича, поскольку перед проектированием
основной программы необходимо создать комплекс интерфейсных и
вспомогательных функций, которые, естественно должны быть проверены до
создания основного тела программы.
Экономическая часть.
В большинстве случаев внедрение вычислительной техники не приносит
прямого экономического эффекта. Это объясняется следующим:
сокращение числа занятых работой, автоматизировать которую призвана
вычислительная техника, происходит редко ( вычислительная техника
автоматизирует труд, а не подменяет собой человека;
внедрение вычислительной техники требует солидных капиталовложений не
только на ее приобретение, но и на обучение персонала работе с ней, а также
приема на работу специалиста для обслуживания вычислительной техники, либо
заключения договора на такое обслуживание;
требуется приобрести, либо же создать собственное программное
обеспечение;
увеличение потребления электроэнергии;
оборудование рабочих мест, установка охранной сигнализации.
Однако, не смотря на выше перечисленные причины, все больше и больше
организаций используют вычислительную технику в своей работе. Это можно
объяснить косвенным эффектом от внедрения вычислительной техники, который
зачастую значительно превышает затраты на приобретение и содержание
вычислительной техники.
Применение вычислительной техники значительно повышает достоверность и
актуальность информации, то есть уменьшается возможность возникновения
ошибки в расчетах, неминуемая при ручном счете. Появляется возможность
получить информацию с нужной степенью детализации с минимальными временными
затратами, что практически невозможно при ручной обработке. Скорость
принятия решения напрямую связана с наличием информации и ее достоверностью
и сказывается на результатах деятельности любой организации.
Все сказанное выше в полной мере относится к рассматриваемой программе.
Она не предназначена для замены человека на его рабочем месте, но способна
облегчить и повысить производительность его труда. В десятки и сотни раз
сокращается время получения информации, повышается качество обслуживания
клиентов. Для расчета экономической эффективности можно условно принять,
что благодаря приобретению программы, организация получает те же
возможности, что и при приеме на работу дополнительно двух человек.
[pic][pic]
Показатели экономической характеристики разработки.
[pic]
Вопросы техники безопасности и охраны труда.
Персональные ЭВМ являются изделиями сложной вычислительной техники и,
как любой прибор требуют при работе с ним соблюдения определенных методов
безопасной работы и техники электробезопасности, незнание, или
пренебрежение которыми может причинить немало неприятностей.
Типичными ощущениями, которые испытывают к концу рабочего дня люди,
работающие с персональными компьютерами, являются головная боль, резь в
глазах, тянущие боли в мышцах шеи, рук и спины, зуд кожи на лице и т.д.
Испытываемые день за днем они могут привести к мигреням, частичной потере
зрения, сколиозу, тремору, кожным воспалениям и другим заболеваниям.
Вероятнее всего человеку уже никогда не удастся полностью избежать
пагубного влияния передовых технологий, но, как и во многих других случаях,
сами пользователи персональных компьютеров, по крайней мере, могут свести
его к минимуму. Большинство проблем решаются сами собой при правильной
организации рабочего места, соблюдении правил техники безопасности и
разумном распределении рабочего времени.
Основным источником эргономических проблем, связанных с охраной здоровья
людей, использующих в своей работе автоматизированные информационные
системы на основе персональных компьютеров, являются дисплеи (мониторы),
особенно дисплеи с электронно-лучевыми трубками. Они представляют собой
источники наиболее вредных излучений, неблагоприятно влияющих на здоровье
операторов.
Результаты, полученные в ходе исследований, носят пока еще
преимущественно статистический характер и не имеют адекватного объяснения.
Частотный спектр излучения монитора характеризуется наличием рентгеновских,
ультрафиолетовых, инфракрасных и других электромагнитных колебаний.
Опасность рентгеновского и части других излучений большинством ученых
признается пренебрежимо малой, поскольку их уровень достаточно невелик и в
основном поглощается покрытием экрана. Наиболее тяжелая ситуация связана,
по-видимому, с полями излучений очень низких частот, которые, как
выяснилось, способны вызывать биологические эффекты при воздействии на
живые организмы. Было обнаружено, что электромагнитные поля с частотой
порядка 60 Гц могут инициировать изменения в клетках животных (вплоть до
нарушения синтеза ДНК). Особенно поразительным для исследователей оказался
тот факт, что, в отличие, например, от рентгеновского излучения,
электромагнитные волны обладают необычным свойством - опасность их
воздействия при снижении интенсивности излучения не уменьшается, мало
того, некоторые поля действуют на клетки тела только при малых
интенсивностях или на конкретных частотах. Согласно одному из объяснений,
сформулированных американскими учеными, переменное электромагнитное поле,
совершающее колебания с частотой порядка 60 Гц, вовлекает в аналогичные
колебания молекулы любого типа, независимо от того, находятся они в мозге
человека или в его теле. Результатом этого является изменение активности
ферментов и клеточного иммунитета, причем сходные процессы наблюдаются в
организмах и при возникновении опухолей. Специальные измерения показали,
что мониторы действительно излучают магнитные волны, по интенсивности не
уступающие уровням магнитных полей, способных обуславливать возникновение
опухолей у людей.
Более серьезные результаты были получены при обследовании беременных
женщин. Оказалось, что для тех женщин, которые проводили за дисплеем
компьютеров не менее 20 часов в неделю, вероятность патологии на 80% выше,
чем для выполняющих аналогичные работы без применения компьютера. При
исследованиях, связанных с изучением глазных заболеваний, выяснилось, что
служащие, работающие за дисплеем по 7 и более часов в день, страдают
воспалениями и другими заболеваниями глаз на 70% чаще тех, кто проводит за
дисплеем меньше времени.
Технические характеристики дисплеев (разрешающая способность, яркость,
контрастность, частота кадровой развертки) в том случае, если на них не
обращают внимания при выборе устройства или неправильно устанавливают,
могут крайне отрицательно сказаться на зрении.
Что касается других функциональных нарушений, то те из них, которые
Страницы: 1, 2, 3
|