Автор работы: Пользователь скрыл имя, 15 Апреля 2012 в 12:10, курсовая работа
У результаті курсового проектування отримали програму, що дає можливість покупцям замовляти товари, продавцям редагувати інформацію про товари і покупців. У ході проектування була використана СУБД Microsoft Access і мова програмування C#/.
Вступ 6
Аналіз предметної області 9
a. Область застосування програмного продукту 9
b. Практичне значення 9
Розробка моделі бази даних 12
a. ER-Діаграмма бази данних 13
b. Приведення до третьої нормальної форми 15
Розробка інтерфейса користувача (GUI) 18
Висновок 24
Перелік посилань 26
Додатки 27
Під час розробки полів для кожної таблиці необхідно пам'ятати:
- Кожне поле має бути пов'язане з темою таблиці.
- Не рекомендується включати до таблиці дані, які є результатом виразу.
- У таблиці має бути вся необхідна інформація.
У попередньому пункті містилися правила для успішної побудови функціонуючої бази. Дотримуючись цих правил, побудуємо потрібну базу даних каталогу комп’ютерних комплектуючих. Розглянемо структуру таблиць, що описують ці сутності, і розробимо модель даних.
У таблиці «Hardware» повинні міститися найбільш важливі характеристики даної продукції, за якими покупець може віддати свій вибір будь-якої певної моделі:
Вид товару;
Виробник;
Модель;
Вартість товару;
Тип;
Додаткову інформацію;
Дана таблиця буде мати зовнішній ключ: «ID », що зв'язує таблицю з таблицею «Orders» , «Specs», що зв’язує її з таблицею «Specification» та «Type», що використовуеться для зв’язку з таблицею «Type» .
У таблиці «Orders» ключовим полем буде «ID», що зв’язує її з таблицею «Buyer» також будуть поля, призначені для опису замовлення: «Hardware», «Recipient» «Paid».
У таблиці «Buyer» буде такі поля як «First_name», «Last_name», «Email» «Address». Ключове поле «ID» буде пов'язувати цю таблицю з таблицею «Orders».
Таблиця «Specification» містить поля: «Clock», «Socket» «Memory» «Interface» «Form_factor» «Cache» «Capacity». Ключове поле - «ID» що зв’язує її з таблицями «Hardware» та «Specification_Type».
У таблиці «SpecificationType» достатньо вказати чотири поля: «Specification», «Type» «Title» та «ID» , яке зв’язує її з таблицями «Specification» та «Type».
А таблиця «Type» буде містити одне поле «Title».Воно зв’язує цю таблицю з таблицями «Specification_type» та «Hardware».
Ключові поля «Ідентифікатор» всіх таблиць повинні бути одного типу даних - лічильник. Всі інші поля можуть бути текстового типу.
Повна структура бази даних представлена на рис. 2.
Рис. 2 «Схема даних створеної бази даних»
В розробленій мною базі данних, всі таблиці були заздалегідь приведені до третьої нормальної форми, тому подальшого вдосконалення вони не потребують. Таблиці відповідають основним вимогам, тобто:
Всі рядки повинні бути різними;
Всі елементи всередині осередків повинні бути атомарними (не списками). Іншими словами, елемент є атомарним, якщо його не можна розділити на частини, які можуть використовувати в таблиці незалежно один від одного;
Будь-яке її поле, що не входить до складу первинного ключа, функціонально повно залежить від первинного ключа;
Будь-який її не ключовий атрибут функціонально залежить тільки від первинного ключа.
Після створення бази даних заповнимо кожну її таблицю значеннями:
1. Таблиця «Hardware» (рис. 3);
Рис. 3 «Hardware»
Таблиця «Orders» (рис. 4);
Рис. 4 «Orders»
Таблиця «Buyer» (рис. 5);
Рис. 5 «Buyer»
Таблиця «Specification» (рис. 6);
Рис. 6 «Specification»
Таблиця «Specification_Type» (Рис. 7);
Рис. 7 «Specification_type»
Таблиця «Type» (рис. 8).
Рис. 8 «Type»
Microsoft Visual Studio є на даний момент найбільш зручним продуктом, що включає інтегроване середовище розробки програмного забезпечення, для розробки не тільки консольних додатків, але і створення програм з інтуїтивно зрозумілим інтерфейсом користувача. Інтерфейс користувача найчастіше є найбільш важливим критерієм при виборі програмного забезпечення, тому всі виробники прагнуть врахувати побажання своїх клієнтів і організувати найбільш прийнятний інтерфейс.
Отже, розглянемо основні концепції майбутнього інтерфейсу програми.
Доцільно розподілити дію з кожною таблицею у окремій вкладці – так інтерфейс буде найбільш чистим і приємним. Ми маемо можливість працювати з головною формою, через яку буде здійснюватись керування программою.В ній відображаеться список товарів та замовлення на цей товар.Також на ній присутній фільтр, що дае змогу відфільтрувати комплектуючі по типу.Також присутні ще дві вкладки: «Добавление» та «Запрос», але про них докладніше потім. Головна форма, на якій відображаеться список комплектуючих:
Рис. 9 «Список комплектующих»
Щоб відкрити форму замовлення треба двічі клацнути л.к. миші на товарі.В формі, що відкриеться ми можемо відредактувати деяку інформацію про товар , та створити нового покупця, якщо його ще немае в базі данних.
Рис. 10«OrderForm»
Фільтр дае змогу вибрати комплектуючі одного типу:
Рис. 11«Фільтрація по CPU»
Вкладка «Добавление» дае змогу додавати товар до бази данних:
Рис. 12«Добавление»
Приклад додавання товару:
Рис. 13«Додавання товару»
Форма для запитів дозволяє за допомогою SQL-запитів працювати з базою данних.Потрібно ввести запит в спеціальне вікно та натиснути кнопку “Выполнить” Ось приклад:
Рис. 14«SQL-запит»
Розробка інсталятора
Інсталяція (установка) - процес встановлення програмного забезпечення на комп'ютер кінцевого користувача. Виконується особливої програмою (пакетним менеджером), присутньої в операційній системі, або ж входять до складу самого програмного забезпечення засобом установки.
Більшість програм поставляються для продажу і розповсюдження в стислому (упакованому) вигляді. Для нормальної роботи вони повинні бути розпаковані, а необхідні дані правильно розміщені на комп'ютері, враховуючи відмінності між комп'ютерами і налаштуваннями користувача. У процесі установки виконуються різні тести на відповідність заданим вимогам, а комп'ютер необхідним чином конфігурується (настроюється) для зберігання файлів і даних, необхідних для правильної роботи програми.
Програма установки або інсталятор - це комп'ютерна програма, яка встановлює файли, такі як додатки, драйвери, або інше програмне забезпечення, на комп'ютер. Деякі інсталятори спеціально зроблені для встановлення містяться в них файлів, інші ж є універсальними і працюють, зчитуючи вміст комплекту програмного забезпечення, яке необхідно встановити.
Smart Install Maker – саме цю программу я обрав для створення інсталятора своеї программи.
Для даного проекту виберемо саме цю систему, тому що на це є кілька причин. Перша з них, і, мабуть, найважливіша - його безкоштовність, і друга - інсталятори, створені Smart Install Maker володіють інтуїтивно зрозумілим інтерфейсом, який добре оцінюється недосвідченими користувачами.
Скріншоти наведено на мал. 14, мал. 15.
Рис. 15 «Головне вікно інсталятора»
Рис. 16 «Вікно вибора шляху інсталяції»
При виконанні цього курсового проекту було пройдено основні етапи побудови реляційної бази даних, тобто такої БД, де дані являють собою набір відношень і ці відношення відповідають умовам цілісності (інформація у базі даних відповідає її внутрішній структурі і усім явно заданим правилам). Також ми ознайомилися з основними вимогами приведення БД до третьої нормальної форми:
Всі рядки повинні бути різними;
Всі елементи всередині осередків повинні бути атомарними (не списками). Іншими словами, елемент є атомарним, якщо його не можна розділити на частини, які можуть використовувати в таблиці незалежно один від одного;
Будь-яке її поле, що не входить до складу первинного ключа, функціонально повно залежить від первинного ключа;
Будь-який її не ключовий атрибут функціонально залежить тільки від первинного ключа.
Для створення магазину вибір ліг на C#. Це потужне середовище для розробки, сумісне з усіма операційними системами і не вимагаюче високих апаратних засобів комп'ютера, досить просте в освоєнні та продовжує розвиватися і вдосконалюватися.
Конец формы
За допомогою программи та бази данних була зроблена спроба створити оптимальне керування магазином, який займаеться продажою комп’ютерних комплектуючих. База данних забезпечує цілісність даних, що зберігаються, перешкоджає їх втраті та спотворенню. Надає швидкий пошук необхідної інформації, наочність (тому що всі дані представлені в зручному вигляді для користувача). Дозволяє користувачеві вносити зміни (додавати, видаляти непотрібну інформацію). На підставі вищесказаного, зрозуміло, що використання бази даних набагато спрощує роботу з даними та робить її ефективною.
Без подібних програм робота магазинів не була би такою якісною і швидкою.І в першу чергу такі программи дозволяют звичайним покупцям заощаджувати свій час та гроші.
1. Рубен А., Горєв А., Макашарипов С. Ефективна робота із СУБД. Питер, 1997
2. Робінсон С. MS Access 2000. Питер, 2001
3. Методична література з MS Access
4. Ребекка М. Райордан Основи реляційних баз даних 2001р.
5. Трифонова Н.А., Прозорова С.С. Office для студента. 2004р.
6. Ролланд Ф.Д. Основні концепції баз даних. 2002р.
7. Карпова Т. Бази даних: моделі, розробка, реалізація, 2001.
1. Вихідний код класу Buyer:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace BO
{
public class Buyer // вміщюе в собі об’єкт логіки “покупець
{
public string first;
public string last;
public string email;
public string address;
public Buyer(string f, string l, string e, string a)
{
first = f;
last = l;
email = e;
address = a;
}
}
}
2.Вихідний код классу Hardware:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
namespace BO
{
public class Hardware // вміщює в собі об’єкт логіки “обладнання”
{
public string title;
public string description;
public string cost;
public string manufacturer;
public string type;
public Dictionary<string, string> specifications;
public Hardware(string title,string description,string cost,string manufacturer,string type)
{
this.title = title;
this.description = description;
this.cost = cost;
this.manufacturer = manufacturer;
this.type = type;
}
public Hardware(int id, string title, string description, string cost, string manufacturer, string type)
{
this.id = id;
this.title = title;
this.description = description;
this.cost = cost;
this.manufacturer = manufacturer;
this.type = type;
}
public int id { get; private set; }
}
}
3.Вихідний код класу EditForm:
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;
namespace WindowsFormsGui
{
public partial class EditForm : Form
{
BO.Hardware item;
DAL.Factories.Factory factory;
public EditForm(BO.Hardware item)
{
InitializeComponent();
factory = DAL.Factories.Factory.
this.item = item;
titleEdit.Text = item.title;
costEdit.Text = item.cost;
descriptionEdit.Text = item.description;
}
private void saveButton_Click(object sender, EventArgs e)
{
item.title = titleEdit.Text;
item.description = descriptionEdit.Text;
item.cost = costEdit.Text;
factory.GetHardwareRepository(
Close();
}
private void resetButton_Click(object sender, EventArgs e)
{
titleEdit.Text = item.title;
costEdit.Text = item.cost;
descriptionEdit.Text = item.description;
}
}
}
4.Вихідний код класу MainForm:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.Odbc;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsGui
{
public partial class MainForm : Form //містить оброблювачі подій для головної форми
{
private DAL.Factories.Factory factory;