Приступая к разработке
«Путь в тысячу ли
начинается с первого шага» - учил
древний китайский философ Лао-Цзы. Для проекта любого уровня сложности таким
первым шагом становится разработка технического
задания.
Безусловно, разработка технического
задания, или сокращенно, ТЗ -
это, пожалуй, один из важнейших этапов проектирования. Именно на этом
этапе зачастую определяется качество будущей автоматизированной системы (АС), её
соответствие ожидаемым требованиям - то,
насколько система будет удовлетворять Вашим потребностям в решении задач автоматизации
Вашего предприятия. Ошибки же, допущенные на этой стадии проектирования, в
дальнейшем бывает очень сложно исправить, они негативно сказываются на всем
проекте, неоправданно его усложняя, и могут в итоге привести к увеличению
стоимости и сроков реализации проекта.
В данном цикле статей мы попытаемся на конкретных примерах
проанализировать наиболее часто встречающиеся ошибки и дать свои рекомендации
по разработке ТЗ.
Основным нормативным документом на данном этапе
проектирования является ГОСТ34-602-89 «ТЕХНИЧЕСКОЕ
ЗАДАНИЕ НА СОЗДАНИЕ АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ».
ГОСТ34-602-89:
Техническое задание на АС является основным
документом, определяющим требования и порядок создания (развития или
модернизации - далее создания) автоматизированной системы, в соответствии с
которым проводится разработка АС и ее приемка при вводе в действие.
Но сейчас мы не будем перечислять здесь пункты
вышеуказанного стандарта, а попробуем подойти к вопросу с более общих позиций.
Как показывает наш опыт, строго следовать положениям ГОСТ есть смысл на том этапе разработки ТЗ, когда определены и согласованы ключевые вопросы назначения, состава и конфигурации проектируемой
автоматизированной системы, устранены все неоднозначности и противоречия в
требованиях к будущей АС. Именно на этих моментах мы и заострим внимание.
Итак, с чего начать?
Шаг 1. Определение назначения системы.
Для начала попытайтесь сформулировать назначение Вашей
системы. Что будет делать Ваша будущая система? Автоматизация бухгалтерского
учета? Электронный документооборот внутри компании? Обработка информации о
Ваших клиентах? Управление складским учетом и ресурсами предприятия? Предоставление
информации через сеть Интернет? Интернет-торговля?
Необязательно использовать устоявшиеся термины, такие как ERP (Enterprise Resource Planning – Система планирования ресурсов
предприятия, корпоративная информационная система (КИС)), или CRM (Customer Relationship Management). Просто сформулируйте - например, система
предназначена для учета товаров на складе, обработки заказов с формированием
соответствующих документов, и хранении информации о клиентах.
Замечание. Не стоит подходить
к назначению системы по принципу «все-в-одном-по-максимуму». Учитывайте
реальные потребности Вашего предприятия. Как показывает опыт, избыточный
функционал, сделанный «с запасом», как правило, в реальных условиях остается
неиспользованным, при этом неоправданно удорожая систему. Кроме того, возможно
у Вас на предприятии для автоматизации каких-либо задач уже существует своя автоматизированная
система, и в этом случае правильнее наладить взаимодействие и обмен данными
между АС?
Шаг 2. Выбор платформы.
Итак, с назначением мы определились. Следующий важный шаг
- выбор платформы.
Существуют два принципиальных подхода: использование web-интерфейса
и классические «настольные», или
«десктопные» (от англ. desktop)
приложения.
Относительно
приложений с web-интерфейсом традиционно существуют несколько распространенных заблуждений.
Первое: web-приложения – это «просто сайты в Интернете, и ничего
более серьезного». На самом деле web-приложения позволяют решать практически все те же задачи, что и
«настольные», и например, широко используются в различных АБС –
автоматизированных банковских системах. Более того, в последнее время наметился
подход, когда программы, традиционно существующие в «настольном» исполнении,
все больше переводятся на использование web-технологий.
Примером могут служить различные системы «Клиент-Банк», или надстройки Microsoft Office Live Add-on.
Второе заблуждение - что программы с web-интерфейсом более медленны, менее удобны и менее
функциональны, чем их «настольные» аналоги. Использование сочетания
традиционных и новых технологий (PHP, JSP, ASP.NET, AJAX, Flash, Microsoft Silverlight) позволяет создавать т.н. насыщенные web-приложения, не уступающие по функциональности и
удобству «настольным».
Третье распространенное
заблуждение - web-приложения менее безопасны и более уязвимы для
несанкционированного доступа к данным. На самом деле механизмы авторизации и аутентификации, шифрование, плюс правильные подходы к защищенности приложения в целом
позволяют строить безопасные системы. Международные платежные системы Visa и PayPal тому
явное подтверждение.
В случае использования web-интерфейса
приложение может быть кроссплатформенным
- т.е. для Вас не будет иметь значения,
какая операционная система (Windows,
MacOS X или Linux) используется на компьютерах
пользователей, более того - Вам нет
необходимости устанавливать на компьютерах дополнительное программное
обеспечение. Все что нужно - это web-браузер и
подключение к web-серверу через локальную сеть или
Интернет. Вся система в этом случае развертывается на web-сервере, который может быть
как внутри локальной сети Вашего предприятия, так и в сети Интернет. От рабочих станций (компьютеров)
пользователей в случае использования web-интерфейса Вам не нужны большие вычислительные мощности –
поскольку все данные в этом случае хранятся и обрабатываются на сервере.
Классические «настольные» приложения устанавливаются на
каждый компьютер, на котором будет использоваться данная система. В этом случае
приложение привязано к определенной платформе:
32 или 64-разрядные версии операционных
систем Microsoft Windows или Linux для PC,
различные версии MacOS X для компьютеров Apple.
При использовании «настольных» приложений Вы можете четко
определить рабочие станции
(компьютеры) пользователей, на которых будет установлено программное
обеспечение, тем самым физически ограничив число возможных точек входа в Вашу АС. Кроме того, “десктопные” приложения, как правило,
легче интегрируются с существующими системами, и работают чуть-чуть быстрее.
Шаг 3. Выбор базы данных.
И для web-систем,
и для настольных приложений одним из важнейших вопросов является вопрос хранения
данных. Для упорядоченного хранения и обработки информации используют базы
данных.
База данных (БД)- совокупность связанных данных, организованных по определенным правилам,
предусматривающим общие принципы описания, хранения и манипулирования,
независимая от прикладных программ. База данных является информационной моделью
предметной области.
Для хранения и управления БД используется специальный информационный ресурс - сервер БД, и специальное
ПО - система управления базами данных - СУБД.
Без преувеличения можно сказать, что база данных является
основой любой современной автоматизированной информационной системы.
Выбор базы данных во многом определяет дальнейшее построение
системы. И здесь мы вплотную подходим к одному из важнейших аспектов - стоимости
СУБД.
Прежде всего, нельзя не заметить, что все СУБД можно
разделить на 2 категории - это платные и бесплатные СУБД. К платным можно отнести Orcale, IBM DB2, Microsoft SQL Server и
Sybase
и др., к бесплатным – MySQL,
Postgree SQL и Interbase/Firebird и др.
Замечание. Не следует думать,
что бесплатные СУБД заведомо хуже,
чем их платные разновидности. Статистика показывает, что бесплатный Interbase/Firebird в
рейтинге используемых СУБД занимает третью позицию, лишь немного уступая
коммерческой Oracle (12,6% и 16,1%
соответственно по состоянию на май 2007 г.). На четвертом месте вслед за Interbase/Firebird так же
бесплатная СУБД MySQL (10,2%), в то время как
платные Sybase и IBM DB2 оказываются ближе к концу списка (2,8 и 1,7%
соответсвенно). В довершение можно отметить, что разработка бесплатной СУБД MySQL поддерживается
и спонсируется такими крупными компаниями, как Sun Microsystems и,
как ни покажется странным, Oracle.
Итак, в результате мы получили следующие предпосылки к
разработке технического задания:
- Назначение системы
(Например, «Автоматизированная система учета и
обработки заявок от клиентов, интегрированная с системой складского учета»)
- Краткое описание требуемого функционала
(Например, «АС должна предоставлять клиентам информацию
о наличии на складе товарных единиц, осуществляя импорт данных из существующей
АС «Склад». Клиенты должны иметь возможность заполнения заявок для
резервирования выбранных ими позиций»)
- Платформа
(Например, «АС должна работать через web-интерфейс на компьютерах под управлением операционной
системы Microsoft Windows XP Professional и выше без установки дополнительного
программного обеспечения»)
- База данных
(Например, «Для работы базы данных должен
использоваться Microsoft SQL Server»)
Вышеперечисленные пункты и будут минимальным набором
сведений, позволяющим специалистам начать для Вас разработку технического
задания в соответствие с ГОСТ34-602-89.
В следующей статье мы разберем ошибки, наиболее часто встречающиеся при составлении технического задания