Прежде всего предположим, что речь идет не о домашней странице, а о "сайте на заказ" - основной отличительный элемент подобного проекта в том, что вам приходится общаться с клиентом (John Doe, Вася Пупкин). Идея разработки сайта могла прийти клиенту (Васе) в любой момент времени (приснилась в страшном сне, бабка нашептала - есть варианты:) - но собственно цель видна смутно, предназначение определится ближе к концу игры: повод - как же, это престижно, у Пети есь, у Мани есть: Вася решился и пошел искать криэйтера - благо верстать html-страницы умеет любой мало-мальски уважающий себя студент, да и школьники сейчас не слабые. Ура! Студент нашелся, и у студента возникает к Васе первый вопрос: а о чем, собственно? Какая ТЕМА сайта? С трудом, после долгих намеков и перемигиваний выясняется, что Вася хочет сайт про свою жизнь, богатую приключениями: и даже готов платить:
Но! - стоимость сайта по-прежнему определяется относительно сложного коэффициента человеко/дней - и студенту необходимо определить объем работы: и тут начинается самое интересное.
Вася объем работы определить не может, поскольку "сайт" является для него одним объектом, который вовсе не подразделяется на такие вещи, как html-страницы, java-скрипты, и Вася знать ничего не желает о ТАБЛИЦАХ СТИЛЕЙ! Вариант первый - линейная наработка проекта - когда студент рисует первую страницу, утверждает дизайн, а потом добавляет кнопки и генерит остальные страницы по мере общения с Васей.
Недостатки этого варианта видны сразу, и все их перечислять смысла нет. Основное - проблема, если навигация исполнена в виде графических меню; проблема - если графика с логотипами грамотно порезана где-нибудь в ImageReady, а у Васи идеи по тому, что будет и чего не будет на первой странице, возникают и меняются несколько раз в день и собственно до самого конца работы над проектом; проблема, если Вася имеет необходимость в таких подструктурах сайта, как feedback (чаты, форумы, etc.), обработка информации в базах данных, автоматизация новостийных обновлений: Много чего может придумать Вася.
Вариант второй - стребовать с Васи договор о том, что делать и чего не делать, и аванс, сделать все по пунктам договора, ничего не меняя, прийти с друзьями, забрать оплату и потерять Васю как потенциального заказчика навеки: Потому что ТАК НЕ БЫВАЕТ, чтобы по ходу проекта ничего не менялось: и Вася конечно обидится.
В выигрыше как всегда золотая середина. Разрабатывается структура сайта, некоторое время правится, потом принимается относительно стабильный вариант - и только после этого студент садится рисовать дизайн первой страницы.
2. СТРУКТУРА
Опять же есть варианты. Умные люди придумали достаточное количество программных продуктов для проектирования структур любого уровня сложности и глобальности. В порядке упрощения:
а) Rational Rose - глобальный и массивный инструмент для проектирования систем любой сложности. Имеет средства для моделирования, анализа, реверс инжиниринга (когда не по модели строется проект, а наоборот - затягивается проект, который анализируется кейсом, и тот генерит модель проекта, включая связи между элементами и динамику обновлений). Один из Add-Ins`ов Rational Rose - создание и анализ web-проектов. Rational Rose имеет свой язык - UML, не сказать, что невозможно сложный в освоении: но уж больно это глобально. Может быть оправдано при разработке проектов сложности уровня Hotmail.com. Создателям домашних страничек можно не пугаться - Rational Rose им не понадобится.
б) ER Win - чудная кейс система, которую тоже можно использовать для проектирования, имеет Add-Ins для генерации web-проектов и для Reverse Engineering. незаменим для любителей XML или всяческих других сложностей. Простой интерфейс, легко разобраться, что где нажимать, чтобы нарисовать схему и расставить связи: Начать можно именно с того, что просто втянуть любой (не очень большой) проект в ER Win и посмотреть, как сам кейс отрисует модель, посмотреть свойства созданных объектов, типы связей: Рекомендую!
в) Любой редактор, в котором можно рисовать квадратики, стрелочки-кружочки и набрать буковки. Именно таким способом и были созданы все мои структуры:
Итак, что есть наша первая страница? Если это презентационный сайт, первая страница может быть рекламно-феерическая, но все же даже после просмотра всех ваших гениальных флеш-роликов юзер должен увидеть хотя бы самый простой вариант меню для навигации. Если это информационнный сайт, то меню уже с первой страницы будет достаточно сложным
Нарисуем все блоки, укажем, что еще не было оговорено (чтобы не забыть), такую схему уже можно показывать заказчику - пусть утверждает названия кнопок, заголовки, наличие сервисов:
На этой же структуре схематически указываются уровни вложености. И совсем уже по-хорошему каждый исправленый вариант должен иметь дату последней модификации и подпись Васи Пупкина, подтверждающую изменения.