Файл: Моделирование предметной области «Управление домашними финансами» с помощью UML..pdf
Добавлен: 14.03.2024
Просмотров: 14
Скачиваний: 0
«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 |
Преимущества |
поддерживает зеркалирование и кластеризацию БД; поддерживает избыточное дублирование данных по сценариям: «снимок», «история изменений», «синхронизация с другими серверами»; включает язык для реализации хранимых процедур и функций; отличается высокой производительностью |
мощный многофазовый оптимизатор SQL DB2 строит эффективный план выполнения запроса; использование статистического распределения данных в таблицах; поддержка XML документов; поддержка реляционных и комплексных данных с помощью объектных расширений; возможность работы на мультипроцессорных платформах; поддержка кластеров; 64-битная архитектура памяти; |
идентичность кода раздомашних версий сервера баз данных для всех платформ поддержка XML в хранимых процедурах; отправка SQL-запросов к БД с применением URL-адресов; средства объектно-ориентированного конструирования; система оптимизации одновременного доступа; высокая надежность; возможность разбиения крупных баз данных на разделы; наличие универсальных средств защиты информации; эффективные методы |
Преимущества |
распараллеливание запросов; наличие средств для гетерогенного администрирования и обработки данных; поддержку выполнения распределенных транзакций |
максимального повышения скорости обработки запросов; распараллеливание операций в запросе; широкий спектр средств разработки, мониторинга и администрирования; связанные базы данных OLAP; поддержка большого объема памяти и симметричной многопроцессорной обработки; поддержка службы единого каталога; инструментальные средства разработки схем, генерации запросов и кода |
|
Недостатки |
выполнение некоторых операций администрирования требует однопользовательского режима работы; неполная совместимость T-SQL с ANSI SQL; проблемы недостаточности программных средств; зависимость от операционной среды (Windows) |
в языке SQL DB2 практически отсутствуют подсказки оптимизатору; плохо развит язык хранимых процедур; не имеет собственных средств аутентификации |
Для реализации возможностей СУБД Oracle требуется большой объем внедрения, причем специалисты по Oracle одни из самых дорогих. Дальнейшее сопровождение системы также требует либо привлечения специалистов со стороны, либо наличия сертифицированных сотрудников в компании. |
Для создания базы данных ИС домашних финансов была выбрана система управления реляционными базами данных Microsoft SQL Server 2012.
2.2 Моделирование предметной области решаемой задачи с использованием объектно-ориентированного подхода к проектированию
Для лучшего понимания разрабатываемой информационной системы необходимо построить концептуальную модель данных, а именно UML-диаграмму. Имеется внешний объект — пользователь, который выступает в качестве актера. Актер взаимодействует с системой, в результате этого взаимодействия, он может выполнять одно из трех действий:
- Вводить данные.
- Получать данные.
- Создавать отчет.
Вариант использования [1] «Получить данные» включает такие компоненты, как «Учет доходов» и «Учет расходов». В результате получается следующую use-case диаграмму:
В результате исследования предметной области стало ясно, что основной сущностью является Человек.
Исходя из того, что база данных может хранить информацию о нескольких людях (если оно используется для учета доходов семьи), то сущность человек имеет атрибуты:
- идентификатор человека;
- Ф.И.О. Человека;
- возраст человека.
Человек имеет определенные виды доходов:
- Основной доход.
- Дополнительный доход.
- Государственные пособия.
- Депозит.
Под «основным доходом» понимается заработная плата по основному месту работы, а также постоянный доход, например, доход от аренды недвижимости или доход от акций.
Следовательно, сущность имеет следующие атрибуты:
- идентификатор дохода;
- тип дохода;
- частота дохода;
- размер дохода.
Под «дополнительным доходом» понимаются какие-то другие виды заработка, а также различные неожиданные доходы, например, наследство, выигрыш, подарок и т. д.
Сущность «дополнительный доход» имеет следующие атрибуты:
- идентификатор дохода;
- тип дохода;
- размер дохода.
«Государственные пособия» включают в себя различные государственные выплаты по каким-то социальным причинам. Данная сущность имеет те же атрибуты, что и сущность «Основной доход».
«Депозит» выделяется в отдельную сущность, т. к. он имеет отличные от других видов дохода параметры. Депозит – это деньги, которые клиент передаёт банку на ограниченный срок с определёнными условиями. Под условиями понимаются сами проценты, частота начисления. Следовательно, атрибутами этой сущности будут являться:
- идентификатор депозита;
- тип депозита;
- частота начисления;
- размер суммы;
- процент;
- срок, на который взят депозит.
Сущности «Персональный основной доход», «Персональный дополнительный доход», «Персональные гос-пособия» и «Персональный депозит», являясь альтернативой связи многие-ко-многим, хранят информацию о человеке и его видах доходов. Эти сущности идентичны и имею одинаковые атрибуты:
- идентификатор персонального дохода;
- идентификатор человека;
- идентификатор дохода.
Последняя деталь логической модели — это сущность «Расходы», которая также является справочником и хранит информацию о человеке и произведенном им виде расхода: типе, дате, размере.
Рассмотрим проектирование информационной системы с точки зрения универсального языка моделирования UML.
Диаграмма вариантов использования представлена на рис. 13.
Рис. 13 «Диаграмма вариантов использования»
Диаграмма развертывания представлена на рис. 14
Рис. 14 «Диаграмма развёртывания»
Т.к. каждое отношение может быть представлено отдельной таблицей, то с учетом всех известных данных структура БД «Учет личных финансов» состоит из десяти таблиц:
- Таблица «Человек»;
- Таблица «Основной доход»;
- Таблица «Дополнительный доход»;
- Таблица «Государственные пособия»;
- Таблица «Депозит»;
- Таблица «Персональный основной доход»;
- Таблица «Персональный дополнительный доход»;
- Таблица «Персональные государственные пособия»;
- Таблица «Персональный депозит»;
- Таблица «Расходы».
Рассмотрим более подробно каждую таблицу:
- Таблица «Человек»
Man
Атрибуты |
Тип данных |
Description |
PK |
FK |
UNIQUE |
NOT NULL |
id_man |
integer |
идентификатор человека |
+ |
- |
+ |
+ |
name |
varchar(150) |
Ф.И.О. человека |
- |
- |
- |
+ |
age |
integer |
возраст человека |
- |
- |
- |
- |
- Таблица «Основной доход»
Basic_income
Атрибуты |
Тип данных |
Description |
PK |
FK |
UNIQUE |
NOT NULL |
id_bas |
integer |
идентификатор основного дохода |
+ |
- |
+ |
+ |
type_bas |
varchar (100) |
тип основного дохода |
- |
- |
- |
+ |
kind_bas |
varchar (100) |
вид основного дохода |
- |
- |
- |
+ |
freq_bas_in_month |
real |
частота основного дохода в месяц |
- |
- |
- |
- |
size_bas |
integer |
размер основного дохода |
- |
- |
- |
+ |
3) Таблица «Дополнительный доход»
Additional_income
Атрибуты |
Тип данных |
Description |
PK |
FK |
UNIQUE |
NOT NULL |
id_ad |
integer |
идентификатор дополнительного дохода |
+ |
- |
+ |
+ |
type_ad |
varchar (100) |
тип дополнительного дохода |
- |
- |
- |
+ |
size_ad |
integer |
размер дополнительного дохода |
- |
- |
- |
+ |
4) Таблица «Государственные пособия»
State_grants
Атрибуты |
Тип данных |
Description |
PK |
FK |
UNIQUE |
NOT NULL |
id_st |
integer |
идентификатор гос-пособий |
+ |
- |
+ |
+ |
type_st |
varchar (100) |
тип гос-пособий |
- |
- |
+ |
+ |
freq_st_in_month |
integer |
частота гос-пособий в месяц |
- |
- |
- |
- |
size_st |
integer |
размер гос-пособий |
- |
- |
- |
+ |
5) Таблица «Депозит»
Deposit
Атрибуты |
Тип данных |
Description |
PK |
FK |
UNIQUE |
NOT NULL |
id_dep |
integer |
идентификатор депозита |
+ |
- |
+ |
+ |
type_dep |
varchar (100) |
тип депозита |
- |
- |
- |
+ |
freq_of_charge_in_year |
integer |
частота начисления депозита в год |
- |
- |
- |
+ |
size_of_sum |
integer |
размер суммы депозита |
- |
- |
- |
+ |
percents |
integer |
проценты от депозита |
- |
- |
- |
+ |
period_in_years |
real |
срок хранения депозита в год |
- |
- |
- |
+ |
6) Таблица «Персональный основной доход»
Personal_basic_income
Атрибуты |
Тип данных |
Description |
PK |
FK |
UNIQUE |
NOT NULL |
id_pers_bas |
integer |
идентификатор персонального основного дохода |
+ |
- |
+ |
+ |
id_man |
integer |
идентификатор человека |
- |
+ |
- |
+ |
id_bas |
integer |
идентификатор основного дохода |
- |
+ |
- |
+ |
7) Таблица «Персональный дополнительный доход»
Personal_additional_income
Атрибуты |
Тип данных |
Description |
PK |
FK |
UNIQUE |
NOT NULL |
id_pers_ad |
integer |
идентификатор персонального дополнительного дохода |
+ |
- |
+ |
+ |
id_man |
integer |
идентификатор человека |
- |
+ |
- |
+ |
id_ad |
integer |
идентификатор доп. дохода |
- |
+ |
- |
+ |