zoukankan      html  css  js  c++  java
  • 记录一个人事管理信息系统的开发过程1

     

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

    朋友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(结束)

     

  • 相关阅读:
    【Java】快速排序、归并排序、堆排序、基数排序实现总结
    【Java】二分查找、插值查找、斐波那契查找的实现,及分析
    【Java】Java实现常见的七种排序
    【C】常见的排序
    栈,迷宫问题
    海量数据处理问题
    【C】 布隆过滤器BloomFilter
    哈希变形---位图
    C实现Hash表,链式结构
    C实现Hash表,开放定址法
  • 原文地址:https://www.cnblogs.com/SummerRain/p/1233044.html
Copyright © 2011-2022 走看看