Диплом: Разработка автоматизированной системы взаимодействия с клиентами (CRM) в филиале компании ООО "Виктория"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
41
упрощение программного кода за счет перегрузки функций и
операторов;
более простой обработки ошибок за счет исключений.
Рассмотрим существующие среды программирования, которые
поддерживают язык программирования c++. Среда программирования «Visual
Studio 2015» является одной из старейших продуктов для создания программных
продуктов с графическим интерфейсом. Возможность добавления сторонних
плагинов способствует расширению функциональности среды программирования
до кроссплатформенного состояния. К недостатком этой среды можно отнести то,
что разработчик должен обладать опытом создания приложений, для работы с этой
средой.
Среда программирования «IntelliJ IDEA» позволяет осуществить разработку
программных продуктов на множестве популярных языков программирования. Но у
системы существует существенный недостаток производительности в процессе
компиляции, перекомпиляции и тестирования.
Платформа для разработки графических приложений «Appcelerator Titanium»
предоставляет возможность быстрого создания приложений для всех устройств. Но
в среде существует недостаток в виде генерации ошибок в коде, искусственных
ограничений и низкого качества пользовательской документации.
Мощной платформой для разработки приложений, которая позволяет
создавать приложения на языке программирования с++, является платформа
«Netbeans». Однако, платформа обладает низким показателем быстродействия и
ограничением функциональности некоторых плагинов.
На основании рассмотренных сред программирования, поддерживающих
язык с++, был сделан вывод о том, что наиболее надежной средой
программирования будет являться среда «MS Visual Studio».
Для создания отчетных форм будет использован программный продукт
«DesignFR», которое позволяет просматривать и редактировать файлы отчетов.
Проектируемая система должна функционировать в среде операционной
системы Windows 10, поскольку эта операционная система используется для работы
сотрудников организации.
42
1.4.3. Обоснование проектных решений по техническому обеспечению
Для функционирования информационной системы необходимо техническое
обеспечение, которое включает в себя ЭВМ, периферийные устройства, средства
связи прочие технические элементы. Проектируемая информационная система
будет основана на клиент-серверной архитектуре. Для производительности
программного обеспечения необходимо выбрать серверное аппаратное обеспечение
с оптимальными параметрами.
Для выбора процессора сервера необходимо учитывать следующие
характеристики:
1. Количество ядер - чем больше ядер встроено в ЦПУ, тем больше они
способны распределять его задачи. Это делает процессор быстрее и эффективнее.
2. Объем кэш-памяти обеспечивает возможность быстрого
восстановления файлов и оперативного выполнения задач.
3. Частота процессора определяет скорость работы системы.
4. Величина отвода тепловой мощности влияет на тип охлаждения
процессора.
Рассмотрим характеристики представленных процессоров для сервера.
Характеристики процессоров представлены в таблице 5.
Таблица 5
Характеристика процессоров
Характеристика процессора
Тест
производительности
Цена,
рублей
Intel Xeon E5530 (4 Core, 8M Cache,
2.40 GHz)
4621
18 000
Intel Xeon E5620 (4 Core, 12M Cache,
2.40 GHz)
4903
21 800
Intel Xeon E5645 (6 Core, 12M Cache,
2.40 GHz)
6533
39 400
Intel Xeon X5650 (6 Core, 12M Cache,
2.66 GHz)
7601
45 400
Intel Xeon E5-2670 v1 (8 Core, 20M
Cache, 2.60 GHz)
12497
77 900
Intel Core i5-2300 (4 Core, 6M Cache,
up to 3.10 GHz)
5283
78 000
Intel Core i7-870 (4 Core, 8M Cache,
2.93 GHz)
5487
85 000
Intel Xeon E3-1225 v3 (4 Core, 8M
Cache, 3.20 GHz)
7005
124 300
43
Характеристика процессора
Тест
производительности
Цена,
рублей
Intel Xeon E5-2620 v2 (6 Core, 15M
Cache, 2.10 GHz)
8689
195 000
Intel Xeon E5-2640 v3 (8 Core, 20M
Cache, 2.60 GHz)
14055
375 000
На основании полученных данных можно сделать вывод о том, что
оптимальным решением является процессор Intel Xeon E5-2670 v1 (8 Core, 20M
Cache, 2.60 GHz).
Для выбранного процессора необходимо выбрать материнскую плату.
Подходящей материнской платой является G218A-V1.1a. Выбранный процессор
использует память DDR4, которая обладает большей пропускной способностью и
является более экономичной по сравнению с DDR3. Объем памяти, необходимый
для обеспечения производительности, - 32 Гб.
Поскольку в проектируемой информационной системе планируется хранить,
помимо прочих данных, скан-копии документов, необходимо использовать для
сервера несколько жестких дисков общим объемом 4Тб.
Парк клиентских компьютеров организации является достаточно
производительным для обеспечения работы клиентских версий программного
обеспечения.
44
2. Проектная часть
2.1. Разработка проекта автоматизации
2.1.1. Этапы жизненного цикла проекта автоматизации
Процесс разработки программного обеспечения (ПО) является достаточно
сложным, поэтому были разработаны стандарты, которые содержат рекомендации
относительно процесса разработки программного обеспечения. Современные
стандарты в области разработки программного обеспечения не предписывают
четких и однозначных схем построения структуры жизненного цикла ПО.
Международные стандарты регламентируют перечень видов деятельности, из
которых должен состоять процесс разработки, и вводят ту или иную структуру
жизненного цикла разработки ПО.
Существуют стандарты, определяющие различные элементы в структуре
жизненных циклов ПО. Основу таких элементов составляют технологические
процессы – структурированные наборы деятельностей, решающие некоторую
общую задачу или совокупность задач, такие, как процесс определения требований,
процесс разработки, процесс сопровождения ПО, процесс обеспечения качества,
процесс разработки документации, процесс тестирования и пр.
Рекомендуемый состав стадий жизненного цикла программного обеспечения
регламентируют стандарты ISO, которые описывают технологические процессы.
Стандарт ГОСТ Р ИСО/МЭК 12207-2010 «Информационная технология. Системная
и программная инженерия. Процессы жизненного цикла программных средств»
определяет общую структуру жизненного цикла ПО в виде трехуровневой модели,
элементами которой являются процессы, виды деятельности, задачи [8]. Процессы
объединены в четыре группы: основные процессы, поддерживающие процессы,
организационные процессы, адаптация. Процессы состоят из отдельных видов
деятельности.
Стандарт ISO/IEC 15288:2015 «Разработка систем и программного
обеспечения – Процессы жизненного цикла систем» рассматривает программно-
аппаратную систему как единое целое [6]. Стандарт предлагает рассматривать
структуру жизненного цикла ПО как набор групп процессов, каждый из которых
описывается набором результатов, и каждый из результатов достигается при
45
помощи набора различных видов деятельности. Эффективность разработки ПО в
целом зависит от точности и корректности формулировки требований к
программному продукту.
Правила работы с требованиями к программному обеспечению
рассматриваются в стандарте IEEE 830-1998 «Recommended practice for software
requirements specifications» [2]. Стандарт регламентирует состав документации для
фиксирования требований к ПО, а также дает определение характеристикам,
которыми должен обладать правильно составленный набор требований.
Стандарт IEEE 1233-1998 «Guide for developing system requirements
specifications» дает описание правилам построения требований для программно-
аппаратных систем в целом, а также определяет необходимые свойства и атрибуты
набора требований [4]. Согласно стандарту, процесс разработки требований
включает определение, организацию, представление и модификацию требований.
Один из важных этапов в разработке программного обеспечения – это процесс
проектирования архитектуры ИС. Архитектура системы позволяет определить
большинство характеристик АИС и служит основным средством общения между
разработчиками, а также между разработчиками и всеми остальными лицами,
заинтересованными в данном ПО.
Рассмотрим стандарты, которые регламентируют процесс проектирования
архитектуры АИС. Стандарт IEEE 1016-1998 «Recommended Practice for Software
Design Descriptions» описывает принципы разработки непосредственно архитектуры
АИС, а не ее компонентов [3].
Стандарт ISO/IEC 42010 IEEE Std 1471-2011 «System and software engineering
Recommended practice for architectural description of software-intensive systems»
представляет архитектуру системы в виде комплекса представлений, которые
отражают структуру ПО с разных точек зрения [5]. В соответствии со стандартом
каждое представление архитектуры должно учитывать отраженные в нем взгляды и
интересы, причины, обуславливающие необходимость такого рассмотрения
системы, несоответствия между элементами одного представления или между
различными представлениями, а также различную служебную информацию.
Стандарт ISO 9001:2015 «Quality management systems Requirements»
определяет требования к качеству программного продукта, а также правила его
46
обеспечения [1]. Стандарт ISO/IEC 90003:2004 «Software engineering Guide lines for
the application of ISO 9001:2000 to computer software» описывает положения по
применению стандарта ISO 9001:2000 к программному обеспечению [7]. Также этот
стандарт помогает определить набор техник и процедур, которые будут применяться
для осуществления контроля и обеспечения качества разрабатываемых программ.
Так же существуют следующие методики разработки АИС:
«Custom Development Method» методика компании «Oracle»,
применяемая для разработки прикладных информационных систем [19]. Этот метод
является технологическим материалом, детализированным до уровня шаблонов
проектной документации, рассчитанной на применение в проектах компании.
Согласно этому стандарту при разработке программного обеспечения применяется
классическая модель жизненного цикла программного продукта.
Стандарт «Rational Unified Process» (RUP) представляет разработку
программного обеспечения в виде итеративной модели жизненного цикла, который
включает следующие фазы: начало, исследование, построение и внедрение [18].
Каждая фаза жизненного цикла АИС может разбиваться на этапы, называемые
итерациями. В результате осуществления этих этапов происходит выпуск версий
программного продукта для внутреннего или внешнего использования.
Прохождение процесса разработки через четыре этапа называют циклом разработки.
Каждый цикл разработки завершается генерацией версии системы. Если после
версия системы не удовлетворяет требованиям пользователя, то разработанный
продукт продолжает свое развитие и проходит те же этапы разработки.
Стандарт «Microsoft Solution Framework» (MSF) похож на стандарт
«RUP» тем, что делит разработку программного обеспечения на четыре фазы:
анализ, проектирование, разработка, стабилизация [18]. Эта модель является
итерационной, что предполагает использование объектно-ориентированного
подхода при моделировании системы. Стандарт«MSF» в сравнении со стандартом
«RUP» больше ориентирован для разработки бизнес- приложений.
Стандарт «Extreme Programming» (XP) был создан в 1996 году и
является самым новым среди рассмотренных стандартов [19]. Основу этого
стандарта составляет командная работа, с организацией эффективной
коммуникацией между заказчиком и разработчиков во время всей разработки АИС.
47
При этом разработка АИС проводится с использованием последовательно
разрабатываемых прототипов АИС.
Для разработки системы был выбран стандарт ГОСТ Р ИСО/МЭК 12207-2010,
потому его основу составляет классическая модель разработки ПО и все процессы
являются детализированными до уровня шаблонов проектной документации.
Рассмотрим модели жизненного цикла программного продукта. Когда
программные продукты только начали разрабатываться, они имели однородную
структуру и каждое приложение являлось единым целым. Поэтому для разработки
программных продуктов такого типа применялась каскадная модель жизненного
цикла программного обеспечения.
Основной характеристикой этой модели является деление всего процесса
разработки программного обеспечения на ряд этапов. При этом переходы между
этапами осуществлялись только после полного завершения работ на текущем этапе.
Каждый этап каскадной модели завершался выпуском полного пакета проектной
документации, которой достаточно для продолжения процесса разработки другой
командой разработчиков.
Каскадная модель была разработана в 1970 году, и она являлась первой
моделью, которая формализовала структуру этапов разработки ПО, что придавало
особое значение исходным требованиям к программному обеспечению и этапу
проектирования системы, а также созданию документации на ранних этапах
процесса разработки. Структура каскадной модели представлена на рисунке 16.
Рисунок 16. Структура каскадной модели жизненного цикла
программного обеспечения
48
На схеме этапов каскадной модели жизненного цикла программного
обеспечения видно, что процесс разработки осуществляется при помощи
упорядоченной последовательности шагов. Каскадная модель предусматривает
начало каждой фазы только тогда, когда полностью завершается выполнение
предыдущей фазы. При этом у каждой фазы есть определенные критерии входа и
выхода: входные и выходные данные.
Требования к проектируемой АИС определяются на стадии анализа и затем
документируются в техническом задании, которое является опорным документом
при создании АИС. Каждая стадия каскадной модели должна завершаться выпуском
полного комплекта проектной документации, которая включает в себя:
1. Техническое задание;
2. Эскизный проект;
3. Технический проект;
4. Рабочую программу.
Перечисленный пакет документов является достаточным для продолжения
процесса разработки другой командой разработчиков. Критерий качества при
использовании каскадной модели жизненного цикла программного обеспечения –
точное соответствие спецификациям технического задания на разработку АИС. При
этом особое внимание разработчики уделяют достижению оптимального значения
технических характеристик разрабатываемой АИС: производительности, объема
занимаемой памяти и т.д.
Переход от одного этапа проекта к другому осуществляется с помощью
формального обзора проекта. При этом клиент получает общее представление о
процессе разработки, а также происходит проверка качества программного
продукта. Как правило, стадия обзора проекта указывает на присутствие
договоренности между командами разработчиков и заказчиков о завершении
текущей фазы. Окончание каждого этапа разработки АИС удобно принимать за
стадию в процессе выполнения проекта.
При завершении определенных фаз проекта происходит формировании
базовой линии, которая в данной точке осуществляет фиксацию состояния АИС.
При возникновении потребности во внесении изменения в проект, используется
формальный процесс изменений.
49
В критических точках каскадной модели жизненного цикла программного
продукта происходит формирование базовых линий, последняя из которых является
базовой линией продукта. После формирования заключительной базовой линии
производится обзор приемки.
С ростом объема коммерческих проектов разработки программных продуктов
было установлено, что детальная проработка проекта разрабатываемой системы не
всегда удается на этапе анализа, потому что многие аспекты функционирования
АИС в динамических сферах деятельности меняются во время создания
информационной системы. В связи с этим потребовалось внесение изменений в
процесс разработки АИС таким образом, чтобы гарантировалось внесение
необходимых исправлений после завершения какого-либо этапа разработки. Это
послужило созданию итерационной модели жизненного цикла программного
продукта.
Каскадная модель жизненного цикла разработки АИС являлась идеальной,
поскольку только очень простые проекты проходили все этапы создания ПО без
участия в каких-либо итерациях — возвратов на предыдущие этапы разработки
программных средств. Например, на этапе программирования могло быть
обнаружено, что реализация некоторой функции является очень громоздкой,
неэффективной и вступает в противоречие с требуемой от системы
производительностью. В таких случаях может потребоваться перепроектирование
или переделка спецификаций требований к АИС. При разработке больших АИС
необходимость в итерациях может возникать регулярно на любой стадии
жизненного цикла как из-за допущенных на предыдущих шагах ошибок и
неточностей, так и из-за изменений внешних требований к условиям эксплуатации
системы.
Итерационную модель также называют моделью с промежуточным
контролем или моделью с циклическим повторением фаз. Структура итерационной
модели представлена на рисунке 17.
50
Рисунок 17. Итерационная модель жизненного цикла программного
обеспечения
При использовании итерационной модели жизненного цикла разработки
программного обеспечения существует возможность устранения недостатков
проектирования и программирования на более поздних стадиях при частичном
возврате на предыдущие стадии. При этом чем позже будет выявлена ошибка, тем
дороже ее исправление. Если стоимость усилий, необходимых для обнаружения и
устранения ошибок на стадии написания кода, принять за единицу, то стоимость
выявления и устранения ошибки на стадии выработки требований будет в 5-10 раз
меньше, а стоимость выявления и устранения ошибки на стадии сопровождения – в
20 раз больше.
В такой ситуации важным становится этап формулирования требований в
разрабатываемой АИС, составление спецификаций технического задания и создание
архитектуры системы. Системные аналитики несут личную ответственность за все
последующие изменения в проектных решениях. Важно учитывать, что объем
проектной документации может исчисляться тысячами страниц, а число
согласований документов может быть огромным. В связи с этим многие проекты так
никогда и не покидают этап планирования, впав в «паралич анализа». Одним из
возможных путей исключения подобных ситуаций является макетирование
(прототипирование) программных средств.

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)
Value-based education: ценности в системе образования и способы их реализации на уроке английского языка. Опыт Европейских стран