Введение в концепции программирования. Лекция 2

author: И. Л. Мусабиров, П. В. Окопный, date: при участии канд. пед. наук, доц. Н. Г. Дмошинской

NOSoc.io

Примеры/задания:

Анонс

type: prompt

В понедельник (9.12) в 16 часов лекция Ношира Контрактора (SONIC, SyndioSocial) в 410 аудитории.

Тема: «Требуется сборка: сотрудничество в 21 веке и сетевая наука»

Разбор полётов

Notes:

Анализ проблемы. Системы. Обобщение

Notes:

Анализ проблемы. Когда задача не игрушечная

“Как (роль) я хочу (цель), чтобы (контекст потребности)”

Notes:

Пирамида требований

Requirements Pyramide

Notes:

Use Case – фиксируем поведение системы

UC описывает последовательность взаимодействия эктора и системы, приводящее к ценному для этого эктора результату

Notes:

Зачем нужны UC (Алистер Коберн)

Зачем нужны UC (2)

Зачем нужны UC (3)

Use Case modelling

type:section

UC описывает последовательность взаимодействия эктора и системы, приводящее к ценному для этого эктора результату

Use Case model: Эктор

Эктор – кто-то или что-то взаимодействующее с системой извне

Классы:

Notes:

Use Case model: Стейкхолдеры и экторы

Типы (по отношению к системе: Кто кого пинает):

Notes:

Use Case model. Список “Эктор – цель”

Notes:

Ревью + интерактивное дополнение списка для примера системы

Use Case model. Список “Эктор – цель” (2)

Проект: ИС взаимодействия с клиентами банка

Включает сеть банкоматов, терминалы оплаты по картам, инфокиоски, интернет-банк.

Notes:

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

Система объединяет разные подсистемы, но мы концентрируемся на целях экторов. Вопросы:

Use Case

type: section

Структура UC

Notes:

Смысл:

UC structure (2)

type:section

Notes

UC structure (3)

Notes

UC structure (4)

Notes:

UC structure (5)

Notes:

UC structure (5a)

Пример: Оплата по карте в терминале. Basic flow

Каких шагов не хватает?

Notes:

UC structure (6)

Notes:

UC structure (6a)

Пример: Оплата по карте в терминале. Alternative flows

Терминал не может связаться с сервером

1 Шаг обработки расширения 2 ….

Ещё примеры?

Notes:

UC structure (7)

UC structure (7a)

Терминал не может связаться с сервером

1 Отобразить сообщение о невозможности оплаты 2 Предложить повторить операцию

UC structure (7b)

Подумаем над примером

Банк вернул ответ “недостаточно средств”

1 …

Сущности и изменения их состояний

Notes:

Полный пример UC(1)

Полный пример UC(2). Basic flow

Предусловие:

Notes:

вопрос: на каких шагах что-то может пойти не так?

Полный пример UC(3). Alternative flow

На шаге Система подтвержает правильность введённого пин-кода

Условие: введён неправильный пин-код

  1. Система сообщает клиенту об ошибке при проверке пин-кода
  2. Система подтверждает возможность повторного введения пин-кода
  3. Возврат к шагу Клиент вводит пин-код основного потока

Notes:

На шаге 2 возможен ещё один альт. поток. Какой?

Вернутся на слайд назад к basic flow. Задание аудитории (на 5 мин, по группам): придумать (и записать к себе в тетрадку) ещё один альт. поток и расказать по шагам.

Полный пример UC(4). Затрагиваемые стейкхолдеры

Полный пример UC(5). Гарантии успеха и минимальные гарантии

Полный пример UC(2). Затрагиваемые сущности

Полный пример UC-модели