Книги
чёрным по белому
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Книги
Археология Архитектура Бизнес Биология Ветеринария Военная промышленность География Геология Гороскоп Дизайн Журналы Инженерия Информационные ресурсы Искусство История Компьютерная литература Криптология Кулинария Культура Лингвистика Математика Медицина Менеджмент Металлургия Минералогия Музыка Научная литература Нумизматика Образование Охота Педагогика Политика Промышленные производства Психология Путеводители Религия Рыбалка Садоводство Саморазвитие Семиотика Социология Спорт Столярное дело Строительство Техника Туризм Фантастика Физика Футурология Химия Художественная литература Экология Экономика Электроника Энергетика Этика Юриспруденция
Новые книги
Цуканов Б.И. "Время в психике человека" (Медицина)

Суворов С. "Танк Т-64. Первенец танков 2-го поколения " (Военная промышленность)

Нестеров В.А. "Основы проэктирования ракет класса воздух- воздух и авиационных катапульных установок для них" (Военная промышленность)

Фогль Б. "101 вопрос, который задала бы ваша кошка своему ветеринару если бы умела говорить" (Ветеринария)

Яблоков Н.П. "Криминалистика" (Юриспруденция)
Реклама

Совершенный код. Мастер-класс - Макконнелл С.

Макконнелл С. Совершенный код. Мастер-класс — М.: Русская редакция, 2005. — 896 c.
ISBN: 5-469-00822-3
Скачать (прямая ссылка): soversheniykodmasterklass2005.djvu
Предыдущая << 1 .. 23 24 25 26 27 28 < 29 > 30 31 32 33 34 35 .. 426 >> Следующая

классов, а также изменения состояний и время существования
объектов. Если система достаточно велика, архитектура должна
описывать организацию классов в подсистемы.
Архитектура должна описывать другие рассматривавшиеся варианты
организации классов и обосновывать итоговый вариант. Не все
классы системы нужно описывать в спецификации архитектуры.
Ориентируйтесь на правило 80/20: описывайте 20% классов,
которыми на 80% определяется поведение системы (Jacobsen,
Booch, and Rumbaugh, 1999; Kruchten, 2000).
Организация данных
Архитектура должна описывать основные виды формата файлов и
таблиц. Она должна описывать рассмотренные альтернативы и
обосновывать итоговые варианты. Если приложение использует
список идентификаторов клиентов и
разработчики архитектуры решили реализовать его при помощи
списка с после-
Верекрестная ссылка Об использовании переменных см. главы
3-403
44 ЧАСТЬ I Основы разработки ПО
довательным доступом, в документации должно быть сказано,
почему этот вид списка лучше, чем список с произвольным
доступом, стек или хэш-таблица. Эта информация окажет вам
неоценимую помощь во время конструирования и сопровождения
программы, подсказав, чем руководствовались разработчики архи-
тектуры. Без нее вы будете чувствовать себя зрителем, который
смотрит иностранный фильм без субтитров.
Прямой доступ к данным обычно следует предоставлять только
одной подсистеме или классу; исключения возможны при
использовании классов или методов доступа, обеспечивающих
доступ к данным, контролируемым абстрактным образом. Подробнее
об этом см. подраздел "Скрывайте секреты (к вопросу о сокрытии
информации)" раздела 5.3.
Архитектура должна определять высокоуровневую организацию и
содержание всех используемых БД. Архитектура должна объяснять,
почему одна БД предпочтительнее, чем несколько (или наоборот),
почему БД предпочтительнее, чем однородные файлы, определять
возможные типы взаимодействия приложения с другими
программами, использующими те же данные, объяснять, как будут
отображаться данные, и т. д.
Бизнес-правила
Архитектура, зависимая от специфических бизнес-правил, должна
определять их и описывать их влияние на проект системы.
Возьмем для примера бизнес-правило, согласно которому
информация о клиентах должна устаревать не более чем на 30
секунд. В данном случае в спецификации архитектуры должно быть
указано, как это правило повлияло на выбор метода обеспечения
актуальности данных и их синхронизации.
Пользовательский интерфейс
Пользовательский интерфейс (GUI) часто проектируется на этапе
выработки требований. Если это не так, его следует определить
на этапе разработки архитектуры. Архитектура должна описывать
главные элементы формата Web-страниц, GUI, интерфейс командной
строки и т. д. Удобство GUI может в итоге определить по-
пулярность или провал программы.
Архитектура должна быть модульной, чтобы GUI можно было
изменить, не затронув бизнес-правил и модулей программы,
отвечающих за вывод данных. Например, архитектура должна
обеспечивать возможность сравнительно легкой замены группы
классов интерактивного интерфейса на группу классов интерфейса
командной строки. Такая возможность весьма полезна; во многом
это объясняется тем, что интерфейс командной строки удобен для
тестирования ПО на уровне блоков или подсистем.
Проектирование GUI заслуживает отдельной книги, и мы его
httр://ос2е.corn/0393 рассматривать не будем.
Управление ресурсами
Архитектура должна включать план управления ограниченными
ресурсами, такими как соединения с БД, потоки и дескрипторы.
При разработке драйверов, встроенных систем и других
приложений, которые будут работать в условиях ограни
ГЛАВА 3 Семь раз отмерь, один раз отрежь: предварительные
условия
45
ченной памяти, архитектура должна также определять способ
управления памятью. Архитектура должна включать оценку
ресурсов, используемых в номинальном режиме и при
экстремальной нагрузке. В простейшем случае эти оценки должны
подтвердить, что предполагаемая среда использования приложения
будет располагать нужными ресурсами. В более сложной ситуации
в приложении, возможно, придется реализовать более активное
управление выделенными ему ресурсами. Если это так,
архитектуру менеджера ресурсов нужно спроектировать не менее
тщательно, чем любой другой компонент системы.
Безопасность
Архитектура должна определять подход к безопасности на уровне
проекта приложения и на уровне кода. Если модель угроз до дих
пор не разработана, это следует сделать при проектировании
архитектуры. О безопасности нужно помнить и при разработке
принципов кодирования, в том числе методик обработки буферов и
ненадежных данных (данных, вводимых пользователями, файлов
"cookie", конфигурационных данных и данных других внешних
интерфейсов), подходов к шифрованию, уровню подробности
сообщений об ошибках, защите секретных данных, находящихся в
памяти, и другим вопросам.
Производительность
Предыдущая << 1 .. 23 24 25 26 27 28 < 29 > 30 31 32 33 34 35 .. 426 >> Следующая