Архитектура - Тактическое и оперативное планирование разработки интернет-приложения
Архитектура -- это высокоуровневая часть проекта приложения, каркас, состоящий из деталей проекта. Архитектуру также называют "архитектурой системы", "высокоуровневым проектом" и "проектом высокого уровня". Как правило, архитектуру описывают в единственном документе, называемом "спецификацией архитектуры" или "высокоуровневым проектом". Некоторые разработчики проводят различие между архитектурой и высокоуровневым проектом: архитектурой называют характеристики всей системы, тогда как высокоуровневым проектом -- характеристики, описывающие подсистемы или наборы классов, но не обязательно в масштабе всей системы.
Однако разработка архитектуры на один шаг ближе к конструированию, чем выработка требований и правильно выбранная архитектура приложения является критическим моментом тактического планирования - качество архитектуры определяет концептуальную целостность системы, которая в свою очередь определяет итоговое качество системы. Продуманная архитектура предоставляет структуру, нужную для поддержания концептуальной целостности в масштабе системы. Она предоставляет программистам руководство, уровень детальности которого соответствует их навыкам и выполняемой работе. Она позволяет разделить работу на части, над которыми отдельные разработчики и группы могут трудиться независимо.
Хорошая архитектура облегчает конструирование. Плохая архитектура делает его почти невозможным.
Внесение изменений в архитектуру при конструировании и на последующих этапах обходится недешево. Время, необходимое для исправления ошибки в архитектуре ПО, сопоставимо со временем, нужным для исправления ошибки в требованиях, то есть превышает временные затраты на исправление ошибки в коде. Изменения архитектуры похожи на изменения требований еще и тем, что кажущиеся небольшими изменения могут иметь далеко идущие последствия. Чем бы ни были обусловлены изменения архитектуры -- исправлением ошибок или внесением улучшений, -- чем раньше компания осознает их необходимость, тем лучше.
В первую очередь, архитектура должна включать описание системы. Без такого описания будет трудно составить согласованную картину из тысячи деталей или хотя бы десятка отдельных классов.
Архитектура должна включать подтверждения того, что при ее разработке были рассмотрены альтернативные варианты, и обосновывать выбор окончательной организации системы. Никому не хочется разрабатывать класс, если его роль в системе не кажется хорошо обдуманной.
Архитектура должна определять основные компоненты программы. В зависимости от размера программы ее компонентами могут быть отдельные классы или подсистемы, состоящие из нескольких классов. Каждый компонент является классом или набором классов/методов, которые в совокупности реализуют высокоуровневые функции программы, такие как взаимодействие с пользователем, отображение Web-странцы, интерпретация команд, инкапсуляция бизнес-правил и доступ к данным. За каждую функцию приложения, указанную в требованиях, должен отвечать хотя бы один компонент. Если функцию реализуют несколько компонентов, они должны сотрудничать, а не конфликтовать.
В архитектуре должна быть четко определена ответственность каждого компонента. Компонент должен иметь одну область ответственности и "знать" как можно меньше об областях ответственности других компонентов.
Архитектура должна ясно определять правила коммутации для каждого компонента. Она должна описывать, какие другие компоненты данный компонент может использовать непосредственно, какие косвенно, а какие вообще не должен использовать.
Список типичных разделов архитектуры:
- - Основные классы - Организация данных - Бизнес правила (и бизнес процессы) - Пользовательский интерфейс - Управление ресурсами - Безопасность - Взаимодействие с другими системами - Интернационализация/локализация - Обработка ошибок - Возможность реализации архитектуры - Готовые компоненты - Повторное использование кода - Стратегия внесения изменений
Данная работа сконцентрирована на теме экономике и управления, поэтому технические детали касательно каждого из основных разделов архитектуры опущены. Хорошая спецификация архитектуры должна описывать классы системы, информацию, скрываемую каждым классом, и обосновывать принятые и отвергнутые варианты проекта системы.
Цели архитектуры должны быть четко сформулированы. Проект системы, главным требованием к которой является модифицируемость, будет отличаться от проекта системы, которая должна показывать высочайшую производительность, даже если по функциональности обе системы будут одинаковы.
В архитектуре должны быть обоснованы важнейшие принятые решения.
В архитектуре должны быть явно определены области риска, указаны его причины и описаны действия по сведению риска к минимуму.
Похожие статьи
-
Тактическое планирование разработки Подготовка к проекту - одно из главных условий эффективного программирования. Объем планирования зависит от масштаба...
-
Требования - Тактическое и оперативное планирование разработки интернет-приложения
Разработка предварительных требований или условий, называется спецификацией и является разделом тактического планирования потому, что на основе данных...
-
Основные проблемы разработки интернет приложений Стартап или стартап-компания -- компания с короткой историей операционной деятельности. Как правило,...
-
Когда индивидуальный стратегический план интернет приложения уже определен, следует этап разработки тактического и оперативного планов разработки....
-
Планирование как важнейшая функция управления Планирование -- это вид деятельности, связанный с постановкой целей, задач и действий в будущем,...
-
По исходным данным курсового проекта, предприятие состоит из двух зданий, условно назовем их "первое" и "второе". Расстояние между ними 3000 метров,. Вся...
-
Архитектура построения баз данных - Разработка базы данных
СУБД имеют свою архитектуру. В процессе разработки и совершенствования СУБД предлагались различные архитектуры, но самой удачной оказалась трехуровневая...
-
Процесс - это последовательная смена состояний объекта во времени. Процесс планирования состоит из следующих этапов: - Определение миссии, целей и задач...
-
Введение - Тактическое и оперативное планирование разработки интернет-приложения
Планирование стратегический интернет приложение Интернет приложения - очень актуальная сфера, по нескольким причинам: 1. Интернет появился всего 20 лет...
-
Цель Работы - использовать принципы архитектуры "Документ-Представление" для выборки и сохранения данных в файлах, а также взаимодействия элементов меню,...
-
Описание предметной области Для описания предметной области была использована методология IDEF0. IDEF0 -- (ICAM DEFinition language 0) -- Function...
-
Архитектура системы (в данном случае) - это описание (модель) основной компоновки и взаимодействия частей системы. В разделе показана структура...
-
Прототип системы разрабатывался для мобильных устройств под управление операционной системы iOS. Для разработки использовался Фреймворк Vuforia SDK и...
-
В настоящее время биометрия входит в состав наиболее распространенных технологий и средств защиты информации. Отпечатки пальцев являются самой широко...
-
По результатам обследования необходимо выбрать архитектуру системы. Для корпоративных систем рекомендуется архитектура клиент/сервер. Архитектура...
-
Архитектура Teradata Teradata Database - система массовой параллельной обработки данных. Поставляется она в виде комплекса оборудования и программного...
-
В предыдущем разделе был приведен необходимый для получения набор выходных характеристик моделируемой вычислительной системы, требуемый от тестирования....
-
ОС Android - операционная система для мобильных телефонов, планшетных компьютеров и нетбуков, основанная на ядре Linux. Изначально разрабатывалась...
-
Проектирование систем оперативного анализа данных Современные системы поддержки принятия решений и информационные системы руководителей основаны на...
-
Основные понятия баз данных. Цели использования баз данных - Разработка базы данных
В широком смысле слова база данных (БД) - это совокупность сведений о конкретных объектах реального мира в какой-либо предметной области. Для удобной...
-
Процесс тестирования, Разработка тест-кейсов - Тестирование программного обеспечения
Тестирование представляет собой процесс проверки того, насколько программное обеспечение соответствует требованиям, заявленным заказчиком. Он...
-
Автоматизация загрузки - Разработка объектов Хранилища
Уровень автоматизации может быть совершенно различным. Начиная с ручного запуска всех процессов и заканчивая полностью автоматической системой, которая...
-
Два подхода к хранилищам данных - Разработка объектов Хранилища
На сегодняшний день существует два основных подхода к моделям Хранилищ данных. Это так называемая корпоративная информационная фабрика Билла Инмона и...
-
В связи с увеличением числа сотрудников, работающих в компании, а также с расширением рабочего проекта, возникла проблема, связанная с версионностью...
-
Серверная программа, Инструменты разработки - Визуализация графа цитирования
Серверная программа - это веб-сервер, необходимый для получения и хранения графов. Сервер может создавать графы цитрования из библиотеки IEEE Xplore...
-
Разработка концептуальной модели базы данных При проектировании программ выясняются запросы и пожелания клиента и определяется возможный подход к решению...
-
Интегрированная среда разработки Delphi - Приемы программирования в Delphi
Delphi - это потомок среды программирования TurboPascal. Название среды произошло от названия города в Древней Греции, где находился знаменитый...
-
Приложение разрабатывается в соответствии с паттерном проектирования Model-View-Presenter (MVP), который является производным от Model-View-Controller...
-
В процессе разработки программного средства было создано 12 таблиц. Для их создания использовалось графическое средство SqlYong и кодирование на языке...
-
Для описания плана развития предприятия формируется: 1) Инвестиционный план Раздел "Инвестиционный план" предназначен для формирования календарного плана...
-
Система функционирует как распределенная трехзвенная клиент-сервер-СУБД программная архитектура. В среде серверной операционной системы Microsoft Windows...
-
Для информационной безопасности было создано окно для ввода логина и пароля (Рисунок 2.3). Рисунок 2.3 - Окно входа в БД После входа в систему...
-
Одним из наиболее важных аспектов в учебных проектах, как и любых других, являются сроки их сдачи. Равномерное распределение задач с учетом...
-
Основание для разработки Основанием для разработки является задание, выданное преподавателем Плужниковым И. М. на курсовой проект от 14.01.2016,...
-
Полное наименование разрабатываемой системы - корпоративная информационная система "Бюджетное планирование и отчетность" группы компаний, занимающейся...
-
2.1 Среды разработки для построения программных агентов Инструментальные средства разработки программных агентов формируют среду, которая оптимизирована...
-
В качестве технологии проектирования и языка программирования были выбраны. NET Framework и C#, а также eXpressAppFramework. Язык C# и связанную с ним...
-
Основные компоненты и структура приложения Прежде чем приступить к установке и настройке среды программирования, построению технического задания и...
-
При использовании сервера баз данных в архитектуре сервера БД, схема которого представлена на рисунке 3.2, средства управления базой данных и БД...
-
Объектно-ориентированное программирование (ООП) является парадигмой программирования, которая представляет понятия, как "объекты", которые имеют поля...
Архитектура - Тактическое и оперативное планирование разработки интернет-приложения