39607

Информационно-справочная система «Путеводитель по торговым объектам Гродненской области» на языке программирования C#

Дипломная

Информатика, кибернетика и программирование

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

Русский

2013-10-07

2.6 MB

38 чел.

СОДЕРЖАНИЕ

[1] ВВЕДЕНИЕ

[2]
1.ПОСТАНОВКА ЗАДАЧИ.

[2.1] 1.1. Назначение и область применения электронного средства обучения.

[2.2] 1.2. Сценарий обучения.

[3]
2. ПРОЕКТИРОВАНИЕ ЗАДАЧИ

[3.1] 2.1 Обоснование инструментов разработки

[3.2] 2.2 Описание алгоритма решения задачи.

[4] 3. ПРОГРАММА РЕШЕНИЯ ЗАДАЧИ

[4.1] 3.1 Логическая структура

[4.2] 3.2 Физическая структура

[5]
4. ТЕСТИРОВАНИЕ

[6]
5. ПРИМЕНЕНИЕ

[6.1] 5.1 Назначение и область применения программы

[6.2] 5.2 Требования к аппаратным ресурсам

[6.3] 5.3 Руководство пользователя

[7] 6. ЭКОНОМИЧЕСКИЙ РАЗДЕЛ

[7.1] 6.1 Особенности программных средств как объектов разработки и производства

[7.2] 6.2 Расчет стоимости разработки системы учёта документооборота на предприятии

[7.3] 6.3.Экономический эффект у разработчика программного обеспечения

[7.4] 6.4. Сравнительный технико-экономический анализ эффективности производства нового продукта

[8] 7. ОХРАНА ТРУДА

[9] ЗАКЛЮЧЕНИЕ

[10] СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

[11] ПРИЛОЖЕНИЕ А

[12] ГРАФИЧЕСКАЯ ЧАСТЬ


ВВЕДЕНИЕ

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

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

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

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

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

Всё это обусловлено тем, что не все учебные пособия отражают ту специфику, все те необходимые аспекты, которые зависят от предметной области и требований преподавателя. К тому же постоянно возникают новые задачи, изменяются требования к существующим проектам, изменяется сам предмет. При разработке проекта была выбрана среда программирования Microsoft Visual Studio C#.

Языки программирования используются для создания программ используемых пользователями на персональных компьютерах. Объектно-ориентированный язык программирования C# прост в использовании, имеет множество настроек и компонентов.

Темой дипломного проекта является Информационно-справочная система «Путеводитель по торговым объектам Гродненской области» на языке программирования C#

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

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

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

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

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

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

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

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

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

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

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


1.ПОСТАНОВКА ЗАДАЧИ.

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

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

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

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

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

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

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

Области применения электронного пособия в учебном процессе:

Электронное учебное пособие может быть призвано решать совершенно разные задачи. Прежде всего, следует выделить два больших пласта обучающего софта: а) программы для использования в школе, в учебном процессе, и б) программы для индивидуальной работы. Первые должны быть удобным инструментом для учителя, ведущего урок, помогать ему демонстрировать различные материалы, выступать в роли лабораторной установки для проведения лабораторной работы, тестировать учащихся. От вторых требуется быть увлекательными и интересными, частично заменять учителя, который поможет, объяснит, ответит на вопросы, предоставит необходимую справочную информацию[12]. Изложение теоретического материала;

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

Области применения электронного пособия:

  •  Лабораторные и практические занятия;

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

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

  •  Самостоятельная работа (с преподавателем и без).

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

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

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

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

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

1.2. Сценарий обучения.

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

Электронное средство обучения- это средство, работающее с использованием компьютерной и телекоммуникационной техники и применяемое непосредственно в обучении [10].

Электронное средство обучения могут быть следующих основных типов:

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

Процесс создания электронного курса можно разделить на несколько этапов:

  •  проектирование курса;
  •  подготовка материалов для курса;
  •  компоновка материалов в единый программный комплекс.

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

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

Статические иллюстрации - рисунки, схемы, карты, репродукции, фотографии и т.п., сопровождающие текстовый материал, даже в их "классическом" понимании могут существенно облегчить восприятие учебной информации. Компьютерные технологии позволяют усилить эффекты использования наглядных материалов в учебном процессе. Так, в отличие от книги, где иллюстрации должны присутствовать всегда одновременно с текстом, в компьютерной версии они могут вызываться по мере необходимости с помощью соответствующих элементов пользовательского интерфейса. Следует заметить, что качество электронных иллюстраций во много раз превосходит качество книжных иллюстраций. Кроме того, компьютерная иллюстрация, как и компьютерный текст, может быть сделана интерактивной. Поэтому автор электронного курса испытывает гораздо меньше ограничений в изобразительных средствах[1, c.244].

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

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

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

В результате кодирования педагогического сценария, т.е. объединения предметного материала и пользовательского интерфейса с помощью соответствующего инструментального средства программирования, порождаются соответствующие программные модули, с которыми и предстоит работать обучаемому. В зависимости от педагогических задач, на них возлагаемых, эти модули могут быть размещены либо непосредственно на компьютере ученика или сервере локальной сети периферийного центра (локальные компоненты), либо на сервере Центра ДО базового университета (удаленные компоненты). Место размещения и способ доступа к материалу в значительной степени определяют выбор инструментария кодирования[7, c.225].

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

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

В дипломном проекте предлагается следующий сценарий обучения учащихся:

  •  Теоретическая часть

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

  •  Практическая часть

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

  •  Контроль знаний

После изучения курса имеется возможность проверить знания учащегося. По итогам выполнения задания будет выведена оценка. Оценка выставляется путем подсчета правильных ответов пользователя. Есть три степени оценивании «Неудовлетворительно», «Удовлетворительно», «Отлично». В тесте нельзя оставлять пустые поля, и оценка выводится только после ответа на все вопросы.(рисунок 1.2.1)

Рисунок 1.2.1 – Прохождение теста


2. ПРОЕКТИРОВАНИЕ ЗАДАЧИ

2.1 Обоснование инструментов разработки

Для данного проекта была выбрана среда программирования SharpDevelop данная среда разработки поставляется вместе с открытым исходным кодом и в какой-то мере может являться альтернативой Visual Studio, с которым во многом может соперничать (рисунок 2.1.1).

Рисунок 2.1.1 – Окно загрузки SharpDevelop

SharpDevelop 4.0 (рисунок 2.1.2) поддерживает такие языки программирования, как C#, F#, VB.Net, Boo, IronRuby и IronPython. При этом программа снабжена достаточно неплохим интерфейсом, который, конечно, не может сравнивается  по удобству и функциональности с Visual Studio, но, тем не менее, является очень неплохой альтернативой.

Рисунок 2.1.2 – Интерфейс SharpDevelop

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

  •  дизайнер форм для Windows Forms (доступен давно, необходим для быстрого начала проекта и работы с формой, позволяет существенно сэкономить время);
  •  дизайнер проектов WPF (рассчитан на приложения Windows Presentation Foundation, появился только в четвертой версии SharpDevelop);
  •  дизайнер для создания Entity Framework-проектов;
  •  рефакторинг (очень помогающий редактировать код, делать его более читабельным и понятным);
  •  отладка (нет ничего удивительного в наличии этой функции даже у приложения с открытым исходным кодом);
  •  unit-тестирование (при этом присутствует даже покрытие кода);
  •  Рассмотрим кратко список нововведений в версии 4.0:
  •   WPF Designer (теперь в SharpDevelop есть поддержка WPF-приложений.);
  •  Entity Framework Designer (поддержка Entity Framework и удобство работы с ней);
  •  C# 4.0 – возможности новой версии языка от Microsoft также доступны и сопровождаются средой разработки в новой версии;
  •  VB.Net 10.
  •  В Iron Python появилась функция Code completion, благодаря которой можно уже, наконец, начать программировать заметно быстрее. Дополнения будут появляются сами, как только начинается ввод кода;
  •  Модульное тестирование в SharpDevelop 4 стало доступно, в том числе и на языках Iron Ruby и Iron Python.
  •  Расширены возможности файлов помощи и отчетов.
  •  Появились новые возможности для продуктивной работы, которые ускоряют разработку, новые горячие клавиши, и так далее;

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

Компоненты разделяются на видимые (визуальные), и невидимые (не визуальные). Визуальные компоненты появляются во время выполнения точно так же, как и во время проектирования. Примерами являются кнопки и редактируемые поля. Не визуальные компоненты появляются во время проектирования как пиктограммы на форме.

Как, известно, в SharpDevelop есть множество различных компонентов (кнопки, панели, переключатели и т.д). У них есть свойства, которые специфичны только для этих компонентов, но есть и такие свойства, которые есть у всех элементов Visual Studio .

Свойства компонентов являются атрибутами компонента, определяющими его внешний вид и поведение. Многие свойства компонента в колонке свойств имеют значение, устанавливаемое по умолчанию (например, высота кнопок). Свойства компонента отображаются на странице свойств (Properties). Инспектор объектов отображает опубликованные (published) свойства компонентов. Помимо published-свойств, компоненты могут и чаще всего имеют общие (public), опубликованные свойства, которые доступны только во время выполнения приложения.

Страница событий (Events) инспектора объектов показывает список событий, распознаваемых. Каждый компонент имеет свой собственный набор обработчиков событий. На платформе VisualStudio 2010, следует писать функции, называемые обработчиками событий, и связывать события с этими функциями. Создавая обработчик того или и ого события, поручается программе выполнить написанную функцию, если это событие произойдет.

Возможности и особенности

  •  Написана полностью на C#.
  •  Подсветка синтаксиса для C#, IronPython, HTML, ASP, ASP.NET, VBScript, VB.NET, XML, XAML.
  •  Визуальный редактор для форм WinForms (COM-компоненты не поддерживаются).
  •  Интегрированная поддержка NUnit, MbUnit и NCover.
  •  Интегрированная поддержка анализатора сборок FxCop.
  •  Интегрированный отладчик.
  •  Интегрированная поддержка SVN.
  •  Конвертор кода между языками C#, VB.NET, IronPython и Boo.
  •  Предпросмотр документации, полученной из документирующих комментариев.
  •  Расширяемость внешними инструментами.
  •  Расширяемость на основе механизма Add-Ins.

2.2 Описание алгоритма решения задачи.

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

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

Свойства алгоритмов:

  •  Дискретность (от лат. discretus — разделённый, прерывистый, раздельность) - алгоритм должен состоять из конкретных действий, следующих в определенном порядке;
  •  Детерминированность (от.лат. determinate – определенность, точность) - любое действие должно быть строго и недвусмысленно определено в каждом случае;
  •  Конечность - каждое действие и алгоритм в целом должны иметь возможность завершения;
  •  Массовость - один и тот же алгоритм можно использовать с разными исходными данными;
  •  Результативность - отсутствие ошибок, алгоритм должен приводить к правильному результату для всех допустимых входных значениях.

Стадии создания алгоритма:

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

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

Компьютер – автоматический исполнитель алгоритмов. Алгоритм, записанный на «понятном» компьютеру языке программирования, называется программой.

Виды алгоритмов:

  •  Линейный алгоритм - описание действий, которые выполняются однократно в заданном порядке;
  •  Циклический алгоритм - описание действий, которые должны повторятся указанное число раз или пока не выполнено заданное условие;
  •  Разветвляющийся алгоритм - алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий;
  •  Вспомогательный алгоритм - алгоритм, который можно использовать в других алгоритмах, указав только его имя.

Для разработки проекта был выбран язык программирования C#. Язык был выбран в счет большей упрощённости и понимания. Он весьма схож с языком Delphi. Язык весьма прост в освоении, предоставляет большие возможности разработки оконных приложений, также приложений связанных с глобальной сетью Интернет. Отличием платформы от других является простой интерфейс, понятный пользователю, не сложный язык в освоении, и большой объем новых возможностей.

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

  •  Button -Кнопка позволяют пользователям
  •  FormBorderStyle = 3D Fixed // 3D оболочкаформы;
  •  WindowState = Maximized //Открытие формы в максимальном размере.
  •  взаимодействовать с программой;
  •  Элемент управленияWebBrowserпозволяет разместить в приложениях Windows Forms веб-страницы и другие документы с поддержкой браузера;
  •  Panelиспользуется для группировки объектом в одном пространстве;
  •  RadioButton, позволяет пользователю выбрать единственный вариант из группы доступных, когда используется вместе с другими элементами, управленияRadioButton;
  •  PictureBox – используется для хранения изображений на форме;
  •  WindowsMediaPlayer–позволяет проигрывать известные проигрывателю форматы в пользовательском приложении.

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


3. ПРОГРАММА РЕШЕНИЯ ЗАДАЧИ

3.1 Логическая структура

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

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

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

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

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

Основные возможности формы:

  •  Выбор тематики;
  •  Ознакомление с программным продуктом;
  •  Выход;
  •  Тема дипломного проекта;
  •  Просмотр предоставленных тем, например Лекции, Лабораторные работы, Тест, Презентации и другое.

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

Рисунок 3.1.1 - + Логическая структура

На форме 1 (рисунок А.2) отображается список лекций, которые пользователь может просмотреть. Есть возможность выбора конкретной лекции. Также в лекциях присутствуют тесты, как проверка знаний пользователя по окончании урока

Кнопка Назад, позволяет вернуться на главную форму.

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

В компоненте WebBrowser, отображает выбранную лекцию. Лекции храниться на жёстком диске, в *.htm формате. Что позволяет загружать страницу прямо из папки. Путь

Основные возможности формы:

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

На форме 2 (рисунок А.3 ) слева расположен список лабораторных работ по предмету, справа окно предоставляющее просмотр данных лекций. Можно просматривать содержимое каждой лабораторной работы, выбирать другую лабораторную работу, сохранять в виде веб-страницы. В компоненте WebBrowser, отображает выбранную лабораторную работу. Лекции храниться на жёстком диске, в *.htm формате. Что позволяет загружать страницу прямо из папки.

Основные возможности формы:

  •  Просмотр выбранной лекции;
  •  Выход из программы;
  •  Вернуться к главной форме;
  •  Прокрутка экрана с лекциями по средством AutoScroll;
  •  Прокрутка экрана с выбранной лекцией по средством AutoScroll;
  •  Выход из программы;
  •  Вызов справки через Button;
  •  Вызов справки посредством горячей клавиши F1;
  •  Возможность сохранения лабораторной работы в виде веб-страницы;
  •  Просмотр html кода лабораторной работы.

На форме 3 (рисунок А.4),расположены, справа список учебных пособий, слева окно просмотра этих самых пособий. Особенностью данной формы является просмотр файлов *.pdf, для которого WebBrowser, предоставляет дополнительные возможности, также большое количество функциональных возможностей, от программы Adobe Reader. Преимуществом является внедрение форматов *.pdf в проект, а минусом то что основой WebBrowser является движок от Internet Explorer, который не слишком быстро осуществляет работу с подобными форматами.

Основные возможности формы:

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

На форме 4 (рис А.5) отображается список дополнительного материала, который был предоставлен преподавателем для ознакомления, которые пользователь может просмотреть. Есть возможность выбора конкретного материала.

Кнопка Назад, позволяет вернуться на главную форму.

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

В компоненте WebBrowser,отображает выбранную лекцию. Лекции храниться на жёстком диске, в *.htm формате. Что позволяет загружать страницу прямо из папки.

Основные возможности формы:

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

На форме 5 (рисунок А.8) отображается список презентаций, которые пользователь может просмотреть. Есть возможность выбора конкретной презентации.

Кнопка Назад, позволяет вернуться на главную форму.

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

В компоненте WebBrowser,отображает выбранную презентацию. Презентации хранятся на жёстком диске, в *.htm формате. Что позволяет загружать страницу прямо из папки.

Основные возможности формы:

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

На форме 6 (рисунок А.6) отображается список видеоуроков по языку C#, которые пользователь может просмотреть. Есть возможность выбора конкретного видео. Остановка, перемотка, полный экран.

Для создания возможности просмотра видео был использован компонент axWindowsMediaPlayer.

Основные возможности формы:

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

На форме 7 (рисунок А.7) отображается информация о создателе проекта, как с ним можно связаться, а также тема дипломного проекта.

3.2 Физическая структура

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

Благодаря различным возможностям SharpDevelop  мы можем наглядно увидеть физическую структуру программы и ее расположение внутри проекта. Что дает вполне обильное представление о ней во время процесса разработки. (рисунок 3.2.1).

 

Рисунок 3.2.1 – Физическая структура программы в SharpDevelop  

Для создания учебных материалов, предоставляемых в виде интернет-ресурсов, широко используются различные HTML-редакторы. Использование скриптовых языков позволяет сделать HTML-документ интерактивным и обеспечить передачу информации на сервер. Однако следует учесть, что наиболее распространенные браузеры Internet Explorer и Netscape Communicator используют разные версии языка HTML, поэтому при подготовке материалов не следует использовать команды разметки, не входящие во множество команд, поддерживаемых как тем, так и другим браузером. Следует также учесть, что язык HTML достаточно динамично развивается, так что документы, удовлетворяющие новому стандарту языка, могут некорректно воспроизводиться старыми версиями браузеров.

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

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

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

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

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

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

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

Основная проблема на пути оптимизации обучения с точки зрения сохранности и развития адаптационных резервов - оценка и коррекция состояния человека в процессе получения новых знаний [12].

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

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

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

Рисунок 3.2.2 – Физическая структура программы


4. ТЕСТИРОВАНИЕ

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

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

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

Каждому программисту известно, сколько времени и сил уходит на отладку и тестирование программ. На этот этап приходится около 50% общей стоимости разработки программного обеспечения. Но не каждый из разработчиков программных средств может верно, определить цель тестирования. Нередко можно услышать, что тестирование - это процесс выполнения программы с целью обнаружения в ней ошибок. Но эта цель недостижима: ни какое самое тщательное тестирование не дает гарантии, что программа не содержит ошибок. Другое определение: это процесс выполнения программы с целью обнаружения в ней ошибок. Отсюда ясно, что “удачным” тестом является такой, на котором выполнение программы завершилось с ошибкой. Напротив, “неудачным” можно назвать тест, не позволивший выявить ошибку в программе. Определение также указывает на объективную трудность тестирования: это деструктивный (т.е. обратный созидательному) процесс. Поскольку программирование - процесс конструктивный, ясно, что большинству разработчиков программных средств сложно “переключиться” при тестировании созданной ими продукции. Основные принципы организации тестирования:

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

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

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

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

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

Структурное тестирование.

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

Наиболее слабым из критериев полноты структурного тестирования является требование хотя бы однократного выполнения (покрытия) каждого оператора программы. Более сильным критерием является так называемый критерий С1: каждая ветвь алгоритма (каждый переход) должна быть пройдена (выполнена) хотя бы один раз.

Актуальной остается задача создания инструментальных средств, позволяющих:

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

Совместимое тестирование модулей.

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

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

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

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

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

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

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

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

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

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

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

По объекту тестирования:

  •  Функциональное тестирование (functional testing);
  •  Тестирование производительности (performance testing) ;
  •  Нагрузочное тестирование (load testing);
  •  Стресс-тестирование (stress testing);
  •  Тестирование стабильности (stability / endurance / soak testing);
  •  Юзабилити-тестирование (usability testing);
  •  Тестирование интерфейса пользователя (UI testing);
  •  Тестирование безопасности (security testing);
  •  Тестирование локализации (localization testing);
  •  Тестирование совместимости (compatibility testing).

По знанию системы:

  •  Тестирование чёрного ящика (black box);
  •  Тестирование белого ящика (white box);
  •  Тестирование серого ящика (grey box).

По степени автоматизации:

  •  Ручное тестирование (manual testing);
  •  Автоматизированное тестирование (automated testing);
  •  Полуавтоматизированное тестирование (semiautomated testing).

По степени изолированности компонентов:

  •  Компонентное (модульное) тестирование (component/unit testing);
  •  Интеграционное тестирование (integration testing);
  •  Системное тестирование (system/end-to-end testing).

По времени проведения тестирования:

  •  Альфа-тестирование (alpha testing) ;
  •  Тестирование при приёмке (smoke testing);
  •  Тестирование новой функциональности (new feature testing);
  •  Регрессионное тестирование (regression testing);
  •  Тестирование при сдаче (acceptance testing);
  •  Бета-тестирование (beta testing).

По признаку позитивности сценариев:

  •  Позитивное тестирование (positive testing);
  •  Негативное тестирование (negative testing).

По степени подготовленности к тестированию:

  •  Тестирование по документации (formal testing);
  •  Тестирование ad hoc или интуитивное тестирование (ad hoc testing).

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

Типы ошибок

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

  •  синтаксические ошибки;
  •  ошибки времени выполнения программы (run-time-errors);
  •  смысловые (логические) ошибки.

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

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

Смысловые (логические) ошибки – самые сложные и трудноуловимые. Они проявляются в том, что программа делает не то, что надо, или делает то, что не надо. Последствие логических ошибок могут быть самыми разными: неправильное содержание окна, невыполнение или неверное выполнение команд пользователя, неправильное содержимое выходных файлов, может возникнуть ошибка времени выполнения и многое-многое другое. На борьбу с логическими ошибками уходит почти всё время отладки.

Процесс целенаправленного выявления ошибок иначе называют тестированием. Некоторые ошибки проявляются после первого же запуска приложения и заметны «невооруженным взглядом»; для их обнаружения, не надо прибегать ни к каким специальным средствам. Однако некоторые ошибки проявляются в абсолютно случайные моменты работы приложения. С такими ошибками справиться труднее всего. Если нельзя зафиксировать условия возникновения ошибки, нельзя понять причину ошибки и устранить её.

Этапы отладки

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

  •  выявление ошибки;
  •  локализация ошибки в тексте программы;
  •  установление причины ошибки;
  •  исправление ошибки.

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

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

Системные и аппаратные сбои:

  •  запуск программы;
  •  в структуру данных внесены изменения;
  •  совершён нестандартный выход;
  •  программа вновь загружена.

При просмотре сделан вывод: нестандартный выход файл данных не повредил, однако новые изменения внесены были.

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

А теперь рассмотрим различные виды тестирования:

Модульное тестирование

Модульный тест представляет собой программу, занимающуюся тестированием некоего модуля. Эта тема освещена в разделе "Программа, которую легко тестировать". Модульное тестирование является основой для всех других видов тестирования, которые обсуждаются в данном разделе. Если части не работают по отдельности, то скорее всего они не будут хорошо работать и вместе. Все используемые модули обязаны пройти собственное модульное тестирование перед тем как продолжать работу. Как только все соответствующие модули прошли индивидуальное тестирование, вы готовы к новому этапу. Вам придется проверить, как модули используют друг друга и взаимодействуют между собой по всей системе[2, c13].

Комплексное тестирование

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

Подтверждение правильности и верификация

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

Тестирование в условиях нехватки ресурсов, ошибки и их исправление

Теперь вы понимаете, что система будет вести себя корректно в идеальных условиях, вам придется испытать, как она ведет себя в реальных условиях. В реальном мире ресурсы ваших программ не безграничны — они исчерпываются[4, с.56]. Ваша программа может столкнуться со следующими ограничениями:

  •  Объем памяти
  •  Объем дискового пространства
  •  Мощность процессора
  •  Тактовая частота
  •  Скорость дискового обмена
  •  Пропускная способность сети
  •  Цветовая палитра
  •  Разрешающая способность экрана

Вы можете реально проверить нехватку дискового пространства или объема памяти, но как часто вы проверяете другие ограничения? Будет ли ваше приложение работать на экране с разрешением 640 х 480 и 256 цветами? Может ли оно выполняться на экране с разрешением 1600 х 1280 с 24-битным цветом и при этом не быть размером с почтовую марку? Завершится ли пакетное задание до момента запуска программы архивации? Вы можете обнаружить наличие ограничений в операционной среде, таких как спецификация видеоподсистемы, и приспособиться к ним соответствующим образом. Однако не все сбои можно восстановить. Если программа обнаруживает нехватку памяти, то вы ограничены в своих действиях: вам не хватит ресурсов, чтобы завершить программу способом, отличным от аварийного завершения. Когда система выходит из строя, будет ли это делаться изящно? Постарается ли она сделать лучшее, на что она способна в данной ситуации, — сохранить? Редактор американского издания требовал изменить это предложение на "Если система выходит из строя ... ". Авторы сопротивлялись.

Тестирование производительности

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

Тестирование удобства использования

Тестирование удобства использования отличается от процедур тестирования, обсужденных выше. Оно осуществляется с реальными пользователями в реальных условиях окружающей среды. Рассмотрим удобство использования с точки зрения человеческого фактора. Были ли важные недоразумения в ходе анализа требований? Подходит ли программное обеспечение пользователю, становясь продолжением его рук? {Мы хотим, чтобы не только наши собственные инструменты были изготовлены по руке, но чтобы и те, которые мы создаем для пользователей, подходили им.) Как и при подтверждении правильности и верификации, вам приходится осуществлять тестирование удобства использования как можно раньше, пока есть время на внесение изменений. Для крупномасштабных проектов вы можете привлечь специалистов в области человеческого фактора. Несоответствие критериям удобства использования является дефектом такого же порядка, как деление на ноль.

Как проводить тестирование

Мы рассмотрели то, что подлежит тестированию. Теперь мы обратим внимание на то, как это делается, включая следующее:

  •  Регрессионное тестирование;
  •  Тестовые данные;
  •  Тестирование систем с графическим интерфейсом;
  •  Тестирование самих тестов;
  •  Исчерпывающее тестирование.
  •  Тестирование проектных решений/методологии

Можете ли вы провести тестирование проектных решений в самой программе и методологии, которую вы использовали при сборке программного обеспечения? Некоторым образом можете. Вы делаете это, анализируя метрики — измерения различных аспектов программы. Самой простой метрикой (и чаще всего, наименее интересной) является число строк кода — насколько велика сама программа? Существует большое количество других метрик, которые вы можете использовать для исследования программы:

  •  Показатель цикломатической сложности Маккейба (измеряет сложность структуры решений)
  •  Коэффициент разветвления по входу при наследовании (количество базовых классов) и по выходу (количество производных модулей; используется в качестве родителя)
  •  Набор откликов (см. раздел "Несвязанность и закон Деметера")
  •  Отношения связывания класса

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

Регрессионное тестирование

Регрессионное тестирование сравнивает выходные данные текущего теста с результатами (или известными значениями} предыдущих. Мы можем гарантировать, что дефекты, устраненные сегодня, не нарушат ничего из того, над чем мы работали вчера. Это важное средство страховки, и оно сокращает число неприятных сюрпризов. Все тесты, о которых мы говорили до настоящего момента, могут запускаться как регрессионные тесты с гарантией, что мы не откатываемся назад, когда разрабатываем новую программу. Мы можем запускать регрессии для тестирования производительности, контрактов, достоверности и т.д.

Тестовые данные

Где мы достаем данные для запуска всех этих тестов? Существует только два типа данных: реальные и синтезированные данные. В действительности нам надо использовать оба типа, поскольку их различная природа будет способствовать выявлению разных дефектов в программном обеспечении. Реальные данные исходят из некоего реального источника. Возможно, они были получены из существующей системы, конкурирующей системы или некоего прототипа. Они представляют типичные пользовательские данные. Большие сюрпризы возникают, как только вы открываете значение термина "типичный". При этом скорее всего являются дефекты и недоразумения в анализе требований. Синтезированные данные генерируются искусственно, возможно, с определенными статистическими ограничениями. Вам могут понадобиться синтезированные данные по одной из следующих причин:

  •  Вам нужно много данных, возможно, больше, чем содержится в любом из имеющихся образцов. Вы сможете использовать реальные данные в качестве "саженца" для генерации большего набора данных и добиться уникальности определенных полей.
  •  Вам требуются данные для того, чтобы выделить определенные граничные условия. Эти данные могут быть полностью синтезированными: поля, содержащие дату 29 февраля 1999 г., огромные размеры записей или адреса с иностранными почтовыми индексами.
  •  Вам требуются данные, которые демонстрируют определенные статистические свойства. Вы хотите увидеть, что случается, если сбой происходит с каждой третьей транзакцией? Вспомните алгоритм сортировки, который замедляется и ползет, когда обрабатывает предварительно отсортированные данные. Чтобы продемонстрировать эту слабость, вы можете представить данные в случайном или упорядоченном виде.

Тестирование систем с графическим интерфейсом

Тестирование систем, насыщенных графическими интерфейсами, часто требует наличия специализированных инструментальных средств. Эти средства могут основываться на простой модели захвата/воспроизведения данных или могут потребовать специально для этой цели написанных сценариев для управления графическим интерфейсом. Некоторые системы объединяют элементы обеих моделей. Менее сложные инструментальные средства предписывают высокую степень связывания тестируемой версии программы и самого тестового сценария: если вы перемещаете диалоговое окно или уменьшаете размер экранной кнопки, процедура тестирования может не найти всего этого и оказаться неудачной. Большинство современных инструментальных средств тестирования графических интерфейсов используют ряд методик, чтобы обойти эту проблему и попытаться приспособиться к незначительным различиям в компоновке. Однако вы не можете автоматизировать всё. Энди работал над графической системой, которая позволяла пользователю создавать и отображать недетерминированные визуальные эффекты, моделирующие различные природные явления. К сожалению, в ходе тестирования нельзя просто захватить растровое изображение и сравнить с предыдущим прогоном, потому что приложение было спроектировано так, что каждый раз оно выполнялось по-разному. В подобных ситуациях у вас может не быть выбора, кроме как положиться на ручную интерпретацию результатов теста. Одним из преимуществ, возникающих при написании несвязанной программы (см. "Несвязанность и закон Деметера"} является большая доля модульного тестирования. Например, для приложений, занимающихся обработкой данных, которые имеют внешний графический интерфейс, конструкция должна быть несвязанной в достаточной степени, чтобы можно было тестировать логику приложения в отсутствии графического интерфейса. Эта идея аналогична необходимости тестировать компоненты в числе первых. Как только достоверность логики приложения подтверждается, задача по поиску дефектов, которые выявляются при наличии пользовательского интерфейса, не представляет труда (скорее всего, эти дефекты были созданы программой интерфейса пользователя).
Тестирование самих тестов

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

Используйте диверсантов для тестирования самих тестов

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

Исчерпывающее тестирование

Вы уверены в том, что ваши тесты являются корректными и обнаруживают созданные вами дефекты. Но как вы узнаете о том, насколько исчерпывающе вы провели тестирование ядра программы? Ответ здесь краток: "никак", вы никогда это не узнаете. Но на программном рынке есть продукты, которые могут вам помочь. Эти средства анализа степени покрытия отслеживают программу при тестировании и регистрируют, какие строки были выполнены, а какие нет. Эти средства дают общее представление о том, насколько исчерпывающей является процедура тестирования, но не стоит ожидать, что степень покрытия составит 100%. Даже если выполненными окажутся все строки программы, это еще не все. Важно то число состояний, в которых может находиться программа. Состояния не являются эквивалентом строк программы. Предположим, что есть функция, обрабатывающая два целых числа, каждое из которых может принимать значения от 0 до 999.

int test(int a, int b) { return a / (a + b) }

Теоретически эта функция, состоящая из трех строк, имеет 1000000 логических состояний, 999999 из которых будут работать правильно, а одно — неправильно (когда а + b равно нулю). Если вам известно лишь то, что данная строка программы выполнена, то вам придется идентифицировать все возможные состояния программы. К сожалению, это очень сложная проблема. Настолько сложная, что "пока вы ее решите, солнце превратится в холодную глыбу".

Тестируйте степень покрытия состояний, а не строк текста программы

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

Кольцо сжимается

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

Дефект должен обнаруживаться единожды

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

         С точки зрения ISO 9126, Качество (программных средств) можно определить как совокупную характеристику исследуемого ПО с учётом следующих составляющих:

  •  Надёжность;
  •  Сопровождаемость;
  •  Практичность;
  •  Эффективность;
  •  Мобильность;
  •  Функциональность.

Для проведения теста данного проекта мы используем метод: Тестовые случаи, проверяемые вручную и автоматически

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

При проведении теста, удалось выявить что если у пользователя не установлен Net Framework 4.0, Adobe Reader, Internet Explorer, работоспособность программы не гарантируется. В следствие чего лекции, учебники и другое перестанут открываются, поэтому следует внести в список обязательных требований к установке программы проверка наличия этих программ, поскольку они являются бесплатными, то их можно установить.

В связи с некой зависимостью проекта от сторонних программ, его оценка в ходе тестирования снижается. (рисунок 4.1)

Рисунок 4.1 – Успешное прохождение компиляции

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

Рисунок 4.2 – Тестирование средствами SharpDevelop

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

Рисунок 4.3 – Ошибок не обнаружено

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

  •  Включить компьютер и подготовить его к работе.
  •  Проверить наличие на данной ЭВМ необходимых для выполнения программы, программных средств;
  •  запустить исполняемый файл Maya_Project;
  •  Более подробную информацию о работе с проектом можно узнать в разделе «Справка».

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

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


5. ПРИМЕНЕНИЕ

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

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

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

Области применения электронного пособия в учебном процессе:

  •  Изложение теоретического материала;

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

  •  Лабораторные и практические занятия;

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

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

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

  •  Самостоятельная работа (с преподавателем и без).

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

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

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

Проект в себя включает следующие элементы:

  •  Главная форма;
  •  Элементы управления;
  •  Элементы навигации;
  •  Панель скрытия формы;
  •  Форма с тестом;
  •  Сохранение страниц в *.html, *.txt, *.doc форматах;
  •  Тест, с вариантами, и подсчётом оценки;
  •  Просмотр учебных материалов в формате *.pdf;

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

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

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

Область применения программы:

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

А так же:

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

Также, пособие было создано, с целью углубить свои знания  в данном учебном пособии. Более детально изучить среду программирования SharpDevelop и язык программирования высокого уровня C#, узнать его новые возможности, применить их на практике и в данном дипломном проекте.

5.2 Требования к аппаратным ресурсам

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

Виды ресурсов персонального компьютера:

  •  Аппаратные ресурсы (Hardware)
  •  Файловые ресурсы
  •  Программные ресурсы (Software)
  •  Сетевые ресурсы

Аппаратные ресурсы – это системный блок, периферийные устройства, любое оборудование, подключенное к компьютеру.Минимальные требования, которым должен соответствовать компьютер для того, чтобы на нем работала данная программа, следующие:

  •  процессор: AMD или Intel с тактовой частотой от 400МГц и выше;
  •  объем оперативной памяти: 512 Мб и выше;
  •  1 Гб пространства на жестком или гибком диске для самой исполняемой программы и свободное пространство для файлов баз данных;
  •  видео карта на 128 Мб;
  •  операционная система Windows 7.

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

  •  процессор: AMD или Intel с тактовой частотой от 600МГц и выше;
    •  1Гб оперативной памяти;
    •  монитор с диагональю 17'' и выше;
    •  винчестер 20Гб для более быстрой работы с файлами баз данных;
    •  1Гб пространства на жестком или гибком диске для самой исполняемой программы и свободное пространство для файлов баз данных;
    •  видео карта на 1Гб.

Программно ПЭВМ должна быть обеспечена операционной системой Microsoft Windows 7.

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

Также необходимо наличие следующих программных средств:

  •  Internet Explorer последней версии;
  •  Net.Framework 4.0;
  •  Adobe Reader.

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

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

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

  •  Включить компьютер и подготовить его к работе.
  •  Проверить наличие на данной ЭВМ необходимых для выполнения программы, программных средств;
  •  Запустить исполняемый файл Maya_Project;

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

  •  Более подробную информацию о работе с проектом можно узнать в разделе «Справка».


6. ЭКОНОМИЧЕСКИЙ РАЗДЕЛ

6.1 Особенности программных средств как объектов разработки и производства

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

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

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

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

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

  •  материалы и комплектующие(используемые в процессе разработки и производства программного обеспечения)(М);
  •  электроэнергия (Э);
  •  основная заработная плата разработчиков (Зо);
  •  дополнительная заработная плата разработчиков (Зд);
  •  отчисления в фонд социальной защиты населения и на обязательное страхование в Белгосстрах (Ссн);
  •  амортизация оборудования и программного обеспечения (А);
  •  спецоборудование для научных (экспериментальных) работ (Рс);
  •  накладные расходы (Рн);
  •  прочие прямые расходы (Пз).

6.2 Расчет стоимости разработки системы учёта документооборота на предприятии

1. Затраты по статье «Материалы эксплуатационные» (М) учитывают расходы на разработку программного обеспечения (см. таблицу 6.1).

Таблица 6.1 – Расходы на разработку программного обеспечения

Материал

Цена, руб.

Количество, шт.

Стоимость, руб.

Диск DVD-R с конвертом

4500

1

4500

Бумага формата А4

80

100

8000

Бумага формата А1

7800

2

15600

Ручка

2000

1

2000

Всего:

Х

Х

30100

Таким образом затраты на материалы и комплектующие составляют М= 30100 рублей.

2. Затраты на электроэнергию (Э) находятся исходя из продолжительности периода разработки ПО, количества кВт/ч, затраченных на проектирование ПО и тарифа за 1 кВт/ч. Базовый тариф для прочих потребителей  с 01.01.2012 г. составляет 770,6 руб. за 1 кВт/ч. Время реализации проекта 2 месяца, среднее потребление энергии в месяц составило 45 кВт/ч, то есть было потреблено 90  кВт/ч.

Затраты на электроэнергию определяются по формуле:

,

(6.1)

где Кэ – стоимость одного кВт/ч,руб;

Тр – количество кВт/ч.

Время реализации проекта 2 месяца, среднее потребление энергии в месяц составило 45 кВт/ч, то есть было потреблено 90  кВт/ч. Исходя из вышеизложенного получаем, что на электроэнергию было затрачено:

3. Основная заработная плата исполнителей (Зо) является основной статьёй затрат при разработке программного обеспечения и рассчитывается по формуле:

,

(6.2)

где ТСi – тарифная ставка специалиста i –го разряда, руб.

 Кi – коэффициент премирования (устанавливается на предприятии);

n – количество исполнителей участвовавших в разработке программного обеспечения, чел;

t– количество времени, затраченное на разработку программного  обеспечения, месяцев.

Тарифная ставка i – го разряда (ТСi) определяется путем умножения действующей тарифной ставки 1-го разряда (ТС1) на тарифный коэффициент (ТК), соответствующий установленному тарифному разряду согласно ЕТС Республики Беларусь.

Тарифная ставка (ТСi) определяется по формуле:

,

(6.3)

где  ТС1 – действующая на предприятии тарифная ставка первого разряда, руб;

ТК – тарифный коэффициент согласно ЕТС. 

На момент разработки программного обеспечения (01.05.2012 г.) тарифная ставка первого разряда составляет 210 000 рублей. Разработчик данного программного обеспечения имеет 9-ый разряд, тарифный коэффициент согласно ЕТС для него равен 2,32.  Размер премии составляет 30% от основной заработной платы, в связи с участием разработчика в полном цикле производства программного обеспечения (информация согласно данным предприятия). Следовательно, тарифная ставка работника равна:

Общие затраты за два месяца на основную заработную плату исполнителя будут равны:

4. Статья «Дополнительная заработная плата» (Зд) на конкретное программное обеспечение включает выплаты, предусмотренные законодательством о труде (оплата отпусков, льготных часов, времени выполнения государственных обязанностей и других выплат, не связанных с основной деятельностью исполнителей), и определяется по нормативу в процентах к основной заработной плате: 

,

(6.4)

где  Зд – дополнительная заработная плата исполнителей на конкретное  программное обеспечение, руб.

Нд – норматив дополнительной заработной платы на предприятии, %. 

На предприятии норматив дополнительной заработной платы принят в размере 20%. Затраты на дополнительную заработную плату составят:

5. Статья «Отчисления на социальные нужды» (Осн) определяются согласно действующему законодательству на соответствующий год, по нормативу, в процентном отношении к фонду основной и дополнительной заработной платы исполнителей. К данным затратам относят:

отчисления в Фонд социальной защиты населения;

отчисления на обязательное страхование в Белгосстрах.

В 2012 году согласно законодательству норматив отчислений в Фонд социальной защиты населения (Нсз) 34%, а отчислений на обязательное страхование от несчастных случаев в Белгосстрах (Нб) установлен в размере 0,6%.

Сумма отчислений на социальные нужды рассчитывается по формуле:

(6.5)

Сумма отчислений на обязательное страхование в Белгосстрах рассчитывается по формуле:

(6.6)

Сумма отчислений на социальные нужды рассчитывается по формуле:

(6.7)

6. Рассчитаем статью  «Амортизация основных средств и нематериальных активов» (А).

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

Для определения затрат по данной статье будет использоваться линейный способ начисления амортизации. В соответствии с Временным республиканским классификатором амортизируемых основных средств и нормативными сроками их службы, компьютеры относятся к группе «Машины и оборудование». Нормативные сроки службы машин и оборудования составляют 5 лет.

Норма амортизации для линейного способа начисления вычисляется по формуле:

,

(6.8)

где Тс – срок службы оборудования, лет.

В данном случае норма амортизации составляет:

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

Годовую сумму амортизации определяем по формуле:

,

(6.9)

где Спрев – первоначальная стоимость, руб.

 На – норма амортизации

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

7. Статья «Спецоборудование для научных (экспериментальных) работ» (Рс) не предусмотрена.

8. Статья «Накладные расходы» (Pнi) не предусмотрена.

9.Статья «Прочие прямые расходы» (Пз) не предусмотрена.

Общая сумма затрат по смете (плановая себестоимость) (С) на программное обеспечение рассчитывается по формуле:

(6.10)

Результаты расчетов представлены в таблице 6.2.

Таблица 6.2 – Расчет плановой себестоимости программного обеспечения «Системы учёта документооборота на предприятии»

Статья затрат

Затраты, руб.

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

30100

Электроэнергия (Э);

69354

Основная заработная плата разработчиков (Зо);

1266720

Дополнительная заработная плата разработчиков (Зд);

253344

Отчисления в фонд социальной защиты населения и на обязательное страхование в Белгосстрах (Ссн);

525942

Амортизация оборудования и программного обеспечения (А);

100 000

Спецоборудование для научных (экспериментальных) работ (Рс);

-

Накладные расходы (Рн);

-

Прочие прямые расходы (Пз).

-

Общая сумма расходов по смете (плановая себестоимость С)

2245460

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

Рисунок 6.1 - Структура затрат на разработку программного обеспечения

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

6.3.Экономический эффект у разработчика программного обеспечения

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

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

,

(6.11)

где ОЦбез НДС– отпускная цена разработчика, руб.; 

С– плановая себестоимость, руб.;

П – прибыль, руб.

Прибыль рассчитывается по следующей формуле:

,

(6.12)

где R –уровень рентабельности, %

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

,

(6.13)

где С– плановая себестоимость, руб.;

П – прибыль, руб.

Для расчёта отпускной цены вначале необходимо рассчитать прибыль, которая закладывается в цену. Её значение рассчитывается по формуле (6.12). Норму рентабельности примем на уровне 15%, так как данный программный продукт является рисковым капитальным вложением. Для полученных значений прибыль составляет: 

Рассчитаем отпускную цену продукции без НДС по формуле (6.11):

Рассчитаем стоимость проекта с учётом налога на добавленную стоимость. Ставка налога на добавленную стоимость  года установлена в размере 20%. Размер налога на добавленную стоимость вычисляется по формуле (6.13):

Цена программного обеспечения с учётом НДС, представляет собой сумму отпускной цены и налога на добавленную стоимость. Для разработанного проекта данная стоимость составляет:

С учётом округления 3098750 рублей.

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

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

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

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

Для сравнения были выбраны программы:

Techprogramming.exe - 1522500

ForTecher - 3580000

Выводы к главе 6:

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

Стоимость разработанного программного продукта меньше стоимости аналогичных программ.

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


7. ОХРАНА ТРУДА

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

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

В разделе рассмотрены такие вопросы как:

надзор и контроль соблюдения законодательства об охране труда;

основные права  и обязанности работников и нанимателей по охране труда;

  •  обучение работников  охране труда;
  •  обеспечение производственной санитарии на рабочем месте;
  •  обеспечение техники безопасности при работе с ПК;

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

Основными задачами контроля являются:

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

Основными видами контроля являются:

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

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

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

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

В соответствии с Законом Республики Беларусь “Об Охране труда” работающий имеет право на получение от работодателя достоверной информации о состоянии условий и охраны труда на рабочем месте, а также о средствах защиты от воздействия вредных и (или) опасных производственных факторов.

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

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

, устройствами.

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

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

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

Обучение и повышение уровня знаний руководителей и специалистов по вопросам охраны труда осуществляются в соответствии с Положением о порядке осуществления повышения квалификации, стажировки и переподготовки работников, утвержденным постановлением Совета Министров Республики Беларусь от 12 марта 2008 г. № 379 “Об утверждении Положения о порядке осуществления повышения квалификации, стажировки и переподготовки работников и признании утратившими силу некоторых постановлений Правительства Республики Беларусь”.

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

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

К эффективным мерам можно отнести планомерное проведение инструктажей по технике безопасности.

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

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

Регистрация вводного инструктажа осуществляется в журнале регистрации вводного инструктажа по охране труда.

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

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

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

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

Для предотвращения неблагоприятного воздействия на человека вредных факторов, сопровождающих работы с видеодисплейными     терминалами (далее – ВДТ) электронно-вычислительными машинами   (далее ЭВМ)  и  персональными   электронно-вычислительными машинами (далее - ПЭВМ) существуют санитарные правила и нормы (далее – Санитарные правила), например, "Гигиенические требования к видеодисплейным терминалам, электронно-вычислительным машинам и организации работы" СанПиН 9-131 РБ, 2000 г.

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

В помещениях с ПК должны обеспечиваться оптимальные параметры микроклимата.

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

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

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

Снизить уровень шума в помещениях с ПК можно использованием звукопоглощающих материалов.

Дополнительным звукопоглощением служат однотонные занавеси из плотной ткани, гармонирующие с окраской стен и подвешенные в складку на расстоянии 15 - 20 см от ограждения. Ширина занавеси должна быть в 2 раза больше ширины окна.

Искусственное освещение в помещениях эксплуатации ПК должно осуществляться системой общего равномерного освещения.

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

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

повышенные уровни электромагнитного излучения промышленной частоты и высокочастотные;

повышенный уровень статического электричества;
повышенная или пониженная ионизация воздуха;

повышенная яркость света;

статические перегрузки костно-мышечного аппарата и динамические

локальные перегрузки мышц кистей рук;

перенапряжение зрительного анализатора;

умственное перенапряжение;

эмоциональные перегрузки.

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

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

Клавиатура располагается на поверхности стола таким образом, чтобы пространство перед клавиатурой было достаточным для опоры рук работника (на расстоянии не менее чем 300 мм от края, обращенного к работнику).

Чтобы обеспечивалось удобство зрительного наблюдения, быстрое и точное считывание информации, плоскость экрана монитора располагается ниже уровня глаз работника, предпочтительно перпендикулярно к нормальной линии взгляда работника (нормальная линия взгляда -15° вниз от горизонтали). Для исключения воздействия повышенных уровней электромагнитных излучений расстояние между экраном монитора и работником должно составлять не менее 500 мм (оптимальное расстояние – 600-700 мм).

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

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

Для обеспечения безопасности работников на соседних рабочих местах расстояние между рабочими столами с мониторами (в направлении тыла поверхности одного монитора и экрана другого монитора) должно быть не менее 2,0 м, а расстояние между боковыми поверхностями мониторов – не менее 1,2 м.

При работе с ПК обеспечивается доступ работников к первичным средствам пожаротушения, аптечкам первой медицинской помощи.     

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

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

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

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

Во время работы с ПК работник обязан:

соблюдать требования охраны труда;

содержать в чистоте и порядке свое рабочее место;

держать открытыми вентиляционные отверстия оборудования;

соблюдать оптимальное расстояние от экрана монитора до глаз.

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

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

При 8-часовой рабочей смене и работе с ПК регламентированные перерывы устанавливаются:

для I категории работ – через 2 часа от начала рабочей смены и через 2 часа после обеденного перерыва продолжительностью 15 минут каждый;

для II категории работ – через 2 часа от начала рабочей смены и через 1,5-2 часа после обеденного перерыва продолжительностью 15 минут каждый или продолжительностью 10 минут через каждый час работы. Продолжительность непрерывной работы на ПК без регламентированного перерыва не должна превышать 2 часов.

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

С целью уменьшения отрицательного влияния монотонности работы необходимо применять чередование операции.

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

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

При работе с ПК запрещается:

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

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

допускать попадание влаги на ПК и другие устройства;

прикасаться к поврежденным или неисправным выключателям, штепсельным розеткам, вилкам, к проводам с поврежденной изоляцией;

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

вытирать пыль на включенном оборудовании.

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

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

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

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

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

Стандарты обеспечения безопасной работы на компьютере.

Чтобы снизить вредное влияние различных производств на здоровье человека, медики разрабатывают жесткие нормы и требования, обязательные к выполнению. В частности, с целью снижения риска для здоровья различными организациями были разработаны рекомендации по параметрам мониторов. Самыми распространенными и известными являются стандарты, разработанные в Швеции и известные под именами TCO и MPRII.

Эргономика рабочего места и организация рабочего пространства.

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

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

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

Хорошая организация рабочего пространства очень важна для сохранения здоровья.

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

Если за компьютером работает только один человек, то рабочее пространство заранее можно оптимально организовать под этого человека.

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

Если компьютер используется несколько минут в день (до 30 минут), то вопросы эргономичной организации пространства не являются первостепенными. Если компьютер используется более 1 часа, то следует уделить достаточное внимание организации рабочего места. И если компьютер используется больше 4 часов, следует максимально обдуманно организовать рабочее место.

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

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

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

Помещение и освещение.

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

Желательно, чтобы площадь рабочего места составляла не менее 6 квадратных метров, а объем - 20 кубических метров. Стол следует поставить сбоку от окна так, чтобы свет падал слева. Наилучшее освещение для работы с компьютером - рассеянный непрямой свет, который не дает бликов на экране. В поле зрения пользователя не должно быть резких перепадов яркости, поэтому окна желательно закрывать шторами либо жалюзи. Искусственное же освещение должно быть общим и равномерным, в то же время использование одних только настольных ламп недопустимо.

Организация рабочего стола.

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

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

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

Правильная высота.

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

Правильное положение рук при работе с клавиатурой и мышью: локти располагаются параллельно поверхности стола и под прямым углом к плечу. Запястья не должны быть согнутыми, иначе возможно их повреждение. Желательно, чтобы во время работы запястья на что-нибудь опирались. Конструкция современных клавиатур и мышей предусматривает для них опору (дизайн клавиатуры и специальные коврики). Однако вы легко можете сами изготовить ее, например, взяв узкую полоску пенопласта и положив ее перед клавиатурой или мышью (однако следует учитывать, чтобы материал не вызывал чрезмерного раздражения рецепторов кожи (аллергические реакции), что может привести к возникновению заболеваний кожи). Клавиатура должна располагаться в 10-15 сантиметрах от края стола.

Вентиляция.

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

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

Шум.

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

Рабочее кресло.

Какой стул следует принимать на рабочем месте

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

  •  уменьшает число ошибок в два раза;
  •  повышает концентрацию внимания (+ 7%);
  •  сохраняет активность (+ 9%);
  •  сохраняет позитивное самочувствие (+ 15%);
  •  способствует хорошему настроению (+ 10%).

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

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

Как следует сидеть за компьютером.

Правильная осанка.

Старайтесь сидеть за компьютером на 2,5 см выше, чем обычно.

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

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

Уши должны располагаться точно в плоскости плеч.

Плечи должны располагаться точно над бедрами.

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

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

Руки должны удобно располагаться по сторонам.

Локти согнуты и находятся примерно в 3 см от корпуса.

Запястья должны принять нейтральное положение (ни подняты, ни опущены).

Сядьте так, чтобы край стула не давил под колени.

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

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

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

Обеспечение электробезопасности.

Электрический ток представляет собой скрытый тип опасности, т.к. его трудно определить в токо- и нетоковедущих частях оборудования, которые являются хорошими проводниками электричества. Смертельно опасным для жизни человека считают ток, величина которого превышает 0,05А, ток менее 0,05А – безопасен (до 1000 В). С целью предупреждения поражений электрическим током к работе должны допускаться только лица, хорошо изучившие основные правила по технике безопасности.

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

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

Обеспечение санитарно-гигиенических требований к помещениям и рабочим местам программистов.

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

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

Высота зала над технологическим полом до подвесного потолка должна быть 33,5 м. Расстояние подвесным и основным потолками при этом должно быть 0,50,8 м. Высоту подпольного пространства принимают равной 0,20,6 м.

В тех случаях, когда одного естественного освещения не хватает, устанавливается совмещенное освещение. При этом дополнительное искусственное освещение применяется не только в темное, но и в светлое время суток.

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

Противопожарная защита.

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

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

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

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

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

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


ЗАКЛЮЧЕНИЕ

В ходе выполнения дипломного проекта было выполнено электронное учебное пособие по дисциплине «Конструирование программ и языки программирования» с использованием мощной среды программирования а также аналогом Visual Studio SharpDevelop  и HTML.

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

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

мощные компьютеры  

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


СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. А.Я Архангельский «Программирование в C++ Borland 7-е изд.» ООО

Бином-пресс, 2010. - стр. 896;

2. В. В.Лабор «Си Шарп: Создание приложений для Windows»,

Харвест, 2003 – стр. 385;

3. Вячеслав Понамарев «Программирование на C++/C# в Visual Studio .NET 2003», БХВ-Петербург, 2004 – стр.352;

4. Герберт Шилдт «C# 4.0: полное руководство по C# 4.0», Вильямс, 2010 - стр. 740;

5. Мартин Дрейер,«C# для школьников», БИНОМ. Лаборатория знаний, 2009. – стр. 128;

6. Симон Робинсон, «C# для профессионалов», Лори, 2003 – стр.522;

7. Т.А. Павловская, «Введение в C#» , Питер, 2001-2010. –стр.461;

8. Троелсен «С# и платформа .NET. Библиотека программиста»,

СПб.- Питер, 2004, - стр. 800;

9. Чарльз Петцольд «Программирование в тональности C#» Русская Редакция, 2004 – стр.512;

10. http://ru.wikipedia.org;  

11. http://msdn.microsoft.com/ru-ru;

12. http://www.gotdotnet.ru/;

13. http://www.cyberforum.ru/csharp-net/.


ПРИЛОЖЕНИЕ А

Рисунок А.1 – Главная форма приложения

Рисунок А.2 – Форма лекций и выполнение теста

Рисунок А.3 –Форма с лабораторными работами

Рисунок А.4 –Учебные пособия


Рисунок А.5 – Дополнительный материал по дисциплине

Рисунок А.6 – Форма с видеоуроками


Рисунок А.7 – Информация о разработчике

Рисунок А.8 – Форма с презентациями


ПРИЛОЖЕНИЕ Б

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

<script type="text/javascript" language="JavaScript"> // Подключаем скриптовую часть к нашей HTML 

 var res="11142"  

function check_me()

{

   var count=0// Переменная равна нулю

   with(document.test)

{

if (!Q1[0].checked&&!Q1[1].checked&&!Q1[2].checked&&!Q1[3].checked)  

{count+=1};  

if (!Q2[0].checked&&!Q2[1].checked&&!Q2[2].checked&&!Q2[3].checked)  

{count+=1};  

if (!Q3[0].checked&&!Q3[1].checked&&!Q3[2].checked&&!Q3[3].checked)  

{count+=1};  

if (!Q4[0].checked&&!Q4[1].checked&&!Q4[2].checked&&!Q4[3].checked)  

{count+=1};  

if (!Q5[0].checked&&!Q5[1].checked&&!Q5[2].checked&&!Q5[3].checked)  

{count+=1};  

if (count>0)

{alert("Вы выполнили не все задания. Проверьте себя!") }

       else answer()

   }

}

 

function control(k, f1,f2,f3,f4,f5) {

if (k==1&&f1.checked) return true;

if (k==2&&f2.checked) return true;

if (k==3&&f3.checked) return true;

if (k==4&&f4.checked) return true;

if (k==5&&f5.checked) return true;

return false;

}

function answer()

{

answ="";

    with(document)

   {

answ+=control(res.charAt(0) ,test.Q1[0],test.Q1[1],test.Q1[2],test.Q1[3])?"1":"0"

answ+=control(res.charAt(1) ,test.Q2[0],test.Q2[1],test.Q2[2],test.Q2[3])?"1":"0"

answ+=control(res.charAt(2) ,test.Q3[0],test.Q3[1],test.Q3[2],test.Q3[3])?"1":"0"

answ+=control(res.charAt(3) ,test.Q4[0],test.Q4[1],test.Q4[2],test.Q4[3])?"1":"0"

answ+=control(res.charAt(4) ,test.Q5[0],test.Q5[1],test.Q5[2],test.Q5[3])?"1":"0"

showResult();

   }

}

 

function showResult()

{

   var nok=0;

   var i,s;

 

for (i=0; i<answ.length;i++) {nok+=answ.charAt(i)=="1"?1:0;}

if(nok==5) s="ОТЛИЧНО"; //Если количество правильных ответов = 5 то вывод оценки «отилично»

if(nok<5) s="ХОРОШО";// Если количество правильных ответов составляет меньше пяти то оценка Хорошо

if(nok<3.75) s="УДОВЛЕТВОРИТЕЛЬНО"; //Если  количество  правильных ответов составляет 3.75 от общей суммы правильных ответов то оценка «Удовлетворительно»

if (nok<2.5) s="НЕУДОВЛЕТВОРИТЕЛЬНО";//Если  количество  правильных ответов составляет 3.75 от общей суммы правильных ответов то оценка «Неудовлетворительно»

   document.test.s1.

value="Количество правильных ответов "+nok+". Ваша оценка  "+s+". Посмотрите на окно рядом с номером вопроса. Если ответ правильный, там (+). Если ответ ошибочен, там (-).";  //Вывод текста ответа, в котором  оценка зависит от количества правильных ответов во всем тесте

 

with(document.test)

   {

 if (answ.charAt(0)=="1") {T1.value=" + "} else {T1.value=" - "};// В нулевом вопросе,  если выбран Т1 то плюс 1 к ответу, иначе минус

  if (answ.charAt(1)=="1") {T2.value=" + "} else {T2.value=" - "};// В 1м  вопросе,  если выбран Т1 то плюс 1 к ответу, иначе минус

  if (answ.charAt(2)=="1") {T3.value=" + "} else {T3.value=" - "};// В 2м  вопросе,  если выбран Т1 то плюс 1 к ответу, иначе минус

  if (answ.charAt(3)=="1") {T4.value=" + "} else {T4.value=" - "};// В 3м  вопросе,  если выбран Т1 то плюс 1 к ответу, иначе минус

  if (answ.charAt(4)=="1") {T5.value=" + "} else {T5.value=" - "};// В 4м вопросе,  если выбран Т1 то плюс 1 к ответу, иначе минус

    }

}

function showhide(obj){

   if(obj == 'none') return 'inline';

   else return 'none';

}

</script>

<center><b></b></center><br/><br/>

&nbsp;&nbsp;&nbsp;<span style="color:#006699;text-decoration:underline;cursor:pointer;" onclick="document.getElementById('instruction').style.display = showhide(document.getElementById('instruction').style.display)">

Инструкция</span>

<br/>

<div id="instruction" style="display: none; width: 100%;">

<ul>

<li>Выберите один из вариантов в каждом из 5 вопросов;</li>

<li>Нажмите на кнопку "Показать результат";</li>

<li>Скрипт не покажет результат, пока Вы не ответите на все вопросы;</li>

<li>Загляните в окно рядом с номером задания. Если ответ правильный, то там (+). Если Вы ошиблись, там (-).</li>

<li>За каждый правильный ответ начисляется 1 балл;</li>

<li>Оценки: менее 2.5 баллов - НЕУДОВЛЕТВОРИТЕЛЬНО, от 2.5 но менее 3.75 - УДОВЛЕТВОРИТЕЛЬНО, 3.75 и менее 5 - ХОРОШО, 5 - ОТЛИЧНО;</li>

<li>Чтобы сбросить результат тестирования, нажать кнопку "Сбросить ответы";</li>

</ul>

</div>

<form name="test"><ol>

<li><INPUT type="text" size="1" name="T1"/><b> Программа, переводящая программу, написанную на каком-либо языке программирования, на машинный язык?</b><br/>

<input type="radio" name="Q1"/> Транслятор<br />

<input type="radio" name="Q1"/> Компилятор<br />

<input type="radio" name="Q1"/> Регистр<br />

<input type="radio" name="Q1"/> Комутатор<br />

<br/></li><li><INPUT type="text" size="1" name="T2"/><b> Набор символов, которые могут быть использованы при составлении программы?</b><br/>

<input type="radio" name="Q2"/> Алфавит языка<br />

<input type="radio" name="Q2"/> Язык программирования <br />

<input type="radio" name="Q2"/> Текст программы<br />

<input type="radio" name="Q2"/> Символы<br />

<br/></li><li><INPUT type="text" size="1" name="T3"/><b> Описание диапазона значений, которые может принимать переменная, указанного типа?</b><br/>

<input type="radio" name="Q3"/> Тип данных<br />

<input type="radio" name="Q3"/> Значение<br />

<input type="radio" name="Q3"/> Диапазон<br />

<input type="radio" name="Q3"/> Переменные<br />

<br/></li><li><INPUT type="text" size="1" name="T4"/><b> Оператор осуществляет преобразование целочисленных значений к незнаковым числам </b><br/>

<input type="radio" name="Q4"/> char <br />

<input type="radio" name="Q4"/> double<br />

<input type="radio" name="Q4"/> int <br />

<input type="radio" name="Q4"/> unsigned <br />

<br/></li><li><INPUT type="text" size="1" name="T5"/><b> Совокупность программ существующих вообще или установленных на конкретном компьютере или группе компьютеров называется...? </b><br/>

<input type="radio" name="Q5"/> Системные программы <br />

<input type="radio" name="Q5"/> Программное обеспечение<br />

<input type="radio" name="Q5"/> Учебное пособие<br />

<input type="radio" name="Q5"/> Тестовик<br />

<br/></li></ol>  

<CENTER>

<P><TEXTAREA name="s1" rows="4" cols="70" readonly> </TEXTAREA> </P>

<INPUT onclick="check_me()" type="button" value="Показать результат"/>&nbsp;&nbsp;&nbsp;&nbsp;

<INPUT type="reset" value="Сбросить ответы"/>

</CENTER>   

</form>


Форма с видеоуроками:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace Maya_Project

{

   public partial class Form6 : Form

   {

       public Form6()

       {

           InitializeComponent();

       }

       private void button5_Click(object sender, EventArgs e)

       {

           axWindowsMediaPlayer1.URL = "VideoC#.avi";

       }

       private void button1_Click(object sender, EventArgs e)

       {

           axWindowsMediaPlayer1.URL = "Visual Studio 2008 C# Урок 1 Часть 1.avi";

       }

       private void button4_Click(object sender, EventArgs e)

       {

           axWindowsMediaPlayer1.Ctlcontrols.stop();//Остановка проигрывателя при наатии кнопки назад

           Form6.ActiveForm.Hide();//Скрываем активную форму 9

           Form2 MyForm2 = new Form2();//Создаем форму 2

           MyForm2.ShowDialog();//Показываем форму 2

           Close();//Закрываем форму 9

       }

       private void button16_Click(object sender, EventArgs e)

       {

           axWindowsMediaPlayer1.URL = "Visual Studio 2008 C# Урок 1 Часть 2.avi";

       }

       private void button10_Click(object sender, EventArgs e)

       {

           axWindowsMediaPlayer1.URL = "Visual Studio 2008 C# Урок 2 Часть 1.avi";

       }

       private void button12_Click(object sender, EventArgs e)

       {

           axWindowsMediaPlayer1.URL = "Visual Studio 2008 C# Урок 2 Часть 2.avi";

       }

       private void button3_Click(object sender, EventArgs e)

       {

           axWindowsMediaPlayer1.URL = "Visual Studio 2008 C# Урок 3 Часть 1.avi";

       }

       private void button11_Click(object sender, EventArgs e)

       {

           axWindowsMediaPlayer1.URL = "Visual Studio 2008 C# Урок 3 Часть 2.avi";

       }

       private void button14_Click(object sender, EventArgs e)

       {

           Application.Exit();

       }

   }

}


Главная форма при открытии:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace Maya_Project

{

   public partial class Form2 : Form

   {

       public Form2()

       {

           InitializeComponent(); //Инициализация комнпонент

       }

       private void button3_Click(object sender, EventArgs e)

       {

           Application.Exit();//Выход из приложения

       }

       private void button13_Click(object sender, EventArgs e)

       {

           Form2.ActiveForm.Hide();//Скрыть активную форму 2

           Form5 MyForm5 = new Form5();//Создаем новую форму 5

           MyForm5.ShowDialog();//Форму 5 показываем

           Close();//Закрытие формы 2

       }

       private void button7_Click(object sender, EventArgs e)

       {

           Form2.ActiveForm.Hide();//Скрыть активную форму 2

           Form10 MyForm10 = new Form10();//Создаем новую форму 10

           MyForm10.ShowDialog();//Форму 10 показываем

           Close();//Закрытие формы 2

       }

       private void button10_Click(object sender, EventArgs e)

       {

           Form2.ActiveForm.Hide();//Скрыть активную форму 2

           Form10 MyForm10 = new Form10();//Создаем новую форму 10

           MyForm10.ShowDialog();//Форму 10 показываем

           Close();//Закрытие формы 2

       }

       private void button5_Click(object sender, EventArgs e)

       {

       }

       private void button12_Click(object sender, EventArgs e)

       {

           Form2.ActiveForm.Hide();//Скрыть активную форму 2

           Form7 MyForm7 = new Form7();//Создаем новую форму 7

           MyForm7.ShowDialog();//Форму 7 показываем

           Close();//Закрытие формы 2

       }

       private void button14_Click(object sender, EventArgs e)

       {

           Form2.ActiveForm.Hide();//Скрыть активную форму 2

           Form8 MyForm8 = new Form8();//Создаем новую форму 7

           MyForm8.ShowDialog();//Форму 7 показываем

           Close();//Закрытие формы 2

       }

       private void button2_Click(object sender, EventArgs e)

       {

           Form2.ActiveForm.Hide();//Скрываем активную форму 9

           Form6 MyForm6 = new Form6();//Создаем форму 2

           MyForm6.ShowDialog();//Показываем форму 2

           Close();//Закрываем форму 9

       }

       private void button4_Click_1(object sender, EventArgs e)

       {

           Form2.ActiveForm.Hide(); //Скрываем активную форму 7

           Form3 MyForm3 = new Form3();//Создаем форму 2

           MyForm3.ShowDialog();//Показываем форму 2

           Close();//Закрываем форму 7

       }

       private void button6_Click_1(object sender, EventArgs e)

       {

           Form2.ActiveForm.Hide(); //Скрываем активную форму 7

           Form4 MyForm4 = new Form4();//Создаем форму 2

           MyForm4.ShowDialog();//Показываем форму 2

           Close();//Закрываем форму 7

       }

Форма с дополнительным материалом:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace Maya_Project

{

   public partial class Form3 : Form

   {

       public Form3()

       {

           InitializeComponent();

       }

       private void button53_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\dop\1.htm";

           webBrowser1.Navigate(path);//Загрузка файла с жесткого диска

       }

       private void button52_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\dop\2.htm";

           webBrowser1.Navigate(path);//Загрузка файла с жесткого диска

       }

       private void button1_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\dop\3.htm";

           webBrowser1.Navigate(path);//Загрузка файла с жесткого диска

       }

       private void button3_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\dop\4.htm";

           webBrowser1.Navigate(path);//Загрузка файла с жесткого диска

       }

       private void button5_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\dop\5.htm";

           webBrowser1.Navigate(path);//Загрузка файла с жесткого диска

       }

       private void button56_Click(object sender, EventArgs e)

       {

           Form3.ActiveForm.Hide(); //Скрываем активную форму 7

           Form2 MyForm2 = new Form2();//Создаем форму 2

           MyForm2.ShowDialog();//Показываем форму 2

           Close();//Закрываем форму 7

       }

   }

}


Форма с презентациями:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace Maya_Project

{

   public partial class Form4 : Form

   {

       public Form4()

       {

           InitializeComponent();

       }

       private void button4_Click_1(object sender, EventArgs e)

       {

           Form4.ActiveForm.Hide();//Скрываем активную форму 10

           Form2 MyForm2 = new Form2();//Создаем форму 2

           MyForm2.ShowDialog();//Показыаем форму 2

           Close();//Закрываем форму 10

       }

       private void button5_Click_1(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\prezentacii\1.htm";

           webBrowser1.Navigate(path);//Загружаем с жесткого диска файл с книгой

       }

       private void button1_Click_1(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\prezentacii\2.htm";

           webBrowser1.Navigate(path);//Загружаем с жесткого диска файл с книгой

       }

       private void button16_Click_1(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\prezentacii\3.htm";

           webBrowser1.Navigate(path);//Загружаем с жесткого диска файл с книгой

       }

       private void button10_Click_1(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\prezentacii\4.htm";

           webBrowser1.Navigate(path);//Загружаем с жесткого диска файл с книгой

       }

       private void button12_Click_1(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\prezentacii\5.htm";

           webBrowser1.Navigate(path);//Загружаем с жесткого диска файл с книгой

       }

       private void button3_Click_1(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\prezentacii\6.htm";

           webBrowser1.Navigate(path);//Загружаем с жесткого диска файл с книгой

       }

       private void button11_Click_1(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\prezentacii\7.htm";

           webBrowser1.Navigate(path);//Загружаем с жесткого диска файл с книгой

       }

       private void button14_Click_1(object sender, EventArgs e)

       {

           Application.Exit();

       }

   }

}


Форма с лекциями и тестами

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace Maya_Project

{

   public partial class Form5 : Form

   {

       public Form5()

       {

           InitializeComponent();//Инициализация компонент

       }

       private void button3_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\kp\1.htm";

           webBrowser1.Navigate(path);

       }

       private void button5_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\kp\2.htm";

           webBrowser1.Navigate(path);

       }

       private void button9_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\kp\3.htm";

           webBrowser1.Navigate(path);//Загрузка файла с локального носителя

       }

       private void button10_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\kp\4.htm";

           webBrowser1.Navigate(path);//Загрузка файла с локального носителя

       }

       private void button11_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\kp\5.htm";

           webBrowser1.Navigate(path);//Загрузка файла с локального носителя

       }

       private void button12_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\kp\6.htm";

           webBrowser1.Navigate(path);//Загрузка файла с локального носителя

       }

       private void button16_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\kp\7.htm";

           webBrowser1.Navigate(path);//Загрузка файла с локального носителя

       }

       private void button17_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\kp\8.htm";

           webBrowser1.Navigate(path);//Загрузка файла с локального носителя

       }

       private void button18_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\kp\9.htm";

           webBrowser1.Navigate(path);//Загрузка файла с локального носителя

       }

       private void button19_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\kp\10.htm";

           webBrowser1.Navigate(path);//Загрузка файла с локального носителя

       }

       private void button20_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\kp\11.htm";

           webBrowser1.Navigate(path); ;//Загрузка файла с локального носителя

       }

       private void button21_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\kp\12.htm";

           webBrowser1.Navigate(path); ;//Загрузка файла с локального носителя

       }

       private void button22_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\kp\13.htm";

           webBrowser1.Navigate(path); ;//Загрузка файла с локального носителя

       }

       private void button23_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\kp\14.htm";

           webBrowser1.Navigate(path);//Загрузка файла с локального носителя

       }

       private void button24_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\kp\16.htm";

           webBrowser1.Navigate(path);//Загрузка файла с локального носителя

       }

       private void button25_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\kp\17.htm";

           webBrowser1.Navigate(path);//Загрузка файла с локального носителя

       }

       private void button26_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\kp\18.htm";

           webBrowser1.Navigate(path);//Загрузка файла с локального носителя

       }

       private void button27_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\kp\19.htm";

           webBrowser1.Navigate(path);//Загрузка файла с локального носителя

       }

       private void button14_Click(object sender, EventArgs e)

       {

           Application.Exit();//Выход из приложения

       }

       private void button4_Click_1(object sender, EventArgs e)

       {

           Form5.ActiveForm.Hide();//Скрываем активную форму 5

           Form2 MyForm2 = new Form2();//Создаем форму 2

           MyForm2.ShowDialog();//Показываем форму 2

           Close();//Закрываем форму 5

       }

       }

   }


Форма с лабораторными работами:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace Maya_Project

{

   public partial class Form7 : Form

   {

       public Form7()

       {

           InitializeComponent();//Инициализация компонент

       }

       private void button4_Click(object sender, EventArgs e)

       {

           Form7.ActiveForm.Hide(); //Скрываем активную форму 7

           Form2 MyForm2 = new Form2();//Создаем форму 2

           MyForm2.ShowDialog();//Показываем форму 2

           Close();//Закрываем форму 7

       }

       private void button14_Click(object sender, EventArgs e)

       {

           Application.Exit();//Выход из приложения

       }

       private void button3_Click(object sender, EventArgs e)

       {

       

           string path = Application.StartupPath + @"\Resources\laby_kp\9.htm";

           webBrowser1.Navigate(path);//Загрузка файла с жесткого диска

       }

       private void button5_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\laby_kp\10.htm";

           webBrowser1.Navigate(path);//Загрузка файла с жесткого диска

       }

       private void button9_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\laby_kp\11.htm";

           webBrowser1.Navigate(path);//Загрузка файла с жесткого диска

       }

       private void button10_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\laby_kp\12.htm";

           webBrowser1.Navigate(path);//Загрузка файла с жесткого диска

       }

       private void button11_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\laby_kp\13.htm";

           webBrowser1.Navigate(path);//Загрузка файла с жесткого диска

       }

       private void button12_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\laby_kp\14.htm";

           webBrowser1.Navigate(path);//Загрузка файла с жесткого диска

       }

       private void button16_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\laby_kp\15.htm";

           webBrowser1.Navigate(path);//Загрузка файла с жесткого диска

       }

       private void button17_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\laby_kp\16.htm";

           webBrowser1.Navigate(path);//Загрузка файла с жесткого диска

       }

       private void button18_Click(object sender, EventArgs e)

       {

                 string path = Application.StartupPath + @"\Resources\laby_kp\17.htm";

           webBrowser1.Navigate(path);//Загрузка файла с жесткого диска

       }

       private void button19_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\laby_kp\18.htm";

           webBrowser1.Navigate(path);//Загрузка файла с жесткого диска

       }

       private void button20_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\laby_kp\19.htm";

           webBrowser1.Navigate(path);//Загрузка файла с жесткого диска

       }

       private void button21_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\laby_kp\20.htm";

           webBrowser1.Navigate(path);//Загрузка файла с жесткого диска

       }

       private void button22_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\laby_kp\22.htm";

           webBrowser1.Navigate(path);//Загрузка файла с жесткого диска

       }

       private void button23_Click(object sender, EventArgs e)

       {

               string path = Application.StartupPath + @"\Resources\laby_kp\24.htm";

           webBrowser1.Navigate(path);//Загрузка файла с жесткого диска

       }

       private void button24_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\laby_kp\25.htm";

           webBrowser1.Navigate(path);//Загрузка файла с жесткого диска

       }

       private void button25_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\laby_kp\26.htm";

           webBrowser1.Navigate(path);//Загрузка файла с жесткого диска

       }

       private void button26_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\laby_kp\27.htm";

           webBrowser1.Navigate(path);//Загрузка файла с жесткого диска

       }

       private void button27_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\laby_kp\28.htm";

           webBrowser1.Navigate(path);//Загрузка файла с жесткого диска

       }

       private void button6_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\laby_kp\29-1.htm";

           webBrowser1.Navigate(path);//Загрузка файла с жесткого диска

       }

       private void button7_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\laby_kp\29-2.htm";

           webBrowser1.Navigate(path);//Загрузка файла с жесткого диска

       }

       private void button8_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\laby_kp\30.htm";

           webBrowser1.Navigate(path);//Загрузка файла с жесткого диска

       }

       private void button13_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\laby_kp\31.htm";

           webBrowser1.Navigate(path);//Загрузка файла с жесткого диска

       }

       private void button28_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\laby_kp\32.htm";

           webBrowser1.Navigate(path);//Загрузка файла с жесткого диска

       }

       private void button29_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\laby_kp\33.htm";

           webBrowser1.Navigate(path);//Загрузка файла с жесткого диска

       }

       private void button30_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\laby_kp\36.htm";

           webBrowser1.Navigate(path);//Загрузка файла с жесткого диска

Форма справки:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace Maya_Project

{

   public partial class Form8 : Form

   {

       public Form8()

       {

           InitializeComponent();

       }

       private void button14_Click(object sender, EventArgs e)

       {

           Form8.ActiveForm.Hide();//Скрыть активную форму 2

           Form2 MyForm2 = new Form2();//Создаем новую форму 7

           MyForm2.ShowDialog();//Форму 7 показываем

           Close();//Закрытие формы 2

       }

   }

}


Форма с учебными пособиями:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace Maya_Project

{

   public partial class Form10 : Form

   {

       public Form10()

       {

           InitializeComponent();//Инициализация компонент

       }

       private void button4_Click(object sender, EventArgs e)

       {

           Form10.ActiveForm.Hide();//Скрываем активную форму 10

           Form2 MyForm2 = new Form2();//Создаем форму 2

           MyForm2.ShowDialog();//Показыаем форму 2

           Close();//Закрываем форму 10

       }

       private void button3_Click(object sender, EventArgs e)

       {

          string path = Application.StartupPath + @"\Resources\uchebniki\1.pdf";

          webBrowser1.Navigate(path);

       }

       private void button14_Click(object sender, EventArgs e)

       {

           Application.Exit(); //Выход из программы

       }

       private void button5_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\uchebniki\2.pdf";

           webBrowser1.Navigate(path);//Загружаем с жесткого диска файл с книгой

       }

       private void button9_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\uchebniki\3.pdf";

           webBrowser1.Navigate(path);//Загружаем с жесткого диска файл с книгой

       }

       private void button11_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\uchebniki\4.pdf";

           webBrowser1.Navigate(path);//Загружаем с жесткого диска файл с книгой

       }

       private void button12_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\uchebniki\8.pdf";

           webBrowser1.Navigate(path);//Загружаем с жесткого диска файл с книгой

       }

       private void button16_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\uchebniki\9.pdf";

           webBrowser1.Navigate(path);//Загружаем с жесткого диска файл с книгой

       }

       private void button10_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\uchebniki\4.pdf";

           webBrowser1.Navigate(path);//Загружаем с жесткого диска файл с книгой

       }

       private void button1_Click(object sender, EventArgs e)

       {

           string path = Application.StartupPath + @"\Resources\uchebniki\10.pdf";

           webBrowser1.Navigate(path);//Загружаем с жесткого диска файл с книгой

       }

       private void button2_Click(object sender, EventArgs e)

       {

           System.Diagnostics.Process.Start("D:/Maya_Project/Maya Project/Resources/123456.chm");//Загружаем с жесткого диска файл со справкой


ГРАФИЧЕСКАЯ ЧАСТЬ


 

А также другие работы, которые могут Вас заинтересовать

11853. Устройство контроля четности 67 KB
  Лабораторная работа №7 Устройство контроля четности Теоретическая часть Операции контроля четности двоичных чисел позволяет повысить надежность передачи и обработки информации. Ее сущность заключается в суммировании по модулю 2 всех разрядов с целью выяснени
11854. Модуляция и детектирование сигналов оптического диапазона 542.5 KB
  Тема: Модуляция и детектирование сигналов оптического диапазона Текст лекции № 20 по дисциплине: Теория электрической связи Модуляция и детектирование сигналов оптического диапазона Введение Волоконно-оптические линии связи ВОЛС имеют ряд преимущес...
11855. Характеристики модуляции сигналов оптического диапазона 683.5 KB
  Текст лекции № 21 по дисциплине: Теория электрической связи Характеристики модуляции сигналов оптического диапазона Введение Волоконнооптические линии связи ВОЛС имеют ряд преимуществ по сравнению с линиями связи на основе металлических кабелей. К ни
11856. Представление аналогового сигнала в цифровом виде 163.5 KB
  Текст лекции № 22 по дисциплине: Теория электрической связи Представление аналогового сигнала в цифровом виде Введение Цифровая обработка сигналов как направление развития науки и техники зародилась в 1950х годах. За прошедшие 50 лет благодаря успехам микро
11857. Робота з Кубом Caché 1.1 MB
  Лекція 2. Робота з Кубом Caché Для розробки застосувань та роботи з БД система Caché пропонує наступний набір утиліт: студію Caché Studio; термінал Caché Terminal; портал управління системою. Дані утиліти запускаються з Cachéкуба розташованого в панелі задач рис. 1. ...
11858. Думи мої, думи мої 58 KB
  Думи мої думи мої. Літературний вечір 1. Ведуча. Я вас вітаю з березневим днем. І всетаки зійдуть сніги і нам привітно усміхнуться дерева своїм листям трава і квіти. І прилетять гусилебеді. Такого ж березневого дня колись принесли лемки до кріпацької хати малень
11859. Хімія - світ кави 92 KB
  Тема: Хімія світ кави. Мета: поглибити знання з хімії. Форма проведення: хімічний вечір Оформлення сцени: фізична карта світу прапорцями відмічено країни де виробляють каву: Бразилія Колумбія Уганда КостаРіка Камерун Сальвадор Гватемала Мексика Перу Інд
11860. Земля у нас одна 94 KB
  Пресконференція Земля у нас одна Предмет – хімія Клас – 10 Кількість учнів у класі – 17 Кількість присутніх – 17. Навчальна мета: сформувати знання про сучасний стан навколишнього середовища та вплив діяльності людини на природу; Виховна мета: виховувати дбай...
11861. День матері 111 KB
  Виховний захід на тему: День матері Мета. Закріплення в учнів навичок виразного читання віршованих творів та розвитку їхніх артистичних здібностей. Виховувати глибоку любов і повагу до матері – засновниці і продовжувачки роду людського чуйність і доброту до на