Шрифт:
В заключение краткого экскурса о спеках дам еще одну полезную
идею.
Каждая более или менее уважающая себя компания имеет свой
сайт в локальной сети (intranet), который недоступен внешним
пользователям. На этом сайте можно прочитать тезисы о корпо-
ративной морали, узнать имя любимого лемура президента ком-
пании, посмотреть фотографии тех, кто по-тихому правит утвер-
жденные спеки, и найти много другой полезной информации. Так
вот, все когда-либо утвержденные спеки должны быть выло-
жены на этот сайт. При этом они группируются по номеру релиза
и доступны для просмотра, поиска по директориям (название
директории — номер релиза), ID, ключевым словам в названии и
имени продюсера. Если спек ссылается на внешний документ
(например, на правила расчетов Центрального банка), то спек
должен содержать гиперлинк на адрес такого документа в локаль-
ной сети.
Постановка мозгов
Не стесняйтесь рапортовать баги, которые вы будете находить в
спеках. Если продюсеры не понимают, то объясните им без пере-
водчика, что баги, посеянные в спеке, могут, как зараза, перенестись
в код и тест-кейсы и баг, найденный раньше, стоит компании дешевле
(об этом чуть позже), а посему учет таких багов является не правом,
а обязанностью тестировщиков.
Следующий этап цикла разработки ПО — это кодирование, осу-
ществляемое программистами (в то время как тестировщики
планируют проверку пишущегося кода).
Кодирование
Работа программиста заключается в том, чтобы перевести вещи,
отраженные в спецификации (или словах босса), на язык про-
граммирования.
Перевод осуществляется
• напрямую, т.е. программист берет спек и напрямую кодирует
его предписания (плохая, недальновидная и опасная идея),
• или после создания внутреннего дизайна кода, т.е. сугубо
технической документации, планирующей, как требова-
ния спека будут воплощены в коде (хорошая, дальновидная
и благодарная идея).
Цикл разработки ПО
87
К документам о внутреннем дизайне кода относятся, например,
• документ о дизайне /архитектуре системы (System /Architec-
ture Design Document);
• документ о дизайне кода (Code Design Document).
развитие культуры создания и поддержания документации о
внутреннем дизайне кода — это один из признаков, что стар-
тап из шарашкиной конторы (пусть даже и с миллионным
финансированием) превращается в серьезную софтверную
компанию.
Идем дальше.
В идеальном случае каждый программист имеет личную версию
сайта (или playground— игровую площадку), в которую входят:
• веб-сервер (web server);
• сервер с приложением (application server);
• база данных (database).
Коротко остановимся на каждом из этих компонентов.
Пример
1. Пользователь набирает в браузере: www.testshop.rs. Через Интернет
запрос идет на веб-сервер, и в ответ на жесткий диск пользователя
сыпятся:
• файл index.htm, содержащий HTML (Hyper Text Markup Language)-код с
инкорпорированным в нем JavaScript (читается как "джава-скрипт")-
кодом;
• файлы-картинки (images), на которые ссылается веб-страница