记录一个人事管理信息系统的开发过程1

简介: 项目初期-愉快的沟通、确定路线、统一思想 朋友F接到一个项目,开发一个地级市的人事管理信息系统。分布式的终端用户约100个,人员数据量约4万条,5年内数据增长后不会超过10万条。我们组建了一个四人小团队,X(就是我啦)、H和K,当然还有F。
 

项目初期-愉快的沟通、确定路线、统一思想

朋友F接到一个项目,开发一个地级市的人事管理信息系统。分布式的终端用户约100个,人员数据量约4万条,5年内数据增长后不会超过10万条。我们组建了一个四人小团队,X(就是我啦)、HK,当然还有F

XH具有多年的程序开发经验,以前合作过,很愉快。X善长.NETH善长Java

K有一定开发基础,熟悉PHP/MySQL,经验略显不足。

H已经做了初步的系统功能设计,对用户需求较熟悉。

初次的团队会议(很自由的讨论)讨论技术路线问题。H主张用Delphi开发,关键是用户易操作开发快。我6年前与H一起开发过Delphi的人事管理信息系统,可是必竟过了那久了,我问他还经常用Delphi吗?他说没有。其实我们现在对Delphi都不是很熟悉,6年前的经验也很初级。我因为长期的ASP.NET开发经验所以力推B/S实现,其实一开始我对需求不是很熟悉,凭着经验和直觉力陈B/SASP.Net所有实现的类似C/S的功能,几乎要决定了。可是F提到了用户要求的安全性,考虑到未来安全性的扩展(比如为客户端配电子钥匙)、客户的易操作性等,我们觉得完全的B/S模式可能并不适合。那么只能是C/S模式。K提议了.Net Remoting技术,H担心安装打包的问题(需要客户单独安装.Net Framework)。基于对.NET的了解,虽然我并没开发过Remoting项目,但我觉得这可能是比较好的折中方案。当晚没有定下来。

第二天,我经过在网上的搜索,找到并实验了.Net Framework打包到程序安装包中自动安装的技术,同时利用一个晚上,通读了<C#高级编程>中关于Remoting技术的章节(看书时发现自己以前读过,只是不太深入,呵呵),与H进行了沟通(H八月份要去外地,所以技术只能以我所熟悉的为最好),基本确定了项目采用.Net Remoting技术。

第二次的团队会议,我们确定了.Net Remoting技术的开发方案,并进行了开发思想的统一和初步的分工,因为大家都有一定的开发经验,所以没有写很正规的文档,以下是本次讨论会的主要内容。

-----------------------------------------------------------------

 

项目技术要求及初步分工

夏春涛 2008-6-30

 

一、      项目采用的技术与运行环境

1. 项目核心技术:

考虑到项目的分布式要求、客户端操作易用性和安全性要求,以及团队技术经验,采用如下技术开发:

.NetRemoting.Net Framework2.0),TCP通道

2. 运行环境:

(1)    服务端:Win2003Server Sp2.NetFramework2.0Oracle9.2

(2)    客户端:WinXP Pro.Net Framework2.0Office2003Word/Excel

3. 开发环境

VS2005/C#.Net Framework2.0

二、      项目开发原则与代码编写要求

1. 项目开发原则

(1)    简单、简洁原则。界面不追求美观,但要直观、易用;尽量不用自己不熟悉的东西,尽量先不考虑第三方控件或库。

(2)    可扩展原则;程序将来可能需要调整或扩展的地方,尽量利用配置文件解决,不要硬编码在程序中。可扩展原则不要过度,“简单简洁”是我们首要考虑的。

(3)    分层开发原则;采用简单三层开发思想,实体层、数据访问层、业务层;另外,数据库中所有对表的操作通过存储过程实现;界面层中不允许出现直接调用SQL语句或存储过程的代码,必须通过业务层实现对数据的访问。

2. 代码编写要求

(1)    为便于使用代码自动生成工具,程序代码中的命名以及数据库中表、字段、存储过程的命名必须采用英文单词命名,禁止使用汉语或拼音形式。

(2)    代码要加适当的注释。每个文件要注释出:功能说明/作者/时间;每个函数要注释出:功能说明;要求采用.NET///注释形式。

三、      预见的技术问题及解决方案

1. 字典表(代码表)频繁读取的问题

为避免从服务端频繁读取字典表,将字典表存储到客户端使用;为避免字典表更新造成的不一致,设计一个强制客户端自动升级的模块。

2. Office报表实现问题

两种备选方法:

(1)    doc模板方法,编程替换doc模块中的自定义标签,需要利用Office开发接口,分析word/excel对象;

(2)    xml模板方法,将Office报表模板存为xml文档,编程替换xml文档中的自定义标签,只需分析xml文档(当作文本字符串)即可;(注:word xml文档中的图片是采用base64编码存储的)

拟采用xml模板方法。

另外考虑利用配置文件将表中字段与模板中标签映射,自动化报表生成的技术,以解决报表量巨大的问题。

3. 数据集传输量问题

为提高效率,拟采用分页读取数据(分页存储过程)实现。

四、      项目实施与初步分工

1. 项目分为两个子系统:

1)服务端子系统:

1)服务控制(启动、停止);

2)数据备份与恢复;

3)数据导出与上报;

2)客户端子系统:

  除服务端之外的所有系统功能设计中定义的功能。

 

2.  初步分工(2008-07-012008-07-15):

阶段目标:为客户展示界面原型,再次确定功能需求

X:服务端子系统框架搭建及项目整体框架考虑与搭建;

HK:客户端子系统。首先是客户端界面原型开发,根据界面原型同步进行数据库设计;HK商讨后再进行细分。

F:文档,后勤保障。

本阶段完成后再进行更细的分工。

 

 

附:其它问题:

1.      给项目起一个正式的名称;

2.      讨论:各种数据修改需要提交审核的问题的处理机制。

 

下篇: 记录一个人事管理信息系统的开发过程2(结束)

 

目录
相关文章
什么是互助预约排单系统开发丨dapp预约排单互助项目系统开发详细流程/规则方案/案例设计/逻辑功能/源码开发
Allow users to register accounts and perform identity verification to ensure the authenticity and credibility of user information.
|
11天前
|
存储 供应链 数据可视化
宠物公司双旦备战,何种办公软件可优化库存管理?
在冬季双旦节期间,宠物行业的业务量激增,高效的团队协作和学习效率至关重要。合适的办公软件能助力企业在需求预测、库存管理、营销策划等方面顺畅运营。本文推荐6款可视化团队协作办公软件:板栗看板、Trello、Asana、飞书、腾讯文档和石墨文档。这些软件各具特色,如板栗看板的直观数据呈现、Trello的插件拓展、Asana的强大项目管理、飞书的实时协作文档、腾讯文档的便捷模板和石墨文档的深度协作功能,帮助宠物企业提升工作效率,实现业绩增长。
30 5
|
2月前
|
数据可视化 数据挖掘 BI
工时管理系统怎么选?用对工具助你快速提升效率
工时管理是团队管理和项目推进的核心工具,有助于了解任务进展、控制资源投入。本文解析了工时管理的实际需求和常见痛点,并推荐了几款实用的工时管理系统,如板栗看板、RescueTime、Clockify、Toggl Track 和 Harvest,帮助提升管理效率。
62 1
|
4月前
|
搜索推荐 BI 数据处理
点晴OA系统让考勤管理不再头疼
在当今数字化管理趋势下,点晴OA办公系统中的考勤管理作为企业内部管理的重要组成部分,其自动化和智能化水平的提高在提高企业运营效率和员工满意度方面发挥着重要作用。
66 4
|
7月前
|
前端开发 Java 开发工具
Java医院绩效考核系统源码:关于医院绩效考核系统的技术架构、系统功能、如何选择医院绩效考核管理系统
系统开发环境 开发语言:java 技术架构:B/S架构 开发工具:maven、Visual Studio Code 前端框架:avue 后端框架:springboot、mybaits 数 据 库:MySQL
59 4
Java医院绩效考核系统源码:关于医院绩效考核系统的技术架构、系统功能、如何选择医院绩效考核管理系统
|
程序员 C#
C#财务管理系统(C#课程设计)
C#财务管理系统(C#课程设计)
143 0
|
前端开发 数据库
人事管理项目-员工资料模块
人事管理项目-员工资料模块
人事管理项目-员工资料模块
|
BI 测试技术 数据库连接
基于C#的药房销售管理系统设计开题报告
基于C#的药房销售管理系统设计开题报告
153 0
|
JSON JavaScript 前端开发

热门文章

最新文章