1.為什么這么多專業(yè)術(shù)語沾瓦?
軟件企業(yè) = 軟件 + 商業(yè)模式
軟件 = 程序 + 軟件工程
程序 = 數(shù)據(jù)結(jié)構(gòu) + 算法
程序秽浇,即源程序。就是一行行的代碼凳厢,是建立在數(shù)據(jù)結(jié)構(gòu)上的算法雾叭。
源代碼管理(Source Code Control)悟耘,也叫配置管理(Software Configuration Management)
質(zhì)量保障(Quality Assurance)
通過工具、流程和文檔保證程序的正確性织狐。
軟件測試(Test)
軟件功能的驗證過程暂幼。
需求分析(Requirement Analysis)
分析客戶需求掘殴,梳理出合適的需求,逐步開展后續(xù)工作粟誓。
程序理解(Program Comprehension)
讀懂已有的程序奏寨,了解程序設(shè)計。
軟件維護(hù)(Software Maintenance)/ 服務(wù)運營(Service Operation)
修復(fù)軟件bug鹰服、給軟件打補(bǔ)丁病瞳、維護(hù)服務(wù)的正常運行。
軟件生命周期(Software Life Cycle悲酷,SLC)
軟件項目管理(Project Management)
用戶體驗(User Experience)
好的軟件套菜,之所以為好的軟件,不是由于它的功能比同類多或者好设易,而往往是因為它讓人感覺到好用逗柴。成功的軟件,往往贏在用戶體驗顿肺。
國際化和本地化(Globalization & Localization)
針對不同語言戏溺、不同地區(qū)、不同的用戶習(xí)慣于需求而做的處理屠尊。
2.軟件工程到底為何物旷祸?
軟件工程是把系統(tǒng)的、有序的讼昆、可量化的方法應(yīng)用到軟件的開發(fā)托享、運營和維護(hù)上的過程。
軟件開發(fā)流程:開發(fā)浸赫、運營闰围、維護(hù)軟件過程中的技術(shù)、方法既峡、習(xí)慣羡榴、思想等統(tǒng)一到一個體系,目的是提開發(fā)涧狮、運營炕矮、維護(hù)的效率么夫,提高軟件質(zhì)量者冤、用戶滿意度、可靠性和可維護(hù)性档痪。
工具的存在是為了保證流程的有效運作涉枫。
流程+工具,相輔相成腐螟。
3.軟件開發(fā)難在哪愿汰?
a)復(fù)雜性
軟件代碼行數(shù)以千計困后、數(shù)以萬計……
軟件的各模塊之間的以來關(guān)系隨著模塊的增多迅速增加。
b)不可見性
軟件工程師能直接看見源代碼衬廷,但是源代碼不是軟件本身摇予。
軟件出現(xiàn)錯誤,只能看到程序出錯的一瞬間留下的痕跡(錯誤碼吗跋、大致的目標(biāo)代碼侧戴、錯誤信息),很難復(fù)現(xiàn)程序到底出了什么問題跌宛。
c)易變性
修改軟件不修改硬件簡單
d)服從性
軟件不能獨立存在酗宋,需要運行在硬件上。
e)非連續(xù)性
微小的輸入變化疆拘,可能會引起輸出的極大變化蜕猫。