Автор: Пользователь скрыл имя, 12 Марта 2012 в 18:52, курсовая работа
Основные задачи исследования:
1. проанализировать научную, техническую, учебную литературу по данной теме;
2. разработать электронный учебник по теме "Периферийные устройства";
ВВЕДЕНИЕ 3
Глава I. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ РАЗРАБОТКИ ПРОГРАММНЫХ ПРОДУКТОВ 5
1.1. Этапы разработки программных продуктов 5
1.2. Методы программирования. Основные понятия 11
1.2.1. Структурное программирование 11
1.2.2. Объектно-ориентированное программирование 14
1.2.3. Визуальное программирование 15
1.3. Описание выбранного средства разработки 17
Глава II. СОЗДАНИЕ ОБУЧАЮЩЕЙ ПРОГРАММЫ ПО ТЕМЕ "ПЕРИФЕРИЙНЫЕ УСТРОЙСТВА" 25
2.1. Постановка задачи 25
2.2. Разработка модели 27
2.3. Проектирование 27
2.4. Отладка и тестирование, дневник ошибок 30
2.5. Документирование 32
2.5.1. Руководство пользователя 32
2.5.2. Руководство программиста 32
ЗАКЛЮЧЕНИЕ 34
СПИСОК ЛИТЕРАТУРЫ 36
- метрики тестирования (заносятся в базу данных проекта).
Этап тестирования не имеет четко определенного начала, но чем раньше он начинается, тем больше уверенности, что разрабатываемый ПП будет точно соответствовать требованиям заказчика.
6. Сопровождение ПП
Сопровождение ПП – это процесс адаптации поставляемого ПП к новым условиям, внесения изменений в ПП и соответствующую документацию, вызванных возникшими проблемами или потребностями в модификации, при сохранении неизменными его основных функций. Сопровождение ПП выполняется сопровождающей организацией или службой сопровождения организации, разработавшей ПП.
В задачи сопровождения ПП входят обновление, приводящее к изменению функционального назначения ПП, и исправление, не затрагивающее функционального назначения ПП. Обновление ПП осуществляют путем подачи заявки на изменение ПП. Исправление ПП включает в себя корректирующее сопровождение (обработка, локализация или исправление ошибок в программах), адаптивное сопровождение (приспособление к новому окружению) и совершенствующее сопровождение (улучшение характеристик или эксплуатационной надежности).
Процесс сопровождения включает в себя следующие основные действия.
- подготовительная работа, предусматривающая: планирование действий и работ, выполняемых в процессе сопровождения;
- определение процедур локализации и разрешения проблем, Возникающих в процессе сопровождения;
- анализ проблем и запросов на модификацию ПП, предполагающий: анализ сообщения о возникшей проблеме или запроса на модификацию ПП, в ходе которого изучаются возможность выполнения модификации, ее тип (корректирующая, улучшающая, профилактическая или адаптирующая к новой среде), масштаб (размеры модификации, стоимость и время ее реализации); критичность (воздействие на надежность, производительность и безопасность); оценку целесообразности проведения работ и вариантов ее проведения; утверждение выбранного варианта модификации.
- модификация ПП, предусматривающая определение компонентов ПП, их версий и документации, подлежащих модификации, и внесение необходимых изменений;
- проверка и приемка, в ходе которых проверяется целостность модифицированного ПП и утверждаются внесенные изменения;
- перенос (конвертирование) ПП в новую среду работы;
- снятие ПП с эксплуатации.
На этапе сопровождения составляют отчеты по обзорам новых версий ПП; по метрикам сопровождения; о завершении жизненного цикла ПП (смерти ПП).
Первые два этапа создания ПП начинаются практически одновременно, при этом этап планирования программного проекта заканчивается всегда раньше, чем этап составления требований заказчика. На этих двух этапах определяют содержание и сроки работы по созданию будущего ПП. Большая длительность этих этапов объясняется тем, что в процессе работы над ПП приходится вносить коррективы в план работ, а также, возможно, и в требования к ПП.
Этап тестирования начинается практически одновременно с этапами 1 и 2. Такое раннее начало тестирования позволяет выявить ошибки на первых стадиях, что в дальнейшем дает возможность сэкономить время и средства на устранение ошибок. На ранних стадиях тестируется не сам ПП, а разрабатываемая проектная документация.
Появление новой технологии, или, как еще говорят, дисциплины программирования, основанной на структурном подходе, связано с именем известного голландского ученого Э. Дейкстры (1965 г.). В своих работах он высказал предположение, что оператор GOTO может быть исключен из языков программирования.
Структурное программирование можно толковать как проектирование, написание и тестирование программы в соответствии с заранее определенной дисциплиной.
Структурный подход к программированию как раз и имеет целью снижение трудоемкости всего процесса создания программного обеспечения от технического задания на разработку до завершения эксплуатации. Он означает необходимость единой дисциплины на всех стадиях разработки программы. В понятие структурного подхода к программированию обычно включают нисходящие методы разработки программ (принцип “сверху вниз”), собственно структурное программирование и так называемый сквозной структурный контроль [12]
Основной целью структурного программирования является уменьшение трудностей тестирования и доказательства правильности программы. Это особенно важно при разработке больших программных систем. Опыт применения методов структурного программирования при разработке ряда сложных операционных систем показывает, что правильность логической структуры системы поддается доказательству, а сама программа допускает достаточно полное тестирование. В результате в готовой программе встречаются только тривиальные ошибки кодирования, которые легко исправляются.
Структурное программирование улучшает ясность и читабельность программ. Программы, которые написаны с использованием традиционных методов, особенно те, которые перегружены операторами GOTO, имеют хаотичную структуру. Структурированные программы имеют последовательную организацию, поэтому возможно читать такую программу сверху донизу без перерыва.
Наконец, структурное программирование призвано улучшить эффективность программ.
К основным методам структурного программирования относится, прежде всего, отказ от бессистемного употребления оператора GOTO и преимущественное использование других структурированных операторов, методы нисходящего проектирования разработки программы, идеи пошаговой детализации и некоторые другие соглашения, касающиеся дисциплины программирования.
Всякая программа, в соответствии с структурным подходом к программированию, может быть построена только с использованием трех основных типов блоков:
1. Функциональный блок, который на блок-схеме изображается в виде прямоугольников с одним входом и одним выходом.
Функциональному блоку в языках программирования соответствуют операторы ввода и вывода или любой оператор присваивания. В виде функционального блока может быть изображена любая последовательность операторов, выполняющихся один за другим, имеющая один вход и один выход.
2. Условная конструкция.
Этот блок включает проверку некоторого логического условия (P), в зависимости от которого выполняется либо один (S1), либо другой (S2) операторы:
3. Блок обобщенного цикла. Этот блок обеспечивает многократное повторение выполнения оператора S пока выполнено логическое условие P: цикл с параметром и цикл с предусловием.
При конструировании программы с использованием рассмотренных типов блоков эти блоки образуют линейную цепочку так, что выход одного блока подсоединяется к входу следующего. Таким образом, программа имеет линейную структуру, причем порядок следования блоков соответствует порядку, в котором они выполняются. [3, 12]
Как уже отмечалось, в настоящее время растет популярность методологией, ориентированных на данные. В первую очередь, это объектно-ориентированное программирование.
Объектно-ориентированная методология проектирования программ основана на концепциях упрятывания информации и абстрактных типов данных. Такой подход рассматривает все такие ресурсы как данные, модули и системы объектов. Каждый объект содержит некоторую структуру данных (или тип данных), обрамленную набором процедур (методов), предназначенных для манипулирования этими данными. Используя эту методологию, программист может создать свой собственный абстрактный тип и отобразить проблемную созданные им абстракции вместо традиционного отображения проблемной области в предопределенные управляющие структуры и структуры данных языка программирования. Подобный подход является более естественным, чем методологии, ориентированные на обработку (на процесс), из-за возможности использовать в процессе программирования разнообразные виды абстракции типов данных. На этом пути программист может сконцентрироваться на проекте системы, не беспокоясь о деталях информационных объектов, используемых в системе.
Основные шаги разработки программы, предусмотренные данной методологией:
- определить проблему;
- развить неформальную стратегию, представляющую общую последовательность шагов, удовлетворяющую требованиям к будущей программе;
- формализовать стратегию;
- идентифицировать объекты и их атрибуты;
- идентифицировать операции;
- установить интерфейсы;
- реализовать операции.
Большинство современных языков и систем программирования развиваются в направлении все большего использования объектной методологии в создании программ. Характерными примерами являются универсальные языки: Паскаль, Си [10]
Технологии объектного, событийного и структурного программирования сегодня объединены в RAD-системах (Rapid Application Development – среда быстрой разработки приложений), которые содержат множество готовых классов, представленных в виде визуальных компонентов, которые добавляются в программу одним щелчком мыши. Программисту надо только спроектировать внешний вид окон своего приложения и определить обработку основных событий – какие операторы будут выполняться при нажатии на кнопки, при выборе пунктов меню или щелчках мышкой. Весь вспомогательный исходный код среда сгенерирует сама, позволяя программисту полностью сосредоточиться только на реализации алгоритма [12]
Визуальное программирование основывается на объектно-ориентированном программировании и OLE-технологии или подобных ей технологиях.
Элементы визуального программирования широко используются в конкретных языках программирования и средствах создания приложений от Visual C++ до Delphi (от лат. visualis - зрительный)
В основе создания графических приложений лежат несколько очень простых понятий.
Рисунок в целом называется формой, а поля ввода, вывода, кнопки и все прочее, что располагается на форме – компонентами. Каждый компонент характеризуется рядом признаков, которые называются свойствами.
Для решения задачи может потребоваться несколько форм. Та форма, из которой вызываются все остальные, называется главной. Все другие формы – второстепенные. Главная форма в задаче присутствует всегда, второстепенных форм может быть несколько или не быть вообще.
Процесс событие-отклик-событие-отклик называется событийным управлением, он лежит в основе работы всех современных графических программ.
Начиная работу со средой нужно:
- уяснить задачу, которую собираетесь решать на компьютере;
- нарисовать на бумаге все то, что предполагаете увидеть на экране в процессе решения. Это может быть один или несколько рисунков. Если задача сложная, ее следует разбить на этапы и для каждого этапа сделать отдельный рисунок;
- написать сценарий работы будущей программы. Местом развертывания действия является экран, а зритель не просто смотрит, но и участвует в "спектакле". В сценарии должно быть учтено все: что выводится на экран вначале, что делается потом, как программа завершается, т.д.
Действия среды и действия программиста:
- среда строит по вашим указаниям форму со всеми компонентами (редактируемыми полями, кнопками, надписями) и формирует исходный код соответствующей программы. По объему это львиная доля работы, но она выполняется за несколько минут;
- программист дописывает на языке программирования детали программы – процедуры обработки событий. Он делает это во встроенном в среду редакторе кода;
- среда по команде программиста компилирует весь исходный код и запускает программу.
Структура программы состоит из нескольких частей: файл исходного кода на языке программирования (подготовленная средой основа + ваши детали) и файл формы (его тоже создает среда). Эти файлы и ряд других файлов, которые также нужны для решения задачи, составляют проект. Для каждой отдельной задачи создается свой проект.
Язык Object Pascal, используется в системе визуального программирования Delphi фирмы Borland. Строго говоря, в системе программирования Delphi 7 используется язык программирования Delphi, который создан фирмой Borland в развитие языка Object Pascal. Но в специальной литературе различия между ними не подчеркиваются благодаря тому, что Borland – единственная крупная фирма, поддерживающая язык Object Pascal. Object Pascal обеспечивает значительно более высокую скорость разработки программ: за счет обнаружения на этапе компиляции программы ряда ошибок, которые компилятор языка C++ пропускает без предупреждения. В то же время Object Pascal в полной мере реализует концепции объектно-ориентированного программирования, в чем практически не уступает C++. Язык Object Pascal является строгим языком, что во многом обусловлено учебным характером его предшественника языка Pascal.
Delphi 7 представляет собой достаточно мощную систему визуального объектно-ориентированного программирования. Используя Delphi 7, даже начинающие программисты могут создавать оконные интерфейсы, удовлетворяющие стандартам Windows, причем довольно быстро и легко. Спектр отраслей, в которых возможно применение Delphi, достаточно широк: инженерные, офисные, торговые и др.. Используя Delphi, можно разрабатывать библиотеки .DLL компонентов, форм, функций, работать с удаленными и локальными базами данных любых типов (InterBase, Sybase, Microsoft SQL, Oracle, dBase, Paradox и др.). Delphi является одним из самых распространенных средств создания приложений баз данных. Он позволяет автономно отлаживать приложения работы с базами данных на локальном сервере InterBase, поставляемом вместе с Delphi. Простата языка и эффективность (небольшие размеры и высокая производительность) создаваемых с его помощью программ сделали Delphi незаменимым средством разработки приложений для доступа к базам данных. Также Delphi используется для генерирования и вывода на печать сложных отчетов баз данных. [2]