hans.hu

夫天地者,万物之逆旅也;光阴者,百代之过客也。而浮生若梦,为欢几何?古人秉烛夜游,良有以也。况阳春召我以烟景,大块假我以文章。

一个项目的初步想法

近日计划开发一个人事管理系统,该系统目的简言之就是对机关、企事业单位人员调动情况进行管理。

一、需求概述

从项目需求书中可以得知本系统需要包含六大模块,概述如下:

  1. 系统设置 - 包含四部分:用户管理、单位区域设置、单位性质设置、选项维护
  2. 单位管理 - 负责单位信息的维护
  3. 调动录入 - 第一步:分为调入和调出;第二步:分为单人调动和整体划转。在人员调动录入完成之后,应该能打印出《调动审批卡片》
  4. 调动审批 - 经领导签字后的调动材料,需要在系统录入其审批时间
  5. 查询导出 - 根据查询条件导出为Excel表格
  6. 系统备份 - 对系统数据进行备份和恢复
  • 以下采取用例图的方式展示出来:

image

二、整体架构

考虑到该系统的使用情况,我计划采用C/S架构来实现该人事管理系统:

image

下面是我的一些原始想法:

  1. 对于ORM操作方面,可以使用ADO.NET Entity Framework,EF的设计在很多地方保留了高度扩展性。在此基础之上,开发期间我计划采用SQL Server Compact Edition进行开发测试;
  2. 采用仓储模式,根据单一职责原则SRP,利用分散的类对数据访问进行封装;
  3. 用户权限方面 - 考虑到本系统的用户使用情况,客户目前并没有复杂的权限设置需求,所以我认为下面的设计就可以满足现阶段需求:

    image

  4. 对其中一些关键操作、异常情况进行日志记录,以备查询使用;
  5. 使用xUnit/Moq进行单元测试;
  6. 采用Common Service Locator对IoC容器进行抽象;

posted on   hans.hu  阅读(1277)  评论(1编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述

导航

统计信息

点击右上角即可分享
微信分享提示