Объектно-ориентированный анализ на примере ЗАО 'Ионесси'

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    833,73 Кб
  • Опубликовано:
    2015-06-24
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Объектно-ориентированный анализ на примере ЗАО 'Ионесси'

Министерство сельского хозяйства Российской Федерации

Департамент научно-технологической политики и образования

Федеральное государственное бюджетное образовательное учреждение высшего образования

«Красноярский государственный аграрный университет»

Институт экономики и финансов АПК

Кафедра бизнес - информатики и информационно-компьютерной безопасности





Объектно-ориентированный анализ и программирование

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

Объектно-ориентированный анализ на примере ЗАО "Ионесси"

Выполнил

студент группы БИ-35

Шеховцова Е.М.

.62 «Бизнес-информатика»          (подпись)

Принял

ст. преподаватель Калитина В.В.




Красноярск, 2015

Содержание


ВВЕДЕНИЕ

. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ

. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ БАЗЫ ДАННЫХ

.1 СОЗДАНИЕ БАЗЫ ДАННЫХ

.2 ЗАПОЛНЕНИЕ ТАБЛИЦЫ

.3 ВЫПОЛНЕНИЕ ЗАПРОСОВ

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ

ПРИЛОЖЕНИЕ

Введение


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

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

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

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

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

проанализировать предметную область и описать ее;

представить предметную область в виде объектов и установить их характерные свойства с использованием языка UML;

спроектировать базу данных в объектно-ориентированной среде Object Pascal - Lazarus;

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

Для разработки базы данных будем использовать объектно-ориентированную среду Lazarus - это свободная среда разработки программного обеспечения на языке Object Pascal для компилятора Free Pascal. Интегрированная среда разработки предоставляет возможность кроссплатформенной разработки приложений в Delphi-подобном окружении.

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


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

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

Среднегодовая численность работающих за отчетный период составляет 192 человека.

Исполнительный орган Общества - генеральный директор.

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

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

ЗАО по производству обуви «Ионесси» - коммерческая фирма, главной целью деятельности которой является получение прибыли. Как экономический субъект, данное предприятие является производителем определенных товаров и услуг, необходимых на российском рынке, т. е. удовлетворяет платежеспособный спрос на эти товары и услуги.

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

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

Выпуск той или иной модели длится не более двух недель, в зависимости от запланированного объема. Таким образом, смена выпускаемой продукции за год происходит до 25 раз в год.

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

Основными поставщиками являются ООО «Ионесси Сервис» и ООО «Енисей обувь».

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

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

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

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

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

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

Предприятие выпустило 117 тыс. пар обуви и отгрузило 116,4 тыс. пар обуви в 2010 году и 116 тыс. пар выпустило и отгрузило 108,5 тыс. пар в 2011 году.

Реализация готовой продукции со складов производится оптовым покупателям, а также через собственную торговую сеть. Основными покупателями предприятия представлены ООО «ТД Ионесси» и индивидуальный предприниматель Пальников В.И. доходы от продажи данным покупателям составили 8% от общего объема продаж. Так же покупателями являются представители с других районов, городов. Основная доля реализации продукции предприятия приходится на Красноярский край и город Красноярск (68,5%), остальная доля приходится на реализацию за пределы Красноярского края.

2. Программная реализация базы данных

 

.1 Создание базы данных


В качестве хранилища данных будем использовать таблицу с полями Наименование, Сезон, Категория, Материал, Количество, Цена, где будет храниться информация о обуви.

Запустим программное обеспечение FreePascal-Lazarus. В главном меню выбираем вкладку "Файл", "Создать", в появившемся окне выбираем "Приложение" (Рисунок 1).

Рисунок 1 - Создание приложения

Создадим Unit1 - Form1 и размещаем и сетку для записи данных в файл- StringGrid1. Также создадим кнопку, соответствующие выполнению команды сохранение данных в файл- Button1 и пропишем код (Рисунок 2,3).

Рисунок 2 - Создание сетки и кнопки на форме

Рисунок 3 - Кнопка на сохранение записей в файл

Чтобы заполнить сетку нашими данными открываем окно "Инспектор объектов" для выделенной сетки "StringGrid1" в разделе "Options", "goEditing", выбираем "True".

Для того чтобы в сетку можно было вводить необходимое количество записей, на Form1 разместим Edit1, а на модуле Unit1 прописываем процедуру (Рисунок 4).

Рисунок 4 - Расширение сетки

Так как мы будем работать с двумя формами, то разместим на первой форме кнопку Button2 для перехода на вторую форму и прописываем процедуру (Рисунок 5,6).


Рисунок 6 - Процедура кнопки перехода на Form2

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

Кнопку Button1, для вывода данных в сетку;

Кнопки Button2-Button5 и элементs Edit1-Edit4, для выполнения запросов;

Кнопку Button 6 и элементы Edit5-Edit10, для добавления записи;

Кнопку Button7 и элемент Edit11, для удаления записи;

Кнопку Button8, для отчистки сетки; (Рисунок 7 )

Рисунок 7 - Кнопки и элементы второй формы

Теперь необходимо написать процедуру для кнопки Button1 - "Вывод данных"(Рисунок 8).

Рисунок 8 - Вывод данных в сетку

Напишем процедуру, для кнопки Button2, которая отвечает за вывод данных женской или мужской обуви, необходимый параметр для условия будет задаваться через Edit1. (Рисунок 9).

Рисунок 9 - Кнопка, на выполнение запроса по категории

Далее пропишем код для кнопки Button3, которая будет отвечать за выполнение запроса по выводу материала обуви. Вводим в элемент Edit2 материал, например "Кожа" и при нажатии кнопки будет выполнен запрос (Рисунок 10).

Рисунок 10 - Кнопка на выполнение запроса по материалу

база данные таблица программа

Составим процедуру для запроса по цене, за который будет отвечать кнопка Button 4, условие будет задаваться через элемент Edit3 (Рисунок 11).

Рисунок 11 - Кнопка на выполнение запроса Цена

Следующим шагом будет описание процедуры для кнопки Button 5, которая отвечает за вывод данных о обуви, которая изготовлена для того или иного времени года, условие выполняется через элемент Edit4 (Рисунок 12).

Рисунок 12 - Кнопка на выполнение запроса Cезон

Далее опишем процедуру для кнопку Button6, которая будет отвечать за добавление записей при соответствующем вводе данных в элементы Edit5-Edit10 (Рисунок 13).

Рисунок 13 - Кнопка на добавление записей в файл

Теперь напишем процедуру для кнопки Button7, которая будет отвечать за удаление записи по введенному в Edit11 наименованию (Рисунок 14).

Рисунок 14- Кнопка на удаление записей из файла

Описываем процедуру для кнопки Button8, которая будет отвечать за отчистку сетки (Рисунок 15).

Рисунок 15 - Отчистка сетки

2.2 Заполнение таблицы


Начинаем заполнять нашу таблицу, Для этого запустим программу, указываем количество строк в элемент Edit1 и приступаем к заполнению (Рисунок 16).

Рисунок 16 - Заполнение таблицы

После заполнения таблицы, нажимаем на кнопку Cохранить. И переходим на вторую форму, через кнопку Форма2.

Удалим запись о Басаножках. Введем в Edit11 наименование Басаножки и нажмем на кнопку "Удалить запись"(Рисунок 17).

Рисунок 17 - Удаление записи

Теперь введем данные о другой обуви. Введем информацию о обуви в выделенные для этого элементы (Рисунок 18).

Рисунок 18 - Добавление записи

2.3 Выполнение запросов


Приступим к выполнению запросов.

Выведем только женскую обувь, введем в Edit1 - Жен, и нажмем на кнопку "Категория" (Рисунок 19).

Рисунок 19 - Запрос на вывод категории

Теперь выведем только ту обувь, которая сделана из кожы, вышли следующие данные (Рисунок 20).

Рисунок 20 - Вывод обуви из кожи

Теперь выведем обувь, у которой цена меньше 3000 тысяч.

Рисунок 21 - Выполнение запроса на цену

Выведем обувь только на летний сезон. Для этого введем в элемент Edit4 - Лето нажмем на кнопку Сезон (Рисунок 22).

Рисунок 22 - Вывод обуви на лето

Заключение


В ходе выполнения данной работы были выполнены поставленная цель и задачи, для реализации этой цели.

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

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


1.Бадд Т. Объектно-ориентированно программирование в действии. СПб.: Питер, 1997.

. Бакнелл Дж. Фундаментальные алгоритмы и структуры данных в Delphi, Питер, 2006.

.Вальвачев А.Н., Сурков К.А., Сурков Д.А., Четырько Ю.М. Программирование на языке Delphi.

. Епанешников А.М., Епанешников В.А. Программирование в среде Delphi. В 4 ч. М.: Диалог-МИФИ, 1997.

. Лишер Р. Секреты Delphi 2. Киев: НИПФ «ДиаСофтЛтд»,1996.

. Мачто Д., Фолкнер Д.Р. Delphi, М.: Бином, 1995.

.Мизрохи С.В. Turbo Pascal и объектно-ориентированное программирование. М.: Финансы и статистика, 1992. -192 с.

. Могилев А.В. и др. Информатика. М., 2000. - 816 с.

. Орлик С.В. Секреты Delphi в примерах. М.: Бином, 1996.

.Работа с файлами в Delphi /[Электронный ресурс].- http://www.delphi-manual.ru/lesson7.php

{$R *.lfm}

{ TForm1 }TForm1.Button1Click(Sender: TObject);(f,'baza.ini');(f);i:=1 to n do.naimenovanie[i]:=stringGrid1.Cells[1,i];.cezon[i]:=stringGrid1.Cells[2,i];.kategoria[i]:=stringGrid1.Cells[3,i];.material[i]:=stringGrid1.Cells[4,i];.kolichestvo[i]:=strtoint(stringGrid1.Cells[5,i]);.cena[i]:=strtoint(stringGrid1.Cells[6,i]);(f,m);;(f);;TForm1.Button9Click(Sender: TObject);.Show;;TForm1.Edit1Change(Sender: TObject);:=strtoint(Edit1.Text);.rowcount:=n+1;;.Unit2;, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,;magazin=record:array [1..100] of string[50];:array [1..100] of string[50];:array [1..100] of string [50];:array [1..100] of string [50];:array [1..100] of integer;:array[1..100] of integer;;: TForm2;,m1: magazin;,f1: file of magazin;,j,n:integer;

{$R *.lfm}

{ TForm2 }TForm2.Button1Click(Sender: TObject);(f,'baza.ini');(f);:=1;stringgrid1.RowCount:=2;not eof (f) do(f,M);.Cells[1,i]:=M.naimenovanie[i];.Cells[2,i]:=M.cezon[i];.Cells[3,i]:=M.kategoria[i];.Cells[4,i]:=M.material[i];.Cells[5,i]:=inttostr(M.kolichestvo[i]);.Cells[6,i]:=inttostr(M.cena[i]);:=i+1;.RowCount:=stringgrid1.RowCount+1;;(f);;TForm2.Button2Click(Sender: TObject);k:string;(f,'baza.ini');(f);:=1;stringgrid1.RowCount:=2;:=Edit1.text; j:=1;not eof (f) do(f,M);m.kategoria[i]=k then.Cells[1,j]:=M.naimenovanie[i];.Cells[2,j]:=M.cezon[i];.Cells[3,j]:=M.kategoria[i];.Cells[4,j]:=M.material[i];.Cells[5,j]:=inttostr(M.kolichestvo[i]);.Cells[6,j]:=inttostr(M.cena[i]);j:=j+1; end;:=i+1;.RowCount:=stringgrid1.RowCount+1;;(f);;TForm2.Button3Click(Sender: TObject);k:string;(f,'baza.ini');(f);:=1;stringgrid1.RowCount:=2;:=Edit2.text; j:=1;not eof (f) do(f,M);m.material[i]=k then.Cells[1,j]:=M.naimenovanie[i];.Cells[2,j]:=M.cezon[i];.Cells[3,j]:=M.kategoria[i];.Cells[4,j]:=M.material[i];.Cells[5,j]:=inttostr(M.kolichestvo[i]);.Cells[6,j]:=inttostr(M.cena[i]); j:=j+1; end;:=i+1;.RowCount:=stringgrid1.RowCount+1;;(f);;TForm2.Button4Click(Sender: TObject);k:integer;(f,'baza.ini');(f);:=1;stringgrid1.RowCount:=2;:=Strtoint(edit3.text); j:=1;not eof (f) do(f,M);m.cena[i]<k then.Cells[1,j]:=M.naimenovanie[i];.Cells[2,j]:=M.cezon[i];.Cells[3,j]:=M.kategoria[i];.Cells[4,j]:=M.material[i];.Cells[5,j]:=inttostr(M.kolichestvo[i]);.Cells[6,j]:=inttostr(M.cena[i]); j:=j+1; end;:=i+1;.RowCount:=stringgrid1.RowCount+1;;(f);;TForm2.Button5Click(Sender: TObject);k:string;(f,'baza.ini');(f);:=1;stringgrid1.RowCount:=2;:=Edit4.text; j:=1;not eof (f) do(f,M);m.cezon[i]=k then.Cells[1,j]:=M.naimenovanie[i];.Cells[2,j]:=M.cezon[i];.Cells[3,j]:=M.kategoria[i];.Cells[4,j]:=M.material[i];.Cells[5,j]:=inttostr(M.kolichestvo[i]);.Cells[6,j]:=inttostr(M.cena[i]);j:=j+1; end;:=i+1;.RowCount:=stringgrid1.RowCount+1;;(f);;TForm2.Button6Click(Sender: TObject);(f,'baza.ini');(f1,'bazaКопия.ini');(f);(f1);:=1;not eof(f) do(f,M);(f1,M);:=i+1;;.naimenovanie[i]:=Edit5.Text;.cezon[i]:=edit6.text;.kategoria[i]:=Edit7.Text;.material[i]:=Edit8.Text;.kolichestvo[i]:=strtoint(edit9.text);.cena[i]:=strtoint(edit10.text);(f,M); showmessage('запись занесена');not eof(f) do(f1,M);(f,M);;(f1);(f);('bazaКопия.ini'); showmessage('файл удален');;TForm2.Button7Click(Sender: TObject);m2: string;(f,'baza.ini');(f1,'bazaКопия.ini');(f);(f1);:=1; i:=1; M2:=Edit11.text;not eof(f) do(f,m);m.naimenovanie[i]<>m2 then.naimenovanie[j]:=m.naimenovanie[i];.cezon[j]:=m.cezon[i];.kategoria[j]:=m.kategoria[i];.material[j]:=m.material[i];.kolichestvo[j]:=m.kolichestvo[i];.cena[j]:=m.cena[i];(f1,m1);j:=j+1;;:=i+1;;(f1);(f);(f,'baza.ini');(f1,'bazaКопия.ini');(f1);(f);not eof(f1) do(f1,m1);(f,m1);;(f1);(f);('bazaКопия.ini'); showmessage('файл удален');;TForm2.Button8Click(Sender: TObject);StringGrid1 doi:=1 to RowCount-1 doj:=1 to ColCount-1 do[j,i]:='';

end;.

Похожие работы на - Объектно-ориентированный анализ на примере ЗАО 'Ионесси'

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!