Автоматизированная информационная система публикации и обработки данных о детях в ГОУ Детский сад № 176

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

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

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

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

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

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

Прецедент 1. Формирование результирующего отчета о ребенке.

Заинтересованные лица и их требования.

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

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

Предусловия.

Воспитатель и старший врач выполнили актуализацию данных о детях с использованием АИС.

Результаты (постусловия).

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

Основной успешный сценарий (или основной процесс).

1. Воспитатель получил доступ к АИС.

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

3. Старший врач получил доступ к АИС.

4. Старший врач актуализировал сведения о заболеваниях детей.

5. Заведующая определила критерии для результирующего отчета о ребенке.

6. АИС получила критерии, провела, в соответствии с ними, сбор необходимой информации из БД, после чего сформировала результирующий отчет о ребенке.

Расширения (или альтернативные потоки).

1. *Воспитатель не актуализировала данные о результатах тестирования детей.

1.1. Заведующая определила критерии для результирующего отчета о ребенке.

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

1.3. АИС получила критерии, провела, в соответствии с ними, сбор необходимой информации из БД, после чего сформировала результирующий отчет о ребенке.

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

2. *Старший врач не актуализировал данные о заболеваниях детей.

2.1. Заведующая определила критерии для результирующего отчета о ребенке.

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

2.3. АИС получила критерии, провела, в соответствии с ними, сбор необходимой информации из БД, после чего сформировала результирующий отчет о ребенке.

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

3. Заведующая решила просмотреть историю результирующих отчетов о детях прошлых периодов.

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

3.2. Заведующая вводит критерии поиска (дата, данные ребенка и т.д.).

3.3. АИС выводит искомый результирующий отчет на экран с возможностью вывода его на печать.

Специальные требования.

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

Список технологий и типов данных.

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

Частота использования.

Еженедельно.

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

Заинтересованные лица и их требования.

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

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

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

Предусловия.

Воспитатель актуализирует информацию о результатах тестирования детей с использованием АИС.

Результаты (постусловия).

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

Основной успешный сценарий (или основной процесс).

1. Воспитатель получил доступ к АИС.

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

3. Статистический модуль АИС зафиксировал обновленные данные в своей базе знаний.

4. Заведующая вызвала создание статистического отчета.

5. АИС произвела сбор и анализ успеваемости ребенка по указанным периодам, сформировав статистический отчет.

6. Статистический отчет представлен заведующей с возможностью вывода на печать.

Расширения (или альтернативные потоки).

1. В ходе формирования статистического отчета обнаружены некорректные данные о ребенке.

1.1. АИС сообщает заведующей об ошибочности анализируемой информации.

1.2. Заведующая формирует административное решение для исправления воспитателем ошибочных данных о детях.

1.3. Воспитатель получает доступ к АИС.

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

1.5. Статистический модуль АИС зафиксировал обновленные данные в своей базе знаний.

1.6. Заведующая вызвала создание статистического отчета.

1.7. АИС произвела сбор и анализ успеваемости ребенка по указанным периодам, сформировав статистический отчет.

1.8. Статистический отчет представлен заведующей с возможностью вывода на печать.

Специальные требования.

Необходима система онлайн оповещения АИС заведующей об ошибочных действиях в системе.

Список технологий и типов данных.

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

Частота использования.

По требованию заведующей.

Прецедент 3. Доступ родителей к информации о ребенке.

Заинтересованные лица и их требования.

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

- родитель ребенка. Хочет иметь постоянный контроль над информацией о своих детях.

Предусловия.

В АИС хранится актуальная информация об успеваемости и заболеваниях всех детей.

Результаты (постусловия).

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

Основной успешный сценарий (или основной процесс).

1. Родитель получает доступ к АИС.

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

3. АИС принимает критерии и формирует результирующий отчет для родителя.

4. АИС представляет результирующий отчет родителю на специальной WEB-странице.

Расширения (или альтернативные потоки).

1. *Воспитатель не актуализировал образовательную информацию о детях.

1.1. Родитель получает доступ к АИС.

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

1.3. АИС принимает критерии и формирует результирующий отчет для родителя, предупредив, что образовательная информация о ребенке не актуальна.

1.4. АИС представляет результирующий отчет родителю на специальной WEB-странице.

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

2. *Старший врач не актуализировал медицинскую информацию о детях.

2.1. Родитель получает доступ к АИС.

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

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

2.4. АИС представляет результирующий отчет родителю на специальной WEB-странице.

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

Специальные требования.

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

Список технологий и типов данных.

АИС должна иметь выход в глобальную сеть Интернет, помимо внутренней локальной сети.

Частота использования.

24 часа в сутки, дней в неделю.

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

Рисунок 10 - диаграмма вариантов использования для разрабатываемой АИС

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

1. Требования воспитателей детского сада.

1.1. Интуитивная понятность пользовательского интерфейса.

1.2. Защита от ошибочного ввода данных.

1.3. Система подсказок и справка по пользованию системой.

1.4. Гармоничная, цветовая гамма интерфейса.

2. Требования старшего врача детского сада.

2.1. Интуитивная понятность пользовательского интерфейса.

2.2. Защита от ошибочного ввода данных.

2.3. Система подсказок и справка по пользованию системой.

2.4. Гармоничная, цветовая гамма интерфейса.

3. Требования заведующей детского сада.

3.1. Возможность генерирования разного рода отчетности на основании введенных критериев.

3.2. Интуитивная понятность пользовательского интерфейса.

3.3. Система подсказок и справка по пользованию системой.

3.4. Гармоничная, цветовая гамма интерфейса.

4. Требования родителей, дети которых обучаются в детском саду.

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

4.2. Доступность АИС в течение 24 часов в сутки дней в неделю.

4.3. Интуитивная понятность пользовательского интерфейса.

4.4. Система подсказок и справка по пользованию системой.

4.5. Гармоничная, цветовая гамма интерфейса.

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

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

- построение модели анализа;

- построение модели компонентов;

- построение модели проектирования;

- проектирование модели данных;

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

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

1.5.1 Построение модели анализа

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

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

- сущностные;

- граничные;

- контролеры.

Сущностные объекты определяют основные информационные объекты, обрабатываемые в системе. Как уже было определено, к таким объектам будут относится:

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

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

Граничные объекты определяют взаимодействие АИС с пользователями, работающими с ней. К ним будут относится:

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

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

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

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

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

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

Рисунок 11 - модель анализа для разрабатываемой АИС

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

- диаграмма коммуникаций;

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

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

Рисунок 12 - диаграмма коммуникаций передаваемых в системе сообщений

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

1.5.2 Построение модели компонентов

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

1. Рабочая станция (ПК) - персональный компьютер, предоставляющий сотруднику детского сада доступ к программному клиенту разрабатываемой АИС: браузеру.

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

3. Метод доступа к БД - алгоритм работы приложения с сервером БД с целью обмена данными между ними.

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

5. База данных - файл на сервере БД, хранящий всю информацию о детях в детском саду.

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

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

Рисунок 13 - диаграмма компонентов для разрабатываемой АИС

1.5.3 Выбор технологии разработки АИС публикации и обработки данных о детях

Для разработки АИС необходимо определить технологию, которая будет использоваться для ее написания. Определим критерии, которым она должна соответствовать:

- наличие бесплатных библиотек и компонентов системы;

- кроссплатформенность АИС позволит использовать ее на других предприятиях смешной отрасли;

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

- расширяемость АИС.

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

- JEE с использованием технологий Servlets, JSP и JDBC;

- PHP + Apache HTTP Server;

- Microsoft.net (ASP.net).

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

- кроссплатформенность;

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

- расширяемость технологии;

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

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

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

Таблица 2 - выбор технологии разработки АИС

Критерий оценки

JEE

PHP + Apache

Microsoft.net

Кроссплатформенность системы

3

3

1

Наличие бесплатных библиотек для системы

3

3

1

Расширяемость системы

3

3

3

Производительность системы

3

3

2

Личный опыт работы с технологией

3

2

1

ИТОГО

15

14

8

В ходе анализа была выбрана технология, набравшая наибольшие показатели: Java Enterprise Edition.

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

1.5.4 Выбор сервера базы данных АИС публикации и обработки данных о детях

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

На основе анализа современных БД выбор будет осуществлен между следующими серверами:

- FireBird;

- MySQL;

- Oracle;

- MS SQL;

- PostgreSQL.

Критериями оценки будут являться:

- кроссплатформенность

- бесплатное распространение;

- простота администрирования;

- производительность.

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

Таблица 3 - выбор сервера базы данных АИС

Критерий оценки

FireBird

MySQL

Oracle Database 10g

MS SQL

Postgre SQL

Кроссплатформенность сервера

3

3

3

1

3

Бесплатное распространение сервера

3

3

1

1

3

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

2

3

3

1

3

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

2

3

3

3

2

Личный опыт работы с сервером

0

3

3

0

0

ИТОГО

10

15

13

6

11

В ходе анализа был выбран сервер БД, набравший наибольшие показатели: MySQL. Помимо выбора сервера БД необходимо определить средство, с помощью которого будет осуществляться доступ к данным, хранящимся на нем. В связи с выбором JEE для реализации web-приложения удобно использовать встроенные в него средства доступа к серверам БД. Таким являются драйвер JDBC. JDBC - кроссплатформенный стандарт взаимодействия Java-приложений с различными СУБД. Данный стандарт позволяет создать соединение с БД по специально описанному URL, обмена запросами и ответами разного рода информации.

Рисунок 14 - взаимодействие web-приложения с сервером БД с помощью технологии JDBC

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

Hibernate - библиотека для языка программирования Java, предназначенная для решения задач объектно-реляционного отображения. Она представляет собой свободное программное обеспечение с открытым исходным кодом, распространяемое на условиях GNU Lesser General Public License. Данная библиотека предоставляет лёгкий в использовании каркас для отображения объектно-ориентированной модели данных в традиционные реляционные базы данных.

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

1.5.5 Выбор сервера приложений АИС публикации и обработки данных о детях

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

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

- GlassFish;

- JBoss;

- WebLogic;

- WebSphere.

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

- кроссплатформенность;

- бесплатное распространение;

- простота администрирования;

- производительность;

- поддержка Servlets и JSP.

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

Таблица 4 - выбор сервера приложений АИС

Критерий оценки

GlassFish

JBoss

WebLogic

WebSphere

Кроссплатформенность сервера

3

3

3

1

Бесплатное распространение сервера

3

3

1

1

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

2

3

3

3

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

1

3

3

3

Встроенные функции web-сервера, контейнер Servlets и JSP

3

3

3

1

ИТОГО

12

15

13

9

В ходе анализа был выбран сервер приложений, набравший наибольшие показатели: JBOSS Application Server.

1.5.6 Построение модели проектирования

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

Основополагающими классами разрабатываемой АИС будут:

1. Children - сущностный класс, определяющий собой конкретного ребенка детского сада. Данный класс является ключевым в разрабатываемой АИС. Данный класс имеет следующие поля.

1.1. surname - фамилия ребенка.

1.2. name - имя ребенка.

1.3. middleName - отчество ребенка.

1.4. dateOfBirth - дата рождения ребенка.

1.5. address - домашний адрес ребенка.

1.6. telephone - домашний телефон ребенка.

1.7. sex - пол ребенка.

1.8. group - группа ребенка.

1.9. dateOfEnter - дата принятия ребенка.

1.10. dateOfExit - дата выпуска ребенка.

1.11. numberMedicalCard - номер медицинской карты.

1.12. additionalInformation - дополнительная информация.

2. Disease - сущностный класс, определяющий собой заболевание ребенка. Каждый объект данного класса привязывается к конкретному ребенку. Данный класс имеет следующие поля.

2.1. nameDisease - наименование заболевания.

2.2. children - ребенок, перенесший заболевание.

2.3. sideEffect - побочный эффект.

2.4. temperature - температура ребенка.

2.5. height - рост ребенка.

2.6. weight - вес ребенка.

2.7. groupOfBlood - группа крови ребенка.

2.8. recommendation - рекомендации врача.

2.9. dateOfDisease - дата заболевания.

2.10. additionalInformation - дополнительная информация.

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

3.1. nameSubject - наименование предмета тестирования.

3.2. children - ребенок, проходящий тестирование.

3.3. countOfPoint - количество баллов, набранных ребенком при тестировании.

3.4. listOfAnswer - список ответов, данных ребенком при тестировании.

3.5. dateOfTest - дата тестирования.

3.6. additionalInformation - дополнительная информация.

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

4.1. tagValue - html-код, формирующий статическую основу каждой web-страницы.

5. Report - граничный класс, формирующий результирующий отчет о ребенке, включающий в себя все привязанные к объекту Children объекты Disease и TestResult за указанный период.

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

6.1. jdbcPath - путь до JDBC драйвера для работы с сервером БД.

6.2. connection - непосредственное соединение с сервером БД, по которому будут передаваться sql-запросы.

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

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

Объекты классов TestResult и Disease будут описывать результаты тестирования и заболевания ребенка, то есть объекта класса Children. Для этого данные объекты будут иметь в своем конструкторе поле типа класса Children.

Объекты класса Page будут содержать html-код, неизменяемый для web-страницы, то есть, скелет страницы.

Объекты класса Report будут собирать всю информацию о ребенке, как образовательную, так и медицинскую, и выстраивать для отображения на web-странице.

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

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

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

Рисунок 15 - диаграмма классов для разрабатываемой АИС

Итогом проделанного анализа и проектирования стал выбор технологии разработки АИС - JEE, сервера БД - MySQL, сервера приложений - JBOSS Application Server, а также построение модели проектирования, отражающую все базовые классы системы, а также их связи.

Согласно модели RUP, следующим этапом является построение модели данных разрабатываемой АИС.

2. Конструкторско-технологическая часть

2.1 Проектирование БД автоматизированной информационной системы публикации и обработки данных о детях

2.1.1 Проектирование модели данных

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

Рисунок 16 - инфологическая модель для разрабатываемой АИС

Ключевой сущностью проектируемой АИС является "Ребенок". С данной сущностью работают все остальные, а именно:

- воспитатель;

- старший врач;

- заведующая;

- родитель;

- АИС;

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

- история болезней;

- ребенок.

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

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

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

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

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

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

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

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

Расширенная инфологическая модель приведена в Приложении 1.

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

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

Таблица 5 - первая нормальная форма отношений БД для разрабатываемой АИС

Ребенок

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

Воспитатель

История болезней

Старший врач

Заведующая

Родитель

Иванов И.И.

-

Малова М.М.

Грипп

Ухова У.У.

Лебедева Л.Л.

Иванов В.В.

Иванов И.И.

-

Малова М.М.

Грипп

Ухова У.У.

Лебедева Л.Л.

Иванова Е.Е.

Попов П.П.

80%

Рубинова Р.Р.

-

Ухова У.У.

Лебедева Л.Л.

Попов В.В.

Попов П.П.

80%

Рубинова Р.Р.

-

Ухова У.У.

Лебедева Л.Л.

Попова Е.Е.

Сидоров С.С.

50%

Измаилова И.И.

Ветрянка

Ухова У.У.

Лебедева Л.Л.

Сидорова Е.Е.

Для построения логической модели будет использоваться программный продукт Erwin Data Modeler. Данное CASE-средство удовлетворяет следующим требованиям.

1. Автоматическая генерация физической модели на основе разработанной логической модели.

2. Бесплатная лицензия распространения.

3. Личный опыт при работе с программным продуктом.

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

Приведем логическую модель БД разрабатываемой АИС на следующем рисунке.

Рисунок 17 - логическая модель БД для разрабатываемой АИС

Разработав логическую модель становится возможным быстро и легко перейти к построению физической модели за счет использования возможности CASE-средства. Однако необходимо помнить, что у данных моделей используются свои собственные типы данных, зависящие от используемого сервера БД. Уточним соответствие типов данных для логической и физической моделей с учетом рассматриваемого севера базы данных - MySQL.

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

№ п/п

Тип данных логической модели

Тип данных физической модели

1

String

Varchar

2

Datetime

Datetime

3

Number

Integer или Float

Приведем физическую модель БД разрабатываемой АИС на следующем рисунке.

Рисунок 18 - физическая модель БД для разрабатываемой АИС

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

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

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

- воспитатель;

- старший врач;

- заведующая;

- родитель.

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

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

1. Воспитатель.

1.1. Имя ребенка.

1.2. Фамилия ребенка.

1.3. Отчество ребенка.

1.4. Группа ребенка.

1.5. Наименование предмета тестирования ребенка.

1.6. Количество баллов, набранных ребенком.

1.7. Список ответов ребенка на вопросы.

1.8. Дата тестирования ребенка.

1.9. Дополнительная информация о ребенке.

2. Старший врач.

2.1. Имя ребенка.

2.2. Фамилия ребенка.

2.3. Отчество ребенка.

2.4. Группа ребенка.

2.5. Наименование заболевания ребенка.

2.6. Симптомы заболевания ребенка.

2.7. Температура ребенка.

2.8. Рост ребенка.

2.9. Вес ребенка.

2.10. Группа крови ребенка.

2.11. Курс лечения ребенка.

2.12. Дата заболевания ребенка.

2.13. Дополнительная информация.

3. Заведующая.

3.1. Имя ребенка.

3.2. Фамилия ребенка.

3.3. Отчество ребенка.

3.4. Дата рождения ребенка.

3.5. Домашний адрес ребенка.

3.6. Домашний телефон ребенка

3.7. Пол ребенка.

3.8. Группа ребенка.

3.9. Дата поступления ребенка.

3.10. Дата выпуска ребенка.

3.11. Номер медицинской карты.

3.12. Наименование предмета тестирования ребенка.

3.13. Количество баллов, набранных ребенком.

3.14. Список ответов ребенка на вопросы.

3.15. Дата тестирования ребенка.

3.16. Наименование заболевания ребенка.

3.17. Признаки заболевания ребенка.

3.18. Температура ребенка.

3.19. Рост ребенка.

3.20. Вес ребенка.

3.21. Группа крови ребенка.

3.22. Курс лечения ребенка.

3.23. Дата заболевания ребенка.

3.24. Дополнительная информация.

4. Родитель.

4.1. Отчет (содержащий всю информацию, описанную для заведующей).

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

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

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

Рисунок 19 - карта навигации для пользовательского интерфейса разрабатываемой АИС

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

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

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

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

2.1.3.1 Интерфейс воспитателя для работы с АИС

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

Рисунок 20 - интерфейс воспитателя для работы с АИС

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

2.1.3.2 Интерфейс старшего врача для работы с АИС

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

Интерфейс старшего врача для работы с АИС представлен на следующем рисунке.

Рисунок 21 - интерфейс старшего врача для работы с АИС

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

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

2.1.3.3 Интерфейс заведующей для работы с АИС

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

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

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

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

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

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

Рисунок 22 - интерфейс заведующей для работы с АИС

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

2.1.3.4 Интерфейс родителя для работы с АИС

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

Интерфейс родителя для работы с АИС представлен на следующем рисунке.

Рисунок 23 - интерфейс родителя для работы с АИС

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

2.1.3.5 Страница просмотра текущей информации в БД

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

Интерфейс просмотра текущего содержимого БД в АИС представлен на следующем рисунке.

Рисунок 24 - интерфейс просмотра текущей информации БД

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

2.1.3.6 Страница статистического анализа успеваемости ребенка

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

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

Интерфейс страницы статистического анализа успеваемости ребенка в АИС представлен на следующем рисунке.

Рисунок 25 - интерфейс страницы статистического анализа успеваемости ребенка

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

2.2 Разработка основных алгоритмов обработки информации

Задачами данного этапа, согласно модели RUP, являются:

1. Реализация классов автоматизированной информационной системы.

2. Тестирование автоматизированной информационной системы.

3. Разработка модели развертывания автоматизированной информационной системы.

2.2.1 Реализация классов разрабатываемой АИС

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

2.2.1.1 Реализация класса DBConnection

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

1. Создание подключения к серверу БД.

2. Предоставление другим классам доступа к созданному подключению.

Опишем диаграмму последовательности для данного класса.

Рисунок 26 - реализация класса DBConnection

Листинг данного класса представлен ниже.

import java. sql. *;

public class DBConnection {

static Connection conn = null;

public static final DBConnection connection = new DBConnection ();

public static void createConnection () {

try {

String user = "system";

String password = "system";

String url =" jdbc: oracle: thin: @localhost: 1521: belochka";

DriverManager. registerDriver (new oracle. jdbc. driver. OracleDriver ());

conn = DriverManager. getConnection (url, user, password);

System. out. println ("Database connection established");

}

catch (Exception e) {

System. err. println ("Cannot connect to database server");

}

}

public static Connection getCurrentConnection () {

if (conn == null) {

createConnection ();

return conn;

}

else {

return conn;

}

}

}

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

2.2.1.2 Реализация класса Children

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

1. Создание нового ребенка с данными о нем.

2. Методы получения и редактирования значений полей ребенка.

Опишем диаграмму последовательности для данного класса.

Рисунок 27 - реализация класса Children

Листинг данного класса представлен ниже.

import java. sql. *;

public class Children {

private String surname = "";

private String name = "";

private String middleName = "";

private Date dateOfBirth = "";

private String address = "";

private String telephone = "";

private String sex = "";

private String group = "";

private Date dateOfEnter = "";

private Date dateOfExit = "";

private String numberMedicalCard = "";

private String additionalInformation = "";

public Children (String s, String n, String m) {

this. surname = s;

this. name = n;

this. middleName = m;

}

public void createChildren (String s, String n, String m) {

Connection con;

con = DBConnection. getConnection ();

Statement stmt = null;

ResultSet rs = null;

try {

Children child = new Children (s, n, m);

stmt = con. createStatement ();

rs = stmt. executeQuery ("INSERT INTO children (surname, name, middleName) VALUES (" + child. getSurnme () +", " + child. getName () +", " + child. getMiddleName + ")");

rs. close ();

stmt. close ();

}

catch (SQLException ex) { }

}

public void setDateOfBirth (Date d) {

this. dateOfBirth = d;

}

public Date getDateOfBirth () {

return this. dateOfBirth;

}

public void setAddress (String a) {

this. address = a;

}

public String getAddress () {

return this. address;

}

public void setTelephone (String t) {

this. telephone = t;

}

public String getTelephone () {

return this. telephone;

}

public void setSex (String s) {

this. sex = s;

}

public String getSex () {

return this. sex;

}

public void setGroup (String g) {

this. group = g;

}

public String getGroup) {

return this. group;

}

public void setDateOfEnter (Date d) {

this. dateOfEnter = d;

}

public Date getDateOfEnter () {

return this. dateOfEnter;

}

public void setDateOfExit (Date d) {

this. dateOfExit = d;

}

public Date getDateOfExit () {

return this. dateOfExit;

}

public void setNumberMedicalCard (String n) {

this. numberMedicalCard = n;

}

public String getNumberMedicalCard () {

return this. numberMedicalCard;

}

public void setAdditionalInformation (String a) {

this. additionalInformation = a;

}

public String getAdditionalInformation () {

return this. additionalInformation;

}

}

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

2.2.1.3 Реализация класса TestResult

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

1. Создание нового результата тестирования для конкретного ребенка.

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

Опишем диаграмму последовательности для данного класса.

Рисунок 28 - реализация класса TestResult

Листинг данного класса представлен ниже.

import java. sql. *;

public class TestResult {

private String nameSubject = "";

private Children children = "";

private Integer countOfPoint = "";

private ArrayList listOfAnswer = "";

private Date dateOfTest = "";

private String additionalInformation = "";

public TestResult (String n, Children c) {

this. nameSubject = n;

this. children = c;

}

public void createTestResult (String n, Children c) {

Connection con;

con = DBConnection. getConnection ();

Statement stmt = null;

ResultSet rs = null;

try {

TestResult test = new TestResult (n, c);

stmt = con. createStatement ();

rs = stmt. executeQuery ("INSERT INTO testResult (nameSubject, children) VALUES (" + test. getNameSubject () +", " + test. getChildren () + ")");

rs. close ();

stmt. close ();

}


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

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