在《實用軟件工程》一書中,從分析、設(shè)計、實現(xiàn)、測試和管理這5個方面,提出了5個面向理論:面向流程分析、面向數(shù)據(jù)設(shè)計、面向?qū)ο髮崿F(xiàn)、面向功能測試、面向過程管理。
需求分析,就是要分析清楚用戶的需求,而分析清楚了用戶的業(yè)務(wù)流程,也就清楚了用戶的需求。所以,需求分析就是要面向流程分析。 用戶的業(yè)務(wù)流程,說到底,就是數(shù)據(jù)流,一個業(yè)務(wù)流程就是業(yè)務(wù)數(shù)據(jù)從一個軟件部件流向另一個軟件部件。分析清楚了業(yè)務(wù)數(shù)據(jù)的流向,也就分析清楚了用戶的業(yè)務(wù)流程。 而且,計算機本質(zhì)上也僅識別二進制數(shù)據(jù)流。抓住數(shù)據(jù)流,也就抓住了軟件的本質(zhì)。
軟件的概要設(shè)計,是建立軟件模塊間的靜態(tài)和動態(tài)關(guān)系,進行軟件的接口設(shè)計。模塊間的調(diào)用和接口間傳遞的都是數(shù)據(jù)。面向數(shù)據(jù)設(shè)計,就是建立數(shù)據(jù)模型,再基于數(shù)據(jù)模型,建立軟件的業(yè)務(wù)模型和功能模型(包括性能模型和接口模型),由此完成軟件的設(shè)計。
軟件實現(xiàn),是將已經(jīng)設(shè)計好的模塊使用程序語言進行編程,實現(xiàn)其功能的過程。軟件實現(xiàn)的對象是軟件模塊。 目前,流行的大多數(shù)編程語言都是面向?qū)ο蟮恼Z言。而且,隨著軟件工程的發(fā)展,軟件的構(gòu)件化開發(fā)已經(jīng)大行其道,模型驅(qū)動開發(fā)也已經(jīng)嶄露頭角。這些都表明了軟件實現(xiàn)的面向?qū)ο笏枷搿?/span>
軟件測試有黑盒測試和白盒測試兩種測試方法,其中黑盒測試就是功能測試。雖然黑盒測試取代不了白盒測試,但是無論單元測試、集成測試還是配置項測試,功能測試都是主要的、不可或缺的。 隨著構(gòu)件技術(shù)的發(fā)展,軟件測試更多的將是功能測試(因為白盒測試在形成構(gòu)件時就已經(jīng)完成了)。
軟件產(chǎn)品的質(zhì)量,離不開軟件開發(fā)過程的質(zhì)量控制。只有將需求、設(shè)計、編碼、測試這些階段的質(zhì)量控制住,最終交付軟件的質(zhì)量才有保證。因此,才有了CMM、ISO9000、敏捷等一些過程方法的涌現(xiàn)。它們的出現(xiàn),都是為了加強軟件過程的管理。如果只管產(chǎn)品,不管過程,那么要交付合格產(chǎn)品的代價將會十分巨大。 總之,這5個方面的理論,覆蓋了軟件需求分析、設(shè)計、實現(xiàn)、測試這4大階段,與軟件工程的基本原理——分段管理的要求是一致的。5個方面理論,如同5個手指,它們緊握成拳,方能形成強大戰(zhàn)力,軟件工程才能發(fā)揮巨大作用。 參考書目:《實用軟件工程》 微信贊賞專用通道
|
|