Проектирование информационных системНачнем с рассмотрения общей архитектуры. Для начала, давайте выделим характерные особенности информационных систем подобного рода, функционирующих в сети Интернет на веб-сайтах, т.к. задача проектирования базируется на характеристиках той или иной системы и предъявляемых функциональных требованиях. Итак:
Рассмотрим по порядку эти характеристики. На переднем плане первые два пункта.
Они представляют собой наиболее важное отличие от информационных систем, функционирующих
в закрытых сетях. Мы не имеем возможности хранить и обрабатывать какую-либо информацию
на стороне клиента. Все должно выполнятся на сервере. При разработке информационной системы
с клиентским программным обеспечением можно было бы хранить часть пользовательской
информации и обрабатывать ее на стороне клиента. Такая возможность позволила бы нам
разгрузить сервер и трафик сети. Например, в случае анализа посетителей веб-сайтов, мы
хранили бы основные объемы информации у клиентов, а на сервере - лишь общедоступные статистические
отчеты, выжимки и сравнительные показатели с другими клиентами. Но мы не имеем такой
возможности, поэтому надо тратить большие деньги на накопители жестких дисков и
вычислительные мощности серверов. Многопользовательский доступ и разграничение
доступа являются общими требованиями для всех информационных систем. Важным критерием
является ограничение по объему передаваемой информации. На сервере может быть канал с большой пропускной
способность, но по этому каналу идет информация от множества клиентов. В свою очередь,
у пользователя информация идет только для него, но очень часто пользователи сидят
на плохих каналах, например, на модемном соединении, или же просто, в силу удаленности
и большого количества шлюзов между клиентом и сервером, скорость передачи информации очень
медленная. В связи с тем, что в сети Интернет находится огромное количество людей, среди которых
есть и злоумышленники, то необходимо предъявлять повышенные требования к безопасности.
Вы не можете написать инструкцию пользователю: делай так, а не иначе, а вот здесь у нас
дырка, чтобы ее обойти, делайте так-то. Вы не знаете, чего ожидать от пользователя.
В связи с тем, что на сервере происходят все вычисления, и что пользователь
хочет работать в режиме реального времени и не намерен ждать и 30 секунд, выполнение
отдельно взятой CGI-программы должно происходить максимально быстро. И наконец,
переносимость. Конечно, эта особенность не столь важна, но допустим, вам потребовалось открыть зеркало
сайта на другом континенте. Принципиально надо решить две проблемы. Во-первых, настройка серверной
платформы и вашего программного обеспечения для функционирования вашей информационной системы.
Во-вторых, перевод системы на другой язык. На другом континенте может просто не оказаться
ни требуемой вашей информационной системой платформы, ни специалистов, которые бы могли
все это установить, настроить и поддерживать. Например, будет другая разновидность Unix.
Все эти характерные особенности, в основном, и определяют стадию проектирования.
На первом этапе проектирования необходимо выяснить требования пользователей к системе
и, на основании этих требований, сделать макет сайта, показывающего все HTML-формы и HTML-файлы
отчетов взаимодействия с информационной системой. Желательно, чтобы HTML-формы содержали
некоторые данные по умолчанию и ссылались на HTML-документы, которые, предполагается, будут
результатом выполнения запроса к системе. В этом случае, пользователям будет легче понять,
что же вы спроектировали.
|