免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: mygod
打印 上一主题 下一主题

[讨论]大家来讨论一下开发流程问题 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2002-10-09 10:32 |只看该作者

[讨论]大家来讨论一下开发流程问题

权衡一切是客户的认可度,好的编码以及测试人员都是建立在明确的需求上面,编码与软件的建模以及系统分析来说,是不能同日而语的,所以,一切的好的代码的前提就是你能不能很好的分析客户的需求:)

论坛徽章:
0
12 [报告]
发表于 2002-10-10 19:33 |只看该作者

[讨论]大家来讨论一下开发流程问题

[这个贴子最后由cinc在 2002/10/10 09:06pm 编辑]


再仔细看了下书。发现自己对 XP 的理解有些偏差。特别是对它对体系结构和设计的处理。
也感谢 mygod, taurus, socketstrem 指出了我认识有错误的地方。
代码固然重要,但只是从程序员角度看问题,如何使开发出的系统真正满足用户的需求,
才是最重要的。



从《Extreme Programming Explained : Embrace Change》中摘录了以下一段,来一起
看看 XP 是怎么处理变化着的需求,从中得出良好的设计的:


关于系统结构,XP中,体系结构和其他软件项目中一样重要。体系结构一部分使通过系
统隐喻来概括的。如果使用好的隐喻,团队中的每个人都能说出系统作为一个整体使如
何工作的。

关于故事怎么变为对象。“计划游戏”的规则规定,第一次迭代必须产生一个系统的整
体功能框架。对于第一次迭代,选择一套简单的,基本的,你认为能够创建整个体系结
构的故事。接下来,缩小范围,用可能有效的最简单的方法实现故事。这个过程结束时,
你就拥有了一个体系结构。可能它并拾你所期望的,但你会从中了解到一些东西。

如果找不到一套可以使你创建体系结构的故事,而且你很清楚将非常需要这个体系结构,
该怎么办?可以根据推测设计出整个体系结构,或者设计出能满足现在需求的那部分体
系结构,而相信将来能添加体系结构的更多部分。我提出现在需要的体系结构,并相信
自己有能力在以后对他进行修改。



XP的工作方式与许多程序员的本能相背离。程序员习惯预见问题。当问题晚些出现时,
我们会很高兴;如果这些问题部出现,我们就注意不到了。所以设计策略必须绕开这种
“推测未来”的行为。幸运的时,大多数人可以去掉这些“自找麻烦”的习惯。不幸的
是,越是聪明的人越难去掉这个习惯。

了解这个问题的另一种方法是提出这样的问题:“什么时候添加更多的设计?”,通常
的答案是应该为明天设计,如果再当前和将来这段时间内不会有任何变化发生,这种策
略是正确的。如果你完全了解将来要发生什么样的问题,并且知道怎样去解决它,一般
来讲,最好是把现在和将来需要的都添加进去。

此策略的问题是不确定性。特别是:
  1.有时明天永远不会来临(也就是说,客户把你提前设计的功能取消了)。
  2.有时你会在“明天”来临前学到更好的工作方法。

在每种情况下,都必须做出选择:要么支付用于出去额外设计的费用,要么负担使用一
个更复杂而不会带来效益的设计的成本。

我绝对打赌不会发生变化,当然,我也不会打赌我学不到东西。这样,我们就需要改变:
今天为今天的问题进行设计,明天为明天的问题进行设计。

这样就产生了以下的设计策略:
  1.从一个测试开始,这样就知道何时完成。我们必须专门为编写测试来做一些设计:
    对象和它的课件方法是什么。
  2.设计并实现,只要能使该测试运行即可。钥匙这个测试和所有以前的测试都能运行,
    你将不得不设计足够的实现。
  3.重复。
  4.如果有机会可以使设计更简单,就抓住机会去做。
    关于什么使最简单的设计,有四种约束:
      1)系统(代码和测试一起)必须能够沟通你希望沟通的内容。
      2)系统不能包含重复代码。(1,2一起构成了“一次且只有一次”的规则)
      3)系统拥有尽可能少的类
      4)系统拥有尽可能少的方法

这个策略可能看起来简单得可笑。它确实简单,但并不可笑。它嗯那个创建大型得复杂系
统,当然这并不容易。在紧张得工作期内工作而且还要抽出时间来进行清理,没有比这更
难的事情了。

以这种方式进行设计,在第一次遇到问题时,你将以一种非常简单得方法实现它。第二次
使用这种方式时,它会变得更通用。第一次是为了付学费。第二次使用则是为了得到灵活
性。这样永远不用为你用不着得灵活性付出什么,而对于第三次,第四次,第五次得变化,
则可以根据需要可以使系统得相应部分更灵活。

:)

论坛徽章:
0
13 [报告]
发表于 2002-10-10 22:30 |只看该作者

[讨论]大家来讨论一下开发流程问题

[这个贴子最后由jazy在 2002/10/10 10:32pm 编辑]

看了以上几位的文章,觉得受益匪浅,在看的过程中,也结合cinc提供的参考链接,对xp有了初步的了解,结合自己所作的工程,再想想诸位的讨论,才发现,我们在实际到客户那进行现场开发时走了一些不该走的路。

1、:我们自以为我们对业务十分清楚(因为我们在很多省都很成功快捷的完成了项目)
因而忽视了客户的积极参与。干了很长一段时间,根据别省项目的经验来设计该项目,并且花费了较长时间进行测试和功能添加,结果,准备最后收工时,拿给客户看时,客户却提出了许多不同的需求,有些功能需要调整,甚至有些工作是多做的,最后不得不延长工期。我想,如果我们一开始也能参考xp的思路,让用一开始就积极参与的话,结果可能会好的多!

2、代码编写耗时过长。由于我们的项目也属于中偏小项目,整个项目组成员不到10人,主要的开发量在于版本的移植方面以及数据库底层业务。在编写代码的过程中,虽然也有大量的测试程序进行unit test,但是可能是在先期分工不是很明确,造成同一个单元,先后有多人参与维护,其中浪费不少时间。如果能在先期就对这些问题有个较好的分析的话,编写代码将不会花费太多的时间,其实最重要的还是要明确客户的需求。

总之,我觉得,不管xp是不是会成为将来的软件实施的潮流模式,我们在实施一个软件项目时都有必要积极的使用一种较为科学的模式(至少是一种模式)去做,否则,你的实施过程将变得无可预料,也不可能按期高质的完成你的项目!

以上是我的一点浅陋的看法,主要是自己结合具体的项目实施的一点体会,跟经验丰富的诸位相比,见笑了!

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
14 [报告]
发表于 2002-10-11 08:36 |只看该作者

[讨论]大家来讨论一下开发流程问题

[这个贴子最后由lljj在 2002/10/11 08:37am 编辑]

  综合cinc,和mygod两位的关于软件质量的讨论!还是应该发扬辩证唯物主义的观点!看见事物都有两面性!

  代码是基础,但是仅仅注重代码是出不了好的软件的,mygod举的例子很好,建房子不是因为你用的材料好,房子就一定好!还要有相应的设计,以及人文因数在里面;同样代码也一样,一定要有相应的软件架构,以及适宜的软件开发流程作为上层建筑的支撑,才能有好的软件出炉!

  但不能因此就否定代码就不重要!还是举盖房子的例子,房子修得很漂亮,很适合人居住,但是地基没打好,后果可想而知;软件也一样!上层建筑搭建得再好,没有好的算法的支撑,软件的效率就会极其低下,千里子堤,溃于蚁穴!

  以上为个人愚见!希望大家指正!

论坛徽章:
0
15 [报告]
发表于 2002-10-11 11:48 |只看该作者

[讨论]大家来讨论一下开发流程问题

咦,我什么时候成了认证用户了,认证用户是个什么概念呀?

论坛徽章:
0
16 [报告]
发表于 2002-10-11 20:28 |只看该作者

[讨论]大家来讨论一下开发流程问题

下面引用由mygod2002/10/11 11:48am 发表的内容:
咦,我什么时候成了认证用户了,认证用户是个什么概念呀?
什么认证用户啊?

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
17 [报告]
发表于 2002-10-15 09:30 |只看该作者

[讨论]大家来讨论一下开发流程问题

我问过老大了!认证用户就是曾经是版主的用户!

论坛徽章:
0
18 [报告]
发表于 2002-10-15 09:58 |只看该作者

[讨论]大家来讨论一下开发流程问题

让我们在回到原来的话题,我到是觉得,在软件开发的生命周期中,需求分析和概要设计这两个过程是完全可以合并的,实际上现在很多客户在提交需求说明的时候本身就已经包含了很多概要设计的元素在里面了,所以在需求分析的时候完全可以把设计的一些元素提上来,没有必要死守教条,非把需求和设计划分的泾渭分明

论坛徽章:
0
19 [报告]
发表于 2002-10-17 16:34 |只看该作者

[讨论]大家来讨论一下开发流程问题

同意,完全遵守软件工程的开发周期,只是一种理想的状态。
完全可以根据自己的实际需要来处理,反正最终目标都是为了完成一个好软件。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
20 [报告]
发表于 2002-10-17 17:08 |只看该作者

[讨论]大家来讨论一下开发流程问题

我想问一个问题!现在中国的软件公司到底有没有使用软件工程基于如:瀑布,圆形,xp......的开发方法呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP