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

Программное обеспечение для автоматизации образовательной деятельности преподавателя. Этапы разработки и расчет экономической эффективности и безопасности программного обеспечения "Designer teachers" для автоматизации деятельности преподавателя.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 21.12.2014
Размер файла 1,2 M

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

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

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

Введение

Актуальность темы исследования.

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

Цель исследования - разработка программного обеспечения «Designer teachers» для автоматизации образовательной деятельности преподавателя.

Для достижения поставленной цели были решены следующие задачи исследования:

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

-рассмотрены этапы разработки программного обеспечения «Designer teachers» для автоматизации образовательной деятельности преподавателя.

-произведен расчет экономической эффективности и безопасности программного обеспечения «Designer teachers».

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

Предмет исследования - программное обеспечение «Designer teachers».

Степень изученности проблемы. Теоретические основы разработки программных обеспечений отображены в трудах: А.Я. Архангельский [1], М.Р. Когловский [10], А.В. Симонович [11], В.В. Бойко [13.

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

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

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

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

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

В первой главе исследованы общие понятия программного обеспечения для автоматизации образовательной деятельности преподавателя;

Во второй главе рассмотрены этапы разработки программного обеспечения «Designer teachers» для автоматизации образовательной деятельности преподавателя.

В третьей главе произведен расчет экономической эффективности и безопасности программного обеспечения «Designer teachers».

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

1. Общие понятия программного обеспечения для автоматизации образовательной деятельности преподавателя

1.1 Общий обзор прикладного программного обеспечения

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

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

Прикладное программное обеспечение классифицирует по следующим типам:

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

· Текстовые редакторы

· Системы компьютерной вёрстки

· Графические редакторы

· СУБД

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

· Экспертные системы

· Мультимедиа приложения (Медиаплееры, программы для создания/редактирования видео, звука, Text-To-Speech и пр.)

· Гипертекстовые системы (Электронные словари, энциклопедии, справочные системы)

· Системы управления содержимым

· программные средства профессионального уровня

· САПР

· АРМ

· АСУ

· АСУ ТП

· АСНИ

· Геоинформационные системы

· Биллинговые системы

· CRM

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

производственные процессы;

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

проектирование;

организация, планирование и управление;

научные исследования;

бизнес-процессы;

и другие сферы человеческой деятельности.

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

Основные виды систем автоматизации:

автоматизированная система планирования (АСП),

автоматизированная система научных исследований (АСНИ),

система автоматизированного проектирования (САПР),

автоматизированный экспериментальный комплекс (АЭК),

гибкое автоматизированное производство (ГАП) и автоматизированная система управления технологическим процессом (АСУ ТП),

автоматизированная система управления эксплуатацией (АСУ) и система автоматического управления (САУ).

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

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

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

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

Термин «кибернетика» в современном понимании как наука об общих закономерностях процессов управления и передачи информации в машинах, живых организмах и обществе впервые был предложен Норбертом Винером в 1948 году.

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

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

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

Теория передачи сигналов

Теория управления

Теория автоматов

Теория принятия решений

Синергетика

Теория алгоритмов

Распознавание образов

Теория оптимального управления

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

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

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

1.2 Инструментальные средства прикладного программирования

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

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

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

Являясь одним из самых популярных языков программирования, C++ широко используется для разработки программного обеспечения. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (например, видеоигры). Существует несколько реализаций языка C++ -- как бесплатных, так и коммерческих. Наиболее популярны проект GNU, Microsoft, Intel и Embarcadero (Borland). C++ оказал огромное влияние на другие языки программирования, в первую очередь на Java и C#.

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

В книге «Дизайн и эволюция C++» Бьёрн Страуструп описывает принципы, которых он придерживался при проектировании C++. Эти принципы объясняют, почему C++ именно такой, какой он есть. Некоторые из них:

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

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

· Дать программисту свободу выбора, даже если это даст ему возможность выбирать неправильно.

· Максимально сохранить совместимость с C, тем самым делая возможным лёгкий переход от программирования на C.

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

· Избегать особенностей, которые зависят от платформы или не являются универсальными.

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

· Не требовать слишком усложнённой среды программирования.

Программирование производилось на Qt - кросс-платформенный инструментарий разработки ПО на языке программирования C++.

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

Существуют версии библиотеки для Microsoft Windows, систем класса UNIX с графической подсистемой X11, iOS, Android, Mac OS X, Microsoft Windows CE, QNX, встраиваемых Linux-систем и платформы S60. В данный момент рассматривается возможность внедрения поддержки Qt в Windows Phone. Также идёт портирование на Haiku.

До недавнего времени библиотека Qt также распространялась ещё в одной версии: Qt/Embedded. Теперь эта платформа переименована в Qtopia Core и распространяется как отдельный продукт. Qtopia Core обеспечивает базовую функциональность для всей линейки платформ, предназначенных для разработки приложений для встраиваемых и мобильных устройств (КПК, смартфонов и т. п.).

Начиная с версии 4.5 Qt распространяется по 3 лицензиям (независимо от лицензии, исходный код Qt один и тот же):

Qt Commercial для разработки ПО с собственнической лицензией, допускающая модификацию самой Qt без раскрытия изменений;

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

GNU LGPL для разработки ПО с собственнической лицензией, но без внесения изменений в Qt.

До версии 4.0.0 под свободной лицензией распространялись лишь Qt/Mac, Qt/X11, Qt/Embedded, но, начиная с 4.0.0 (выпущенной в конце июня 2005), Qt Software «освободили» и Qt/Windows. Следует отметить, что существовали сторонние свободные версии Qt/Windows < 4.0.0, сделанные на основе Qt/X11.

Со времени своего появления в 1996 году библиотека Qt легла в основу тысяч успешных проектов во всём мире. Кроме того, Qt является фундаментом популярной рабочей среды KDE, входящей в состав многих дистрибутивов Linux.

Отличительная особенность Qt от других библиотек -- использование Meta Object Compiler (MOC) -- предварительной системы обработки исходного кода (в общем-то, Qt -- это библиотека не для чистого C++, а для его особого наречия, с которого и «переводит» MOC для последующей компиляции любым стандартным C++ компилятором). MOC позволяет во много раз увеличить мощь библиотек, вводя такие понятия, как слоты и сигналы. Кроме того, это позволяет сделать код более лаконичным. Утилита MOC ищет в заголовочных файлах на C++ описания классов, содержащие макрос Q_OBJECT, и создаёт дополнительный исходный файл на C++, содержащий метаобъектный код.

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

Qt комплектуется визуальной средой разработки графического интерфейса «Qt Designer», позволяющей создавать диалоги и формы «мышью» (в режиме WYSIWYG). В поставке Qt есть «Qt Linguist» -- графическая утилита, позволяющая упростить локализацию и перевод вашей программы на многие языки; и «Qt Assistant» -- справочная система Qt, упрощающая работу с документацией по библиотеке, а также позволяющая создавать кросс-платформенную справку для разрабатываемого на основе Qt ПО. Начиная с версии 4.5.0 в комплект Qt включена среда разработки «Qt Creator», которая включает в себя редактор кода, справку, графические средства «Qt Designer» и возможность отладки приложений. «Qt Creator» может использовать GCC или Microsoft VC++ в качестве компилятора и GDB в качестве отладчика. Для Windows версий библиотека комплектуется компилятором, заголовочными и объектными файлами MinGW.

Библиотека разделена на несколько модулей, для четвёртой версии библиотеки это:

· QtCore -- классы ядра библиотеки, используемые другими модулями;

· QtGui -- компоненты графического интерфейса (в отличие от Gtk использующие аппаратное графическое ускорение через OpenGL);

· QtNetwork -- набор классов для сетевого программирования. Поддержка различных высокоуровневых протоколов может меняться от версии к версии. В версии 4.2.x присутствуют классы для работы с протоколами FTP и HTTP. Для работы с протоколами TCP/IP предназначены такие классы, как QTcpServer, QTcpSocket для TCP и QUdpSocket для UDP;

· QtOpenGL набор классов для работы с OpenGL;

· QtSql набор классов для работы с базами данных с использованием языка структурированных запросов SQL. Основные классы данного модуля в версии 4.2.х: QSqlDatabase класс для предоставления соединения с базой, для работы с какой-нибудь конкретной базой данных требует объект, унаследованный от класса QSqlDriver абстрактного класса, который реализуется для конкретной базы данных и может требовать для компиляции SDK базы данных. Например, для сборки драйвера под базу данных FireBird/InterBase требует.h файлы и библиотеки статической линковки, входящие в комплект поставки данной БД;

· QtScript классы для работы с Qt Scripts;

· QtSvg классы для отображения и работы с данными Scalable Vector Graphics (SVG);

· QtXml модуль для работы с XML, поддерживается SAX и DOM модели работы;

· QtDesigner классы создания расширений QtDesigner'а для своих собственных виджетов;

· QtUiTools классы для обработки в приложении форм Qt Designer;

· QtAssistant справочная система;

· Qt3Support модуль с классами, необходимыми для совместимости с библиотекой Qt версии 3.х.х;

· QtTest модуль для работы с UNIT тестами;

· QtWebKit модуль WebKit, интегрированный в Qt и доступный через её классы;

· QtXmlPatterns модуль для поддержки XQuery 1.0 и XPath 2.0;

· Phonon модуль для поддержки воспроизведения и записи видео и аудио, как локально, так и с устройств и по сети;

· QtCLucene модуль для поддержки полнотекстового поиска, применяется в новой версии Assistant в Qt 4.4;

· ActiveQt модуль для работы с ActiveX и COM технологиями для Qt-разработчиков под Windows.

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

Библиотека использует собственный формат проекта, именуемый.pro файлом, в котором собрана информация о том, какие файлы будут скомпилированы, по каким путям искать заголовочные файлы и много другой информации. Впоследствии при помощи утилиты qmake из них получаются makefile для make-утилиты компилятора. Также есть возможность работы при помощи интеграторов с Microsoft Visual Studio 2003/2005/2008/2010. Совсем недавно стала доступна интеграция в Eclipse для версии библиотеки 4.х.х.

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

1.3 Тестирование программного обеспечения

Тестирование программного обеспечения процесс исследования программного обеспечения (ПО) с целью получения информации о качестве продукта.

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

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

· Надёжность

· Сопровождаемость

· Практичность

· Эффективность

· Мобильность

· Функциональность

Ниже приведены некоторые виды тестирования программного обеспечения:

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

Функциональные требования включают:

· Функциональная пригодность.

· Точность.

· Способность к взаимодействию

· Соответствие стандартам и правилам

· Защищённость

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

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

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

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

· попытки узнать пароль с помощью внешних средств;

· атака системы с помощью специальных утилит, анализирующих защиты;

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

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

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

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

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

· Аппаратная платформа;

· Сетевые устройства;

· Периферия (принтеры, CD/DVD-приводы, веб-камеры и пр.);

· Операционная система (Unix, Windows, MacOS,...)

· Базы данных (Oracle, MS SQL, MySQL,...)

· Системное программное обеспечение (веб-сервер, файрволл, антивирус)

· Браузеры (Internet Explorer, Firefox, Opera, Chrome, Safari)

2. Этапы разработки программного обеспечения «Designer teachers» для автоматизации образовательной деятельности преподавателя

2.1 Определение требований к проекту

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

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

2. Система будет включать в себя интеллектуальную оболочку «Manager of Modules», представляющую собой клиент - серверное приложение с возможностями администрирования. Которое будет предоставлять преподавателям терминал с подключаемыми модулями. Оно будет включать в себя модуль автообновления подключаемых приложений, а также offline режим работы. При котором будет производиться импорт подключаемых приложений непосредственно пользователем компьютера. В противном же случае при наличии подключения к серверу, будет автоматически обновлять перечини приложений. В рамках данной среды, возможно будет распространять не только исполняемые модули, но и документы, файлы мультимедиа, достаточно будет администратору добавить файл в админ-панеле и тут же файл появится на всех клиентских приложениях. Оболочка будет включать в себя следующие подключаемые приложения:

- Конструктор, анализатор, сервер тестовых заданий - ZTest Сервер.

- Терминал для прохождения процесса сдачи тестов студентами - ZTest Клиент

- Терминал для создания календарей преподавателей - Teacher calendar.

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

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

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

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

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

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

В минимальный набор функций для администратора приложения «Manager of Modules» будет входить:

1. Формирование реестра подключаемых модулей;

2. Публикация реестра на сервер

3. Экспортирование реестра на съемный носители информации

В набор функций для пользователя «Manager of Modules» будут входить:

1. Просмотр перечня доступных подключаемых приложений;

2. Запуск подключаемых приложений;

3. Импортирование файла реестра в offline режиме;

В минимальный набор функций для администратора приложения «Teacher calendar» будет входить:

1. Управление пользователями;

2. Создание справочников структур университета

3. Создание реестров преподавателей

4. Редактирование имеющихся справочников и реестров

5. Формирования расписание для выбранных преподавателей

6. Импортирование в конструктор расписание, имеющегося расписания

В минимальный набор функций для пользователя «Teacher calendar» будут входит:

1. Поиска преподавателя;

2. Просмотр расписания на определенную неделю;

3. Навигация по календарным неделям;

4. Печать расписания

5. Составление расписание для студенческих групп

6. Печать расписание для студенческих групп

В минимальный набор функций для администратора «ZTest Сервер» будут входит:

1. Создание и редактирование тестовых заданий

2. Распечатка тестовых заданий для студентов

3. Создание и редактирование категорий вопросов

4. Добавление комментариев к тестовым заданиям

5. Удобная работа с базой данных тестовых заданий

6. Сортировка базы данных

7. Печать вопросов

8. Фильтрация базы данных вопросов

9. Экспортирование базы данных вопросов

10. Создание копий базы данных вопросов

11. Просмотр результатов тестирования

12. Просмотр оценок прохождения

13. Просмотр среднего результата тестирования

14. Редактирование системы оценивания

15. Создание и редактирование базы студенческих групп

16. Конфигурирование настроек сервера

17. Назначение перечня вопросов на тестирование

18. Назначение времени на тестирование

19. Назначение проходного балла для сдачи тестирования

20. Печать результатов тестирования

В минимальный набор функций для пользователя «ZTest Клиент» будут входит:

1. Редактирование настроек подключения к серверу

2. Импорт тестовых заданий в приложение

3. Идентификация студентов на сервере

4. Просмотр перечня вопросов и ответов

5. Отображение времени до окончания тестирования

6. Отображение текущего результата прохождения тестирования

7. Завершение тестирования

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

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

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

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

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

1. Операционная система: Windows XP Home Edition SP2 - наиболее удобная и функциональная операционная система из линейки ОС Windows;

2. Языки программирования: С++, CSS;

3. Тип базы данных: Структурированные файла;

4. Среда разработки (IDE): Qt Creater для основной работы и работы на уровне проекта. Окно «О программе» Qt Creater изображено на Рисунке 1. Изображение окна открытого проекта в Qt Creater представлено на Рисунке 2;

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

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

Одним из возможных подходов к разработке ПО в рамках спиральной модели жизненного цикла является получившая в последнее время широкое распространение методология быстрой разработки приложений RAD (Rapid Application Development). Под этим термином обычно понимается процесс разработки ПО, содержащий 3 элемента

небольшую команду программистов;

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

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

Жизненный цикл ПО по методологии RAD состоит из четырех фаз:

1. фаза анализа и планирования требований;

2. фаза проектирования;

3. фаза построения;

4. фаза внедрения.

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

2.3 Структурная схема проекта и база данных программного обеспечения

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

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

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

На рисунке изображены основные составные части проекта:

· сервер системы «Manager of Modules», включает в себя хранение перечня распространяемых модулей и занимается раздачей обновления на клиентские приложения системы. Существует в единственном экземпляре;

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

· клиент системы «Manager of Modules», включается в себя функции отображения и запуска распространяемых приложений. При постоянном соединении с сервером автоматически обновляет перечни приложений, в противном случае требует импорта файла настроек в приложение. Может быть запущено множество копий данного приложений на разных пользовательских машинах;

· распространяемый модуль «Teacher calendar», представляет из себя терминал формирования и просмотра расписание для преподавателей. Предполагает работу в двух режимах: режим администратора и режим преподавателя;

· распространяемый модуль «ZTest Сервер», является полноценной системой для составление, анализа и проведения тестирования в учебных заведениях.Структурная схема приложения показана на рисунке 3.

1) Модуль редактора тестовых заданий представляет из себя функциональный инструмент для создания и редактирования тестов;

2) Модуль комментариев предназначен для написания пояснений к заданным тестовым заданиями;

3) Модуль категорий необходим для разбиения созданных тестовых заданий по логическим категориям;

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

5) Модуль сессий хранит всю историю прохождения тестирования студентами;

6) Модуль режим сервера является ядром системы и служит для начала процесса тестирования и принятие результатов прохождения тестирования от студентов;

7) Модуль подключений предназначен для обслуживания клиентских приложений ZTest Клиент

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

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

2) Модуль авторизации служит для идентификации студента на сервере для дальнейшей интерпретации при анализе тестовых заданий на сервере.

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

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

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

Использование текстовых файлов для хранения баз данных имеет несколько неоспоримых преимуществ перед более сложными альтернативами, такими как DBM-файлы или системы управления большими базами данных типа Oracle и Sybase. Ниже перечислены некоторые из основных преимуществ текстовых файлов.

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

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

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

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

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

Использование текстовых файлов для хранения баз данных имеет несколько неоспоримых преимуществ перед более сложными альтернативами, такими как DBM-файлы или системы управления большими базами данных типа Oracle и Sybase. Ниже перечислены некоторые из основных преимуществ текстовых файлов.

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

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

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

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

2.4 Описание проекта

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

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

В минимальный набор функций для администратора приложения «Manager of Modules» входит:

1. Панель управления модулями:

· формирование перечня распространяемых приложений;

· редактирование перечня распространяемых приложений;

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

· экспорт файла настроек на съемный носитель информации;

· импорт файла настроек;

В минимальный набор функций для пользователей приложения «Manager of Modules» входит:

1. Работа с подключаемыми приложениями:

· просмотр перечня приложений;

· обновление перечня приложений;

· запуск приложений;

· импорт файла настроек в приложение

В минимальный набор функций для администратора приложения «Teacher calendar» входит:

1. Управление пользователя:

· создание, удаление, редактирование;

2. Управление справочниками:

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

· создание, удаление, редактирование справочника кафедр;

· создание, удаление, редактирование справочника преподавателей;

3. Управление календарями преподавателей:

· выбор преподавателя для редактирования;

· формирования расписания;

· импортирование существующего расписания;

В минимальный набор функций для пользователя приложения «Teacher calendar» входит:

1. Управление календарем:

· Поиск преподавателя;

· просмотр расписания;

· навигация по календарным неделям;

2. Печать расписания:

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

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

В минимальный набор функций для администратора приложения «ZTest Сервер» входит:

1. Начало работы:

· выбор сессий для редактирование;

· создание новой сессии;

2. Управление тестовыми заданиями:

· создание, удаление, редактирование;

· редактирование комментариев к тестовому заданию;

3. Управление категориями тестовых заданий:

· создание, удаление, редактирование;

4. Работа с базами данных:

· сортировка баз данных

· фильтрация баз данных

· создание копий баз данных

· экспорт баз данных

5. Управление результатами тестирований:

· анализ результатов

· просмотр оценок

· просмотр среднего результата прохождения

· редактирование системы оценивания

6. Управление студенческими группами:

· Создание, удаление, редактирование;

7. Работа в режиме сервера:

· конфигурирование настроек сервера;

· назначение перечня вопросов на тестирование;

· назначение время на тестирование;

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

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

Таблица 1

Общие сведения проекта

Характеристика

Описание

Наименование:

Комплекс приложений «Designer teachers»

Текущая версия:

v1.0.0

Лицензия:

Open Source - программное обеспечение с открытым исходным кодом.

Язык разработки:

C++

Краткое описание функционального назначения:

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

Масштабы применения:

- Организации среднего образования;

- Организации высшего образования

Технические требования для работы пользователя:

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

Технические требования для сервера:

Установленные Qt библиотеки.

Вызов и загрузка:

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

Примечание: [составлено автором]

В минимальный набор функций для администратора приложения «ZTest Сервер» входит:

1. Подключение к серверу:

· редактирование настроек подключения к серверу;

· получение тестовых заданий;

2. Процесс ответа на тестовые задания:

· область вопросов;

· область ответов;

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

· индикатор текущего результата тестирования;

3. Завершение тестирования:

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

· просмотр правильных ответов;

4. Импорт - экспорт данных:

· импорт данных в приложение;

· экспорт данных из приложения;

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

Перед установкой сервера «Manager of modules» необходимо удостовериться, что к компьютеру есть доступ по локальной сети, а если предполагается, что к серверу смогут подключаться клиенты не только по локальной сети, необходимо позаботиться, чтобы к компьютеру был доступ из глобальной сети. Также необходимо в файле под наименованием: «conf.ini» прописать свободный порт, который будет прослушивать сервер. После завершения конфигурирования необходимо запустить сервер «Manager of modules». При удачном старте сервера в консоле отобразится следующая надпись (Рисунок 5):

Перед запуском клиентов «Manager of modules» необходимо проверить доступ к машине в локальной на которой установлен и запущен сервер «Manager of modules». Далее в рабочей директории необходимо сконфигурировать файл настроек «conf.ini». В первой строке указывается IP адрес компьютера, на котором установлен и запущен сервер, во второй строке указывается порт, который прослушивает сервер «Manager of modules». После окончания конфигурирования, необходимо запустить клиент «Manager of modules». При удачном подключении к серверу в верхнем правом углу, в области уведомлений отобразится надпись: «Режим работы: онлайн», в противном случае отобразится надпись «Режим работы: оффлайн».

Сервер является ядром системы, он обрабатывает подключения клиентских приложений и раздает подключаемые модули. Для того чтобы начать раздавать модули клиентским приложениям, необходимо составить их перечень в приложении «Package maker» и опубликовать на сервер.

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

1. Перечень распостраняемых модулей

2. Панель редактирования

3. Функциональная панель

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

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

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

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

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

Если на компьютере где установлен клиент нет доступа к серверу, тогда необходимо импортировать файл экспортированный в приложении «Package maker» - «settings.dat».

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

1. Режим администратора, где редактируется расписание для преподавателей.

2. Режим преподавателя, где просматривается расписание преподавателями.


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

  • Организационная структура ООО "Кровля 2001". Сфера деятельности организации. Должностные обязанности персонала компании. Перечень уже имеющегося технического и программного обеспечения. Предложения по автоматизации: программное обеспечение и оборудование.

    курсовая работа [37,9 K], добавлен 17.11.2009

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

    дипломная работа [2,1 M], добавлен 10.02.2018

  • Классификация программного обеспечения, его особенности, назначение. Программное обеспечение для работы с текстом, изображением, прикладное, офисное, для работы в Интернете. Системы программирования, специфика программного обеспечения, что такое вирусы.

    презентация [1,2 M], добавлен 25.02.2010

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

    курс лекций [1,8 M], добавлен 15.03.2010

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

    контрольная работа [122,3 K], добавлен 20.04.2010

  • Программное обеспечение по автоматизации и управлению предприятием ведущих корпораций в Украине. Система управления деятельностью предприятия "ГАЛАКТИКА". Комплексная система автоматизации предприятий малого и среднего бизнеса "ПАРУС - Предприятие 7.20".

    курсовая работа [1,7 M], добавлен 14.03.2008

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

    реферат [2,2 M], добавлен 25.12.2017

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

    дипломная работа [3,3 M], добавлен 15.04.2012

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

    реферат [20,2 K], добавлен 01.04.2010

  • Основное программное обеспечение для автоматизации производства. Финансовые и коммуникационные системы. Системы планирования и управления. Текстовые редакторы и табличные процессоры. Финансовое программное обеспечение. Шрифтовые технологии в документах.

    шпаргалка [551,9 K], добавлен 16.08.2010

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