1. Анализ задачи
Программа заявок предназначена для предоставления клиентам фирмы возможности сделать заявку и получить ответ фирмы о возможности ее выполнения.
1. Первоначальная постановка задачи
1.1. Основные требования к программе со стороны клиента
- Периодически обновляемый прайс-лист
- Возможность сформировать первичную заявку по этому прайс-листу
- Список отправленных первичных заявок
- Ответ фирмы на заявку (подтверждение, изменения, отказ)
- Возможность внести изменения в заявку на основании ответа и отправить их фирме
- Доступ к архиву и текущим состояниям отправленных заявок
- Возможность сформировать отложенную заявку (по позициям, отсутствующим в прайсе временно или вообще из-за отсутствия спроса или новизны позиции)
1.2. Основные требования к программе со стороны отдела реализации
- Заявка должна содержать данные отправителя (физ. лицо, представитель, организация) и реквизиты прайс-листа, по которому сформирована заявка
- До проведения заявки в RS-Balance - возможность внести в заявку изменения и согласовать их с клиентом
- Уведомление клиента о фактах получения и проведения заявки
- Доступ к аналитической информации, не попадающей в RS-Balance (количество отказов, изменений, заявок по устаревшему прайсу в разрезе клиентов и представителей)
- Возможность учета отложенных заявок и последующей работы с ними (в т. ч. извещение отдела поставок)
1.3. Основные функции, которые должна выполнять программа заявок
- Подготовка и передача на сервер данных прайс-листа (RS-Balance)
- Прием и учет данных прайс-листа (Сервер)
- Доставка прайс-листа клиентам (Сервер)
- Прием прайс-листа (Клиент)
- Оформление заявки по прайсу или произвольно (Клиент)
- Отправка заявки (Клиент)
- Прием и учет заявки от клиента (Сервер)
- Доставка заявки в отдел реализации (Сервер)
- Доступ к заявке и формирование ответа клиенту (RS-Balance)
- Прием и учет ответа отдела реализации (Сервер)
- Доставка ответа пользователю (Сервер)
- Прием ответа и отправка реакции (Клиент)
- Прием и учет ответа клиента (Сервер)
- Доставка ответа в отдел реализации (Сервер)
Функции 9-14 могут выполняться несколько раз до завершения работы с заявкой.
1.4. Используемые технологии
Во всех случаях, кроме шлюза Сервер -> RS Balance, используются интернет-технологии. Информация предоставляется пользователям в виде html-документов в режиме online на сервере, в режиме offline - в виде сообщений электронной почты или архивов, содержащих html-документы. Сервер является узлом, через который проходит вся информация в программе.
Возможность клиент-серверной технологии реализовать на Сервере интерфейс ко всей функциональности программы заявок (WWW-сервер, интернет-магазин - программа в online режиме без использования какого-либо предварительно загружаемого клиентом программного обеспечения) должна быть реализована по следующим причинам:
- Не все клиенты, имеющие доступ в Интернет (Интранет фирмы) изначально готовы использовать электронную почту, архиваторы и программы закачки файлов
- Новые клиенты, потенциальные клиенты и клиенты-физические лица вряд ли вообще будут себе что-либо скачивать в то время, как у конкурентов будет удобный интернет-магазин.
- Статистика и прогнозы
- В 1999 г. в США 29% от общего числа купленных лекарств было приобретено через Интернет ($585 млн).
- В США объемы продаж лекарств через Интернет, согласно прогнозу компании IDC, к 2004 г. вырастут на 7000%
- Согласно прогнозу экспертов, к 2010 г. около половины лекарств в Европе будет продаваться через Интернет.
- Подобно торговле в Рунете вообще, аптечное дело полностью следует за американской моделью
1.5 Дополнительные требования к функциональности программы
- Клиент должен иметь возможность направить запрос фирме и, в т.ч. разработчику программы в произвольной форме и иметь доступ к ответам фирмы на его запросы и публичным запросам других клиентов.
- Клиент должен иметь доступ к информации о важных изменениях прайс-листа, ценовой политики, функциональности программы заявок.
- Программа должна быть подготовлена для работы с карточками фирмы.
- Программа должна реализовывать индивидуальный подход к клиенту, в т.ч.
- состав прайс-листа (розница / весь прайс)
- скидки (опт / наличие у клиента карточки / иное)
- приоритетность обработки заказов (наша аптека / другой город / новый клиент)
- персонификация фирмы (для каждого клиента должен быть ответственный за работу с ним сотрудник отдела реализации)
1.6 Дополнительные требования к реализации программы
- Для того, чтобы не дублировать интерфейс и функциональность Сервера для случая электронной почты, почтовый интерфейс должен быть реализован как шлюз между WWW-интерфейсом и браузером клиента.
- В случае, если какой-либо модуль программы может решать несколько однотипных задач, он должен проектироваться с учетом требований всех этих задач. Реализация в модуле функциональности конкретной задачи должна осуществляться в порядке приоритета задач
- Программа должна предоставить фирме технологический отрыв от конкурентов
2. Согласованная постановка задачи
Для обеспечения согласованности требований Первоначальной постановки задачи, в программе должны быть реализованы:
2.1. Электронная почта
- Почтовые рассылки (прайс-листов, новостей)
- Прием информации (заявок, запросов, ответов) от пользователей (клиентов, сотрудников, RS-Balance)
- Доставка ответов клиентам (способных обработать ответную реакцию пользователя)
- Хранение истории документов средствами почтовой программы
2.2. RS-Balance
- Передача данных прайс-листа на Сервер (по электронной почте)
- Прием и проведение заявок
- Передача на сервер состояния и изменений по заявкам (по электронной почте)
Доступ к операциям и документам, который не может быть эффективно осуществлен с помощью электронной почты или RS Balance, осуществляется через web-интерфейс Сервера
2.3. WWW-Сервер
- Генерация информации для почтовых сообщений и RS Balance
- Общий механизм обработки информации, приходящей на сервер через web и email интерфейсы
- WWW интерфейс к информации и функциям программы
- Для всех
- прайс
- новости
- публичная информация о фирме и товарах
- получение информации (опросы, обсуждения)
- Для персонала
- полученные запросы (от клиентов и персонала)
- возможность ответов (клиентам и персоналу)
- история документов
- подготовка публичной информации
- Для клиентов
- формирование заявок
- персональный прайс
- история заявок
- информационный обмен с фирмой
- загрузка истории в почтовую программу в случае ее потери на компьютере клиента
- Для администраторов
- управление пользователями сервера
- классификация пользователей (управление группами пользователей)
- управление правами доступа пользователей (на основе групп)
- управление документами (создание шаблонов доступных группам документов и прав)
Если обозначить понятием Документ совокупность данных, операций с ними и прав доступа к этим данным и операциям, то можно выделить следующие
2.4. Типы документов в системе
- Прайс-лист
- Заявка
- Запрос
- Новость
- Обсуждение
- Опрос
- Пользователь
- Группа пользователей
- ...
Программа должна позволять группировку этих документов в разрезе их состояний, авторов и адресатов (заявки клиента, обсуждения только для персонала, группы пользователей-клиентов и т.д.)
Документы, в зависимости от типа, могут иметь различные состояния (черновик, отправленный, к исполнению, опубликованный, в архиве и т.п.)
2.5. Выводы
Таким образом, программа, удовлетворяющая изложенным выше требованиям, должна представлять собой систему управления документами, позволяющую организовать документооборот между фирмой и клиентами, сотрудниками фирмы и клиентами, а также сотрудниками внутри фирмы.
Реализация всех функций системы займет достаточное время и наиболее эффективной может оказаться разработка проекта по следующей схеме:
- Выбрать адекватную программную платформу и изучить ее возможности (и пределы этих возможностей)
- Разработать спецификацию системы, в рамках которой
- составить как можно более полный список необходимых документов и операций с ними
- выделить общее и частное у объектов системы
- построить модель, позволяющую единообразное представление и использование различных типов документов с учетом особенностей каждого типа
- описать применение модели к объектам системы
- описать основные алгоритмы и структуры данных
- Реализовать ядро системы на основе построенной модели
- Реализовать минимальный набор функций, достаточный для работы программы заявок с ограниченной функциональностью
- Ввести систему в эксплуатацию и дорабатывать ее функциональность
3. План работы и текущее состояние проекта
- Анализ задачи
- Первоначальная постановка задачи
(июль) - Согласованная постановка задачи
(авг) - Выбор программной платформы
- Формулирование принципиальных вопросов к технологическому решению
(июль, авг) - Получение ответов на эти вопросы (разработка пилотных модулей, в т.ч. пилота клиентской
части, почтового шлюза, серверных модулей)
(июль, авг)
- Формулирование принципиальных вопросов к технологическому решению
- Разработка спецификации
- Неупорядоченный набор идей
(авг) - Сформулированный набор идей
(сент) - Неупорядоченный набор спецификаций
(сент) - Упорядоченный набор спецификаций как одна спецификация системы
[окт] - Разработка схемы данных
[окт] - Реализация системы
- Разработка ядра системы
- Реализация минимума необходимых для программы заявок функций
- Разработка программного кода основных модулей системы
- Эксплуатация
- Опытная эксплуатация текущей версии
- Формулирование требований по исправлению и доработке системы в рамках спецификации
- Наращивание функциональности согласно спецификации
- Доработка кода существующих эксплуатируемых модулей
-
Состояния спецификации
В процессе эксплуатации возможен возврат к любому из предыдущих этапов. Вероятность и размеры такого возврата определяются прежде всего качеством Первоначальной постановки и разработанной по ней спецификации.
В настоящий момент завершается подготовка упорядоченного набора спецификаций системы (п. 3.4)