Информационная система швейного предприятия

Автор работы: Пользователь скрыл имя, 06 Декабря 2012 в 13:51, курсовая работа

Описание

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

Содержание

Введение 9
1 Нормативные ссылки 11
2 Термины и определения 13
3 Сокращения 15
4 Спецификация требований к программному обеспечению 16
4.1 Введение 16
4.1.1 Цель 16
4.1.2 Область применения 16
4.1.3 Определения, термины и сокращения 17
4.1.4 Ссылки 17
4.2 Общее описание 17
4.2.1 Перспективы продукта 17
4.2.2 Функции продукта 18
4.2.3 Пользовательские характеристики 18
4.2.4 Ограничения 19
4.2.5 Предложения и зависимости 19
4.2.6 Распределение требований 19
4.3 Детальные требования 20
4.3.1 Требования к производительности 20
4.3.2 Логические требования к базе данных 20
4.3.3 Ограничения проектирования 20
4.3.4 Требование к архитектуре 20
4.3.5 Атрибуты программной системы 21
5 Исследовательская работа 23
5.1 Введение 23
5.2 Алгоритм процесса работы предприятия 23
6 Проектирование архитектуры задачи 24
6.1 Введение 24
6.1.1 Цель 24
6.1.2 Описание проекта 24
6.1.3 Определение, сокращения и термины 24
6.2 Ссылки 24
6.3 Описание декомпозиции 25
6.4 Модульная декомпозиция 25
6.5 Описание интерфейса процессов 26
6.6 Детальное проектирование 27
7 Технологии и качество проектирования 35
7.1 Описание среды разработки 35
7.2 Описание СУБД 36
8 Сборка проекта 38
8.1 Введение 38
8.2 Создание базиса интеграции 38
8.2.1 Интеграционная сборка 1 39
8.2.2 Интеграционная сборка 2 39
8.2.3 Интеграционная сборка 3 40
9 Тестирование 41
9.1 Тестирование автоматизированной системы 42
10 Руководство пользователя 43
Заключение 52
Список использованных источников 54

Работа состоит из  1 файл

Швейная_фабрика.docx

— 1.10 Мб (Скачать документ)

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

Рисунок 9.1 – Типы тестов

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

Тестирование «серого ящика» рассматривает  внутреннюю работу программы или  модуля, но только до некоторой степени. Сюда могут быть также отнесены и  некоторые аспекты тестирования «черного ящика».

9.1 Тестирование автоматизированной системы

Результаты  тестирования представлены в таблице 9.1

    Т а б л и ц а 9.1 – Результаты тестирования

Описание теста

Модуль

Результат

1

2

3

Запрет на ввод недопустимых значений

Main.cs

Тест пройден

Проверка возможности редактирования

Main.cs

Тест пройден

Запрет на выбор несуществующей таблицы

Connection.cs

Тест пройден





10 Руководство пользователя

Для работы с информационной системой необходимо запустить приложение «Fabrika.exe». При загрузке приложения пользователю необходимо авторизоваться для дальнейшего использования. Авторизация реализована с последующим ограничением доступа: Admin : 11111 – имеет полноправный доступ ко всем пунктам меню; Work : 12345 – имеет ограниченный доступ; Guest : 22222 – не имеет доступа к любому пункту. На рисунке 10.1 представлено стартовое состояние программы «Информационная система швейного предприятия».

Рисунок 10.1 – Начало работы

Самый главный механизм на швейном  предприятии это цех. В цехе работают сотрудники на установленном оборудовании. Чтобы проще было вести учет кадров и годного для работы оборудования, в информационной системе предусмотрены пункты о сотрудниках и оборудовании. В отделе кадров есть список всех работников предприятия. При принятии на работу нового сотрудника, его добавляют в базу данных отдела кадров, и у него появляется «Табельный номер». Если у сотрудника изменилась должность, или его перевели в другой цех, то информацию о нем можно изменить. Но, а если сотрудник, по каким-либо причинам не справляется с возложенной на него работой, его увольняют и удаляют из списка отдела кадров (рис.10.2).

Рисунок 10.2 – Сотрудники швейного предприятия

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

Рисунок 10.3 – Оборудование швейного предприятия

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

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

 Рисунок 10.4 – Перечень материалов

 

В разделе «Виды продукции» предоставлен перечень товаров, готовых к продаже, а так же их количество на складе. Если появился новый вид товара, его можно добавить в перечень. А бывает, что предприятие решает не производить больше определенный вид товара, тогда его нужно  удалить из перечня. Так же реализована  система поиска по аналогии с «Перечнем  материалов» (рис. 10.5).

Рисунок 10.5 – Виды продукции

 

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

В поставке материалов новая накладная создается путем её детализации – для этого нужно выбрать поставщика, указать дату приема поставки и нажать кнопку «Детализация». В списке появится новая накладная, и выделив её, можно заполнять какой материал поставили, какое его количество и цена за штуку. Программа автоматически посчитает общую стоимость поставки и в складе увеличится количество поставленного материала (рис. 10.6).

Рисунок 10.6 – Поставка материалов

 

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

Рисунок 10.7 – Расход материалов в цех

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

Рисунок 10.8 – Приход готовой продукции из цеха

При продаже продукции заказчикам, накладная составляется следующим  образом: выбирается покупатель, устанавливается  дата составления, и вызывается детализация. После создания новой накладной, следует выделить её и заполнить поля, такие как сама продукция, количество её продажи и цена за штуку. Приложение автоматически посчитает общую сумму прибыли предприятию от продаж и на складе уменьшится количество продаваемого товара(рис.10.9).

Рисунок 10.9 – Продажа продукции

Заключение

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

1.Разработанная система автоматизирует  и упрощает работу швейного предприятия.

2. Так же при создании ИС  были исследованы условия труда инженера-программиста на его рабочем месте на предприятии (в лаборатории по разработке ПО) и сделаны конкретные предложения по их улучшению.

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Список  использованных источников

  1. Малыхина М.П. Базы данных: основы, проектирование, использование, 3-е изд. перераб. и доп. – СПб.: БХВ-Петербург, 2007. – 528 с.
  2. Гандерлой М., Джорден Д., Дейвид Ч. Освоение Microsoft SQL Server 2008.: Пер. с англ. ООО “И.Д. Вильямc”, 2008. – 1104 с.
  3. Ватсон К. C#. : Пер. с англ. Изд. “Лори”, 2005. – 862 с.
  4. Харинатх С., Куинн С. SQL Server Analysis Services 2008.: Пер. с англ. Изд. Wrox, 2008. – 844 с.
  5. Троелсен Э. Язык программирования С# 2008 и платформа .NET 3.5, 4-е изд.: Пер. с англ. ООО "И.Д. Вильямc", 2010. – 1344 с.
  6. Coles M. Pro T-SQL 2008 Programmer’s Guide. : Изд. Apress, 2008. – 688 c.
  7. Миклашевская Л.Н., Цуприков А.А. Оценка экономической эффективности программного изделия. Методические указания по дипломному проектированию для студентов специальности 22.04. – Кр.: КубГТУ, 1999. – 30 с.
  8. Миклашевская Л.Н. Технология создания ПО. Курс лекций. – Кр.: Кубанский государственный технологический университет, 1994. – 59 с.
  1. Кватрани Т. Rational Rose 2000 и UML. Визуальное моделирование: Пер. с англ.: ДМК Пресс, 2001.-176с.

 

 

 

 

 

 

 

 

 

 

Приложение

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

Часть программы, отвечающая за соединение с базой данных:

class DB

    {

        //строка соединения

        string connectionString = @"Data Source=SHELTY-1BE496AE\SHELTY;AttachDbFilename= @"Data Source=SHELTY-1BE496AE\SHELTY;AttachDbFilename=H:\Bakalavr_Chernykh\Fabrika\fabrika.mdf;Integrated Security=True";

        public int GetForm_Access(int ID_User, int ID_form )

        {

            int allForm_Access = 0;

            using (SqlConnection con = new SqlConnection(connectionString))

            {

                SqlCommand com = new SqlCommand("SELECT Count(*) FROM Users, Form_access WHERE Users.ID_user = Form_access.ID_user and Users.ID_user = @ID_user and ID_form = @ID_form", con);

                con.Open();

                com.Parameters.Add("@ID_User", SqlDbType.Int, 4);

                com.Parameters["@ID_User"].Value = ID_User;

                com.Parameters.Add("@ID_form", SqlDbType.Int, 4);

                com.Parameters["@ID_form"].Value = ID_form;

 

                allForm_Access = (int)com.ExecuteScalar();

                con.Dispose();

            }

            return allForm_Access;

        }

 

        public int GetUser_Access(string IDUser, string Passw)

        {

            int allUser_Access = 0;

            int ID_User = int.Parse(IDUser);

            using (SqlConnection con = new SqlConnection(connectionString))

            {

                SqlCommand com = new SqlCommand("SELECT ID_User FROM Users WHERE  Users.ID_user = @ID_user and Passw = @Passw", con);

                con.Open();

                com.Parameters.Add("@ID_User", SqlDbType.Int, 4);

                com.Parameters["@ID_User"].Value = ID_User;

                com.Parameters.Add("@Passw", SqlDbType.NVarChar, 20);

                com.Parameters["@Passw"].Value = Passw;

                con.Dispose();

               

            }

            return allUser_Access;

        }

public ArrayList GetAllPost()

        {

            ArrayList allPost = new ArrayList();

            using (SqlConnection con = new SqlConnection(connectionString))

            {

                SqlCommand com = new SqlCommand("SELECT ID_поставки, Имя_поставщика, Дата_поставки, Сумма_поставки FROM Поставка, Поставщик WHERE Поставка.ID_поставщика=Поставщик.ID_поставщика  ORDER BY Дата_поставки", con);

                con.Open();

                SqlDataReader dr = com.ExecuteReader();

 

                if (dr.HasRows)

                    foreach (DbDataRecord result in dr)

                        allPost.Add(result);

                con.Dispose();

            }

            return allPost;

 

        }

        public ArrayList GetAllPostavsh()

        {

            ArrayList allPostavsh = new ArrayList();

            using (SqlConnection con = new SqlConnection(connectionString))

            {

                con.Open();

                SqlCommand com = new SqlCommand("SELECT [ID_поставщика], [Имя_поставщика], [Адрес], [Телефон] FROM  Поставщик", con);

                SqlDataReader dr = com.ExecuteReader();

                if (dr.HasRows)

                    foreach (DbDataRecord result in dr)

                        allPostavsh.Add(result);

                con.Dispose();

            }

            return allPostavsh;

        }

 

        public ArrayList GetAllMaterial()

        {

            ArrayList allMater = new ArrayList();

            using (SqlConnection con = new SqlConnection(connectionString))

            {

                con.Open();

                SqlCommand com = new SqlCommand("SELECT ID_материала, Наименование_материала, Количество_материала FROM  Материалы", con);

                SqlDataReader dr = com.ExecuteReader();

                if (dr.HasRows)

                    foreach (DbDataRecord result in dr)

                        allMater.Add(result);

                con.Dispose();

            }

            return allMater;

        }

 

        public ArrayList GetAllDetal_Post(string ID_postav)

        {

            int ID_post = int.Parse(ID_postav);

            ArrayList allDetal_Post = new ArrayList();

            using (SqlConnection con = new SqlConnection(connectionString))

            {

 

                SqlCommand com = new SqlCommand("SELECT ID_поставки, Детализация_поставки.ID_материала, Наименование_материала, Детализация_поставки.Количество_материала, Цена_за_штуку FROM Детализация_поставки, Материалы WHERE Детализация_поставки.ID_материала=Материалы.ID_материала and ID_поставки=@ID_post ORDER BY Наименование_материала", con);

                con.Open();

                com.Parameters.Add("@ID_post", SqlDbType.Int, 4);

                com.Parameters["@ID_post"].Value = ID_post;

                SqlDataReader dr = com.ExecuteReader();

 

                if (dr.HasRows)

                    foreach (DbDataRecord result in dr)

                        allDetal_Post.Add(result);

                con.Dispose();

            }

            return allDetal_Post;

 

        }

 

        public bool SaveNewMaterial(string Name)

        {

            string NameMater = Name;

 

            string query = string.Format(" INSERT INTO Материалы " +

            "( Наименование_материала)" +

            " VALUES (@NameMater)");

 

 

            using (SqlConnection con = new SqlConnection(connectionString))

            {

                SqlCommand com = con.CreateCommand();

                com.CommandText = query;

                com.Parameters.Add("@NameMater", SqlDbType.NVarChar, 50);

                com.Parameters["@NameMater"].Value = NameMater;

                try

                {

                    con.Open();

                    if (com.ExecuteNonQuery() == 1)

                        flagResult = true;

                }

                catch

                {

 

                }

                con.Dispose();

                return flagResult;

Информация о работе Информационная система швейного предприятия