prosdo.ru 1
Министерство культуры Российской Федерации


Федеральное государственное бюджетное образовательное учреждение высшего и послевузовского профессионального образования
ВСЕРОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ КИНЕМАТОГРАФИИ имени С.А.ГЕРАСИМОВА
ВГИК VGIK

СЕРГИЕВО-ПОСАДСКИЙ ФИЛИАЛ ВГИК



Утверждаю

Заместитель директора

по учебной работе

____________________

« »_____________2012

Рассмотрено на заседании

предметной комиссии

« » 2012

протокол №

Председатель предметной

комиссии


Курсовой проект
тема:
«Разработка информационной системы для предприятия магазин бытовой техники»

по дисциплине: «Разработка и эксплуатация информационных систем»

Работу выполнила студентка

4 курса группы № 268

Романова М.А.

Работу проверил преподаватель

Гришкин А.В.
г. Сергиев Посад

2012 год

Содержание

Введение.......................................................................................................................3

Анализ технического задания.....................................................................................6

Описательная часть разработки...............................................................................10

Заключение.................................................................................................................19

Пояснительная записка

Введение

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


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

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

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

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

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


Задание на курсовой проект: разработать информационную систему, обеспечивающую автоматизацию деятельности торгового учреждения «Магазин бытовой техники». Предприятияе представляет собой торговое учреждение, состоящее как минимум из двух структурных единиц — склада и торгового зала. Продукция от поставщиков и производителей поступает на склад. По заявкам из торгового зала со склада передаётсяна реализацию необходимое количество продукции. При невозможности реализации продукции покупателями, такая продукция должна быть возвращена из торгового зала на склад для последующей передачипоставщикам или производителю.

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

Задачи, которые должна решать информационная система:

1) Учёт поступающей продукции на склад.

2) Учёт передачи со склада на реализацию

3) Учёт реализации продукции потребителем в торговом зале

4) Учёт возврата товара на склад с реализацией или от потребителя

Анализ технического задания

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



Рис. 1 Описание процесса учёта поступления товара на склад

2) На склад поступает заявка из торгового зала, кладовщик выдаёт товар продавцу зала и заносит данные о передаче товара в книгу учёта, соответственно, формируется отчёт о поступлениях в зал товара и данные о поступлениях заносятся продавцом в учётную книгу торгового зала.




Рис. 2 Описание процесса учёта поступления товара в торговый зал

3) При продажи товара, кассир должен зафиксировать данное действие в книги учёта торгового зала и выдать соответственные документы на товар. Следовательно. Составляется акт приёмо-передачи, и продавец имеет возможность запросить отчёт о продажах.



Рис. 3 Описание процесса учёта продаж

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

Рис. 4 Описание процесса учёта продаж

Рис. 5 Описание процесса товарооборота на предприятии

Описательная часть разработки

1.1 Особенности среды программирования Delphi 7

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

Основной упор модели в Delphi делается на максимальном не использовании кода. Это позволяет разработчикам строить приложения весьма быстро из заранее подготовленных объектов, а также дает им возможность создавать свои собственные объекты для среды Delphi. Никаких ограничений по типам объектов, которые могут создавать разработчики, не существует. Действительно, все в Delphi написано на нем же, поэтому разработчики имеют доступ к тем же объектам и инструментам, которые использовались для создания среды разработки. В результате нет никакой разницы между объектами, поставляемыми Borland или третьими фирмами, и объектами, которые можно создать.
В стандартную поставку Delphi входят основные объекты, которые образуют удачно подобранную иерархию из 270 базовых классов. На Delphi можно одинаково хорошо писать как приложения к корпоративным базам данных, так и программы для измерительных систем. Разработка интерфейса в Delphi является довольно простой задачей для программиста.
Delphi Обеспечивает исчерпывающую библиотеку классов - Визуальную Компонентную Библиотеку (VCL), Библиотека Borland Component (CLX), и блок Быстрой разработки (RAD) инструментальные средства, включая приложение и шаблоны форм, и мастера. Delphi объектно-ориентированное программирование.
Из нестандартных улучшений Borland, внесенных в объектный Pascal надо отметить свойства (Properties) и перезагружаемость процедур и функций (Overloading).

После загрузки на экране появится главное окно.

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

Object TreeView – служит для отображения всех объектов расположенных на текущей форме разрабатываемого проекта.

Object Inspector – служит для отображения и редактирование свойств компонентов расположенных на форме разрабатываемого приложения.

Теперь введем понятия «проект». Проект – это совокупность файлов, которые используются средой разработки для итоговой генерации программы. Когда мы будем создавать с вами первый проект, то познакомимся со всеми составляющими проекта и его структурой.

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

File – содержит набор команд для работы с файлами, позволяет создавать новые проекты, добавлять новые файлы в проект на основе различных шаблонов, переименовывать файлы проекта, а также распечатывать их. Сюда же включена команда закрытия среды разработки;

Edit – здесь, в соответствии с названием, расположены команды, предназначенные для редактирования текста, удаления и перемещения его в буфер обмена, вставки текста из буфера и отмены операций редактировании. Стоит отметить, что все эти команды работают не только с текстом, но и с компонентами в конструкторе форм – элементами управления, из которых «собирается» интерфейс приложения. Кроме того, здесь же сосредоточены команды управления положением компонентов на поверхности формы, а также фиксации компонентов – функции, позволяющей заблокировать компоненты, что бы в последствии его случайно не изменить;

Search – содержит набор команд для работы с текстом, его поиска и замены, причем и то и другое может производится как в одном файле, так и во всех файлах проекта, либо в любом каталоге и его подкаталогах;


View – под этим названием объединены команды вызова инструмента управления проектом, такие как инспектор объектов, конструктор форм, менеджер проектов и т.д.;

Project – предназначен для того чтобы добавлять и удалять модули проекта, сохранять проект в репозитории, добавлять проекты в группу и убирать их из неё, компилировать как отдельные проекты, так и все проекты в группе, загружать файл самого проекта в редактор кода, а также вызывать диалог настройки свойств проекта;

Run – позволяет запускать проект на выполнение как под отладчиком, так и без него, конфигурировать строку параметров проекта при запуске, производить отладку, задать точки останова, осуществлять пошаговое выполнение кода, просматривать значения переменных и изменять их;

Component – здесь сосредоточены команды, предназначенные для установки новых компонентов и пакетов компонентов и создания новых компонентов и шаблонов компонентов;

Database – здесь сосредоточены команды управления базами дынных;

Tools – позволяет настраивать свойства рабочей среды Delphi и отладчика, произвести настройки репозитория, добавлять и удалять дополнительные утилиты, а так же команды запуска этих самых утилит;

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

Help – объединяет команды вызова справочной системы Delphi и её настройки, а так же позволяет обратиться к Web-ресурсам компании Borland для получения дополнительной информации.

Теперь рассмотрим панель инструментов. Вы можете настроить панель инструментов таким образом, что бы вам было удобно работать. Для этого нужно вызвать диалоговое окно по ссылке View-Toolbars-Customize. На закладке Toolbars вы можете выбрать те группы кнопок, которые желаете видеть на панели инструментов. Вам следует снять флажок слева от имени группы, чтобы скрыть её, и поставить – чтобы показать. Закладка Commands, позволяет указать, какие кнопки нужно показать в группе. Настройка выполняется следующим образом. Если вы хотите добавить кнопку на панель инструментов, то нажмите и удерживайте левую кнопку мыши на названии этой кнопки в списке Commands, перетащите её на панель инструментов и там отпустите кнопку мыши. Если вы хотите скрыть какую-либо кнопку, то подобным образом перетащите её в обратном направлении с панели инструментов на окно диалога настройки. В дополнение к этому на закладке Options данного окна вы можете установить показывать или нет подсказки при перемещении курсора мыши над кнопками панели инструментов (флажок Show tooltips) и включить или нет в подсказку комбинации «быстрых» клавиш для вызова команды, запускаемой щелчком по кнопке (флажок Show shortcut keys on tooltips).


Ниже будут перечислены и описаны некоторые палитры компонентов:

Standard. Большинство компонентов на этой странице являются аналогами экранных элементов самой Windows. Меню, кнопки, полосы прокрутки — здесь есть все. Но компоненты Delphi обладают также некоторыми удобными дополнительными встроенными возможностям.

Additional. Эта страница содержит более развитые компоненты. Данная страница также содержит компоненты, главное назначение которых — отображение графической информации. Компонент Image загружает и отображает растровые изображения, а компонент Shape, украсит ваши формы окружностями, квадратами и т.д.

System. Страница System содержит компоненты, обрабатывающие обмен высокого уровня между программами посредством OLE (Object Linking and Embedding). А компонент Timer может генерировать события через определенные, заранее установленные промежутки времени.

Win32. Эта страница содержит компоненты, позволяющие созданным с помощью Delphi программам использовать такие нововведения в пользовательском интерфейсе 32-разрядной Windows, как просмотр древовидных структур, просмотр списков, панель состояния, присутствующая в интерфейсе программы Windows Explorer (Проводник), расширенный текстовый редактор и др.

Dialogs. Windows ввела в употребление стандартные диалоговые окна для операций над файлами, выбора шрифтов, цветов и т.д. Однако для использования их в обычной программе Windows может потребоваться написать немало вспомогательного кода. Страница, Dialogs предоставляет программам Delphi простой доступ к этим стандартным диалоговым окнам.

Data Access и Data Controls. Delphi использует механизм баз данных компании Borland (Borland Database Engine, BDE) для организации доступа к файлам баз данных различных форматов. Компоненты этих двух страниц облегчают программам Delphi использование сервиса баз данных, предоставляемого BDE, например многопользовательского считывания, записи, индексации и выдачи запросов для таблиц dBASE и Paradox. С использованием этих компонентов создание программы просмотра и редактирования базы данных почти не требует программирования.


Win 3.1. На этой странице, как в сибирской ссылке, находятся компоненты Delphi 1.0, возможности которых перекрываются аналогичными компонентами Windows XP.

Internet. Эта страница предоставляет компоненты для разработки приложений, позволяющих создавать HTML-файлы непосредственно из файлов баз данных и других типов, взаимодействующих с другими приложениями для Internet. Delphi дает вам возможность создавать приложения для Web-сервера в виде DLL-файлов : (Dynamic Link Library — Динамически компонуемая библиотека), способных содержать невизуальные компоненты. С помощью компонентов страницы Internet довольно просто создавать обработчики событий для обращения к определенному URL (Uniform Resource Locator — Унифицированный локатор ресурса), представлению документов в HTML-формате и пересылки их клиент-программе.

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

ActiveX. Эта страница содержит компоненты ActiveX, разработанные независимыми производителями программного обеспечения: сетка, диаграмма, средство проверки правописания.

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

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

Теперь перейдем к инспектору объектов (Object Inspector). Он имеет две вкладки Properties (Свойства) и Events (События). Первая вкладка предназначена для редактирования свойств объектов. Объект может обладать различными свойствами, и эти свойства могут объединяться в группы. Вторая вкладка используется для описания событий, на которые будет реагировать выделенный объект.

Достоинством Delphi является простота, скорость и эффективность. Delphi имеет самый быстрый из всех компилятор. Другим достоинством является простота изучения Object-Pascal. Библиотека VCL позволяет программировать и в среде Windoows API. Модель программирования в Delphi компонентная, что позволяет использовать множество уже созданных компонент, создавать свои и использовать дополнительные чужие. К достоинствам можно отнести достаточно быстрый браузер классов и мгновенный вывод подсказки авто завершения кода.
Недостатком Delphi можно назвать наличие меньшего числа функций, чем, к примеру, у C++: не достает шаблонов, перегрузки операторов и объектной модели, похожей на модель C++. После использования объектов их надо уничтожить, вызывая метод Free. В C++ объекты уничтожаются автоматически при выходе из зоны видимости. Кроме того, заметно разрастание ехе-файлов, генерируемых Delphi.

1.2 Особенности СУБД MySQL

Мой выбор пал на MySQL так как, я считаю, что для обеспечения структоризации данных в базу данных данная СУБД подходит больше всего, по скольку, команды на языка SQL довольно просты и логичны и базы данных легко «привязать» к приложению Delphi.


MySQL — свободная система управления базами данных(СУБД). MySQL является собственностью компании Oracle Corporation, получившей её вместе с поглощённой Sun Microsystems, осуществляющей разработку и поддержку приложения. Распространяется под GNU General Public License или под собственной коммерческой лицензией. Помимо этого разработчики создают функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.
MySQL является решением для малых и средних приложений. Входит в состав серверов WAMP, AppServ, LAMP и в портативные сборки серверов Денвер, XAMPP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.
Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц.

Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.

Достоинства mysql:


  1. Многопоточность. Поддержка нескольких одновременных запросов.

  2. Оптимизация связей с присоединением многих данных за один проход.

  3. Записи фиксированной и переменной длины.

  4. ODBC драйвер в комплекте с исходником

  5. Гибкая система привилегий и паролей.

  6. До 16 ключей в таблице. Каждый ключ может иметь до 15 полей.

  7. Поддержка ключевых полей и специальных полей в операторе CREATE.
  8. Поддержка чисел длинной от 1 до 4 байт (ints, float, double, fixed), строк переменной длины и меток времени.


  9. Интерфейс с языками C и perl.

  10. Основанная на потоках, быстрая система памяти.

  11. Утилита проверки и ремонта таблицы

  12. Все данные хранятся в формате ISO8859_1.

  13. Все операции работы со строками не обращают внимания на регистр символов в обрабатываемых строках.

  14. Псевдонимы применимы как к таблицам, так и к отдельным колонкам в таблице.

  15. Все поля имеют значение по умолчанию. INSERT можно использовать на любом подмножестве полей.

  16. Легкость управления таблицей, включая добавление и удаление ключей и полей.

MySQL портирована на большое количество платформ:
AIX, BSDi, FreeBSD, HP-UX, GNU/Linux, Mac OS X, NetBSD, OpenBSD, OS/2 Warp, SGI IRIX, Solaris, SunOS, SCO OpenServer, SCO UnixWare, Tru64, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Server 2003, WinCE, Windows Vista и Windows 7.
Существует также порт MySQL к OpenVMS.
MySQL имеет API для языков Delphi, C, C++, Эйфель, Java, Лисп, Perl, PHP, Python, Ruby, Smalltalk и Tcl, библиотеки для языков платформы .NET, а также обеспечивает поддержку для ODBC посредством ODBC-драйвера MyODBC.

Заключение

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

Задачи, которые должна была решать информационная система:

1) Учёт поступающей продукции на склад.

2) Учёт передачи со склада на реализацию

3) Учёт реализации продукции потребителем в торговом зале

4) Учёт возврата товара на склад с реализацией или от потребителя

В ходе разработки информационной системы удалось достичь следующих результатов:
  1. Изучить привязку баз данных mysql server к файлу проекта Delphi 7;


  2. Повысить знания в создании баз данных mysql server;

  3. Повысить знания в работе с базами данных mysql в среде Delphi 7;

  4. Просматривать имеющиеся на складе товары;

  5. Просматривать имеющиеся в торговом зале товары;

  6. Просматривать количество проданных товаров;

  7. Просматривать количество возвращённых товаров;

  8. Получать дополнительную информацию в зависимости от выбора подразделения предприятия.

Поставленные задачи были достигнуты не полностью, в частности, из-за отсутствия триггеров, информационная система становится очень не стабильной в работе, из-за недостатчоного знания СУБД mysql sever и методов подключения баз данных, созданных в этой СУБД к файлу проекта delphi 7 часто происходят конфликты при переносе программы с одного компьютера на другой, так же, отчёты выдаются путём обычной sql-сортровки по одному критерию, что рано или поздно приведёт к разрастанию информационной системы, что сделает её абсолютно непригодной для работы.

Для дальнейшего развития данного программного продукта придётся решить следующие задачи:

1) Написать триггеры, предотвращающие пользовательские ошибки;

2) Расширить возможности сортировки;

3) Расширить функциональность программы в целом;

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

    2. Реализовать возможность выводить отчёты в элемент memo