Помощь в написании студенческих работ
Антистрессовый сервис

Проект «Фабрика»

КурсоваяПомощь в написанииУзнать стоимостьмоей работы

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

Проект «Фабрика» (реферат, курсовая, диплом, контрольная)

«Могилёвский государственный университет им. А. А. Кулешова»

Физико-математический факультет

КУРСОВАЯ РАБОТА

Проект Фабрика

Студента Физико-математического факультета Котова Виталия Евгеньевича

Научный руководитель:

Мороз Людмила Александровна Могилёв, 2013

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

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

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

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

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

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

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

1. ПРЕДПРОЕКТНОЕ ОБСЛЕДОВАНИЕ

1.1 Анализ предметной области и объекта исследования

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

База данных «Фабрика» создается для экономии время которое тратится на составление документации (отчетов) о хранящейся на складе продукции. При работе с такой базой, добавлять, изменять информацию в отчете гораздо проще и быстрее.

1.1 Постановка задачи

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

1.2 Входные и выходные документы

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

1. Информация о товарах

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

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

1.3 Анализ бизнес-процессов

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

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

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

1.4 Информационные технологии разработки ИС

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

2. ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ

2.1 Построение инфологической модели ИС

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

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

· Товар — сущность, в которой храниться информация о производимом товаре.

· Модель — сущность, содержащая информацию о модели определенного товара.

· Поступление на склад — сущность, которая содержит данные о поступлении на склад определенной модели.

Связи между сущностями следующие:

· товар может иметь несколько моделей, при чем, модель обязательно связана с товаром, а товар обязательно связан хотя бы с одной моделью;

· модель связана с несколькими поступлениями на склад, а поступление, связано с одной моделью;

Имеем в обеих случаях, сущности связаны между собой связью один ко многим (1:М). Выявим все атрибуты, описывающие сущности ER-модели.

Сущность Товар (Product) имеет атрибуты Код товара (IdProduct) и Наименование товара (NameProduct).

Название атрибута

Первичный ключ

Внешний ключ

Тип

Код товара

;

число

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

;

;

строка

Сущность Модель (Model) имеет атрибуты Код модели (IdModel), Наименование модели (NameModel), Код товара (IdProduct), Цена модели (PriceModel).

Название атрибута

Первичный ключ

Внешний ключ

Тип

Код модели

;

число

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

;

;

строка

Код товара

;

число

Цена модели

;

;

деньги

Сущность Поступление на склад (Receipt) имеет атрибуты Код поступления (IdReceipt), Код модели (IdModel), Дата поступления (DateReceipt), Количество (Amount, количество моделей товара поступивших на склад), Кто принял товар (Accepted, кто принял поступление товара на склад).

Название атрибута

Первичный ключ

Внешний ключ

Тип

Код поступления

;

число

Код модели

;

число

Дата поступления

;

;

дата

Количество

;

;

число

Кто принял товар

;

;

строка

Все атрибуты во всех сущностях не имеют значений по умолчанию и не могут принимать значение Null.

2.2 Требования к разрабатываемой ИС

Учитывая особенности предметной области, разрабатываемый прототип должен следующие возможности:

· Добавление, изменение и удаление товара

· Добавление, изменение и удаление моделей товара

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

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

Товары

Код товара

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

Модели

Код модели

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

Код товара

Цена модели

Поступления

Код поступления

Код модели

Дата поступления

Количество

Кто принял товар

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

Таблица Товары связана с таблицей Модели с помощью внешнего ключа Код товара из таблицы Модели. Таблица Модели связана с таблицей Поступления посредством внешнего ключа Код модели из таблицы Поступления. На рисунке … изображена схема связей между таблицами.

Рисунок 1.1

2.4 Физическое проектирование

Для начала мы создадим соединение с базой данных в Visual Studio. Откройте Обозреватель объектов SQL Server в меню ВИД и кликните по кнопке Добавить новую базу данных (рисунок …).

Рисунок 1.2

В появившемся окне вводим название базы данных. Назовем ее Factory (Фабрика).

В базе данных нам нужно три таблицы. Для начала добавим таблицу Products. Для этого в окне Обозреватель объектов SQL Server разверните базу данных, которую только что создали, и кликните правой кнопкой мыши по пункту Таблицы. Выберите в появившемся меню Добавить новую таблицу, как показано на рисунке…

Появиться конструктор для создания новой таблицы. Будем использовать окно T-SQL, потому что это более краткий и точный способ описать необходимую спецификацию таблицы. Введите SQL-оператор, показанный в листинге 2.3−1, и нажмите кнопку Обновить в верхнем левом углу окна конструктора.

CREATE TABLE [dbo]. Products] (

[IdProduct] INT IDENTITY (1, 1) NOT NULL,

[NameProduct] NCHAR (25) NOT NULL,

PRIMARY KEY CLUSTERED ([IdProduct] ASC)

);

Листинг 2.3−1

Повторим действия для добавления таблиц Models и Receipts. SQL-операторы для этих таблиц приведены в листине 2.3−2.

CREATE TABLE [dbo]. Models] (

[IdModel] INT IDENTITY (1, 1) NOT NULL,

[NameModel] NCHAR (25) NOT NULL,

[IdProduct] INT NOT NULL,

[PriceModel] MONEY NOT NULL,

PRIMARY KEY CLUSTERED ([IdModel] ASC),

CONSTRAINT [FK_Models_Products] FOREIGN KEY ([IdProduct]) REFERENCES [dbo]. Products] ([IdProduct])

);

CREATE TABLE [dbo]. Receipts] (

[IdReceipt] INT IDENTITY (1, 1) NOT NULL,

[IdModel] INT NOT NULL,

[DateReceipt] DATE NOT NULL,

[Amount] INT NOT NULL,

[Accepted] NCHAR (25) NOT NULL,

CONSTRAINT [PK_Receipts] PRIMARY KEY CLUSTERED ([IdReceipt] ASC),

CONSTRAINT [FK_Receipt_Models] FOREIGN KEY ([IdModel]) REFERENCES [dbo]. Models] ([IdModel])

);

Листинг 2.3−2

3. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ИС «Фабрика»

3.1 Обоснование выбора ПО для разработки (макс. 2 стр.)

Для создания программного комплекса я пользовался Visual Studio 2012, которая содержит все необходимое для начала работы, в том числе встроенный сервер для запуска и отладки MVC приложений, бесплатный релиз SQL сервера для разработки приложений на основе баз данных, инструменты для тестирования и, конечно, компилятор и отладчик (дебаггер).

Одно из приятных дополнений к Visual Studio 2012 и SQL Server 2012 — версия LocalDB. Это безадминистративная реализация функций ядра SQL Server, предназначенных только для разработчиков. Используя эту версию, мы можем пропустить процесс настройки базы данных, пока мы создаем проект, а затем развернуть приложение на полном экземпляре SQL Server.

ЗАКЛЮЧЕНИЕ

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. http://ru.wikipedia.org/wiki/Графический_интерфейс_пользователя (Энциклопедия)

2. http://ru.wikipedia.org/wiki/Turbo_vision (Энциклопедия)

3. Неформальное введение в С++ и Turbo Vision — C.-Петербург, 1992

4. Руководство «Turbo Vision для C++» — Москва, 1991

ПРИЛОЖЕНИЕ

#include <stdlib.h> // для random ()

#define Uses_TEventQueue

#define Uses_TEvent

#define Uses_TApplication

#define Uses_TKeys

#define Uses_TRect

#define Uses_TMenuBar

#define Uses_TSubMenu

#define Uses_TMenuItem

#define Uses_TStatusLine

#define Uses_TStatusItem

#define Uses_TStatusDef

#define Uses_TDeskTop

#define Uses_TView

#define Uses_TWindow

#include

//////////________ КЛАССЫ ________///////////

const int cmMyNewWin = 199; // новая команда

const int cmMyFileOpen = 200; // новая команда

class TMyApp: public TApplication

{

public:

TMyApp ();

static TStatusLine *initStatusLine (TRect r);

static TMenuBar *initMenuBar (TRect r);

virtual void handleEvent (TEvent& event);

void myNewWindow ();

};

static short winNumber = 0; // определим номер окна

class TDemoWindow: public TWindow //

{

public:

TDemoWindow (const TRect& r, const char *aTitle, short aNumber);

};

class TInterior: public TView

{

public:

TInterior (const TRect& bounds); //

virtual void draw (); //

};

TMyApp:TMyApp () :

TProgInit (&TMyApp:initStatusLine,

&TMyApp:initMenuBar,

&TMyApp:initDeskTop)

{

}

TStatusLine *TMyApp:initStatusLine (TRect r)

{

r.a.y = r.b.y — 1; // верхняя граница на 1

// нижней

return new TStatusLine (r,

//определение набора контекстов помощи

*new TStatusDef (0, 0xFFFF) +

//определение элементов

*new TStatusItem («~Alt-X~ Exit», kbAltX, cmQuit) +

*new TStatusItem («~F10~ Menu», kbF10, cmMenu) +

*new TStatusItem (0, kbAltF3, cmClose) +

*new TStatusItem (0, kbF5, cmZoom) +

*new TStatusItem (0, kbCtrlF5, cmResize) +

*new TStatusItem («~F4~ New», kbF4, cmMyNewWin));

}

TMenuBar *TMyApp:initMenuBar (TRect r)

{

r.b.y = r.a.y + 1;

return new TMenuBar (r,

*new TSubMenu («~F~ile», kbAltF)+

*new TMenuItem («~O~pen», cmMyFileOpen, kbF3, hcNoContext, «F3») +

*new TMenuItem («~N~ew», cmMyNewWin, kbF4, hcNoContext, «F4») +

newLine () + // разделительная линия

*new TMenuItem («E~x~it», cmQuit, cmQuit, hcNoContext, «Alt-X») +

*new TSubMenu («~W~indow», kbAltW)+

*new TMenuItem («~N~ext», cmNext, kbF6, hcNoContext, «F6») +

*new TMenuItem («~Z~oom», cmZoom, kbF5, hcNoContext, «F5»));

}

void TMyApp: handleEvent (TEvent& event)

{

TApplication:handleEvent (event); // базовый метод

if (event.what == evCommand)

{

switch (event.message.command)

{

case cmMyNewWin: // но реагирует на допрлнительные команды

myNewWindow (); // действие по умолчанию cmMyNewWin

break;

default:

return;

}

clearEvent (event); // очистить очередь событий после обработки

}

}

void TMyApp: myNewWindow ()

{

TRect r (0, 0, 26, 7); // устаноывка начального размера и расположения

r.move (random (53), random (16)); // случайное перемещение по экрану

TDemoWindow *window = new TDemoWindow (r, «Demo Window», ++winNumber);

deskTop->insert (window); // включить окно в рабочую область. изобразить его

}

TInterior:TInterior (const TRect& bounds): TView (bounds)

ofFramed;

void TInterior: draw ()

{

char *hstr = «Hello World!» ;

ushort color = getColor (0×0301);

TView:draw ();

TDrawBuffer b;

b.moveStr (0, hstr, color);

writeLine (4, 2, 12, 1, b);

}

TDemoWindow:TDemoWindow (const TRect& bounds, const char *aTitle,

short aNumber) :

TWindow (bounds, aTitle, aNumber),

TWindowInit (&TDemoWindow:initFrame)

{

TRect r = getClipRect (); //

r.grow (-1, -1); //

insert (new TInterior®); //

}

int main ()

{

TMyApp myApp;

myApp.run ();

return 0;

}

Показать весь текст
Заполнить форму текущей работой