日本的软件开发,不管是瀑布式的还是迭代式的,大致在流程上分为这样几个阶段。
1.
需求分析与提案。
日本的公司十分重视信息系统在企业运作中的作用,很多时候,他们将解决企业经营中的各种问题的手段诉诸于引进良好的
IT
系统。所以,现在的日本企业开发一个系统,更多的要求开发商能对自己企业所面临的问题进行分析,提出一个好的解决方案。所以,需求定义的出发点不是将现有的业务简单的用
IT
技术进行整合,而是使用
IT
技术来解决企业中的各种问题。开发商要能理解客户所面临的问题,并能提出解决办法,这种要求,是最近一段时期才提出来的,并成为一种趋势。
这个阶段比较重要的工作是分析客户的业务,进行业务建模,理解并发掘客户现在面临的问题,提出改进的模型,以及运行时的管理。
好像这些工作应该是咨询顾问来做的,但是,现在已经都成为对
SE
的要求了。(注意,中国人对
SE
的要求和日本人对
SE
的要求是不一样的)
提交的文档是需求定义式样书等。
2.
外部设计(也叫基本设计)。所谓外部,就是面向外部的用户的设计,不需要关心程序的具体实现。
包括业务流程的定义,架构的划分,数据库的设计(
ER
图和数据字典等),画面的设计(画面的布局和迁移),对外接口的设计等等。
提交的文档是外部设计式样书等。
3.
内部设计(也叫详细设计)。就是程序内部的设计了,根据外部设计的成果物进行设计工作。
根据架构和数据库设计以及画面设计,进行具体的功能划分,物理数据库的设计,算法的设计,输入输出的设计等等。
提交的文档是内部设计式样书等。
4.
编码。
良好的编码风格和注释都是必要的要求。对单元测试的要求,各个公司不一样,但是或多或少都做一些,只是程度不同而已。
5.
系统和综合测试。
6.
运行。这里面涉及到运行管理等跟客户业务密切相关的问题。
面向对象的一些开发方法,也都可以在这些不同的阶段里面找到自己的位置。像用例的设计就可以归到外部设计阶段。
总的来说,日本企业很多还是以瀑布开发为主。这里面的原因有很多,一个是比较好管理,一个是日本人都比较习惯了,改成别的开发方式,很难习惯。但是,由此产生的弊端,也显而易见。所以,很多企业也重视起来迭代开发,并不断尝试。同时,日本一些比较著名的
IT
企业像日立,富士通,
NTT,NEC
等都积累了一些自己的开发流程,他们对
CMM
到没有什么过多的追求,很少看到哪一个日本企业炫耀自己通过了
CMM
多少级。他们认为,自己的管理流程和要求似乎比
CMM
更好,更严格。
posted on 2006-10-05 11:49
KnowNothing 阅读(3314)
评论(1) 编辑 收藏