软件需求、分析&设计的讨论(之三)

0 views
Skip to first unread message

Leo

unread,
Nov 8, 2008, 4:44:32 AM11/8/08
to 中国架构师联盟
【 节选自QQ群——架构师联盟论坛的讨论记录 2008年10月31日 】


邹义亮(137266590)16:51:53
不能太偏激,不是说只要制度、方法,不需要人,也不是说只要人,不需要制度、方法。要做好是哪方面都要做好

风在吹(94524029)16:51:58
我要打造一个不需要英雄的企业

红叶(Leo)(38800226)16:52:14
业务分析和需求分析是不是靠人来做?你不是在做这个工作吗?如果你的老板说,给500元就够了,因为已经有工具
和工程方法为你完成大部分工作了,你的价值就是一个简单劳动。你怎么想?

风在吹(94524029)16:53:08
红叶不讨论这个了

红叶(Leo)(38800226)16:53:17
一流的企业需要一流的人才驱动

红叶(Leo)(38800226)16:53:19
OK

风在吹(94524029)16:53:32
我现在的团队没有严格区分需求分析和系统分析
我现在分析完了就直接转数据库设计,写程序
大家怎么看?

风在吹(94524029)16:53:55
界面和业务规则和流程,我全部分析完毕
但是没有画类图和顺序图

风在吹(94524029)16:55:05
我现在的团队没有严格区分需求分析和系统分析
我现在分析完了就直接转数据库设计,写程序
界面和业务规则和流程,我全部分析完毕,并文档化
所有的数据规格也都定义了
但是没有画类图和顺序图
大家怎么看?请大家帮我分析改进一下

风在吹(94524029)16:56:54
红叶,帮我分析一下

风在吹(94524029)16:57:22
我现在感觉到了平原期,改进的效果不大

红叶(Leo)(38800226)16:57:43
你的主要工作是做什么?

红叶(Leo)(38800226)16:58:02
分析设计?还是只关注业务与需求?

风在吹(94524029)16:58:27
我关注的是业务和需求

风在吹(94524029)16:58:46
你说的设计是指的系统设计还是程序设计?

红叶(Leo)(38800226)16:58:44
那就不需要考虑任何类图

风在吹(94524029)16:59:06
我也在设计,我在设计业务模型和系统

风在吹(94524029)16:59:24
这个系统包括信息系统和人工系统
以及信息系统和人工系统的相互合作

风在吹(94524029)17:00:00
包括定义系统流程和人工流程如何合作的问题

红叶(Leo)(38800226)17:00:12
我们所说的设计是指与设计机制和实现技术有关的设计,比如你要考虑如何结合Struts或EJB技术来设计你的系统
或子系统,采用什么设计模式更好满足你的质量需求

红叶(Leo)(38800226)17:00:49
看你说的内容,估计就是做到我们所说的“分析”这个层面,还未做“设计”

风在吹(94524029)17:01:36
哦,你说的这个我不关心
我不关心你是用.net做还是j2ee做
我做的东西用那种技术都可以实现

风在吹(94524029)17:02:30
我做的东西就是你用这种技术也可以实现,用那种技术也可以实现
但不官你用那种技术
你一定要实现我做的东西
我不做程序设计

红叶(Leo)(38800226)17:02:49
分析的内容考虑到是与具体实现技术无关,关注的是业务和需求的核心概念与逻辑,比如,你需要采用相关的分析模式
(如信息专家模式)来组织你的对象交互协作实现你的用例,我们叫“分析级的用例实现”,还有会考虑与核心概念有关
的实体类及其组织模型

红叶(Leo)(38800226)17:03:52
这样,你需要画分析类图,描述你的核心概念——实体类,和业务逻辑——控制类,还有你的抽象用户接口——边界类

红叶(Leo)(38800226)17:04:12
好了,说到这为止吧,我要忙自己的事了。改天聊

风在吹(94524029)17:05:21
感谢红叶,我还没有做到这里来
我们经理不让我做
我做的工作做完后就直接转数据库设计和程序设计

谢求智(66343483)17:21:18
要用好的人来执行好的制度,而且还需要短时间内的英雄,有长时间内的英雄更好,大家都是英雄更更好,你们现在
对你们的企业来说就是英雄。我是开发员,我觉得开发员如果只是机器一样的话,那开发出来的软件好坏完全就是靠
分析师的能力了,但是分析师往往注重大局而顾不上细节,但是客户对我们的软件不爽,往往都体现在细节上。开发
员开发工程中也必须有自己的想法,能看到分析设计上的不足,提出可解决性方案

谢求智(66343483)17:22:56
如果软件企业的开发员都是一堆没有想法的,想机器一样工作,给我的感觉就像养老院

日期:2008-10-31

风在吹(94524029)10:42:42
今天没人出来发言了啊

风在吹(94524029)10:42:59
红叶在不在?

风在吹(94524029)10:43:04
cody在不在?

风在吹(94524029)10:43:21
群不说话,不交流还有什么用呢

谢求智(66343483)10:47:02
我是属于多听多看少说话这一类的

风在吹(94524029)10:49:30
不喜欢说话吗

风在吹(94524029)10:49:49
既然在群里面,大家多说话
多讨论,多交流啊

风在吹(94524029)10:57:14
胡子是搞什么开发的?

谢求智(66343483)10:58:26
java开发,广东同望科技股份有限公司

风在吹(94524029)10:59:45
我都不知道自己是搞什么的了

风在吹(94524029)10:59:53
java,c#,VC都搞了一下

风在吹(94524029)11:00:05
现在开发也没做了,搞分析

风在吹(94524029)11:00:17
这个分析还说不清楚是需求分析,还是系统分析

谢求智(66343483)11:00:45
你昨天的观点是不分技术的,所以对你来说java,c#,vc都是一样的

风在吹(94524029)11:01:10
嗯,是的
对于我现在的工作来讲,也是这也

风在吹(94524029)11:01:34
我只分析清楚,至于那种技术实现,不是我的职责了

谢求智(66343483)11:05:10
我的做的层面高度还没有你的高,所以考虑的东西也不一样

风在吹(94524029)11:05:43
我们关注的东西不一样,视角不一样

红叶(Leo)(38800226)11:07:16
民工现在做的角色跟你一样

风在吹(94524029)11:07:55
是吗?
太好了,以后多向你们学习啊

谢求智(66343483)11:08:10
而且我们这里也没有向你们一样分工那么明显,我们全部都一起参加需求分析,数据库设计和代码编写的,甚至是谁负
责开发哪个模块,就谁去搞哪个的分析和数据库设计

风在吹(94524029)11:10:42
我们原来也是这样
最近才慢慢的分了
做分析的分析,设计的设计
我主要在前端,中间还有做设计的
后面有做开发的

风在吹(94524029)11:14:29
你们是一个公司的吗?

红叶(Leo)(38800226)11:15:44
群众来自五湖四海

谢求智(66343483)11:17:18
主要是我们范围小,所以考虑的东西就更少了,所谓的分析设计也就机械化,代码的书写就更是机械化了,代码生成器
哗啦啦的就生成出来了,很少会考虑用什么开发模式,遵循什么原则,我们现在要做的就是怎么使机械更自动化模板化,
提高开发效率,别老是手动做重复的工作

风在吹(94524029)11:19:00
蛮牛啊,你们都自动化生成了

红叶(Leo)(38800226)11:19:12
这对于创新型项目不适用

风在吹(94524029)11:20:37
你们这样可以提高质量,降低成本

红叶(Leo)(38800226)11:21:15
什么叫“质量”?
没有程序BUG就是质量好?

风在吹(94524029)11:21:39
bug尽量少啊,而且用户体验和架构可以不断改进

红叶(Leo)(38800226)11:22:13
性能、可扩展性要求都不能满足,质量还好什么?

胡伟(4559126)11:22:18
质量属性很多的

红叶(Leo)(38800226)11:23:13
要做好高性能的软件,靠代码生成器是无济于事的

谢求智(66343483)11:23:21
我们做的项目大体上的界面样式,后台代码模式都是一样的,所以才考虑把能想到的东西都做成模板,提高效率的

红叶(Leo)(38800226)11:24:05
同望目前的产品存在的一个最严重问题就是:性能低下,扩展性差!

谢求智(66343483)11:24:19
是的

红叶(Leo)(38800226)11:24:24
这是N多客户强烈反应的

郭志国(542852019)11:24:35
这个不是代码生成器的问题,

红叶(Leo)(38800226)11:24:45
BUG到是比较少

谢求智(66343483)11:24:59
因为我们都不没有把这些纳入真正的考虑范围

风在吹(94524029)11:25:24
性能低下,扩展性差!
你们做的是什么产品啊?

红叶(Leo)(38800226)11:25:32
虽然不是代码生成器的问题,但这些人一采用了代码生成器就不会去思考设计优化的问题了

红叶(Leo)(38800226)11:26:50
完成代码的效率到还蛮高的,这点是代码生成器的功劳。

风在吹(94524029)11:26:57
分析哈啊
影响性能的代码手写

郭志国(542852019)11:27:00
这里还是一个分工的问题,如果采用这种机械化的开发方式,对于系统设计尤为重要

风在吹(94524029)11:27:24
影响性能的代码应该集中在少数地方

郭志国(542852019)11:29:27
对于管理系统来说,这种性能主要体现在数据库的存取,缓存的使用上

风在吹(94524029)11:30:00
你们的产品都很成熟了啊

谢求智(66343483)11:30:05
其实说扩展性差这样说也不太正确,因为项目上的扩展主要是功能模块的扩展,而功能模块这间又是关联性不强的,
而我们平常说的扩展性是直类于类之间的,我们项目上这中情况比较少,一般主要调研的好的话,一个模块做好了,
以后就不用怎么改的了

风在吹(94524029)11:30:16
我们现在还在做项目,需求天天变,极不稳定

红叶(Leo)(38800226)11:30:53
架构设计不好,是影响性能和扩展性的主要原因,如果只是少部分代码不够优化,那么只要优化这部分代码,性能早
就上来了,可是事实不是这样。这不仅仅是同望的产品,全国很多公司在做软件产品都有这个问题,特别是做应用软
件的,很少有人能从架构层面思考性能和扩展性问题,或设计满足性能需求和扩展性需求的架构。

郭志国(542852019)11:33:15
不是国内,国外的产品也是一样,IBM的Lotus还不是慢的象头牛

风在吹(94524029)11:33:21
又学习了不少

风在吹(94524029)11:33:32
微软的最慢

郭志国(542852019)11:33:37


郭志国(542852019)11:33:51
不过他们的东西太多了

谢求智(66343483)11:34:24
在同望干了,那么久,最能影响性能的不是架构,而是数据库的设计和sql语句的写法,关于sql语句怎么分析执行的,
没有多少人了解,造成写出来的sql语句,执行时花费开销很大,甚至造成了严重等待阻塞的情况

风在吹(94524029)11:34:32
微软的代码最稀烂了
属于极高耦合了

红叶(Leo)(38800226)11:34:39
比如,我们现在的项目,就设计上考虑了静态页面的缓存,以及在Spring管理部分对象的池化。另外对扩展性要求,
考虑了对外部组件的封装(策略模式和适配器模式),以及服务对象子系统(考虑组合C/S与B/S共用模式)

郭志国(542852019)11:34:58
慢也在情理之中啊,考虑的问题复杂了,就会影响性能!关键要合理的取舍负责度和性能的关系
Reply all
Reply to author
Forward
0 new messages