База данных электронной энциклопедии компьютерных игр
ЧАСТНОЕ УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ
«МИНСКИЙ ИНСТИТУТ УПРАВЛЕНИЯ»
Кафедра автоматизированных информационных систем
«К защите допускаю»
_____________ Боброва Н.Л.
«» 2013 г.
КУРСОВОЙ ПРОЕКТ
по дисциплине: «ВИЗУАЛЬНЫЕ СРЕДСТВА РАЗРАБОТКИ ПРОГРАММНЫХ ПРИЛОЖЕНИЙ»
на тему: «База данных электронной энциклопедии компьютерных игр»
Студент группы 101101с _________ Фамилия Имя Отчество
Руководитель ___________ Боброва Н.Л.
Минск – 2013
МИНСКИЙ ИНСТИТУТ УПРАВЛЕНИЯ
Факультет инженерно-информационный
Специальность - 1-40 01 02-02 Информационные системы и технологии в экономике
УТВЕРЖДАЮ
Зав. кафедрой
ЗАДАНИЕ
на курсовой проект
по дисциплине «Объектно-ориентированное программирование»
студенту Мирончик Александр Николаевич, группа № 101101с
1. Тема: «База данных компьютерных игр».
2. Срок сдачи студентом законченной курсовой работы: 22 мая 2013 г.
3. Перечень подлежащих
разработке вопросов и
№ п/п |
Наименование вопросов курсовой работы |
Срок выполнения |
1 |
Создание и использование таблиц в MySQL Server |
13.09.2012 |
2 |
Создание консольного приложения в MS Visual |
13.10.2012 |
3 |
Меню управления приложением |
13.11.2012 |
4 |
Оформление курсового проекта |
11.12.2012 |
Руководитель ________________ Н.Л. Боброва
Задание принял к исполнению ______________
11 февраля 2013г.
РЕФЕРАТ
Курсового проекта . Фимилия Имя Отчество
«База данных электронной энциклопедии компьютерных игр»
Объём работы 43 с., в том числе 10 рис., 10 наим. лит. , 2 приложения.
Ключевые слова: класс, таблица, тип данных, запрос MS SQL Server 2008, MS Visual C#, база данных, приложение Windows Forms, элементы управления, меню.
В курсовом проекте разрабатывается программное обеспечение для аэропорта, который включает в себя следующие этапы:
- проектирование и создание базы данных в MySQL Server 5.1;
- разработка удобного меню приложения;
- создание приложения в MS Visual Studio 2010.
В результате проведённого
анализа сделаны следующие
- использование базы данных позволяет хранить информацию удалённо, легко вносить изменения и обеспечить достоверность данных, просто и легко использовать данные, увеличить надёжность, целостность и сохранность данных;
- элементы управления, расположенные в меню, в значительной степени помогают упростить использование программы;
Проект разработан в виде оконного приложения (Windows Forms) с элементами управления в среде MS Visual C# и выполняет все вышеописанные функции.
ОГЛАВЛЕНИЕ
Введение 5
1. Постановка задачи И ОСНОВНЫЕ ТРЕБОВАНИЯ К СИСТЕМЕ 6
2. АНАЛИЗ РЕШАЕМОЙ ПРОБЛЕМЫ 7
3. ФУНКЦИОНАЛЬНОЕ МОДЕЛИРОВАНИЕ 8
4. ИНФОРМАЦИОННОЕ МОДЕЛИРОВАНИЕ 10
5. ПРОЕКТИРОВАНИЕ И ПРОГРАММИРОВАНИЕ ИНТЕРФЕЙСОВ СИСТЕМЫ 12
6. ОПИСАНИЕ РуководствА пользователя 13
6.1 НАЗНАЧЕНИЕ ПРОГРАММЫ 13
6.2 УСЛОВИЯ ВЫПОЛНЕНИЯ ПРОГРАММЫ 14
6.3 ВЫПОЛНЕНИЕ ПРОГРАММЫ 14
6.3 СООБЩЕНИЯ ОПЕРАТОРУ 14
7. ТЕСТИРОВАНИЕ СИСТЕМЫ И ОПИСАНИЕ ПОЛУЧЕННЫХ РЕЗУЛЬТАТОВ 15
7.1 ТЕСТИРОВАНИЕ СТАБИЛЬНОСТИ И НАДЕЖНОСТИ 16
Заключение 17
список литературных источников 18
Приложение 1 Схема обобщённого алгоритма работы ПРОГРАММЫ 19
ПРИЛОЖЕНИЕ 2 Листинг программНОГО КОДА 22
ВВЕДЕНИЕ
В современном мире нельзя представить человечество без помощника и спутника в работе и развлечениях - компьютера. Поскольку большое количество информации невозможно содержать у себя в памяти, то на помощь пользователю приходят базы данных, которые содержат в себе всё необходимое и могут быстро и эффективно выдать пользователю необходимые для его работы данные.
Работа по поиску необходимой компьютерной игры сопряжена с рядом трудностей. По мере увеличения фонд этих игр становится все менее обозримым, и задача управления фондом, контроля за его состоянием выдвигается на первый план. Поиск нужной компьютерной игры требует массу времени и напряжения. Единственный способ решения данной задачи - обращение к средствам вычислительной техники, создание электронной энциклопедии компьютерных игр.
В курсовом проекте рассматривается построение базы данных для такой электронной энциклопедии, а так же программное обеспечение для ведения этой базы данных.
Проект должен быть разработан разработан в виде оконного приложения (Windows Forms) с элементами управления в среде MS Visual C#, использовать принципы объектно-ориентированного программирования к решению поставленных задач.
Результатами выполнения курсового проекта должен стать готовый программный продукт, удовлетворяющий всем требованиям технического задания.
ПОСТАНОВКА ЗАДАЧИ
В курсовом проекте необходимо разработать программное обеспечение «Базы данных электронной энциклопедии компьютерных игр», с использованием языка программирования высокого уровня С# и MySQL Server.
В приложении должны быть реализованы следующие функции:
- вывод содержимого базы данных;
- добавление записей в базу данных;
- редактирование записей в базе данных;
- удаление записей из базы данных;
- поиск записей в базе данных.
Также должен быть предусмотрен вывод сообщений об ошибках в случае ввода неверных команд или некорректных данных пользователем. Необходимо разработать удобное меню управления функциями приложения, которое обеспечивало бы удобную работу пользователя. Меню управления представляет собой консольное окно приложения и реализует функциональность перечисленных выше структурных элементов приложения.
АНАЛИЗ РЕШАЕМОЙ ПРОБЛЕМЫ
Разрабатываемый программный продукт :
- Позволяет более быстро найти необходимые данные;
- Увеличивает
- Выполняет более быстрое
В разрабатываемом курсовом проекте, ПО должно быть реализовано достаточно просто и понятно для любого пользователя. При выполнении этих задач, пользователю будет легко и просто обращаться с данным ПО. Приложение должно работать в семействе Windows из-за его более распространённости.
Разработку приложения для системы Windows будем производить в приложениях MS Visual Studio 2012 и MySQL Server 5.1.
- ФУНКЦИОНАЛЬНОЕ МОДЕЛИРОВАНИЕ
Для удобной и простой работы с базой данных необходимо разрабатываемое приложение позволяющее производить все манипуляции с данными.
Для работы программы требуется PC совместимый компьютер и компилятор MS Visual C# 2012. При использовании иного сочетания характеристик системы, на которой будет использоваться программа, возможны некоторые расхождения с результатами работы.
Спроектируем варианты использования приложения, а также его структуру (рисунок 3.1-3.2)
Рисунок 3.1 –Функциональное моделирование программного приложения
Рисунок 3.2 – Функциональное моделирование программного приложения
Алгоритм взаимодействия пользователя с программой описан в Приложении 1.
- ИНФОРМАЦИОННОЕ МОДЕЛИРОВАНИЕ
Для хранения информации используется MySQL база данных curses, включающая в себя три таблицы, описание которых можно увидеть на рисунке 4.1, а описание каждого поля представлено в таблице 4.1.
Рисунок 4.1 - Структура базы данных
Таблица 4.1 – Перечень и описание полей таблиц базы данных
Имя поля |
Тип |
Описание |
Name |
varchar(100) |
В данную колонку таблицы базы данных вводится название игры |
Type |
varchar(100) |
В данную колонку таблицы базы данных вводится жанр игры |
Creater |
varchar(100) |
В данную колонку таблицы базы данных вводится название фирмы разработчика |
Maker |
varchar(100) |
В данную колонку таблицы базы данных вводится название фирмы издателя |
Telephone |
nchar(50) |
В данную колонку таблицы базы данных вводится номер телефона разработчика |
Address |
varchar(100) |
В данную колонку таблицы базы данных вводится адрес фирмы разработчика |
Telephone |
nchar(50) |
В данную колонку таблицы базы данных вводится номер телефона издателя |
Adresm |
varchar(100) |
В данную колонку таблицы базы данных вводится адрес издателя |
- ПРОЕКТИРОВАНИЕ И ПРОГРАММИРОВАНИЕ ИНТЕРФЕЙСОВ СИСТЕМЫ
Приведем в
этой главе некоторые инструкции,
необходимые для запуска
Структура окна имеет следующий вид (рисунок 5.1):
Рисунок 5.1 - Пользовательский интерфейс
Реализация элементов управления и их функций на языке С# представлена в Приложении 2.
6. ОПИСАНИЕ РУКОВОДСТВА ПОЛЬЗОВАТЕЛЯ
6.1 Назначение программы
Программа предназначена для автоматизации доступа, обработки, вывода информации о играх, их жанру, издателе и разработчику. Программа имеет понятный и простой для пользователя интерфейс (рисунок 6.1).
Рисунок 6.1 – Пример интерфейса программы
6.2 Условия выполнения программы
Для выполнения программы необходим компьютер, подключённый к локальной сети или имеющий доступ к Ethernet (конкретно к MySQL Server 5.1). Минимальные требования для компьютера:
1) ОС Windows ME, 2000, XP, 7, 8;
2) Установленная среда MySQL Server 5.1;
3) 5 Мб свободного места на жестком диске;
4) Установленная .NET Framework платформа.
6.3 Выполнение программы
Для открытия приложения необходимо запустить файл BD_Egame .exe. После открытия программы, пользователь должен выбрать пользователя, и введя пароль, может сразу приступить к работе с данными.
6.4 Сообщения оператору
При возникновении исключительной ситуации оператору будет сообщено об ошибке. Примеры ошибок:
- «Проверьте введенные данные!». Возникает, если пользователь оставил поля вода данных пустыми.
- «Ошибка в подключении к базе данных!». Возникает при отсутствии соединения с сервером базы данных.
- ТЕСТИРОВАНИЕ СИСТЕМЫ И ОПИСАНИЕ ПОЛУЧЕННЫХ РЕЗУЛЬТАТОВ
Проведём тестирование полученного приложения. Стрессовое тестирование позволяет проверить насколько приложение и система в целом работоспособно в условиях стресса и оценить способность системы к регенерации, т.е. к возвращению к нормальному состоянию после прекращения воздействия стресса. Стрессом в данном контексте может быть повышение интенсивности выполнения операций до очень высоких значений или аварийное изменение конфигурации сервера. Также одной из задач при стрессовом тестировании может быть оценка деградации производительности, таким образом, цели стрессового тестирования могут пересекаться с целями тестирования производительности.
Проведём тестирование с аварийным изменением конфигураций сервера (рисунок 7.1):
Рисунок 7.1 – Аварийное изменение конфигураций сервера
В случае разрыва соединения с сервером, будет выдана соответствующая ошибка, а возможность работы с информацией будет остановлен. В ходе тестирования на стрессоустойчивость программа справляется с критическими ситуациями, сообщая об ошибке, и возвращается к нормальному состоянию после прекращения воздействия стресса.
Тестирование стабильности или надежности.
Задачей тестирования стабильности (надежности) является проверка работоспособности приложения при длительном (многочасовом) тестировании со средним уровнем нагрузки. При этом на первое место выходит отсутствие утечек памяти, перезапусков серверов под нагрузкой и другие аспекты, влияющие именно на стабильность работы.
Проведённое тестирование на стабильность и надёжность, показало, что в приложении отсутствует утечка информации (выдаёт только ту информацию, которую необходимо увидеть), и вся информация корректно обрабатывается не зависимо от длительности тестирования.
Так же было проведено тестирование на некорректные действия пользователя. Пользователь не сможет вызвать ошибок в программе и нарушить её работоспособность.
Тестирование показало, что никоим образом из клиентского приложения невозможно нарушить целостность хранящихся в базе данных. Четко построенная система ограничений на вводимые данные определяет семантическую правильность и не позволяет засорять базу вводом логически незаконченной информации.
Рисунок 7.2 – Рабочее окно программы
Программа прошла тестирование и полностью работоспособна. Уязвимостей не обнаружено.
Заключение
В результате разработки проекта было реализовано приложение, позволяющее работать с базой данных электронной энциклопедии компьютерных игр. Основной упор при разработке программы делался на простоту ведения базы данных и удобство манипулирования этими данными.
При выполнении курсового проекта
были пройдены все этапы разработки
специализированного
Разработанное приложение выполняет следующие операции:
- вывод содержимого базы;
- поиск записей в базе.
- добавление записей в базу;
- редактирование записей в базе;
- удаление записей из базы;
Кроме того, был спроектирован консольный интерфейс, который обеспечивает удобную работу пользователя с приложением. Интерфейс реализован в виде консольного окна, в котором перечислены пункты при помощи которых можно взаимодействовать с базой данных.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Разработка Windows-приложений на Microsoft Visual Basic .NET и Microsoft Visual C# -NET. Учебный курс MCAD MCSD / Официальное пособие Microsoft. – Москва: Русская редакция, 2003. – 478 с.
2. Павловская Т.А. C#. Программирование на языке высокого уровня. Учебник для вузов. – СПб.: Питер, 2007. – 432 с.
3. Шильд, Г. C# Учебный Курс. – Питер: Издательская группа BHV, 2003. – 512c.
4. Троелсен Э. - Язык программирования C# 2010 и платформа .NET 4.0, 5-е изд. : Пер. с англ. – М. : ООО «И.Д. Вильямс», 2011. – 1392 с. : ил. – Парал. тит. англ.
5. Майо Д. C#: Искусство программирования. Энциклопедия программиста. – СПб.: ООО «ДиаСофтЮП», 2002.– 656 с.
6. Разработка Windows-приложений на основе Visual C# / Intuit. – Москва: Electronic pub, 2005. – 424 с.
7. Шилдт Г.Полный справочник по C#. – М.: Издательский дом «Вильямс», 2004. – 752 с.
8. Трэй Нэш. C# 2008: ускоренный курс для профессионалов. – М.: ООО
«И.Д. Вильямс», 2008. – 576 с.
9. Агуров П.В. C#. Разработка компонентов в MSVisualStudio 2005/2008.
– СПб.: БХВ-Петербург, 2008. – 480 с.
10. Прайс Д., Гандэрлой М. VisualC#.NET. Полное руководство.: – К.: ВЕК+
Приложение 1
Схема обобщённого алгоритма работы ПРОГРАММЫ
ПРИЛОЖЕНИЕ 2
Листинг программНОГО КОДА
Форма Авторизации
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.Odbc;
namespace BD_EGame
{
public partial class Form1 : Form
{
String user;
DB_EGame_A db_egame_a;
DB_EGame_U db_egame_u;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
this.Close();
}
private void button2_Click(object sender, EventArgs e)
{
authUser();
if (user == "1")
{
this.user = null;
db_egame_a = new DB_EGame_A();
this.Hide();
db_egame_a.ShowDialog();
}
else if (user == "2"){
this.user = null;
db_egame_u = new DB_EGame_U();
this.Hide();
db_egame_u.ShowDialog();
}
else { MessageBox.Show("Неправильный логин или пароль."); this.user = null; }
}
public void authUser() {
String login = textBox1.Text;
String password = textBox2.Text;
OdbcConnection myConnection1 = new OdbcConnection("DRIVER={MySql ODBC 5.1 Driver};" +
"SERVER=localhost;" +
"DATABASE=db_egame;" +
"UID=root;" +
"PASSWORD=12345;" +
"OPTION=3;");
try
{
myConnection1.Open();
OdbcDataReader myReader = null;
OdbcParameter myParam1 = new OdbcParameter("@Param1", OdbcType.VarChar, 20);
myParam1.Value = login;
OdbcParameter myParam2 = new OdbcParameter("@Param2", OdbcType.VarChar, 20);
myParam2.Value = password;
OdbcCommand myCommand = new OdbcCommand("SELECT users.Level FROM users WHERE users.Login = ? and users.Password = ?", myConnection1);
myCommand.Parameters.Add(
myCommand.Parameters.Add(
myReader = myCommand.ExecuteReader();
while (myReader.Read())
{
for (int i = 0; i < myReader.FieldCount; i++)
{
this.user = myReader.GetValue(i).ToString(
}
}
myConnection1.Close();
}
catch
{
MessageBox.Show("Не удалось подключиться к серверу!");
}
}
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter) {
authUser();
if (user == "1")
{
this.user = null;
db_egame_a = new DB_EGame_A();
this.Hide();
db_egame_a.ShowDialog();
}
else if (user == "2")
{
this.user = null;
db_egame_u = new DB_EGame_U();
this.Hide();
db_egame_u.ShowDialog();
}
else { MessageBox.Show("Неправильный логин или пароль."); this.user = null; }
}
}
}
}
Форма Администрации
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.Odbc;
namespace BD_EGame
{
public partial class DB_EGame_A : Form
{
public DB_EGame_A()
{
InitializeComponent();
}
private void button3_Click(object sender, EventArgs e)
{
addCreater();
}
public void addCreater() {
String creater = textBox3.Text;
String phone = textBox5.Text;
String address = textBox4.Text;
OdbcConnection myConnection4 = new OdbcConnection("DRIVER={MySql ODBC 5.1 Driver};" +
"SERVER=localhost;" +
"DATABASE=db_egame;" +
"UID=root;" +
"PASSWORD=12345;" +
"OPTION=3;");
try
{
myConnection4.Open();
OdbcParameter myParam2 = new OdbcParameter("@Param2", OdbcType.VarChar, 20);
myParam2.Value = creater;
OdbcParameter myParam3 = new OdbcParameter("@Param3", OdbcType.VarChar, 20);
myParam3.Value = phone;
OdbcParameter myParam4 = new OdbcParameter("@Param4", OdbcType.VarChar, 20);
myParam4.Value = address;
OdbcCommand myCommand3 = new OdbcCommand("Insert into creater (`creater`,`phone`,`address`) values (?,?,?);", myConnection4);
myCommand3.Parameters.Add(
myCommand3.Parameters.Add(
myCommand3.Parameters.Add(
myCommand3.ExecuteNonQuery();
myConnection4.Close();
MessageBox.Show("Разработчик добавлен.");
}
catch
{
MessageBox.Show("Не удалось подключиться к серверу!");
}
}
public void showCreater() {
OdbcConnection myConnection2 = new OdbcConnection("DRIVER={MySql ODBC 5.1 Driver};" +
"SERVER=localhost;" +
"DATABASE=db_egame;" +
"UID=root;" +
"PASSWORD=12345;" +
"OPTION=3;");
try
{
myConnection2.Open();
OdbcDataReader myReader = null;
OdbcCommand myCommand = new OdbcCommand("SELECT DISTINCT * FROM creater", myConnection2);
myReader = myCommand.ExecuteReader();
string st;
int itemIndex = 0;
listView2.Items.Clear();
while (myReader.Read())
{
for (int i = 0; i < myReader.FieldCount; i++)
{
st = myReader.GetValue(i).ToString(
switch (i)
{
case 0:
case 1:
case 2:
}
}
itemIndex++;
}
myConnection2.Close();
}
catch
{
MessageBox.Show("Не удалось подключиться к серверу!");
}
}
private void button4_Click(object sender, EventArgs e)
{
showCreater();
}
public void addMaker() {
String maker = textBox8.Text;
String phone = textBox6.Text;
String address = textBox7.Text;
OdbcConnection myConnection4 = new OdbcConnection("DRIVER={MySql ODBC 5.1 Driver};" +
"SERVER=localhost;" +
"DATABASE=db_egame;" +
"UID=root;" +
"PASSWORD=12345;" +
"OPTION=3;");
try
{
myConnection4.Open();
OdbcParameter myParam2 = new OdbcParameter("@Param2", OdbcType.VarChar, 20);
myParam2.Value = maker;
OdbcParameter myParam3 = new OdbcParameter("@Param3", OdbcType.VarChar, 20);
myParam3.Value = phone;
OdbcParameter myParam4 = new OdbcParameter("@Param4", OdbcType.VarChar, 20);
myParam4.Value = address;
OdbcCommand myCommand3 = new OdbcCommand("Insert into maker (`maker`,`phone`,`address`) values (?,?,?);", myConnection4);
myCommand3.Parameters.Add(
myCommand3.Parameters.Add(
myCommand3.Parameters.Add(
myCommand3.ExecuteNonQuery();
myConnection4.Close();
MessageBox.Show("Издатель добавлен.");
}
catch
{
MessageBox.Show("Не удалось подключиться к серверу!");
}
}
public void showMaker() {
OdbcConnection myConnection2 = new OdbcConnection("DRIVER={MySql ODBC 5.1 Driver};" +
"SERVER=localhost;" +
"DATABASE=db_egame;" +
"UID=root;" +
"PASSWORD=12345;" +
"OPTION=3;");
try
{
myConnection2.Open();
OdbcDataReader myReader = null;
OdbcCommand myCommand = new OdbcCommand("SELECT DISTINCT * FROM maker", myConnection2);
myReader = myCommand.ExecuteReader();
string st;
int itemIndex = 0;
listView3.Items.Clear();
while (myReader.Read())
{
for (int i = 0; i < myReader.FieldCount; i++)
{
st = myReader.GetValue(i).ToString(
switch (i)
{
case 0:
listView3.Items.Add(st);
case 1:
case 2:
}
}

- База даных на С++
- Базальные ядра и боковые желудочки
- База оподаткування податку на додану вартість
- База практики: Зіньківське управління по експлуатації газового господарства
- Базарно - Сызганский район
- База требований к организации проверки знаний
- Базельские принципы в экономике
- База данных форума
- База данных футбольных игроков
- База данных "Читальный зал"
- База данных штрафы ГИБДД
- База данных “Экскурсия”
- База Данных электронного дневника школьника
- База данных электронной техники с использованием пакета MS Office