Программа на языке программирования высокого уровня Borland Delphi 7.0

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

Рубрика Программирование, компьютеры и кибернетика
Вид отчет по практике
Язык русский
Дата добавления 24.11.2014
Размер файла 700,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru

Содержание

Введение

Глава 1. Характеристика предприятия

1.1 Краткое описание и структура предприятия

1.2 Ознакомление с инструкциями по занимаемой должности, охране труда, технике безопасности и пожарной безопасности при работе с вычислительной техникой

1.3 Анализ технических возможностей и программного обеспечения компьютерной техники, задействованной на предприятии

Глава 2. Описание технологии выполнения практического задания

2.1 Исследование предметной области поставленной задачи

2.2 Выбор технологии, языка и среды разработки

2.3 Разработка UML - диаграмм и их описание

Глава 3. Разработка программного обеспечения

3.1 Разработка структуры программного обеспечения

3.2 Описание основных алгоритмов работы программного обеспечения

3.3 Проектирование пользовательского интерфейса

Глава 4. Тестирование программного обеспечения

4.1 Выбор стратегии тестирования

4.2 Разработка тестовых наборов

4.3 Анализ результатов тестирования

Заключение

Список использованных источников

Введение

Производственная практика проводилась на предприятии «ООО ПРОФИ-Т», с целью освоения интеграции программных модулей. Сроки производственной практики с «14» июня 2014 г. по «4» июля 2014 г., общий объём учебного времени - 72 часа. Главная цель практики получить опыт работы с программами высокого уровня и научиться интегрировать программные модули.

Глава 1. Характеристика предприятия

1.1 Краткое описание и структура предприятия

«ООО ПРОФИ-Т» работает на рынке оказания услуг в сфере экономики с июля 2002 года. Компания предлагаем комплекс услуг по ведению бухгалтерского и налогового учета, а также другие экономические услуги.

Сфера деятельности предприятия:

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

Услуги:

Услуги по ведению бухгалтерского учета

Ведение бухгалтерского и налогового учета. Аудит. 

Составление бухгалтерской и налоговой отчетности.

Полное обслуживание всей внешнеэкономической деятельности Вашего предприятия.

Возврат НДС при экспорте товаров.

Оформление заявление при импорте товаров из РБ.

Анализ и оптимизация налогообложения.

Восстановление бухгалтерского и налогового учета прошлых периодов.

Расчетно-кассовое и банковское обслуживание

Документирование операций при работе с ККТ.

Оформление паспорта-сделки.

Составление и сдача всех сопутствующих документов по экспорту и импорту в банк.

Учет операций по рублевым и валютным счетам в различных банках.

Представительство и консультации 

Услуги по приему, обработке и отправке корреспонденции и электронной почты.

Консультации в сфере экономики, маркетинга.

Предоставление юридического адреса.

Юридические услуги

Представительство в суде по налоговым спорам.

Регистрация, реорганизация и ликвидация Юридических лиц и Индивидуальных предпринимателей.

Разработка договоров, соглашений, заявлений и иных документов.

Лицензирование услуг по транспортным перевозкам.

Оформление сертификата происхождения товара по форме СТ-1.

Кадровый учет

Оформление трудовых отношений в организации (прием, увольнение).

Формирование штатного расписания.

Оформление медицинских полисов, добровольного и обязательного страхования, пенсионного страхования.

Сдача отчетности в налоговые органы (НДФЛ, личные карточки, 2НДФЛ, 3НДФЛ), ПФ РФ.

1.2 Ознакомление с инструкциями по занимаемой должности, охране труда, технике безопасности и пожарной безопасности при работе с вычислительной техникой

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

Требования безопасности перед началом работы

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

Требования безопасности во время работы

Для снижения или предотвращения влияния опасных и вредных факторов необходимо соблюдать санитарные правила и нормы, гигиенические требования к видеодисплейным терминалам, персональным электронно-вычислительным машинам и организации работы (Утверждено Постановлением Госкомсанэпиднадзора России от 14 июля 1996 г. N 14 СанПиН 2.2.2.542-96), и Приложение 1,2

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

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

Запрещается под напряжением очищать от пыли и загрязнения электрооборудование.

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

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

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

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

Требования безопасности в аварийных ситуациях

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

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

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

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

Искусственное дыхание пораженному электрическим током производится вплоть до прибытия врача.

На рабочем месте запрещается иметь огнеопасные вещества

В помещениях запрещается:

а) зажигать огонь;

б) включать электрооборудование, если в помещении пахнет газом;

в) курить;

г) сушить что-либо на отопительных приборах;

д) закрывать вентиляционные отверстия в электроаппаратуре

Источниками воспламенения являются:

а) искра при разряде статического электричества

б) искры от электрооборудования

в) искры от удара и трения

г) открытое пламя

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

Помещения с электрооборудованием должны быть оснащены огнетушителями типа ОУ-2 или ОУБ-3.

Требования безопасности по окончании работы

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

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

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

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

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

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

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

1.3 Анализ технических возможностей и программного обеспечения компьютерной техники, задействованной на предприятии

На предприятии установлены достаточно современные компьютеры, обеспечивающие бесперебойную работу «ООО ПРОФИ-Т». Основное программное обеспечение - Windows 7.

Минимальные аппаратные требования для Windows 7

Минимальные аппаратные требования для Windows 7

Архитектура

32-bit

64-bit

Процессор

1 ГГц IA-32

1 ГГц x86-64

Оперативная память (RAM)

1 Гб

2 Гб

Видеокарта

Видеоадаптер с поддержкой DirectX 9 и WDDM версии 1.0 и старше.
(не является абсолютной необходимостью -- требуется только для Aero)

Свободное место на Жёстком диске

16 Гб свободного места

20 Гб свободного места

Оптический привод

DVD-ROM привод (Только для установки с DVD)

Таблица 1 - Минимальные аппаратные требования для Windows 7

Глава 2. Описание технологии выполнения практического задания

2.1 Исследование предметной области поставленной задачи

На первом этапе проектирования программы необходимо выполнить анализ предметной области, т.е. определить объекты предметной.

При выборе состава и структуры предметной области возможны два подхода: функциональный и предметный.

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

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

Чаще всего используется комбинация этих двух подходов.

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

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

2.2 Выбор технологии, языка и среды разработки

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

Задачи данной работы:

осуществить теоретический анализ научной и методической литературы по программированию в среде Delphi 7;

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

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

разработать приложение «To do list».

Проанализировав поставленную задачу было принято решение реализовать программный продукт в среде программирования Delphi 7.0. с использованием встроенной базы данных MS Access.

Delphi -- императивный, структурированный, объектно-ориентированный язык программирования, диалект Object Pascal. Borland Delphi 7, выпущенная в августе 2002 года, стала стандартном для многих разработчиков Delphi. Это один из самых успешных продуктов Borland из-за стабильности, скорости и низких требований к аппаратному обеспечению. В Delphi 7 добавлены новые компоненты для Windows XP и увеличено число компонентов для создания Web-приложений.

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

2.3 Разработка UML - диаграмм и их описание

Диаграмма вариантов использования

Рисунок 1 - диаграмма вариантов использования

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

Диаграмма прецедентов для процесса выполнения задания

Рисунок 2 - диаграмма прецедентов для процесса выполнения задания

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

Диаграмма состояний

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

Рисунок 3 - диаграмма состояний

Диаграмма компонентов

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

Рисунок 4 - диаграмма компонентов

Глава 3. Разработка программного обеспечения

3.1 Разработка структуры программного обеспечения

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

Шаги процесса:

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

Бизнес-моделирование

Анализ требований

Планирование

Разработка архитектуры

Кодирование

Тестирование и отладка

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

Сертификация

Внедрение

Сопровождение

Участники процесса разработки ПО:

Пользователь

Заказчик

Разработчик

Руководитель проекта

Аналитик

Тестировщик

Поставщик

Разработка программного обеспечения велась на языке программирования Delphi 7.0. Проблемы, возникшие в процессе разработки ПО:

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

Недостаток трассировки.

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

Недостаточная надёжность. Самый сложный процесс -- поиск и исправление ошибок в программах на ЭВМ. Поскольку число ошибок в программах заранее неизвестно, то заранее неизвестна и продолжительность отладки программ и отсутствие гарантий отсутствия ошибок в программах.

Неправильный выбор методологии разработки программного обеспечения.

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

3.2 Описание основных алгоритмов работы программного обеспечения

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

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

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

дискретностью;

определенностью;

результативностью;

массовостью.

Дискретность - последовательное выполнение простых или ранее определённых (подпрограммы) шагов. Преобразование исходных данных в результат осуществляется дискретно во времени.

Определенность состоит в совпадении получаемых результатов независимо от пользователя и применяемых технических средств (однозначность толкования инструкций).

Результативность означает возможность получения результата после выполнения конечного количества операций.

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

Для задания алгоритма необходимо описать следующие его элементы:

набор объектов, составляющих совокупность возможных исходных данных, промежуточных и конечных результатов;

правило начала;

правило непосредственной переработки информации (описание последовательности действий);

правило окончания;

правило извлечения результатов.

Основные способы задания алгоритмов: графический способ и описание алгоритма с помощью программы.

Графический способ описания алгоритма осуществляется с помощью блок схемы:

Рисунок 5 - блок схема программы

Описание алгоритмов с помощью кода программы.

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

procedure TMainForm.SetCaption;

begin

if Length(TodoFilename) = 0 then

MainForm.Caption := title

else

MainForm.Caption := title + ' - ' +

Lowercase(ExtractFilename(TodoFilename));

end;

procedure TMainForm.EnableMenu;

var

I: Integer;

begin

with FileMenu do

begin

for I := 0 to Count - 1 do { Enable all File commands }

Items[I].Enabled := True;

if not FileDirty then

begin {- No edits }

FileSave.Enabled := False; { Must use Save as }

if Length(TodoFilename) = 0 then { i.e. file not named }

begin {- No edits; no name }

FileSaveAs.Enabled := False; { Nothing to save }

FilePrint.Enabled := False; { Nothing to print }

end;

end;

end;

end;

procedure TMainForm.ReadFile;

begin

SrcList.Items.LoadFromFile(TodoFilename);

DstList.Items.LoadFromFile(DoneFilename);

FileDirty := False;

end;

procedure TMainForm.WriteFile;

begin

SrcList.Items.SaveToFile(TodoFilename);

DstList.Items.SaveToFile(DoneFilename);

FileDirty := False;

end;

procedure TMainForm.SaveAsFile;

begin

if FileSaveDialog.Execute then

begin

TodoFilename := FileSaveDialog.Filename;

DoneFilename := ChangeFileExt(TodoFilename, '.Don');

WriteFile;

SetCaption;

end;

end;

procedure TMainForm.SaveFile;

begin

if FileDirty then

begin

if Length(TodoFilename) = 0 then

SaveAsFile

else

WriteFile;

end;

end;

3.3 Проектирование пользовательского интерфейса

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

Под совокупностью средств и методов интерфейса пользователя подразумеваются:

вывода информации на экран

ввода информации/команд пользователем в программу

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

Рисунок 6 - Основная форма программы

Рисунок 7 - Форма для редактирования

Глава 4. Тестирование программного обеспечения

4.1 Выбор стратегии тестирования

Тестирование программного обеспечения -- процесс исследования, испытания программного продукта, имеющий две различные цели:

Продемонстрировать, что программа соответствует требованиям;

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

Тестирование белого ящика

При тестировании белого ящика (англ. white-box testing, также говорят -- прозрачного ящика), имеется доступ к исходному коду программ и может писать код, который связан с библиотеками тестируемого ПО. Это типично для юнит-тестирования (англ. unit testing), тестировались только отдельные части системы. Проведя тестирование было выявлено, что компоненты конструкции -- работоспособны и устойчивы, до определённой степени. При тестировании белого ящика использовались метрики покрытия кода или мутационное тестирование.

Тестирование чёрного ящика

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

4.2 Разработка тестовых наборов

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

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

Затем выполняется основной набор действий, правильность которых в заданной ситуации нужно проверить. Часто этот набор содержит ровно одно действие. Обычно ситуация и действия, которые в ней нужно выполнить, задаются целью тестирования (test purpose), для достижения которой и создается данный тестовый вариант.

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

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

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

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

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

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

Техники организации тестовых наборов

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

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

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

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

1. Квалификаторы

Наиболее простой способ внесения дополнительной структуры в тестовый набор основан на определении нескольких видов меток или квалификаторов и их использовании в коде тестов или в качестве декларативных описателей тестов.

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

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

Квалификаторы-метки обычно более удобны для выделения статической информации о тестах, однако иногда такие метки в коде тестов могут использоваться и для определения ряда характеристик теста в динамике, во время его выполнения. Например, тест может быть нацелен на достижение определенной ситуации или цели тестирования, что можно указать декларативным квалификатором, но в ходе тестирования такая ситуация не всегда возникает из-за недетерминизма поведения тестируемой системы или ошибок в ней. Чтобы уметь определять, возникала или нет эта ситуация в ходе тестирования, достаточно обеспечить сброс в трассу из кода теста определенной метки в тот момент, когда это становится ясно.

2. Конфигурационные параметры

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

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

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

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

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

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

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

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

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

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

Аналогично, нагрузочные тесты имеет смысл выполнять только в том случае, если проверяемые ими элементы тестируемой системы выполняют свои основные функции правильно.

3. Модульность

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

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

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

Наиболее четко могут быть выделены следующие виды компонентов.

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

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

Тестовые адаптеры -- один из наиболее широко используемых видов компонентов теста. Адаптеры используются и в UniTESK под именем медиаторов, и при разработке тестов на TTCN для их привязки к конкретным тестируемым системам. В UML Testing Profile адаптеры не упоминаются, поскольку он определяет структуру абстрактного тестового набора, не зависящего от синтаксиса обращений к тестируемой системе.

Тестовые заглушки (test stubs). Заглушки используются при тестировании отдельных компонентов, модулей или групп модулей, для работы которых необходимы другие компоненты, если эти другие компоненты недоступны (еще не разработаны) или просто не используются, чтобы не усложнять тестирование и анализ его результатов. Заглушка реализует интерфейс одного из отсутствующих компонентов, заменяя его в ходе теста. В качестве результатов заглушки обычно возвращают произвольные значения -- постоянные или сгенерированные случайным образом. Однако иногда используются "умные заглушки" (smart stubs), реализующие какую-то часть функций заменяемого модуля или специфические сценарии его работы.

4.3 Анализ результатов тестирования

Результаты тестирования не выявили в программном продукте особых дефектов. Некоторые мелкие недочёты были исправлены, например ввод некорректных данных в поля программы, с помощью средств Delphi7.0.

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

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

Заключение

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

В ходе производственной практики были приобретены практических навыков в области:

1. разработки структурной и функциональной схем программного обеспечения; программа заметка алгоритм

изучения Delphi 7;

пользовательского интерфейса;

2. отладки интерактивных систем программного обеспечения;

3. составления пояснительной записки, содержащей обоснование принятых проектных решений;

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

Список использованных источников

Архангельский А. Я. "Delphi 2010. Справочное пособие: Язык Delphi, классы, функции Win32 и .NET"

Боровский А. Н. "Программирование в Delphi 2011"

Дарахвелидае П. Г., Марков Е. П. "Программирование в Delphi 7."

Елманова Н. "Delphi, C++Builder и COM: вопросы и ответы"

Кэнту М. "Delphi 7: Для профессионалов"

Кандзюба С. П., Громов В. Н. "Delphi 6/7. Базы данных и приложения. Лекции и упражнения"

Флёнов М. Е. "Delphi 2010. Секреты программирования."

Сорокин А. "Delphi Разработка баз данных."

Тейксейра С., Пачеко К. "Borland Delhi 6. Руководство разработчика"

Шупрута В.В. "Самоучитель Delphi 2012"

Delphi 7.0, учебный курс, Фараонов В.В., ISBN 5-8952-020-4, 400 с.

Delhphi 7.0, Дарахвелидзе П.Г., Марков Е. П. 1998, 816 с.

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.