第一章 軟體工程概述
1. 結合你之前的工程經驗以及任正非致員工信,談談你對軟體工程的看法,
隨著科技的發展,軟體開發的需求量以及開發規模都在不斷地增大,規模越大的軟體工程,各方面需要考慮的問題就越多,所耗費的人力物力就越大,我認為軟體工程的作用就是運用一系列科學的方法,在滿足各方面需求并保證軟體效率的前提下,統籌管理好開發程序的每一步,以最少的人力物力耗費來實作期望的目標,
2.軟體開發就是編碼么?談談你對軟體開發的本質的認識,
編碼是軟體開發的一部分,也是程式員們的作業,我認為軟體開發的程序中除了編碼以外,更重要的是開發人員和客戶的一個不斷地交流,隨著開發程序的進行,客戶的需求也許會發生變化,弄清楚了為什么要寫代碼,要寫怎樣的代碼,實作怎樣的功能,才能夠更好地實作預期的目標,
3.舉例說明軟體的特點有哪些?
- 軟體開發與硬體研制相比,更依賴于開發人員的業務素質、智力、人員的組織、合作和管理,
- 大型軟體仍然存在著潛伏的錯誤,
- 軟體產品開發成功后,只需對原版軟體進行復制,即可生產出任意多的同樣的產品,
- 還有,軟體在使用程序中的維護作業比硬體要復雜得多,
- 由于軟體不是物理產品,所以它不會磨損和老化
4.什么是軟體危機?軟體危機出現的原因及解決手段有哪些?
軟體危機是指落后的軟體生產方式無法滿足迅速增長的計算機軟體需求,從而導致軟體開發與維護程序中出現一系列嚴重問題的現象,
出現軟體危機的原因主要有:
- 軟體本身獨有的特點確實給開發和維護帶來了困難
- 軟體開發和維護程序不規范
- 缺乏軟體開發的經驗和有關軟體開發資料的積累
- 輕視,人們在制定計劃時總會有一些天馬行空的想法和要求,輕視是一個最大的錯誤,
- 忽視軟體需求分析的重要性、忽視軟體的可理解性、檔案不完備、輕視軟體的可維護性、過分強調編碼技巧等等方面,
- 用戶與開發人員的溝通問題,從而技術人員獲取的需求不夠全面,
解決手段:
??在軟體工程理論的指導下,建立起較為完備的軟體工業化生產體系,形成強大的軟體生產能力 ,軟體標準化與可重用性得到了工業界的高度重視,在避免重用勞動,可以緩解軟體危機,
5.軟體工程的要素有哪些,各有什么作用?
軟體工程的三種基本要素是方法、工具和程序,
- 軟體工程方法(method)為建造軟體提供技術上的解決方法(“如何做”),目前使用得最廣泛的方法是傳統方法(結構化方法)和面向物件方法,
- 工具為方法的運用提供自動的或半自動的軟體支撐環境,
- 程序是為了獲得高質量的軟體所需要完成的一系列任務的框架,它規定了完成各項任務的作業步驟,
第三章 軟體程序模型
1.簡述軟體程序、軟體生存周期、軟體程序模型(軟體生存周期模型)三者之間的概念區別,
- 軟體程序:軟體程序為一個為建造高質量軟體所需完成的任務的框架,即形成軟體產品的一系列步驟,包括中間產品、資源、角色及程序中采取的方法、工具等范疇,
- 軟體生存周期:指軟體的產生直到報廢的生命周期,周期內有問題定義、可行性分析、總體描述、系統設計、編碼、除錯和測驗、驗收與運行、維護升級到廢棄等階段,
- 軟體程序模型:是一種開發策略,該策略針對軟體工程的各個階段提供了一套范形,使工程的進展達到預期的目的,
2.軟體程序就是軟體開發程序么?為什么?
不是,軟體程序是指軟體整個生命周期,從需求獲取、需求分析、設計、實作、測驗、發布和維護一個程序模型,一個軟體程序定義了軟體開發中采用的方法,但軟體程序還包含該程序中應用的技術——技術方法和自動化工具,
3.請選擇兩個常見的軟體程序模型,談談你對他們的理解?并進行比較
- 瀑布模型:就像是瀑布從上往下流一樣,必須等前一階段的作業完成之后,才能開始后一階段的作業,并且每一個階段的輸出檔案就是就是后一階段的輸入檔案,因此,只有前一階段的輸出檔案正確后,后一階段的作業才能得到正確結果,同時,早期犯下錯誤后改正錯誤的代價更低,越到后期,改正錯誤的代價就越高,適用于需求確定,無大的需求變更,作業能夠采用線性的方式完成的軟體,
- 增量模型:融合了瀑布模型的基本成分和原型實作的迭代特征,軟體開發程序中,將軟體系統按功能分解為許多增減構件,并以構件為單位逐個地完成,并都被集成到系統之中,客戶對每個增量的使用和評估都作為下一個增量發布的新特性和功能,適用于既定的商業要求期限之前不可能找到足夠的開發人員的情況,
瀑布模型的優點:
- 有利于大型軟體開發程序中人員的組織、管理,
- 有利于軟體開發方法和工具的研究,從而提高了大型軟體專案開發的質量和效率,
瀑布模型的缺點:
- 開發程序一般不能逆轉,否則代價太大;
- 實際的專案開發很難嚴格按該模型進行;
- 客戶往往很難清楚地給出所有的需求,而該模型卻要求如此,
- 軟體的實際情況必須到專案開發的后期客戶才能看到,這要求客戶有足夠的耐心,
瀑布模型的使用范圍:
- 用戶的需求非常清楚全面,且在開發程序中沒有或很少變化;
- 開發人員對軟體的應用領域很熟悉;
- 用戶的使用環境非常穩定;
- 開發作業對用戶參與的要求很低,
增量模型的優點:
- 采用增量模型的優點是人員分配靈活,剛開始不用投入大量人力資源;
- 如果核心產品很受歡迎,則可增加人力實作下一個增量;
- 可先發布部分功能給客戶,對客戶起到鎮靜劑的作用,
增量模型的缺點:
- 并行開發構件有可能遇到不能集成的風險,軟體必須具備開放式的體系結構;
- 增量模型的靈活性可以使其適應這種變化的能力大大優于瀑布模型和快速原型模型,但也很容易退化為邊做邊改模型,從而是軟體程序的控制失去整體性,
增量模型的使用范圍:
- 進行已有產品升級或新版本開發,增量模型是非常適合的;
- 對完成期限嚴格要求的產品,可以使用增量模型;
- 對所開發的領域比較熟悉而且已有原型系統,增量模型也是非常適合的,
4.根據你當前所在的團隊專案,你更傾向于選擇哪一種軟體程序模型?為什么?
瀑布模型,專案規模比較小,專案的需求也比較清晰,開發程序地用戶的依賴較小,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/267043.html
標籤:其他
上一篇:內外兼修,適合兒童也適合成年人 ----- 《小狗錢錢》
下一篇:腿傷的那幾年
