bluesky521

ASP.NET/数据库/信息安全
posts - 88, comments - 180, trackbacks - 5, articles - 0
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理
 

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

朋友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.      讨论:各种数据修改需要提交审核的问题的处理机制。


 

Feedback

#1楼    回复  引用  查看    

2008-07-01 12:03 by 黎杰荣      
不错的团队,可以按照需求调整应用的技术,至少能把语言当作工具了,比有些人永远用一种语言开发所有系统的做法要好。
我也很想组一下团队啊,可惜找不到适合的伙伴。

#2楼    回复  引用  查看    

2008-07-01 12:09 by 董昊(昊子)      
好听的就不讲了,技术团队在项目中才学习是个大忌

#3楼    回复  引用  查看    

2008-07-01 12:18 by 茄哩啡.NET      
能够接到这样的一个项目,估计有点关系吧,加油啊。

#4楼    回复  引用  查看    

2008-07-01 12:30 by Ivan-Yan      
不错,看起来还是有点团队的意思!~~

#5楼    回复  引用    

2008-07-01 12:39 by lnt [未注册用户]
说的是4个人,到后面点名就成3人了.


这个项目我估计很难做下去,走着瞧,主要是其他成员根本不熟悉.net.

#6楼    回复  引用    

2008-07-01 12:49 by Longsea [未注册用户]
接单那个是凭关系,不会写代码

#7楼    回复  引用    

2008-07-01 12:56 by qinii [未注册用户]
不错,跟进中~~~~~~~

#8楼    回复  引用  查看    

2008-07-01 13:38 by 一味      
如果要使用.net remoting的话,建议你考虑WCF
相对remoting来说,WCF进行了再次封装,较remoting来说使用起来较容易,容易上手,提供的PerSession模式可以回避Remoting不能保存会话状态的问题。

#9楼    回复  引用  查看    

2008-07-01 13:41 by 一味      
看错了。。楼主的方案给的是.net framework2.0,如果用.net framework 3.0或者3.5可以考虑WCF

#10楼    回复  引用  查看    

2008-07-01 14:08 by 小胖子      
wcf毕竟不成熟。

#11楼    回复  引用    

2008-07-01 14:56 by zzticzh1 [未注册用户]
写的不错 支持一下

#12楼    回复  引用  查看    

2008-07-01 15:45 by lazylu      
这种项目的成功从来都不依赖于技术,delphi也好,.net也好,.net remoting也好,dcom也好,假如团队只着眼于技术细节,缺乏对用户需求的足够重视,那么失败的可能性极其高。

#13楼    回复  引用  查看    

2008-07-01 15:57 by 一味      
@小胖子
WCF完全是在原有成熟技术XML Web Service和Remoting上的扩展和封装。

#14楼    回复  引用  查看    

2008-07-01 16:12 by 李涛      
.Net Remoting技术技术是不错,但楼主可以考虑下不用.Net Remoting技术怎么来做,提个建议就是你可以用完成端口的Socket来尝试下,并发可以达到5000,关键是要把Application Server设计好.客户端可以布置在企业内部网中,也可以布置在分公司的广域网中.

#15楼    回复  引用  查看    

2008-07-01 16:25 by Superstone      
--引用--------------------------------------------------
lazylu: 这种项目的成功从来都不依赖于技术,delphi也好,.net也好,.net remoting也好,dcom也好,假如团队只着眼于技术细节,缺乏对用户需求的足够重视,那么失败的可能性极其高。
--------------------------------------------------------
有道理。。。

#16楼    回复  引用  查看    

2008-07-01 16:33 by 神龙腾翔      
不错不错。学习啦!!

#17楼    回复  引用    

2008-07-01 16:45 by longli2003 [未注册用户]
建议用BZ自己熟悉的asp.net直接做.
现在看了 这类应用系统 用B/S是完全能够胜任的,没必要搞得那样复杂。
关键是看来这个团队就你对开发熟练,那就用你自己数量的asp.net吧。

#18楼    回复  引用  查看    

2008-07-01 17:44 by 念时      
不错啊 期待你的项目的进展情况

#19楼 [楼主]   回复  引用  查看    

2008-07-01 18:24 by bluesky521      
--引用--------------------------------------------------
lazylu: 这种项目的成功从来都不依赖于技术,delphi也好,.net也好,.net remoting也好,dcom也好,假如团队只着眼于技术细节,缺乏对用户需求的足够重视,那么失败的可能性极其高。
--------------------------------------------------------
收到,多谢提醒!

#20楼    回复  引用  查看    

2008-07-01 20:11 by 啊不才      
值得关注

#21楼    回复  引用    

2008-07-01 20:27 by m [未注册用户]
祝福博主团队的项目能够顺利的完成

#22楼    回复  引用  查看    

2008-07-01 22:46 by Kevin Li      
关注项目进展情况!

#23楼    回复  引用  查看    

2008-07-01 23:24 by 陈晨      
关注楼主项目进展情况
学习经验

#24楼    回复  引用  查看    

2008-07-01 23:43 by BAsil      
关注

#25楼    回复  引用    

2008-07-02 00:15 by owenzhu [未注册用户]
这项目有点悬了。不过还好是小东西。看完竟然没有多少与用户沟通的过程,搞清楚sponsor是谁,项目受益人是谁,为什么要做这个项目,再做原型也不迟啊

#26楼    回复  引用    

2008-07-02 02:45 by 盐雾试验箱 [未注册用户]
人事管理信息系统。*

#27楼    回复  引用    

2008-07-02 09:52 by ellis [未注册用户]
人事信息管理系统

#28楼    回复  引用  查看    

2008-07-05 22:26 by 生如夏花之灿烂      
.net的c/s系统,oracle数据库?
会有两个问题比较麻烦
1. 每个客户端可能必须要装个oracle client 这是个很大的东西,比.net framework大多了
2.oralce的超过4000字节的clob 字段在.net 中处理比较麻烦,要先攻关一下。。

#29楼 [楼主]   回复  引用  查看    

2008-07-07 10:44 by bluesky521      
@生如夏花之灿烂
1.我们的客户端通过访问远程对象获取数据,服务端的远程对象负责访问数据库,也就是说我们的服务端其实是一个Oracle的客户端,在这里安装oracle client 就可以了
2.目前还没有遇到处理CLOB这样的问题。不过Oracle提供的针对.NET平台的数据提供者ODP应该可以解决这个问题。
-----------
现在主要还是需求分析的问题,很难搞,“繁又烦”,哈哈

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-07-01 15:09 编辑过
Google站内搜索

China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》



相关文章:

相关链接: