
ПКС / Лекции все
.pdf
3. Критические объекты и процессы программных средств |
31 |
в международных стандартах. Объектный подход. |
- сервис (service) представляет собой:
1)средства доставки пользовательского контента (means of delivering value for the customer);
2)выполнение рабочих процессов (performance of acitivities);
3)интерактивно переключаемый режим управления информацией (behavior, triggered by an interaction).
-сервисный компонент (service component) представляет собой единственный модуль сервиса (single unit of a service), предназначенный для взаимодействия с другими модулями сервиса;
-дескриптор (handle) означает идентификатор, используемый для доступа к объекту; обработчик (handler) означает программу оработки особых ситуаций или событий;
-инициировать (invoke) значит активировать программу, процедуру или процесс;
-инициатор (invoker) означает объект, который может быть вызван (that caller can execute it);
-назначение вызовов (invoking) означает создание инициатора и соответствующих инициируемых действий.
-выполнять (execute) значит производить запуск программы или команды (процесса или процедуры); исполнитель / исполнительное устройство (executor) означает объект, который выполняет действие самостоятельно либо от имени другого объекта (в результате делегирования); выполнение программы/команды (executing) означает запуск процесса или процедуры исполнителем / исполнительным устройством.
-ставить “ловушку” (hook) означает определять специальную процедуру, которая отслеживает появление некоторого события;

3. Критические объекты и процессы программных средств |
32 |
в международных стандартах. Объектный подход. |
-устанавливать соответствие (map) значит преобразовывать данные (mapping) из одной формы в другую; преобразование данных (mapping) означает назначенное соответствие между двумя сущностями, которые представлены в виде набора упорядоченных пар объектов (assigned correspondence between two things that is represented as a set of ordered pairs); также мэппинг является ассоциативным массивом, соотношение “один-к-одному”;
-разделять объекты (decouple) значит сделать объекты более независимыми один от другого, чтобы уменьшить влияние изменений и ошибок в соответствующих модулях; разделение объекты (decoupling) процесс разделения объектов (decouple);
-связывать объекты (bind) – назначить значение идентификатору; связывание (binding) означает объединение и/или синхронизацию данных различных объектов;
--статическое связывание (static binding) означает связывание данных (binding) до выполнения приложения (computer program) без последующего изменения этих данных во время работы приложения (также называют “раннее связывание”: “early binding”); динамическое -- связывание (dynamic binding) означает связывание данных (binding) во время выполнения приложения (“на лету”: “on the fly”; также называют “позднее связывание”: “late binding”);
--группирование объектов (bundle) означает объединение объектов в группу; наоборот: разгруппирование объектов
(unbundle);
-- развертывание (deploy) означает приведение объекта в рабочее состояние и принятие решений о необходимых переключениях при ошибках (is put into operation and cutover issues are resolved).

3. Критические объекты и процессы программных средств |
33 |
в международных стандартах. Объектный подход. |
Объектный подход в методологии Bottom-Up
Подход к проектированию/разработке “снизу-вверх” (bottom-up) означает выполнение рабочих процессов (activity),
начиная с базовых компонентов самого нижнего уровня (lowest-level component) и последовательно переходя к компонентам верхнего уровня (highest level);
Подход к проектированию “снизу-вверх” (bottom-up design) – то же, что bottom-up – только для процессов проектирования. Примеры применения bottom-up (bottom-up approach):
--Создание приложения по технологии WPF: первичной является XAML-разметка (расширение XML), тогда как сами компоненты создаются/размещаются, основываясь на данных XAML-разметки (на основе XAML-скрипта);
--Создание приложения на основе WinAPI32: соответствующие ресурсы собираются с помощью скриптов, например, используется сквозная нумерация внутренних файлов приложения (иконки, группы иконок, текстовые строки, диалоговые окна, информация о версии содержимого, бинарные файлы): по умолчанию, 100, 101, 102..;
--Создание набора скриптов для моделирования расчетной конструкции: задаются исходные данные конструкций и параметры расчетов;
--Развертывание (deployment) БД из скрипта: выполняются первоначальные настройки, создаются таблицы, включая взаимосвязи между ними, происходит заполнение данными;
-оценивание «снизу-вверх» (bottom-up estimating) – методика оценивания стоимости и длительности проекта (project duration and cost) путем агрегирования (aggregating) компонентов нижнего уровня (lower-level components) при декомпозиции работ в прикладных системах автоматизированного проектирования (WBS, work breakdown structure).

3. Критические объекты и процессы программных средств |
34 |
в международных стандартах. Сценарный подход. |
Сценарный подход (методология Bottom-Up)
-Сценарный подход (scenario-based design) – набор методик, с помощью которых проектируемая система подробно представлена с точки зрения пользователя до выполнения разработки системы.
-Рабочий сценарий (operational scenario) – описание представимой последовательности событий, которое включает взаимодействие продукта или сервисного компонента с рабочим окружением (environment) и пользователями.
-Скрипт сценария (scenario script) – пошаговое описание (step-by-step description) последовательности событий, которые происходят параллельно или последовательно; сценарий может быть представлен в виде:
--- рассказа пользователя (user story);
--- UML-диаграммы вариантов использования (use case);
--- рабочего решения (operational concept);
--- UML-диаграммы последовательности (sequence of events).
-Примеры:
--- создание ресурсной dll в WinAPI32: агрегирует (объединяет путем создания «гибких» взаимосвязей) разные объекты исходных данных внутри одного файла;
--- создание сценария ресурсов в WinForms: агрегирует разные файлы в одном проекте;
-Тестирование по сценарию (scenario testing) – методика создания тестов по индивидуальным сценариям.

3. Критические объекты и процессы программных средств |
35 |
в международных стандартах. Сценарный подход. |
system boundary
actor
usecase
роль (actor)–типовой активный объект, поведение которого является внешним по отношению к проектируемой системе; прецедент (usecase; также называют «вариант использования») – «набор сценариев, связанных общей целью»;
предметная область прецедентов («рамки системы» (system boundary)) определяет границы системы, внутри которых взаимодействие с ролевыми объектами приводит к рассматриваемым результатам;

3. Критические объекты и процессы программных средств |
36 |
в международных стандартах. Сценарный подход. |
типовые взаимосвязи:
<<include>> (включение):
–определяет «общие части поведения двух или более прецедентов»: «некоторая общая часть может извлекаться в другой прецедент» (декомпозиция);
–определяет «иерархическую композицию вариантов использования прецедентов»;
<<extend>> (расширение):
– добавочное поведение, которое дополняет другие прецеденты (другой прецедент), «расширяя» их (его) действие;
<<inherit>> (наследование):
– определяет создание роли (или прецедента) на базе другой роли (или прецедента).
<<include>>
<<include>>
<<include>>
<<include>>

3. Критические объекты и процессы программных средств |
37 |
в международных стандартах. Сценарный подход. |
UML-диаграмма прецедентов (Use case): вариантов представления (использования)

3. Критические объекты и процессы программных средств |
38 |
в международных стандартах. Сценарный подход. |
Пример последовательности составления UML-диаграммы прецедентов
1) выполняют текстовое описание задачи в виде сценария, выделяя типовые действия для основных ролей;
2)упорядочивают сценарий, группируя роли и определяя принадлежность типовых действий к категории <<include>>, <<extend>> или
<<inherit>>;
3)выполняют графическое описание задачи, определяя рамки проектируемой системы.
Пример выполнения этапа 1:
-Пользователь желает воспользоваться сервисом, в котором представлены его данные; И ТАКЖЕ получает доступ к своим данным после авторизации.
-Разработчик сервисов изучает инструкции по доступу к критически важным данным;
А ТАКЖЕ создает компонент для доступа к сервису, руководствуясь инструкциями по доступу к этим данным; А ТАКЖЕ создает страницу авторизации для того, чтобы Пользователь получил доступ к своим данным; А ТАКЖЕ может выполнять действия, определенные для
Пользователя.
-Разработчик сервера приложений конфигурирует развертывание создаваемых сервисов; А ТАКЖЕ создает скрипт управления сервисом на основе настроек по развертыванию сервисов, чтобы Разработчик сервисов получил доступ к созданию сервисных компонентов; А ТАКЖЕ может выполнять действия, определенные для Разработчика сервисов.
-Пользователь желает воспользоваться сервисом, в котором представлены его данные;
И ТАКЖЕ получает доступ к своим данным после авторизации.
- Разработчик сервисов изучает инструкции по доступу к критически важным данным; А ТАКЖЕ создает компонент для доступа к сервису, руководствуясь инструкциями по доступу к этим данным; А ТАКЖЕ создает страницу
авторизации для того, чтобы Пользователь получил доступ к своим данным; А ТАКЖЕ может выполнять действия, определенные для
Пользователя.
- Разработчик сервера приложений конфигурирует развертывание создаваемых сервисов; А ТАКЖЕ создает скрипт управления сервисом на основе настроек по развертыванию сервисов, чтобы Разработчик сервисов получил доступ к созданию сервисных компонентов; А ТАКЖЕ может выполнять действия, определенные для Разработчика сервисов.

3. Критические объекты и процессы программных средств |
39 |
в международных стандартах. Сценарный подход. |
Пример последовательности составления UML-диаграммы прецедентов
Пример выполнения этапа 2:
-Пользователь получает доступ к пользовательским данным (прецедент, который следует моделировать: <<include>> для роли пользователя).
-Разработчик сервисов изучает инструкции по доступу к критически важным данным (прецедент), В ТОМ ЧИСЛЕ (<<include>>), создает компонент для доступа к сервису (прецедент), что, В ТОМ ЧИСЛЕ (<<include>>), включает создание страницы авторизации
(прецедент), ЧТО ПОЗВОЛЯЕТ (<<extend>>) Пользователю получить доступ к сохраняемым данным; НАСЛЕДУЕТ (<<inherit>>)
возможности Пользователя.
-Разработчик сервера приложений конфигурирует развертывание сервисов (прецедент), В ТОМ ЧИСЛЕ (<<include>>), создает скрипт управления сервисом (прецедент), ЧТО ПОЗВОЛЯЕТ (<<extend>>) Разработчику сервисов создать компонент доступа для авторизации;
НАСЛЕДУЕТ (<<inherit>>) возможности Разработчика сервисов.
Пример выполнения
В ТОМ ЧИСЛЕ
НАСЛЕДУЕТ
В ТОМ ЧИСЛЕ
НАСЛЕДУЕТ
этапа 3:
ЧТО ПОЗВОЛЯЕТ
В ТОМ ЧИСЛЕ
ЧТО ПОЗВОЛЯЕТ

3. Критические объекты и процессы программных средств |
40 |
в международных стандартах. Сценарный подход. |
Пример последовательности составления UML-диаграммы прецедентов
Пользователь сервиса желает воспользоваться сервисом, в котором представлены его персональные данные. Пользователь сервиса получает доступ к своим данным после авторизации через номер телефона или почтовый адрес (в качестве логина) и пароль.
Ролевой объект Telegram BotFather предоставляет доступ к своему интерфейсу, выступая в качестве посредника между Frontend-
разработчиком сервиса и Пользователем сервиса.
Frontend-разработчик сервиса изучает инструкции по доступу к персональным данным. Frontend-разработчик сервиса разрабатывает
программный интерфейс для работы пользователя с сервисом.
Backend-разработчик сервиса создает программный интерфейс для работы с логикой сервиса. Backend-разработчик сервиса также может выполнять действия, определенные для Frontend-разработчика сервиса.