Разработка учета основных средств

реклама
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное образовательное учреждение
высшего профессионального образования
«Сибирский государственный аэрокосмический университет
имени академика М.Ф. Решетнева»
(СибГАУ)
ДИПЛОМНЫЙ ПРОЕКТ
На тему «Разработка учета основных средств в КГБУЗ КККОД им. А.И. Крыжановского»
Студент: Макушин Кирилл Андреевич
фамилия,
имя,
отчество
группа БИЭ-01 специальности 080801 Прикладная информатика в экономике
Объем работы: количество страниц 78.
Красноярск 2014
Оглавление
ВВЕДЕНИЕ ..................................................................................................................................4
1. АНАЛИТИЧЕСКАЯ ЧАСТЬ .................................................................................................6
1.1. Технико-экономическая характеристика предметной области ..................................6
1.1.1. Основные сведения о предприятии .........................................................................6
1.1.2. Анализ хозяйственной деятельности предприятия..............................................10
1.3Анализ существующего программного обеспечения ...................................................16
1.3.1 ИТ-инфраструктура предприятия ...........................................................................21
1.4 Выбор и обоснование проектных решений .................................................................22
1.4.1 Обзор СУБД ..............................................................................................................22
1.4.2 Обзор среды программирования ............................................................................27
2 ПРОЕКТНАЯ ЧАСТЬ ............................................................................................................32
2.1 Информационное обеспечение задачи ..........................................................................32
2.1.1 Внедрение компьютерной технологии...................................................................32
2.1.2 Использование ADO средствами Delphi ................................................................34
2.1.3 Использование OLE DB средствами Delphi ..........................................................35
2.2 Программное обеспечение .............................................................................................37
2.3 Разработка ER– модели ..................................................................................................44
2.4 Составление реляционных отношений .........................................................................50
2.5 Технологическое обеспечение .......................................................................................52
2.5.1. Спецификация программы .....................................................................................52
2.5.2 Вызов и загрузка.......................................................................................................53
2.6 Тестирование и внедрение АРМ ....................................................................................53
2.6.1 Отладка информационной системы .......................................................................53
2.6.2 Защита информации и персональных данных ......................................................53
2.6.3 Что следует понимать и помнить при использовании TDE .................................55
2.6.4 Шифрование соединения средствами MS SQL Server .........................................55
2.6.5 Проведение опытной эксплуатации .......................................................................56
2
2.6.6 Внедрение программного продукта .......................................................................56
3 ЭКОНОМИЧЕСКАЯ ЧАСТЬ................................................................................................57
3.1 Экономическая целесообразность разработки .............................................................57
3.1.1 Экономическая эффективность ..............................................................................58
3.2 Трудоемкость обработки информации .........................................................................60
Заключение ................................................................................................................................65
СПИСОК ЛИТЕРАТУРЫ.........................................................................................................66
Приложение А ...........................................................................................................................68
Приложение Б ............................................................................................................................72
Приложение В............................................................................................................................76
Приложение Г ............................................................................................................................78
Приложение Д ...........................................................................................................................79
3
ВВЕДЕНИЕ
На сегодняшний день в мире информационные технологии достигли высокого
уровня развития. В связи с этим большинство развивающихся компаний используют
автоматические
средства,
позволяющие
эффективно
хранить,
обрабатывать
и
распределять накопленные данные. Исходя из современных требований, предъявляемых
к качеству работы любого предприятия, нельзя не отметить, что эффективная работа его
всецело зависит от уровня оснащения компании информационными средствами на базе
компьютерных систем автоматизированного складского учета.
Учет в компьютерных информационных системах имеет свои особенности и
радикально отличается от бумажного. Компьютер не только облегчает учет, сокращая
время, требующееся на оформление документов и обобщение накопленных данных для
анализа хода торговой деятельности, необходимого для управления ею. Отчеты о
положении в торговле, получаемые с помощью компьютера, можно получить и без него,
но на расчеты уйдет столько времени, что они уже не будут нужны; или ими придется
занять такое количество расчетчиков, что на их зарплату уйдет значительно больше, чем
будет получено прибыли. Таким образом, при применении компьютера «количество
переходит в качество»: увеличение скорости расчетов делает возможным качественное
улучшение самой схемы построения торговли.
Но со временем все меняется, и требования к информационным системам
меняется. Сегодня сотрудники компании, там, где уже введена определенная
информационная система, хотят полностью получать данные в этой системе и в ней же
строить все необходимые отчеты.
Актуальность
данной
дипломной
разработки
и
внедрения
локальной
вычислительной системы обоснована требованиями повышением производительности
труда работников, возрастание требований количества и качества обслуживания
пациентов.
Практическая значимость данного дипломного проекта - повышение степени
автоматизации складского учета.
Целью данного дипломного проекта является реинжиниринг процессов учета
товаров на складе и разработка программного обеспечения для автоматизации
информационных
процессов
складского
хозяйства
КГБУЗ
КККОД
им.
А.И.
Крыжановского.
Задачи дипломного проекта:
1. Провести анализ процессов складского учета инвентаря КГБУЗ КККОД им.
4
А.И. Крыжановского с целью:
 повышения скорости обработки инвентаря;
 формирования партий поступившего инвентаря и формирование документов на
инвентарь;
 оперативного получения достоверных отчетов о состоянии складских запасов;
 получения объективных результатов работы склада.
2. Разработать алгоритмы работы информационной системы по выполнению
обработки информации по складу КГБУЗ КККОД им. А.И. Крыжановского.
3. Провести анализ и выбор программных продуктов, предлагаемых для
выполнения выявленных функций.
4.
Провести тестирование информационной системы на массиве реальных
данных.
5. Выявить факторы и рассчитать эффективность данного проекта.
Диплом состоит из трех глав. В первой главе характеризуется предприятие и его
деятельности, обследуется предметная область и предлагается путь решения выявленных
проблем. Во второй главе реализуются разработанные решения, с помощью разработки
дополнительного программного обеспечения системы. В третье главе исследуется
экономическая эффективность внедрения информационных технологий.
5
1. АНАЛИТИЧЕСКАЯ ЧАСТЬ
1 . 1 . Тех н и ко - э ко н ом и ч е с ка я ха р а к т е р и с т и ка
предмет ной обла сти
1.1.1. Основные сведения о предприятии
Полное название предприятия: Краевое государственное бюджетное учреждение
здравоохранения "Красноярский краевой клинический онкологический диспансер имени
А.И. Крыжановского"
По своему профилю предприятие позиционируется в рубриках:
1. медицинское учреждение
Реквизиты организации приведены в таблице 1.
Таблица 1– Реквизиты организации
РЕКВИЗИТЫ
КГБУЗ КККОД им. А.И. Крыжановского
ИНН/КПП 2465035137/246501001
ОГРН 1022402479945
Фактический адрес: 1-я Смоленская ул., д. 16, г. Красноярск, 660133
Юридический адрес: 1-я Смоленская ул., д. 16, г. Красноярск, 660133
Ген. директор: Морозов А. А.
Телефоны:
Под
+7 (3912) 67-17-15
административно-хозяйственной
структурой
предприятия
понимается
упорядоченная совокупность государственных подразделений, то есть их определённое
количество, размер, специализация, взаимосвязь, методы и формы взаимодействия.
Одним
из
факторов,
влияющих
на
административно-хозяйственную
структуру
онкологического диспансера, являются стратегия организации, которая в нашем случае
ориентируется на высокое качество обслуживания пациентов. В связи с этим структура
будет иметь вид в соответствии с рисунком 1.
Во главе организации находится главный врач. Ему напрямую подчинены заместитель
главного врача, директор технико-хозяйственной службы, главный бухгалтер и главный
экономист. В подчинении у заведующего хозяйства находится плотник, водители,
уборщики, подсобные рабочие, дворники, рабочие по обслуживанию здания.
Приведем
детализацию
административно-хозяйственной
немедицинского персонала онкологического диспансера.
6
структуры
Главный врач
Заместитель
главного врача
Директор техникохозяйственной службы
Главный
бухгалтер
Начальник хозяйственной
службы
Бухгалтер
Заведующий хозяйством
Заведующий
складом
Главный
экономист
Плотник
Кладовщик
Водители
Уборщики
Подсобные рабочие
Дворники
Рабочие по обслуживанию здания
Рисунок 1. Административно-хозяйственная структура немедицинского персонала
КГБУЗ КККОД им. А.И. Крыжановского.
Отдельное место в организации занимает склад. На его территории храниться весь
инвентарь, привезенный для обслуживания медицинских отделений. Ответственное лицо
на складе - кладовщик, а организационными вопросами складирования и техники
безопасности и другими вопросами занимается заведующий складом.
Функции кладовщика. Прием на склад, хранение и выдача со склада различных
материальных ценностей. Обеспечение сохранности складируемых материальных
ценностей, соблюдение режимов хранения, предотвращающих порчу и потери
материальных ценностей. Перемещение материальных ценностей с раскладкой
(сортировкой) их по видам, качеству, назначению и другим признакам. Комплектование
7
партий материальных ценностей по расходным накладным и их отпуск. Участие в
проведении инвентаризаций материальных ценностей.
Функции заведующего складом. Координация работы по приему, рациональному
размещению, хранению и отпуску товарно-материальных ценностей на складе.
Организация проведения погрузочно-разгрузочных работ на складе с соблюдением
правил
охраны
труда,
техники
безопасности,
производственной
санитарии
и
противопожарной защиты. Обеспечение сохранности складируемых материальных
ценностей, соблюдение режимов хранения, ведение учета складских операций. Участие в
проведении инвентаризации материальных ценностей.
Основными симптомами ошибок управления складскими процессами являются:
дефицит инвентаря, неэффективное использование оборудования и технических
ресурсов, низкое качество обслуживания пациентов.
Препятствия на пути повышения эффективности складских комплексов можно
разделить
на
четыре
группы:
организационные
(функции,
полномочия,
зоны
ответственности), технологические (последовательность выполнения операций, методы
и алгоритмы), информационные (информационные системы учета и обработки данных,
средства коммуникации) и технические (наличие техники и оборудования, степень
изношенности ресурсов, соответствие требованиям).
Процесс
оптимизации
складских
технологий
состоит
из
нескольких
последовательных этапов.
1. Исследование технологических процессов (логистическая экспертиза).
2. Разработка объемно-планировочных решений и проектирование технологии
работы склада.
3. Подготовка склада к внедрению изменений и само внедрение.
Логистическая экспертиза
Цель первого этапа - обнаружить ключевые проблемы, решение которых даст
наиболее ощутимый результат при минимальных затратах ресурсов и времени.
Водитель предоставляет сопроводительную документацию заведующему склада
для проверки соответствия заявке, а затем, заведующий склада передает документы с
разрешением кладовщику. Если в информационную систему склада не поступает
информация об ожидаемой поставке, то кладовщик готовит документ для приемки в тот
момент, когда автомобиль уже готов к разгрузке. Для того чтобы ускорить процедуру
разгрузки и приемки, руководству склада разрешено осуществлять приемку по копии
транспортной накладной, а после отъезда транспортного средства со склада заполнять
8
подготовленный кладовщиком бланк, внося дополнительную информацию о принятых
товарах.
Одновременно с приемкой и оприходованием инвентаря в информационной
системе склада заведующий склада производит оприходование товаров в корпоративной
информационной системе.
Проблемы складских процессов, препятствующие эффективной организации
складирования, обработки грузов, выполнения обслуживания пациентов:
 неравномерная нагрузка на склад;
 приемка по копиям товаросопроводительных документов, не приспособленным
для фиксирования дополнительной информации;
 трудности при идентификации поступающего инвентаря;
 дефицит вместимости зоны для приемки и размещения поступающего инвентаря;
 при размещении инвентаря зачастую неэффективно используется вместимость
склада;
 отсутствуют регламентированные методы принятия решения о расстановке
инвентаря;
 инвентарь может беспорядочно складироваться в зоне напольного хранения;
 оптимизация размещения инвентаря на складе (уплотнение, консолидация) также
не проводится.
Все перечисленные проблемы относятся к разряду организационных. Основными
информационными
проблемами
размещения
называют
отсутствие
учета
в
информационной системе передвижений инвентаря по складу, фиксирования сроков
годности, партий, серий и других характеристик, влияющих на последовательность
отбора, а значит и на размещение инвентаря на складе.
Смежные по отношению к складу процессы, к которым эксперты относят закупки,
управление запасами, предоставление инвентаря сотрудникам, также должны быть
тщательно проанализированы.
Так, например, в процессе закупок и управления запасами экспертное,
интуитивное определение ассортимента и объема поставок часто приводит к
накоплению излишних или неликвидных запасов. А отсутствие информации о
неудовлетворенном спросе - к дефициту инвентаря на складе. Еще одна организационная
проблема процесса закупок и управления запасами - использование ошибочного
алгоритма принятия решений об объеме закупок, что приводит к накоплению излишних
запасов. К числу основных информационных проблем можно также отнести отсутствие
9
работы по анализу качества работы поставщиков (нет статистики недовозов, возвратов,
недовложений).
Наконец, перечислим основные информационные проблемы процесса закупки и
доставки: не ведется статистика по недовозам и проблемам, возникшим при доставке, не
ведется учет возвратов и их причин, данные по остаткам могут не соответствовать
реальной ситуации на складе.
Разработка объемно-планировочных решений
Как правило, среди часто встречающихся проблем наиболее критическими
являются: неэффективное использование пространства склада или отдельных его зон,
несоответствие параметров складских помещений интенсивности потока инвентаря.
Процесс разработки планировки склада начинается с определения количества и
конструкции мест хранения, с учетом весогабаритных характеристик хранимых грузов и
параметров движения инвентаря. Следующий этап - зонирование склада и разработка
модели потоков инвентаря по зонам склада. На заключительном этапе разрабатываются
алгоритмы эффективного размещения инвентаря по местам хранения, маршруты
комплектации, передвижения.
Принципы размещения инвентаря на складе зависят от способа комплектации.
Для сокращения времени комплектации инвентарь в зоне хранения может быть
сгруппирован, например, по габаритам инвентаря или по скорости расходимости.
Каждой зоне на складе могут быть присущи характерные правила размещения и
комплектации. Их реализация осуществляется с помощью механизма назначения
рейтинга ячейкам в системе автоматизации склада, а также с помощью системы
нумерации зон.
1.1.2. Анализ хозяйственной деятельности предприятия
Бюджетные организации - это органы государственного управления, учреждения
здравоохранения, народного образования, культуры.
Главное назначение бюджетных организаций и учреждений состоит в
удовлетворении социально-бытовых и духовных потребностей народов России.
Своеобразие
хозяйственной
деятельности
бюджетных
организаций
и
учреждений вызывает определенные особенности в организации бухгалтерского учета,
но не освобождает их от формирования полной и достоверной информации об их
деятельности и имущественном положении необходимой внутренним пользователям
бухгалтерской отчетности - руководителям, учредителям, участникам и собственникам
имущества организации, а также внешним - инвесторам, кредиторам и др.
Пользователям бухгалтерской отчетности.
10
Организация хозяйственных операций, их целесообразность, наличие, движение
имущества и обязательств, использование материальных, трудовых и финансовых
ресурсов
бюджетных
учреждений
ведется
в
соответствии
с
утвержденными
нормативами и сметами, что предотвращает отрицательные результаты хозяйственной
деятельности учреждения.
Основные правила ведения бухгалтерского учета установлены Законом «О
бухгалтерском учете», Положением о бухгалтерском учете и отчетности, Положением
по
бухгалтерскому
учету
«Учетная
политика
предприятия»,
Планом
счетов
бухгалтерского учета и некоторыми другими нормативными документами.
Основные требования к ведению бухгалтерского учета:
 бухгалтерский учет имущества, обязательств и хозяйственных операций
организаций ведется в валюте РФ - в рублях;
 имущество, являющееся собственностью организации, учитывается обособленно
от имущества других юридических лиц, находящихся в данной организации;
 бухгалтерский учет ведется организацией непрерывно с момента её регистрации
до реорганизации или ликвидации;
 бухгалтерский учет имущества, обязательств и хозяйственных операций
организаций ведется путем двойной записи на взаимосвязанных счетах
бухгалтерского учета. Данные аналитического учета должны соответствовать
оборотам и остаткам по счетам синтетического учета;
 все
хозяйственные
операции
и
результаты
инвентаризаций
подлежат
своевременной регистрации на счетах бухгалтерского учета без каких-либо
пропусков и изъятий;
 текущие затраты на производство продукции и капитальные вложения
учитываются раздельно;
 основанием для записи в учетных регистрах являются первичные, учетные
документы, которые должны составляться в момент совершения хозяйственных
операций или непосредственно после её окончания и содержать обязательные
реквизиты.
Как было отмечено выше, бухгалтерскими документами оформляются любые
хозяйственные операции в той последовательности, в какой они совершаются, тем,
обеспечивая сплошной, непрерывный учет всех объектов учета; юридическое
обоснование бухгалтерских записей, имеющих доказательную силу; использование
документов для текущего контроля и оперативного руководства хозяйственной
11
деятельностью организации, контроль за сохранностью собственности, укрепления
законности, поскольку документы служат основными источниками сведений для
последующего контроля правильности, целесообразности и законности каждой
хозяйственной операции.
Для описания системы по учету инвентаря вКГБУЗ КККОД им. А.И.
Крыжановского построим функциональную схему бизнес-модели организации, опишем
все необходимые бизнес-процессы с точностью, достаточной для однозначного
моделирования деятельности разрабатываемой системы. Функциональную схему будем
строить
на
основе
методологии
IDEF0,
используя
программное
средство
AllFusionProcessModeler 7 (ранее BPwin). В соответствии с рисунком 2 изображена
контекстная диаграмма операционной деятельности исследуемой организации.
Рисунок 2 – Контекстная диаграмма хозяйственной деятельности КГБУЗ КККОД
им. А.И.Крыжановского.
Проведем декомпозицию диаграммы «А0» (в соответствии с рисунком 3).
12
Рисунок 3 –Декомпозиция диаграммы А0 хозяйственной деятельности
КГБУЗ КККОД им. А.И.Крыжановского.
Форма документа определена совокупностью реквизитов. Некоторые реквизиты
являются обязательными для каждого документа, отражают создание операции и
придают им доказательную силу. К таким реквизитам относят: наименование
документа, дата составления, наименование организаций, от имени которой составлен
документ, содержание хозяйственной операции, измерители хозяйственной операции (в
натуральном и денежном выражении), наименование должностных лиц, ответственных
за совершение хозяйственной операции, личные подписи указанных лиц.
Перечень должностных лиц, имеющих право распорядительной подписи
первичных
учетных
документов,
утверждает
руководитель
организации
по
согласованию с главным бухгалтером.
Ответственность за доброкачественное и своевременное оформление документов,
передачу их в установленные сроки для
отражения в бухгалтерском учете, за
достоверность содержащихся в документе данных несут
лица, создавшие и
подписавшие эти документы. В учреждениях все бухгалтерские документы, связанные с
исполнением смет расходов по бюджету, специальным и другим внебюджетным
средствам, подписываются руководителем учреждения или его заместителем и главным
бухгалтером или его заместителем.
Банковские документы, расходные кассовые ордера, платежные ведомости на
заработную плату по срокам и суммам выплат из кассы подписываются руководителем
учреждения или его заместителем и главным бухгалтером или его заместителем.
13
Документы без подписи главного бухгалтера или его заместителя считаются
недействительными и к исполнению не подлежат. Приходные кассовые ордера
действительны при наличии подписи главного бухгалтера или его заместителя и
кассира.
Материально-ответственные лица
представляют первичные документы по
приходу и расходу товарно-материальных ценностей при реестре сдачи документов,
составленном в 2-х экземплярах.
С лицами ответственными за хранение денежных и товарно-материальных
ценностей, заключается письменный договор о полной индивидуальной материальной
ответственности.
Своевременное и достоверное создание первичных документов, передача их в
установленном порядке и сроки для отражения в бухгалтерском учете производится в
соответствии с утвержденным в организации графиком документооборота.
В соответствии с рисунком 4 показана последовательность действий по операции
учета инвентаря.
Рисунок 4 – Декомпозиция диаграммы А1 хозяйственной деятельности
КГБУЗ КККОД им. А.И.Крыжановского (учет инвентаря).
В
России
централизованно
разрабатывается
единая
форма
документов.
Разработка таких форм для оформления однородных хозяйственных операций в
организациях называется унификацией. В России унифицированы формы кассовых
14
документов, почти все банковские документы и некоторые другие. Они обязательны для
всех отраслей народного хозяйства.
Содержанием анализа хозяйственной деятельности бюджетных учреждений
является, во-первых, раскрытие механизма действия основных факторов, влияющих на
экономические показатели; во-вторых, количественное измерение факторных влияний на
динамику этих показателей; в-третьих, качественная оценка тенденций развития
организаций, финансируемых из бюджета. В процессе анализа исследуются причинноследственные связи экономических явлений, структурно-логические и математические
модели факторных систем параметров хозяйственной деятельности учреждений.
В соответствии с рисунком 5 показан учет табеля по введению инвентаря
эксплуатацию.
Рисунок 5 – Декомпозиция диаграммы А1 хозяйственной деятельности
КГБУЗ КККОД им. А.И.Крыжановского (ввод в эксплуатацию).
Организационно-техническая
и
экономическая
специфика
деятельности
бюджетных учреждений находит свое отражение в характерных объектах управления,
анализа и соответствующих системах показателей.
Основные
средства
являются
одним
из
важнейших
факторов
любого
производства. Если основой функционирования сферы материального производства
выступают основные производственные фонды, то материально-технической базой
бюджетных и научных учреждений являются основные непроизводственные фонды.
Общими чертами основных производственных и непроизводственных фондов является
15
то, что и те и другие используются в течение длительного срока и на протяжении всего
периода сохраняют свою натуральную форму, постепенно изнашиваются и морально
устаревают по мере развития науки и техники. С другой стороны, между ними имеются
существенные различия, которые в некоторой степени сказываются на процедуре
проведения экономического анализа. Так, основные производственные фонды участвуют
в создании материальных благ и по мере износа постепенно переносят свою стоимость
на продукт труда в виде амортизации. Непроизводственные основные фонды не
принимают
непосредственное
участие
в
производстве
материальных
благ,
функционируют в качестве предметов длительного потребления, постепенно утрачивают
свою стоимость и их обновление производится за счет средств государственного
бюджета и внебюджетных источников. От наличия непроизводственных фондов, их
состояния
и
степени
использования
во
многом
зависят
объем
и
качество
предоставляемых услуг (здоровье людей, образование, просвещение, наука и т.д.).
В процессе анализа хозяйственной деятельности онкологического диспансера,
было выявлено, что учет основных средств ведется в бумажном виде. Рассмотрим
подробнее организацию работы склада.
Цель проекта – создание единого информационного пространства, позволяющего
создавать автоматизированные рабочие места немедицинского персонала, создавать базы
данных, вести электронный учет основных средств.
Задачи проекта – основной задачей проектирования является создание
программного продукта, отражающего всю информацию о хозяйственной деятельности
диспансера, в частности о сотрудниках склада и об основных средствах.
Конечными пользователи автоматизированной системы являются: немедицинские
работники больницы. Основные требования к программному продукту:
 понятный интерфейс;
 разграничение прав доступа к данным;
 возможность редактирования данных.
1 . 3 А н а л и з с у щ е с т ву ю щ е г о п р о г р а м м н о г о
обеспечения
Основную задачу автоматизации рабочего места склада можно решить 3
способами:
 модернизация существующего программного обеспечения
 приобретение нового программного обеспечения
 разработка нового программного обеспечения
16
Модернизацию программного обеспечения рассматривать в качестве решения
проблемы нельзя, так как на складе оно отсутствует. Рассмотрим варианты новых
программных продуктов.
На данный момент времени сектор рынка программного обеспечения для
крупных предприятий представлен большим количеством программных продуктов. Для
анализа были выбраны следующие: «БЭСТ-5», «KEEP COUNT СКЛАД», «1С:
Инвентаризация и управление имуществом».
Рассмотрим их характеристики.
БЭСТ-5–Информационная система управления предприятием
Задачи программы:
 Ведение оперативного, бухгалтерского, налогового и управленческого учета
 Планирование и контроль хозяйственной деятельности
Ее используют коммерческие организации, государственные (муниципальные)
бюджетные, казенные и автономные учреждения и частные предприниматели. Среди
них:
 Оптовая и розничная торговля
 Производство и строительство
 Сфера услуг
 Аптеки
 Общественное питание
 Санаторно-курортные учреждения
 Коммунальное хозяйство
 Общественные организации
 Образование, наука, культура
 Детские дошкольные учреждения
 Государственные (муниципальные) учреждения
Система может использоваться для ведения учета на одном предприятии, на
произвольном количестве не связанных между собой предприятий, а также в
произвольной группе компаний, имеющих единого собственника или общее управление.
Недостатки данного программного обеспечения – это малое количество
инструментов для работы менеджера и аналитика.
KEEP COUNT СКЛАД– программа для учета складского имущества.
Разработчик – торговая компания «САОТРОН».
17
Система " KEEPCOUNT СКЛАД " – программный комплекс для эффективного
использования материальных и трудовых ресурсов за счет ведения безошибочного учета
имущества организации и возможности мгновенного определения его местонахождения.
Данная программа устанавливается непосредственно на терминал сбора данных,
предоставляющий собой мобильное устройство со встроенным сканером штрих - кодов,
который позволяет загружать необходимую информацию путем сканирования
штрихового кода с этикетки для последующей передачи отсканированных данных на
компьютер.
Передача данных может происходить различными путями, такими как: USB,
IrDA, WI-FI или Bluetooth. В начальном этапе работы с данной системой необходимо
провести маркировку имущества при помощи принтера печати штрих-кодовых этикеток.
При сканировании штрих-кода терминалом происходит передача информации в учетную
систему программы «KEEPCOUNT СКЛАД».
Недостатки данного программного обеспечения:
1. KEEP COUNT требует работы с терминалом сбора данных, который оборудован
большим экраном, в противном случае все удобные выпадающие списки и меню
будут неразличимы. Стоимость терминалов сбора данных с большим экраном
соответствующая. Например, приемлемый терминал фирмы Symbol стоит около
20 000 руб.
2. Предлагая такую функциональность, мало кто задумывается о квалификации
обслужающего персонала склада.
3. Справочник складов, а также, в коей мере, справочник инвентаря будут меняться
не так часто, но если дела идут достаточно хорошо, то множество проблем может
доставить обновление справочника контрагентов на всех терминалах сбора
данных. Добавить нового контрагента в бухгалтерии могут в любой момент, и он
моментально появится в учетной программе на всех рабочих местах. Сложнее
дело будет обстоять с терминалами - ведь это не только передача данных в
другую программу, но и на другое устройство. Нет проблем, если этот процесс
автоматизирован. А если нет? Тогда опять придется положиться на квалификацию
сотрудников.
"1C:Инвентаризация и управление имуществом" – совместное решение
фирмы "1С" и компании AXELOT, предназначенное для управления имуществом,
проведения инвентаризаций и диагностических осмотров с применением современных
методов автоматической идентификации.
18
Регулярная работа по учету и управлению объектами имущества, и, в частности,
проведение инвентаризаций, требует значительных временных и человеческих ресурсов.
При этом ее необходимость, в ряде случаев закрепленная законодательно, сомнений не
вызывает. Разрабатывая систему "1C:Инвентаризация и управление имуществом", свою
задачу AXELOT видел в создании современного инструмента, позволяющего оперативно
собирать максимально развернутую информацию об имуществе и эффективно
справляться с учетом и управлением материальными объектами.
Рассмотрим
основные
достоинства
и
недостатки
«1C:Инвентаризация
и
управление имуществом». К достоинствам данной программы можно отнести
следующее:
1. С помощью «1C:Инвентаризация и управление имуществом» можно вести все
существующие виды бухгалтерского учета.
2. На сегодняшний день «1C:Инвентаризация и управление имуществом» является
одной из самых универсальных бухгалтерских программ, которая может
использоваться в самых разных организациях. Данная программа основана на
платформе «1С: Предприятие», которую можно модифицировать под нужды
конкретного бизнеса. Подобная гибкость «1C:Инвентаризация и управление
имуществом» позволяет решать с ее помощью множество различных задач.
3. «1C:Инвентаризация и управление имуществом» идеально приспособлена под
российское законодательство и позволяет легко подстраиваться под регулярно
меняющиеся в нашей стране законы и требования чиновников. Разработчики
«1С» следят за всеми изменениями в налоговом законодательстве и оперативно
обновляют формы отчетности в программе.
4. Программа «1C:Инвентаризация и управление имуществом» обладает высокой
производительностью, что дает возможность решать с ее помощью самые
сложные задачи.
5. Совместно
с
«1C:Инвентаризация
и
управление
имуществом»
можно
использовать MS SQL Server.
К сожалению, «1C:Инвентаризация и управление имуществом» обладает и рядом
недостатков, к которым можно отнести следующее:
1. В подавляющем большинстве случаев, чтобы «1C:Инвентаризация и управление
имуществом» решала все поставленные перед ней задачи, программу приходится
дорабатывать. Каждое предприятие уникально, поэтому для эффективной его
работы, как правило, требуются индивидуальные решения по автоматизации
19
бизнес-процессов (в том числе и по автоматизации ведения бухгалтерского и
налогового учета).
2. При переходе на «1C:Инвентаризация и управление имуществом» с другой
бухгалтерской программы могут возникнуть серьезные затруднения при переносе
информации из одной базы данных в другую (значительную часть информации
нередко приходится переносить вручную).
3. В «1C:Инвентаризация и управление имуществом» затруднен поиск ошибок,
сделанных во время обработки документов.
4. Программа «1C:Инвентаризация и управление имуществом» достаточно сложна в
освоении и требует специального обучения пользователей.
Таблица 2. Сводная таблица оценок ПО
ПО
Стоимость
БЭСТ-5
3000-10000
KEEP-
1C:Инвентари
Собственна
COUNT
зация и
я
СКЛАД
управление
разработка
имуществом
ПО
12000-50000
–
1000015500
Стоимость
8160
–
2000 - 5000
–
Надежность




Простота






Windows
Windows
Linux/Mac/Wi
Linux/Mac/
ndows
Windows
обучения

интерфейса
Режим работы в
сети
Требуемая
операционная
система
В процессе анализа программного обеспечения было выявлено, что приобретение
нового программного обеспечения невыгодно для автоматизации работы склада. В
расходы входит приобретение лицензии программного обеспечения и затраты на
переобучение немедицинского персонала, что не может себе позволить бюджетное
учреждение.
Разработка нового программного обеспечения – единственное решение задачи
автоматизации рабочего места склада.
20
1.3.1 ИТ-инфраструктура предприятия
IT-инфраструктура
—
система
комплексного
и
взаимосвязанного
функционирования автоматизированных Информационных Технологий современного
предприятия:
 применяемые технологии;
 технические и программные средства;
 системы связи и телекоммуникаций;
 системы жизнеобеспечения;
 схемы организации работы квалифицированного персонала.
Развитие
современного
Информационных
Технологий
предприятия
невозможно
Сбой
(IT).
в
без
системе
использования
или
остановка
работы IT инфраструктуры непременно приводит к потере прибыли, а может стать
настоящей катастрофой для организации. Поэтому, успешность развития предприятия
напрямую зависит от эффективности, стабильности функционирования, надежности IT и
ее соответствия поставленным задачам.
В таблице 3 приведены имеющиеся компьютерные средства
Таблица 3 – Компьютерные средства
Компьютерная техника
Количество
Компьютеры всего
6
из них: компьютеры в ЛВС
5
серверы
1
несвязанных ЛВС
0
Принтеры
6
из них лазерные
6
Использование сервера малоэффективно, так как отсутствует клиент-серверное
приложение.
По статистике, более 70% IT-бюджета расходуется на поддержку инфраструктуры
(серверы, операционные системы, дисковые массивы, СКС). Еще одной весомой статьей
расходов являются затраты на управление настольными компьютерами и мобильными
устройствами и их модернизацию.
В таблице 4 приведены имеющиеся, офисные программы:
Таблица 4 – Офисные программы
№
п/п
1
Программа
Microsoft Office 2010
Решаемая задача
Ведение
текущей
21
документации,
подготовка
отчетов для вышестоящей организации
Использование данной программы малоэффективно, так как учет базы данных
остается в бумажном виде.
1.4 Выбор и обоснование проектных решений
1.4.1 Обзор СУБД
Для правильного выбора целевой СУБД следует рассмотреть существующие на
сегодняшний день широко применяемые и самые популярные СУБД, их возможности,
преимущества и недостатки. Затем на основании анализа полученных данных сделать
выбор и преступить к разработке.
Microsoft SQL Server
Microsoft SQL Server – одна из наиболее мощных СУБД архитектуры клиент сервер. Эта СУБД позволяет удовлетворять такие требования, предъявляемые к
системам распределенной обработке данных, как тиражирование данных, параллельная
обработка, поддержка больших баз данных на относительно не дорогих аппаратных
платформах при сохранении несмежного управления.
MS
SQL
Server
не
предназначен
непосредственно
для
разработки
пользовательских приложений, а выполняет функции управления базой данных. Для
пользовательского приложения SQL Server является мощным источником генерации и
управления нужными данными.
Microsoft SQL Server предназначен исключительно для поддержки систем,
работающих в среде клиент-сервер. Он поддерживает широкий спектр средств
разработки и максимально прост в интеграции с приложениями, работающими на ПК.
SQL Server позволяет шифровать базу данных, файлы данных или файлы
журналов, не внося в приложения никаких изменений.
В SQL Server имеется возможность зеркалирования БД. Сбои в оборудовании
способны повредить страницы данных БД. С помощью SQL Server главный и
зеркальный
компьютеры
могут
прозрачно
для
пользователей
и
приложений
восстанавливать работоспособность после ошибок.
Благодаря
переработанной
архитектуре
установки,
настройки
и
конфигурирования в SQL Server 2008 значительно улучшено его обслуживание, что
позволило отделить процесс физического копирования программы на оборудование от
настройки программного обеспечения SQL Server.
Встроенные запросы LINQ (Language Integrated Query) позволяют разработчикам
вместо использования SQL-запросов обращаться к данным из программ на управляемых
22
языках, например C# или VB.NET.
Недостатком SQL Server является то, что он функционирует только на платформе
Windows.
MySQL5.5.28
MySQL - свободная реляционная система управления базами данных. Разработку
и поддержку MySQL осуществляет корпорация Oracle, получившая права на торговую
марку вместе с поглощённой SunMicrosystems, которая ранее приобрела шведскую
компанию MySQL AB. Продукт распространяется как под GNU GeneralPublicLicense, так
и под собственной коммерческой лицензией. Помимо этого, разработчики создают
функциональность по заказу лицензионных пользователей, именно благодаря такому
заказу почти в самых ранних версиях появился механизм репликации.
MySQL является решением для малых и средних приложений. Входит в состав
серверов WAMP, AppServ, LAMP и в портативные сборки серверов Денвер, XAMPP.
Обычно MySQL используется в качестве сервера, к которому обращаются локальные
или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера,
позволяющая включать MySQL в автономные программы.
Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов
таблиц: пользователи могут выбрать как таблицы типа My ISAM, поддерживающие
полнотекстовый поиск, так и таблицы Inno DB, поддерживающие транзакции на уровне
отдельных записей. Более того, СУБД My SQL поставляется со специальным типом
таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц.
Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно
появляются новые типы таблиц.
Достоинства:
 гибкость;
 быстрота;
 надежность;
 функциональность.
Недостатки:
 Наиболее быстрый тип таблиц MyISAM имеет не высокую надёжность (по
сравнению с Oracle и MS SQL Server) при достижении таблиц размера более
10Gb.
 Другой тип таблиц, например, InnoDB поддерживает вплоть до 1 Tb, однако он
медленее MyISAM (иногда в разы). Таблицы типа MyISAM не поддерживают
23
транзакции, зато поддерживают полнотекстовый поиск, а InnoDB поддерживают
транзакции, но не поддерживают полнотекстовый поиск. Поддерживает не все
элементы SQL-стандарта (в последнее время ситуация здорово исправляется).
Oracle
Oracle является одним из самых зрелых продуктов на рынке управления
взаимоотношениями с клиентами системы. При этом, как и большинство клиентсерверных систем CRM, является довольной дорогой в развертывании. Такое
программное решение ориентировано на компании среднего и крупного уровня.
Чтобы не отстать от конкурентов, Oracle постоянно обновляет свой продукт и
предлагает все новые сервисы и услуги. Так, облака от Oracle сейчас являются одними из
лучших решений в своем сегменте. Не стоит забывать, что Oracle является самым
первым поставщиком облачных CRM, а также инноватором во многих системах
обработки данных, относящихся к бизнес-логике.
На данный момент Oracle предоставляет следующие CRM-системы:
 Oracle CRM On Demand
 Oracle Right Now
 Oracle Fusion
Решения CRM Oracle обеспечивают широчайшие и глубочайшие возможности,
которые позволяют организациям повышать эффективность продаж, маркетинга,
лояльность и эффективность сервиса. А в сочетании с другими коммерческими
решениями Oracle эти продукты образуют единый комплекс, что удобно для
потребителей.
Достоинства:
 Самые гибкие настройки облака среди CRM
 Удобная отчетность в режиме реального времени
 Удобные средства для манипулирования данными
 Широкий диапазон для выбора хостинга сервиса
 Одна из самых низких абонентских плат
Недостатки:
 Удобство самого интерфейса уступает другим CRM
 Отсутствие качественных мобильных решений
 Ориентирован на IE
 Трудности интеграции в продукт решений третьих компаний
Microsoft Office Access 2010
24
Благодаря
пользовательскому
интерфейсу
Microsoft
Office
и
наличию
интерактивных средств, не требующих глубоких знаний в области баз данных, в Office
Access 2010 можно быстро отследить нужные данные и с легкостью создать отчеты на их
основе. Office Access 2010 позволяет быстро начать работу со встроенными базами
данных, чтобы внести в них изменения и адаптировать эти базы к меняющимся деловым
потребностям пользователя. Пользователь может собирать данные с помощью форм
электронной почты или импортировать данные из внешних приложений. Реализована
возможность
создания
и
редактирования
подробных
отчетов,
содержащих
отсортированные, отфильтрованные и сгруппированные данные, которые позволяют
принимать более обоснованные решения.
Office Access 2010 обеспечивает объединение больших объемов информации в
понятные отчеты, которые позволяют принимать обоснованные решения. Так же он
облегчает процесс управления информацией пользователя, обеспечивая высокую
прозрачность данных в рабочей среде.
Достоинства:
1. очень простой графический интерфейс, который позволяет не только создавать
собственную базу данных, но и разрабатывать приложения, используя встроенные
средства,
2. хранит все данные в одном файле, хотя и распределяет их по разным таблицам,
как и положено реляционной СУБД. К этим данным относится не только
информация в таблицах, но и другие объекты базы данных.
3. предлагает большое количество Мастеров, которые выполняют основную работу
за пользователя при работе с данными и разработке приложений, помогают
избежать рутинных действий и облегчают работу неискушенному в
программировании пользователю.
4. распространенность, которая обусловлена тем, что Access является продуктом
компании Microsoft,
5. постоянно обновляется производителем, поддерживает множество языков,
6. полностью совместим с операционной системой Windows,
7. ориентированность на пользователя с разной профессиональной подготовкой, что
выражается в наличии большого количества Мастеров, развитую систему справки
и понятный интерфейс.
8. широкие возможности по импорту/экспорту данных в различные форматы, от
таблиц Excel и текстовых файлов, до практически любой серверной СУБД через
механизм ODBC,
25
9. Наличие развитых встроенных средств разработки приложений. Большинство
приложений, распространяемых среди пользователей, содержит тот или иной
объем кода VBA (Visual Basic for Applications),
10. наличие встроенного языка макрокоманд.
Недостатки:
1. ограничены возможности по обеспечению многопользовательской среды,
2. В ранних версиях (до Access 2003) отсутствуют такие средства как триггеры и
хранимые процедуры, что заставляет разработчиков возлагать поддержание
бизнес-логики БД на клиентскую программу или разрабатывать процедуры с
помощью встроенного средства VBA.
3. обладает несложными способами защиты с использованием пароля БД (возможно
применения дополнительных мер по защите от несанкционированного доступа с
использованием процедур VBA),
4. В вопросах поддержки целостности данных отвечает только моделям БД
небольшой и средней сложности.
5. Не распространяется бесплатно.
Таблица 5. Сводная таблица оценок СУБД
СУБД
Microsoft SQL
My SQL
Oracle
Server
Стоимость
–
Microsoft
Access
60000
840000-
4000
1600000




Надежность




Средства







Простота
разработки
поддержки
целостности
данных
Клиент-сервер
Требуемая
операционная
Windows
Linux/Mac/
Windows
Windows
Linux/Mac/
Windows
система
В качестве средства проектирования базы данных, была выбрана СУБД MS SQL
Server 2010, так как она бесплатная и поддерживает функцию клиент-сервер. Для
пользовательского приложения SQL Server является мощным источником генерации и
26
управления нужными данными.
1.4.2 Обзор среды программирования
Visual Studio 2010
Microsoft Visual Studio 2010– это объектно-ориентированная среда для
визуального построения программных продуктов, основанная на языке C++, фирмы Microsoft.
C++ — компилируемый язык программирования общего назначения.
Достоинства
C++ — чрезвычайно мощный язык, содержащий средства создания эффективных
программ практически любого назначения, от низкоуровневых утилит и драйверов до
сложных программных комплексов самого различного назначения. В частности:
Поддерживаются
различные
традиционное
стили
и
технологии
директивное
программирования,
включая
программирование,
ООП,
Имеется возможность работы на низком уровне с памятью, адресами, портами.
Возможность создания обобщённых алгоритмов для разных типов данных, их
специализация
и
вычисления
на
этапе
компиляции,
используя
шаблоны.
Кроссплатформенность. Доступны компиляторы для большого количества платформ, на
языке C++ разрабатывают программы для самых различных платформ и систем.
Эффективность. Язык спроектирован так, чтобы дать программисту максимальный
контроль над всеми аспектами структуры и порядка исполнения программы. Ни одна из
языковых возможностей, приводящая к дополнительным накладным расходам, не
является обязательной для использования — при необходимости язык позволяет
обеспечить максимальную эффективность программы.
Недостатки:
1. Отчасти недостатки C++ унаследованы от языка-предка — Си, — и вызваны
изначально заданным требованием возможно большей совместимости с Си. Это
такие недостатки, как:
2. Синтаксис, провоцирующий ошибки.
3. Операция присваивания обозначается как = , а операция сравнения как ==. Их
легко спутать,(x=0)
4. В языке практически полностью сохранён набор конструкций Си, к которому
добавлены новые средства. Во многих случаях новые средства и механизмы
позволяют делать то же самое, что и старые, но в языке сохраняются оба
варианта.
27
5. Поддержка множественного наследования реализации в ООП-подсистеме языка
вызывает целый ряд логических проблем, а также создаёт дополнительные
трудности в реализации компилятора.
6. Шаблоны в своём исходном виде приводят к порождению кода очень большого
объёма, а введённая позже в язык возможность частичной спецификации
шаблонов трудно реализуема и не поддерживается многими существующими
компиляторами.
Недостаток информации о типах данных во время компиляции (CTTI).
C# по структуре похож на C++, но есть некоторые отличия.
Достоинства:
 Надежней С++ в отношении контроля ошибок, программирования и выполнения
Недостатки:
 Меньше возможностей по сравнению с С++
 Полученный код выполняется в несколько раз медленнее
Embarcadero RAD Studio XE2
Embarcadero RAD Studio XE2– это объектно-ориентированная среда для
визуального построения программных продуктов, основанная на языке ObjectPascal,
который является переработанной и существенно дополненной версией TurboPascal
фирмы Borland.
Delphi – язык и среда программирования, относящаяся к классу RAD-средств.
Delphi сделала разработку мощных приложений Windows быстрым процессом,
доставляющим удовольствие. Приложения Windows, для создания которых требовалось
большое количество человеческих усилий, например в С++, теперь могут быть написаны
одним человеком, использующим Delphi.
В 90-е годы XX столетия ведущей ОС для ПК стала ОС Windows, и встал вопрос о
создании мощной и в то же время достаточно простой и удобной для работы среды
создания Window-приложений. К разработке такой системы и приступила компания Borland.
Система программирования Delphi опирается на возможности ОС Windows. Как и
в
Windows,
в
Delphi
используется
графический
интерфейс,
обеспечивающий
взаимодействие компьютера с пользователем.
Значительную часть операций в процессе программирования пользователь может
выполнять с помощью мыши, что повышает его производительность труда.
Начав работу в системе Delphi, пользователь увидит многие элементы
интерфейса, которые уже знакомы ему по работе в Windows. К их числу относятся окна,
28
которые можно закрывать, сворачивать или, наоборот, разворачивать до полноэкранного
размера. Так же как в Windows, размеры большинства окон можно изменять методом
протягивания. Имеющиеся в системе программирования окна можно перемещать по
экрану, «ухватившись» указателем мыши за строку заголовка, аналогично тому, как это
делается в Windows. Если информация целиком не помещается в отведенное для нее
окно, то справа или снизу в рабочей области окна появляются полосы прокрутки
(скроллеры).
При работе в Delphi пользователю часто приходится пользоваться меню, которые
организованы так же, как меню в офисных приложениях Windows, т.е. имеется
горизонтальная строка, содержащая ряд разделов, каждый из которых является
ниспадающим вертикальным меню. В системе Delphi имеются многочисленные
диалоговые окна, содержащие те же элементы управления, что и в Windows. К числу
таких элементов относятся флажки, переключатели или радиокнопки, раскрывающиеся
списки, палитры и др. Использование всех этих элементов точно такое же, как в Windows.
В
Delphi
в
полном
масштабе
реализовано
объектно-ориентированное
программирование. Готовое приложение, как правило, реализуется в Delphi в виде
прямоугольной формы, которая выводится на экране на передний план при запуске
программы на выполнение. Данная форма содержит различные элементы, к числу
которых относятся надписи, текстовые поля, экранные кнопки, различные графические
объекты, а также радиокнопки и флажки.
Элементы, расположенные на форме, называются объектами приложения. К
числу объектов относится и сама. Каждый объект обладает определенным набором
свойств, которые можно настраивать либо с помощью средств графического интерфейса,
либо программным образом.
Поскольку ход работы приложения в значительной степени определяется
реакцией объектов на соответствующие им события, то систему программирования Delphi часто называют также системой событийно-ориентированного программирования.
Реакция объекта на какое-либо событие, как правило, записывается в виде отдельной
процедуры на языке программирования.
В системе Delphi языком, используемым для написания кода, является Object Pascal, который представляет собой дальнейшее логическое развитие языка Turbo Pascal.
Процедуру, описывающую реакцию объекта на некоторое событие, часто называют
также обработчиком этого события.
Программирование в Delphi состоит из двух основных этапов:
29
 визуальное построение программы на основе объектных компонентов и настройка
их свойств, в результате чего можно быстро сформировать пользовательский
интерфейс и обеспечить значительную долю функциональности приложения.
 написание программного кода на языке ObjectPascal для обеспечения особой
функциональности приложения, которую невозможно достичь использованием
визуального построения.
Достоинства:
 качество визуальной среды разработки;
 скорость работы компилятора и быстродействие откомпилированных программ;
 мощность языка программирования и его сложность;
 гибкость и масштабируемость архитектуры базы данных;
 наличие поддерживаемых средой разработки шаблонов проектирования и
использования.
Этот язык был выбран, так как он доступен для изучения, синтаксис команд
понятен и прост.
Недостатки:
 Их мало, но они есть. Главный, на мой взгляд, недостаток (и одновременно
достоинство) - статическое присоединение (linking) библиотеки VCL и
компонентов к исполняемому файлу. Справедливости ради надо сказать, что VCL
можно линковать и динамически, но тогда с каждым своим приложением вам
придется распространять еще и VCL, а это более 3 Мбайт. Однако если не
увлекаться интерфейсными "наворотами" и использовать в программе
минимально необходимое число компонентов, то исполняемый файл будет
невелик.
 Другой недостаток (и опять же достоинство) состоит в том, что в используемой в
Delphi парадигме форм (Forms) вся информация о форме, включая свойства,
настройки компонентов, значения по умолчанию, хранится в exe-файле, причем
не оптимальным образом. Анализ исходного кода VCL показывает, что при
создании формы фактически происходит чуть ли не синтаксический разбор
данных инициализации, что не может ее не замедлять.
 Третий недостаток, который кто-нибудь тоже может назвать достоинством, - это
Object Pascal. Несмотря на простоту, эффективность и легкость в изучении, ему не
хватает очень многих мощных средств C++. Мне, например, не достает шаблонов,
перегрузки операторов и объектной модели, похожей на объектную модель C++ .
30
Разочаровала Delphi и малым числом параметров оптимизации кода. Кроме того,
заметна тенденция к "разрастанию" exe-файлов, генерируемых Delphi. Так,
большинство небольших проектов, разработанных в Delphi 4, при
перекомпиляции в Delphi 5 "растолстели" на 40-70 Кбайт, при этом, разумеется,
не обретя новой функциональности.
В качестве языка программирования для разработки клиентского приложения
выбран язык Delphi.
Основные причины выбора Delphi:
 главной из причин является возможность работы с базами данными;
 легкость в организации доступа к базе данных;
 возможность редактирования таблиц, вставки и удаления записей;
 возможность создания достаточно понятного и дружественного интерфейса для
пользователя;
 простота языка позволяет быстро его освоить и создавать сложные программы.
Также, на выбор в качестве базового программного обеспечения, повлияли такие
обстоятельства
как,
достаточное
количество
необходимой
литературы
по
программированию в этой среде, распространенность этой среды и имеющийся
достаточный опыт работы в ней.
Инструментом для работы с БД, прежде всего является ADO – ActiveDataObjects,
представляющий собой набор системных библиотек и драйверов, предназначенных для
взаимодействия БД и приложений, разрабатываемых в Delphi.
ADO – это высокоуровневый компонент технологии доступа к данным от
Microsoft. Данными для ADO могут быть как привычные таблицы Access, серверные
базы MS SQL, Oracle.
31
2 ПРОЕКТНАЯ ЧАСТЬ
2 . 1 И н ф о р м а ц и о н н о е о б е с п е ч е н и е з а д ач и
2.1.1 Внедрение компьютерной технологии
Исходя из главы 1, было выявлено, что для улучшения работы немедицинского
персонала на складе КККОД, будет разработано новое программное обеспечение.
Традиционная технология работы КККОД в связи с внедрением АИС претерпит
неизбежные изменения, которые коснутся организации хозяйственного процесса
диспансера. Рассмотрим подробнее организацию работы склада.
С внедрением компьютерной технологии отпадает необходимость ручного
заполнения табелей учета инвентаря, т.к. эти документы будут формироваться
автоматически на основе информации, имеющейся в БД.
Немедицинский персонал диспансера имеют доступ к базам данных для
просмотра, анализа и коррекции хранимой там информации и получения статистических
отчетов по различным параметрам и их комбинациям.
Изменения коснутся также и организации работ на складе диспансера.
Заведующая хозяйством корпуса запрашивает сведения о наличии необходимого
инвентаря для обслуживания здания. Если инвентарь есть в наличии, то заведующая
складом вводит инвентарь в эксплуатацию и списывает со склада. Если инвентарь
отсутствует, формируется в АИС отчет о наличии необходимого инвентаря. Агент по
снабжению прикрепляет данный отчет к заявлению на закупку.
Для описания автоматизированной системы по учету инвентаря в КГБУЗ КККОД
им. А.И. Крыжановского построим функциональную схему бизнес-модели организации,
опишем все необходимые бизнес-процессы с точностью, достаточной для однозначного
32
моделирования деятельности разрабатываемой системы. В соответствии с рисунком 6
изображена
контекстная
диаграмма
операционной
деятельности
исследуемой
организации.
Рисунок 6 – Контекстная диаграмма автоматизированной хозяйственной
деятельности КГБУЗ КККОД им. А.И.Крыжановского.
Проведем декомпозицию диаграммы «А0» (в соответствии с рисунком 7).
Рисунок 7 –Декомпозиция диаграммы А0 автоматизированной хозяйственной
деятельности
КГБУЗ КККОД им. А.И.Крыжановского.
33
В соответствии с рисунком 8 показана последовательность действий по операции
учета инвентаря.
Рисунок 8 – Декомпозиция диаграммы А1 автоматизированной хозяйственной
деятельности
КГБУЗ КККОД им. А.И.Крыжановского (учет инвентаря).
Необходимо отметить, что внедрение АИС столкнется с рядом проблем. Одна из
них - организационная. Она связана с обучением медперсонала работе с компьютером и
программными средствами и снятием психологического барьера перед новой техникой,
необходимость освоения которой на первом этапе не всегда очевидна.
Еще одна организационная проблема заключается в необходимости создания в
онкологическом центре группы АСУ, состоящей из инженеров-электроников и
программистов, которая будет заниматься эксплуатацией системы: осуществлять ремонт
и наладку технических средств, сопровождать программное обеспечение, заниматься
обучением пользователей работе с программными продуктами, выполнять функции
администратора базы данных. Только решив эти проблемы, можно будет получить
значительный эффект от внедрения АИС.
2.1.2 Использование ADO средствами Delphi
Delphi является системой визуального программирования. Это означает, что в
системе программирования имеются готовые библиотеки элементов, которые можно
использовать для создания будущего приложения. Такие элементы называются
34
компонентами приложения. Выбор нужного компонента не требует написания
специального кода, а производится с помощью мыши.
Технология MicrosoftActiveXDataObjects обеспечивает универсальный доступ к
источникам данных из приложений БД. Такую возможность предоставляют функции
набора интерфейсов, созданные на основе общей модели объектов СОМ и описанные в
спецификации OLE DB.
Технология ADO и интерфейсы OLE DB обеспечивают для приложений единый
способ доступа к источникам данных различных типов (рис. 8.1). Например,
приложение, использующее ADO, может применять одинаково сложные операции и к
данным, хранящимся на корпоративном сервере SQL, и к электронным таблицам, и
локальным СУБД. Запрос SQL, направленный любому источнику данных через ADO,
будет выполнен (рис. 9).
Рисунок 9 – Схема доступа к данным через ADO
2.1.3 Использование OLE DB средствами Delphi
OLE DB представляет собой набор специализированных объектов СОМ,
инкапсулирующих стандартные функции обработки данных, и специализированные
функции конкретных источников данных и интерфейсов, обеспечивающих передачу
данных между объектами.
Согласно терминологии ADO, любой источник данных (база данных, электронная
таблица, файл) называется хранилищем данных, с которым при помощи провайдера
данных взаимодействует приложение. Минимальный набор компонентов приложения
может включать объект соединения, объект набора данных, объект процессора запросов.
35
В результате приложение обращается не прямо к источнику данных, а к объекту
OLE DB, который «умеет» представить данные (например, из файла электронной почты)
в виде таблицы БД или результата выполнения запроса.
Технология ADO в целом включает в себя не только сами объекты OLE DB, но и
механизмы, обеспечивающие взаимодействие объектов с данными и приложениями.
Спецификация OLE DB различает следующие типы объектов:
 перечислитель (Enumerator) выполняет поиск источников данных или других
перечислителей. Используется для обеспечения функционирования провайдеров
ADO;
 объект-источник данных (DataSourceObject) представляет хранилище данных;
 сессия (Session) объединяет совокупность объектов, обращающихся к одному
хранилищу данных;
 транзакция (Transaction) инкапсулирует механизм выполнения транзакции;
 команда (Command) содержит текст команды и обеспечивает ее выполнение.
Командой может быть запрос SQL, обращение к таблице БД и т.д.;
 набор
рядов
(Rowset)
представляет
собой
совокупность
строк
данных,
являющихся результатом выполнения команды ADO;
 объект-ошибка (Error) содержит информацию об исключительной ситуации.
Провайдеры ADO обеспечивают соединение приложения, использующего данные
через ADO, с источником данных (сервером SQL, локальной СУБД, файловой системой
и т. д.). Для каждого типа хранилища данных должен существовать провайдер ADO.
Провайдер «знает» о местоположении хранилища данных и его содержании,
умеет обращаться к данным с запросами и интерпретировать возвращаемую служебную
информацию и результаты запросов с целью их передачи приложению.
При
инсталляции
MicrosoftActiveXDataObjects
в
операционной
системе
устанавливаются следующие стандартные провайдеры:
 MicrosoftJet OLE DB Provider обеспечивает соединение с данными СУБД Access
при посредстве технологии ОАО;
 Microsoft OLE DB Provider for Microsoft Indexing Service обеспечивает доступ
только для чтения к файлам и Internet-ресурсам Microsoft Indexing Service;
 Microsoft OLE DB Provider for Microsoft Active Directory Service обеспечивает
доступ к ресурсам службы каталогов (Active Directory Service);
36
 Microsoft OLE DB Provider for Internet Publishing позволяет использовать ресурсы,
предоставляемые Microsoft FrontPage, Microsoft Internet Information Server, HTTPфайлы;
 Microsoft Data Shaping Service for OLE DB позволяет использовать иерархические
наборы данных;
 Microsoft OLE DB Simple Provider предназначен для организации доступа к
источникам данных, поддерживающим только базисные возможности OLE DB;
 Microsoft OLE DB Provider for ODBC drivers обеспечивает доступ к данным,
которые уже «прописаны» при помощи драйверов ODBC;
 Microsoft OLE DB Provider for Oracle обеспечивает соединение с сервером Oracle;
 Microsoft OLE DB Provider for SQL Server обеспечивает соединение с сервером
Microsoft SQL Server.
2 .2 Программ ное о бе с пече ние
Приложение баз данных предназначено для взаимодействия с некоторым
источником данных — базой данных. Взаимодействие подразумевает получение данных,
их
представление
в
определенном
формате
для
просмотра
пользователем,
редактирование в соответствии с реализованными в программе бизнес-алгоритмами и
возврат обработанных данных обратно в базу данных.
В Репозитории Delphi отсутствует отдельный шаблон для приложения баз
данных. Поэтому, как и любое другое приложение Delphi, приложение баз данных
начинается с обычной формы. Безусловно, это оправданный подход, т. к. приложение баз
данных
имеет
пользовательский
интерфейс.
И
этот
интерфейс
создается
с
использованием стандартных и специализированных визуальных компонентов на
обычных формах.
Визуальные компоненты отображения данных расположены на странице DataControls Палитры компонентов.
Приложение содержит 18 форм. Это главная форма системы (рис. 10) а также
формы справочников и ведение операций, а также форма «О программе».
37
Рисунок 10 – Главная форма системы
В основе любого приложения баз данных лежат наборы данных, которые
представляют собой группы записей, переданных из базы данных в приложение для
просмотра и редактирования. Каждый набор данных инкапсулирован в специальном
компоненте доступа к данным.
Для обеспечения связи набора данных с визуальными компонентами отображения
данных используется специальный компонент TDataSource
. Его роль заключается в
управлении потоками данных между набором данных и связанными с ним компонентами
отображения данных. Этот компонент обеспечивает передачу данных в визуальные
компоненты и возврат результатов редактирования в набор данных, отвечает за
изменение состояния визуальных компонентов при изменении состояния набора данных,
передает сигналы управления от пользователя (визуальных компонентов) в набор
данных. Компонент TDataSource расположен на странице DataAccess Палитры
компонентов.
Таким образом, базовый механизм доступа к данным создается триадой компонентов:
 компоненты, инкапсулирующие набор данных (потомки класса TDataSet);
 компоненты TDataSource;
 визуальные компоненты отображения данных.
Схема взаимодействия этих компонент приведена на рисунке 11.
38
Рисунок 11 – Механизм доступа к данным приложения баз данных
С компонентом TDataSource связаны визуальные компоненты отображения
данных.
При открытии набора данных компонент обеспечивает передачу в набор данных
записей из требуемой таблицы БД. Курсор набора данных устанавливается на первую
запись. Компонент TDataSource организует передачу в компоненты отображения данных
значений необходимых полей из текущей записи. При перемещении по записям набора
данных текущие значения полей в компонентах отображения данных автоматически
обновляются.
Для настройки свойств компонента необходимо выполнить следующие действия:
1. Связать набор данных и компонент TDataSource. Для этого используется
свойство DataSet компонента TDataSource, доступное через Инспектор объектов. Это
указатель на экземпляр компонента доступа к данным. В списке этого свойства в
Инспекторе объектов перечислены все доступные компоненты наборов данных.
2. Переименовать компонент. Это не обязательное действие. Тем не менее,
желательно присваивать компонентам осмысленные имена, соответствующие названиям
связанных наборов данных.
39
Компонент TDataSource можно подключить не только к набору данных из той же
формы, но и любой другой, модуль которой указан в секции uses.
Для размещения компонентов доступа к данным в приложении используется
специальная «форма» — модуль данных (класс TDataModule). Модуль данных не имеет
ничего общего с обычной формой приложения, т.к. его непосредственным предком
является класс TComponent. В модуле данных размещаются только невизуальные
компоненты (рис. 18).
Для создания модуля данных можно воспользоваться Репозиторием объектов или
главным меню Delphi. Значок модуля данных DataModule расположен на странице New.
Преимуществом размещения компонентов доступа к данным в модуле данных
является то, что изменение значения любого свойства проявится сразу же во всех
обычных модулях, к которым подключен этот модуль данных. Кроме этого, все
обработчики событий этих компонентов, т.е. вся логика работы с данными приложения,
собраны в одном месте, что тоже весьма удобно.
Визуальные
компоненты
предназначены
специально
для
решения
задач
просмотра и редактирования данных. Внешне большинство этих компонентов ничем не
отличаются от стандартных элементов управления. Более того, многие из компонентов
отображения данных являются наследниками стандартных компонентов – элементов
управления.
Компоненты отображения данных должны быть связаны с компонентом
TDataSource и через него с компонентом набора данных. Для этого используется их
свойство DataSource. Оно присутствует во всех компонентах отображения данных.
Большинство компонентов предназначены для представления данных из одного
единственного поля. В таких компонентах имеется еще одно свойство DataField, которое
определяет поле связанного набора данных, отображаемое в компоненте.
Особое значение для приложений баз данных играет компонент TDBGrid
,
который представляет данные в виде таблицы. В столбцах таблицы размещаются поля
набора данных, а в строках – записи. Для этого компонента не имеет смысла определять
конкретное поле, но можно задать настраиваемый набор колонок, а для каждой из них
определить поле набора данных.
Таким образом, для каждого визуального компонента отображения данных
необходимо выполнить следующие операции:
1. Связать компонент отображения данных и компонент TDataSource. Для этого
используется свойство Datasource, которое должно указывать на экземпляр
40
требуемого компонента TDataSource. Один компонент отображения данных
можно связать только с одним компонентом TDataSource. Необходимый
компонент можно выбрать в списке свойств в Инспекторе объектов.
2. Задать поле данных. Для этого используется свойство DataField типа TFields. В
нем необходимо указать имя поля связанного набора данных. После задания
свойства DataSource поле можно выбрать из списка.
Отдельное место среди компонентов отображения данных занимает компонент
TDBNavigator
. Он предназначен для перемещения по записям набора данных, а
также показывает набор данных целиком, данные в ячейках можно редактировать.
Механизм доступа к данным, содержащимся на сервере через ADO и
многочисленные объекты, и интерфейсы реализованы в виде набора компонентов,
расположенных на странице ADO.
Компонент TADOConnection
вобрал возможности перечислителя, источника
данных и сессии с возможностями обслуживания транзакций.
Текстовые команды ADO реализованы в компоненте TADOCommand.
Наборы рядов можно получить при помощи компонентов TADOTable
TADOQuery
, TADOStoredProc
,
. Каждый из них реализует способ доступа к
конкретному типу представления данных в хранилище.
Механизм соединения ADO с хранилищем данных реализуется через
специальный компонент — TADOConnection. Этот компонент открывает соединение,
заданное свойством Connectionstring.
Компоненты, работающие с хранилищем данных ADO через данное соединение,
подключаются к компоненту TADOConnection при помощи свойства
propertyConnection: TADOConnection;
которое имеет каждый компонент, инкапсулирующий набор данных ADO.
Компонент TADOConnection предназначен для управления соединением с
объектами хранилища данных ADO. Он обеспечивает доступ к хранилищу данных
компонентам ADO, инкапсулирующим набор данных.
Перед
открытием
соединения
необходимо
Дляэтогопредназначеносвойство
propertyConnectionString: WideString;
41
задать
его
параметры.
Набор параметров изменяется в зависимости от типа провайдера и настраивается
при помощи специального редактора параметров соединения, который вызывается
двойным щелчком на компоненте TADOConnection, перенесенным на форму, или
щелчком на кнопке в поле редактирования свойства ConnectionString в Инспекторе
объектов.
После настройки свойств компонент и подключения БД к серверу на форме
размещаются объекты, необходимые для создания приложения.
На странице ADO Палитры компонентов Delphi, кроме компонентов соединения
есть стандартные компоненты, инкапсулирующие набор данных и адаптированные для
работы с хранилищем данных ADO (рис. 12). Это компоненты:
 TADODataSet — универсальный набор данных;
 TADOTаblе — таблица БД;
 TADOQuery — запрос SQL;
 TADOStoredProc — хранимая процедура.
Рисунок 12 – Иерархия классов наборов данных ADO
Компоненты
ADO
обладают
обычным
набором
свойств
и
методов,
а
необходимый для доступа к данным через ADO механизм наследуют от своего общего
предка – классаTCustomADODataSet.
Компонент TADODataSet предназначен для представления набора данных из
хранилища данных ADO. Он прост в использовании, имея только несколько
собственных свойств и методов, и применяет функции своего предка – класса
TCustomADODataSet.
Это единственный компонент ADO, инкапсулирующий набор данных, для
которого опубликованы свойства, позволяющие управлять командой ADO. Этосвойства
propertyCommandText: WideString;
и
propertyCommandType: TCommandType;
42
В результате компонент представляет собой гибкий инструмент, который
позволяет (в зависимости от типа команды и ее текста) получать данные из таблиц,
запросов SQL, хранимых процедур, файлов и т.д.
Другие свойства и методы компонента обеспечивают применение индексов (этой
возможности лишен любой компонент запроса).
Компонент TADOQuery обеспечивает применение запросов SQL при работе с
данными через ADO. По своей функциональности он подобен стандартному компоненту
запроса.
Текст запроса задается свойством
property SQL: TStrings;
Параметры запроса определяются свойством
propertyParameters: TParameters;
Если запрос должен возвращать набор данных, для его открытия используется
свойство
propertyActive: Boolean;
илиметод
procedureOpen;
В противном случае достаточно использовать метод
functionExecSQL: Integer; ExecSQL
Число обработанных запросом записей возвращает свойство
propertyRowsAffected: Integer;
Компонент TADOStoredProc позволяет использовать в приложениях Delphi,
обращающихся к данным через ADO, хранимые процедуры. Он подобен стандартному
компоненту хранимой процедуры.
Имя хранимой процедуры определяется свойством
propertyProcedureName: WideString;
Для определения входных и выходных параметров используется свойство
propertyParameters: TParameters;
Если процедура будет применяться без изменений многократно, имеет смысл
заранее подготовить ее выполнение на сервере. Для этого свойству
propertyPrepared: Boolean;
присваивается значение True.
Для запросов SQL можно применять только язык DataManipulationLanguage
(использовать только SELECT).
43
Соединение с базой данных задается свойством Connectionstring или Connection.
Набор данных открывается и закрывается свойством Active или методами Open и
Close.
В приложениях компонент можно применять как все обычные компоненты
доступа к данным, связывая инкапсулированный в нем набор данных с визуальными
компонентами отображения данных через компонент TDataSource.
Компонент ТАDOTаblе обеспечивает использование в приложениях Delphi
таблиц БД, подключенных через провайдеры OLE DB. По своим функциональным
возможностям и применению он подобен стандартному табличному компоненту.
Имя таблицы БД задается свойством
Property Table Name: Wide String;
В Приложении приведен листинг приложения.
2 .3 Разработ ка ER – модели
Во время начальной стадии разработки БД и концептуального проектирования мы
определяем первоначальный набор сущностей. Эти сущности представляют собой
наиболее важную информацию об объектах системы с точки зрения представления
конечных пользователей и проектировщика.
База данных больницы будет использовать сущности, представленные ниже:
 Сотрудники склада: список немедицинского персонала, личная информация о
сотрудниках;
 отделения: список отделений;
 корпуса: список корпусов;
 инвентарь: список инвентаря;
 размещение инвентаря: размещение инвентаря в отделениях;
 размещение отделений: размещение отделений в корпусах;
 остаток на начало месяца: остаток суммы на начало месяца;
 приход инвентаря: сумма прихода инвентаря за месяц;
 расход инвентаря: сумма расхода инвентаря за месяц;
 итоговое количество: количество инвентаря в конце месяца;
ER-модель приведена на рисунке 13. Карта транзакций приведена на рисунке 14.
44
Инвентарь
1
имеет
M
Отвечает
за…
1
1
имеет
Начальный остаток
N
Сумма прихода
1
Немедицинский
персонал
Размещение инвентаря
Сумма расхода
M
M
Сумма на конец
месяца
учитывает
N
имеет
Количество
инвентаря
Отдел
1
M
1
учитывает
имеет
1
Корпус
1
M
1
учитывает
Рисунок 13 – ER-модель
45
Размещение отделений
Инвентарь
1
имеет
M
Отвечает
за…
1
1
имеет
Начальный остаток
N
Сумма прихода
1
Немедицинский
персонал
Размещение инвентаря
Сумма расхода
M
M
Сумма на конец
месяца
учитывает
N
имеет
Количество
инвентаря
Отдел
1
M
1
учитывает
имеет
1
Корпус
1
M
1
учитывает
Рисунок 14 – Карта транзакций
Место размещения инвентаря
Место размещения отделений
Информация о расходах инвентаря
На рисунке 15 представлена БД таблиц.
46
Размещение отделений
Рисунок 15 – БД таблиц
Концептуальное проектирование базы данных – это процесс создания модели
используемой на предприятии информации, не зависящей от любых физических
аспектов ее представления.
Первая
фаза
процесса
проектирования
базы
данных
заключается
в
создании концептуальной модели данных для анализируемой части предприятия. Это
модель данных создается на основе информации, записанной в спецификациях
требований пользователей. Концептуальное проектирование базы данных абсолютно не
зависит от таких подробностей ее реализации, как тип выбранной целевой СУБД, набор
создаваемых прикладных программ, используемые языки программирования, тип
выбранной вычислительной платформы, а также от любых других особенностей
физической реализации. При разработке концептуальная модель данных постоянно
47
подвергается тестированию и проверке на соответствие требованиям пользователей.
Созданная
концептуальная
модель
данных
предприятия
является
источником
информации для фазы логического проектирования базы данных.
Сущность – любой конкретный или абстрактный объект в рассматриваемой
предметной области. Сущности – это базовые типы информации, которые хранятся в БД.
К сущностям могут относиться: студенты, клиенты, подразделения и т.д. Экземпляр
сущности и тип сущности - это разные понятия. Понятие тип сущности относится к
набору однородных личностей, предметов или событий, выступающих как целое
(например, студент, клиент и т.д.). Экземпляр сущности относится, например, к
конкретному городу. Типом сущности может быть город, а экземпляром – Пекин,
Пхукет, Рим и т.д. Можно выделить следующие типы сущностей: сильные и слабые.
В таблице 6 показаны все существующие сущности базы данных, их описания,
псевдонимы и типы.
Таблица 6 – Сведения о типах сущностей
№
Имя сущности
Описание
Тип
1
Инвентарь
Содержит информацию
Слабый
объектов
2
Количество итог
инвентаризации
Содержит информацию о количестве
Сильный
инвентаря
3
Корпус
Содержит перечень корпусов
4
Остаток на начало месяца Содержит информацию об остатке
Слабый
Сильный
инвентаря на начало месяца
5
Приход суммы за месяц
Содержит информацию о приходе инвентаря
Сильный
6
Расход суммы за месяц
Содержит информацию о расходе инвентаря
Сильный
7
Отдел
Содержит перечень отделов диспансера
Слабый
8
Размещение инвентаря
Содержит информацию о размещении
Слабый
инвентаря
9
Размещение отделений
Содержит информацию о размещении
Слабый
отделов в корпусах диспансера
10
Сотрудники склада
Содержит перечень немедицинского персонала Слабый
Типы связей:
1. Связь типа «один-к-одному» означает, что один экземпляр первой сущности
(левой) связан с одним экземпляром второй сущности (правой). Связь «один-кодному» чаще всего свидетельствует о том, что на самом деле мы имеем всего
48
одну сущность, неправильно разделенную на две.
2. Связь типа «один-ко-многим» означает, что один экземпляр первой сущности
(левой) связан с несколькими экземплярами второй сущности (правой). Это
наиболее часто используемый тип связи.
3. Связь типа «много-ко-многим» означает, что каждый экземпляр первой сущности
может быть связан с несколькими экземплярами второй сущности, и каждый
экземпляр второй сущности может быть связан с несколькими экземплярами
первой сущности. Тип связи «много-ко-многим» является временным типом
связи, допустимым на ранних этапах разработки модели. В дальнейшем этот тип
связи должен быть заменен двумя связями типа «один-ко-многим» путем
создания промежуточной сущности.
Сведения об имеющихся типах связей для разрабатываемой базы данных
представлены в таблице 7.
Таблица 7 – Сведения о типах связей
1
Тип
№ сущности
Тип связи
Тип сущности
Инвентарь
Имеет
Начальный
Кардинальность
1:1
остаток
2
Инвентарь
Имеет
Сумма прихода
1:1
3
Инвентарь
Имеет
Сумма расхода
1:1
4
Инвентарь
Имеет
Количество итог
1:1
5
Сотрудники
Имеет
Инвентарь
M:N
склада
6
Отдел
имеет
Корпус
M:1
7
Отдел
Учитывает
Место
1:1
размещения
отдела
8
Инвентарь
Учитывает
Место
1:1
размещения
инвентаря
9
Размещение
Учитывает
Корпус
М:1
Учитывает
Корпус
М:1
инвентаря
10
Размещения
отделений
49
2.4 Составление реляционных отношений
Отношения приведены в таблицах 8-17. Для каждого отношения указаны
атрибуты с их внутренним названием, типом и длиной.
Типы
данных
обозначаются
так:
int
–
числовой,
varchar,char
–
символьный,datetime-тип данных даты, time –тип данных времени.
Таблица 8 – Сущность Инвентарь
Имя атрибута
Тип данных
Ключ
ID Inventar
int
PK
Nazvanie
Nvarchar(50)
Таблица 9 – Сущность Количество итог
Имя атрибута
Тип данных
Ключ
ID Inventar
int
PK
Nazvanie
Nvarchar(50)
Edizm
Nvarchar(50)
Kolvoost
float
KolvoPrih
float
KolvoRash
float
KolvoSum
(([Kolvoost]+[KolvoPrih])[KolvoRash])
Таблица 10 – Сущность Корпус
Имя атрибута
Тип данных
Ключ
ID Korpus
int
PK
Nazvanie
Nvarchar(50)
Таблица 11 – Сущность Остаток на начало месяца
Имя атрибута
Тип данных
Ключ
ID Inventar
int
PK
Nazvanie
Nvarchar(50)
Edizm
Nvarchar(50)
Zena
float
Kolvo
float
50
OstSumma
([Zena]*[Kolvo])
Таблица 12 – Сущность приход суммы за месяц
Имя атрибута
Тип данных
Ключ
ID Inventar
int
PK
Nazvanie
Nvarchar(50)
Edizm
Nvarchar(50)
Zena
float
Kolvo
float
OstPrihod
([Zena]*[Kolvo])
Таблица 13 – Сущность расход суммы за месяц
Имя атрибута
Тип данных
Ключ
ID Inventar
int
PK
Nazvanie
Nvarchar(50)
Edizm
Nvarchar(50)
Zena
float
Kolvo
float
OstRashod
([Zena]*[Kolvo])
Таблица 14 – Сущность Отдел
Имя атрибута
Тип данных
Ключ
ID Otdel
int
PK
Nazvanie
Nvarchar(50)
Таблица 15 – Сущность Размещение инвентаря
Имя атрибута
Тип данных
Ключ
ID Inventar
int
PK
Nazvanie
Nvarchar(50)
ID Korpus
int
Таблица 16 – Сущность Размещение отделений
Имя атрибута
Тип данных
Ключ
ID Otdel
int
PK
Nazvanie
Nvarchar(50)
ID Korpus
int
51
Таблица 17 – Сущность Сотрудники склада
Имя атрибута
Тип данных
Ключ
FIO
Nvarchar(50)
PK
Dolzhnost
Nvarchar(50)
ID Korpus
int
2 . 5 Тех н ол о г и ч е с ко е о бе с п еч е н и е
2.5.1. Спецификация программы
Исполняемый файл программы «Инвентарь» имеет название Inventar.exeи может
быть расположен в любом месте дерева папок на жестком диске.
Проектом называется комплект файлов, которые используются для разработки
приложения. В состав проекта входят следующие основные файлы:
 Файл проекта (расширение *.Dpr);
 Файлы форм (расширение *.frm);
 Файлы основных модулей (расширение *.pas);
 Файлы модулей классов (расширение *.cls)
 Файлы отчетов (расширение *.dsr)
Файл проекта содержит связи между всеми элементами приложения и включает в
себя все его формы и модули, а также различные ссылки и настройки для компиляции;
Файл
форм
содержит
описание
форм,
использованных
в
приложении,
составляющих их элементов со значениями свойств объектов, а также объявляемые
переменные, константы, процедуры обработки событий и пользовательские процедуры и
функции. Для каждой формы в приложении существует свой файл – модуль формы.
Файлы основных модулей. Их содержимым являются процедуры, функции, а
также объявляемые переменные и константы, которые можно использовать в других
модулях данного приложения.
Файлы
модулей
классов.
Предназначены
для
создания
разработчиком
собственных классов с описанием их методов и свойств.
Файлы дизайнеров отчетов. Эти файлы могут непосредственно компилироваться
в исполняемый код и не зависят от присутствия файлов форматов.
52
2.5.2 Вызов и загрузка
Вызов программы производится двойным щелчком по исполнимому файлу
программы Inventar.exe. Можно создать ярлык исполнимого файла программы на
рабочем столе или в окне любой папки или добавить пункт в Главное меню
операционной системы Windows. Файл базы «Base.database” может располагаться на
сервере диспансера.
2 .6 Те ст ир ова ние и внед ре ние АРМ
2.6.1 Отладка информационной системы
Отладку приложения проводим с помощью контрольного примера на каком-либо
одном инвентарном объекте. Это позволит увидеть ошибки связи данных на раннем
этапе создания информационной системы.
Подготовим исходные данные: введем значения в основные таблицы – сущности,
подготовим таблицыИнвентарь, Количество итог, Корпус, Остаток на начало месяца,
Приход суммы за месяц, Расход суммы за месяц, Отдел, Размещение инвентаря,
Размещение отделений, Сотрудники склада.
Задавшись исходными данными, проведем проверку на корректность вычислений.
В ходе тестирования убедились, что все вычисления производятся верно, а также
были внесены некоторые незначительные изменения в структуру полей некоторых
таблиц.
2.6.2 Защита информации и персональных данных
В Microsoft SQL Server 2010 впервые реализовано прозрачное шифрование баз
данных (Transparent Data Encryption). Прозрачное шифрование кодирует базы данных
целиком. Когда страница данных записывается из оперативной памяти на диск, она
шифруется. Когда страница загружается обратно в оперативную память, она
расшифровывается. Таким образом, база данных на диске оказывается полностью
зашифрованной, а в оперативной памяти – нет. Основным преимуществом TDE является
то, что шифрование и дешифрование выполняются абсолютно прозрачно для
приложений. Использовать преимущества шифрования может любое приложение,
использующее для хранения своих данных Microsoft SQL Server. При этом модификации
или доработки приложения не потребуется.
В Microsoft SQL Server 2012 функции шифрования были улучшены и расширены.
Для увеличения надежности криптозащиты и уменьшения нагрузки на систему
применяется специальная иерархия ключей.
53
1. Каждой базы данных шифруется при помощи специального ключа – Database
Encryption Key.
2. Database Encryption Key шифруется сертификатом, который создан в базе данных
Master.
3. Сертификат базы данных Master шифруется ее главным ключом.
4. Главный ключ БД Master шифруется главным ключом службы Service Master Key.
5. Главный ключ службы SMK шифруется службой защиты данных операционной
системы.
Наглядно схема работы с зашифрованной базой данных выглядит следующим образом:
Рисунок 16 - Схема работы с зашифрованной базой данных
В приведенной схеме используется, как симметричное, так и ассиметричное
шифрование. Симметричное шифрование менее требовательно к ресурсам системы, но
крайне уязвимо в управлении криптоключами. Ассиметричный метод, наоборот,
защищен на этапе менеджмента ключей, но, по той же причине, требует значительно
больше вычислительных ресурсов. Использование комбинации обоих методов позволяет
нейтрализовать
недостатки
каждого
из
них,
но
повысить безопасность и
производительность в целом.
Так, база данных защищается более быстрым симметричным шифрованием,
которое, при учете больших объемов информации, предпочтительнее. В свою очередь,
ассиметричному шифрованию подвергаются ключи шифрования базы, размер которых
54
несоизмеримо мал, но критичность их защиты выше. Использование такого подхода, на
серверах с низким уровнем ввода/вывода, низким потреблением процессорного времени
и оперативной памятью, достаточной для хранения больших массивов информации,
влияет на производительность на 3-5% при включении TDE. Серверы с меньшим
объемом ОЗУ, чьи приложения нагружают ЦПУ и систему ввода/вывода, будут страдать
на 28%, что достигается асинхронным выполнением процедур SQL (распараллеливание
процессов).
2.6.3 Что следует понимать и помнить при использовании TDE
При включении функции Transparent Data Encryption для любой пользовательской
базы происходит следующее:
 шифруется база, для которой включено шифрование;
 шифруется журнал транзакций пользовательской базы данных;
 шифруется общая временная база данных tempdb.
В отличие от полного шифрования пользовательской базы, журнал транзакций и
tempdb шифруется с момента включения TDE – предыдущие записи в них остаются
открытыми. Поэтому, после включения шифрования, необходимо пересоздать эти
файлы.
Также следует отметить, что Transparent Data Encryption (TDE) не заменяет
криптографические возможности SQL Server 2005. Шифрование в MS SQL Server 2005
работает на уровне значений и столбцов, а Transparent Data Encryption (TDE) – на уровне
базы данных – на более высоком уровне. Данное решение не защитит от системного
администратора или администратора SQL Server, но идеально противостоит краже или
изъятию самой базы данных.
Но что же делать, если соединение между сервером СУБД и клиентом не может
считаться доверительным? Информация, которой они обмениваются, может быть
перехвачена, «подслушана» или подменена – ведь рассмотренные средства не защищают
сетевые соединения, а дополнительная организация шифрованных каналов, особенно
проприетарных, влечет за собой дополнительные расходы производительности и
финансов.
2.6.4 Шифрование соединения средствами MS SQL Server
Если возможность прозрачного шифрования появилась лишь в SQL Server 2008,
то защита соединения между сервером и клиентом известна еще со времен SQL Server
7.0. К релизу 2012 она претерпела значительные доработки. Если раньше, для передачи
55
конфиденциальных
данных
использовался
протокол
SSL,
то
теперь
пакеты
«оборачиваются» в его логическое продолжение – протокол TLS.
По заявлению Microsoft: «SQL Server всегда шифрует сетевые пакеты, связанные
со входом в систему. Если сертификат не был предоставлен на сервере при запуске, SQL
Server создает самозаверяющий сертификат, который используется для расшифровки
пакетов входа». И это действительно так: сервер создает собственный сертификат,
который принимается клиентом, но шифруется лишь информация о соединении.
Чтобы
шифровать
всю
информацию
по
каналу
«клиент-сервер-клиент»,
необходимо выдать серверу корневой (доверенный) сертификат, импортировать его на
клиентские станции и настроить схему взаимодействия криптоалгоритмов. Одной из
наиболее результативной схем будет шифрование трафика симметричным методом, в то
время как ключи защищаются открытыми сертификатами.
Возможности Microsoft SQL Server 2012, в плане безопасности, расширяют
границы системным администраторам и интеграторам для маневрирования и полета
инженерной мысли. Возможность комбинирования блочных и поточных технологий
шифрования с симметричными и асимметричными методами; реализация прозрачного
шифрования баз данных; защита сетевых соединений и отдельных ячеек - это уже наши
инструменты сегодня.
2.6.5 Проведение опытной эксплуатации
В ходе опытной эксплуатации возникали требования по созданию той или иной
опции программы.
В ходе проведения опытной эксплуатации была усовершенствована структура
окон программы, добавлены некоторые элементы управления, налажен переход с первой
записи БД к последней, добавлен поиск и фильтр записей.
2.6.6 Внедрение программного продукта
Внедрение
программного
продукта
подразумевает
обучение
работников
предприятия эффективному пользованию информационной системой и разработку
расширенной справки по использованию информационной системы.
В ходе внедрения разработчик отвечает на большинство вопросов пользователя
по поводу функций программы, исправляет замеченные ошибки, разрабатывает
расширенную справку.
56
3 ЭКОНОМИЧЕСКАЯ ЧАСТЬ
3.1 Экономическая целесообразность разработки
Разрабатывая новый программный продукт, необходимо уметь рассчитать
проектную стоимость, которая напрямую зависит от сроков его исполнения. Поэтому в
данных методических указаниях рассматриваются вопросы, связанные с оценкой затрат
при проектировании, приводится пример расчета трудоемкости, а также расчет затрат
при внедрении и при эксплуатации нового программного продукта.
При выполнении проекта по информатизации для любого предприятия
принципиально важен вопрос об экономической эффективности выполняемых работ.
Проще говоря, стоит ли вкладывать финансовые, материальные и прочие виды ресурсов
в проект. Причем абсолютно не имеет значения, каким образом проект будут реализован:
либо
это
информационная
информационная
система,
система
собственной
разработанная
под
разработки
данного
(как
заказчика
вариант,
сторонним
производителем), либо это «стандартная» система, приведенная в качестве варианта
решения проблем конкретного предприятия.
Проблема расчета экономической эффективности упирается в несколько
ключевых точек:
 Заказчик, как правило, сам достаточно хорошо понимает, что существующая
информационная система (или несуществующая) не устраивает его по некоторым
параметрам,
более
того,
эти
параметры
он
достаточно
четко
готов
сформулировать для себя, но как только дело доходит до разговора с
подрядчиком, данная четкость пропадает.
 Заказчик стремится решить максимальное количество проблем в минимальное
время, не придавая значения четкой постановке вопроса о том, что, сколько стоит
и в какие сроки может быть выполнено, более того, в какие сроки произойдет
возврат вложенных в данный проект средств.
 Разработчик «не видит» по своей вине или по вине заказчика те ключевые точки,
которые принципиально важны для реализации проекта и которые оказывают
ощутимое влияние на параметры экономических показателей системы.
Таким образом, для реализации каждого конкретного проекта информационной
системы необходимо четко определить и, прежде всего, определиться самому
проектировщику, какие параметры и экономические показатели нужно вывести в
экономическое обоснование для того, чтобы показать необходимость проектирования
57
или внедрения, которое также стоит рассматривать как проект информационной
системы.
3.1.1 Экономическая эффективность
Внедрение информационных технологий сопряжено с капитальными вложениями
как
на
приобретение
подготовительных
предшествовать
работ
техники,
и
так
и
подготовку
экономическое
на
разработку
кадров.
обоснование
проектов,
Поэтому
выполнение
внедрению
целесообразности
должно
внедрения
информационных систем (ИС). Это означает, что должна быть исчислена эффективность
применения автоматизированных информационных технологий (АИТ).
Под
эффективностью
автоматизированного
преобразования
информации
понимают целесообразность применения средств вычислительной и организационной
техники при формировании, передаче и обработке данных. Различают расчетную и
фактическую
эффективность.
Первичную
(расчетную)
определяют
на
стадии
проектирования автоматизации информационных работ, т. е. разработки технорабочего
проекта; вторую (фактическую) - по результатам внедрения технорабочего проекта.
Обобщенным критерием экономической эффективности является минимум затрат
живого и овеществленного труда.
При этом установлено, что чем больше участков управленческих работ
автоматизировано,
тем
эффективнее
используется
техническое
и
программное
обеспечение.
Экономический эффект от внедрения вычислительной и организационной
техники подразделяют на прямой и косвенный.
Под прямой экономической эффективностью понимают экономию материальнотрудовых ресурсов и денежных средств, полученную в результате сокращения
численности управленческого персонала, фонда заработной платы, расхода основных и
вспомогательных материалов вследствие автоматизации конкретных видов плановоучетных и аналитических работ.
Не исключено, что внедрение АИТ на первом этапе не приведет к уменьшению
числа работников планово-учетных служб. В этом случае учитывают косвенную
эффективность, проявляющуюся в конечных результатах хозяйственной деятельности
предприятия. Ее локальными критериями могут быть: сокращение сроков составления
отчетов, повышение качества планово-учетных и аналитических работ, сокращение
документооборота, повышение культуры и производительности труда и т. д. Основным
же показателем является повышение качества управления, которое, как и при прямой
58
экономической эффективности, ведет к экономии живого и овеществленного труда. Оба
вида рассмотренной экономической эффективности взаимоувязаны.
Определяют экономическую эффективность с помощью трудовых и стоимостных
показателей. Основным при расчетах является метод сопоставления данных базисного и
отчетного периодов. В качестве базисного периода при переводе отдельных работ на
автоматизацию принимают затраты на обработку информации до внедрения АИТ (при
ручной обработке), а при совершенствовании действующей системы автоматизации
экономических работ - затраты на обработку информации при достигнутом уровне
автоматизации. При этом пользуются абсолютными и относительными показателями.
Например, на ручное составление складского отчета следует затратить 8 чел./ч.
(T0), а при использовании АИТ - 1 чел./ч.).
Абсолютный показатель экономической эффективности Tэк составляет
Tэк=T0-T1=8-1=7 чел./ч.
Относительный индекс производительности труда JПТ=1/8=0,125
Это значит, что для составления складской отчетности при автоматизации
требуется по сравнению с ручным составлением только 12,5% времени. Используя JПТ,
можно определить относительный показатель экономии трудовых затрат. При обработке
счетов-фактур в результате применения АИТ экономия составит 87,5%. Наряду с
трудовыми показателями необходимо рассчитывать и показатели стоимостные.
Следовательно, затраты на обработку информации в базисном и отчетном вариантах
определяют в денежном выражении.
Абсолютный показатель стоимости:
Сэк=С0-С1=8*100-1*100=700 руб.чел./час
Индекс стоимости затрат:
J
ст.затр=С1/С0=100/800=0,125
Срок окупаемости затрат:
T ок
З 0  П 0  С
К эф
0С1
где З0 - затраты на техническое обеспечение;
П0- затраты на программное
обеспечение; Кэф- коэффициент эффективности.
Управленческая отчетность - отчет о хозяйственных операциях, предоставляемый
руководству для нужд управления предприятием. От бухгалтерского учета отличается
59
тем, что обычно сводится к отчетам о прибыли и списании инвентаря, отчетам о
движении инвентаря. Может быть примерным, т.к. используется руководством для
оценки текущего положения предприятия.
3 . 2 Т р уд о е м к о с т ь о б р а б о т к и и н ф о р м а ц и и
Рассмотрим первый из приведенных показателей – величину трудоемкости
обработки информации. В реальной проектной ситуации достаточно трудно выделить и
подсчитать величину трудоемкости как для реально действующей, так и для
проектируемой системы.
Оценка трудоемкости является одним из наиболее важных видов деятельности в
процессе создания программного проекта.
Модели и методы оценки трудоемкости используются для решения многих задач,
среди которых можно выделить следующие:
 разработка бюджета проекта (здесь, прежде всего, требуется точность общей
оценки);
 анализ степени риска и выбор компромиссного решения (решение данной задачи
позволяет уточнить такие характеристики проекта, как масштабы, возможность
повторного
использования,
количество
разработчиков,
используемое
оборудование и т. д.);
 планирование и управление проектом (полученные результаты обеспечивают
распределение и классификацию расходов по компонентам, этапам и операциям);
 анализ затрат на улучшение качества программного проекта (это позволяет
оценить затраты и прибыль от стратегии инвестирования в совершенствование
аппаратных средств, технологий и возможности повторного использования).
При отсутствии адекватной и достоверной оценки невозможно обеспечить четкое
планирование и управление проектом. В целом ситуация, сложившаяся в индустрии информационных технологий, выглядит далеко не радужной.
Недооценка
стоимости,
времени
и
ресурсов,
требуемых
для
создания
программного проекта, влечет за собой недостаточную численность проектной команды,
чрезмерно сжатые сроки разработки и, как результат, утрату доверия к разработчикам в
случае нарушения графика. С другой стороны, перестраховка и переоценка могут оказаться ничуть не лучше. Если для проекта выделено больше ресурсов, чем реально
необходимо, причем без должного контроля за их использованием, то ни о какой
экономии
ресурсов
говорить
не
приходится.
60
Такой
проект
окажется
более
дорогостоящим, чем должен был быть при грамотной оценке, и приведет к запаздыванию с началом следующего проекта.
Существуют различные методы оценки программных проектов.
1. Алгоритмическое моделирование. Метод основан на анализе статистических
данных о ранее выполненных проектах, при этом определяется зависимость
трудоемкости
проекта
от
какого-нибудь
количественного
показателя
программного продукта (ПП) (обычно это размер программного кода).
Проводится оценка этого показателя для данного проекта, после чего с помощью
модели прогнозируются будущие затраты.
2. Экспертные оценки. Проводится опрос нескольких экспертов по технологии
разработки ПП, знающих область его применения. Каждый из них дает свою
оценку трудоемкости проекта, после чего все оценки сравниваются и
обсуждаются. Этот процесс повторяется до тех пор, пока не будет достигнуто
согласие по окончательному варианту предварительной трудоемкости.
3. Оценка по аналогии. Этот метод используется в том случае, если в данной области
применения создаваемого программного проекта уже реализованы аналогичные
проекты. Метод основан на сравнении планируемого проекта с предыдущими
проектами, имеющими подобные характеристики. Он использует экспертные
данные или сохраненные данные о проекте. Эксперты вычисляют высокую,
низкую и наиболее вероятную оценку трудоемкости, основываясь на различиях
между новым проектом и предыдущими проектами. Оценка может быть
достаточно детальной в зависимости от глубины аналогий. Слабость модели
заключается в том, что степень подобия нового проекта и предыдущих проектов,
как правило, не слишком велика.
Самый лучший вариант  это использование накопленных в организации
исторических данных, позволяющих сопоставить трудоемкость вашего проекта с
трудоемкостью предыдущих проектов аналогичного размера. Однако это возможно только
при следующих условиях:
 в организации аккуратно документируются реальные результаты предыдущих
проектов;
 по крайней мере один из предыдущих проектов (а лучше несколько) имеет
аналогичный характер и размер;
 жизненный цикл, используемые методы и средства разработки, квалификация и
опыт проектной команды нового проекта также подобны тем, которые имели
место в предыдущих проектах.
61
4. Закон Паркинсона. Согласно этому закону усилия, затраченные на работу,
распределяются равномерно по выделенному на проект времени. Здесь критерием
для оценки затрат по проекту являются человеческие ресурсы, а не целевая
оценка самого программного проекта. Если проект, над которым работают пять
человек, должен быть закончен в течение 12 месяцев, то затраты на его
выполнение исчисляются в 60 чел.-мес.
5. Оценка с целью выиграть контракт. Затраты на проект определяются наличием
тех средств, которые имеются у заказчика, поэтому трудоемкость проекта зависит
от бюджета заказчика, а не от функциональных характеристик создаваемого
проекта. Требования приходится изменить так, чтобы не выходить за рамки
принятого бюджета.
Каждый метод оценки имеет слабые и сильные стороны. Для работы над
большими проектами необходимо применить несколько методов оценки для их
последующего сравнения. Если при этом получаются совершенно разные результаты,
значит информации для получения более точной оценки недостаточно. В этом случае
необходимо воспользоваться дополнительной информацией, после чего повторить
оценку, и так до тех пор, пока результаты разных методов не станут достаточно
близкими.
Описанные методы оценки применимы, если документированы требования
будущей системы. В таком случае существует возможность определить функциональные
характеристики разрабатываемой системы. Однако во многих проектах оценка затрат
проводится только на основе предварительных требований к системе. В этом случае
лица, участвующие в оценке стоимости проекта, будут иметь минимум информации для
работы. Процедуры анализа требований и создания спецификаций весьма дорогостоящи.
Поэтому менеджерам следует составить смету на их выполнение еще до утверждения
бюджета для всего проекта.
Практика в этой области такова, что независимые оценки (т. е. выполненные
людьми, которые никак не зависят от команды разработчиков) обычно неточны.
Единственный способ, позволяющий получить заслуживающую доверия оценку,
заключается в совместной работе менеджера проекта и ведущих специалистов по
созданию архитектуры, разработке и тестированию. Компетентная команда выполняет
несколько итераций по оценке трудоемкости и анализу чувствительности модели.
Хорошая оценка трудоемкости разработки программного проекта:
 создается и поддерживается менеджером проекта и командами архитекторов,
разработчиков и тестировщиков, ответственными за выполнение работы;
62
 воспринимается всеми исполнителями как амбициозная, но выполнимая;
 основывается на подробно описанной и обоснованной модели оценки;
 основывается на данных по аналогичным проектам, которые включают в себя
аналогичные процессы, технологии, среду, требования к качеству и квалификации
работников;
 подробно описывается таким образом, чтобы все ключевые области риска были
хорошо видны, а вероятность успеха оценивалась объективно.
Идеальную оценку можно получить путем экстраполяции хорошей оценки,
полученной на основе устоявшейся модели трудоемкости и использующей опыт
выполнения множества аналогичных проектов, подготовленных той же командой,
которая использовала те же зрелые процессы и инструментарий.
В алгоритмическом моделировании трудоемкости разработки программного
проекта существуют в основном два подхода к моделированию: теоретические модели и
статистические
модели.
Большинство
моделей
для
определения
трудоемкости
разработки программного проекта могут быть сведены к функции пяти основных
параметров:
 размера конечного проекта (для компонентов, написанных вручную), который
обычно
измеряется
числом
строк
исходного
кода
или
количеством
функциональных точек, необходимых для реализации данной функциональности;
 особенностей процесса, используемого для получения конечного проекта, в
частности его способность избегать непроизводительных видов деятельности
(переделок, бюрократических проволочек, затрат на взаимодействие);
 возможностей персонала, участвующего в разработке программного проекта, в
особенности его профессионального опыта и знания предметной области проекта;
 среды, которая состоит из инструментов и методов, используемых для
эффективного выполнения разработки программного проекта и автоматизации
процесса;
 требуемого качества проекта, включающего в себя его функциональные
возможности, производительность, надежность и адаптируемость.
Наиболее влиятельный фактор оценки трудоемкости в этих моделях  размер
программного проекта. Процедура оценки трудоемкости разработки программного
проекта состоит из следующих действий:
 оценка размера разрабатываемого проекта;
 оценка трудоемкости в человеко-часах (чел.-ч.);
63
 оценка продолжительности проекта в календарных месяцах;
 оценка стоимости проекта.
Оценка размера проекта базируется на знании требований к системе. Для такой
оценки существуют два основных способа:
1. По аналогии. Если в прошлом приходилось иметь дело с подобным проектом и
его оценки известны, то можно, отталкиваясь от них, приблизительно оценить
свой проект.
2. Путем подсчета размера по определенным алгоритмам на основе исходных
данных  требований к системе.
Проблемы оценки размера программного проекта:
 проблема может быть недостаточно хорошо понята разработчиками и (или)
заказчиками из-за того, что некоторые факты были упущены или искажены;
 недостаток или полное отсутствие исторических данных не позволяет создать
базу для оценок в будущем;
 проектирующая организация не располагает стандартами, с помощью которых
можно выполнять процесс оценивания (либо в случае наличия стандартов их никто
не придерживается); в результате наблюдается недостаток совместимости при
выполнении процесса оценивания;
 менеджеры проектов полагают, что было бы неплохо фиксировать требования в
начале проекта, заказчики же считают, что не стоит тратить время на разработку
спецификации требований;
 ошибки, как правило, скрываются, вместо того, чтобы оцениваться и
отображаться, в результате чего создается ложное впечатление о фактической
производительности;
 менеджеры, аналитики, разработчики, тестеры и те, кто внедряет проект, могут
иметь разные представления о процессах оценивания и о возможностях
совершенствования проекта.
Основными единицами измерения размера программного проекта являются:
 количество строк кода (LOC  Lines of Code);
 функциональные точки (FP  Function Points).
Количество строк кода  исторически самая известная и до недавнего времени
распространенная единица измерения. Однако при ее использовании возникает ряд
вопросов:
64
1. Каким образом можно определить количество строк кода до того, как они
фактически будут написаны либо просто спроектированы?
2. Как показатель количества строк кода может отражать величину трудозатрат,
если не будет учитываться сложность проекта, способности (стиль) программиста
либо возможности применяемого языка программирования?
3. Каким образом разница в количестве строк кода может быть трансформирована в
объем эквивалентной работы?
Эти и другие вопросы привели к тому, что строки кода как единицы измерения
получили «дурную репутацию», хотя они по-прежнему остаются наиболее широко
используемыми. Взаимосвязь между LOC и затрачиваемыми усилиями не является линейной.
Несмотря
на
появление
новых
языков
программирования,
средняя
производительность работы программистов за двадцать лет осталась неизменной и
составляет около 3000 строк кода на одного программиста в год. Это говорит о том, что
уменьшение времени, затрачиваемого на цикл разработки, не может быть достигнуто за
счет значительного повышения производительности труда программистов. Причем это не
зависит от усовершенствований языка программирования, усилий со стороны менеджеров
или сверхурочных работ. На самом деле первостепенное значение имеет набор
функциональных свойств и качество программного продукта, а не количество строк кода.
В последнее время широкое развитие приобрели методика оценки трудоемкости
на основе функциональных точек и методика оценки трудоемкости на основе вариантов
использования.
ЗАКЛЮЧЕНИЕ
По результатам расчета экономической эффективности проектирования и
внедрения средства автоматизации сразу можно, что это выгодно. Хоть выгода и
косвенная, но, как правило, заметная в средне и долгосрочной перспективе. Внедрение
средств автоматизации может привести к корректированию самого бизнес-процесса, так
как задачи выполняются быстрее. Сотрудники могут обрабатывать большие объемы
информации за свое рабочее время, что можно использовать или для уменьшения затрат
на персонал или для быстрого развития бизнеса при неизменности количества
сотрудников, занятых обработкой информации.
Как показывает практика автоматизация бизнес процессов, в особенности таких,
как расчет себестоимости продукции, подготовка регламентированной отчетности по
результатам деятельности, учет взаиморасчетов с контрагентами, формирование и учет
65
печатных документов несет в себе большой потенциал для развития и материальную
выгоду с течением времени.
В процессе расчета экономической эффективности необходимо учитывать одно
свойство автоматизации. Заключается оно в следующем: чем больше средств и времени
потрачено на автоматизацию тем выше экономический эффект от внедрения.
Объясняется это довольно просто: если качественно подойти к выбору программного
продукта, качественно проработать все бизнес-процессы на этапе проектирования и
внедрения, все описать и отладить, то в последующем будет потрачено гораздо меньше
средств на эксплуатацию программы.
Важно отметить, что в случае если одним программным средством
автоматизируются различные подразделения и сотрудники, то уменьшаются затраты на
организацию документооборота между ними. Уменьшаются как временные, так и
материальные затраты.
СПИСОК ЛИТЕРАТУРЫ
1.
Аладин, Н. Электронный документооборот для всех и для всего / Н. Аладин //
Банковские технологии. – 2008. - №7. – с.57-59.
2.
Ю.Ф.Тельнова. – М.: Финансы и статистика, 2005. – 512 c.:ил.
3.
Архангельский, А. Я. Программирование в Delphi. Учебник по классическим
версиям Delphi / А. Я. Архангельский. - М. : БИНОМ , 2006 . - 1152 с.
4.
Черенков, А. П. Информационные системы для экономистов: учеб. пособие / А. П.
Черенков ; Моск. акад. экономики и права. - М. : Экзамен , 2004 . - 191 с.
5.
Атре Ш. Структурный подход к организации баз данных. – М.: Финансы и
статистика, 1983. – с. 45-46.
6.
Фомин, Г. П. Математические методы и модели в коммерческой деятельности:
учеб. для вузов по экон. спец. / Г. П. Фомин. - М.: Финансы и статистика , 2005 . – 615 с.
7.
Банк, В. Р. Информационные системы в экономике: учеб. для вузов по спец.
"Прикл. информатика (по областям)" / В. Р. Банк, В. С. Зверев. - М.: Экономистъ , 2006 .
– 477 с.
8.
Фленов М.Е. библия Delphi. – СПб.: БХВ-Петербург, 2004.
9.
Безопасность жизнедеятельности. Учебник для вузов/С.В. Белов, А.В. Ильницкая,
А.Ф. Козьяков и др.; Под общ. ред. С.В.Белова. М.: Высш. шк., 1999.
66
10. Фаронов И.В. Delphi 2005. Разработка приложений для баз данных и Интернета/
И.В. Фаронов. – СПб.: Питер, 2006. – 688с.:ил.
11. Бобровский, С. И. Delphi 7. Учебный курс / С. И. Бобровский. - СПб.: Питер, 2006 .
– 735 с.
12. Томас Коннолли, Каролин Бегг. Базы данных. Проектирование, реализация и
сопровождение. Теория и практика. Вильямс. 2003. – С. 98-99.
13. Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. –
М.: Финансы и статистика, 1989. – с. 124-125
14. Сухарев М.В. Основы Delphi. Профессиональный подход. – СПб.: Наука и техника,
2004.
15. Борискин
В.В., Поликарпова Н.М.Документационный
системный
комплекс
организации: учебно-методическое пособие. Издательство Ось-89, 2006. – с. 54-55
16. Смирнова, Г.Н. Проектирование экономических информационных систем: Учебник
/ Г.Н.Смирнова, А.А.Сорокин, Ю.Ф.Тельнов; Под ред. Тиори Т., Фрай Дж.
Проектирование структур баз данных. В 2 кн., – М.: Мир, 1985. – с. 65-66.
17. Глушаков С. В., Ломотько Д. В. Базы данных. Учебный курс. Р/н/Д. 2000. – с. 89-90.
18. Петров, В. Н. Информационные системы: учебник / В. Н. Петров, Ю.С.Избачков СПб.: Питер , 2008 . - 656 с.
19. Дейт К. Руководство по реляционной СУБД DB2. – М.: Финансы и статистика,
1988. – с. 211-212.
20. Орлов, С.А. Технологии разработки программного обеспечения: учебник / С.
Орлов. - СПб.: Питер , 2004 . - 528 с.: ил.
21. Дейт, К.Дж. Введение в системы баз данных, 6-е издание: Пер. с англ.К.;М.; СПб;
Издательский дом «Вильямс», 1999. – с. 234-235.
22. Мюллер Р. Базы данных и UML: Проектирование. Лори. 2002. – с. 178-179.
23. Джеффри П. Мак-Манус, Джеки Голдштейн, Кевин T. Прайс. Обработка баз
данных на Visual Basic .NET. Вильямс. 2003. – с. 98-99.
24. Мейер М. Теория реляционных баз данных. – М.: Мир, 1987. – с. 132-133.
25. Диана Зак. Visual Basic .NET. Самоучитель. Питер. 2003. – с. 71-72.
26. Мартин Дж. Планирование развития автоматизированных систем. – М.: Финансы и
статистика, 1984. – с. 112-113
27. Дональд Е. Кнут. Искусство программирования. Основные алгоритмы. 3 - е
издание. Вильямс. 2000. – с. 245-246.
28. Кэнту, М. Delphi 7: для профессионалов / М. Кэнту. - СПб.: Питер , 2005 . - 1100 с.
67
29. Емельянов, А. А. Имитационное моделирование экономических процессов: учеб.
пособие для компьютер. спец. ВУЗов / А. А. Емельянов, Е. А. Власова, Р. В. Дума; под
ред. А. А. Емельянова. - М.: Финансы и статистика , 2006 . - 416 с.
30. Информационные технологии в бизнесе. / И.Г.Гниденко, С.А.Соколовская - М.:
Вектор , 2005. - 160 с.
ПРИЛОЖЕНИЕ А
Листинг программного кода главной формы
unit MAIN;
interface
uses Winapi.Windows, System.SysUtils, System.Classes, Vcl.Graphics, Vcl.Forms,
Vcl.Controls, Vcl.Menus, Vcl.StdCtrls, Vcl.Dialogs, Vcl.Buttons, Winapi.Messages,
Vcl.ExtCtrls, Vcl.ComCtrls, Vcl.StdActns, Vcl.ActnList, Vcl.ToolWin,
Vcl.ImgList, Data.DB, Data.Win.ADODB;
type
TMainForm = class(TForm)
MainMenu1: TMainMenu;
N8: TMenuItem;
N5: TMenuItem;
StatusBar: TStatusBar;
ActionList1: TActionList;
EditCut1:TEditCut;
EditCopy1: TEditCopy;
EditPaste1: TEditPaste;
FileNew1: TAction;
FileSave1: TAction;
FileExit1: TAction;
FileOpen1: TAction;
68
FileSaveAs1: TAction;
WindowCascade1: TWindowCascade;
WindowTileHorizontal1: TWindowTileHorizontal;
WindowArrangeAll1: TWindowArrange;
WindowMinimizeAll1: TWindowMinimizeAll;
HelpAbout1: TAction;
FileClose1: TWindowClose;
WindowTileVertical1: TWindowTileVertical;
ImageList1: TImageList;
ADODataSet1: TADODataSet;
DataSource1: TDataSource;
ADOConnection1: TADOConnection;
N2: TMenuItem;
dsjfhsdjfh1: TMenuItem;
N1: TMenuItem;
N4: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N9: TMenuItem;
N11: TMenuItem;
N3: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N18: TMenuItem;
N10: TMenuItem;
N17: TMenuItem;
N19: TMenuItem;
N20: TMenuItem;
procedure FileExit1Execute(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure dsjfhsdjfh1Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure N18Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure N19Click(Sender: TObject);
procedure N20Click(Sender: TObject);
private
{ Private declarations }
public
69
{ Public declarations }
end;
var
MainForm: TMainForm;
implementation
{$R *.dfm}
uses CHILDWIN,CHILDWIN2,CHILDWIN3,CHILDWIN4,CHILDWIN5,CHILDWIN6,CHILDWIN7,C
HILDWIN8,CHILDWIN9,CHILDWIN10,CHILDWIN11,CHILDWIN12,CHILDWIN13,CHI
LDWIN16,CHILDWIN17,CHILDWIN18,About;
procedure TMainForm.N10Click(Sender: TObject);
begin
CHILDWIN13.TForm13.Create(application);
end;
procedure TMainForm.N11Click(Sender: TObject);
begin
CHILDWIN3.TForm3.Create(application);
end;
procedure TMainForm.N13Click(Sender: TObject);
begin
CHILDWIN18.TForm18.Create(application);
end;
procedure TMainForm.N14Click(Sender: TObject);
begin
CHILDWIN10.TForm10.Create(application);
end;
procedure TMainForm.N15Click(Sender: TObject);
begin
CHILDWIN9.TForm9.Create(application);
end;
procedure TMainForm.N16Click(Sender: TObject);
begin
CHILDWIN12.TForm12.Create(application);
end;
procedure TMainForm.N17Click(Sender: TObject);
begin
CHILDWIN17.TForm17.Create(application);
end;
procedure TMainForm.N18Click(Sender: TObject);
begin
70
CHILDWIN16.TForm16.Create(application);
end;
procedure TMainForm.N19Click(Sender: TObject);
begin
CHILDWIN11.TForm11.Create(application);
end;
procedure TMainForm.N1Click(Sender: TObject);
begin
CHILDWIN.TForm1.Create(application);
end;
procedure TMainForm.N20Click(Sender: TObject);
begin
AboutBox.ShowModal;
end;
procedure TMainForm.N2Click(Sender: TObject);
begin
CHILDWIN5.TForm5.Create(application);
end;
procedure TMainForm.N4Click(Sender: TObject);
begin
CHILDWIN6.TForm6.Create(application);
end;
procedure TMainForm.N6Click(Sender: TObject);
begin
CHILDWIN8.TForm8.Create(application);
end;
procedure TMainForm.N7Click(Sender: TObject);
begin
CHILDWIN2.TForm2.Create(application);
end;
procedure TMainForm.N9Click(Sender: TObject);
begin
CHILDWIN4.TForm4.Create(application);
end;
procedure TMainForm.dsjfhsdjfh1Click(Sender: TObject);
begin
CHILDWIN7.TForm7.Create(application);
end;
procedure TMainForm.FileExit1Execute(Sender: TObject);
begin
Close;
end;
71
end.
ПРИЛОЖЕНИЕ Б
Листинг программного кода дочерней формы
unit CHILDWIN;
interface
uses Winapi.Windows, System.Classes, Vcl.Graphics, Vcl.Forms, Vcl.Controls,
Vcl.StdCtrls, Vcl.ExtCtrls, Data.DB, Data.Win.ADODB, Vcl.Grids, Vcl.DBGrids,
Vcl.Mask, Vcl.DBCtrls, Vcl.Dialogs;
type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
ADOTable1: TADOTable;
ADOConnection1: TADOConnection;
DataSource1: TDataSource;
Button1: TButton;
Panel1: TPanel;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Label1: TLabel;
FontDialog1: TFontDialog;
ColorDialog1: TColorDialog;
Panel2: TPanel;
72
Button6: TButton;
Button7: TButton;
Panel3: TPanel;
Button8: TButton;
Edit1: TEdit;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
ADOTable1Nazvanie: TWideStringField;
ADOTable1Edizm: TWideStringField;
ADOTable1Zena: TFloatField;
ADOTable1Kolvo: TFloatField;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
ADOTable1IDInventar: TAutoIncField;
ADOTable1OstSumma: TFloatField;
Label7: TLabel;
Button9: TButton;
Button10: TButton;
CheckBox1: TCheckBox;
Button11: TButton;
Button12: TButton;
Panel4: TPanel;
Label8: TLabel;
Edit2: TEdit;
Button13: TButton;
Button14: TButton;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure ADOTable1CalcFields(DataSet: TDataSet);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure Button14Click(Sender: TObject);
procedure Button13Click(Sender: TObject);
private
{ Private declarations }
public
73
{ Public declarations }
end;
implementation
{$R *.dfm}
procedure TForm1.ADOTable1CalcFields(DataSet: TDataSet);
begin
ADOTable1.FieldByName('OstSumma').asFloat:=
ADOTable1.FieldByName('Zena').asFloat*ADOTable1.FieldByName('Kolvo').asFloat;
end;
procedure TForm1.Button10Click(Sender: TObject);
begin
ADOTable1.Prior;
end;
procedure TForm1.Button11Click(Sender: TObject);
begin
ADOTable1.Next;
end;
procedure TForm1.Button12Click(Sender: TObject);
begin
with ADOTable1 do
begin
while not EOF do
begin
next;
end;
end;
end;
procedure TForm1.Button13Click(Sender: TObject);
begin
ADOTable1.Filtered:=False;
end;
procedure TForm1.Button14Click(Sender: TObject);
begin
ADOTable1.Filter:='[Nazvanie] LIKE '+#39+'%'+edit2.text+'%'+#39;
ADOTable1.Filtered:=true;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOTable1.Append;
Panel1.Visible:=true;
end;
procedure TForm1.Button2Click(Sender: TObject);
74
begin
ADOTable1.Edit;
Panel1.Visible:=true;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
ADOTable1.Delete;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
ADOTable1.Post;
Panel1.Visible:=false;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
ADOTable1.Cancel;
Panel1.Visible:=false;
end;
procedure TForm1.Button6Click(Sender: TObject);
var i:integer;
begin
FontDialog1.font:=DBGrid1.Columns.Items[0].Font;
if FontDialog1.Execute then
for i := 0 to DBGrid1.Columns.Count-1 do
DBGrid1.Columns.Items[i].Font:=FontDialog1.Font;
end;
procedure TForm1.Button7Click(Sender: TObject);
var i:integer;
begin
FontDialog1.Font:=DBGrid1.Columns.Items[0].Title.Font;
if FontDialog1.Execute then
for i := 0 to DBGrid1.Columns.Count-1 do
DBGrid1.Columns.Items[i].Title.Font:=FontDialog1.Font;
end;
procedure TForm1.Button8Click(Sender: TObject);
begin
ADOTable1.Locate('Nazvanie',Edit1.Text,[loPartialKey,loCaseInsensitive]);
end;
procedure TForm1.Button9Click(Sender: TObject);
begin
with ADOTable1 do
begin
while not BOF do
begin
prior;
75
end;
end;
end;
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
DBGRid1.Columns.Items[0].Visible:=CheckBox1.Checked;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
end.
ПРИЛОЖЕНИЕ В
Работа окна «Справочник»
76
77
ПРИЛОЖЕНИЕ Г
Работа окна «Операции»
78
ПРИЛОЖЕНИЕ Д
Работа окна «Результаты»
79
Скачать