淘客熙熙

主题:【交流】有趣有益,案例分析 -- 懒厨

共:💬30 🌺47 新:
全看树展主题 · 分页首页 上页
/ 2
下页 末页
家园 【交流】有趣有益,案例分析

转眼西西河就四周年了,铁手的宗旨是有趣有益,正琢磨着搞些什么活动能配得上这四个字的,看到河友橡树村的问题,灵光一闪,不如就做个案例分析吧,估计河里有不少人是做应用软件开发的,分析一下,同行交流,总是有益的。

河友橡树村要求的软件,分两步,

初期的要求是这样子的

我现在实验室的项目比较多,人也比较多,想把所有的数据都放到局域网服务器上,然后根据不同权限可以访问不同的数据,同时进行数据的计算,比较,整理。

现在有什么比较方便的平台实现这个东西?

数据库格式简单,基本就是数字和文本,日期,结果也不复杂,数据量也不大,每天生成几十K就不错了。

未来的要求是这样子的

不过需要考虑到明年开始运行的一个工业试验厂的情况。但是数据量也不是很大。其实工业数据分析的时候取样频率还比不上实验室的取样频率。工厂本身的运行参数是另外一个程序的事情了。工厂数据的麻烦就是这个必须是远程传输,我的厂子在陕西呢,我的实验室在南非。

另外还要考虑以后容纳国内另外一个实验室的数据。

已知情况:

1)橡树村有一些VB基础

2)橡树村能对SQL SERVER进行基本操作。

小弟我就不客气,把砖抛出来,大伙不妨写写你们的方案,你们的方案,不必限定技术要求的,各位擅长什么,就写什么,大家交流一下。另外也不妨批评一下小弟的方案,指出不到之处。

橡树村兄也不必客气,如果有需求变化,直接提出来就是,需求变化是正常软件开发的一部分,这样会给这个案例带来更多的乐趣。

元宝推荐:铁手,
家园 懒厨方案一

对前期的要求,客户端用ACCESS,数据库用SQL SERVER.做开发的时候,可以在开发的机器上,用SQL SERVER的免费版。开发完毕之后,把数据库移植到正式的服务器上。

对于权限的要求,可以设置不同的SQL SERVER Role,让不同的人看不同的Table/View。

对于每天新增加的数据,不知数据格式,假设是简单的固定文本格式,可以用Bulk Copy,在服务器上设置一个任务(Control Panel -> Scheduled Tasks),在固定的时间把数据输入数据库。

假如数据格式复杂,可以用SQL SERVER 的 Data Transformation Services (DTS)处理后再输入。 (SQL SERVER 2005 有同样的工具,但不叫 DTS, 忘了叫啥了)

这个方案是基于用户不多,要求不高的假设,版本控制,就忽略了。

家园 懒厨方案二

对于第二期的要求,有两个假设。

其一是假设客户端没有变化,仅仅是有新的数据要输入,解决方案就很简单了,让网络管理员设置一个FTP Server,让远处的数据提供者把数据上传过来,定时或者手动把数据抄入数据库即可。

第二个假设,是客户端有较大的改动,数据的分析及处理很复杂,而且需要远处的即时数据(Realtime Data)。这种开发就比较有趣了。我会把Access移植到VB.Net (或者 ASP.Net,假如想做Web Based的应用程序,好处是远处的用户也很容易使用)。另外,远处还应该设置服务器,来提供这边所需的Web Service。

假如是只需要两三个程序员的功夫,用Visual Source Safe来做源码的版本控制就足够了。如果是二三十个程序员的开发,我会推荐Rational ClearCase.

最后提一下,至于项目管理,测试什么的,我就偷一下懒,暂时不提了。

家园 数据的输入,如果已经有Excel文件的话

直接导入SQL Server/Access即可,非常简单,符合橡树的“学生计算机水平较差”的需求。

数据的备份也比较简单,设成每天的自动任务即可。

这其实是用数据库的数据转换、传输等辅助功能完成一些非数据结构的数据控制,有意思。

家园 这个主题挺有意思,鼓励鼓励

不过,里面有个很重要的需求必须搞清楚:

同时进行数据的计算,比较,整理

如何计算、怎么比较、整理又是什么意思?这些功能应该是这个软件系统的核心吧?

家园 如果只是那样的需求的话

Visual Source Safe就足够胜任了。

完全不需要有任何的程序代码啊

而且适合未来需求扩展,Visual Source Safe本身就允许外源访问的

家园 的确如此

如果需要处理远程的实时数据还是用web service最好。当年没有这东西就麻烦了,我们原来做的一个系统客户是个大酒厂,在全国各地有许多分公司,系统每天定时拨号连接总公司服务器上传销售数据,服务器端程序汇总输入数据库,前端程序出报表。

家园 agree

so I recommend the dataview. He doesn't need to write any code for data download and process, just focus on the data analysis.

agree
家园 这dataview是个面向行业的东西,还是通用的?

能给个链接么?就是好奇。

家园 目前面向行业, 不过我觉得可以定制

http://www.sas.com/success/ibm_dataview.html

Dataview是IBM开发的,基于SAS和IBM DB2的SAS 应用。看过IBM的工程师用过,觉得不错。类似做data mining的软件还有corner stone, JMP等等。

家园 挺有意思。看起来象是可以针对其他流程定制。

要用这个东西,数据自动采集应该是必需的吧?否则,数据量不够,分析的结果也不具有代表性啊?更别说要做实时分析了。

如果没有理解错的话,DataView是建在OLAP上的吧?分析能力更强?

家园 数据自动采集肯定是的

也就是inline-test。offline-test or bench test是另外的东西了。

数据是在生产线上到达某个步骤后批量采集的。采集完后,有权限的工程师就可以分析数据了。我不知道OLAP, dataview整个就是个sas,每一个步骤都有sas script对应。

家园 一直很困惑

前面的帖子不少人都提到一个版本控制软件的应用,但我不觉得好用啊。还是举例说明吧。

假设橡树村每天收到3个文本文件,这些文件纪录了3个炉的24小时温度变化。橡树村需要对比一下不同炉之间的温度差别,其中,一号跟二号炉的数据是公开的,每个用户都可以读的,但三号炉是新工艺,需要保密,只有指定用户才可以看。

在这种情况下,我的做法是把三个炉的数据都先输入SQL SERVER,创建不同的View,然后让不同的Role读取各自的View就是。

请教一下,在这种情况下,如何应用版本控制呢?

家园 例子分析

假设橡树村每天收到3个文本文件,这些文件纪录了3个炉的24小时温度变化。橡树村需要对比一下不同炉之间的温度差别,其中,一号跟二号炉的数据是公开的,每个用户都可以读的,但三号炉是新工艺,需要保密,只有指定用户才可以看。

建立两个文件夹,其中一个存放一号和二号数据,所有用户都可以对一号和二号数据进行读取,另外一个设定权限就可以了,文件流的所有操作可以在WINDOWS下完成,再“拖”到版本管理软件中

另外文件对比功能也可以由版本控制软件的“修改对比”功能来实现。

用数据库来实现这样的功能的确可以,但是有点杀鸡用牛刀了。个人认为,在开发资源比较少的情况下---如果是学校的研究室那就另当别论了,学生实践嘛---发掘现有软件的实用化功能才是王道啊

社会河蟹

家园 倒也!

原来是这个意思。

我想象的情形比这个复杂,例如这些文件是每分钟的纪录,而且橡树村需要知道的是具体温差,然后再根据温差来画曲线。。。。。。。

全看树展主题 · 分页首页 上页
/ 2
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河