Если коротко, то архитектура - это смесь науки и искусства, а проектирование - это смесь технологий и дизайна.
Поясняю: здание сначала должно получить архитектурное решение, в результате которого будет определена форма, концепция, эстетика, принцип, а потом уже можно приступать к проектированию - созданию планов этажей, отдельных схем подсистем (вентиляции, коммуникации, эвакуации и т.д.). Для программного обеспечения, архитектура заключается в том, чтобы:
разделять,
называть и
связывать.
Что есть архитектура?
Это архитектурная задача:- Выделить и назвать модули, построить связи
- Скомпоновать подсистемы в систему
Выбор идей и инструментов:- Парадигмы, стандарты, модели данных
- Технологии, фреймворки, паттерны
- Модели взаимодействия модулей
- Выбор топологии
- Протоколы и форматы данных
Задача интеграции:- Стыковка модулей еще до их разработки
- Определить внешние интерфейсы (связи)
Что есть проектирование?
Инженерная задача:- Планирование и детализация модулей
- Спецификация модулей, компонентов, вплоть до классов, методов и функций
- Моделирование данных (ООП или структуры памяти)
- Разрабока ER-моделей и структур БД
- Оптимизация
Задача моделирования:- Сделать прототип, макет, пилотный или пробный экземпляр
- Математическое моделирование
- Тестирование и апробация моделей
- Проверка идей и алгоритмов
- Нагрузочное тестирование
Задачи эксплуатации:- Подготовка системы к эксплуатации
- Внедрение
- Инженерная поддержка