Назначение руководства программиста. Назначение руководства программиста Краткое описание возможностей

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

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

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

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

  • 1. Назначение и условия применения
  • 2. Характеристика программы
  • 3. Обращение к программе
  • 4. Полный перечень модулей и компонентов
  • 5. Сообщение пользователю

1 . Назначение и условия применения

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

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

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

Требования к аппаратному обеспечению:

· процессор Intel Pentium IV и выше;

· оперативная память 512 Мб и выше;

· видеокарта AGP/PCI Express 64 Мб и выше;

· свободное пространство на диске 12 Мб;

· видеомонитор с разрешением 1024x768;

· клавиатура;

· мышь;

· принтер для вывода на печать отчетов;

· операционная система Windows 98/2000/XP/Vista/7/8;

· Microsoft Access, Borland Delphi 7.

2 . Характеристика программы

В тестовом режиме был произведен запрос к форме ввода/вывода и введены данные в главную таблицу, что позволило оценить наглядно загруженность центрального процессора (ЦП) и использование выделенной (виртуальной) памяти с помощью «Диспетчера задач», как изображено на рис.Б.1 и рис.Б.2.

Рис.Б.2- Выделенная память и время загрузки

3 . Обращение к программе

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

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

Возможен запуск программы через командную строку. Запустить командную строку «Пуск/Все программы/Стандартные/Командная строка» Далее в командной строке необходимо ввести полный путь к программе, далее написать название программы (Project1.exe) и нажать Enter. Программа запущена.

Еще один способ запуска программы: в меню «Пуск» выберите пункт «Выполнить». В результате на экране откроется окно «Выполнение программы». В поле «Открыть» окна «Выполнение программы» введите путь к файлу программы, которую требуется запустить.

Выход из приложения возможен при нажатии на кнопку «Закрыть» или с помощью пункта меню программы «Файл/Выход», а также можно воспользоваться сочетанием клавиш Alt+F4.

4 . Полный перечень модулей и компонентов

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

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

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

Unit2.pas - отправка заказа дилеру (дилерский терминал);

Unit3.pas - модуль программы, где происходит заполнение данных по замерам изделия (окна);

Unit4.pas - модуль программы, где происходит заполнение данных по установке изделия (окна);

Unit5.pas - поиск, фильтрация, сортировка по заказам;

Unit6.pas - модуль «О программе».

В главной форме имеются компоненты, изображенные на рис.Б.3. На рисунке также изображено «дерево» всех компонентов формы (рис. Б.4).

Рисунок Б.3 - Компоненты главной формы

Компоненты главной формы:

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

TADOTable - таблица доступная через ADO;

DataSource обеспечивает механизм для связи компонентов доступа к данным (Table) с визуальными компонентами, которые отображают данные (DBGrid, DBEdit, DBListBox и т. д.)

TADOQuery - выполняет запрос (выборку) к базе данных;

TMainMenu - создает главное меню программы;

TDBGrid - осуществляет отображение данных из базы данных в виде таблицы;

TEdit - поле для ввода текстовых сообщений;

TButton - кнопка;

TComboBox - выпадающий список;

TDBCtrlGrid - используется для отображения таблицы в виде «кирпичиков»;

TLabel - надписи;

TGroupBox - панель, как отельный элемент с другими компонентами;

TDBNavigator - компонент для управления навигацией и редактированием данных;

TDBEdit - поле редактирования записи базы данных;

TDateTimePicker - выбор даты;

TSpeedButton - быстрая кнопка;

TBitBtn - кнопка, передающая действие форме;

TBevel - предназначен в приложении для простого обведения чего-либо рамкой.

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

Рисунок Б.4 - Структура компонентов

5 . Сообщение пользователю

Если пользователь ввёл неверные значения для фильтрации данных базы данных, то выводится сообщение, показанное на рис.Б.5.

Рис.Б.5 - Сообщение об ошибке

Если произошла ошибка при удалении данных, то выводиться сообщение об ошибке, показанное на рис.Б.6.

программный пластиковый окно

Рис.Б.6 - Сообщение об ошибке.

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

Рис.Б.7 - Сообщение о ошибке

При попытке удаления выводится сообщение, показанное на рис.Б.8.

Рис.Б.8 - Диалог с пользователем

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

Рис.Б.9 - Диалог с пользователем

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

...

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

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

    курсовая работа , добавлен 19.03.2010

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

    курсовая работа , добавлен 20.07.2014

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

    курсовая работа , добавлен 27.06.2015

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

    дипломная работа , добавлен 12.06.2009

    Delphi как программный продукт с феноменальными характеристиками. Компилятор в машинный код. Объектно-ориентированная модель программных компонентов. Масштабируемые средства для построения баз данных. Программный код.

    контрольная работа , добавлен 30.07.2007

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

    дипломная работа , добавлен 11.06.2012

    Назначение и область применения промышленных роботов. Разработка программы "Кинематическое движение" в среде Delphi для определения основных параметров кинематического движения. Описание работы и листинг программы. Руководство программиста и оператора.

    курсовая работа , добавлен 17.11.2014

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

    курсовая работа , добавлен 07.12.2007

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

    курсовая работа , добавлен 17.04.2011

    Разработка программы на языке Visual Basic. Спецификация на программный модуль. Ввод, изменение и удаление данных по определенным требованиям. Руководство системного программиста, программиста и оператора. Ведение базы данных в виде таблицы Excel.

Г О С У Д А Р С Т В Е Н Н Ы Й С Т А Н Д А Р Т С О Ю З А С С Р

Единая система программной документации

ГОСТ 19.504-79

(СТ СЭВ 2095-80)

РУКОВОДСТВО ПРОГРАММИСТА.
ТРЕБОВАНИЯ К СОДЕРЖАНИЮ И ОФОРМЛЕНИЮ

United system for program documentation.
Programmer"s guide. Requirements to contents and form of presentation

Постановлением Государственного комитета стандартов Совета Министров СССР от 12 января 1979 г. ¹ 74 срок введения установлен

с 01.01. 1980 г.

Настоящий стандарт устанавливает требования к содержанию и оформлению программного документа «Руководство программиста», определённого ГОСТ 19.101-77 .

Стандарт полностью соответствует СТ СЭВ 2095-80.

1. ОБЩИЕ ПОЛОЖЕНИЯ

1.1. Структуру и оформление документа устанавливают в соответствии с ГОСТ 19.105-78 .

Составление информационной части (аннотации и содержания) является обязательным.

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

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

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

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

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

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

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

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

2.6. В приложении к руководству программиста могут быть приведены дополнительные материалы (примеры, иллюстрации, таблицы, графики и т.п.).

* Переиздание (Ноябрь 1987 г.) с Изменением № 1, утвержденным в сентябре 1981 г (ИУС 11-81)

Цели и задачи

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

  1. программный продукт по своему основному назначению является средой разработки или библиотекой (как Delphi или Qt);
  2. комплекс или программный продукт служит платформой для разработки программ или систем определенного типа (как 1С или Axapta);
  3. программа распространяется вместе с исходным кодом или постоянно модифицируется самими разработчиками.

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

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

Руководство программиста должно объяснять:

  • Как устроен «мир», в который погружают разработчика. С какими объектами программист имеет дело, где они находятся, сколько времени существуют и как они взаимодействуют между собой. Какие из них он создает сам, а какие предоставлены ему изначально средой, фреймворком, библиотекой.
  • Какие еще средства разработки (кроме нашего программного продукта) необходимы для того, чтобы создать приложение или систему. Например, если наш программный продукт - это библиотека, то программисту потребуются компилятор (возможно, вполне определенный), какая-то среда разработки и прочий инструментарий.
  • В какой среде функционирует приложение или система? Какими будут его минимальные требования к системе? Понадобятся ли для его запуска какие-либо дополнительные программные средства: фреймворки, рантаймы, интерпретаторы.
  • Что представляет собой минимальное работоспособное приложение или минимальная работоспособная система. Какие объекты в какой последовательности необходимо создать, и как их друг с другом соединить, чтобы приложение вывело хотя бы «Hello World» . Правда, бывают приложения, которые вообще не выводят текста, а управляют доменной печью или трафиком в сетях, но у них все равно обязательно есть какой-то свой минимальный вывод.
  • Как (по шагам) скомпилировать работоспособное приложение или развернуть работоспособную систему.

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

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

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

Методика и стиль изложения

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

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

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

При описании объектов особое внимание следует уделять следующим аспектам:

  • Что обязательно должно предшествовать созданию и использованию объекта.
  • Каковы побочные эффекты обращения к объекту.
  • Особенности интерпретации объектом передаваемых ему данных.
  • Где «физически» (в каком файле, в какой библиотеке) находится объект.

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

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

Описания объектов можно вынести в отдельный том или документ под названием «Справочник программиста». Хорошая мысль - сделать его гипертекстовым.

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

Типовая структура

Структура руководства программиста, зафиксированная в ГОСТ 19.504-79 , такова:

  1. Назначение и условия применения программы.
  2. Характеристика программы.
  3. Обращение к программе.
  4. Входные и выходные данные.
  5. Сообщения.

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

Особенности

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

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

Примеры

АПК «Нострадамус». Руководство программиста

Аналитический программный комплекс «Нострадамус» предназначен для создания аналитических и отчетных банковских систем. Он содержит набор специализированных компонентов, из которых разработчик конструирует приложение в визуальной среде. Программный код в случае необходимости можно писать на языке Pascal (поэтому описание языка программирования не требуется). Программный комплекс разработан компанией «ПрограмБанк », а техническая документация «Философтом» по ее заказу. Кроме руководства программиста в комплект документации входит исчерпывающий справочник по всем компонентам АПК.

1. Общие сведения 1.1. Сокращения 1.2. Назначение 1.3. Функциональные возможности 1.4. Условия применения 1.5. Требования к квалификации разработчика 2. Прикладное решение и его компоненты 2.1. Архитектура АПК «Нострадамус». Понятие прикладного решения 2.2. Требования к прикладному решению 2.2.1. Базовые требования 2.2.2. Требования к входным данным 2.2.3. Требования к алгоритмам раcчета данных 2.2.4. Требования к отчетам и набору каждого из них 2.2.5. Требования к разграничению доступа и информационной безопасности 2.3. Компоненты прикладного решения 2.3.1. Структура базы данных 2.3.2. Загрузка исходных данных 2.3.3. Организация пользовательского интерфейса 2.3.4. Работа пользователя с данными 2.3.5. Обработка и расчет данных 2.3.6. Отображение данных 2.3.7. Средства автоматической загрузки и обработки данных. Системный агент 2.4. Разграничение прав доступа в прикладном решении 2.4.1. Роли пользователей 2.4.2. Профили пользователей 2.5. Жизненный цикл прикладного решения 3. Пример прикладного решения 3.1. Постановка задачи. Определение требований к прикладному решению 3.2. Проектирование прикладного решения 3.2.1. Проектирование структуры таблиц и процедур загрузки данных 3.2.2. Проектирование интерфейса пользователя 3.2.3. Проектирование процедур расчета и отчетов 3.3. Реализация прикладного решения 3.3.1. Авторизация в АПК «Нострадамус» 3.3.2. Создание категории решений 3.3.3. Создание таблиц 3.3.4. Создание процедур загрузки данных 3.3.5. Создание справочников и визуальных форм для них 3.3.6. Создание процедур расчета на языке хранимых процедур базы данных 3.3.7. Создание отчетов 3.3.8. Создание групп пользователей и создание главного меню для них 3.3.9. Создание процедуры автоматического обновления (загрузки) данных с помощью системного агента 3.4. Развертывание прикладного решения 3.5. Тестирование прикладного решения 3.6. Усложнение задачи 3.7. Доработка прикладного решения 3.7.1. Создание интерактивного отчета 3.7.2. Создание интерактивной загрузки 3.7.3. Финальный этап внесения доработок в прикладное решение

Система e-port дилер. Клиент-серверный протокол

Система «e-port дилер» предназначена для приема и проведения моментальных платежей при оплате услуг мобильной связи, доступа в Интернет и т. п. Центральный сервер системы принадлежит группе e-port, а пункт приема платежей может открыть любой желающий, установив у себя на компьютере (подключенном к Интернету) программу-клиент. Обмен данными между центральным сервером и программой-клиентом осуществляется по специальному протоколу. Протокол открытый, что позволяет различным организациям: банкам, розничным сетям, сетям платежных терминалов, осуществлять платежи непосредственно из собственных систем. Протокол разработан Группой e-port , а техническая документация «Философтом» по ее заказу.

Введение i. Система e-port дилер: клиент-серверный протокол. Назначение и обзор возможностей ii. Задачи протокола iii. Основные преимущества использования протокола 1. Реализация протокола (шлюз) 1.1. Общие сведения 1.2. Структура приложения 2. Как работает шлюз 2.1. Регистрация и отчетность 2.1.1. Регистрация 2.1.2. Отчетность 2.2. Обмен данными с сервером 2.2.1. Структура пакета 2.2.2. Справочники 2.2.3. Порядок обмена пакетами 2.3. Цикл обработки операции 2.3.1. Запрос операции 2.3.2. Очередь 2.3.3. Анализ ответа сервера 2.3.4. Нестандартные ситуации 3. Спецификация протокола 3.1. Структурные элементы пакета 3.2. Заголовок запроса 3.3. Заголовок ответа 3.4. Пополнение счета 3.5. Покупка PIN-кода 3.6. Прерывание процесса обработки операции 3.7. Транзакционные свойства операции 3.8. Запрос на проведение нескольких операций 3.9. Справочник 3.10. Статус операции 3.10.1. Примеры сообщений о статусе операций 3.10.2. Коды состояния находящихся в обработке или завершенных операций 3.11. Уведомления системы 4. Глоссарий Приложения Приложение 1. DTD XML-запроса и комментарий DTD XML-запроса Комментарий Приложение 2. DTD XML-ответа Приложение 3. Правила расчета суммовых полей Приложение 4. Примеры запросов и ответов сервера

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

Примерами могут служить:

– библиотека функций;

– платформа или среда для разработки ПО;

– ПО с открытым кодом.

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

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

– возможности по созданию программного кода, особенности его интерпретации и компиляции;

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

– возможные правила и ограничения при работе с программным кодом;

– различные инструкции по работе с программой.

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

Состав типового руководства программиста

В соответствии с требованиями ГОСТ руководство программиста должно содержать следующие разделы:

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

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

Обращение к программе , где указывают способы и параметры запуска программы;

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

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

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

Стандарты для руководства программиста

ГОСТы регламентируют и этот документ, в данном случае это ГОСТ 19.504. (Приложение 1) В соответствии с ним определяется структура и содержание Руководства программиста.

Для разработки приложения я использовал Microsoft Visual Studio. Для начала разработки нажимаем Файл --- Создать --- Создать проект --- Приложение WPF. Откроется пустая форма. На форме я разместил фон (картинку для фона я предварительно загрузил в ресурсы будущей программы), компоненты Label (свойство content Приветственное сообщение), TextBox (сюда будет вводиться имя тестируемого), кнопки Button для вызова справки и начала теста. Группирую все компоненты формы в Canvas. По нажатию на кнопку «Справка» - вызывается форма справки, на которой расположен TextBox со справкой по использованию программы и кнопка возврата к стартовой форме.

Hello.Visibility = Visibility.Hidden;//Скрыть элементы стартовой формы

Spravka.Visibility = Visibility.Visible;//Показать окно справки

Hello.Visibility = Visibility.Visible;//показать окно стартовой формы

Spravka.Visibility = Visibility.Hidden;//скрыть элементы формы справка

При нажатии на кнопку «Начать тест», при условии, что заполнено поле ввода имени, открывается окно тестирования, на котором расположен TextBox, куда выводятся вопросы, ListBox, куда выводятся варианты ответов, и кнопки «Следующий вопрос» и «Предыдущий вопрос». Если поле ввода имени не заполнено, то выдаётся сообщение, о том, что необходимые поля не заполнены.

subjectName = User.Text;

if (!string.IsNullOrEmpty(subjectName) && !string.IsNullOrEmpty(testFilePath)) // проверяем заполнено ли поле

xmlLoad(); //подгружаем файл с вопросами

MessageBox.Show("Не заполнены необходимые поля");//вывод сообщения об ошибке

countSteps = qstns.Count();

Otvet.Items.Clear();

По окончании тестирования откроется форма результатов тестирования, на которой расположен TextBox с результатом тестирования, и кнопки «Начать заново» и «Выход».

if (_step == countSteps)

Prev.Content = "Выход";

Vopros.Text = message;

loadStep(_step, beforeStep);

Полный код программы с комментариями находится в Приложении 2


ЗАКЛЮЧЕНИЕ

Во время прохождения практики я расширил свои навыки в среде разработки языка программирования C#.

Все цели практики были достигнуты:

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

¾ закрепление практических навыков по разработке и модификации информационных систем;

¾ формирование профессиональных компетенций.

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

¾ Ознакомился с условиями работы предприятии и со своим рабочим местом, а именно с правилами внутреннего распорядка, требованиями по безопасности, физиолого-гигиеническими основами трудового процесса и требованиями санитарии;

¾ изучил нормативные и методические материалы, фундаментальной и периодической литературы в соответствии с индивидуальным заданием;

¾ использовал информационно-коммуникационные технологии;

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

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

¾ оформил отчет по практике.


СПИСОК ИСТОЧНИКОВ

1. Джон Скит. C# для профессионалов: тонкости программирования, 3-е издание, новый перевод = C# in Depth, 3rd ed.. - М.: «Вильямс», 2014. - 608 с.

2. Кристиан Нейгел и др. C# 5.0 и платформа.NET 4.5 для профессионалов = Professional C# 5.0 and .NET 4.5. - М.: «Диалектика», 2013. - 1440 с.

3. Джозеф Албахари, Бен Албахари. C# 6.0. Справочник. Полное описание языка = C# 5.0 in a Nutshell: The Definitive Reference. - М.: «Вильямс», 2015. - 1008 с.

4. https://habrahabr.ru/

5. http://www.cyberforum.ru/


ПРИЛОЖЕНИЯ

ПРИЛОЖЕНИЕ 1

Г О С У Д А Р С Т В Е Н Н Ы Й С Т А Н Д А Р Т С О Ю З А С С Р

Единая система программной документации ГОСТ 19.504-79* (СТ СЭВ 2095-80)
РУКОВОДСТВО ПРОГРАММИСТА. ТРЕБОВАНИЯ К СОДЕРЖАНИЮ И ОФОРМЛЕНИЮ
United system for program documentation. Programmer"s guide. Requirements to contents and form of presentation

Постановлением Государственного комитета стандартов Совета Министров СССР от 12 января 1979 г. ¹ 74 срок введения установлен

С 01.01. 1980 г.

Настоящий стандарт устанавливает требования к содержанию и оформлению программного документа «Руководство программиста», определённого ГОСТ 19.101-77.

Стандарт полностью соответствует СТ СЭВ 2095-80.

ОБЩИЕ ПОЛОЖЕНИЯ

1.1. Структуру и оформление документа устанавливают в соответствии с ГОСТ 19.105-78.

Составление информационной части (аннотации и содержания) является обязательным.

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

· назначение и условия применения программ;

· характеристика программы;

· обращение к программе;

· входные и выходные данные;

· сообщения.

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

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

периферийных устройств, требования к программного обеспечению и т.п.).

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

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

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

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

2.6. В приложении к руководству программиста могут быть приведены дополнительные материалы (примеры, иллюстрации, таблицы, графики и т.п.).

* Переиздание (Ноябрь 1987 г.) с Изменением № 1, утвержденным в сентябре 1981 г (ИУС 11-81)


ПРИЛОЖЕНИЕ 2

using System.Collections.Generic;

using System.IO;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows;

using System.Windows.Controls;

using System.Windows.Data;

using System.Windows.Documents;

using System.Windows.Input;

using System.Windows.Media;

using System.Windows.Media.Imaging;

using System.Windows.Navigation;

using System.Windows.Shapes;

using System.Xml;

using System.Xml.Linq;

namespace Самотестер

///

/// Логика взаимодействия для MainWindow.xaml

///

public partial class MainWindow: Window

string subjectName = "";//Переменная имени тестируемого

private int _step;// Локальная переменная шага тестирования

int countSteps;// Количество вопросов в тесте (получается динамически из выбранного файла тестирования)

XDocument mainXml = new XDocument(); // Инициализируем объект XML документа, для считывания файла теста

List questionsList = new List();// Список вопросов, наполняется из файла тестирования

List answers = new List();// Список ответов

List score = new List();// Кол-во набранных очков

//string testFilePath = "";

int step // Глобальная переменная шага

return _step;// Получаем значение локальной переменной шаг

var beforeStep = _step; // Устанавливаем предыдущий шаг

Step = value;// Устанавливаем текущий шаг

if (_step == countSteps + 1)// Проверка, равен ли текущий шаг общему кол-ву шагов, действие по кнопке начать заново

score.Clear();// Очищаем набранные очки

Otvet.Visibility = Visibility.Visible;// Показываем ListBox в который мы отображаем ответы текущего вопроса

Step = 0;//Снова переходим на нулевой шаг

if (_step == 0)// Проверяем, нулевой ли это у нас шаг

Prev.Content = "Выход";// Назначаем кнопке "Предыдущий вопрос" значение "Выход"

else if (_step < 0)// Проверяем шаг меньше ли нуля

Close();//Закрываем программу

Prev.Content = "Назад";// Назначение кнопке "Предыдущий вопрос", значения Назад "Предыдущий вопрос"

if (_step > 0)// Если шаг больше нулевого

var _answers = answers[_step - 1].Elements().ToList();// Записываем все варианты ответов на текущий вопрос в переменную

var selectedIndex = Otvet.SelectedIndex;// Смотрим какой вариант ответа был выбран в прошлом шаге

var index = beforeStep;

var val = (selectedIndex != -1) ? (_answers.Attribute("true-answer") != null && _answers.Attribute("true-answer").Value == "true") ? 1: 0: 0;// Проверяем был ли ответ правильным

if (score.Contains(_step))// Смотрим отвечали ли мы на вопрос ранее

score[_step] = val;// Устанавливаем для предыдущего вопроса ответили мы правильно

score.Add(val);// Устанавливаем для предыдущего вопроса ответили мы правильно

/*Выводим если ответили на последний вопрос результаты тестирования*/

if (_step == countSteps)

Next.Content = "Начать заново";

Prev.Content = "Выход";

string sum = score.Sum().ToString();

string numeric = GetDeclension(int.Parse(sum), "правильный ответ", "правильных ответа", "правильных ответов");

string message = "Уважаемый(ая) " + subjectName + ". Благодарим Вас за прохождение теста. Ваш результат " + sum + " " + numeric + " из " + countSteps;

Vopros.Text = message;

Otvet.Visibility = Visibility.Hidden;

loadStep(_step, beforeStep);

string testFilePath = "Resources/testTest.xml";

public MainWindow()

InitializeComponent();

Test.Visibility = Visibility.Hidden;

void loadStep(int _locStep, int beforeStep)

foreach (var curEl in mainXml.Root.Element("questions").Elements())

Vopros.Text = questionsList[_locStep];

Otvet.Items.Clear();

var currentAnswers = answers[_locStep];

foreach (var answer in currentAnswers.Elements())

Otvet.Items.Add(answer.Value);

public static string GetDeclension(int number, string nominativ, string genetiv, string plural)

number = number % 100;

if (number >= 11 && number <= 19)

var i = number % 10;

return nominativ;

private void prevButton_Click(object sender, RoutedEventArgs e)

if (Prev.Content.ToString().Trim() == "Выход")

private void nextButton_Click(object sender, RoutedEventArgs e)

mainXml = XDocument.Load(testFilePath);

var qstns = mainXml.Root.Element("questions").Elements();

countSteps = qstns.Count();

foreach (var question in qstns)

questionsList.Add(question.Element("text").Value);

answers.Add(question.Element("answers"));

private void Button_Click(object sender, RoutedEventArgs e)

subjectName = User.Text;

if (!string.IsNullOrEmpty(subjectName) && !string.IsNullOrEmpty(testFilePath))

Start.Visibility = Visibility.Hidden;

Test.Visibility = Visibility.Visible;

MessageBox.Show("Не заполнены необходимые поля");

private void spravkaButton_Click(object sender, RoutedEventArgs e)

Hello.Visibility = Visibility.Hidden;

Spravka.Visibility = Visibility.Visible;

private void closeSpravkaButton_Click(object sender, RoutedEventArgs e)

Hello.Visibility = Visibility.Visible;

Spravka.Visibility = Visibility.Hidden;