Главная » Просмотр файлов » Курсовой проект

Курсовой проект (548453)

Файл №548453 Курсовой проект (Курсовой проект (2007))Курсовой проект (548453)2015-08-23СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

московский энергетический институт (технический университет)











Курсовой проект

по дисциплине «Распределенные ИС и БД»

Подготовил студент группы А-13-03 Трофимов В.С.





Москва, 2007



Оглавление

1. Задание 3

2. Уточнение задания 3

3. Проектирование БД и ПО 3

3.1. Проектирование базы данных 3

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

3.2. Проектирование программного обеспечения 5

3.2.1. Проектирование архитектуры 5

3.2.2. Рассмотрение базового класса редактирования таблиц 6

3.3. Вывод 7

4. Реализация 8

4.1. Реализация базы данных 8

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

4.1.2. Соединение с сервером 9

4.1.3. Реализация базы данных средствами Visual Studio 9

4.1.4. Редактирование данных в БД средствами Visual Studio 14

4.1.5. Реализация отображения базы данных 14

4.2. Реализация программного обеспечения 15

4.2.1. Интерфейс программы 16

4.2.2. Окно редактирования таблиц БД 17

4.2.3. Дополнительная возможность – консоль 18

4.3. Реализация создания отчетов 18

4.3.1. Создание SQL запроса для отчета 19

4.3.2. Интерфейс отчета 22

5. Приложение 24

Список литературы 33

  1. Задание

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

  1. Уточнение задания

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

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

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

  1. Проектирование БД и ПО

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

• Создать модель будущей базы данных

• Реализовать базу данных на MS SQL Server 2005

• Реализовать модуль для редактирования данных в базе данных на MS Visual Studio 2005.

• Реализовать составление отчетов (отчет о нагрузке преподавателей)



    1. Проектирование базы данных

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

Создадим логическую и физическую модели базы данных. В этом нам поможет Erwin.

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

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

Видно, что модель содержит следующие сущности:

• Преподаватели

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

• Должности, Ученые степени, Категории

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

• Дисциплины

В данной сущности хранятся все дисциплины (их короткое и полное названия)

• Учебный план, Специальности

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

• Группы

Содержит группы, а также другую информацию для каждой группы – название, год приема, количество студентов и номер/идентификатор кафедры.

• Кафедры

Содержит все названия кафедр

• Институты

Содержит все названия институтов (факультетов)

• Виды расчетных работ

Содержит названия расчетных работ

• Дисциплины учебного плана

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

    1. Проектирование программного обеспечения

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

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

      1. Проектирование архитектуры

Покажем схематично архитектуру программного обеспечения.





















































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

С вязь означает наследование, т.е. «класс А наследуется от класса В».

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

Базовый класс BaseFormEditor имеет следующие методы:

  • Виртуальный метод getDataTable()

Данный метод возвращает данные таблицы. Как и все виртуальные методы, он должен быть перекрыт в классе-наследнике.

  • Виртуальный метод getFormCaption()

Этот метод возвращает название заголовка формы.

  • Виртуальный метод updateTables()

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

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

  • Виртуальный метод fillTables()

Заполняет таблицу нужными данными – данными из таблицы базы данных

  • Виртуальный метод initDataTable()

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

  • Виртуальный метод getTableColumns()

Возвращает колонки таблицы (компонент формы).

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

  • А также другие методы (init(), saveToXML())

Прочие методы (функции) предназначены для инициализации компонентов формы, обработки событий нажатия на компоненты формы, сохранения данных таблицы в XML файл (кстати в дальнейшем, этот XML файл возможно использовать для отображения отчета, а также экспортирования отчета в Excel средствами MS Visual Studio 2005)

    1. Вывод

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

  1. Реализация

Рассмотрим реализацию нашего программного продукта по порядку.

    1. Реализация базы данных

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

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

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

Физическая модель нашей базы зависит от реализации СУБД Microsoft SQL Server 2000 (это объясняется тем, что более новых версий в Erwin’е нет) и принимает следующий вид:

В этой модели используются только два типа данных: int и nchar().

При существовании пустых значений в базе данных, она теряет как смысл хранения этих данных, так и надежность этой базы. Именно поэтому, почти все данные не могут принимать значения NULL. Имеется исключение, как, например, в таблице Disciplines_learning_plan (Дисциплины учебного плана) значение поля vid_rash_zadaniya_id (вид расчетного задания) может быть NULL, т.к. возможны отсутствия видов расчетных заданий. Также, отсутствия количества часов тоже возможны, однако в этом случае необходимо вводить 0. Подобная ситуация есть и в таблице vid_rash_rabot (Виды расчетных работ) – там можно создать отдельное значение, например, и использовать его в качестве «отсутствия». При редактировании данных с помощью программного обеспечения (будет описано позже) необходимо использовать именно такой способ заполнения БД, т.к. в ней не предусмотрено вносить пустые данные.

      1. Соединение с сервером

При помощи MS Visual Studio 2005 у нас есть возможность подключиться к серверу следующим образом. В меню Data выбрать Add new Data Source и там создать новое подключение к серверу или к уже созданному файлу SQL Server’а. В нашем случае сейчас уже имеется файл базы данных и это окно подключения будет иметь вид:

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

Тип файла
Документ
Размер
474,5 Kb
Тип материала
Высшее учебное заведение

Тип файла документ

Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.

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

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

Список файлов курсовой работы

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6508
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее