Обучение сотрудников

Содержание

Слайд 2

Расписание занятий:

День 1-День 3
10:00 – 12:00 Теоретическая часть 12:00 – 16:00 Работа с

Расписание занятий: День 1-День 3 10:00 – 12:00 Теоретическая часть 12:00 –
литературой 16:00 – 18:00 Самостоятельная работа
День 4 – день самостоятельной подготовки
День 5 – реализация итогового практического задания
День 6 – сдача итогового задания (практическая часть)
10:00 – 12:00 Экзамен по практической части
День 7 – сдача итогового задания (практическая часть)
10:00 – 12:00 Экзамен по практической части
День 8 – сдача теоретического экзамена
10:00 – 12:00 Экзамен по теории

Слайд 3

План обучения

1-й день:
Жизненный цикл программного обеспечения
Виды требований: функциональные и нефункциональные требования. Анализ

План обучения 1-й день: Жизненный цикл программного обеспечения Виды требований: функциональные и
требований по Вигерсу
Основные методологии разработки (WaterFall, Agile: SCRUM, Kanban)
Диаграммы как инструмент анализа требований. Обзор диаграмм UML.
UseCase диаграмма
Sequence диаграмма
Deployment диаграмма
Activity диаграмма
2-й день:
Протоколы взаимодействия между системами (SOAP, HTTP, Rest Full Api)
Формат передачи данных между системами (XML:XSD, JSON:Json Scheme, CSV)
Способы интеграции между системами (ESB, MQ, API w\s, таблицы в БД, файлы)
Микросервисная архитектура
3-й день:
Структура документа «Техническое задание»
SMART принципы

Слайд 4

Жизненный цикл ПО

Водопадная Итерационная Спиральная

Жизненный цикл ПО Водопадная Итерационная Спиральная

Слайд 5

Виды требований

Бизнес требования: описывают высокоуровневые требования к системе. Оформляется в уставе проекта.

Бизнес

Виды требований Бизнес требования: описывают высокоуровневые требования к системе. Оформляется в уставе
правила: описывают политики, внутренние регламенты, нормативно правовые акты и т.д.

Требования пользователей: требования о вариантах использования системы

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

Внешние интерфейсы: содержит описание интерфейсов взаимодействия проектируемой системы с внешними системами

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

Системные требования: требования к продукту, содержащему несколько подсистем, описывают то, как эти подсистемы должны между собой взаимодействовать.

Функциональные требования: описывают то, как должна функционировать система. Все, что не попало в остальные требования.

Слайд 6

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

Agile

Waterfall

Люди и взаимодействие важнее процессов и инструментов.
Работающий продукт важнее исчерпывающей

Основные методологии разработки Agile Waterfall Люди и взаимодействие важнее процессов и инструментов.
документации.
Сотрудничество с заказчиком важнее согласования условий контракта.
Готовность к изменениям важнее следования первоначальному плану.

Слайд 7

UML - Unified Modeling Language 

UML - Unified Modeling Language

Слайд 8

Use Case диаграмма 

Служит для обозначения специфической роли актера в отдельном варианте использования

Отношение

Use Case диаграмма Служит для обозначения специфической роли актера в отдельном варианте
обобщения служит для указания того факта, что некоторый вариант использования А может быть обобщен до варианта использования В

Указывает, что некоторое заданное поведение для одного варианта использования включается в качестве составного компонента в последовательность поведения другого варианта использования.

Слайд 9

Sequence диаграмма 

Объект системы, является инициатором взаимодействия

Линия жизни объекта, пока объект существует в

Sequence диаграмма Объект системы, является инициатором взаимодействия Линия жизни объекта, пока объект
системе, указывается его линия жизни

Фокус управления – показывает активное состояние объекта

Применяется как операнд If\then\else

Синхронное сообщение между объектами

Возвращаемое сообщение. Ответ на запрос

Асинхронное сообщение между объектами

Сообщение самому себе

Фрагмент цикла. В блок помещаются элементы диаграммы, требующие повторения по заданным условиям

Слайд 10

Sequence диаграмма 

Sequence диаграмма

Слайд 11

Deployment диаграмма 

Узел системы, представляет собой аппаратный элемент

Узел с компонентом системы. Указываются только

Deployment диаграмма Узел системы, представляет собой аппаратный элемент Узел с компонентом системы.
исполняемые компоненты

Отношения между узлами системы

Комментарии

Зависимости между узлами и компонентами

Слайд 12

Activity диаграмма 

Начальный узел, показывает начало процесса

Конечный узел, показывает окончание процесса

Узел ветвления, он

Activity диаграмма Начальный узел, показывает начало процесса Конечный узел, показывает окончание процесса
же является узлом слияния ветвления. Работает по принципу ИЛИ

Узел ветвления, он же является узлом слияния ветвления. Работает по принципу И. Используется для параллельных процессов

Действие

Комментарий

Объект

Дорожка

Переходы

Слайд 13

Литература

https://studopedia.info/5-96298.html - жизненный цикл разработки ПО
http://docs.cntd.ru/document/gost-34-601-90 - ГОСТ 34.601-90 этапы разработки ПО
https://analytics.infozone.pro/requirements-analysis/analysis-of-requirements-wiegers-2004/

Литература https://studopedia.info/5-96298.html - жизненный цикл разработки ПО http://docs.cntd.ru/document/gost-34-601-90 - ГОСТ 34.601-90 этапы
- этапы сбора требований
https://www.webursitet.ru/article/vidy-trebovanii-k-programmnomu-produktu.html - виды требований с примерами
https://docs.google.com/file/d/0BxOg0amRzk9vbzdPcUFobzA5aWs/edit?usp=sharing – книга Карла Вигерса
https://habr.com/ru/company/edison/blog/269789/ - основные методологии разработки ПО
https://worksection.com/blog/waterfall-vs-agile.html - сравнение WaterFall с Agile
https://ru.wikipedia.org/wiki/UML - виды UML диаграмм
http://khpi-iip.mipk.kharkiv.edu/library/case/leon/gl4/gl4.html- диаграмма вариантов использования
http://khpi-iip.mipk.kharkiv.edu/library/case/leon/gl8/gl8.html - диаграмма последовательности
http://khpi-iip.mipk.kharkiv.edu/library/case/leon/gl11/gl11.html - диаграмма развертывания
http://khpi-iip.mipk.kharkiv.edu/library/case/leon/gl7/gl7.html - диаграмма действий

Слайд 14

Задание

Заказчик сформировал требования по добавлению на их сайте on-line кредитного калькулятора с

Задание Заказчик сформировал требования по добавлению на их сайте on-line кредитного калькулятора
возможностью формирования заявки на кредит через сайт.
Текущая архитектура Банка состоит из 3-х основных узлов: АБС (хранит информацию о клиентах банка, ставках по кредитам, максимальной сумме кредита и его сроке), Web сервер отвечает за формирование Web страницы и сама web страница.
От заказчика поступили следующие требования:
На страницу банка необходимо добавить новый раздел on-line калькулятор;
Максимальная сумма кредита, максимальный срок и ставка хранятся в АБС. Требуется передавать эти значения из АБС на Web Server и отображать клиенту. Текущая реализация не содержит интеграции между АБС и Web сервером;
Клиенту на странице on-line калькулятора доступны: выбор суммы кредита, выбор срока кредита;
Выбрав указанные значения происходит перерасчет суммы ежемесячного платежа. Выбор места расчета платежа на web сервере или в браузере остается на усмотрения исполнителя с объяснением причин выбора;
Взаимодействие между АБС и Web сервером – SOAP(xml), взаимодействие между Web-сервером и браузером HTTP(json);
Должна быть опция скачать в csv формате график платежей;
При выборе опции Оформить заявку, заполняются следующие реквизиты и отправляются в АБС: ФИО, дата рождения, телефон, email и выбранные условия (сумма, срок).

Слайд 15

Задание

Описать Бизнес требования к задаче.
Описать варианты использования online кредитного калькулятора с использованием

Задание Описать Бизнес требования к задаче. Описать варианты использования online кредитного калькулятора
Use Case диаграммы
Сделать Sequence диаграмму взаимодействия между пользователем online калькулятора, Web сервером и АБС.
Сделать Deployment диаграмму разрабатываемого решения
С помощью Activity диаграммы описать функциональную архитектуру системы

Слайд 16

SOAP – Simple Object Access Protocol

для версии 1.2

SOAP – Simple Object Access Protocol для версии 1.2 для версии 1.1
для версии 1.1

Слайд 17

SOAP – Simple Object Access Protocol

encodingStyle – идентификатор пространства имен для

SOAP – Simple Object Access Protocol encodingStyle – идентификатор пространства имен для
определенных типов в XSD

actor (или role для версии 1.2) - Тип данных URI. Задает адрес конкретного SOAP-сервера, которому предназначено сообщение.

mustUnderstand – обязательность учитывать синтаксис элемента при его обработке

relay – показывает, передавать или удалять дальше заголовочный блок при передаче сообщения от текущего узла в следующий

faultcode – код ошибки

faultstring – описание ошибки

faultactor – URI адрес сервера обнаружившего ошибку

detail – детальное описание ошибки

code – код ошибки

reason – причина ошибки

node - URI адрес сервера обнаружившего ошибку

role – роль узла, обнаружившего ошибку

detail – детальное описание ошибки

Версия 1.1 Версия 1.2

Слайд 18

SOAP – Simple Object Access Protocol




env:MustUnderstand
SOAP Must Understand Error



SOAP – Simple Object Access Protocol env:MustUnderstand SOAP Must Understand Error

Слайд 19

SOAP – Simple Object Access Protocol



SOAP – Simple Object Access Protocol 12345 12345 12345 Name Surname fd3rfdsf42 Запрос Ответ


12345
12345









12345

Name
Surname

fd3rfdsf42




Запрос Ответ

Слайд 20

HTTP – HyperText Transfer Protocol

HTTP – HyperText Transfer Protocol

Слайд 21

HTTP – HyperText Transfer Protocol

HTTP – HyperText Transfer Protocol

Слайд 22

HTTP – HyperText Transfer Protocol

HTTP – HyperText Transfer Protocol

Слайд 23

RestFull Api

Модель взаимодействия клиент-сервер (Client-Server) – взаимодействие происходит по принципу клиент серверной

RestFull Api Модель взаимодействия клиент-сервер (Client-Server) – взаимодействие происходит по принципу клиент
архитектуры

Отсутствие состояния (Stateless) -  Сервер не должен хранить какой-либо информации о клиентах. Вся необходимая информация о клиенте хранится в запросах.

Кеширование (Cache) - клиенты могут кэшировать ответы.  Каждый ответ должен быть отмечен является ли он кэшируемым или нет.

Единообразие интерфейса (Uniform Interface) – любой Rest сервис должен быть понятен без его разработчика.

Многоуровневая система (Layered System)- Клиент не может однозначно определить, подключается ли он непосредственно к серверу или к посреднику по пути подключения. 

Код по требованию (Code-On-Demand) – опциональное условие. Сервер может отдавать клиенту исполняемый код (апплеты)

Слайд 24

XML формат и XSD схема

В заголовке документа помещается объявление XML, в котором

XML формат и XSD схема В заголовке документа помещается объявление XML, в
указывается язык разметки документа, номер его версии и дополнительная информация

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

В XML учитывается регистр символов

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

Вложенность тэгов в XML строго контролируется, поэтому необходимо следить за порядком следования открывающих и закрывающих тэгов

Вся информация, располагающаяся между начальным и конечными тэгами, рассматривается в XML как данные и поэтому учитываются все символы форматирования ( т.е. пробелы, переводы строк, табуляции не игнорируются, как в HTML)

Слайд 25

XML формат и XSD схема




string

XML формат и XSD схема string string string string string string string string
string

string
string



string
string

string
string



























Слайд 26

JSON формат и JSON Schema

JSON (JavaScript Object Notation) — текстовый формат обмена

JSON формат и JSON Schema JSON (JavaScript Object Notation) — текстовый формат
данными, основанный на JavaScript.

В качестве значений в JSON могут быть использованы:
Запись — это неупорядоченное множество пар ключ:значение, заключённое в фигурные скобки «{ }». Ключ описывается строкой, между ним и значением стоит символ «:». Пары ключ-значение отделяются друг от друга запятыми.
Массив (одномерный) — это упорядоченное множество значений. Массив заключается в квадратные скобки «[ ]». Значения разделяются запятыми. Массив может быть пустым, т.е. не содержать ни одного значения.
Число (целое или вещественное).
Литералы true, false и null.
Строка — это упорядоченное множество из нуля или более символов, заключённое в двойные кавычки.

Слайд 27

JSON формат и JSON Schema

{
"USERS": [
{
"UserInfromation": {
"isExternal": true,

JSON формат и JSON Schema { "USERS": [ { "UserInfromation": { "isExternal":
"Login": "12345",
"Password": "12345",
"Person": {
"Surname": "Surname",
"Name": "Name",
"age": 32
}
}
},
{
"UserInfromation": {
"isExternal": False,
"Login": "12345",
"Password": "12345",
"Person": {
"Surname": "Surname",
"Name": "Name"
}
}
}
]
}

Типа дынных в JsonSchema
string (строка)
number (число, включая все действительные числа)
integer (целое число, является подмножеством number)
boolean (true или false)
object (объект, в некоторых языках зовётся ассоциативным массивом, хэшем, хэш-таблицей, картой или словарём)
array (массив)
null («нет данных» или «не известно», возможно только значение null)
any (любой тип, включая null)

Слайд 28

JSON формат и JSON Schema

Типа дынных в Json Schema
string (строка)
number (число, включая

JSON формат и JSON Schema Типа дынных в Json Schema string (строка)
все действительные числа)
integer (целое число, является подмножеством number)
boolean (true или false)
object (объект, в некоторых языках зовётся ассоциативным массивом, хэшем, хэш-таблицей, картой или словарём)
array (массив)
null («нет данных» или «не известно», возможно только значение null)
any (любой тип, включая null)

Слайд 29

CSV (Comma-Separated Values)  формат

Спецификация:
Каждая строка файла — это одна строка таблицы.
Разделителем значений

CSV (Comma-Separated Values) формат Спецификация: Каждая строка файла — это одна строка
колонок является символ запятой (,). Однако на практике часто используются другие разделители.
Значения, содержащие зарезервированные символы (двойная кавычка, запятая, точка с запятой, новая строка) обрамляются двойными кавычками ("). Если в значении встречаются кавычки — они представляются в файле в виде двух кавычек подряд.

isExternal;Login;Password;Surname;Name;age
true;12345;12345;Surname1;Name1;32
false;12345;12345;Surname2;Name2;

Слайд 30

ESB(Enterprise Service Bus) интеграция

ESB(Enterprise Service Bus) интеграция

Слайд 31

MQ (Message Queue) интеграция

MQ (Message Queue) интеграция

Слайд 32

API w\s (Web Service) интеграция

API w\s (Web Service) интеграция

Слайд 33

Интеграция через файл

Интеграция через файл

Слайд 34

Интеграция через таблицу в БД

Интеграция через таблицу в БД

Слайд 35

Микросервисная архитектура

Микросервисная архитектура

Слайд 36

Литература

http://khpi-iip.mipk.kharkiv.edu/library/sotii/lectures/Lecture5.pdf - SOAP протокол
https://ru.wikipedia.org/wiki/HTTP#OPTIONS – HTTP протокол
https://habr.com/ru/post/319984/ - Rest системы
http://sap.pitroff.ru/tehnologii/rest/rest-eto-ne-pro-otdyih-chast-pervaya-chto-takoe-rest/ - что

Литература http://khpi-iip.mipk.kharkiv.edu/library/sotii/lectures/Lecture5.pdf - SOAP протокол https://ru.wikipedia.org/wiki/HTTP#OPTIONS – HTTP протокол https://habr.com/ru/post/319984/ - Rest
такое REST архитектура
http://blogger.sapronov.me/2014/02/rest.html - введение в rest
https://www.ibm.com/developerworks/ru/library/x-newxml/index.html - xml формат
https://bdpx.github.io/xml/lab3/xsd.html - xsd схема
https://docs.microsoft.com/ru-ru/dotnet/csharp/programming-guide/concepts/linq/sample-xsd-file-customers-and-orders1 - образец XSD файла
https://docs.microsoft.com/ru-ru/dotnet/csharp/programming-guide/concepts/linq/sample-xml-file-customers-and-orders-linq-to-xml-2 - образец XML файла
https://ru.wikipedia.org/wiki/JSON -JSON формат
https://habr.com/ru/post/158927/ - JSON Schema
https://ru.wikipedia.org/wiki/CSV - CSV формат
https://compress.ru/article.aspx?id=21413 – ESB интеграция
https://habr.com/ru/post/326088/ - виды интеграций
https://javarush.ru/groups/posts/2015-mikroservisnaja-arhhitektura-pljusih-i-minusih - микросервисная архитектура
http://www.mstu.edu.ru/study/materials/zelenkov/ch_4_2.html - нормализация БД
https://habr.com/ru/post/254773/ - нормальные формы БД

Слайд 37

Задание

1. Описать в формате JSON взаимодействие Web сервер – браузер
JSON с данными

Задание 1. Описать в формате JSON взаимодействие Web сервер – браузер JSON
по условиям кредитования;
JSON с заявкой на кредит;
В зависимости от выбранного решения по способу расчета ежемесячного платежа описать дополнительные сообщения.
2. В формате XML описать взаимодействие Web сервер – JSON
Данные по условиям кредитования;
Сформированная заявка.
3. Сделать XSD и JSON Schema для описываемых сообщений
4. Описать пример и формат графика платежей в CSV
5. Описать структуру в БД для хранения заявки на кредит
6. Изобразить интеграционную схему с протоколами взаимодействия

Слайд 38

Структура технического задания

Структура технического задания

Слайд 39

SMART принципы

SMART принципы
Имя файла: Обучение-сотрудников.pptx
Количество просмотров: 27
Количество скачиваний: 0