《現代軟體工程 構建之法》第一章總結

2022-08-22 00:03:14 字數 1665 閱讀 7302

任務一:專業術語

1.1 軟體=程式+軟體工程

行業內被人熟知的一句名言:程式=資料結構+演算法

源程式,就是一行行的**,是建立在資料結構上的一些演算法。

有些程式要配置不同的介面,執行在中文、英文或其他語言的作業系統上,有些程式還有32位版本、64位版本等。這些問題稱作源**管理的問題,也叫配置管理。

有一系列的工具、流程和文件來保證程式的正確性,這些工具(也是軟體)、流程應該達到很高的質量,才能保證開發出來的軟體的質量。這個過程稱作質量保障,具體的驗證過程叫做軟體測試。

軟體團隊的人員也會流動,新的成員要盡快讀懂已有的程式,了解程式的設計,這叫程式理解。軟體在執行過程中還會出現這樣那樣的問題,也許我們要時不時的給軟體打乙個補丁,或者維護眾多的服務,團隊的新老成員要一起修復各種各樣的問題,這叫軟體維護,或者服務運營。這一系列過程就是軟體的生命週期,在這一週期中,有人得負責軟體專案的管理。

軟體開發的不同階段:

1、玩具階段

2、業餘愛好階段

3、探索階段

4、成熟的產業階段

1.2 軟體工程是什麼

人們在開發、運營、維護軟體的過程中有很多技術、做法、習慣和思想體系。軟體工程把這些相關的技術和過程統一到乙個體系中,叫「軟體開發流程」。軟體開發流程的目的是為了提高軟體開發、運營、維護的效率,並提高軟體按的質量、使用者滿意度、可靠性和軟體的可維護性。

1.2.1軟體的特殊性

軟體是可以執行在計算機及電子裝置中的指令和資料的有序集合,可以按照下面的進行分類:

系統軟體:作業系統、裝置驅動程式、工作軟體等

惡意軟體:軟體病毒等 

軟體開發過程中,遇到的難題:

1、複雜性

2、不可見性

3、易變性

4、服從性

5、非連續性

以上特性是由軟體的本質決定的,軟體還有其他特性:

有許多不同的程式語言、軟體工具和軟體開發平台

存在許多不同的軟體開發流程

軟體團隊中存在許多不同的角色

軟體既可以存在磁帶上,也可以存在cd/***上

1.2.2軟體工程的目標——創造「足夠好」的軟體

什麼是好軟體?其實就是軟體沒有缺陷。而軟體工程,其實就是將軟體中的bug消滅掉的過程。bug的多少可以直接衡量乙個軟體的開發效率、使用者滿意度、可靠性和可維護性。

使用者滿意度:使用者在使用時發現了軟體的很多問題,影響了使用者使用軟體的效率。

軟體流程的質量:軟體團隊和開發流程的問題太多,導致團隊成員無法互相協作,按時交付軟體。這也可以說是軟體團隊的bug

任務二:p18-2

q1:需求分析師需要掌握哪方面的知識,需要具備計算機方面的什麼能力?

q2:什麼規模的專案必須使用專業的測試人員?小專案能否使用專案組成員替代專業測試人員進行測試工作?

q3:pm需要強大的編碼能力麼?在軟體公司,什麼職能職位的人,可以晉公升到pm?

q4:在軟體測試過程中,遇到難以解決的bug,修改代價很大 ,是盡力解決還是放棄解決?

q5:書中描述:穩定和發布階段,有乙個模組不能實現使用者需求,時間快到了,可以砍掉該功能。問砍掉功能,不能實現使用者需求,這種做法可取麼?

任務三:p18-3

購物軟體:京東、**、毒、識貨

生活軟體:12306、美團、餓了麼、滴滴出行、肯德基

構建之法現代軟體工程第一章

1.1 軟體 程式 軟體工程 程式 資料結構 演算法 軟體工程的目標是開發出足夠好的軟體,而非完美的軟體。基礎知識領域 計算機基礎 數學基礎 工程基礎。程式 指的是源程式,就是一行行的 它們是建立在資料結構上的一些演算法。程式還要對資料進行操作這些資料有些是靜態的,有些是動態的。軟體構建 乙個複雜的...

軟體工程第一章總結

軟體工程是一門研究用工程化方法構建和維護有效的 實用的和高質量的軟體的學科。它涉及程式語言 資料庫 軟體開發工具 系統平台 標準 設計模式等方面。從定義中,我很難區分這門課究竟是一門偏理論型別的課程還是偏實戰型別的課程,而且軟體工程的課本中講的基本都是理論,在之前的一次課中,我清楚記得老師說過,軟體...

構建之法 現代軟體工程

我理解的軟體工程 軟體工程就是把系統的,有序的,可量化的方法應用到軟體的開發,運營和維護上的過程。軟體工程包含的領域有很多,軟體需求分析,軟體設計,軟體構建,軟體測試和軟體維護。我理解的軟體工程是,這必須需要乙個團隊或者乙個小組合作才能做出優秀的產品,乙個人是不可能完成的。軟體工程並不是我以前理解的...