Файл: Проектирование реализации операций бизнес-процесса).pdf
Добавлен: 24.05.2023
Просмотров: 185
Скачиваний: 4
СОДЕРЖАНИЕ
Выбор комплекса задач автоматизации
1.2 Характеристика существующих бизнес –процессов
1.3 Характеристика документооборота, возникающего при решении задачи
1.4 Обоснование проектных решений по информационному обеспечению
1.5 Обоснование проектных решений по программному обеспечению
2.1 Информационная модель и её описание
2.2 Характеристика нормативно-справочной, входной и оперативной информации
2.3 Характеристика результатной информации
2.4 Общие положения (дерево функций и сценарий диалога)
2.5 Характеристика базы данных
2.6 Структурная схема пакета (дерево вызова программных модулей)
2.7 Описание программных модулей
Далее проведено обоснование использования вычислительной техники для решения поставленных задач. В этой части подробно описано, какие проблемы позволит решить автоматизация работы бухгалтера. Здесь сформулированы цели использования вычислительной техники для рассматриваемого комплекса задач. Рассмотрено преимущество внедрения АИС управления запасами над ручным трудом. Приведены критерии выбора технических средств. А также даны примерный состав и основные характеристики ПЭВМ, предназначенной для решения рассматриваемого комплекса экономических задач.
На следующем этапе проведена характеристика организации обработки информации. Здесь дается описание как будут реализованы решаемые задачи в АИС. Дана характеристика расчетов, выполняемых на ЭВМ, краткая характеристика результатов (название машинных документов, форм отображения на экранах дисплеев и их назначение).
Далее проведена формализованная постановка рассматриваемого комплекса задач, выделены последовательные этапы расчета. Для каждой автоматизируемой задачи дается краткое название этой задачи, состав исходных данных, результат и требования к решению задачи.
Затем дается обоснование использования информационного обеспечения. В этом разделе рассмотрены основные принципы проектирования информационного обеспечения, дается обоснование методов организации информационной базы в памяти ЭВМ.
Далее идет обоснование разработок по программному обеспечению, выбранному пакету прикладных программ. На этом этапе определены способы обеспечения рациональной внутримашинной технологии обработки данных, а также функции управляющей программы.
Затем проведено обоснование разработок по технологии сбора, передачи, обработки и выдачы информации. Здесь идет обоснование выбора способа сбора исходной информации, обоснование метода передачи информации в рамках АСУ объекта или в вышестоящие уровни системы и обоснование методов обеспечения достоверности информации до ввода в ЭВМ.
В ходе проектирования автоматизации комплекса задач построена инфологическая модель и дано ее описание.
Далее дана характеристика и описание входной и результатной информации, а также описана их структура. Здесь также отражена структура каждого файла оперативной, постоянной информации полученных в результате решения других задач.
Затем приводится описание структуры диалога и его содержания. При разработке структуры диалога была спроектирована работа с первичными документами, со справочниками и отчетами.
Далее рассмотрена схема взаимосвязи программных модулей и информационных файлов. Дано соответствующее описание работы данной схем.
При описании технологического процесса сбора, передачи, обработки и выдачи информации дается пооперационное описание технологии и представляется схема техпроцесса, то есть порядок работы пользователя с разрабатываемой системой.
Далее приводится расчет экономической эффективности внедрения АИС управления запасами. Проанализировав полученные экономические показатели, можно уверенно говорить об эффективности проектного варианта решения задач, так как при использовании АИС трудоемкость выполняемой работы снизилась на 88%-а, произошло условное высвобождение численности, снизились трудовые и стоимостные затраты по обработке документов, что является выгодным для деятельности предприятия
Используя дружественный, проработанный интерфейс с использованием многочисленных справочников, увеличилась скорость работы и снизилась ее утомляемость.
Библиографический список
- ГОСТ Р ИСО/МЭК 12207/99. Государственный стандарт РФ. Информационная технология. Процессы жизненного цикла информационных систем. Издание официальное. - М., 1999
- Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. ГОСТ 19.701-90 (ИСО 5807-85) / Государственный комитет СССР по управлению качеством продукции и стандартам, 01.01.1992.
- Автоматизированные информационные системы, базы и банки данных. Вводный курс: Учебное пособие, М.: Гелиос АРВ, 2007. - 368 с., ил
- Астелс, Дэвид; Миллер Гранвилл; Новак, Мирослав, Практическое руководство по экстремальному программированию, Пер. с англ. - М.: Издательский дом "Вильямс", 2008. - 320 с.: ил. - Парал. тит. англ
- Баженова И. Ю. , Основы проектирования приложений баз данных, Издательства: Бином. Лаборатория знаний, Интернет-университет информационных технологий, 2008 г., , 328 стр.
- Вендров А.М., CASE-технологии. Современные методы и средства проектирования информационных систем - М.: Финансы и статистика, 2007 г, 456 стр.
- Вигерс Карл, Разработка требований к программному обеспечению, Пер, с англ. - М.:Издательско-торговый дом "Русская Редакция", 2008. -576с.: ил
- Гашков С. Б., Э. А. Применко, М. А. Черепнев Криптографические методы защиты информации, М, Издательство: Академия, 2010 г., 304 стр.
- Гвоздева Т. В., Б. А. Баллод, Проектирование информационных систем, М, Издательство: Феникс, 2009 г., 512 стр.
Приложение А – Листинг программы
Листинг 1 – Модуль объекта
Процедура ОбработкаПроведения(Отказ, Режим)
Запрос=Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РасходнаяНакладнаяПереченьНоменклатуры.Номенклатура,
| СУММА(РасходнаяНакладнаяПереченьНоменклатуры.Количество) КАК Количество,
| РасходнаяНакладнаяПереченьНоменклатуры.Цена,
| РасходнаяНакладнаяПереченьНоменклатуры.Сумма,
| РасходнаяНакладнаяПереченьНоменклатуры.ИтоговаяСумма
|ПОМЕСТИТЬ Док
|ИЗ
| Документ.РасходнаяНакладная.ПереченьНоменклатуры КАК РасходнаяНакладнаяПереченьНоменклатуры
|ГДЕ
| РасходнаяНакладнаяПереченьНоменклатуры.Ссылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| РасходнаяНакладнаяПереченьНоменклатуры.Номенклатура,
| РасходнаяНакладнаяПереченьНоменклатуры.Цена,
| РасходнаяНакладнаяПереченьНоменклатуры.Сумма,
| РасходнаяНакладнаяПереченьНоменклатуры.ИтоговаяСумма
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Док.Номенклатура КАК Номенклатура,
| ТоварыНаСкладеОстатки.Партия КАК Партия,
| Док.Количество КАК Количество,
| Док.Цена КАК Цена,
| Док.Сумма КАК Сумма,
| Док.ИтоговаяСумма КАК ИтоговаяСумм,
| ЕСТЬNULL(ТоварыНаСкладеОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток,
| ЕСТЬNULL(ТоварыНаСкладеОстатки.СуммаОстаток, 0) КАК СуммаОстаток,
| ТоварыНаСкладеОстатки.Склад КАК Склад,
| ТоварыНаСкладеОстатки.СтавкаНДС КАК СтавкаНДС
|ИЗ
| Док КАК Док
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладе.Остатки(
| &МоментВремени,
| Номенклатура В
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| Док.Номенклатура
| ИЗ
| Док КАК Док)) КАК ТоварыНаСкладеОстатки
| ПО Док.Номенклатура = ТоварыНаСкладеОстатки.Номенклатура
|
|УПОРЯДОЧИТЬ ПО
| ТоварыНаСкладеОстатки.Партия УБЫВ
|ИТОГИ
| МАКСИМУМ(Количество),
| СУММА(КоличествоОстаток)
|ПО
| Номенклатура";
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Запрос.УстановитьПараметр("МоментВремени", МоментВремени());
РезультатЗапроса=Запрос.Выполнить();
ВыборкаИтогов=РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Движения.ТоварыНаСкладе.Записывать = Истина;
Пока ВыборкаИтогов.Следующий() Цикл
Если ВыборкаИтогов.Количество>ВыборкаИтогов.КоличествоОстаток Тогда
Сообщить("Товара "+ВыборкаИтогов.Номенклатура+" в наличии только "+
ВыборкаИтогов.КоличествоОстаток+" шт. Документ """+Ссылка+""" не проведен!");
Отказ=Истина;
Продолжить;
Иначе
НадоСписать=ВыборкаИтогов.Количество;
Выборка=ВыборкаИтогов.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока Выборка.Следующий() И НадоСписать<>0 Цикл
СписатьСПартии=МИН(НадоСписать, Выборка.КоличествоОстаток);
Если Выборка.КоличествоОстаток > 0 Тогда
СуммаСписания=СписатьСПартии*Выборка.СуммаОстаток/Выборка.КоличествоОстаток;
Иначе
CуммаСписания=Выборка.СуммаОстаток;
КонецЕсли;
НадоСписать=НадоСписать-СписатьСПартии;
Движение=Движения.ТоварыНаСкладе.ДобавитьРасход();
Движение.Период=Дата;
Движение.Номенклатура=Выборка.Номенклатура;
Движение.Партия=Выборка.Партия;
Движение.Количество=СписатьСПартии;
Движение.Стоимость=СуммаСписания;
Движение.Сумма=СписатьСПартии*Выборка.Цена;
РаботаСоСправочниками.СтрокаВЧисло(Выборка.СтавкаНДС);
Движение.ИтоговаяСумма= (РаботаСоСправочниками.СтрокаВЧисло(Выборка.СтавкаНДС)/100+1)*СписатьСПартии*Выборка.Цена;
Движение.Цена=Выборка.Цена;
Движение.СтавкаНДС = Выборка.СтавкаНДС;
Движение.Склад=Выборка.Склад;
КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
7. Приложение Б – Функции и процедуры конфигурации.
Листинг 2 – Модуль “РаботаСоСправочниками”
Функция АктуальнаяЗакупочнаяЦена(АктуальнаяДата, ЭлементНоменклатуры) Экспорт
Отбор = Новый Структура("Номенклатура", ЭлементНоменклатуры);
ЗначенияРесурсов = РегистрыСведений.Цены.ПолучитьПоследнее(АктуальнаяДата, Отбор);
Возврат ЗначенияРесурсов.ЗакупочнаяЦена;
КонецФункции
Функция АктуальнаяРозничнаяЦена(АктуальнаяДата, ЭлементНоменклатуры) Экспорт
Отбор = Новый Структура("Номенклатура", ЭлементНоменклатуры);
ЗначенияРесурсов = РегистрыСведений.Цены.ПолучитьПоследнее(АктуальнаяДата, Отбор);
Возврат ЗначенияРесурсов.РозничнаяЦена;
КонецФункции
Функция ПоставщикНоменклатуры(АктуальнаяДата, ЭлементНоменклатуры) Экспорт
Отбор = Новый Структура("Номенклатура", ЭлементНоменклатуры);
ЗначенияРесурсов = РегистрыСведений.Цены.ПолучитьПоследнее(АктуальнаяДата, Отбор);
Возврат ЗначенияРесурсов.Поставщик;
КонецФункции
Функция СтрокаВЧисло(Знач Строка, Знач Пусто = 0, Знач Ошибка = 0) Экспорт
Перем Результат, НомерСимвола, МаксНомерСимвола, ТекущийСимвол, Алфавит
, Отрицательное, ЕстьДробнаяЧасть;
Если Не ПустаяСтрока(Строка) Тогда
Строка = СокрЛП(Строка);
МаксНомерСимвола = СтрДлина(Строка);
// Определяем знак числа и удаляем его из исходной строки.
ТекущийСимвол = Лев(Строка, 1);
Алфавит = "+-";
Если Найти(Алфавит, ТекущийСимвол) > 0 Тогда
Строка = Сред(Строка, 2);
МаксНомерСимвола = МаксНомерСимвола - 1;
Отрицательное = (ТекущийСимвол = "-");
Иначе
Отрицательное = Ложь;
КонецЕсли;
// С начала исходной строки определяем последовательность максимальной длины,
// конторая может быть распознана как число.
НомерСимвола = 1;
Алфавит = "0123456789 .," + Символы.НПП;
Пока НомерСимвола <= МаксНомерСимвола Цикл
ТекущийСимвол = Сред(Строка, НомерСимвола, 1);
Если Найти(Алфавит, ТекущийСимвол) = 0 Тогда
Прервать;
КонецЕсли;
НомерСимвола = НомерСимвола + 1;
КонецЦикла;
// Удаляем правую часть строки, которая не участвует в распознавании.
Если НомерСимвола <= МаксНомерСимвола Тогда
Строка = Лев(Строка, НомерСимвола - 1);
МаксНомерСимвола = НомерСимвола - 1;
КонецЕсли;
Если МаксНомерСимвола > 0 Тогда
// Очищаем строку слева и справа от пробельных символов.
Алфавит = " " + Символы.НПП;
Пока Найти(Алфавит, Лев(Строка, 1)) > 0 Цикл
Строка = Сред(Строка, 2);
МаксНомерСимвола = МаксНомерСимвола - 1;
КонецЦикла;
Пока Найти(Алфавит, Прав(Строка, 1)) > 0 Цикл
Строка = Лев(Строка, МаксНомерСимвола - 1);
МаксНомерСимвола = МаксНомерСимвола - 1;
КонецЦикла;
// Определяем максимальное количество цифр справа, которые могут быть
// распознаны как дробная часть
НомерСимвола = МаксНомерСимвола;
Алфавит = "012345679";
Пока НомерСимвола >= 1 Цикл
ТекущийСимвол = Сред(Строка, НомерСимвола, 1);
Если Найти(Алфавит, ТекущийСимвол) = 0 Тогда
Прервать;
КонецЕсли;
НомерСимвола = НомерСимвола - 1;
КонецЦикла;
Если НомерСимвола > 0 Тогда
// Для строки "123,456": "456" - дробная часть
// Для строки "1,123,456": "456" - последняя триада целой части
Если Найти(".,", ТекущийСимвол) > 0
И Не (МаксНомерСимвола - НомерСимвола = 3
И МаксНомерСимвола >= 9
И Сред(Строка, НомерСимвола - 4, 1) = ТекущийСимвол) Тогда
Строка = СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(Лев(Строка, НомерСимвола - 1), ".", ""), ",", ""), " ", ""), Символы.НПП, "") + "." + Сред(Строка, НомерСимвола + 1);
Иначе
Строка = СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(Строка, ".", ""), ",", ""), " ", ""), Символы.НПП, "");
КонецЕсли;
КонецЕсли;
Строка = ?(Отрицательное, "-", "") + Строка;
КонецЕсли;
КонецЕсли;
Если ПустаяСтрока(Строка) Тогда
Результат = Пусто;
Иначе