
- •Содержание дипломного проекта:
- •Глава 1. Специальная часть. Разработка программного обеспечения управления автоматизированным комплексом многоканальной связи 6
- •1.7.1 Структуры данных 29
- •Введение
- •1.2 Особенности разработки программного обеспечения для микропроцессорных систем
- •1.3 Использование контроллера ат89с51
- •1.3.1 Основные программно-доступные устройства микроконтроллера ат89с51
- •1.3.2 Структурная схема микроЭвм серии мк51
- •1.3.3 Адресные пространства ат89с51
- •1.3.4 Характеристики средств языка ассемблера
- •1.4 Интерфейсы в системах связи
- •1.4.1 Классификация интерфейсов
- •1.4.2 Основы асинхронной последовательной связи
- •1.4.2.1 Контроль по четности и обнаружение ошибок
- •1.4.2.2 Управление потоком с помощью xon/xoff
- •1.5 Общие методы ввода/вывода через коммуникационный порт
- •1.5.1 Последовательный порт с точки зрения программиста
- •1.6 Информационный обмен контроллер - эвм с использованием интерфейса rs-232
- •1.7 Создание программы управления автоматизированным комплексом многоканальной связи
- •1.7.1 Структуры данных
- •1.7.2 Составляющие программы
- •1.7.2.1 Основная программа
- •1.7.2.2 Подпрограмма перезаписи карты памяти
- •1.7.2.3 Подпрограмма связи с внешней пэвм через последовательный порт
- •1.7.3 Тестирование и отладка программы
- •1.7.4 Оформление программы и ее возможная модернизация
- •1.7.5 Надежность программного продукта
- •1.8 Заключение
- •2.2 Этапы решения задачи на эвм
- •1. Постановка задачи.
- •2. Составление проекта.
- •3. Алгоритмизация.
- •4. Программирование.
- •6. Отладка.
- •7. Тестирование.
- •8. Оформление программы.
- •9. Отчет о работе.
- •10. Модернизация.
- •2.3 Проектирование системы
- •2.3.1 Определение основных элементов системы
- •2.3.2 Структурный анализ
- •2.3.3 Структурное проектирование
- •2.3.4 Реализация и испытания
- •2.4 Вспомогательные средства проектирования
- •2.4.1 Графическая схема задания
- •2.4.2 Развернутый план проекта системы
- •2.5 Организация процесса проектирования
- •2.6 Необходимость тестирования программных продуктов
- •2.7 Отладка и общие принципы тестирования программ
- •Алгоритмическое тестирование
- •Функциональное или аналитическое тестирование
- •Содержательное тестирование
- •2.8 Типы тестов
- •2.9 Надежность программного обеспечения
- •2.9.1 Критерии надежности систем
- •2.9.2 Типы программного обеспечения с точки зрения надежности
- •2.9.3 Анализ надежности программного обеспечения
- •2.9.4 Диагностика функционирования комплексов программ
- •2.9.5 Основные факторы, влияющие на надежность функционирования комплексов программ
- •2.10 Разработка программной документации
- •2.11 Заключение
- •Глава 3 Организационно-экономическая часть
- •3.1 Экономическая эффективность программного продукта
- •3.2 Составляющие затрат на создание программного продукта
- •3.2.1 Затраты на непосредственную разработку пп
- •3.2.2 Сложность разработки программного продукта
- •3.2.3 Затраты на изготовление опытного образца как продукции производственно-технического назначения
- •3.2.4 Затраты на создание комплекта документации
- •3.2.5 Затраты на технологию и программные средства автоматизации разработки пп
- •3.3 Составляющие затрат на эксплуатацию программ, влияющих на процесс разработки пп
- •3.4 Составляющие затрат на сопровождение программ
- •3.5 Расчет затрат на программный продукт Исходные данные:
- •Затраты на эксплуатацию программ
- •Затраты на эксплуатацию реализующей эвм
- •Затраты на эксплуатацию
- •4.3 Вредные факторы, присутствующие на
- •4.4 Общие требования к помещению машинного зала
- •4.5 Основные требования к освещению
- •4.6 Расчет общего освещения
- •4.7 Меры защиты от поражения электрическим током
- •4.8 Меры по снижению уровня шума
- •4.9 Защита от излучений
- •Нормирование метеорологических условий в машинном зале
- •4.11 Требования по пожарной безопасности
- •4.12 Психофизиологические опасные и вредные производственные факторы
- •4.13 Планировка рабочего места программиста и организация работы с компьютером
- •4.14 Выводы
- •Используемая литература:
1.7.4 Оформление программы и ее возможная модернизация
Для возможности эксплуатации программы кем-либо кроме автора она должна быть оформлена. Составляется ее описание, излагаются примененные методы решения, приводятся алгоритмы и текст программы. Наличие описания программы позволяет не только успешно эксплуатировать ее длительное время, но и проводить ее модернизацию и использовать в дальнейших разработках. Основную часть описания составляют материалы, с которыми шла работа на предыдущих этапах разработки (проект разработки и описание метода решения, общая блок-схема, алгоритмы, проект инструкции для пользователя и т. п.). Поэтому для ускорения этапа оформления все перечисленные материалы всегда должны быть в рабочем состоянии и по содержанию вполне соответствовать друг другу и отлаженной программе, кроме того, уже на этапах разработки их нужно представлять в таком виде, чтобы они могли быть использованы для описания программы без дополнительных переделок. На основании результатов, полученных в ходе эксплуатации программы, составляется отчет о проделанной работе, оценивается выбранный метод решения задачи и эффективность программы.
Если разработчик программы постоянно работает в некоторой области науки или техники, то обычно рано или поздно наступает такой момент, когда перед ним возникает вопрос о модернизации старой программы или о составлении новой, развивающей идеи, реализованные в прежней программе. Модернизация программы проходит те же этапы, что и разработка, и начинается с составления технического задания на модернизацию. Успешное осуществление модернизации зависит от того, насколько легко можно будет при разработке новой программы использовать блоки старой программы и вносить в них изменения. Быстрое выполнение такого рода работ зависит, в свою очередь, как от структуры модернизируемой программы, так и от качества ее оформления (наличие описания программы, подробных алгоритмов, пояснений к программе и т. п.).
1.7.5 Надежность программного продукта
Надежность является одним из важнейших показателей качества программ, однако они характеризуются еще рядом функциональных и конструкторских критериев качества, выбор которых в значительной степени зависит от их целевого назначения. Проблема обеспечения и анализа надежности систем может быть решена на базе системного подхода с детально проработанной программой работ по исследованию и обеспечению надежности каждой подсистемы в течение всего жизненного цикла.
Программы, разрабатываемые для решения инженерных и научно-исследовательских задач характеризуются неполным использованием ресурсов вычислительных систем и относительно небольшим временем жизненного цикла. Длительность разработки этих программ обычно невелика. Их эксплуатация носит эпизодический и кратковременный характер, отсутствуют жесткие ограничения на допустимую длительность ожидания результатов, практически всегда имеется возможность достаточно строго проконтролировать выходные данные и при необходимости поставить контрольные эксперименты. К этому типу программ практически неприменимы основные понятия теории надежности. И тем не менее, основные принципы создания надежного программного обеспечения справедливы и в этом случае.
Для определения надежности любых систем необходимо проводить регулярный или эпизодический диагноз их состояния. Теория, принципы построения средств и методы организации процесса диагноза систем развиваются в технической диагностике. Их применение для анализа технического состояния комплексов программ имеет ряд особенностей. Основные задачи технической диагностики включают в себя:
проверку исправности системы;
проверку работоспособности системы и возможности выполнения всех функций с характеристиками, заданными технической документацией;
проверку правильности функционирования в данном режиме работы в данный момент времени;
поиск и локализацию неисправностей в системе.
Объем и последовательность проверок, а также методы анализа результатов определяются алгоритмами диагноза. Основная задача диагноза состоит в определении текущего состояния системы, как работоспособного так и неработоспособного.
На надежность функционирования программного обеспечения влияет структура и технология разработки программ. В зависимости от структурного построения программы последствия ошибки могут быть локализованы в некотором небольшом участке программы и данных либо распространиться на значительно большое расстояние от места расположения ошибки. Строгое иерархическое построение программы на базе единообразно оформленных законченных программных модулей обеспечивает снижение вероятности ошибки в каждой команде программы и снижает возможность распространения последствий ошибок за пределы программного модуля. Выбранная в нашем случае линейная организация всех трех частей программы существенно повышает надежность продукта в целом, облегчает тестирование и отладку, поиск и исправление ошибок. Простота реализации заложена в основу написания данной программы.