Файл: Моделирование предметной области «Управление домашними финансами» с помощью UML (Понятие, история развития, виды информационных систем).pdf
Добавлен: 29.02.2024
Просмотров: 82
Скачиваний: 0
Основной недостаток ООП - некоторое снижение быстродействия за счет более сложной организации программной системы.
Как правило понятие проектирование ассоциируется со структурным проектированием по методу сверху вниз на основе функциональной декомпозиции, согласно которой вся система в целом представляется как одна большая функция и разбивается на подфункции, которые, в свою очередь, разбиваются на подфункции и т.д. Эти функции подобны вариантам использования в объектно-ориентированной системе, которые соответствуют действиям, выполняемым системой в целом.
К недостаткам объектно-ориентированного подхода относятся некоторое снижение производительности функционирования ПО и высокие начальные затраты. Объектная декомпозиция существенно отличается от функциональной, поэтому переход на новую технологию связан как с преодолением психологических трудностей, так и дополнительными финансовыми затратами. Безусловно, объектно-ориентированная модель наиболее адекватно отражает реальный мир, представляющий собой совокупность взаимодействующих (посредством обмена сообщениями) объектов. Но на практике в на-стоящий момент продолжается формирование стандарта языка объектно-ориентированного моделирования UML, и количество САSЕ-средств, поддерживающих объектно-ориентированный подход, невелико по сравнению с поддерживающими структурный подход.
2 глава. Проектная часть
2.1. Выбор средства для моделирования предметной области решаемой задачи
Рассмотрим описание компании и основные принципы работы подразделения, отвечающего за разработку программного обеспечения.
Рассмотрим описание разработки программного продукта, описываемого в рамках курсовой работы.
В создании программного продукта принимали участие менеджер продукта, менеджер проекта, системный аналитик, команда разработчиков, команда тестирования.
Опишем процесс создания программного продукта в рамках курсовой работы.
Разработка продукта (нового или обновления к уже имеющемуся на рынке) начинается с того, что менеджер продукта собирает со всех заинтересованных лиц (Stakeholders) требования к продукту и описывает их бизнес спецификацию.[8]
Основными заинтересованными лицами являются:
- Бизнесподразделение (Sales and Marketing).
- Отдел исследования угроз.
- Клиенты компании.
При сборе требований обязательно проводится опрос клиентов, исследования рынка, анализа конкурентов. По результату проделанной работы по сбору требований формируются границы проекта.
Далее, документация по проекту передается в подразделение системного анализа в котором есть выделенный аналитик или несколько аналитиков, которые детально прорабатывают требования.
Другими словами, аналитики конвертируют бизнес требования в системные требования. Также на этой стадии в работу вовлекаются дизайнеры и разрабатывают пользовательский интерфейс.
Большое и активное участие в рамках разработки ПО принимают участие - проектный менеджер, главный разработчик и технический лидер команды тестирования.
Лидеры разработки и тестирования дают свои оценки по реализации и тестированию требований. На основании этих оценок, руководитель проекта строит проектный план, который обычно состоит из 5 стадий:
- активная разработка
- функционального тестирования
- регрессионной тестирование
- приемочное тестирование
- формальная процедура релиза
После того как план готов он предоставляется продуктовому менеджеру на согласование.
Если продуктового менеджера что-то не устраивает, к примеру даты выпуска продукта, на рынок, то запускается процесс пересмотра содержимого проекта. Какие-то требования могут исключиться, чтобы даты были приемлемыми с точки зрения менеджера продукта.
Также, возможен вариант пересмотра состава команды для того, чтобы все необходимые требования были выполнены в срок.
Когда со стороны продуктового менеджера и проектной команды достигнута договоренность происходит формальная процедура о приеме итогового наполнения проекта.
Таким образом, происходит фиксация наполнения проекта. Формально после этой процедуры проектный менеджер берет на себя обязанности по реализации всех требований в обозначенные сроки, а продуктовый менеджер гарантирует, что требования не будут меняться и в рамках текущего проекта не будут добавлено новых требований.
Анализ требований и сравнения программных аналогов представлен в таблице 1.
Таблица 1. Сравнение программных аналогов с учетом требований к проектируемой ЭИС
Требования к проектируемой системе |
SAP R/3 (SAP ERP) |
Oracle E-Business Suite |
- статистический расчет потребности в продукции; |
+ |
+ |
- статистический расчет производства продукции и учет созданной продукции; |
+ |
+ |
- статистический учет реализованной продукции; |
+ |
+ |
В вышеперечисленных программных продуктах присутствует избыточный функционал, который компании ОАО «УМПО» не нужен в силу специфики их бизнес-процессов.
Поэтому, например компании совсем не подойдут типовые продукты компании «SAP» или «Oracle» которые являются более типизированными и требуют изменения бизнеса компании-заказчика под свое ПО.
А собственная разработка на данных программных продуктах окажется нерентабельной в силу их дороговизны или отсутствия большого количества специалистов для поддержки эксплуатации и модернизации ЭИС в фазе сопровождения.
В нашем случае, становится очевидным тот факт, что нам необходимо программное обеспечение под заказ, так как автоматизируемая деятельность обладает специфическими особенностями собственных бизнес-процессов организации и конкретным назначением.
При выборе системы программирования были рассмотрены такие среды разработки приложений, как: «MSVisualFoxProv.9.0»; «MicrosoftAccess v.11»; «1С: Предприятие 8.3».
Достоинства данной среды разработки приложений следующие:
- широкий выбор средств, для работы с базами данных;
- обеспечивается высокая скорость обработки данных, в частности при обработке SQL-запросов;
- удобный интерфейс с пользователем;
- возможность генерирования приложения, используя визуальные средства для разработки.
К недостаткам можно отнести следующее:
- недостаточное внедрение концепции визуального программирования;
- слабая поддержка объектно-ориентированного подхода к созданию программ;
- слабый набор средств создания печатных выходных данных.
MicrosoftAccessv.11
MicrosoftAccess является полнофункциональной системой управления реляционной базой данных (СУРБД). Она обеспечивает все возможности определения, обработки и управления данными для работы с большими объемами информации.
Для обработки таблиц Access использует мощный язык баз данных – SQL (StructuredQueryLanguage – язык структурированных запросов). С помощью SQL можно получить набор данных, который необходим для решения конкретной задачи.
MicrosoftAccess предоставляет дополнительные средства разработки приложений баз данных, позволяющие не только обрабатывать данные в собственных структурах базы данных, но и в других распространенных форматах баз данных.
Вероятно, наиболее мощным качеством Access является возможность обработки данных из электронных таблиц, текстовых файлов, файлов dBase, Paradox и FoxPro, а также любых баз данных SQL, поддерживающих стандарт ODBC (OpenDataBaseConnectivity). Это означает, что Access можно использовать для создания Windows-приложений, способных обрабатывать данные как сетевого сервера SQLServer, так и базы данных, размещенной на головном компьютере.
Характеристики языков программирования представлены в таблице 2.
Таблица 2. Сравнительная характеристика языков программирования
VisualFoxpro |
Access (VisualBasic) |
|
Принцип обработки кода |
Интерпретатор (псевдокомпилятор) |
Интерпретатор (псевдокомпилятор) |
Язык |
DBASE c с объектами |
Basic c Объектами |
Система |
Закрытая |
Закрытая |
Создание пользовательских мастеров |
- |
- |
Динамическое создание форм ввода, обработки сообщений |
+ |
+ |
Модель создания приложения |
- |
- |
Технология |
Построители экранов, меню, отчетов (drag-and-drop), классов |
Построители экранов, меню, отчетов (drag-and-drop), классов |
Вывод из баз данных на печать |
Встроенный Report |
Встроенный Report |
Обработка исключений |
Процедура |
Процедура |
Поддержка CASE-средств |
- |
+ |
«1С: Предприятие поддерживает 5 видов СУБД:
- IBM DB2
- MS SQL
- Oracle BD
- PostgreSQL
Характеристики СУБД представлены в таблице 3.
Таблица 3. Сравнительная характеристика СУБД Microsoft SQL Server, DB2 и Oracle
Признак сравнения |
SQL Server |
DB2 |
Oracle |
Разработчик |
Microsoft |
IBM |
Oracle Corporation |
Язык запросов |
Transact-SQL (T-SQL) |
Декларативный SQL (SQL DB2) |
ANSI SQL и PL/SQL |
Протокол передачи данных |
Tabular Data Stream (TDS) |
TCP/IP, SNA/APPC, NETBIOS, IPX/SPX |
TCP/IP, SNA/APPC, NETBIOS, IPX/SPX |
Интерфейс взаимодействия приложений с СУБД |
Open Database Connectivity (ODBC) |
JDBC, SQLJ, ODBS, OLE DB |
JDBC, SQLJ, ODBS, OLE DB, VI SAN |
Преимущества |
поддерживает зеркалирование и кластеризацию БД; поддерживает избыточное дублирование данных по сценариям: «снимок», «история изменений», «синхронизация с другими серверами»; включает язык для реализации хранимых процедур и функций; отличается высокой производительностью |
мощный многофазовый оптимизатор SQLDB2 строит эффективный план выполнения запроса; использование статистического распределения данных в таблицах; поддержка XML документов; поддержка реляционных и комплексных данных с помощью объектных расширений; возможность работы на мультипроцессорных платформах; поддержка кластеров; 64-битная архитектура памяти; |
идентичность кода раздомашних версий сервера баз данных для всех платформ поддержка XML в хранимых процедурах; отправка SQL-запросов к БД с применением URL-адресов; средства объектно-ориентированного конструирования; система оптимизации одновременного доступа; высокая надежность; возможность разбиения крупных баз данных на разделы; наличие универсальных средств защиты информации; эффективные методы |
Преимущества |
распараллеливание запросов; наличие средств для гетерогенного администрирования и обработки данных; поддержку выполнения распределенных транзакций |
максимального повышения скорости обработки запросов; распараллеливание операций в запросе; широкий спектр средств разработки, мониторинга и администрирования; связанные базы данных OLAP; поддержка большого объема памяти и симметричной многопроцессорной обработки; поддержка службы единого каталога; инструментальные средства разработки схем, генерации запросов и кода |
|
Недостатки |
выполнение некоторых операций администрирования требует однопользовательского режима работы; неполная совместимость T-SQL с ANSISQL; проблемы недостаточности программных средств; зависимость от операционной среды (Windows) |
в языке SQLDB2 практически отсутствуют подсказки оптимизатору; плохо развит язык хранимых процедур; не имеет собственных средств аутентификации |
Для реализации возможностей СУБД Oracle требуется большой объем внедрения, причем специалисты по Oracle одни из самых дорогих. Дальнейшее сопровождение системы также требует либо привлечения специалистов со стороны, либо наличия сертифицированных сотрудников в компании. |
Для создания базы данных ИС домашних финансов была выбрана система управления реляционными базами данных Microsoft SQL Server 2012.
2.2 Моделирование предметной области решаемой задачи с использованием объектно-ориентированного подхода к проектированию
Для лучшего понимания разрабатываемой информационной системы необходимо построить концептуальную модель данных, а именно UML-диаграмму. Имеется внешний объект — пользователь, который выступает в качестве актера. Актер взаимодействует с системой, в результате этого взаимодействия, он может выполнять одно из трех действий:
- Вводить данные.
- Получать данные.
- Создавать отчет.
Вариант использования [2] «Получить данные» включает такие компоненты, как «Учет доходов» и «Учет расходов». В результате получается следующую use-case диаграмму:
В результате исследования предметной области стало ясно, что основной сущностью является Человек.
Исходя из того, что база данных может хранить информацию о нескольких людях (если оно используется для учета доходов семьи), то сущность человек имеет атрибуты:
- идентификатор человека;
- Ф.И.О. Человека;
- возраст человека.
Человек имеет определенные виды доходов:
- Основной доход.
- Дополнительный доход.
- Государственные пособия.
- Депозит.
Под «основным доходом» понимается заработная плата по основному месту работы, а также постоянный доход, например, доход от аренды недвижимости или доход от акций.
Следовательно, сущность имеет следующие атрибуты:
- идентификатор дохода;
- тип дохода;
- частота дохода;
- размер дохода.
Под «дополнительным доходом» понимаются какие-то другие виды заработка, а также различные неожиданные доходы, например, наследство, выигрыш, подарок и т. д.
Сущность «дополнительный доход» имеет следующие атрибуты:
- идентификатор дохода;
- тип дохода;
- размер дохода.
«Государственные пособия» включают в себя различные государственные выплаты по каким-то социальным причинам. Данная сущность имеет те же атрибуты, что и сущность «Основной доход».