第一章 軟件工程基本觀念
本章講述軟件工程的基本觀念,是關于軟件工程宏觀上的探討。如果你是軟件公司的老板,用不著在第一線工作,那么看這一章就夠了。但你一定要讓員工們相信不停地工作是人生最大的快樂,并且讓他們把本書看完。
1.1節講述軟件工程的目標和常用的軟件工程模型。1.2節講述軟件開發的基本策略:“復用”、“分而治之”、“優化——折衷”,有助于指導實踐者選擇方法和產生新方法。1.3節例舉一些不正確的觀念,取材于早期軟件人員比較幼稚的想法,初學者可以引以為戒。1.4節探討一些有爭議的觀念。
看完本章,要樹立這樣的信念:軟件開發過程中的坎坎坷坷,仿佛只是人臉的凹凸不平,用熱水毛巾一把就可抹平。讓我們高舉程序主義、軟件工程思想的偉大旗幟,緊密團結在以Microsoft為核心的軟件公司周圍,沿著比爾·蓋茨的生財之道,不分白天黑夜地編程,把建設有中國特色的軟件產業的偉大事業全面推向21世紀。
1.1 軟件工程的目標與常用模型
軟件工程的目標是提高軟件的質量與生產率,最終實現軟件的工業化生產。質量是軟件需求方最關心的問題,用戶即使不圖物美價廉,也要求個貨真價實。生產率是軟件供應方最關心的問題,老板和員工都想用更少的時間掙更多的錢。質量與生產率之間有著內在的聯系,高生產率必須以質量合格為前提。如果質量不合格,對供需雙方都是壞事情。從短期效益看,追求高質量會延長軟件開發時間并且增大費用,似乎降低了生產率。從長期效益看,高質量將保證軟件開發的全過程更加規范流暢,大大降低了軟件的維護代價,實質上是提高了生產率,同時可獲得很好的信譽。質量與生產率之間不存在根本的對立,好的軟件工程方法可以同時提高質量與生產率。
軟件供需雙方的代表能在餐桌上談笑風生,歸功于第一線開發人員的辛勤工作。質量與生產率的提高就指望程序員與程序經理。對開發人員而言,如果非得在質量與生產率之間分個主次不可,那么應該是質量第一,生產率第二。這是因為:(1)質量直接體現在軟件的每段程序中,高質量自然是開發人員的技術追求,也是職業道德的要求。(2)高質量對所有的用戶都有價值,而高生產率只對開發方有意義。(3)如果一開始就追求高生產率,容易使人急功近利,留下隱患。寧可進度慢些,也要保證每個環節的質量,以圖長遠利益。
軟件的質量因素很多,如正確性,性能、可靠性、容錯性、易用性、靈活性、可擴展性、可理解性、可維護性等等。有些因素相互重疊,有些則相抵觸,真要提高質量可不容易!
軟件工程的主要環節有:人員管理、項目管理、可行性與需求分析、系統設計、程序設計、測試、維護等,如圖1.1所示。
人員管理
項目管理
可行性與
需求分析
系統
設計
程序
設計
測
試
維
護
圖1.1 軟件工程的主要環節
軟件工程模型建議用一定的流程將各個環節連接起來,并可用規范的方式操作全過程,如同工廠的生產線。常見的軟件工程模型有:線性模型(圖1.2),漸增式模型(圖1.3),螺旋模型,快速原型模型,形式化描述模型等等 [Pressmam 1999, Sommerville 1992]。
可行性與
需求分析
系統
設計
程序
設計
測
試
維
護
文章來源于領測軟件測試網 http://www.kjueaiud.com/