Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Презентации / Lecture07p

.pdf
Скачиваний:
0
Добавлен:
23.06.2026
Размер:
881.5 Кб
Скачать

Пример: индексатор – архитектуры

Архитектура I

 

Текст

 

Множество

 

Упоряд.

 

Выделение

 

страницы

Разбиение на

слов

 

множество

 

очередной

 

 

 

Сортировка

 

 

 

слова

 

 

страницы

П

 

 

 

 

 

 

 

 

 

 

 

 

 

Номер

 

 

 

 

 

 

 

страницы

 

 

 

 

 

 

 

Конец

 

 

 

Вывод

Архитектура II

 

документа

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Текущее

 

 

 

 

Обработка

 

 

слово

 

 

 

 

 

 

 

 

 

 

 

символа

П

Конец

 

Вставка

Индекс -

 

 

слова

 

отображение

 

 

 

 

 

 

 

 

 

 

Номер

страницы

Конец

Вывод

документа

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

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

Вставка

ПП

Индекс - отображение

11

Пример: индексатор – сценарии

a.Поддержка нескольких языков

b.Устранение предлогов, союзов, частиц и пр.

c.Поддержка изменяемых частей речи

d.Распараллеливание

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

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

12

Пример: индексатор – оценка

a.Поддержка нескольких языков

Если языки с разными алфавитами, то ничего делать не надо

Если языки с одним алфавитом, нужна разметка документа используемыми языками

I : 4m

II : 4m

b.Устранение предлогов, союзов, частиц и пр.

I : A – добавить для множества слов фильтр, отсекающий лишнее

II : Am – добавить фильтр перед вставкой, модифицировать вставку

c.Поддержка изменяемых частей речи

I : A – добавить приведение слов в «нормальную форму» для множества

II : Am – добавить приведение слов в «нормальную форму» перед вставкой, модифицировать вставку

d.Распараллеливание

a.I : AM – вместо выделения страницы сделать разрезание на страницы, разбиение и сортировку размножить, добавить общее управление вставкой и выводом

b.II : AmM – перед обработкой символа добавить разрезание на страницы и управление, обработка упрощается, заменить индекс на обновляемый параллельно

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

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

13

Описание архитектуры

Для многих случаев хватает нескольких видов прямоугольников со стрелками

Для более сложных и общих ситуаций – Unified Modeling Language, UML

9 видов диаграмм, один – use cases – не архитектурный

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

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

14

Архитектурные диаграммы UML

Статические – описывают неизменные элементы или фиксированное состояние

Диаграммы классов

Диаграммы объектов

Диаграммы компонентов

Диаграммы развертывания

Динамические – описывают возможные изменения

Диаграммы сценариев

Диаграммы взаимодействия

Диаграммы деятельностей

Диаграммы состояний и переходов

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

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

15

UML: диаграммы классов

Классы

Интерфейсы Имя Атрибуты

Операции

Связи

Ассоциации

Композиция – строгая

Ссылочные связи

Связи-отображения

Наследование/обобщение

Зависимость

Множественность связей

Пакеты

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

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

16

UML: диаграммы объектов

Объекты

Множественность

Класс

Имя

Связи

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

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

17

UML: компоненты и развертывание

Диаграммы компонентов

Компоненты

Имя

Реализуемые интерфейсы

Пакеты

Зависимости

Диаграммы развертывания

Узлы/машины

Размещаемые компоненты

Устройства

Физические соединения

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

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

18

UML: сценарии и взаимодействия

Диаграммы сценариев

Участники – компоненты, объекты, агенты

Обмен сообщениями

Время жизни

Общие состояния

 

aClient :

 

 

AccountManager

 

anAccount : Account

 

Client

 

 

 

 

 

Операто

 

 

 

 

 

 

 

 

 

 

р

 

 

 

 

 

 

new Client()

createAccount (aClient) addAccount()

new Account()

deposit()

Диаграммы взаимодействия

Участники

Связи

Обмен сообщениями

 

 

 

 

 

 

aClient :

 

 

 

 

 

 

 

 

 

 

 

1. new

 

 

Client

 

 

 

 

 

 

 

 

 

Client()

2.1.1. new

 

 

 

 

 

 

3.

Account()

 

 

 

 

 

 

 

anAccount : Account

 

 

 

 

 

 

 

 

 

 

 

 

 

deposit()

 

 

 

 

 

 

 

2.1.

 

Операто

 

 

addAccount()

р2. createAccount (aClient)

AccountManager

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

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

19

UML: диаграммы деятельности

Дорожки (параллельные деятельности)

Деятельности

Переходы

Развилки/слияния

Условия

Иногда: потоки данных

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

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

20

Соседние файлы в папке Презентации