Обзор литературы по существующим системам (методам) разработки 5



Дата16.05.2023
өлшемі51,69 Kb.
#93629
түріОбзор
Байланысты:
Отчет по преддипломной практике


СОДЕРЖАНИЕ

ВВЕДЕНИЕ 3



  1. ОСНОВНАЯ ЧАСТЬ 5

    1. Обзор литературы по существующим системам (методам) разработки 5

      1. Изучение методов тестирования 6

      2. Изучение тестирования в .NET 7

      3. Изучение тестирования через TDD 8

      4. Изучение тестирования пользовательского интерфейса 8

      5. Изучение тестирования базы данных 9

    2. Обоснование выбора программного обеспечения 10

    3. Разработка нового программного обеспечения 13

    4. Составление технического задания на разработку программного обеспечения 14

      1. Технологические требования 14

      2. Структура и описание системы 15

      3. Функционал продукта 15

ЗАКЛЮЧЕНИЕ 17
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 18

ВВЕДЕНИЕ

Преддипломная практика проходила в период с 13 марта по 5 мая в компании ИП «А-Транс».
Цели преддипломной практики:


  1. формирование и развитие практических навыков и компетенций бакалавра, приобретение опыта самостоятельной профессиональной деятельности;

  2. приобретение студентом инженерно-технических навыков по проектированию и эксплуатации современных информационных систем и технологий;

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

  4. приобретение практических навыков инженерной деятельности;

  5. применение теоретических знаний для решения конкретных практических задач, связанных с процессами передачи, хранения, поиска, обработки и представления информации;

  6. подбор, систематизация и анализ информационных материалов и подготовка исходных данных для выпускной квалификационной работы;

  7. проверка профессиональной готовности будущего специалиста к самостоятельной трудовой деятельности.

Задачи преддипломной практики:

  1. сбор практического материала для написания выпускной работы по утвержденной тематике кафедры;

  2. приобретений навыков устных публичных выступлений (посредством участия в конференциях);

  3. подготовка выпускной работы бакалавра;

  4. закрепление и расширение знаний по специальным дисциплинам;

  5. приобретение студентом практических навыков работы в организации или предприятии по специальности;

  6. изучение современных методов разработки информационных систем;

  7. освоение принципов организации и функционирования компьютерных сетей;

  8. изучение проектных, эксплуатационных материалов и технологических процессов по охране труда на предприятии;




  1. ОСНОВНАЯ ЧАСТЬ




    1. Обзор литературы по существующим системам (методам) разработки

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


Основные технологий и методологий:

  • Методология Agile. Компания использует Agile-методологии разработки ПО, такие как Scrum и Kanban для разработки ПО. Эта методология позволяет быстро и гибко реагировать на изменения в проекте и требованиях заказчика.

  • Docker используется для управления контейнерами и развертывания приложений. Это позволяет быстро и легко создавать, разворачивать и масштабировать приложения.

  • Kubernetes используется для оркестрации и управления контейнерами Docker. Это позволяет автоматизировать процесс развертывания и управления масштабированием приложений.

  • Git используется для управления версиями кода, а также средства непрерывной интеграции и развертывания ПО (CI/CD). Это позволяет командам разработчиков эффективно сотрудничать, отслеживать изменения и управлять кодом.

  • RabbitMQ используется для обмена сообщениями между различными компонентами приложений. Это обеспечивает гибкую и масштабируемую архитектуру приложений.

  • TypeScript используется для разработки приложений на JavaScript. TypeScript добавляет статическую типизацию в JavaScript, что повышает удобство и безопасность разработки.

  • Elasticsearch и Kibana использутся для обработки и анализа больших объемов данных.

  • .NET является фреймворком для разработки приложений на языках C# и VB.NET, и широко используется во многих компаниях. .NET используется для разработки back-end приложений, API и сервисов, а также для разработки платформы для интеграции платежных методов в веб-сайты и мобильные приложения.

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

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



      1. Изучение методов тестирования

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


Перед началом тестирования проводится его планирование. На данном этапе составляется план тестирования, который отражает пункты, которые должны быть протестированы. А также выбираются инструменты, с помощью которых будет проводиться тестирование. Начинается разработка тестов.
После того как все тесты разработаны, следуют тщательно подготовить тестовые данные, которые будут покрывать все места тестирования. Здесь могут быть как небольшие наборы данных для модульных тестов, так наборы данных для создания целой тестовой базы данных и прочего.
Следующим этапом выступает запуск тестов. Можно использовать стороннее программное обеспечение, которое будет показывать результат выполнения для большого количества тестов. Это удобно для больших проектов, где нужно запустить десятки тысяч тестов. Но во многих средах существуют встроенные средства для проверки результатов тестирования. Ими можно пользоваться для проверки небольшого участка кода.
После того как отработали все тесты, необходимо определить были ли ошибки, и если были, то где. После чего следует вернуться на место поломки теста и исправить недочет.
Далее производится повторное тестирование, после которого также необходимо убедиться, что все тесты были пройдены и ошибок не обнаружено. После чего процесс тестирования можно считать завершенным.
Существует несколько основных видов тестирования:

  • Модульное – направлено на проверку отдельных функций, классов на соответствие требованиям;

  • Интеграционное – проверяет всю системы целиком, оно направлено на проверку взаимодействия разных компонентов программы;

  • Системное – проверяет, соответствует ли система требованиям и ожидания, которые были поставлены бизнесом и пользователями;

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

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



      1. Изучение тестирования в .NET




  1. Для тестирования в .NET чаще всего используется NUnit фреймворк. NUnit был использован в дипломном проекте в качестве инструмента для тестирования. Данный фреймворк предоставляет множество функций для написания и запуска тестов. Для определения тестируемых методов в NUnit используются атрибуты или аннотации. Каждый тестируемый метод помечается атрибутом [Test]. Классы помечаются атрибутом [TestFixture]. Тестовые значения, передаваемые в метод тестирования помечаются атрибутом [TestCase]. Для части Assert, которая описана ниже, используется готовый класс Assert и его методы. А для набора данных, которые могут быть как в свойстве класса, так и сгенерированы методом, существует атрибут [TestCaseSource].

  2. В .NET существует негласное правило при написании тестов придерживаться принципа «Arrange-Act-Assert», что значит arrange – подготовка, act – выполнение, assert – проверка.

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

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

  5. Части Assert служит для проверки полученного результата. В этой части сравнивается значение, полученное из метода, вызванного в Act, и ожидаемое значение. Также могут сравниваться только свойства объектов или даже целые списки объектов.

  6. Такой принцип помогает проще и понятнее писать тесты, которые в дальнейшем будут легко читаться другими разработчиками. Такой код будет четко структурирован и разбит на понятные компоненты. С первого взгляда на тест будет понятно, что конкретно тестируется.

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



      1. Изучение тестирования через TDD

Существует подход написания тестов, когда разработка происходит на основании тестов. Такая методология называется TDD (Test-Driven Development) – процесс написания кода через тестирование. То есть сначала пишутся тесты, а уже потом код. Разработчик пишет тесты, которые проверяют всю функциональность системы, после чего разрабатывается код, который должен проходить данные тесты. Процесс разработки начинается с написания тестов, с соблюдением требований, который будет выполнять программа. Затем такие тесты запускаются, они не отработают и завершаться ошибкой, так как код, который необходимо протестировать, еще не существует. Далее разрабатывается минимальный код, который будет удовлетворять тест, но такой код не обязан иметь полный функционал. На данном этапе тест должен заканчиваться без ошибки. Далее код дорабатывается и снова запускается тест, чтобы убедиться в правильности написанного кода.


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



      1. Изучение тестирования пользовательского интерфейса

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


Основная задача тестировщика состоит в том, чтобы проверить интерфейс на соответствие заданным требованиям. Первоначально необходимо определить план тестирования, который будет содержать информацию о действии, которое пользователь будет воспроизводить, и его ожидания от проделанного.
После того как план составлен, можно переходить непосредственно к самому тестированию. Изначально необходимо проверить насколько корректное отображение всех элементов на странице и их работоспособность. Проверить как отрабатывают поля ввода, кнопки, выпадающие списки, чекбоксы и так далее. Немаловажным моментов является отображение элементов на экранах разного размера.
После того как проверена визуальная часть, необходимо проверить функциональную часть, то есть как отрабатывают запросы, которые посылаются на сервер. Допустим, как отображается таблица, после того как был совершен поиск или проверить отправку формы, после которой должна появиться надпись об успешной записи.
В работе обычно используются два метода проверки интерфейса – это ручной метод и автоматический. В процессе ручной проверки, тестировщик вводит различные наборы данных, моделирует разные ситуации, которые могут произойти с пользователем на разных этапах работы. Это позволяет обнаружить множество ошибок, в отличие от автоматического тестирования.
Автоматический метод позволяет ускорить процесс тестирования, так как с помощью него можно проверять сразу несколько наборов данных, не тратя на это лишнее время. Но при автоматическом тестировании моделируется идеальная ситуация, когда пользователь сделал одно действие за другим и произошло третье. В реальном же использовании, пользователь мог не понять что происходит, перейти на другую вкладку, нажать или ввести лишнее, чего система не ожидала, таким образом сломав процесс. Такое чаще всего можно обнаружить в процессе ручного тестирования.
Важно проверить как себя ведет приложение в разных браузерах, иногда некоторые настройки могут не сработать, так как не все браузеры поддерживают современные технологии.
После каждого протестированного кейса тестировщик должен документировать обнаруженные недочеты и ошибки. Фиксируя проблему, обязательно нужно указывать подробности где произошла ситуация, при каких условиях и входных данных. Такие данные помогут разработчику быстрее понять, как справиться с проблемой и исправить ошибки.



      1. Изучение тестирования базы данных

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


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





    1. Обоснование выбора программного обеспечения

Необходимо было создать стабильный монолитный проект, с двумя базами данных, одну для редко изменяемых небольших объектов и другую для постоянно изменяемых, больших объектов. Так был выбран MS SQL Server и MongoDb. Так как команда была не большая, то был выбран подход MVC, с не сложным HTML и CSS, а также фреймворк Bootstrap. Позже был подключен KnockoutJS для удобства отправки данных со специфичных полей и лучшего отображения без перезагрузки страницы. Должно было быть тестирование, так как бизнес код быстро разрастался, и без тестирования было бы просто невозможно проверять весь проект на количество ошибок. Требования были выставлены на основе потребностей проекта:



  1. Язык программирования - C#, платформа - .NET framework 4.6;

  2. Использование проверенных подходов и паттернов;

  3. REST-архитектура через протокол HTTP;

  4. Nosql база данных – MongoDb;

  5. Sql база данных - MS SQL Server;

  6. Интерфейс - Bootstrap, HTML, CSS;

  7. Js бибилиотека – KnockoutJS;

  8. Тестирование (Unit, Integration).

C# - это язык программирования, который был создан в 1998-2002 года в компании Майкрософт командой инженеров, во главе с Андерсом Хейлсбергом. Изначально он создавался для написания внутренних проектов компании, но в наши дни — это достаточно универсальный инструмент для веб, десктоп, мобильных приложений, а также разработки игр, нейросетей и даже графики. Сейчас этот язык является кроссплатформенным, но в дипломе была использована версия только для Windows. Данный язык безумно быстро развивается, на данный момент уже имеется версия C# 9 и .NET 5.
C# использует в своей основе объектно-ориентированный подход, это такой подход в программировании, который представляет все сущности в виде объектов, а не функций, на первом месте данные, затем логика. Объект – есть класс, в котором прописываются методы, с помощью которых можно изменять данные полей этого класса. ООП во многом упрощает создание структуры программы, так как можно взаимодействовать только с определенными частями программы, не трогая остальные.
Немного о принципах такого подхода:

  • Наследование - позволяет без дублирования общего функционала использовать тот же самый код в разных местах программы;

  • Инкапсуляция - позволяет настраивать уровни доступа для кода, то есть скрывать часть реализации от пользователя объекта;

  • Полиморфизм - это способность объектов и методов иметь одно описание, но разную реализацию, то есть один интерфейс с методами, который можно реализовать по-разному для определенных случаев;

  • Абстракция - конечный пользователь не видит подробностей внутренней логики.

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

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

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

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

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

  • Модель - отвечает за структуру набора данных, который будет далее передан в представление и изменяет свои данные по команде контроллера;

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

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

Контроллер принимает все данные используя REST-архитектуру, которая стандартно имеет четыре операции GET, POST, PUT, DELETE. Если вкратце, то они представляют из себя:

  • GET – получение данных, чаще всего для отображения списка, карточки и прочего;

  • POST – отправка данных, обычно это создание или обновление данных в базе данных;

  • DELETE – удаление данных, удаление данных из базы данных;

  • PUT – обновление данных, почти тоже что и POST, в основном такие запросы — это обновление данных в базе данных.

Такие запросы часто называют CRUD-операциями – create (создать), read (прочитать), update (обновить), delete (удалить).
В качестве базы данных, которая обеспечивает безопасное транзакционное сохранение данных, была выбрана система управления базами данных MS SQL Server, созданная компанией Майкрософт в 1987 года, сейчас уже есть новая, вышедшая в 2022 году версия. Начиная с версии 2016 года эта система управления доступна как для Windows, так и для Linux. Для представления баз данных MS SQL Server использует реляционную модель, которая хранит данные в виде таблиц, состоящих из строк и столбцов. Каждый объект в данной базе данных хранится в строке, а столбцы являются атрибутами объекта. В качестве присвоения идентификационного номера строке используется первичный ключ (Primary key), с помощью этого ключа появляется возможность связи или ссылки на строку в другой таблице. Таким образом создаются связи между таблицами. Взаимодействовать с базой данной позволяет язык запросов SQL (Structed Query Language).
Так как объекты, которые представляет собой транзакция, содержат в себе много громоздкой информации, с которой нужно постоянно взаимодействовать, было принято выбрать документо-ориентированную систему управления базами данных, такую как MongoDb. В то время как реляционные базы данных хранят все данные в виде строк, то данная база хранит объекты в виде документов, которые можно представить, как ключ-значение. Но схожесть с реляционными базами данных у Mongo все-таки есть, здесь для каждого документа имеется такой же ключ, он уникален, и называется _id. Если он не задан, то Mongo сгенерирует его автоматически. Таблицы здесь называются коллекциями. Основное отличие таблиц от коллекций, коллекции могут хранить все что угодно, любую структуру данных, таблицы же подчиняются строгим законам, и количество колонок заранее обозначено. Документы используют json, только модифицированный – bson (binary json). Bson значительно быстрее выполняет поиск и запросы, нежели json, хоть он немного более громоздкий в описании данных, чем json, но это окупается за счет скорости самого формата.
Для создания интерфейса в качестве базового инструмента был выбран бесплатный фреймворк Bootstrap, который подходит для адаптивной разработки веб-приложений и сайтов. Чаще всего его используют именно для создания личный кабинетов для администраторов, так как он содержит все необходимые компоненты и стили для быстрого создания такого рода программного обеспечения. А также одной из главных особенностей является система колонок или сетка. Она позволяет с легкостью размещать элементы на странице, с помощью всего двух классов, это row и col, которые дальше уже корректируются под нужные размеры. Bootstrap является оберткой над HTML, CSS и JS, потому использование чистого кода было использовано не много. Но для динамического отображения была добавлена библиотека KnockoutJS. Данную библиотеку можно сравнить с Angular или React, которые являются гигантскими js-фреймворками, в отличие от KnockoutJS. Данная библиотека позволяет делать привязки данных, с помощью них легко изменять состояние объекта и его данных, любые изменения в модели (js код), будут отражаться на информации, которую видит пользователь. Также она позволят отслеживать изменения, допустим пользователь выбрал из списка какой-то пункт, и в зависимости от его выбора обновилось содержимое поля textarea. Также она поддерживает наследование, которое позволяет не перекопировать код.
И последний по порядку, но не по значимости, пункт тестирования. Тестирования было необходимо чтобы контролировать работоспособность всей обширной бизнес-логики. В качестве фреймворка для тестирования был выбран NUnit. Данный фреймворк позволяет разрабатывать Unit тесты. С помощью таких тестов проверяются небольшие блоки кода, обычно они меньше класса, чаще это отдельные методы или же конкретная часть метода. Также было использовано интеграционное тестирование в тех местах, где нужно было проверить весь сценарий.



    1. Разработка нового программного обеспечения

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


Основные задачи для разработки личного кабинета:

  1. Создавать пользователей администраторов

  2. Создавать пользователей мерчантов

  3. Создавать сайты для мерчантов

  4. Настраивать шлюзы (тестовый и боевой)

  5. Заполнять комиссии для сайтов по шлюзам

  6. Выгружать историю комиссий

  7. Создавать пользователей менеджеров

  8. Закреплять менеджеров за определенными мерчантами и их сайтами, а также распределять доли прибыли от продаж

  9. Создавать организацию для мерчанта

  10. Просматривать платежи

  11. Формировать акты по платежам

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

  • Транзакции – раздел, который позволяет просматривать платежи, совершенные через платежную систему в соответствии с выставленными фильтрами

  • Мерчанты – раздел, который позволяет создавать, редактировать, производить настройку различных параметров, осуществлять поиск мерчантов, создавать организации для них.

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

  • Менеджеры – раздел, который позволяет создавать, редактировать, осуществлять поиск менеджеров

  • Организации – раздел, который позволяет просматривать и редактировать настройки организаций.

  • Акты – раздел, который позволяет сформировать акт за определенный месяц для организации в конкретном банке.




    1. Составление технического задания на разработку программного обеспечения

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





      1. Технологические требования




  1. Язык программирования - C#, платформа - .NET framework 4.6;

  2. Использование проверенных подходов и паттернов;

  3. REST-архитектура через протокол HTTP;

  4. Nosql база данных – MongoDb;

  5. Sql база данных - MS SQL Server;

  6. Интерфейс - Bootstrap, HTML, CSS;

  7. Js бибилиотека – KnockoutJS;

  8. Тестирование (Unit, Integration).

      1. Структура и описание системы

Личный кабинет состоит из разделов, каждый из которых выполняет определенный функционал. Разделены перечислены ниже:



  • Транзакции – раздел, предоставляющий информацию по транзакциям;

  • Мерчанты – раздел для работы с данными мерчантов;

  • Сайты – раздел для работы с данными сайтов мерчантов;

  • Менеджеры – раздел для настройки менеджеров;

  • Организации – раздел для настройки организаций;

  • Акты – раздел для создания актов.




      1. Функционал продукта

Личный кабинет администратора состоит из разделов, каждый из которых предоставляет свой набор действий.


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

  1. «Транзакция» - отображает основные данные о транзакции;

  2. «Комиссии» - отображает комиссии, которые были взять с платежа;

  3. «Json» - отображает json-файл транзакции.

«Мерчанты» - отображает весь список мерчантов в виде таблицы, на этой же странице осуществляется и поиск мерчантов по названию или Email. Зайдя из-под менеджера появляется возможность создания мерчанта сразу с сайтом. Нажатие на название в таблице открывает карточку мерчанта, которая состоит из вкладок.

  1. «Информация» - отображает основные данные о мерчанте и позволяет настроить разные параметры для него, ниже расположены сайты мерчанта и приложения;

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

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

«Сайты» - отображает весь список сайтов в виде таблицы, с учетом фильтрации, которая выставляется на данной странице, здесь же можно добавить новый сайт. Нажатие на Настройки в таблице открывает карточку сайта, которая состоит из вкладок.

  1. «Информация» - отображает основные данные о сайте, менеджеров сайта и комиссии на шлюзах;

  2. «Уведомления» - отображает и позволяет настроить отправку уведомлений для сайта;

  3. «Шлюз 1» - отображает и позволяет настроить шлюз и комиссии для шлюза, данный шлюз является тестовым;

  4. «Шлюз 2» - отображает и позволяет настроить шлюз и комиссии для шлюза, данный шлюз является боевым.

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

ЗАКЛЮЧЕНИЕ


В ходе преддипломной практики в компании ИП "А-Транс" были успешно достигнуты все поставленные цели и задачи. Был получил ценный опыт самостоятельной профессиональной деятельности, применены теоретические знания для решения конкретных задач и приобрести практические навыки инженерной деятельности. Были изучены современные методы разработки информационных систем и принципы организации и функционирования компьютерных сетей.

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


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


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



  1. Документация по .NET - https://learn.microsoft.com/ru-ru/dotnet/

  2. Документация по C# - https://learn.microsoft.com/ru-ru/dotnet/csharp/

  3. Документация MongoDB - https://www.mongodb.com/

  4. Документация по MS SQL - https://learn.microsoft.com/en-us/sql/?view=sql-server-ver16

  5. Wikipedia - https://en.wikipedia.org

  6. Рефакторинг, паттерны, принципы SOLID - https://refactoring.guru/ru

  7. Сайт по программированию - https://habr.com/

  8. Документация Bootstrap - https://getbootstrap.com/docs/5.3/getting-started/introduction/

  9. Сайт о программировании - https://www.w3schools.com/

  10. Документация Knockout.js - https://knockoutjs.com/

  11. Мартин Р. С. Чистый код: создание, анализ и рефакторинг., Пер.с англ. – Спб.: изд. Питер,- 2019. – 464 с.

  12. Документация по ASP.NET - https://dotnet.microsoft.com/en-us/apps/aspnet/mvc

  13. Мартин Р. С. Принципы, паттерны и методики гибкой разработки на языке C#., Пер.с англ. – Спб.: Символ Плюс,- 2017. – 768 с.

  14. В.А. Полежаев, А.И. Андрианов, А.С. Хританков Проектирование на UML. Сборник задач. 3-е изд., стер. – М.; Берлин, - 2018. – 240 с.

  15. Леоненков А. В. Самоучитель UML 2. 2-е изд. – СПб.: БХВ-Петербург, - 2016. – 576 с

  16. Сайт о программировании - https://metanit.com/sharp/

  17. Практическое руководство по созданию UML-диаграмм - https://flexberry.github.io/ru/gpg_practical-guides-uml.html

  18. Тидвелл Дженифер, Брюэр Чарли, Валенсия Эйнн. Разработка интерфейсов. Паттерны проектирования. 3-е изд. – СПб.: Питер, - 2022. – 560 с.

  19. Гриффитс Иэн. Программируем на C# 8.0. Разработка приложений. – СПб: Питер, - 2021. - 944 с.

  20. Кэмпбелл Лейн, Мейджорс Черити. Базы данных. Инжиниринг надежности. – СПб.: Питер, - 2020. – 304 с.


Достарыңызбен бөлісу:




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет