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

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

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

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

•

Архитектура 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

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