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

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

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

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

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

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

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

даже не нужно задумываться. Другие вопросы важны, но не
требуют формальных ответов. Однако если
40 ЧАСТЬ I Основы разработки ПО
вы работаете над крупным формальным проектом, вам, наверное,
следует ответить на каждый вопрос.
Специфические функциональные требования
? Определены ли все способы ввода данных в систему с указанием
источника, точности, диапазона значений и частоты ввода?
а Определены ли все способы вывода данных системой с указанием
назначения, точности, диапазона значений, частоты и формата?
? Определены ли все форматы
вывода для Web-страниц, отчетов и т. д.?
а Определены ли все внешние аппаратные и программные
интерфейсы?
а Определены ли все внешние
коммуникационные интерфейсы с указанием
протоколов установления соединения, проверки ошибок и
коммуникации?
а Определены ли все задачи, в выполнении которых нуждается
пользователь?
? Определены ли данные, используемые в каждой задаче, и
данные, являющиеся результатом выполнения каждой задачи?
Специфические нефункциональные требования (требования к
качеству)
а Определено ли ожидаемое пользователем время реакции для всех
необходимых операций?
? Определены ли другие временные параметры, такие как время
обработки данных, скорость их передачи и пропускная
способность системы?
? Определен ли уровень защищенности системы?
? Определена ли надежность системы, в том числе такие аспекты,
как следствия сбоев в ее работе, информация, которая должна
быть защищена от сбоев, и стратегия обнаружения и
исправления ошибок?
а Определены ли минимальные требования программы к объему
памяти и свободного дискового пространства?
? Определены ли аспекты удобства сопровождения системы, в том
числе способность системы адаптироваться к изменениям
специфических функций, ОС и интерфейсов с другими
приложениями?
а Включено ли в требования определение успеха? Или неудачи?
Качество требований
? Написаны ли требования на языке, понятном пользователям?
Согласны ли с этим пользователи?
? Нет ли конфликтов между требованиями?
? Определено ли приемлемое равновесие между параметрами-
антагониста- ми, такими как устойчивость к нарушению
исходных предпосылок и корректность?
? Не присутствуют ли в требованиях элементы проектирования?
? Согласован ли уровень детальности требований? Следует ли
какое-нибудь требование определить подробнее? Менее
подробно?
? Достаточно ли ясны и понятны требования, чтобы их можно было
передать независимой группе конструирования? Согласны ли с
этим разработчики?
? Каждое ли требование релевантно для проблемы и ее решения?
Можно ли проследить каждое требование до его источника в
проблемной среде?
ГЛАВА 3 Семь раз отмерь, один раз отрежь: предварительные
условия
41
? Можно ли протестировать каждое требование? Можно ли будет
провести независимое тестирование, которое позволит сказать,
выполнены ли все требования?
? Определены ли все возможные изменения требований и
вероятность каждого изменения?
Полнота требований
? Указаны ли недостающие требования, которые невозможно
определить до начала разработки?
а Полны ли требования в том смысле, что если приложение будет
удовлетворять всем требованиям, то оно будет приемлемо?
? Не вызывают ли какие-нибудь требования у вас дискомфорта?
Исключили ли вы требования, которые не поддаются реализации
и были включены лишь для успокоения клиента или начальника?
3.5. Предварительные условия, связанные с разработкой
архитектуры
Архитектура - это высокоуровневая часть проекта прило-
Пере1|реетиая иыяи 0 прш_ жения, каркас, состоящий из деталей проекта
(Buschman et тировании на вш уровнях см. al., 1996; Fowler,
2002; Bass Clements, Kazman 2003; Clements глаеы 5-9. et al.,
2003). Архитектуру также называют "архитектурой системы",
"высокоуровневым проектом" и "проектом высокого уровня". Как
правило, архитектуру описывают в единственном документе,
называемом "спецификацией архитектуры" или "высокоуровневым
проектом". Некоторые разработчики проводят различие между
архитектурой и высокоуровневым проектом: архитектурой называют
характеристики всей системы, тогда как высокоуровневым про-
ектом - характеристики, описывающие подсистемы или наборы
классов, но не обязательно в масштабе всей системы.
Так как эта книга посвящена конструированию, прочитав этот
раздел, вы не узнаете, как разрабатывать архитектуру ПО, - вы
научитесь определять качество имеющейся архитектуры. Однако
разработка архитектуры на один шаг ближе к конструированию,
чем выработка требований, поэтому архитектуру мы рассмотрим
подробнее, чем требования.
Почему разработку архитектуры следует рассматривать как
предварительное условие конструирования? Потому что качество
архитектуры определяет концептуальную целостность системы,
которая в свою очередь определяет итоговое качество системы.
Продуманная архитектура предоставляет структуру, нужную для
поддержания концептуальной целостности в масштабе системы. Она
предоставляет программистам руководство, уровень детальности
Предыдущая << 1 .. 21 22 23 24 25 26 < 27 > 28 29 30 31 32 33 .. 426 >> Следующая