
- •Содержание
- •Бизнес-анализ
- •Модель бизнес-прецедентов подсистемы «тн» для директора организации
- •Диаграмма бизнес-прецедентов подсистемы «тн» для директора организации
- •Модель бизнес-прецедентов подсистемы «тн» для руководителя структурного подразделения
- •Диаграмма бизнес-прецедентов подсистемы «тн» для руководителя структурного подразделения
- •1.3. Бизнес-глоссарий терминов и актёров
- •Модели пользовательского интерфейса
- •Модель пользовательского интерфейса подсистемы «тн» для директора организации
- •Модель пользовательского интерфейса подсистемы «тн» для руководителя структурного подразделения
- •Модели анализа
- •2.8 Расчет общей стоимости затребованных материалов для конкретного подразделения
- •Ключевые абстракции системы
- •Глоссарий атрибутов классов
- •3. Проектирование
- •3.1. Ключевые абстракции
- •3.2. Проектирование подсистем
- •3.3. Глоссарий операций классов
- •3.4. Диаграммы реализации
- •Реализация
- •Список использованных источников
3.4. Диаграммы реализации
В процессе проектирования были созданы системные компоненты, и на диаграмме компонентов (Component diagram) показаны зависимости между ними (рис.3.11).
Рис.3.11. Диаграмма компонентов подсистемы «ТН»
Каждая компонента подсистемы состоит из двух модулей. Классы, реализованные в модулях «ТН для Директора / Сервер», «Директор / Клиент», «ТН для Руководителя / Сервер», «Руководитель подразделения / Клиент », представлены на рис. 3.12 - 3.15
Рис.3.12. Классы модуля «ТН для Директора / Сервер»
Рис.3.13. Классы модуля «Директор / Клиент»
Рис.3.14. Классы модуля «ТН для Руководителя / Сервер»
Рис.3.15.
Классы модуля «Руководитель
подразделения / Клиент»
Была создана диаграмма развертывания c узлам и соединениями. Для узлов показаны развернутые на них компоненты (рис. 3.16).
Рис.3.16 Диаграмма развертывания
Реализация
В курсовом проекте была реализована функция расчёта стоимости материалов, затребованных на конкретном складе для руководителя организации и функция расчета общей стоимости затребованных материалов для директора организации
Для этого были разработаны следующие классы:
В этих классах были реализованы следующие методы:
Пакет Boundary:
// Диалог расчета общей стоимости затребованных материалов для Директора
public partial class DirectorCalculate : Form
{
...
// расчет
private void calculate()
{...}
// Диалог расчета стоимости материалов, затребованных на конкретном складе для Руководителя
public partial class ManagerTotalCalculate : Form
// расчет
private void calculate()
{...}
Пакет Control:
// Класс управления организацией
class OrganizationControl
{
// Вычисление общей стоимости затребованных материалов
public int Calculate(DateTime dateStart, DateTime dateEnd, out List<int> cost, out List<Entity.Subdivision> subdivision)
{...}
// Вычисление стоимости материалов, затребованных на конкретном складе
public int Calculate(DateTime dateStart, DateTime dateEnd, int storeNumber)
{...}
// Получение списка складов
public List<Entity.Store> getStore()
{...}
// Получение списка подразделений
public List<Subdivision> getSubdivision()
{...}
Пакет Entity:
// Класс организации
public class Organization
{
// Вычисление общей стоимости затребованных материалов
public int Calculate(DateTime dateStart, DateTime dateEnd, out List<int> cost, out List<Entity.Subdivision> subdivision)
{...}
// Вычисление стоимости материалов, затребованных на конкретном складе
public int Calculate(DateTime dateStart, DateTime dateEnd, int storeNumber)
{...}
}
// Класс структурного подразделения
public class Subdivision
{
// Расчет стоимости для указанного диапазона дат
public int getCost(DateTime dateStart, DateTime dateEnd)
{...}
// Расчет стоимости для указанного диапазона дат и склада
public int getCost(DateTime dateStart, DateTime dateEnd, int storeNumber)
{...}
}
// Класс требования-накладной
public class RequirementsBill
{
// Проверка даты
public Boolean CheckDate(DateTime dateStart, DateTime dateEnd)
{...}
// Проверка номера склада
public Boolean CheckStore(int storeN)
{...}
}
}