• 记录一个人事管理信息系统的开发过程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(结束)

     

  • 相关阅读:
    (网页)中的简单的遮罩层
    (后端)shiro:Wildcard string cannot be null or empty. Make sure permission strings are properly formatted.
    (网页)jQuery的时间datetime控件在AngularJs中使用实例
    Maven Myeclipse 搭建项目
    MyBatis 环境搭建 (一)
    java 常用方法
    XML 基础
    JS BOM
    js 事件
    js 的使用原则
  • 原文地址:https://www.cnblogs.com/SummerRain/p/1233044.html
Copyright © 2020-2023  润新知