Файл: Моделирование предметной области “Расчет заработной платы” с помощью UML (Диаграммы UML и их практическое назначение).pdf
Добавлен: 23.04.2023
Просмотров: 339
Скачиваний: 7
Введение
Одной из основных задач большинства современных компаний является автоматизация бизнес-процессов, связанных с учетом работающего персонала, труда, зарплаты, складских помещений и т.д. Именно поэтому темой данной курсовой работы была выбрана одна из систем – система учета труда и заработной платы.
Целью данной работы являлось изучение концепции унифицированного языка моделирования (The UML), изучение проблемной области и ее визуализация. Для полного раскрытия темы необходимо обратиться к определению и особенностям унифицированного языка моделирования (Unified Modeling Language - UML).
Унифицированный язык моделирования - это язык для специфицирования, визуализации, конструирования и документирования программных систем, а так же бизнес моделей и прочих не программных систем. UML представляет собой объединение инженерных приемов, которые ранее успешно использовались при моделировании больших и сложных систем. Составной частью UML является OCL (Object Constraint Language - язык ограничения объектов).
Язык UML необходим, чтобы:
1. Предоставить в распоряжение пользователей легко воспринимаемый и выразительный язык визуального моделирования, специально предназначенный для разработки и документирования моделей сложных систем самого различного целевого назначения. Язык UML включает в себя не только абстрактные конструкции для представления метамоделей систем, но и целый ряд конкретных понятий, имеющих вполне определенную семантику. В настоящее время имеет место концептуальный разрыв между общей методологией моделирования сложных систем и конкретными инструментальными средствами быстрой разработки приложений. Именно этот разрыв по замыслу OMG и призван заполнить язык UML.
2. Снабдить исходные понятия языка UML возможностью расширения и специализации для более точного представления моделей систем в конкретной предметной области. Язык UML может быть приспособлен для конкретных предметных областей. Это становится возможным, потому что в описании языка UML заложен механизм расширения базовых понятий, который является самостоятельным элементом языка и имеет собственное описание в форме правил расширения. Все пользователи должны быть способны строить модели систем для большинства обычных приложений с использованием только базовых конструкций языка UML без применения механизма расширения.
3. Описание языка UML поддерживает такую спецификацию моделей, которая не зависит от конкретных языков программирования и инструментальных средств проектирования программных систем. Ни одна из конструкций языка UML не может зависеть от особенностей ее реализации в известных языках программирования. Необходимое свойство языка UML - контекстно-программная независимость. Язык UML должен обладать потенциальной возможностью реализации своих конструкций на том или ином языке программирования. В первую очередь имеются в виду языки, поддерживающие концепцию ООП, такие как C++, Java, Object Pascal. Именно это свойство языка UML делает его современным средством решения задач моделирования сложных систем. Описание языка UML должно включать в себя семантический базис для понимания общих особенностей ООАП. Имеется в виду самодостаточность языка UML для понимания базовых принципов ООАП.
4. Поощрять развитие рынка объектных инструментальных средств.
Большинство ведущих производителей программных и аппаратных средств видят перспективы развития современных информационных технологий и основу своего коммерческого успеха в широком продвижении на рынок инструментальных средств, поддерживающих объектные технологии. Языку UML отводится роль базового средства для описания и документирования различных объектных компонентов CORBA.
5. Способствовать распространению объектных технологий и соответствующих понятий ООАП. Использование языка UML для решения всевозможных практических задач будет только способствовать его дальнейшему совершенствованию, а значит и дальнейшему развитию объектных технологий и практики ООАП.
6. Интегрировать в себя новейшие и лучшие достижения практики ООАП.
Язык UML постоянно совершенствуется разработчиками, и основой является его дальнейшая интеграция с современными модельными технологиями. При этом различные методы системного моделирования получают свое прикладное осмысление в рамках ООАП. Эти методы могут быть включены в состав языка UML в форме дополнительных базовых понятий, наиболее адекватно и полно отражающие наилучшие достижения практики ООАП [1].
Чтобы решить указанные выше задачи, язык UML претерпел эволюцию. В результате описание языка UML усложнилось, поскольку семантика базовых понятий включает в себя целый ряд перекрестных связей с другими понятиями и конструкциями языка. В связи с этим линейное или последовательное рассмотрение основных конструкций языка UML стало практически невозможным, т. к. одни и те же понятия могут использоваться при построении различных диаграмм или представлений. В то же время каждое из представлений модели обладает собственными семантическими особенностями, которые накладывают отпечаток на семантику базовых понятий языка в целом.
Глава 1. Диаграммы UML и их практическое назначение
1.1. Диаграммы UML
В рамках языка UML все представления о модели сложной системы фиксируются в виде специальных графических конструкций, получивших название диаграмм. Визуальное моделирование в UML можно представить как некоторый процесс поуровневого спуска от наиболее обшей и абстрактной концептуальной модели исходной системы к логической, а затем и к физической модели соответствующей программной системы. [2]
1.2. Виды и назначение диаграмм UML
Различают следующие виды диаграмм UML:
- Диаграмма вариантов использования (см. рис.1);
- Диаграмма классов (см. рис.2);
- Диаграмма состояний (см. рис.3);
- Диаграмма последовательности (см. рис.4);
- Диаграмма кооперации (см. рис.5);
- Диаграмма компонентов (см. рис.6);
- Диаграмма развертывания (см. рис.7).
При построении диаграммы вариантов использования проектируемая система представляется в виде множества сущностей или актеров, взаимодействующих с системой с помощью, так называемых прецедентов. При этом актером или действующим лицом называется любая сущность, взаимодействующая с системой извне. Каждый вариант использования определяет некоторый набор действий, совершаемый системой при диалоге с актером.
Диаграмма классов служит для представления статической структуры модели системы в терминологии классов объектно-ориентированного программирования. Диаграмма классов может отражать, в частности, различные взаимосвязи между отдельными сущностями предметной области, такими как объекты и подсистемы, а также описывает их внутреннюю структуру и типы отношений. На данной диаграмме не указывается информация о временных аспектах функционирования системы. С этой точки зрения диаграмма классов является дальнейшим развитием концептуальной модели проектируемой системы. На этом этапе принципиально знание ООП подхода и паттернов проектирования.
Главное предназначение диаграммы состояний — описать возможные последовательности состояний и переходов, которые в совокупности характеризуют поведение элемента модели в течение его жизненного цикла. Диаграмма состояний представляет динамическое поведение сущностей, на основе спецификации их реакции на восприятие некоторых конкретных событий. [3]
Для моделирования взаимодействия объектов в языке UML используются соответствующие диаграммы взаимодействия. Взаимодействия объектов можно рассматривать во времени, и тогда для представления временных особенностей передачи и приема сообщений между объектами используется диаграмма последовательности. Взаимодействующие объекты обмениваются между собой некоторой информацией. При этом информация принимает форму законченных сообщений.
На диаграмме кооперации в виде прямоугольников изображаются участвующие во взаимодействии объекты, содержащие имя объекта, его класс и, возможно, значения атрибутов. Как и на диаграмме классов, указываются ассоциации между объектами в виде различных соединительных линий. При этом можно явно указать имена ассоциации и ролей, которые играют объекты в данной ассоциации.
В отличие от диаграммы последовательности, на диаграмме кооперации изображаются только отношения между объектами, играющими определенные роли во взаимодействии.
Диаграмма компонентов, в отличие от ранее рассмотренных диаграмм, описывает особенности физического представления системы. Диаграмма компонентов позволяет определить архитектуру разрабатываемой системы, установив зависимости между программными компонентами, в роли которых может выступать исходный, бинарный и исполняемый код. Во многих средах разработки модуль или компонент соответствует файлу. Пунктирные стрелки, соединяющие модули, показывают отношения взаимозависимости, аналогичные тем, которые имеют место при компиляции исходных текстов программ. Основными графическими элементами диаграммы компонентов являются компоненты, интерфейсы и зависимости между ними.
Диаграмма развертывания предназначена для визуализации элементов и компонентов программы, существующих лишь на этапе ее исполнения. При этом представляются только компоненты-экземпляры программы, являющиеся исполнимыми файлами или динамическими библиотеками. Те компоненты, которые не используются на этапе исполнения, на диаграмме развертывания не показываются. Диаграмма развертывания содержит графические изображения процессоров, устройств, процессов и связей между ними. В отличие от диаграмм логического представления, диаграмма развертывания является единой для системы в целом, поскольку должна всецело отражать особенности ее реализации. Эта диаграмма завершает процесс ООАП для конкретной программной системы и ее разработка, как правило, является последним этапом спецификации модели.
Разработка диаграммы UML преследует цели:
1. Определить общие границы и контекст моделируемой предметной области на начальных этапах проектирования системы.
2. Сформулировать общие требования к функциональному поведению проектируемой системы.
3. Разработать исходную концептуальную модель системы для ее последующей детализации в форме логических и физических моделей. [4]
Глава 2. Расчет заработной платы
2.1. Система расчета заработной платы
Заработная плата делится на основную и дополнительную. К основной относится заработная плата, начисленная за количество и качество выполненных работ за отработанное время, включая время простоя: по тарифным ставкам, сдельным расценкам, премии, оплата простоев, доплаты за работу в вечернее и ночное время, по районному коэффициенту, за работу в праздничные и выходные дни и др. Расчет основной зарплаты производится в ООТиЗ.
К дополнительной относится заработная плата за непроработанное время, предусмотренная действующим законодательством: оплата за время отпуска, за период выполнения государственных и общественных обязанностей, выходного пособия, выслуга лет и др. Расчет дополнительной зарплаты производится в расчетном секторе, согласно поступающих документов на оплату. Кроме того, в расчетном секторе осуществляются определенный перечень удержаний: авансы, налоги, платежи по исполнительным листам, страховые и профсоюзные взносы и др.
Результатом работы подсистемы являются отчеты, ведомости и списки, перечисленные ниже, которые выдаются Службой компьютеризации и предоставляются в плановый отдел, финансовый отдел, ООТиЗ и расчетный сектор.
Основными функциями подсистемы являются:
1) Контроль вводимой для расчета зарплаты информации
2) Расчет основной зарплаты
– оплата за отработанные рабочие дни
– оплата премии и её лишение
– оплата инфляции
– оплата работы в вечерние и ночные часы
– оплата работы в праздничные и выходные дни
– доплата за работу в праздничные и выходные дни
– оплата за время пути к месту работы
3) Расчет дополнительной зарплаты
– оплата по среднему
– оплата отпускных
– оплата больничных листов
– оплата регрессных исков
– оплата детских пособий
– выплаты за руководство бригадой
– оплата профмастерства и классности
– повременная оплата легкого труда с доплатой до среднего
– районный коэффициент
– разовые начисления, рассчитанные вручную
4) Расчет удержаний
– возврат сумм, неверно удержанных в предыдущие периоды
– долги за предыдущие периоды
– аванс
– по исполнительным листам
– по страховым свидетельствам
– по квартплате
– по ссудам и другим долгосрочным удержаниям
– по налогам (подоходный и пенсионный налог) – профсоюзные взносы
– за товары, проданные в кредит
– разовые удержания, рассчитанные вручную
5) Сведение итоговых сумм
– структура фонда
– свод начислений по подразделениям предприятия и по предприятию в целом
– свод удержаний по подразделениям предприятия и по предприятию в целом
– баланс по подразделениям предприятия
– свод начислений по группам и категориям персонала для подразделений предприятия и для предприятия в целом
– свод начислений по управлению
– свод начислений и удержаний по направлениям затрат для подразделений предприятия и предприятия в целом
– свод начислений по видам должностей для подразделений предприятия и предприятия в целом
6) Ведение несписочного состава (трудящихся, работающих по договору)
7) Ведение лицевых счетов в сбербанке
8) Ведение справочной информации для расчета зарплаты
9) Ведение архивов (долги, подоходный налог, средний)
10) Перерасчет подоходного налога по табельному номеру и по предприятию за предыдущие периоды
11) Ведение налоговой карточки, предоставление отчета и сведений в ГНИ на магнитных носителях
12) Предоставление отчетов в Фонд социального страхования, в Фонд занятости, в Пенсионный фонд, Фонд медицинского страхования
13) Формирование сведений о зарплате по табельному номеру в Пенсионный фонд
14) Формирование данных для форм 2-Т и 10-П
15) Предварительное перечисление сумм зарплаты в сбербанк
16) Расчет тарифного фонда (с КТУ и без КТУ) по рапорту на сдельные работы
17) Расчет ФОТ участка
18) Расчет коэффициента приработка (с КТУ и без КТУ) по бригаде и участку
19) Расчет вывесного табеля
20) Парольная система доступа к информации
21) Ведение диагностики всех расчетов
22) Выдача справок
– о зарплате
– о зарплате для начисления алиментов– о зарплате в центр занятости
– о зарплате для получения ссуды
– о зарплате для начисления пенсии
– о доходах физического лица
23) Формирование выходных документов
– о долгах
– своды по видам начислений
– структура фонда
– баланс по предприятию
– удержания по подразделениям
– удержания по предприятию
– ведомость на зарплату в кассу
– квитки
– выходные формы по регрессу
– выходные формы в сбербанк
– выходные формы по исполнительным листам
– выходные формы по страховкам
– выходные формы по долгосрочным удержаниям
– выходные формы по квартплате
– выходные формы по кредиту
– выходные формы по ГПТУ
– списки по разовым удержаниям
– списки по профсоюзным взносам
– списки получивших детские компенсации
– отчеты в Фонд социального страхования
– отчеты в Пенсионный фонд
– отчеты в Фонд медицинского страхования
– отчеты в Фонд занятости
– отчеты в ГНИ
Расчеты по зарплате осуществляются в двух режимах: