Разработка ИС для учета детских садов города

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

 

РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ ТОРГОВО-ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

 

 

Факультет информационных технологий

Кафедра информационных технологий и телекоммуникаций

 

 

 

 

Курсовая работа

 

по дисциплине «Инструментальные средства разработки корпоративных экономических систем»

 

на тему «Разработка ИС для учета детских садов города»

 

 

 

Выполнила студентка

группы ИТ31д

Сорокина С.Ю.

 

 

Проверила

доцент кафедры ИТиТ, к.т.н.

Киреева Г.И.

 

Оценка:_________________

 

 

 

 

Москва, 2013г.

Оглавление

 

Введение

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

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

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

В соответствии с поставленной целью определены следующие задачи:

  1. Исследование предметной области;
  2. Выделение объектов – сущностей и процессов в предметной области;
  3. В соответствии с выделенными объектами и процессами предметной области разработка логической модели данных;
  4. Создание базы данных;
  5. Разработка отдельных объектов базы данных (представлений, хранимых процедур, пользовательских функций, отчетов);
  6. Разработка клиентского приложения для созданной БД.

 

  1. Описание предметной области

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

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

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

Информация о должностях состоит из наименования должности.

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

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

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

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

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

С помощью приложения можно сформировать следующие документы:

Отчёт о работниках выбранного детского сада;

Отчет о составе группы;

Отчет о плановом и фактическом количестве мест в группах;

Отчет о вакантных местах в группах.

Множество допущений, принятых при разработке приложения для Альпинистского клуба:

Информация о детских садах ведется с 2012 года.

  1. Инфологическая модель данных

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

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

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

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

Рис. 2.1 Модель «Сущность-связь»

 

 

  1. Логическая модель базы данных

На основе разработанной инфологической модели создадим логическую модель данных (Рис. 3.1).

Рис. 3.1 Логическая модель данных

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

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

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

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

Разработанная модель находится в 3-ей нормальной форме т.к.:

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

 

  1. Физическая модель данных

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

Рис. 4.1 Физическая модель данных

 

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

Для создания базы данных была выбрана СУБД Microsoft SQL Server 2008.

Для разработки пользовательского интерфейса была выбрана среда разработки Microsoft Visual Studio 2010 Professional, которая также является широко распространенной средой разработки и имеет развитые возможности быстрого создания пользовательских интерфейсов к базам данных, поддерживает все распространенные на данный момент технологии доступа к источникам данных (ADO.NET и т.п.). Помимо перечисленных особенностей, программы, созданные в Visual Studio 2010, являются легко переносимыми и не требуют для своей работы установки дополнительных программ или библиотек.

Выбор среды для создания базы данных.

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

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

  • открытость для языков программирования;
  • принципиально новый подход к построению каркаса среды - Framework .Net.

База данных состоит из следующих таблиц:

  • Сады – хранит информацию о детских садов (Таблица 4.1, Рис. 4.2);
  • Группы – хранит список групп детского сада (Таблица 4.2, Рис. 4.3);
  • Персонал – хранит сведения о персонале (Таблица 4.3, Рис. 4.4);
  • Должности – хранит список должностей (Таблица 4.4, Рис. 4.5);
  • Дети – хранит список детей в каждой группе (Таблица 4.5, Рис. 4.6);
  • Родители – хранит сведения о родителях (Таблица 4.6, Рис. 4.7);
  • Закрепленные – хранит список воспитателей, закрепленных за группой (Таблица 4.7, Рис. 4.8).

Таблица 4.1

Структура таблицы «Сады»

Имя поля

Тип данных

Длина

Краткое описание

Код

(Ключевое поле)

int

 

Порядковый номер детского сада

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

varchar

100

Наименование детского сада

Адрес

varchar

200

Адрес

Номер

varchar

100

Номер телефона


Рис. 4.2. Фрагмент заполненной таблицы «Сады»

Таблица 4.2

Структура таблицы «Группы»

Имя поля

Тип данных

Длина

Краткое описание

Код

(Ключевое поле)

int

 

Порядковый номер группы

КодСада

int

 

Номер детского сада

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

varchar

100

Наименование группы

ВозрастС

int

 

Начальный возраст детей

ВозрастПо

int

 

Верхняя граница возраста

Мест

int

 

Количество мест в группе


Рис. 4.3. Фрагмент заполненной таблицы «Группы»

Таблица 4.3

Структура таблицы «Персонал»

Имя поля

Тип данных

Длина

Краткое описание

Код

(Ключевое поле)

int

 

Порядковый номер работника

КодСада

int,

 

Номер детского сада

КодДолжности

int,

 

Номер должности

Фамилия

varchar

50

Фамилия

Имя

varchar

50

Имя

Отчество

varchar

50

Отчество

ДомАдрес

varchar

200

Домашний адрес

Телефоны

varchar

200

Телефон

ДатаПриема

datetime

 

Дата приема на работу

ДатаУвольн

datetime

 

Дата увольнения


Рис. 4.4. Фрагмент заполненной таблицы «Персонал»

Таблица 4.4

Структура таблицы «Должности»

Имя поля

Тип данных

Длина

Краткое описание

Код

(Ключевое поле)

int

 

Порядковый номер должности

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

varchar

100

Наименование должности


Рис. 4.5. Фрагмент заполненной таблицы «Должности»

Таблица 4.5

Структура таблицы «Дети»

Имя поля

Тип данных

Длина

Краткое описание

Код

(Ключевое поле)

int

 

Порядковый номер ребенка

КодГруппы

int

 

Группа

Фамилия

varchar

50

Фамилия

Имя

varchar

50

Имя

ДатаРожденя

datetime

 

Дата рождения

Дата

datetime

 

Дата с которой ребенок посещает группу

РостСм

int

 

Рост в см

ВесКг

DECIMAL

3,1

Вес в кг


Рис. 4.6. Фрагмент заполненной таблицы «Дети»

Таблица 4.6

Структура таблицы «Родители»

Имя поля

Тип данных

Длина

Краткое описание

Код

(Ключевое поле)

int

 

Порядковый номер родителей

КодДети

int,

 

Код ребенка

Фамилия

varchar

50

Фамилия

Имя

varchar

50

Имя

Отчество

varchar

50

Отчество

Адрес

varchar

200

Домашний адрес

МестоРаботы

varchar

200

Место работы

Телефоны

varchar

200

Номер телефона


Рис. 4.7. Фрагмент заполненной таблицы «Родители»

Таблица 4.7

Структура таблицы «Закрепленные»

Имя поля

Тип данных

Длина

Краткое описание

Код

(Ключевое поле)

int

 

Порядковый номер

КодГруппы

int,

 

Группа

КодПерсонала

int,

 

Работник

ДатаС

datetime

 

Дата начала работы в группе

ДатаПо

datetime

 

Дата окончания работы в группе


Рис. 4.8. Фрагмент заполненной таблицы «Закрепленные»

 

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

Хранимые процедуры.

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

Список работников выбранного детского сада:

USE [KinderGarten]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

ALTER procedure [dbo].[ListWork] @CodSad int

as

select *

from Персонал

where КодСада=@CodSad and ДатаУвольн is NULL


 

Список детей выбранной группы:

USE [KinderGarten]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

ALTER procedure [dbo].[ListGrup] @CodG int

as

select *

from Дети

where КодГруппы=@CodG


 

Число планового количества мест в группе и число фактических мест:

 

 

USE [KinderGarten]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

ALTER procedure [dbo].[RepGrup]

as

select Сады.Наименование, Сады.Адрес, Сады.Номер, Группы.Наименование, Группы.ВозрастС, Группы.ВозрастПо, Группы.Мест, COUNT(Дети.КодГруппы) as 'ФактМест'

from Сады, Группы, Дети

where Сады.Код=Группы.КодСада and Дети.КодГруппы=Группы.Код

GROUP BY Сады.Наименование, Сады.Адрес, Сады.Номер, Группы.Наименование, Группы.ВозрастС, Группы.ВозрастПо, Группы.Мест


 

 

  1. Описание проекта

Файлы проекта:

1) Файл приложения.

2) Файлы классов, содержащие коды  программных процедур, выполняемых  на форме.

3) Файлы классов, содержащие перечень  свойств объектов, находящихся на  определённой форме.

Проект состоит из 11 форм.

На главной форме (Рис. 6.1) расположено меню для динамического обновления формы и для формирования отчётов.

Рис. 6.1. Вид главной формы

Команда «Детские сады» открывает справочник для ввода данных о детских садах, команда «Должности» открывает справочник должностей. Меню «Отчеты» содержит список отчетов:

  • Отчет о фактической комплектации;
  • Отчет о свободных местах.

При выборе пункта меню «Детские сады» на экране отобразится форма «Справочник детские сады» (Рис. 6.2). На форме расположена панель инструментов для навигации по справочнику и дополнительные кнопки, позволяющие вводить информацию о детских садах.

Рис. 6.2. Форма «Справочник детские сады»

Рассмотрим кнопки панели инструментов (Таблица 6.1).

Таблица 6.1

Изображение

Описание

Устанавливает курсор на первую запись справочника

Переход к предыдущей записи справочника

Переход к следующей записи справочника

Переход к последней записи справочника

Добавить новую запись в справочник

Удалить текущую запись из справочника

Сохранить изменения

Открыть справочник «Персонал»

Открыть справочник «Группы»


 

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

Рис. 6.3. Форма «Персонал»

Рис. 6.4. Форма «Отчет о работниках детского сада»

Кнопка (Открыть справочник «Группы») позволяет открыть на редактирование список групп детского сада (Рис. 6.5). На панели инструментов редактирования сведений о группе отображается кнопка , которая позволяет открыть список закрепленных за группой воспитателей (Рис. 6.6).

Рис. 6.5. Форма «Группы и состав»

Рис. 6.6. Форма «Воспитатели в группах»

Кнопка в области редактирования данных о детях группы позволяет открыть справочник для ввода данных о родителях (Рис. 6.7).

Кнопка позволяет вывести на печать сведения о детях (Рис. 6.8).

Рис. 6.7. Форма «Сведения о родителях»

Рис. 6.8. Форма «Отчет список группы»

По команде «Должности» из главного меню программы открывается справочник должностей (Рис. 6.9).

Рис. 6.9. Форма «Должности»

По командам «Отчет о фактической комплектации» и «Отчет о свободных местах» выводятся отчеты о фактической комплектации групп (Рис. 6.10) и отчет о свободных местах (Рис. 6.11).

Рис. 6.10. Форма «Отчет о фактической комплектации»

Рис. 6.11. Форма «»Список свободных мест в группе

Раздел 6. Способ доступа к данным

В данной работе используется технология доступа к данным ADO(ActiveXDataObject), основанная на технологии ActiveX. Эта технология используется при создании одно - или двухуровневых приложений. Схема набора данных ADO.NET представляет собой шаблон структуры данных в формате XML. Любая БД является хранилищем данных, а ADO.NET является инструментом манипулирования содержимым БД: обеспечивает согласованное извлечение, редактирование, вставку, обновление и удаление данных с минимальными возможностями их потери или искажения.

Важным элементом автономного доступа к данным является контейнер для табличных данных, который не знает о СУБД. Такой контейнер представлен в ADO.NET классом DataSet или DataTable.

Архитектуру ADO.NET можно разделить на две фундаментальные части: подключённую и автономную. Все различные классы ADO.NET можно отнести к подключённой или автономной части. Единственным исключением является класс DataAdapter. Работающий как посредник между подключённой и автономной частями.

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

Рассмотрим создание нового источника данных из файла базы данных SQL Server с помощью команды "Добавить новый источник данных".

1. В меню Данные выберем команду Добавить новый источник данных.

2. На странице Выбор типа источника  данных выберите База данных (Рис. 6.12).

Рис. 6.12. Выбор источника

3. Выберем конфигурацию DataSet (Рис. 6.12).

Рис. 6.13. Выбор источника

4. Выберем «Создать подключение» для создания нового подключения к данным. В поле ServerName выбираем имя созданного SQL Server, в поле «Select or enter a database name» выбираем из списка «KinderGarten».

Рис. 6.14. Настройка подключения

5. Выберем объекты базы данных для использования в приложении (Рис. 6.15). Введем имя набора данных DataSet name.

Рис. 6.15. Выбор объектов базы данных

6. Нажмем кнопку Готово.

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

 

  1. Демонстрация работающего проекта

При открытии приложения появляется главное окно с меню для выбора нужной формы (см. описание форм приложения, Рис. 7.1).

Рис. 7.1. Главная форма «Учет детских садов»

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

Рис. 7.2. Ввод данных о новом детском саде

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

Рис. 7.3. Заполнение справочника «Персонал»

Закроем справочник «Персонал» и откроем справочник группы для ввода данных о группах (Рис. 7.3). По команде закрепляем воспитателей за группой (Рис. 7.5), по команде заполняем сведения о родителях (Рис. 7.6).

Для проверки комплектации групп выберем отчет о фактической комплектации (Рис. 7.7).

Рис. 7.4. Заполнение данных о группах.

Рис. 7.5. Закрепление воспитателей.

Рис. 7.6. Заполнение данных о родителях.

Рис. 7.7. Просмотр отчета о фактической комплектации.

Заключение

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

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

  • изучены технологии создания windows-приложения и windows-forms - ADO.NET;
  • исследована предметная область;
  • разработана база данных для хранения информации о детских садах, работниках детских садов, детях, родителях;
  • разработано приложение для работы с базой данных «Учет детских садов города».

Для выполнения курсовой работы были изучены СУБД Microsoft SQL Server 2008, создана база данных проекта, установлена её связь с клиентской частью, разработанной в Visual Studio 2010.

При выборе средств разработки главными факторами были надежность хранения данных и удобство интерфейса, что может обеспечить СУБД Microsoft SQL Server Management Studio 2008 – самая популярная система управления базами данных общего назначения. Это комплекс программных средств, предназначенных для создания базы данных, наполнения её содержимым, редактирования содержимого, отбора данных в соответствии с заданными критериями, их упорядочивания, оформления, печати.

Microsoft SQL Server Management Studio работает под управлением Windows и поэтому может использовать все возможности OLE и DDE. DDE является динамическим  механизмом обмена данными. Сессия в DDE инициируется DDE-клиентом и реализуется путем направления необходимых запросов и команд к DDE-серверу.

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

 

Список использованной литературы

  1. MicrosoftVisualStudioC# 2008. Базовый курс. Карлин Уотсон, Кристиан Нейгел. 2009 г.
  2. Михаил Флёнов Библия C# 2-е издание. СПб. 2011. – 560 с.
  3. Программирование баз данных. MicrosoftSQLServer 2008. Базовый курс. Р.Виейра; Пер. с англ.; Под. Ред. С.М.Молявко. – М.: Вильямс, 2010. –816 с.
  4. Работа с базами данных на языке C#. Технология ADO.NET. Учебное пособие.

 

 

Приложение 1. Главная форма Form1

Form1.Designer.cs

namespace kindergarten

{

    partial class frmMain

    {

        /// <summary>

        /// Required designer variable.

        /// </summary>

        private System.ComponentModel.IContainer components = null;

 

        /// <summary>

        /// Clean up any resources being used.

        /// </summary>

        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>

        protected override void Dispose(bool disposing)

        {

            if (disposing && (components != null))

            {

                components.Dispose();

            }

            base.Dispose(disposing);

        }

 

        #region Windows Form Designer generated code

 

        /// <summary>

        /// Required method for Designer support - do not modify

        /// the contents of this method with the code editor.

        /// </summary>

        private void InitializeComponent()

        {

            this.MainMenu = new System.Windows.Forms.MenuStrip();

            this.детскиеСадыToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();

            this.должностиToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();

            this.отчетыToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();

            this.отчетОФактическойКомплектацииToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();

            this.отчетОСвободныхМестахToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();

            this.MainMenu.SuspendLayout();

            this.SuspendLayout();

            //

            // MainMenu

            //

            this.MainMenu.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold);

            this.MainMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {

            this.детскиеСадыToolStripMenuItem,

            this.должностиToolStripMenuItem,

            this.отчетыToolStripMenuItem});

            this.MainMenu.Location = new System.Drawing.Point(0, 0);

            this.MainMenu.Name = "MainMenu";

            this.MainMenu.Size = new System.Drawing.Size(510, 25);

            this.MainMenu.TabIndex = 0;

            this.MainMenu.Text = "menuStrip1";

            //

            // детскиеСадыToolStripMenuItem

Разработка ИС для учета детских садов города