Имплементация корпоративной информационной системы требует вовлечения большого числа участников для решения задач управления проектом, моделирования бизнес-архитектуры, реализации программного обеспечения, миграции данных, подготовки технической инфраструктуры и обработки изменений [1].
Ключевым содержанием подобных проектов является разработка программного продукта, а все остальные активности рассматриваются в качестве поддерживающих. Реализация программ может вестись на основе различных стратегий, следуя классическим моделям разработки: каскадной, итерационной и спиралевидной. Проекты имплементации информационных систем «с нуля» преимущественно ведутся на базе каскадной стратегии, а задачи тиражирования и развития систем в последнее время осуществляются с применением итерационных и спиралевидных подходов, например, Agile [2].
Следуя каскадной схеме внедрения программных продуктов, готовится ряд важных проектных документов, описывающих детали предлагаемого решения. В большинстве проектов имплементации систем класса ERP, создаются документы спецификаций на разработку [3]. В России действуют ГОСТ 34, посвященный разработке автоматизированных систем управления (далее – АС). Согласно ГОСТ 34.601-90 этапы разработки системы включают:
формирование требований к АС;
разработка концепции АС;
техническое задание;
эскизный проект;
технический проект;
рабочая документация;
ввод в действие;
сопровождение АС.
Проводя аналогию между практикой внедрения ERP-систем и действующими ГОСТами, можно отметить, что функциональная спецификация представляет собой совокупность технического проекта и технического задания, где первый описывает, как будет реализована система, второй – что она должна делать.
Не смотря на обилие литературных источников, посвященных проектированию информационных систем [1, 3-4], попыток формализации и примеров подготовки функциональных спецификаций достаточно немного, что порождает изобретение все новых и новых велосипедов при решении типовых проектных задач по разработке корпоративных информационных систем.
Основной целью данной работы является детальное рассмотрение содержания функциональной спецификации на разработку ERP-системы, что позволит реализовать информационную систему в срок и с высоким качеством. Достижение казанной цели требует решения следующих задач:
обзор типовой структуры функциональной спецификации на разработку;
рассмотрение примера спецификации для разработки отчета в SAP ERP;
анализ ключевых особенностей в рассмотренной спецификации.
1. Типовая структура спецификации на разработку
Достаточно часто в проекте внедрения АС предлагается уникальная структура спецификации, подходящая или для всех видов разработок согласно классификации RICEFW или отдельно для каждой [5]. Практика показывает, попытка выделить отдельный шаблон для каждого вида разработок RICEFW не упрощает, а лишь усложняет процесс подготовки спецификации. Поэтому сосредоточим внимание на едином документе спецификации.
Рассмотрим типовую структуру документа функциональной спецификации на разработку, предложенную в [3]. Плюс этой структуры состоит в том, что описание хода реализации ведется сверху вниз, кроме того, сохранена логическая последовательность отображения экранов программы, что упрощает понимание программы. Документ спецификации разделяется на 6-ть разделов (рис. 1.1):
первые два раздела содержат исходные требования, предъявляемые к системе, а также верхнеуровневое описание предполагаемой программы, заданное текстовыми комментариями или графической схемой. Наличие разделов является критичным, так как документ спецификации подтверждается бизнес-пользователями, не обладающими техническими навыками. Для согласования документа им важно увидеть начальные требования и попытаться понять общую модель решения, не вдаваясь в детали, приведенные в последующих разделах;
следующие разделы являются техническими. Главы, касающиеся экранов, ролей и полномочий, необходимы для описание экранных форм программы, а также алгоритмов их заполнения и проверки полномочий;
раздел тестовых данных достаточно часто встречается в документах спецификаций, однако весьма редко используется в ходе реального выполнения функционально-модульных испытаний;
и, наконец, допущения, описывающие открытые вопросы, на которые никто не смог дать ответ. Допущения позволяют сформулировать утверждение к открытому вопросу, что критично для построения решения. Это один из немногих способов обработки бизнес неопределенности.
2. Пример функциональной спецификации для разработки отчета в SAP ERP
Воспользуется типовой структурой спецификации, описанной на рис.1.1, и проанализируем пример подготовки документа для разработки отчета в системе SAP ERP (разделы 2.1-2.8). В качестве заказчика будем использовать тестовую организацию под названием ДСТ.
2.1. Оглавление
2.2. Требования
2.3. Концепция решения
2.4. Селекционный экран
2.5. Логика работы программы
2.6. Роли и полномочия
2.7. Тестовые данные
2.8. Допущения
2.2. Требования
Компания ДСТ занимается оптовыми продажами товаров. Большая часть продаваемой продукции закупается по импортной схеме. Импортная закупка требует учитывать сумму таможенных пошлин и сборов в стоимости закупаемых товаров, а также хранить данные ГТД (Грузовая таможенная декларация). В случае перепродажи продукции в сопроводительных документах (Счет-фактура) необходимо указывать номер исходной ГТД, полученной при оприходовании товара на склад. Согласно глобальному решению номер ГТД хранится в системе SAP ERP в признаках классификации партии, заполняемых при регистрации прихода товара транзакцией MIGO. Для целей контроля и прослеживаемости требуется разработать отчет, показывающий текущий складской запас SAP ERP с данными ГТД.
Таблица 2.2.1. Список требований
Gap № |
Требование |
144 |
Разработать отчет, аналог MB52 с возможностью отображения признаков партий |
2.3. Концепция решения
Функционал разрабатываемого отчета в SAP ERP близок к стандартной транзакции MB52. Результаты работы отчета обогащены данными признаков классификации партии, в частности ГТД. Отчет показывает ненулевой оцененный свободно используемый запас в разрезе оргуровней предприятия:
завод;
склад;
партия;
материал;
данные ГТД и прочее.
Предусмотрены стандартные возможности обработки данных в табличной части отчета: сортировка, фильтрация, суммирование, выгрузка во внешний файл, а также изменение формата. Структура реализуемой программы дана на рисунке ниже (рис. 2.3.1).
2.4. Селекционный экран
Реализация требования табл. 2.2.1 предполагает разработку программы, архитектура которой описана в 4.3. Детали разрабатываемого приложения приведены в таблице ниже (табл. 2.4.1).
Таблица 2.4.1. Детали разрабатываемой программы
Параметр |
Требование |
Название программы |
Stock report with classification/Отчет по запасам с классификацией |
Код программы |
ZRUIMSTKCLASSRPT |
Название транзакции |
Stock report with classification/Отчет по запасам с классификацией |
Код транзакции |
ZRUIMSTKCLASSRPT |
Предполагаемый селекционный экран для ввода данных приведен в табл. 2.4.2 и схематически изображен на рис. 2.3.1.
Таблица 2.4.2. Селекционный экран программы
№ |
Наименование поля |
Категория (Parametrs, Select-Options, RadioButton, CheckBox) |
Тип (ссылка на элемент данных) |
Обязатель-ность для ввода |
Значение по умолчанию |
Selection criteria’s/Ограничения | |||||
1 |
Plant/Завод |
Parametrs |
MCHB-WERKS |
Х |
RU01 |
2 |
Storage location/Склад |
Select-Options |
MCHB-LGORT |
|
|
3 |
Material group/Группа материала |
Select-Options |
MARA-MATKL |
|
|
4 |
Material/ Материал |
Select-Options |
MCHB-MATNR |
|
|
5 |
Batch/Партия |
Select-Options |
MCHB-CHARG |
|
|
6 |
GTD/ГТД |
Select-Options |
|
|
|
Format/Формат | |||||
7 |
Format/Формат |
Parametrs |
|
|
/ZGTD |
После нажатие кнопки «Выполнить» осуществляется проверка полномочий согласно 2.6. В случае успеха осуществляется переход к экрану выбранных данных, описанному в 2.5.
2.5. Логика работы программы
Успешное выполнение проверки полномочий пользователя запускает экран выбранных данных в формате ALV-Grid (табл. 2.5.1). Экран должен содержать стандартные кнопки редактирования данных (рис. 2.5.1). Поля экрана упорядочиваются согласно заданному на селекционном экране формату («Формат» селекционного экрана).
Таблица 2.5.1. Поля ALV-списка выбранных данных
№ |
Техническое название поля |
Элемент данных |
Тип данных |
Длина данных |
Краткий текст |
1 |
WERKS |
MCHB-WERKS |
- |
- |
Plant/Завод |
2 |
LGORT |
MCHB-LGORT |
- |
- |
Storage location/Склад |
3 |
MATKL |
MARA-MATKL |
- |
- |
Material group/Группа материалов |
4 |
WGBEZ60 |
T023-WGBEZ60 |
- |
- |
Material group name/ Наименование группы материалов |
5 |
MATNR |
MCHB-MATNR |
- |
- |
Material/Материал |
6 |
MAKTX |
MAKT-MAKTX |
- |
- |
Material name/ Наименование материала |
7 |
CHARG |
MCHB-CHARG |
- |
- |
Batch/Партия |
8 |
CLABS |
MCHB-CLABS |
- |
- |
Valuated stock/ Оцененный запас |
9 |
MEINS |
MARA-MEINS |
- |
- |
Base unit of measure/БЕИ |
10 |
GTD_1 |
- |
CHAR |
10 |
GTD part 1/ГТД часть 1 |
11 |
GTD_2 |
- |
DATS |
8 |
GTD part 2/ГТД часть 2 |
12 |
GTD_3 |
- |
CHAR |
10 |
GTD part 3/ГТД часть 3 |
13 |
GTD_4 |
- |
CHAR |
10 |
GTD part 4/ГТД часть 4 |
14 |
GTD |
- |
CHAR |
38 |
GTD/ГТД |
Поля экрана выбранных данных, описанные структурой выше, заполняются информацией на основе ограничений селекционного экрана и алгоритмов из табл. 2.5.2 ...
Таблица 2.5.2. Алгоритм заполнения полей ALV-списка выбранных данных
№ |
Техническое название поля |
Краткий текст |
Правило |
Алгоритм |
|
1. Основной алгоритм выбора из таблицы остатков по партии MCHB Select * from MCHB where |
|||
|
2. Алгоритм выбора группы материалов Loop at MCHB (step 1) |
|||
|
3. Алгоритм выбора названия группы материалов Loop at MARA (step 2) |
|||
|
4. Алгоритм выбора названия материала Loop at MCHB (step 1) |
|||
|
5. Алгоритм выбора базовой ЕИ материала Loop at MCHB (step 1) |
|||
|
6. Алгоритм выбора признака ГТД_1 Loop at MCHB (step 1) Select CUOBJ_BM from MCH1 where // Выбрать ссылку на партию и материал Select ATWRT from AUSP where // Выбрать значение по коду признака и ссылке |
|||
1 |
WERKS |
Plant/Завод |
= |
MCHB-WERKS |
2 |
LGORT |
Storage location/Склад |
= |
MCHB-LGORT |
3 |
MATKL |
Material group/Группа материалов |
= |
MARA-MATKL |
4 |
WGBEZ60 |
Material group name/ Наименование группы материалов |
= |
T023-WGBEZ60 |
5 |
MATNR |
Material/Материал |
= |
MCHB-MATNR |
6 |
MAKTX |
Material name/ Наименование материала |
= |
MAKT-MAKTX |
7 |
CHARG |
Batch/Партия |
= |
MCHB-CHARG |
8 |
CLABS |
Valuated stock/ Оцененный запас |
= |
MCHB-CLABS |
9 |
MEINS |
Base unit of measure/БЕИ |
= |
MARA-MEINS |
10 |
GTD_1 |
GTD part 1/ГТД часть 1 |
= |
AUSP-ATWRT для признака ‘GTD_1’ |
11 |
GTD_2 |
GTD part 2/ГТД часть 2 |
= |
AUSP-ATWRT для признака ‘GTD_2’ |
12 |
GTD_3 |
GTD part 3/ГТД часть 3 |
= |
AUSP-ATWRT для признака ‘GTD_3’ |
13 |
GTD_4 |
GTD part 4/ГТД часть 4 |
= |
AUSP-ATWRT для признака ‘GTD_4’ |
14 |
GTD |
GTD/ГТД |
= |
GTD_1 + “” + GTD_2 +GTD_3 + “” + GTD_4 (поля ALV-Grid) |
|
7. Алгоритм постобработки позиции для группы материалов селекционного экрана |
|||
|
8. Алгоритм постобработки позиции для ГТД селекционного экрана |
Литературный источник
Степанов Д.Ю. Подготовка функциональных спецификаций для доработки корпоративной информационной системы на примере ABAP-отчета в SAP ERP // Корпоративные информационные системы. – 2021. – №1 (13). – С. 93-107. – URL: https://corpinfosys.ru/archive/issue-13/145-2021-13-functionalspecification.
killeralex
Даже понятно почему это вечнозеленое заминусовали