Uploaded by krainovalina09

Kruglov Lev Kursovaya (1)

advertisement
ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ПРОФЕССИОНАЛЬНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ГОРОДА МОСКВЫ
«МОСКОВСКИЙ КОЛЛЕДЖ УПРАВЛЕНИЯ,
ГОСТИНИЧНОГО БИЗНЕСА И ИНФОРМАЦИОННЫХ
ТЕХНОЛОГИЙ «ЦАРИЦЫНО»
КУРСОВОЙ ПРОЕКТ
Разработка информационной системы управления закупками в магазин
электротехники
ПМ.03 УЧАСТИЕ В ИНТЕГРАЦИИ ПРОГРАММНЫХ МОДУЛЕЙ
09.02.03 ПРОГРАММИРОВАНИЕ В КОМПЬЮТЕРНЫХ СИСТЕМАХ
Студент:
____________
Круглов Лев Михайлович
( фамилия, имя, отчество)
(подпись)
«____» ___________ 2020 г.
Оценка выполнения и защиты курсовой работы
Руководитель:
_____________
(подпись)
«____» ___________ 2020 г.
Москва, 2020
____________
Воронина Светлана Юльевна
( фамилия, имя, отчество)
Согласовано
Утверждаю
На заседании кафедры
информационных технологий
Протокол № 4__
от «___»____________2020 г.
Заведующий кафедрой
___________ Е.И. Емелина
Руководитель
учебно-методического отдела
«____»____________2020 г.
__________ Т.Н. Михайлова
ТЕХНИЧЕСКОЕ ЗАДАНИЕ НА КУРСОВОЙ ПРОЕКТ
Круглов Лев Михайлович
(фамилия, имя, отчество)
студента группы П4-1
Тема курсового проекта: Разработка приложения для системы
Обработки заказов в аптеке
Срок сдачи: «7» декабря
Руководитель:
2020 г.
Воронина Светлана Юльевна
(фамилия, имя, отчество)
2
1. Исходные данные:
Приложение предназначено для обеспечения данными процессов
поступления, определения требуемых товаров и их реализации в системе
управления закупками магазина косметики.
Информационная система должна:
1) хранить данные о товарах в магазине;
2) хранить данные о поставщиках;
3) хранить данные об актуальных количествах закупленного, проданного
и оставшегося товара;
4) осуществлять удаление, добавление и редактирование товаров и
поставщиков;
5) осуществлять сортировку товаров по виду;
6) хранить данные о списанном товаре.
2. Содержание задания:
1) раздел обоснования выбора технологии и программных средств:
 Выбрать СУБД
 Выбор технологии доступа к данным
 Выбор среды разработки программного обеспечения для клиентов
 Выбор языка программирования
 Обоснование выбора
2) раздел проектирования базы данных:
– Определение множества сущностей
– Описание множества сущностей
– Полноатрибутная диаграмма
3) раздел описания клиентского приложения:
 Разработка алгоритма учёта товара
 Разработка алгоритма управления закупками
 Разработка алгоритма удаление, добавление и редактирование
товаров и поставщиков;
 Описание пользовательского интерфейса
4) раздел тестирования базы данных:
 Разработка тестов
 Вывод результатов тестирования
3. Отчетный материал:
1) пояснительная записка;
2) приложения: ER диаграммы, программный код;
3) мультимедиа презентация.
Дата составления технического задания:
«
Студент
________________________
Руководитель
________________________
3
» октября
2020г.
Содержание
Введение .................................................................................................................. 5
Раздел 1 Обоснование выбора технологии и программных средств .......... 6
1.1
Выбор СУБД .............................................................................................. 6
1.2 Выбор CASE-средств ................................................................................... 8
1.3 Выбор среды разработки .......................................................................... 10
1.4 Выбор программных средств .................................................................. 14
Раздел 2 Проектирование базы данных .......................................................... 15
2.1 Определение множества сущностей ....................................................... 15
2.2 Определение и описание множества сущностей .................................. 15
2.3 Примеры экземпляров сущностей ......................................................... 16
2.4 Матрица связей .......................................................................................... 17
2.5 Описание связей ......................................................................................... 17
2.6 Полно атрибутная диаграмма ................................................................. 18
Раздел 3 Раздел описание клиентского приложения ................................... 20
3.1
Обобщенная схема работы клиентского приложения .................... 20
3.2 Алгоритм работы клиентского приложения........................................ 23
Раздел 4 Тестирование базы данных ............................................................... 24
4.1 Образцы данных, добавляемые в базу данных .................................... 24
Заключение ........................................................................................................... 26
Список используемой литературы .................................................................. 27
Приложение 1 ....................................................................................................... 29
Окно регистрации ............................................................................................... 29
Окно каталога товаров ...................................................................................... 34
4
Введение
В настоящие время в связи с развитием компьютерной техники появилась
возможность автоматизировать многие процессы, с одной стороны. С другой
стороны, в связи со стремительным развитием телефонной сети и комплекса
предоставляемых услуг увеличился объем обрабатываемой информации. И
возникла объективная необходимость автоматизировать систему обработки
заказов медицинских масок. Учитывая ситуация в России и в мире, нужно
разработать эту систему для более удобного пользования сотрудникам аптек.
От корректности ведения документов учёта товара на складе зависят данные
о количестве закупленного, дефицитного и оставшегося товара, из этого
следует, что эти данные помогут выгодно осуществить закупку товара в
аптеку. Важно сделать процесс управления закупками и ведение учёта товара
более быстрым и точным, для того чтобы сотрудники могли выделить больше
рабочего времени на решение более важных задач для аптеки.
Целью курсового проекта является разработка информационной
системы для управления закупками в аптеке. Исходя из цели, в рамках
курсового проекта необходимо реализовать следующие задачи:
 Исследовать организацию системы управления в аптеке
 Разработать базу данных учёта товара
 Разработать алгоритм определения отсутствующих товаров
 Разработать алгоритм формирования документов для закупки
 Разработать алгоритм авторизации
 Разработать алгоритм сортировки товаров
 Разработать пользовательский интерфейс программы
 Реализовать работу программы с базой данных
 Разработать тесты
5
Раздел 1 Обоснование выбора технологии и программных средств
1.1 Выбор СУБД
СУБД – комплекс программ, позволяющих создать базу данных (БД) и
манипулировать данными (вставлять, обновлять, удалять и выбирать).
Система обеспечивает безопасность, надёжность хранения и целостность
данных, а также предоставляет средства для администрирования БД.
1)
MySQL — свободная реляционная система управления базами
данных. MySQL является решением для малых и средних приложений. Входит
в состав серверов WAMP, AppServ, LAMP и в портативные сборки серверов
Денвер, XAMPP, VertrigoServ. Обычно MySQL используется в качестве
сервера, к которому обращаются локальные или удалённые клиенты, однако в
дистрибутив входит библиотека внутреннего сервера, позволяющая включать
MySQL в автономные программы.
Гибкость
СУБД
MySQL
обеспечивается
поддержкой
большого
количества типов таблиц: пользователи могут выбрать как таблицы типа
MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB,
поддерживающие транзакции на уровне отдельных записей. Более того, СУБД
MySQL
поставляется
со
специальным
типом
таблиц
EXAMPLE,
демонстрирующим принципы создания новых типов таблиц. Благодаря
открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно
появляются новые типы таблиц.
Преимущества:
– Одна из самых быстрых баз данных;
– Высокопроизводительная база данных;
– Предназначена для работы в сети, может быть доступна через
Интернет.
Недостатки:
–
Отсутствие возможности использования вложенных выборок,
транзакций, ссылочной целостности;
6
2)
MongoDB - бесплатная СУБД, поддерживающая несколько языков
программирования.
Преимущества:
–
Поддержка json (текстового формата обмена данных на
JavaScript);
–
Данные любой структуры могут быть сохранены/прочитаны
быстро и легко;
–
Скорость и простота в использовании.
Недостатки:
–
Программа установки может занять много времени;
–
Инструменты для перевода SQL-запросов в MongoDB доступны,
но их следует рассматривать именно как дополнение.
3)
SQL Server Management Studio (SSMS) - утилита из Microsoft SQL
Server 2005 и более поздних версий для конфигурирования, управления и
администрирования всех компонентов Microsoft SQL Server. Утилита
включает скриптовый редактор и графическую программу, которая работает с
объектами и настройками сервера. Среда SQL Server Management Studio –
это графический набор средств, для разработки сценариев на T-SQL и
управления всеми компонентами SQL Server. Management Studio является
основным инструментом любого разработчика или администратора MS SQL
сервера. Я выбрал SSMS исходя из его возможностей:
–
Подключение к любому компоненту SQL Server.
–
Встроенный обозреватель объектов, позволяющий просматривать
все объекты сервера и предоставляющий графический интерфейс для
управления этими объектами.
–
Создание и редактирование сценариев, где пишутся все SQL
инструкции.
–
Встроенный функционал для упрощения оптимизации запросов в
Management Studio, который позволяет посмотреть план выполнения запросов.
7
–
Встроенный обозреватель решений, с помощью которого можно
сгруппировать все свои сценарии или скрипты в проект, с целью их
систематизации, удобного хранения и доступа к ним.
–
Встроенный
обозреватель
шаблонов, предназначенные
для
облегчения написания сценариев создания или модификации объектов базы
данных.
–
Монитор активности, позволяющий контролировать текущую
активность на сервере.
–
Создание резервных копий баз данных и восстановление из
backup.
–
Настройка свойств сервера, баз данных и других объектов.
–
Присоединение и отсоединение базы данных.
–
Управление безопасностью сервера.
–
Создание связанных серверов.
–
Настройка репликации баз данных.
–
Выполнение административных задач.
1.2 Выбор CASE-средств
CASE средства (Computer - Aided Software Engineering) – это
инструмент, который позволяет автоматизировать процесс разработки
информационной системы и программного обеспечения. Основной целью
применения CASE-средств является сокращение времени и затрат на
разработку информационных систем, и повышение их качества. Многие
современные CASE-средства предоставляют возможности для моделирования
практически всех предметных областей деятельности организаций. В составе
этих средств существуют инструменты для описания моделей бизнеспроцессов за счет различных диаграмм, схем, графов и таблиц. Выбор CASEсредств для анализа и моделирования процессов зависит от многих факторов
8
– финансовых возможностей, функциональных характеристик, подготовки
персонала, применяемых информационно-технических средств и пр.
Лично я выбрал CASE-средства нижнего уровня, так как эти средства
больше сфокусированы на последних этапах разработки информационной
системы – проектирование, разработка программного кода, тестирование и
внедрение. CASE-средства нижнего уровня зависят от данных, которые
предоставляют средства верхнего уровня. Они используются разработчиками
приложений и помогают создать информационную систему, однако не
являются
полноценными
инструментами
разработки
программного
обеспечения.
Характеристики CASE-средств:
1) Наличие графического интерфейса. Для представления моделей
процессов CASE-средства должны обладать возможностью отображать
процессы в виде схем. Схемы много проще в использовании, чем различные
текстовые и числовые описания. Это позволяет получать легко управляемые
компоненты модели, обладающие простой и ясной структурой.
2) Наличие репозитория. Репозиторий это общая база данных, которая
содержит описание элементов процессов и отношений между ними. Каждый
объект репозитария должен обладать перечнем свойств, характерных только
для этого объекта.
3) Гибкость
применения.
Эта
характеристика
дает
возможность
представлять бизнес-процессы в различных вариантах, важных с точки зрения
анализа. CASE-средства должны позволять проводить анализ процессов и
создавать модели, сфокусированные на различных аспектах деятельности
предприятия.
4) Возможность коллективной работы. Анализ и моделирование
процессов может требовать совместной работы нескольких человек. Для
одновременной работы над моделями процессов CASE-средства должны
обеспечивать управление изменениями любыми фрагментами моделей и их
модификацией при коллективном доступе.
9
5) Построение прототипов. Прототипы процессов необходимы для того,
чтобы на ранних стадиях изменения процессов можно было понять, насколько
процесс будет соответствовать требованиям.
6) Построение
отчетов.
CASE-средства
должны
обеспечивать
построение отчетов по всем моделям процессов с учетом взаимосвязи
элементов. Такие отчеты необходимы для анализа моделей и определения
возможностей по оптимизации. За счет отчетов обеспечивается контроль
полноты и достаточности моделей, уровень декомпозиции процессов,
правильность синтаксиса диаграмм и типов применяемых элементов.
1.3 Выбор среды разработки
Microsoft Visual Studio - линейка продуктов компании Майкрософт,
включающих интегрированную среду разработки программного обеспечения
и ряд других инструментальных средств. Данные продукты позволяют
разрабатывать как консольные приложения, так и приложения с графическим
интерфейсом, в том числе с поддержкой технологии Windows Forms, а также
веб-сайты, веб-приложения, веб-службы.
Visual Studio включает в себя редактор исходного кода, отладчик
исходного кода, отладчик машинного уровня. Остальные встраиваемые
инструменты включают в себя редактор форм для упрощения создания
графического интерфейса приложения, веб-редактор, дизайнер классов и
дизайнер схемы базы данных.
Visual Studio является одним из лидирующих продуктов на рынке
программных средств, поэтому я выбрал именно эту среду разработки.
Достоинства:
– Поддерживает платформы .NET.
– Облачные хранилища.
– Корпоративность. Технология бэклога позволяет членам команды
взаимодействовать при гибкой методологии разработки.
10
– Функциональная. В Visual Studio множество качественных плагинов. С
их помощью можно расширить функциональность приложения и
подключить другие языки.
– Имеется бесплатная версия
Недостатки:
– Баги при переходах с триал-версии
Сложность. Самостоятельно освоить Visual Studio новичку будет
непросто — слишком много доступных функций, спрятанных в подразделах
меню.
Eclipse — свободная интегрированная среда разработки модульных
кроссплатформенных приложений. Развивается и поддерживается Eclipse
Foundation. Наиболее известные приложения на основе Eclipse Platform —
различные «Eclipse IDE» для разработки ПО на множестве языков (например,
наиболее популярный «Java IDE», поддерживавшийся изначально, не
полагается на какие-либо закрытые расширения, использует стандартный
открытый API для доступа к Eclipse Platform).
Достоинства:
– Множество плагинов. У Eclipse едва ли не самое большое число
надстроек — «на все случаи жизни».
– Отличные компилятор и отладчик. Первый работает на порядок быстрее,
чем у конкурентов, второй — показывает потоки, пересечения,
позволяет гибко управлять ходом отладки.
– Кастомизация. Благодаря плагинам и настройкам можно полностью
персонализировать Eclipse.
– Свободное распространение
– Высокая функциональность. Благодаря разработчикам-официалам и
членам сообщества с помощью Eclipse можно провести любой C#продукт по полному циклу разработки.
Недостатки:
11
– Сложность. Как и любой функциональный продукт, Eclipse может
показаться новичку слишком сложным.
– Нет гарантий надежности. Так как плагины создаются сообществом, за
их качество отвечает только разработчик. Кроме того, сами создатели
Eclipse с каждой новой версией плодят баги, не успевая порой
исправлять старые.
Project Rider - кроссплатформенная интегрированная среда разработки
программного обеспечения для платформы .NET, разрабатываемая компанией
JetBrains. Поддерживаются языки программирования C#, VB.NET и F#. Среда
поддерживает платформы .NET Framework, .NET Core и Mono. Работает на
операционных системах Windows, MacOS, Linux.
Достоинства:
– Функциональность. Project Rider позволяет подключить MSBuild и
XBuild, работать с CLI-проектами и организовать отладку приложений
.NET and Mono. Множество опций для быстрого создания кода улучшает
производительность.
– Кроссплатформенность. Project Rider работает с Windows, Linux и
MacOS.
– Контроль версий. Встроенный инструмент позволяет напрямую
организовать работу с Git, Mercurial и TFS.
– Поддержка полного цикла. Фирменная черта продуктов JetBrains,
воплощенная и в Project Rider. С ним вы сможете организовать весь цикл
создания ПО: от идеи до поддержки.
– ReSharper. Это плагин, изначально разработанный для повышения
производительности Visual Studio. Теперь на его основе выпущена IDE.
Недостатки:
– Часть функциональности еще в разработке, не все стартовые баги
исправлены.
– Нет свободно распространяемой версии
Для выполнения курсового проекта в качестве IDE была выбрана
12
Microsoft Visual Studio, а именно язык программирования C#. Данная среда
имеет весь необходимый функционал для создания тестового клиентского
приложения.
В C# входит много полезных особенностей - простота, объектная
ориентированность, типовая защищенность, "сборка мусора", поддержка
совместимости версий и многое другое. Данные возможности позволяют
быстро и легко разрабатывать приложения, особенно COM+ приложения и
Web-сервисы.
В C# была унифицирована система типов, теперь вы можете
рассматривать каждый тип как объект. Несмотря на то, используете вы класс,
структуру, массив или встроенный тип, вы можете обращаться к нему как к
объекту. Объекты собраны в пространства имен (namespaces), которые
позволяют программно обращаться к чему-либо. Это значит что вместо списка
включаемых файлов заголовков в своей программе вы должны написать какие
пространства имен, для доступа к объектам и классам внутри них, вы хотите
использовать. В C# выражение using позволяет вам не писать каждый раз
название пространства имен, когда вы используете класс из него. Например,
пространство имен System содержит несколько классов, в том числе и Console.
И вы можете писать либо название пространства имен перед каждым
обращением к классу, либо использовать using как это было показано в
примере выше.
Важной и отличительной от С++ особенностью C# является его
простота. К примеру, всегда ли вы помните, когда пишите на С++, где нужно
использовать "->", где "::", а где "."? Даже если нет, то компилятор всегда
поправляет вас в случае ошибки. Это говорит лишь о том, что в
действительности можно обойтись только одним оператором, а компилятор
сам будет распознавать его значение. Так в C#, оператор"->" используется
очень ограничено (в unsafe блоках, о которых речь пойдет ниже), оператор "::"
13
вообще не существует. Практически всегда вы используете только оператор
"." и вам больше не нужно стоять перед выбором.
Еще один пример. При написании программ на C/С++ вам приходилось
думать не только о типах данных, но и о их размере в конкретной реализации.
В C# все упрощено - теперь символ Unicode называется просто char (а не
wchar_t, как в С++) и 64-битное целое теперь - long (а не __int64). Также в C#
нет знаковых и беззнаковых символьных типов.
В C#, также, как и в Visual Basic после каждого выражения case в блоке
switch подразумевается break. И более не будет происходить странных вещей
если вы забыли поставить этот break.
1.4 Выбор программных средств
Toad Data Modeler - это инструмент проектирования баз данных,
позволяющий
пользователям
визуально
создавать,
обслуживать
и
документировать новые или существующие системы баз данных, а также
развертывать изменения в структурах данных на разных платформах. Он
используется для построения логических и физических моделей данных,
сравнения и синхронизации моделей, создания сложных SQL/DDL, создания
и изменения скриптов, а также обратных и прямых инженерных баз данных и
систем хранилища данных. Программное обеспечение для моделирования
данных
Toad
используется
для
проектирования,
обслуживания
документации баз данных.
Преимущества:
–
Разработка более чем 20 баз данных.
–
Создание скриптов SQL.
–
Реверс-инжиниринг баз данных.
–
Создание подробной HTML и RTF документации.
–
Построение диаграмм потоков данных.
–
Экспорт в XML.
14
и
Раздел 2 Проектирование базы данных
2.1 Определение множества сущностей
Любой фрагмент предметной области может быть представлен как
множество сущностей, между которыми существует некоторое множество
связей.
Сущность (entity) – это реальный или представляемый тип объекта,
информация о котором должна сохраняться и быть доступна. В диаграммах
сущность представляется в виде прямоугольника, содержащего имя сущности.
При этом имя сущности – это имя типа, а не некоторого конкретного
экземпляра этого типа.
В соответствии с описанием предметной области можно выделить
следующие множество сущностей:
1)
Регистрация
2)
Каталог товаров
3)
Клиенты
2.2 Определение и описание множества сущностей
Любая сущность должна быть понятно, четко и полностью описана и
определена. Описание сущности должно объяснять смысл сущности и её
назначение.
15
Е3
Описание
Регистрация
запись,
фиксация фактов или
явлений с целью
учёта и придания им
статуса ; внесение в
список, в книгу учёта
новый экземпляр
сущности,
появляется после
создания
приложения для
аптеки
Клиенты
Люди,
заинтересованные
товарами аптеки
новый экземпляр
сущности,
появляется после
открытия аптеки
Каталог_товаров
Составленный в
определённом
порядке перечень
однородных
предметов
новый экземпляр
сущности, после
открытия аптеки и
первой поставки
2.3 Примеры экземпляров сущностей
Регистрация
Клиенты
Каталог_товаров
Е2
Определение
Клиенты
Е1
Имя
Регистрация
№
R1
х
Каталог_товаров
R2
х
16
2.4 Матрица связей
Дочерн Им
Родительск
Им
яя
я
ая
я
сущнос связ
сущность
ть
и
Тип связи
Мощно
сть
Определённая
неидентифициру
ющая
обязательная
R1
Регистрация
клиент
ы
Р
1
Определённая
неидентифициру
ющая
обязательная
R2
Каталог_тов
аров
клиент
ы
Р
2
2.5 Описание связей
17
Описани
е
одна
регистрац
ия- много
клиентов,
один
клиент одна
регистрац
ия
один
каталог
товаров много
клиентов,
один
клиент один
каталог
товаров
2.6 Полно атрибутная диаграмма
Полно атрибутная модель содержит в себе описание всех сущностей,
связей, атрибутов, выявленных при анализе предметной области. Данная
модель может быть использована для внутреннего построения базы данных
реляционного
типа.
Графическое
представление
представлено на рисунке 2.1.
18
данной
диаграммы
Рисунок 2.1 Полно атрибутная диаграмма
19
Раздел 3 Раздел описание клиентского приложения
3.1 Обобщенная схема работы клиентского приложения
Схема работы приложения проста в использовании и понимании для
обычного пользователя. Суть работы данного приложения в том, что
пользователь регистрируется или входит в свою учетную запись, после чего
ему будет предложен каталог товаров, где он выбирает товар и заказывает его.
Рисунок 3.1.1 Окно регистрации, регистрируем нового
пользователя
20
Рисунок 3.1.2 Выбор кнопки «Вход», вводим данные
Рисунок 3.1.3 Вывод информации о товарах, выберем товар под ID3? Выбор
кнопки «Заказать»
21
Рисунок 3.1.4 Вывод об успешном заказе
Рисунок 3.1.5 данные добавились в таблицу
22
3.2 Алгоритм работы клиентского приложения
Для работы тестового приложения был разработан код и алгоритм
классификации космических объектов. Код программы представлен в
приложении №1. Блок схема данного алгоритма представлена на рисунке 3.2.
Рисунок 3.2 Алгоритм работы приложения
23
Раздел 4 Тестирование базы данных
4.1 Образцы данных, добавляемые в базу данных
Для тестирования созданной мной базы данных она была заполнена
тестовыми данными. Тестовые данные представлены ниже на рисунках 4.1.1,
4.1.2, 4.1.3, 4.1.4
Рисунок 4.1.1 Тестовые данные, в сущности, «Регистрация»
Рисунок 4.1.2 Тестовые данные, в сущности, «Клиенты»
24
Рисунок 4.1.3 Тестовые данные, в сущности, “Каталог_товаров”
25
Заключение
В результате курсового проекта была создана база данных которую
можно использовать в качестве основы клиентского приложения для системы
разработки базы данных для приложения-конструктора аптек, которая может
обеспечивать всеми необходимыми данными клиентов о товаре и владельцев
о клиентах. Данная автоматизированная система может хранить данные обо
всех клиентах аптеки, даже если они ничего не заказали, товар и цены на него.
База данных полностью удовлетворяет всем требованиям предметной
области, таблицы, созданные в Базе данных, отвечают всем требованиям
нормализации, что позволяет обеспечить целостность данных. При внедрении
базы данных будет ускорен процесс покупки товаров, которые существуют в
базе данных. Выделенные ранее процессы обычно занимают достаточно
большой промежуток времени, но после внедрения этой базы данных это
время будет сокращено.
Интегрированной средой разработки MS Visual Studio был создан
удобный и информативный интерфейс. Приложение позволяет решить все
задачи, поставленные в курсовом проекте.
26
Список используемой литературы
– Сравнение
современных
СУБД
[электронный
ресурс]
http://drach.pro/blog/hi-tech/item/145
– Toad Data Modeler - средство проектирования баз данных и приложений
[электронный
ресурс]
http://pro-spo.ru/winprog/765-questr-toad-data-
modeler
– MySQL:
особенности
и
сферы
применения
[электронный
ресурс]https://www.bytemag.ru/articles/detail.php?ID=6547
– Основные
преимущества
СУБД
MySQL
[электронный
ресурс]https://studopedia.su/4_4741_osnovnie-preimushchestva-subdMySQL.html
– СУБД
MySQL
[электронный
ресурс]
https://www.methodlab.ru/technology/mysql.shtml
– SQLite vs MySQL vs PostgreSQL: сравнение систем управления базами
данных [электронный ресурс] https://devacademy.ru/article/sqlite-vsmysql-vs-postgresql/
– Базы данных: Microsoft SQL Server и Visual FoxPro - плюсы и минусы
[электронный
ресурс] https://softclipper.net/foxpro-i-sql/sravnenie-baz-
dannykh-microsoft-sql-server-i-microsoft-visual-foxpro.html
– Лучшие
IDE
для
разработки
на
C#
[электронный
ресурс]
https://geekbrains.ru/posts/c_sharp_ides
– Rider[электронный ресурс]https://ru.wikipedia.org/wiki/Rider
– Основные
понятия
баз
данных
[электронный
ресурс]
[электронный
ресурс]
http://inf.susu.ac.ru/Klinachev/lc_sga_26.htm
– Типы
связей
в
базе
данных
http://fkn.ktu10.com/?q=node/9981ー
CASE [электронный ресурс]
https://ru.wikipedia.org/wiki/CASE
– Toad Data Modeller[электронный ресурс] https://shurshun.ru/toad-datamodeler/
27
– Toad Data Modeller[электронный ресурс] http://www.itshop.ru/QuestSoftware-Toad-Data-Modeler/l4t1i71160
– https://metanit.com/ - помощь в программировании
– Мюллер Д.П. С# для чайников
– C# 7 и .NET Core. Кросс-платформенная разработка для профессионалов
28
Приложение 1
Окно регистрации
namespace DbApp
{
partial class Form1
{
/// <summary>
/// Обязательная переменная конструктора.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Освободить все используемые ресурсы.
/// </summary>
/// <param name="disposing">истинно, если управляемый ресурс должен
быть удален; иначе ложно.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Код, автоматически созданный конструктором форм Windows
/// <summary>
29
/// Требуемый метод для поддержки конструктора — не изменяйте
/// содержимое этого метода с помощью редактора кода.
/// </summary>
private void InitializeComponent()
{
this.button1 = new System.Windows.Forms.Button();
this.textBox1 = new System.Windows.Forms.TextBox();
this.textBox2 = new System.Windows.Forms.TextBox();
this.textBox3 = new System.Windows.Forms.TextBox();
this.textBox4 = new System.Windows.Forms.TextBox();
this.textBox5 = new System.Windows.Forms.TextBox();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(70, 142);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(100, 23);
this.button1.TabIndex = 0;
this.button1.Text = "button1";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(70, 12);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(100, 20);
this.textBox1.TabIndex = 1;
//
30
// textBox2
//
this.textBox2.Location = new System.Drawing.Point(70, 38);
this.textBox2.Name = "textBox2";
this.textBox2.Size = new System.Drawing.Size(100, 20);
this.textBox2.TabIndex = 2;
//
// textBox3
//
this.textBox3.Location = new System.Drawing.Point(70, 64);
this.textBox3.Name = "textBox3";
this.textBox3.Size = new System.Drawing.Size(100, 20);
this.textBox3.TabIndex = 2;
//
// textBox4
//
this.textBox4.Location = new System.Drawing.Point(70, 90);
this.textBox4.Name = "textBox4";
this.textBox4.Size = new System.Drawing.Size(100, 20);
this.textBox4.TabIndex = 2;
//
// textBox5
//
this.textBox5.Location = new System.Drawing.Point(70, 116);
this.textBox5.Name = "textBox5";
this.textBox5.Size = new System.Drawing.Size(100, 20);
this.textBox5.TabIndex = 2;
//
// Form1
//
31
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(240, 194);
this.Controls.Add(this.textBox5);
this.Controls.Add(this.textBox4);
this.Controls.Add(this.textBox3);
this.Controls.Add(this.textBox2);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.button1);
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button button1;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.TextBox textBox2;
private System.Windows.Forms.TextBox textBox3;
private System.Windows.Forms.TextBox textBox4;
private System.Windows.Forms.TextBox textBox5;
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
32
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net.Mail;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace DbApp
{
public partial class Form1 : Form
{
OrdersDB context = new OrdersDB();
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Registration user = new Registration()
{
Name = textBox1.Text,
FamilyName = textBox2.Text,
Mail = textBox3.Text,
Login = textBox4.Text,
Password = textBox5.Text
};
context.Registration.Add(user);
33
context.SaveChanges();
Form2 form2 = new Form2();
form2.Show();
}
}
}
Окно каталога товаров
namespace DbApp
{
partial class Form2
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed;
otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
34
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.button1 = new System.Windows.Forms.Button();
this.textBox1 = new System.Windows.Forms.TextBox();
this.textBox2 = new System.Windows.Forms.TextBox();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(132, 64);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(100, 23);
this.button1.TabIndex = 0;
this.button1.Text = "button1";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(132, 12);
35
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(100, 20);
this.textBox1.TabIndex = 1;
//
// textBox2
//
this.textBox2.Location = new System.Drawing.Point(132, 38);
this.textBox2.Name = "textBox2";
this.textBox2.Size = new System.Drawing.Size(100, 20);
this.textBox2.TabIndex = 2;
//
// Form2
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(385, 450);
this.Controls.Add(this.textBox2);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.button1);
this.Name = "Form2";
this.Text = "Form2";
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button button1;
private System.Windows.Forms.TextBox textBox1;
36
private System.Windows.Forms.TextBox textBox2;
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace DbApp
{
public partial class Form2 : Form
{
OrdersDB context = new OrdersDB();
public Form2()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
TovarCatalog tovar = new TovarCatalog()
{
Name = textBox1.Text,
37
Cost = textBox2.Text
};
context.TovarCatalog.Add(tovar);
context.SaveChanges();
}
}
}
38
Download