Книги, научные публикации

ПРОГРАММНАЯ ИНЖЕНЕРИЯ РАБОТА С ТРЕБОВАНИЯМИ И ОСОБЕННОСТИ РАЗРАБОТКИ ПРИ ВНЕДРЕНИИ СИСТЕМ АВТОМАТИЗАЦИИ УЧЕТА О.В. Максименкова, преподаватель Государственного университета Ч Высшей школы экономики,

e-mail: omaksimenkova

Ю.Ю. Овчинников, ведущий специалист по внедрению, Внедренческий центр л1С-Рарус, e-mail: ovcy@rarus.ru.

Адрес: 129327, г. Москва, ул. Чичерина, д. 2/9 - 337.

Ввиду того, что все предприятия ведут учет схожим образом, появилась большое коли чество типовых тиражных решений по автоматизации бизнес-процессов учета. Вследствие этого, очертился спектр задач по интеграции некоего дополнительного функционала в тираж ное решение. Одним из насущных вопросов разработки программного обеспечения становится внедрение и разработка в рамках систем автоматизации учета.

Ключевые слова: система автоматизации учета, автоматизация учета, учет, работа с требованиями.

Введение [2]. Заинтересованными лицами являются заказчи ки проекта автоматизации, например, собственни од бизнес-процессом будем понимать ков предприятия.

связанную совокупность функций, в ходе П выполнения которой потребляются опре Особенности выделение клиентов и сбор требований деленные ресурсы, и создается продукт, представ при автоматизации учета ляющий ценность для потребителя [1]. Автомати зация бизнес-процессов - это инвестиционная Заказ на автоматизацию поступает, как правило, деятельность, которая может быть направлена на от руководства фирмы. Заказчиком здесь и далее увеличение эффективности работы предприятия, будем считать предприятие, а клиентом - носителя инвестиционной привлекательности, эффектив- бизнес-функции, деятельность которого автома ности управления предприятием и т. д. Ясное по- тизируется. Например, кассир является клиентом.

нимание бизнес-процессов предприятия крайне Бизнес-функцией клиента является совокупность важно для создания программного обеспечения, бизнес-операций, сгруппированных по определен которое будет полезно заинтересованным лицам ному признаку, бизнес-операцией является эле БИЗНЕС-ИНФОРМАТИКА №1(11)Ц2010 г.

ПРОГРАММНАЯ ИНЖЕНЕРИЯ ментарное (неделимое) действие, выполняемое на тивным оказывается метод интервьюирования одном рабочем месте [1]. Таким образом, специа- (interviewing).

лист по автоматизации имеет дело с большим ко- Обобщенную схему такого взаимодействия личеством клиентов, каждый из которых является между клиентом и специалистом по автоматиза представителем своей узко-профильной предмет- ции и учету можно описать следующим образом:

ной области. разработчик получает от клиента первоначаль Клиент, в свою очередь, ожидает от специалиста ный сбор требований. Стоит отметить, что кли или аналитика достаточно глубокого понимания ент, при этом, сам может не отдавать себе отчета своей предметной области. Однако в роли ана- в том, что его требования не соответствуют его литика в процессе автоматизации учета нередко желаниям. Тем не менее, разработчик выполня оказываются специалисты по внедрению (разра- ет разработку чернового варианта приложения ботчики), не владеющие системными, детальны- (прототипа) и демонстрирует клиенту. Если ожи ми знаниями по всем профилирующим областям дания клиента удовлетворяются, то происходит знаний, связанных с учетом. доводка системы. В противном случае, прото Обеспечить успешное проектирование в та- тип дорабатывается сообразно уточненным тре кой ситуации могут методы проектирования бованиям клиента.

на основе предметной области (Domain-Driven В некоторых случаях итеративным становится Design (DDD)). Разработчику следует узнать как еще этап сбора требований. В процессе интервью можно больше о предметной области, с которой ирования клиент может осознать, что не имеет от ему приходится работать, и привлечь к проекту ветов на все заданные ему вопросы. В таком случае пользователей, чтобы они могли не только пере- встречи повторяются. На каждом этапе итератив дать свой опыт работы в предметной области, но ного сбора требований появляются новые ответы активно и конструктивно участвовать в самом и уточняются старые;

задаются новые или уточ проекте [3]. няются старые вопросы. Путем последовательных Клиент, выступающий в роли эксперта предмет- итераций формируется представление о том, что ной области, не обязан быть программистом. Его клиент хочет получить в процессе автоматизации задача - хорошо знать все аспекты исследуемой учета, утверждаются или изменяются цели или, проблемы и свободно оперировать понятиями из как вариант, происходит полный отказ от реали словаря предметной области [4]. зации задачи, например, в случае ее нереализуе Таким образом, работа по автоматизации учета мости или внутренней противоречивости. К несо ведется в тесном сотрудничестве с клиентами. мненному достоинству метода итеративного сбора Одним из наиболее важных моментов проектиро- требований следует отнести глубокую вовлечен вания на основе предметной области является пер- ность клиента в процесс проектирования и, как вичный сбор требований. следствие, понимание им того или иного исхода Как уже указывалось выше, процесс взаимо- проектирования.

действия с клиентами должен выстраиваться Задачу анализа требований облегчает получе специалистом по внедрению учетной системы. ние от клиента некоторых артефактов. С точки То есть успех взаимодействия определяется, в зрения сбора информации артефакт - это лю том числе, и методами сбора и анализа инфор- бой объект, физически существующий в бизнес мации. среде, описывающий элемент основного бизнес Рассмотрим наиболее простой случай устране- процесса [5]. При разработке в рамках внедрения ния неполадок в системе. Здесь, например, эф- учетных систем артефактами являются получен фективным является метод сбора информации ные от клиента отчетные формы. Отчет практи известный как наблюдение за действиями поль- чески в готовом виде задает структуру хранения зователя (shadowing)[5]. Специалист по внедре- учетных данных.

нию учетной системы отслеживает действия кли- Также важным артефактом при внедрении и ента, приводящие к ошибке или некорректной разработке учетных систем являются должност ситуации в системе. ные инструкции (если они существуют на пред В случаях, когда информация, полученная от приятии). Должностные инструкции могут быть клиента, необходима для доработки старого или практически без изменений преобразованы в на проектирования нового функционала, эффек- бор ролей пользователей в системе [6].

БИЗНЕС-ИНФОРМАТИКА №1(11)Ц2010 г.

ПРОГРАММНАЯ ИНЖЕНЕРИЯ Некоторые особенности разработки и внедрения тельно указываем период, за который этот объем систем автоматизации учета был достигнут (оборотный показатель). Говоря об остатке товаров на складе, мы обязательно укажем Специфика автоматизации ведения учета за на какую дату этот остаток товаров был актуален ключается в том, что все предприятия ведут учет (остаточный показатель). При регистрации факта схожим образом. Поэтому существует большое поступления средств на расчетный счет, обяза количество типовых тиражных решений. Одна тельно зафиксируется дата, когда это произошло.

ко на каждом предприятии ведение учета име Следует отметить, что в практике учета распро ет свои особенности. Например, предприятие странена регистрация фактов хозяйственной жиз может предоставлять сотрудникам отпуск/от ни так называемым задним числом, когда собы гул/отпуск за свой счет на полдня. С точки зре тие, произошедшее в прошлом, регистрируется в ния законодательства в учете отражается только настоящем времени.

целодневное отклонение от рабочего графика.

Также важной задачей автоматизации учета явля Другой пример: предприятие использует специ ется обеспечение обратной совместимости систе фический алгоритм распределения транспортно мы. Обратная совместимость - это такой способ заготовительных расходов на себестоимость реализации изменений в системе, при котором для материально-производственных запасов в зави работы с данными, относящимися к прошлым пе симости от объема. В таком тиражном решении, риодам, используются алгоритмы, актуальные на как 1С: Управление производственным предпри тот период.

ятием, например, реализованы только алгоритмы Предположим, что у нас есть учетная система, по весу, количеству или сумме. Следовательно, содержащая объект для регистрации факта по возникает необходимость доработки типового ступления товара на склад фирмы, объект для решения. То есть работа по автоматизации учета регистрации факта продажи товара и объект для отличается, в данном случае, от разработки про хранения значений остатков товаров в разрезе граммного обеспечения тем, что полученный от складов. В какойЦто момент у руководства фир пользователя срез требований необходимо соот мы возникло желание видеть товарные остатки в нести с функционалом выбранного в качестве ба разрезе подразделений фирмы, закупивших этот зового тиражного решения.

товар (К примеру, появилась необходимость Кроме того, многие предприятия совершают распределять складские расходы между подраз специфические операции неавтоматизированные делениями). В объект для хранения остатков в типовых решениях. Например, лизинговые опе добавляется реквизит Подразделение, в опе рации. В таком случае работа по автоматизации рацию поступления товаров так же добавляется учета может состоять не только в реализации до подразделение и прописывается заполнение со полнительных алгоритмов на базе существующих ответствующего реквизита в товарных остатках.

решений, но и в создании полноценных дополни В объекте, регистрирующем продажу у нас, пред тельных программных компонент с учетом требо положим, уже существовал реквизит Подразде ваний отдельных конечных клиентов и заказчика ление - он использовался для формирования в целом.

отчета по продажам в разрезе подразделений. В Неотъемлемой частью процесса внедрения учет этом объекте прописывается алгоритм списания ной системы на предприятии является этап ввода остатков в разрезе подразделений. Далее необ начальных остатков (остатков товаров на складах, ходимо на некую дату разнести существующие денежных средств на расчетных счетах и в кассе, остатки по подразделениям и начать пользовать остатков дебиторской и кредиторской задолжен ся модифицированной системой. Но если после ностей и.т.д.). Так же проблема ввода начальных остатков, как правило, встает при разработке ново- ввода системы попытаться перепровести задним числом продажу, система, в соответствии с ак го функционала или модификации существующего туальным алгоритмом спишет остаток товара в уже работающей системе.

Одной из особенностей учетных систем являет- с того подразделения, от которого оформлена ся то, что большинство учетных данных являют- продажа. В результате этой операции на таком ся периодическими, то есть не имеют смысла без подразделении образуется отрицательный оста определения даты, на которую они актуальны. ток товаров. Для исключения подобной ситуа Например, говоря об объеме продаж, мы обяза- ции, необходимо реализовать некий дополни БИЗНЕС-ИНФОРМАТИКА №1(11)Ц2010 г.

ПРОГРАММНАЯ ИНЖЕНЕРИЯ тельный контроль: если документ относится к Заключение прошлому периоду, то и проводиться он должен Таким образом, в процессе сбора требований при по старым правилам.

автоматизации бизнес-процессов учета оказываются Приведем другой пример.

эффективными не только классические методы про Предположим, в системе реализована функция ектирования, но и их модификации, такие как итера печати документов по некоей регламентирован тивный сбор требований до начала проектирования.

ной законодательством форме, и приходит день, Процесс разработки, в свою очередь, имеет сле когда законодатель принимает решение изме дующие особенности:

нить данную форму. В связи с этим, необходимо разрабатываемое решение необходимо встраи реализовать в системе новую печатную форму до вать в некое тиражное;

кументов и обязательно предусмотреть возмож необходимо реализовывать дополнительный ность печати старых документов по старой форме функционал, обеспечивающий ввод начальных (если, к примеру, понадобится перепечатать до остатков;

кументы за прошлые периоды). Из приведенных необходимо обеспечивать корректную работу моди примеров видно, что для каждой версии системы есть период актуальности и, модифицируя функ- фицированного функционала со старыми данными.

ционал, необходимо обеспечивать его коррект- Внимание к выделенным особенностям позволяет ную работу для данных, относящихся к старым избежать большого количества типовых ошибок при периодам. внедрении и доработке функционала учетных систем.

Литература 1. Калянов Г. Н. Моделирование, анализ, реорганизация и автоматизация бизнес-процессов. - М.: Финансы и статистика, 2006.

2. Р. Деннис Гиббс. Управление проектами с помощью Rational Unified Process. Практические советы. - М.: КУДИЦ-ПРЕСС, 2007.

3. Д. Нильссон. Применение DDD и шаблонов проектирования: проблемно-ориентированное проекти рование приложений с примерами на C# и.NET. - М.: ООО И.Д. Вильямс, 2008.

4. Г. Буч, Р. Максимчук, М. У. Энгл, Б. Д. Янг. Объектно-ориентированный анализ и проектирование с примерами приложений. - М.: ООО И. Д. Вильямс, 2008.

5. Microsoft Corporation. Анализ требований и создание архитектуры решений на основе Microsoft.NET.

Учебный курс MCSD. - М.: Издательско-торговый дом Русская Редакция, 2004.

6. Хомичевская В. Н. 1С: Предприятие 8.0. Управление производственным предприятием. Ведение бух галтерского учета. Самоучитель. - СПб.: БХВ-Петербург, 2006.

БИЗНЕС-ИНФОРМАТИКА №1(11)Ц2010 г.

   Книги, научные публикации