日本的軟件開發,不管是瀑布式的還是迭代式的,大致在流程上分為這樣幾個階段。
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 閱讀(3341)
評論(1) 編輯 收藏