Разработка информационной системы "Реконструкция и ремонт зданий" для ТОО "Аскентжол" г. Караганда
Выбор и обоснование аппаратного обеспечения. Типы архитектуры веб-приложений. Шаблоны проектирования архитектуры приложения. Разработка инфологической модели базы данных. Подготовка к разработке приложения. Рассмотрение причин возникновения паттернов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 27.11.2022 |
Размер файла | 3,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
1. Номер контратка
2. Наименование
3. Отработано часов
4.
5. Тип оплаты
6. Стоймость.
Рисунок 18 Форма создания объекта
Также в форме создания объекта есть разделы по добавлению дополнительной информации, такой как год постройки, состояния, номер контракта, контакты и команды.
Рисунок 19 Разделы для добавления дополнительной информации
Рисунок 20 Раздел по добавлению информации о клиенте
Рисунок 21 Раздел по добавлению информации
Рисунок 22 Раздел по информации о материалах
Рисунок 23 Раздел по информации о офисе
Рисунок 24 Окно с работой БД
При работе с базами данных SQL-Сервера в проектах Windows Forms используются обычные поставщики данных, такие как System.Data. Переход SqlClient для доступа к таблицам требуется объект подключения с хорошо сформированным переходом строки подключения, который может храниться в строковой переменной или в файле конфигурации.
В зависимости от разработчика строки подключения могут быть записаны непосредственно в коде, создать строку подключения с помощью перехода SqlConnectionStringBuilder (пример приведен в сопроводительном исходном коде) или создать временный проект, использовать мастер данных для создания доступа к классам через адаптер таблиц или сначала использовать код Entity Framework 6 с существующей базой данных.
Эта настройка хорошо работает для приложений личного использования при распространении приложения среди друзей, коллег или клиентов или при переходе из среды разработки в производственную среду (и во многих случаях в среду тестирования) быстро приводит к бесполезности использования строковых переменных и файлов конфигурации, когда изменение имени сервера требует обновления с имени сервера разработчика на другое имя сервера в дикой природе лучше иметь метод изменения строки подключения без вмешательства пользователя.
Рисунок 25 Страница материала
Разделы по добавлению материала, реализованы с помощью диалоговых окон.
Для добавления дополнительных сущностей в базу данных была добавлена страница панели администратора, на которой можно добавлять такие объекты.
Рисунок 26 Раздел по добавлению информации о клиенте
Рисунок 27 Диалоговое окно о информации о офисах
3.3.5 Система контроля версий
Для контроля версий приложения был использован Git.
Git - наиболее часто используемая система контроля версий. Git отслеживает изменения, которые вы вносите в файлы, поэтому у вас есть запись о том, что было сделано, и вы можете вернуться к определенным версиям, если вам когда- нибудь понадобится. Git также упрощает совместную работу, позволяя объединить изменения, внесенные несколькими людьми, в один источник.
Для back-end и front-end были созданы отдельные репозитории в github. Особенности Git:
· История записей
· Бесплатный и открытый исходный код
· Поддерживает нелинейное развитие
· Создает резервные копии
· Масштабируемый
· Поддерживает сотрудничество
· Разветвление проще
· Распределенная разработка
Проекты обычно имеют несколько разработчиков, работающих параллельно. Поэтому необходима система контроля версий, такая как Git, чтобы гарантировать отсутствие конфликтов кода между разработчиками. Кроме того, требования в таких проектах часто меняются. Таким образом, система контроля версий позволяет разработчикам возвращаться к более старой версии кода.
3.4 Причины возникновения паттернов
В конце 80-х годов XX века в сфере разработки программного обеспечения, в частности, объектно-ориентированном проектировании, накопилось много различных Рефакторинг -- изменения внутреннего устройства программного кода без модификации его внешней функциональности сходных по своей сути решений. Это требовало систематизации, обобщения на всевозможные ситуации, а также доступного описания, способствующего пониманию ихлюдьми, которые до этого их не использовали. Такое упорядочение знаний в объектно- ориентированном проектировании позволило бы повторно использовать готовые и уже проверенные решения.Решение проблемы систематизации накопленного опыта в объектно-ориентированном проектировании, а также представление его широкому кругу разработчиков и взяли на себя паттерны проектирования.
Рисунок 28 Хранение данных в виде изменений в базовой версии каждого файла
Git не думает и не хранит свои данные таким образом. Вместо этого Git рассматривает свои данные скорее как серию снимков миниатюрной файловой системы. С помощью Git каждый раз, когда вы фиксируете или сохраняете состояние своего проекта, Git в основном делает снимок того, как выглядят все ваши файлы в данный момент, и сохраняет ссылку на этот снимок. Чтобы быть эффективным, если файлы не изменились, Git не сохраняет файл снова, а просто ссылку на предыдущий идентичный файл, который он уже сохранил. Git думает о своих данных больше как о потоке моментальных снимков.
Рисунок 29 Хранение данных в виде моментальных снимков проекта с течением времени
Git имеет три основных состояния, в которых могут находиться файлы:
измененные, поэтапные и зафиксированные:
· Измененный означает, что вы изменили файл, но еще не зафиксировали его в своей базе данных.
· Staged означает, что вы отметили измененный файл в его текущей версии, чтобы перейти к следующему снимку фиксации.
· Фиксация означает, что данные надежно хранятся в вашей локальной базе данных.
Это приводит нас к трем основным разделам проекта Git: рабочее дерево, промежуточная область и каталог Git. В общем случае каждый паттерн состоит из таких составляющих:
1. Имя является уникальным идентификатором паттерна. Ссылка на него дает возможность описать задачу проектирования и подход к её решению. Имена паттернов проектирования, описанных в [GoF95], являются общепринятыми, поэтому, например, могут использоваться в проектной документации как ссылки на типичные архитектурные решения.
2. Задача описывает ситуацию, в которой можно применять паттерн. При формулировке задачи паттерна важно описать, в каком контексте она возникает.
3. Решения задачи проектирования в виде паттерна определяет общие функции каждого элемента дизайнаи отношения между ними. При этом следует подчеркнуть, что рассматривается не конкретная, а общая ситуация, так как паттерн проектирования -- это шаблон, который может применяться многократно для решения типичной задачи в различных контекстах. 4. Результаты представляют следствия применения паттерна. В них описываются преимущества и недостатки выбранного решения, его последствия, различного рода компромиссы, вариации паттерна. Также в результатах следует упомянуть об особенностях использования паттерна в контексте конкретного языка программирования.
Рисунок 29 Рабочее дерево, промежуточная область и каталог Git
Рабочее дерево-это одна проверка одной версии проекта. Эти файлы извлекаются из сжатой базы данных в каталоге Git и помещаются на диск для использования или изменения. Промежуточная область-это файл, обычно содержащийся в каталоге Git, в котором хранится информация о том, что будет включено в следующую фиксацию. Его техническое название на языке Git - “индекс”, но фраза “промежуточная область” работает так же хорошо. Каталог Git-это место, где Git хранит метаданные и базу данных объектов для вашего проекта. Это самая важная часть Git, и это то, что копируется при клонировании репозитория с другого компьютера.
Основной рабочий процесс Git выглядит примерно так:
· Вы изменяете файлы в своем рабочем дереве.
· Вы выборочно размещаете только те изменения, которые хотите включить в следующую фиксацию, которая добавляет только эти изменения в промежуточную область.
· Вы делаете фиксацию, которая принимает файлы в том виде, в каком они находятся в промежуточной области, и сохраняет этот моментальный снимок навсегда в вашем каталоге Git.
Оборудование, программное обеспечение, подключения к компьютерной системе и информация, пользователи информационной системы и корпус системы-все это является частью ИС. Персональные компьютеры, смартфоны, базы данных и сети-это лишь некоторые примеры информационных систем.
Предприятия и корпорации используют информационные системы для взаимодействия со своими поставщиками и клиентской базой, выполнения своих операций, управления своей организацией и проведения своих маркетинговых кампаний.
Они могут использоваться для самых разных целей, от управления цепочками поставок до взаимодействия с цифровыми рынками. Люди также полагаются на ИСС для взаимодействия со сверстниками и друзьями через социальные сети, выполняя повседневные действия, такие как банковское дело и покупки, или просто ища знания и информацию.
Технология
Технологию можно рассматривать как применение научных знаний в практических целях. Начиная с изобретения колеса и заканчивая использованием электричества для искусственного освещения, технология является частью нашей жизни во многих отношениях, и мы склонны воспринимать ее как должное. Как обсуждалось ранее, первые три компонента информационных систем - аппаратное обеспечение, программное обеспечение и данные - все подпадают под категорию технологий. Каждый из них получит свою собственную главу и гораздо более подробное обсуждение, но мы уделим здесь немного времени, чтобы представить их, чтобы мы могли получить полное представление о том, что такое информационная система.
Оборудование
Аппаратное обеспечение информационных систем - это часть информационной системы, к которой вы можете прикоснуться, - физические компоненты технологии. Компьютеры, клавиатуры, дисководы, флэш-накопители-все это примеры оборудования информационных систем. Мы потратим некоторое время на изучение этих компонентов и того, как они все работают вместе, в главе 2.
Программное обеспечение
Программное обеспечение - это набор инструкций, которые сообщают аппаратному обеспечению, что делать. Программное обеспечение не осязаемо - к нему нельзя прикоснуться. Когда программисты создают программы, на самом деле они просто печатают списки инструкций, которые говорят аппаратному обеспечению, что делать. Существует несколько категорий программного обеспечения, причем двумя основными категориями являются программное обеспечение операционной системы, которое делает оборудование пригодным для использования, и прикладное программное обеспечение.
Выводы
В этой главе описана разработка на базе WinForm в программе Microsoft Visual Studio. Показаны способы работы с данными, которые находятся в локальный базе данных, проработаны методы по добавлению, редактированию и удаления данных в локальной базе.
Данное приложение позволяет добавлять информацию об объектах и заказчиков более эффективно. На основе данных, представленных в базе данных можно сделать анализ и вывести инфографику по объектам, заказчикам и материалам. Также можно на основании анализа сделать вывод и понять причины возникающих проблем в компании с учетом «объектов», а также принять решение по устранению данных проблем и их причин.
Заключение
Информационная система - система управления информацией, позволяющая получать, записывать, удалять и изменять информацию.
В данном дипломном проекте была реализована информационная система для управления и ведением учета о объектах и заказчиков. Ведение учета - это стремление и стимул для работников офиса каждый день выполнять свою работу прогрессивно, плодотворно для увеличения “КПД” работы фирмы.
Мониторинг включает измерение и оценку производительности штабу, также называемую управлением производительностью. Взаимодействие включает повседневный обмен информацией между менеджером и подчиненными, а также между коллегами для передачи информации об ожидаемых объектах, заказчиков, обратной связи и т. д. В результате написания дипломной работы и проектирования информационной системы были изучены: - специфика работы предприятия - повторение основ работы с базами данных - повторение языка C# и ADO.NET
- средства C# и ADO.NET для работы с базами данных
- разработана информационная система для предприятия
С учетом вышеизложенного, полагаю, что цель данной дипломной работы была достигнута. Разработанная система успешно прошла все этапы тестирования и является полностью работоспособным продуктом, готовым к внедрению.
Список использованной литературы
1. Мюллер Д. П. C# для чайников - США, 2014. 450 с.
2. Б. Фарелл. Веб-компоненты в действии - ДМК Пресс, 2020 г. 462с.
3. М. Хавербеке, Выразительный C#. Современное веб-программирование. Питер, 2020 г. 480 с.
4. Б. Черный, Профессиональный C# 7 и.NET Core. Питер, 2016 г. 352с.
5. Фаулер М., PHP4 руководство для начинающих, М.: Издательский дом "Вильямс", 2015. 384 с.
6. Иванов А.В. Рефакторинг кода на MYSQL. Улучшение проекта существующего кода - Диалектика, 2020 г. 464 с.
7. Использование ПО с открыты м и сходны м кодо м для создания Web- сайта для совместной работы [Электронный ре сур с]. Режим доступа: http://joomla.ru/download/joomla/view.download/201/1951.html. Дата обращения: 21.05.2015.
8. Тиленс Томас М. React в действии. Питер, 2018 г. 368 c.
9. Троелсен Эндрю, Джепикс Филипп, Язык программирования C# 6.0 и платформа.NET 4.6 - Вильямс Диалектика / Вильямс, 2016 г. 1440 c.
10. Албахари Д., Албахари Б., C# 8.0. Карманный справочник. Диалектика, 2020 г. 240 с.
Приложение А Листинг back-end building forms
using System;
using System.Collections.Generic; using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Buildings.model
{
public class Building
{
public int id { get; set; } public string name { get; set; } public string type { get; set; } public int year { get; set; }
public string location { get; set; } public string condition { get; set; } public int contractId { get; set; } public string team { get; set; }
public Building(int id, string name, string type, int year, string location, string condition, int contractId, string team)
{
this.id = id; this.name = name; this.type = type; this.year = year;
this.location = location; this.condition = condition; this.contractId = contractId; this.team = team;
}
public Building(string name, string type, int year, string location, string condition, int contractId, string team)
{
this.name = name;
this.type = type; this.year = year; this.location = location;
this.condition = condition; this.contractId = contractId; this.team = team;
}
}
}
using Buildings.model;
using MySql.Data.MySqlClient; using System;
using System.Collections.Generic; using System.Data.Common; using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Buildings.dao
{
Приложение Б
Листинг buildingDao.cs
class BuildingDAO
{
public static List<Building> getAllBuildings()
{
List<Building> result = new List<Building>();
MySqlConnection connection = MySQLDAO.createConnect(); string query = "select * from building";
MySqlCommand command = new MySqlCommand(query, connection);
using (DbDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
result.Add(new Building(reader.GetInt32(0), reader.GetString(1), reader.GetString(2), reader.GetInt32(3), reader.GetString(4), reader.GetString(5),
reader.GetInt32(6), reader.GetString(7)));
}
}
connection.Close();
return result;
}
public static Building getBuildingByContactIdAndName(int contractId, string
name)
{
MySqlConnection connection = MySQLDAO.createConnect();
string query = "select * from building where building.customer_contract_id
= @customer_contract_id and building.name = @name";
MySqlCommand command = new MySqlCommand(query, connection);
command.Parameters.AddWithValue("@customer_contract_id", contractId); command.Parameters.AddWithValue("@name", name);
using (DbDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
return new Building(reader.GetInt32(0), reader.GetString(1), reader.GetString(2), reader.GetInt32(3), reader.GetString(4), reader.GetString(5),
reader.GetInt32(6), reader.GetString(7));
}
}
connection.Close(); return null;
}
public static bool deleteBuilding(Building building)
{
MySqlConnection connection = MySQLDAO.createConnect(); MySqlTransaction transaction = connection.BeginTransaction();
string query = "delete from building where building.id = @id"; MySqlCommand command = new MySqlCommand(query, connection,
transaction);
command.Parameters.AddWithValue("@id", building.id); try
{
command.ExecuteNonQuery(); transaction.Commit();
connection.Close(); return true;
}
catch
{
return false;
}
}
public static bool saveBuilding(Building building)
{
MySqlConnection connection = MySQLDAO.createConnect(); MySqlTransaction transaction = connection.BeginTransaction();
string query = "insert into buildings.building (building.name, building.type, building.year, customer_contract_id, location, building.condition, team) values" +
" (@name, @type, @year, @customer_contract_id, @location, @condition, @team)";
MySqlCommand command = new MySqlCommand(query, connection, transaction);
command.Parameters.AddWithValue("@name", building.name); command.Parameters.AddWithValue("@type", building.type); command.Parameters.AddWithValue("@year", building.year); command.Parameters.AddWithValue("@customer_contract_id",
building.contractId);
command.Parameters.AddWithValue("@location", building.location); command.Parameters.AddWithValue("@condition", building.condition); command.Parameters.AddWithValue("@team", building.team);
try
{
command.ExecuteNonQuery(); transaction.Commit(); connection.Close();
return true;
}
catch
{
return false;
}
}
public static bool updatBuilding(Building building)
{
MySqlConnection connection = MySQLDAO.createConnect(); MySqlTransaction transaction = connection.BeginTransaction();
string query = "update building set building.name = @name, building.type = @type, building.year = @year, customer_contract_id = @customer_contract_id, location
= @location," +
" building.condition = @condition, team = @team where building.id =
@id";
MySqlCommand command = new MySqlCommand(query, connection,
transaction);
command.Parameters.AddWithValue("@id", building.id); command.Parameters.AddWithValue("@name", building.name); command.Parameters.AddWithValue("@type", building.type); command.Parameters.AddWithValue("@year", building.year); command.Parameters.AddWithValue("@customer_contract_id",
building.contractId);
command.Parameters.AddWithValue("@location", building.location); command.Parameters.AddWithValue("@condition", building.condition); command.Parameters.AddWithValue("@team", building.team);
try
{
command.ExecuteNonQuery(); transaction.Commit(); connection.Close();
return true;
}
catch
{
return false;
}
}
}
}
using MySql.Data.MySqlClient; using System;
using System.Collections.Generic; using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Buildings.dao
{
Приложение В Листинг Mysql.cs
/// <summary>
/// Класс для общих вещей с MySQL
/// </summary>
public static class MySQLDAO
{
// Строка соединения с БД
private static string connString = "database=buildings;characterset=utf8;port="
+ 3306 + ";" + "Server=localhost"
+ ";user id= admin;password=admin";
/// <summary>
/// Создание соединения с БД
/// </summary>
/// <returns>Установленное соединение</returns> public static MySqlConnection createConnect()
{
MySqlConnection connection = new MySqlConnection(connString); try
{
connection.Open();
}
catch
{
throw new Exception("Не удалось установить соединение с базой");
}
return connection;
}
Размещено на Allbest.ru
Подобные документы
Исследование технологии проектирования базы данных. Локальные и удаленные базы данных. Архитектуры и типы сетей. Программная разработка информационной структуры предметной области. Обоснование выбора архитектуры "клиент-сервер" и операционной системы.
дипломная работа [1,1 M], добавлен 15.02.2017- Создание защищенного приложения для ведения учета продаж и закупок, ориентированного на малый бизнес
Проектирование модели базы данных в соответствии с предметной областью "Торговля". Разработка архитектуры системы безопасности приложения по ведению базы данных. Реализация приложения, обеспечивающего учет продаж и закупок предприятия. Способы его защиты.
дипломная работа [2,5 M], добавлен 05.02.2017 Рассмотрение инфологической и даталогической модели базы данных кинотеатров города. Разработка базы данных в программе MS Access. Описание структуры приложения и интерфейса пользователя. Изучение SQL-запросов на вывод информации о кинотеатре и о фильме.
курсовая работа [1,1 M], добавлен 04.09.2014Характеристика объекта автоматизации. Создание многоуровневой архитектуры приложения, отладка метода безошибочной идентификации пользователей системы. Разработка нестандартного метода преобразования объектов базы данных в объекты классов приложения.
курсовая работа [395,4 K], добавлен 28.04.2015Разработка информационно-аналитической системы агентства недвижимости. Обоснование выбора архитектуры базы данных и СУБД. Моделирование потоков данных (DFD диаграмм). Проектирование инфологической модели данных с использованием модели "сущность-связь".
дипломная работа [5,4 M], добавлен 06.06.2013Современное состояние рынка мобильных приложений. Основные подходы к разработке мобильных приложений. Обоснование выбора целевой группы потребителей приложения. Этапы проектирования и разработки мобильного приложения для операционной системы Android.
курсовая работа [987,1 K], добавлен 27.06.2019Рассмотрение особенностей выбора инструментов. Изучение архитектуры приложений Laravel. Характеристика модели использованной базы данных. Определение каскадных таблиц стилей. Постановка решаемых задач. Выставление билета на продажу и его покупка.
дипломная работа [746,9 K], добавлен 11.08.2017Анализ и оценка эффективности существующей системы обработки информации. Выбор технических и программных средств. Описание этапов проектирования базы данных "Аудиотека" и ее особенностей. Разработка инфологической модели и программного приложения.
курсовая работа [877,9 K], добавлен 06.06.2013Анализ решений по автоматизации предметной области. Выбор методологии проектирования информационной системы. Обоснование выбора платформы. Взаимодействие приложения с источниками данных. Выбор жизненного цикла разработки программного обеспечения.
дипломная работа [3,7 M], добавлен 18.12.2010Разработка информационной и инфологической модели базы данных на тему "Командировка". Выбор модели данных и составление ее концептуальной схемы. Получение доступа к БД средствами Delphi, разработка пользовательского интерфейса. Реализация SQL-запросов.
реферат [1,2 M], добавлен 16.06.2009