Периферийные устройства




Оглавление

 

ВВЕДЕНИЕ

Глава I.              ТЕОРЕТИЧЕСКИЕ ОСНОВЫ РАЗРАБОТКИ ПРОГРАММНЫХ ПРОДУКТОВ

1.1.              Этапы разработки программных продуктов

1.2.              Методы программирования. Основные понятия

1.2.1.              Структурное программирование

1.2.2.              Объектно-ориентированное программирование

1.2.3.              Визуальное программирование

1.3.              Описание выбранного средства разработки

Глава II.              СОЗДАНИЕ ОБУЧАЮЩЕЙ ПРОГРАММЫ ПО ТЕМЕ "ПЕРИФЕРИЙНЫЕ УСТРОЙСТВА"

2.1.              Постановка задачи

2.2.              Разработка модели

2.3.              Проектирование

2.4.              Отладка и тестирование, дневник ошибок

2.5.              Документирование

2.5.1.              Руководство пользователя

2.5.2.              Руководство программиста

ЗАКЛЮЧЕНИЕ

СПИСОК ЛИТЕРАТУРЫ


ВВЕДЕНИЕ

С момента своего первого появления IBM PC вызывали волнение и восхищение: ПК (персональный компьютер) ознаменовал наступление века "персональных" вычислений, кардинально отличающегося от тех дней, когда все компьютеры управлялись посторонними людьми, наделявшими пользователей вычислительной мощью по своему усмотрению. Сегодня ПК представляет собой инструмент, которому нет равных как помощнику в бизнесе и профессиональных сферах деятельности, направленной на повышение производительности  и качества работы. Учащиеся и студенты всех возрастов, и пользователи "на дому" успешно расширяют область применения персональных компьютеров, не зная при этом практически никаких ограничений. Резкое увеличение рынка домашних ПК ускорил разработку постоянно растущей области приложений, начиная от текстовых редакторов для работы на дому и заканчивая технологиями, которые, в самом деле, помогают людям выполнять работы дома. Кроме того, пользователи используют персональный компьютер для поиска рецептов, игр, образовательных и исследовательских целей и др. Компьютер не может выполнять каких либо действий без описания рецептов выполнения, для того, что бы заставить компьютер работать для него необходима правильно работающая программа. Для того, что бы создать правильно работающую программу необходимо использовать соответствующие языки программирования для программы, и использовать методы и технологии разработки программных продуктов.

              В настоящее время ни одна сфера человеческой деятельности не обходится без компьютеров, но особо широко ПК применяются  в сфере экономики, научной, технической сфере, в сфере образования, на производстве и так далее.

Ускорение в последние годы темпов информатизации образования породило почти неконтролируемый процесс создания электронных учебников, обучающих программ, тренажеров, образовательных и развивающих программ на различных носителях, в том числе, сетевых, имеющих значительный спрос среди обучающихся.

Важной особенностью электронного учебного издания должно быть предоставление возможности его корректировки преподавателем-пользователем в соответствии с его представлениями о структуре и содержании частей пособия и обеспечение единства интерфейса пользователя при изменении отдельных составных частей.

Эффективность электронных образовательных продуктов в большой степени зависит от учета разработчиками педагогических аспектов при создании компьютерных обучающих сред.

Разработка большого числа новых электронных учебных пособий, делает чрезвычайно актуальной проблему их качества. Специфика компьютерных дидактических материалов обусловливает необходимость их комплексной оценки, которая включала бы как критерии технического, так и методического плана.

Исходя из вышесказанного, целью курсовой работы - разработка обучающей программы по теме "Периферийные устройства".

Объект исследования – современные методы проектирования программного обеспечения.

Предмет исследования – аспекты разработки обучающих программ в среде ООП Delphi 7,

Основные задачи исследования:

1.      проанализировать научную, техническую, учебную литературу по данной теме;

2.      разработать электронный учебник по теме "Периферийные устройства";

3.      разработать тестирующую программу для проверки усвоенных знаний по теме "Периферийные устройства".

4.      разработать описание программного продукта в соответствии с требованиями ГОСТ и ЕСПД.

Глава I.              ТЕОРЕТИЧЕСКИЕ ОСНОВЫ РАЗРАБОТКИ ПРОГРАММНЫХ ПРОДУКТОВ

1.1.           Этапы разработки программных продуктов

К существенному повышению эффективности работы и качества создаваемого программного продукта (ПП) приводит использование единых правил и технологии. Единый процесс создания ПП должен включать в себя методологию, методы, стандарты и инструментальные средства, которые необходимо использовать при выполнении всех работ по созданию высококачественного ПП. [4, 9, 12]

При создании ПП можно выделить шесть основных этапов работы:

1.                  Планирование программного проекта

Планирование программного проекта. В течение этапа планирования определяются все основные задачи, которые должны быть выполнены в процессе разработки, производится оценка финансовых, людских, технических и нетехнических ресурсов, объемов и сложности разрабатываемого ПП, определяются методы тестирования и критерии приемки ПП, методы и технология выполнения работы, строятся временные графики выполнения работ.

2.                  Составление требований заказчика

В течение этого этапа разработчики анализируют требования к ПП (форма представления информации, необходимые функции, желательные интерфейсы, существующие ограничения и т.д.).

Данный этап служит для выработки взаимопонимания между разработчиками и заказчиком относительно требований к ПП, для устранения неопределенности требований, четкого, однозначного понимания и определения всех деталей, касающихся будущего ПП, и его тестируемости.

Требования тестируемы в такой степени, в какой разработчик тестов может построить ясный тест, дающий однозначный ответ "да" или "нет" и определяющий соответствие разрабатываемого ПП данной спецификации требований. Для тестируемости специ­фикация должна быть очень конкретной, недвусмысленной и обладать по возможности количественными характеристиками.

 

3.                  Проектирование ПП

Проектирование программного продукта. Этап проектирования предназначен для выработки и детализации модели разрабатываемого ПП. Такая модель определяет структуру ПП, организацию модулей, интерфейсов и данных, описание которых необходимо для последующего этапа реализации. Этап проектирования может быть представлен совокупностью компонентов проектирования, для каждого из которых определены набор свойств и связи с другими компонентами.

Компонентой проектирования является элемент проектирования, полученный в результате декомпозиции требований заказчика к ПП. Компоненты проектирования могут быть системами, подсистемами, модулями, элементами данных, процессами и т.п. Все они обладают общими характеристиками, называемыми атрибутами компонент. Для компонент проектирования могут быть определены следующие атрибуты:

название компоненты – ее уникальное имя;

тип компоненты – ее сущность (подсистема, процедура, процесс, элемент данных и т.д.);

функция – выполняемые компонентой действия;

зависимости – описание взаимосвязей с другими компонентами;

интерфейсы – описание методов взаимодействия с другими компонентами;

ресурсы – описание необходимой аппаратной, библиотечной или другой поддержки;

обработка – описание алгоритма выполнения функции;

данные – описание внутренних структур данных.

Перечень необходимых компонент, их названия и назначения определяются в зависимости от выбранного способа построения модели ПП и, в первую очередь, от выбранной методики программирования (например, структурное программирование или объектно-ориентированное). Каждая из этих методик имеет свои способы построения модели ПП.

Результаты проектирования представляются в виде описания компонент проектирования по определенному набору атрибутов.

4.                  Разработка программного продукта

На этапе разработки ПП выполняются следующие основные действия:

-                     кодирование

Кодирование представляет собой процесс преобразования результатов высокоуровнего и низкоуровнего проектирования в готовый программный продукт. Другими словами, при кодировании происходит описание составленной модели ПП средствами выбранного языка программирования, которым может быть любой из существующих языков. Выбор языка осуществляется либо по желанию заказчика, либо с учетом решаемой задачи и личного опыта разработчиков. При кодировании необходимо следовать стандарту на выбранный язык.

Следование стандарту и правилам компании позволяет создать корректно работающую, легко читаемую, понятную другим разработчикам программу, содержащую сведения о разработчике, дату создания, имя и назначение, а также и необходимые данные для управления конфигурацией.

-                     тестирование

На этапе кодирования программист пишет программы и сам их тестирует. Эта технология называется тестированием "стеклянного ящика" (glass box); иногда ее еще называют тестированием "белого ящика" (white box) в противоположность классическому понятию "черного ящика" (black box).

При тестировании "стеклянного ящика" ситуация совершенно иная. Тестировщик (в данном случае сам программист) разрабатывает тесты, основываясь на знании исходного кода, к которому он имеет полный доступ

-                     разработка справочной системы ПП;

Справочная система ПП формируется на основе материала, разработанного для руководства пользователя. Формирует и составляет ее ответственный за выполнение этой работы. Им может быть технический редактор, так и один из разработчиков совместно с техническим редактором.

-                     создание документации пользователя;

Целесообразно одного из сотрудников проекта назначать техническим редактором документации. Этот сотрудник может выполнять и другую работу, но главной его задачей должен быть анализ документации, даже если ее разрабатывают и другие сотрудники.

Часто бывает так, что над созданием ПП работают несколько человек, но никто из них не несет полной ответственности за его качество. В результате ПП не только не выигрывает от того, что егo разрабатывает большее число людей, но еще и проигрывает, поскольку каждый подсознательно перекладывает ответственность т другого и ожидает, что ту или иную часть работы выполнят его коллеги. Эту проблему и решает назначение редактора, несущего полную ответственность за качество и точность технической документации.

-                     создание версии и инсталляции ПП.

Это действие позволяет автоматизировать процесс установки ПП на компьютеры пользователей, предоставляя им при этом возможность выбора различных сценариев установки и обеспечивая корректность его дальнейшей работы. При инсталляции ПП как бы "погружается" в то программное окружение, в котором он должен работать. Кроме того, у разработчиков ПП появляется прекрасная возможность запретить несанкционированные "пиратские" установки (например, с помощью проверки серийного номера ПП). Процесс инсталляции ПП обязательно должен быть описан в руководстве пользователя либо в отдельной брошюре.

5.                  Тестирование ПП

Тестирование представляет собой деятельность по проверке программного кода и документации. Она должна заранее планироваться и систематически проводиться специально назначенным независимым тестировщиком. Работа тестировщика начинается до утверждения спецификаций требований. Он проверяет требования к ПП на полноту и возможность тестирования, определяет методы тестирования.

Одновременно с началом этапа планирования и создания спецификаций требований тестировщик разрабатывает стратегию тестирования. После утверждения спецификаций требований им разрабатывается и детализируется план тестирования. Тогда же тестировщик создает наборы тестов для проведения интеграционного и системного тестирований. Тестирование завершается созданием отчета о тестировании, в котором представляются все результаты его проведения.

Для каждого программного изделия должен существовать набор тестов, проверяющий его корректность. Существует несколько уровней тестирования, позволяющих полностью проверить программное изделие. Каждый уровень имеет свои цели и композиты.

Можно выделить пять уровней тестирования: модульное; интеграционное; системное; выходное; приемочное.

Тестирование первых четырех уровней проводится внутри организации, тогда как приемочное тестирование выполняется совестно с представителями заказчика. Тестирование первого уровня осуществляет сам разработчик на этапе разработки, за остальные уровни отвечает независимый тестировщик.

Циклом тестирования называется совокупность действий, выполняемых тестировщиком с момента передачи базовой версии ПП тестировщику для интеграционного, системного или приемочного тестирования до момента успешного завершения тестирования. На каждом проходе цикла тестирования создаются:

-                     базовая версия ПП, подлежащего тестированию;

-                     отчет о ходе тестирования;

-                     метрики тестирования (заносятся в базу данных проекта).

Этап тестирования не имеет четко определенного начала, но чем раньше он начинается, тем больше уверенности, что разрабатываемый ПП будет точно соответствовать требованиям заказчика.

6.                  Сопровождение ПП

Сопровождение ПП – это процесс адаптации поставляемого ПП к новым условиям, внесения изменений в ПП и соответствующую документацию, вызванных возникшими проблемами или потребностями в модификации, при сохранении неизменными его основных функций. Сопровождение ПП выполняется сопровождающей организацией или службой сопровождения организации, разработавшей ПП.

В задачи сопровождения ПП входят обновление, приводящее к изменению функционального назначения ПП, и исправление, не затрагивающее функционального назначения ПП. Обновление ПП осуществляют путем подачи заявки на изменение ПП. Исправление ПП включает в себя корректирующее сопровождение (обработка, локализация или исправление ошибок в программах), адаптивное сопровождение (приспособление к новому окружению) и совершенствующее сопровождение (улучшение характеристик или эксплуатационной надежности).

Процесс сопровождения включает в себя следующие основные действия.

-                     подготовительная работа, предусматривающая: планирование действий и работ, выполняемых в процессе со­провождения;

-                     определение процедур локализации и разрешения проблем, Возникающих в процессе сопровождения;

-                     анализ проблем и запросов на модификацию ПП, предполагающий: анализ сообщения о возникшей проблеме или запроса на мо­дификацию ПП, в ходе которого изучаются возможность выпол­нения модификации, ее тип (корректирующая, улучшающая, профилактическая или адаптирующая к новой среде), масштаб (размеры модификации, стоимость и время ее реализации); критичность (воздействие на надежность, производительность и безопасность); оценку целесообразности проведения работ и вариантов ее проведения; утверждение выбранного варианта модификации.

-                     модификация ПП, предусматривающая определение компонентов ПП, их версий и документации, подлежащих модификации, и внесение необходимых изменений;

-                     проверка и приемка, в ходе которых проверяется целостность модифицированного ПП и утверждаются внесенные изменения;

-                     перенос (конвертирование) ПП в новую среду работы;

-                     снятие ПП с эксплуатации.

На этапе сопровождения составляют отчеты по обзорам новых версий ПП; по метрикам сопровождения; о завершении жизненного цикла ПП (смерти ПП).

Первые два этапа создания ПП начинаются практически одновременно, при этом этап планирования программного проекта заканчивается всегда раньше, чем этап составления требований заказчика. На этих двух этапах определяют содержание и сроки работы по созданию будущего ПП. Большая длительность этих этапов объясняется тем, что в процессе работы над ПП приходится вносить коррективы в план работ, а также, возможно, и в требования к ПП.

Этап тестирования начинается практически одновременно с этапами 1 и 2. Такое раннее начало тестирования позволяет выявить ошибки на первых стадиях, что в дальнейшем дает возможность сэкономить время и средства на устранение ошибок. На ранних стадиях тестируется не сам ПП, а разрабатываемая проектная документация.

 

1.2.           Методы программирования. Основные понятия

1.2.1.     Структурное программирование

Появление новой технологии, или, как еще говорят, дисциплины программирования, основанной на структурном подходе, связано с именем известного голландского ученого Э. Дейкстры (1965 г.). В своих работах он высказал предположение, что оператор GOTO может быть исключен из языков программирования.

Структурное программирование можно толковать как проектирование, написание и тестирование программы в соответствии с заранее определенной дисциплиной.

Структурный подход к программированию как раз и имеет целью снижение трудоемкости всего процесса создания программного обеспечения от технического задания на разработку до завершения эксплуатации. Он означает необходимость единой дисциплины на всех стадиях разработки программы. В понятие структурного подхода к программированию обычно включают нисходящие методы разработки программ (принцип “сверху вниз”), собственно структурное программирование и так называемый сквозной структурный контроль [12]

Основной целью структурного программирования является уменьшение трудностей тестирования и доказательства правильности программы. Это особенно важно при разработке больших программных систем. Опыт применения методов структурного программирования при разработке ряда сложных операционных систем показывает, что правильность логической структуры системы поддается доказательству, а сама программа допускает достаточно полное тестирование. В результате в готовой программе встречаются только тривиальные ошибки кодирования, которые легко исправляются.

Структурное программирование улучшает ясность и читабельность программ. Программы, которые написаны с использованием традиционных методов, особенно те, которые перегружены операторами GOTO, имеют хаотичную структуру. Структурированные программы имеют последовательную организацию, поэтому возможно читать такую программу сверху донизу без перерыва.

Наконец, структурное программирование призвано улучшить эффективность программ.

К основным методам структурного программирования относится, прежде всего, отказ от бессистемного употребления оператора GOTO и преимущественное использование других структурированных операторов, методы нисходящего проектирования разработки программы, идеи пошаговой детализации и некоторые другие соглашения, касающиеся дисциплины программирования.

Всякая программа, в соответствии с структурным подходом к программированию, может быть построена только с использованием трех основных типов блоков:

1. Функциональный блок, который на блок-схеме изображается в виде прямоугольников с одним входом и одним выходом.

Функциональному блоку в языках программирования соответствуют операторы ввода и вывода или любой оператор присваивания. В виде функционального блока может быть изображена любая последовательность операторов, выполняющихся один за другим, имеющая один вход и один выход.

2. Условная конструкция.

Этот блок включает проверку некоторого логического условия (P), в зависимости от которого выполняется либо один (S1), либо другой (S2) операторы:

3. Блок обобщенного цикла. Этот блок обеспечивает многократное повторение выполнения оператора S пока выполнено логическое условие P: цикл с параметром и цикл с предусловием.

При конструировании программы с использованием рассмотренных типов блоков эти блоки образуют линейную цепочку так, что выход одного блока подсоединяется к входу следующего. Таким образом, программа имеет линейную структуру, причем порядок следования блоков соответствует порядку, в котором они выполняются. [3, 12]

1.2.2.     Объектно-ориентированное программирование

Как уже отмечалось, в настоящее время растет популярность методологией, ориентированных на данные. В первую очередь, это объектно-ориентированное программирование.

Объектно-ориентированная методология проектирования программ основана на концепциях упрятывания информации и абстрактных типов данных. Такой подход рассматривает все такие ресурсы как данные, модули и системы объектов. Каждый объект содержит некоторую структуру данных (или тип данных), обрамленную набором процедур (методов), предназначенных для манипулирования этими данными. Используя эту методологию, программист может создать свой собственный абстрактный тип и отобразить проблемную созданные им абстракции вместо традиционного отображения проблемной области в предопределенные управляющие структуры и структуры данных языка программирования. Подобный подход является более естественным, чем методологии, ориентированные на обработку (на процесс), из-за возможности использовать в процессе программирования разнообразные виды абстракции типов данных. На этом пути программист может сконцентрироваться на проекте системы, не беспокоясь о деталях информационных объектов, используемых в системе.

Основные шаги разработки программы, предусмотренные данной методологией:

-                     определить проблему;

-                     развить неформальную стратегию, представляющую общую последовательность шагов, удовлетворяющую требованиям к будущей программе;

-                     формализовать стратегию;

-                     идентифицировать объекты и их атрибуты;

-                     идентифицировать операции;

-                     установить интерфейсы;

-                     реализовать операции.

Большинство современных языков и систем программирования развиваются в направлении все большего использования объектной методологии в создании программ. Характерными примерами являются универсальные языки: Паскаль, Си [10]

1.2.3.     Визуальное программирование

Технологии объектного, событийного и структурного программирования сегодня объединены в RAD-системах (Rapid Application Development – среда быстрой разработки приложений), которые содержат множество готовых классов, представленных в виде визуальных компонентов, которые добавляются в программу одним щелчком мыши. Программисту надо только спроектировать внешний вид окон своего приложения и определить обработку основных событий – какие операторы будут выполняться при нажатии на кнопки, при выборе пунктов меню или щелчках мышкой. Весь вспомогательный исходный код среда сгенерирует сама, позволяя программисту полностью сосредоточиться только на реализации алгоритма [12]

Визуальное программирование основывается на объектно-ориентированном программировании и OLE-технологии или подобных ей технологиях.

Элементы визуального программирования широко используются в конкретных языках программирования и средствах создания приложений от Visual C++ до Delphi (от лат. visualis - зрительный)

В основе создания графических приложений лежат несколько очень простых понятий.

Рисунок в целом называется формой, а поля ввода, вывода, кнопки и все прочее, что располагается на форме – компонентами. Каждый компонент характеризуется рядом признаков, которые называются свойствами.

Для решения задачи может потребоваться несколько форм. Та форма, из которой вызываются все остальные, называется главной. Все другие формы – второстепенные. Главная форма в задаче присутствует всегда, второстепенных форм может быть несколько или не быть вообще.

Процесс событие-отклик-событие-отклик называется событийным управлением, он лежит в основе работы всех современных графических программ.

Начиная работу со средой нужно:

-                     уяснить задачу, которую собираетесь решать на компьютере;

-                     нарисовать на бумаге все то, что предполагаете увидеть на экране в процессе решения. Это может быть один или несколько рисунков. Если задача сложная, ее следует разбить на этапы и для каждого этапа сделать отдельный рисунок;

-                     написать сценарий работы будущей программы. Местом развертывания действия является экран, а зритель не просто смотрит, но и участвует в "спектакле". В сценарии должно быть учтено все: что выводится на экран вначале, что делается потом, как программа завершается, т.д.

Действия среды и действия программиста:

-                     среда строит по вашим указаниям форму со всеми компонентами (редактируемыми полями, кнопками, надписями) и формирует исходный код соответствующей программы. По объему это львиная доля работы, но она выполняется за несколько минут;

-                     программист дописывает на языке программирования детали программы – процедуры обработки событий. Он делает это во встроенном в среду редакторе кода;

-                     среда по команде программиста компилирует весь исходный код и запускает программу.

Структура программы состоит из нескольких частей: файл исходного кода на языке программирования (подготовленная средой основа + ваши детали) и файл формы (его тоже создает среда). Эти файлы и ряд других файлов, которые также нужны для решения задачи, составляют проект. Для каждой отдельной задачи создается свой проект.

1.3.           Описание выбранного средства разработки

Язык 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]

Периферийные устройства