Введение
В этом документе описаны все требования к системе “ОКв”, не вошедшие в описание прецедентов.
Функциональность
Регистрация событий и обработка ошибок
Все ошибки регистрируются на постоянном носителе.
Подключаемые бизнес-правила
Необходимо обеспечить возможность настройки функциональности системы в различных точках сценариев нескольких прецедентов (эти точки нужно определить) на основе заданных правил.
Безопасность
Необходимо выполнять аутентификацию всех пользователей.
Удобство использования
Человеческие факторы
Пользователь системы будет постоянно работать с монитором, поэтому необходимо следующее:
- Текст должен быть легко читаемым.
- Нужно избегать мерцающих цветов.
Интерфейсы
Для большинства внешних систем необходимо обеспечить возможность подключения через различные интерфейсы.
Бизнес-правила:
Имя |
Правило |
Возможность изменения |
Источник |
|
ПРАВ1 |
Правила расчета отчислений в пенсионный фонд РФ |
Низкая вероятность изменения |
Закон |
Вопросы законодательства
Рекомендуется использование бесплатных компонентов на основе открытого кода, если их разрешено использовать в коммерческих программных продуктах.
Необходимо учитывать все необходимые налоги. Правила налогообложения могут изменяться достаточно часто.
Информация из предметной области
Вычисление налогов
Налоги могут вычисляться по сложным схемам, и суммы отчислений могут часто изменяться на правительственном уровне. Поэтому желательно возложить задачу вычисления налоговых платежей на отдельную программу.
1.5 Видение
Введение
Нам видится надежное приложение автоматизации учета перемещений работников на предприятии “Овен”, обеспечивающее гибкую поддержку различных бизнес-правил, механизмы поддержки различных терминалов и интерфейсов пользователя, а также интеграцию с различными внешними вспомогательными системами.
Позиционирование
Экономические предпосылки
Существующие программные продукты не обеспечивают настройку на потребности различных пользователей, в частности добавление различных бизнес-правил или поддержку разных сетевых архитектур (например, на основе "толстого" или "тонкого" клиента, двух-, трех- или четырехуровневые архитектуры). Кроме того, они плохо масштабируются. Ни одна из известных систем не обеспечивает автоматический переход из интерактивного в автономный режим при сбоях внешних систем. Отсутствует простая возможность интеграции с внешними системами. Существующие системы не поддерживают новые терминальные технологии.
Формулировка проблемы
Традиционные системы не обладают гибкостью, неустойчивы к сбоям и не обеспечивают интеграцию с внешними системами. Это приводит к проблемам с оформлением перемещений работников на предприятии, несоответствию программного обеспечения экономическим потребностям предприятий, невозможности точной и своевременной обработки данных и поддержки планирования. Эти проблемы касаются менеджеров по персоналу, системных администраторов и руководителей предприятий.
Место системы
Система предназначена для работы менеджера по персоналу, соответственно будет располагаться на рабочем месте менеджера по персоналу в отделе кадров.
Заинтересованные лица
Система предназначена для менеджера по персоналу. Цель работы менеджера по персоналу - быстро и безошибочно оформить все перемещения работников на предприятии.
Основные задачи высокого уровня представлены в таблице 11.
информационный автоматизированный учет работник
"right">Таблица 11Основные задачи высокого уровня
Цель высокого уровня |
Приоритет |
Проблемы и замечания |
Текущие решения |
|
Быстрая, и точная обработка информации о перемещении работников |
Высокий |
Сложность автоматизации учета перемещений работников |
Существующие продукты не решают все возникающие проблемы |
Задачи уровня пользователя
Пользователи (и внешние системы) используют данную систему в таких целях
- Менеджер по персоналу. Оформляет прием, увольнение, и перемещение работников, оформляет отпуск работника.
- Системный администратор. Управляет пользователями, безопасностью и системными таблицами.
Обзор
Перспективы продукта
Система обычно будет устанавливаться в отделах кадров. Система будет обслуживать пользователей и взаимодействовать с другими системами, как показано на рисунке 4.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рис. 4 - Контекстная диаграмма системы “ОКв”
Преимущества системы
Подобно перечню исполнителей и их задач, в этой таблице указаны задачи, их решения и преимущества, однако на более высоком уровне, чем при описании прецедентов.
Здесь описывается основное значение и отличительные свойства продукта.
Свойство |
Преимущества для заинтересованных лиц |
|
Система будет обеспечивать всю основную функциональность, необходимую для работы отдела кадров, включая обработку информации, оформление договоров |
Быстрая работа системы в автоматическом режиме |
|
Подключаемые в различных точках сценария бизнес-правила |
Гибкая настройка бизнес-логики |
|
Интерактивное взаимодействие с внешними системами на основе стандартных протоколов |
Своевременное и точное оформление перемещений работников, подготовка бухгалтерской документации, поддержка планирования |
Основные свойства системы
Как было упомянуто выше, свойства системы описываются сжато путем перечисления основных функций.
· Оформление перемещений работников.
· Системное администрирование и управление пользователями, безопасностью.
· Определение и выполнение настраиваемых бизнес-правил в фиксированных точках выполнения сценариев.
Другие требования и ограничения
Ограничения для процесса проектирования, удобства использования, надежности, производительности, перечень документации и т.д. описаны в дополнительной спецификации и модели прецедентов.
1.6 Словарь терминов
Термин |
Определение |
Синоним |
|
Организация |
Общество с ограниченной ответственностью «Овен» |
Овен |
|
Менеджер по персоналу |
Сотрудник предприятия, работающий в кадровой службе, оформляющий прием работников, увольнение работников и другие перемещения работников в организации |
||
Лицо, устраивающееся на работу |
Человек, пришедший на предприятие с целью заключения трудового договора и дальнейшей работы на предприятии |
||
Трудовой договор |
Соглашение в письменном виде между лицом, устраивающимся на работу и предприятием о дальнейшей работе физического лица на данном предприятии |
||
Табельный номер |
Уникальный, идентификационный номер, присваивающийся каждому работнику предприятия |
Таб. № |
2. Модель предметной области
Модель предметной области широко используется в качестве основы для разработки программных объектов и обеспечивает важную входную информацию для создания нескольких последующих артефактов.
Модель предметной области отображает основные (с точки зрения моделирующего) классы понятий (концептуальные классы) предметной области. Она является наиболее важным артефактом, создаваемым на этапе объектно-ориентированного анализа.
Основной задачей объектно-ориентированного анализа является идентификация большого количества разнообразных объектов или понятий, а также точная оценка усилий в терминах отдачи на стадиях проектирования и реализации.
Идентификация классов понятий или концептуальных классов - составная часть исследования предметной области.
Модели предметной области на языке UML строятся в форме диаграмм классов.
Концептуальные классы данной предметной области изображены на рисунке 5.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рис. 5 - Концептуальные классы
После выделения атрибутов концептуальных классов и ассоциаций между ними, получаем модель предметной области, изображенной на рисунке 6.
Рис 6 - модель предметной области
3. Модель проектирования
3.1 Диаграммы взаимодействия
Термин "диаграмма взаимодействия" используется в качестве общего названия диаграмм кооперации и диаграмм последовательностей
· Диаграммы сотрудничества (collaboration diagram)
· Диаграммы последовательностей (sequence diagram)
Оба типа диаграмм имеют свои преимущества и недостатки.
При использовании CASE-средств разработки многие предпочитают строить диаграммы последовательностей для удобства обратного проектирования - преобразования исходного кода в диаграмму взаимодействия.
Диаграмма сотрудничества представлена на рисунке 7
Рис. 7 -Диаграмма сотрудничества
3.2 Диаграммы последовательности
Диаграмма последовательности для операции newDog() представлена на рисунке 8.
Рис. 8 - Диаграмма последовательности операции newDog()
Диаграмма последовательности для операции enterInfo(passport, fio, dolzhnost, podrazdelenie) представлена на рисунке 9.
Рис. 9 - Диаграмма последовательности для операции enterInfo(passport, fio, dolzhnost, podrazdelenie)
Диаграмма последовательности для операции saveDog() представлена на рисунке 10.
Рис. 10 - Диаграмма последовательности для операции saveDog()
Диаграмма последовательности для операции print() представлена на рисунке 11
Рис. 11 - Диаграмма последовательности для операции print()
Связь уровня интерфейса пользователя с уровнем программных классов предметной области представлена на рисунке 12
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рис. 12 - Взаимосвязь интерфейса пользователя с уровнем программных классов предметной области
3.3 Диаграмма программных классов
Рис. 13 - Диаграмма программных классов
4. Модель данных
Схема базы данных изображена на рис 14.
Рис. 14 - Схема базы данных
Рис. 15 - Прототип системы
Интерфейс пользователя системы представлен на рисунках 16-20.
Рис. 16
Рис. 17
Рис. 18
Рис. 19
Рис. 20
5. Модель реализации
Для модели реализации был выбран язык С#.
Далее представлен фрагмент кода класса ТрудовойДоговор
//------------------------------------------------------------------------------
// <autogenerated>
// This code was generated by a tool.
// Runtime Version: 1.1.4322.573
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </autogenerated>
//------------------------------------------------------------------------------
namespace IIS.ОКв
{
using System;
using ICSSoft.STORMNET;
// *** Start programmer edit section *** (ТрудовойДоговор
CustomAttributes)
// *** End programmer edit section *** (ТрудовойДоговор
CustomAttributes)
[AutoAltered()]
[AccessType(ICSSoft.STORMNET.AccessType.none)]
[View("ОКв_ТрудовойДоговорL", new string[] {
"Номер",
"Дата",
"Паспорт",
"Фамилия",
"Имя",
"Отчество",
"ТабНомер",
"Подразделения.Подразделение",
"Должности.Должность"})]
[View("ОКв_ТрудовойДоговорE", new string[] {
"Номер",
"Дата",
"Паспорт",
"Фамилия",
"Имя",
"Отчество",
"ТабНомер",
"Подразделения",
"Подразделения.Подразделение",
"Должности",
"Должности.Должность"})]
public class ТрудовойДоговор : ICSSoft.STORMNET.DataObject
{
private int fНомер;
private System.DateTime fДата;
private string fПаспорт;
private string fФамилия;
private string fИмя;
private string fОтчество;
private int fТабНомер;
private IIS.ОКв.Подразделения fПодразделения;
private IIS.ОКв.Должности fДолжности;
// *** Start programmer edit section *** (ТрудовойДоговор
CustomMembers)
// *** End programmer edit section *** (ТрудовойДоговор
CustomMembers)
// *** Start programmer edit section *** (ТрудовойДоговор.Номер
CustomAttributes)
// *** End programmer edit section *** (ТрудовойДоговор.Номер
CustomAttributes)
public virtual int Номер
{
get
{
// *** Start programmer edit section *** (ТрудовойДоговор.Номер Get
start)
// *** End programmer edit section *** (ТрудовойДоговор.Номер Get
start)
int result = this.fНомер;
// *** Start programmer edit section *** (ТрудовойДоговор.Номер Get
end)
// *** End programmer edit section *** (ТрудовойДоговор.Номер Get
end)
return result;
}
set
{
// *** Start programmer edit section *** (ТрудовойДоговор.Номер Set
start)
// *** End programmer edit section *** (ТрудовойДоговор.Номер Set
start)
this.fНомер = value;
// *** Start programmer edit section *** (ТрудовойДоговор.Номер Set
end)
// *** End programmer edit section *** (ТрудовойДоговор.Номер Set end)
}
}
// *** Start programmer edit section *** (ТрудовойДоговор.Дата
CustomAttributes)
// *** End programmer edit section *** (ТрудовойДоговор.Дата
CustomAttributes)
public virtual System.DateTime Дата
{
get
{
// *** Start programmer edit section *** (ТрудовойДоговор.Дата Get start)
// *** End programmer edit section *** (ТрудовойДоговор.Дата Get start)
System.DateTime result = this.fДата;
// *** Start programmer edit section *** (ТрудовойДоговор.Дата Get end)
// *** End programmer edit section *** (ТрудовойДоговор.Дата Get end)
return result;
}
set
{
// *** Start programmer edit section *** (ТрудовойДоговор.Дата Set start)
// *** End programmer edit section *** (ТрудовойДоговор.Дата Set start)
this.fДата = value;
// *** Start programmer edit section *** (ТрудовойДоговор.Дата Set end)
// *** End programmer edit section *** (ТрудовойДоговор.Дата Set end)
}
}
// *** Start programmer edit section *** (ТрудовойДоговор.Паспорт
CustomAttributes)
// *** End programmer edit section *** (ТрудовойДоговор.Паспорт
CustomAttributes)
public virtual string Паспорт
{
get
{
// *** Start programmer edit section *** (ТрудовойДоговор.Паспорт Get
start)
// *** End programmer edit section *** (ТрудовойДоговор.Паспорт Get
start)
string result = this.fПаспорт;
// *** Start programmer edit section *** (ТрудовойДоговор.Паспорт Get
end)
// *** End programmer edit section *** (ТрудовойДоговор.Паспорт Get
end)
return result;
}
set
{
// *** Start programmer edit section *** (ТрудовойДоговор.Паспорт Set
start)
// *** End programmer edit section *** (ТрудовойДоговор.Паспорт Set
start)
this.fПаспорт = value;
// *** Start programmer edit section *** (ТрудовойДоговор.Паспорт Set
end)
// *** End programmer edit section *** (ТрудовойДоговор.Паспорт Set
end)
}
}
// *** Start programmer edit section *** (ТрудовойДоговор.Фамилия
CustomAttributes)
// *** End programmer edit section *** (ТрудовойДоговор.Фамилия
CustomAttributes)
public virtual string Фамилия
{
get
{
// *** Start programmer edit section *** (ТрудовойДоговор.Фамилия Get
start)
// *** End programmer edit section *** (ТрудовойДоговор.Фамилия Get
start)
string result = this.fФамилия;
// *** Start programmer edit section *** (ТрудовойДоговор.Фамилия Get
end)
// *** End programmer edit section *** (ТрудовойДоговор.Фамилия Get
end)
return result;
}
set
{
// *** Start programmer edit section *** (ТрудовойДоговор.Фамилия Set
start)
// *** End programmer edit section *** (ТрудовойДоговор.Фамилия Set
start)
this.fФамилия = value;
// *** Start programmer edit section *** (ТрудовойДоговор.Фамилия Set
- Введение
- Введение
- 1. Системный анализ и анализ требований
- 1.1 Определение рамок системы
- 1.2 Диаграмма прецедентов
- 1.3 Диаграмма последовательности
- 1.4 Дополнительная спецификация
- 1.5 Видение
- 1.6 Словарь терминов
- 2. Модель предметной области
- 3. Модель проектирования
- 3.1 Диаграммы взаимодействия
- 3.2 Диаграммы последовательности
- 3.3 Диаграмма программных классов
- 4. Модель данных
- 5. Модель реализации
- ЗАКЛЮЧЕНИЕ