Автор: Пользователь скрыл имя, 22 Ноября 2011 в 16:29, реферат
Термин информационная система (ИС) используется как в широком, так и в узком смысле.
В широком смысле информационная система есть совокупность технического, программного и организационного обеспечения, а также персонала, предназначенная для того, чтобы своевременно обеспечивать надлежащих людей надлежащей информацией
Прочность объекта -- это мера его внутренних связей.
Сцепление объектов -- это мера взаимодействия объектов друг с другом.
Похожие принципы действуют и на модули внутри каждого уровня:
Моделирование данных
Модель -- это аналог оригинала, который его в чем-то заменяет. Модель данных -- это схема данных предметной области, которая создается с целью правильного отражения действительности в информационной системе.
Данные моделируются с целью построения базы данных.
Реализация -- это процесс воплощения проекта в программы и физические системы.
|
Реализация (или программирование, кодирование) должна быть направлена на наиболее точное воплощение проекта и программных спецификаций в текст программы на языке программирования. Основные критерии -- точность и надежность.
Не следует усложнять программу или применять хитрые трюки программирования для обеспечения чуть большей скорости. Развитие техники идет столь быстрыми темпами, что основной показатель -- это понятность программы, ее пригодность к сопровождению и надежность (см. распределение стоимости). Программа понятна -- это значит, что другой программист той же квалификации сможет легко разобраться в том, как работает эта программа. Обычно, чем выше уровень языка, тем понятнее программа и тем меньше ошибок. Если требуется повысить скорость работы программы, то надо добиваться "макроэффективности", а не "микроэффективности". Тогда скорость возрастет в несколько раз. Самые гениальные решения -- это самые простые решения.
Один из самых хороших методов программирования состоит в том, чтобы сначала все действия процедуры или модуля записать на обычном естественном языке с помощью комментариев. Затем постепенно детализировать действия, переводя некоторые из них на язык программирования до тех пор, пока не получится работающая программа. В этом случае комментарии получатся сами собой.
Повышение надежности системы
Основная причина ошибок -- сложность.
Мерой сложности объекта является количество интеллектуальных усилий, необходимых для понимания этого объекта. Ясно, что для каждого человека эта величина разная. Что сложно для одного человека, может быть просто для другого.
Сложность системы зависит от количества и качества связей между ее компонентами и самих компонет.
|
Чтобы уменьшить сложность объекта, вводятся уровни абстракции, иерархическая структура или модульность. В последнем случае проблема (программа) разбивается на части (модули) до тех пор, пока их не удастся решить (запрограммировать).
Тестирование -- это поиск ошибок в информационной системе.
Ошибка -- это несоответствие того, что есть, тому, что должно быть.
Надежность -- это вероятность безотказной работы в течение некоторого периода времени, рассчитанная с учетом стоимости каждого отказа.
Принципы тестирования
Тестирование проводится для того, чтобы найти немногие оставшиеся ошибки в хорошо спроектированной системе и тем самым повысить ее надежность, а следовательно, ценность. С помощью тестирования нельзя добиться хорошей надежности в плохо спроектированной системе.
Если мы тестируем
программу, то нам нужно окупить
затраты на тестирование, каким-либо
образом повысив стоимость
Удачным
считается тест, который обнаружил ошибку.
Если ни одна ошибка не была обнаружена,
то тест считается неудачным.
После тестирования
нельзя гарантировать отсутствие ошибок,
можно лишь говорить о некотором
уровне уверенности в правильности
работы системы.
Тест -- это совокупность входных данных и/или действий пользователя с указанием ожидаемых результатов и/или ответных действий программы.
Невозможно провести полное всеохватывающее тестирование даже простой программы, так как на это не хватит ни времени, ни ресурсов. Поэтому существует несколько видов тестирования, которые предлагают методики для построения тестов с наибольшей вероятностью обнаружения ошибок. Каждая методика дополняет другую и очень хорошо применять сразу несколько видов тестирования.
Виды тестирования:
Структурное тестирование
При данном подходе
считается, что текст программы
виден (белый ящик).
Тестируются блоки ветвлений, циклы и
т.д.
Существует несколько типов структурного тестирования:
Функциональное тестирование
При данном подходе считается, что текст программы не виден, и программа рассматривается как черный ящик, т.е. известны входные и выходные условия, а также общая схема работы. Программа проверятся по ее спецификациям.
Существуют несколько
видов функционального
Отладка
Отладка -- это исправление найденных ошибок.
Обычно при тестировании обнаруживают не сами ошибки, а их последствия -- симптомы. При отладке настоящую ошибку надо локализовать (т.е. определить место в программе, где она содержится), затем исправить, проверить правильность исправления и провести анализ ошибки.
При исправлении
ошибки высока вероятность внесения
новой ошибки (примерно 20%).
Если программу исправляет не автор, тогда
вероятность еще выше.
Каждую
ошибку следует внимательно изучить, чтобы
понять, почему она возникла,
что должно было быть сделано, чтобы
ее предотвратить или обнаружить раньше.
Внедрение -- это включение информационной системы в предметную область.
Внедрение -- особый этап, так здесь многое зависит от пользователей, разработчиков и их совместной работы. Внедрение должно быть продумано заранее. Составляется поэтапный календарный план, затем он претворяется в жизнь с постоянным контролем за его выполнением.
Первым этапом внедрения является опытная эксплуатация системы.
Технические проблемы могут быть таковы: