
- •Архитектура ПО
- •Архитектура ПО
- •То есть архитектура – это сквозная концепция или набор таковых для преодоления энтропии
- •При разработке архитектуры ПО важным оказывается совмещение множества точек зрения. ПО оказывается настолько
- •Причина множественности точек зрения при разработке ПО
- •Это происходит, прежде всего, из-за разных видов деятельности процесса разработки ПО (см. рис.
- •Разные виды деятельности – разные взгляды на систему
- •Далее, в разработку/использование ПО вовлечено большое количество очень разных специалистов: программисты, инженеры, тестеры,
- •Разные специалисты – разные взгляды на систему
- •Множественность точек зрения происходит также от того, что нет единых стандартов и норм
- •Точка зрения (viewpoint) —
- •Часто понятие архитектуры сильно сужают, понимая под ним лишь описание основных, важных аспектов
- •Диаграмма классов
- •Пример диаграмм размещений
- •Пример диаграмм компонент
- •Управление
- •Требования можно разделить на 2 группы – функциональные и нефункциональные.
- •Свойства требований
- •Свойства требований (продолжение)
- •Варианты формализации требований
- •1.Неформальная постановка требований в переписке по электронной почте.
- •2.Требования в виде документа – описание предметной области и ее свойств, техническое задание
- •3.Требования в виде графа с зависимостями в одном из средств поддержки требований (IBM
- •1.Формальная модель требований для верификации, модельно-
- •Цикл работы с требованиями
- •2.Анализ требований (requirements analysis), целью которого обнаружение и устранение противоречий и неоднозначностей в
- •4.Валидация требований (requirements validation), которая решает задачу оценки понятности сформулированных требований и их

Архитектура ПО
1

Архитектура ПО
внутренняя структура продукта (компоненты и их связи), основы пользовательского интерфейса продукта, а также квинтесенция знаний и решений, являющихся инструментом разработки и управления проектом.
2

То есть архитектура – это сквозная концепция или набор таковых для преодоления энтропии и хаоса, стремящихся «проглотить» разработку в виду сложности, нематериальности, согласовываемости и изменчивости ПО.
3

При разработке архитектуры ПО важным оказывается совмещение множества точек зрения. ПО оказывается настолько сложным, что его архитектуру не построить как единую модель – множество отдельных аспектов должны быть представлены в архитектуре, их связи сложны и плохо выразимы в явном виде. Полезнее оказывается создание множества моделей, созданных с разных точек зрения.
4

Причина множественности точек зрения при разработке ПО
5

Это происходит, прежде всего, из-за разных видов деятельности процесса разработки ПО (см. рис. Сл.слайд). При составлении функциональных требований к ПО обращают внимание на то, какая именно функциональность должна быть реализована, но при этом опускаются принципы и детали реализации.
При проектировании, наоборот, на первое место выходят принципы реализации ПО.
А при тестировании детали реализации снова неважны
— на ПО смотрят как на черный ящик, реализующий (не важно каким способом) некоторый набор пользовательской функциональности. При развертке у
заказчика на ПО смотрят как на набор файлов, |
|
хранилищ данных и т. д. |
6 |
|

Разные виды деятельности – разные взгляды на систему
7

Далее, в разработку/использование ПО вовлечено большое количество очень разных специалистов: программисты, инженеры, тестеры, технические писатели, менеджеры, заказчик, пользователи, продавцы-маркетологи и т. д. (см. рис. на след слайде).
Для всех эти специалистов нужна разная информация о программной системе. Представьте, что произойдет, если, например, продавцу или заказчику-непрограммисту в ответ на просьбу получше ознакомиться с ПО вы дадите почитать программные коды…
8

Разные специалисты – разные взгляды на систему
9

Множественность точек зрения происходит также от того, что нет единых стандартов и норм разработки ПО. То есть разработка ПО во многом «state of art». Часто приходится изобретать новую точку моделирования зрения прямо по ситуации – чтобы именно этот эксперт тебя понял, чтобы именно эти особенности системы были отражены.
Итак, разные виды деятельности при разработке ПО, разные категории специалистов, задействованные в программном проекте, и уникальность каждой конкретной ситуации при разработке — все это приводит к созданию и использованию различных моделей, выполненных с разных точек зрения.
10