最近公司急于开发一个新的系统,目前处于项目论证和评估阶段。在此将系统简单需求抛出,希望大家不吝赐教,给我一些启发。在此先谢过了!
以下是简单的需求:
客户端:安装在客户的机器上,用于收集硬件信息(WMI)、监控注册表、启动项等,以及和后台管理员的简单交互、接收管理员的命令或者脚本。要求精悍高效,不能依赖于.net framework。客户端还要有自动更新功能。
服务器:用于存储收集到的信息,以及信息的转发。要求能支持2000个客户端。
管理员后台:用于呈现收集的信息,并作简单的控制(发送命令或者脚本,得到执行结果)。
初步设想:
客户端:考虑到要平衡开发速度,和执行效率。语言选择:C++,VS2008下的MFC。通信:调用Server的Webservice来传输收集到的数据。用Socket来接受命令和脚本。
服务器:语言用C#, 数据库用SQL2005 Experss版本。以及结合Enterprise library 的模块。不知道LINQ怎么样?! 该服务器还会于另外一套系统通信(JAVA)开发。
管理员后台:C# 开发,和服务器的通信用WCF。使用From界面,本想选择WEB,不过考虑到开发速度,还是选择比较熟悉的Form。
初步估计开发量:
Client:15000行(之前用C#开发过一个版本,代码量在12000行,不知转到C++后的代码是否合理)。
Server: 20000行,随便估计的。
管理员后台:20000行,也不确定。
总开发周期 20个人月,5个人*4个月;(一共代码量:55000行,2750行/人月。130行/人天。)
以上是笔者的初步设想,不知道这样的选择是否合理,比如通信方式,语言以及开发量估计,有没有更好的选择呢! 希望大家不吝赐教! 谢谢。。。。