軟件工程初學(xué)內(nèi)容:
1、軟件工程的本質(zhì):不同抽象層次之間的映射與轉(zhuǎn)換
所有軟件系統(tǒng)開(kāi)發(fā)的本質(zhì)都在于從現(xiàn)實(shí)空間的需求集合到軟件代碼之間的映射與轉(zhuǎn)換茫船,而軟件工程的本質(zhì)在于嚴(yán)格規(guī)范和采用管理手段來(lái)縮小偏差章郁,通過(guò)‘犧牲’時(shí)間來(lái)提高質(zhì)量拷恨,因此就像建筑工程一樣锦援,沒(méi)有良好的規(guī)劃與構(gòu)思無(wú)法高效而有快速地建造一棟大樓儒恋。
2剃袍、軟件工程所關(guān)注的目標(biāo)
首先黄刚,軟件工程具有兩個(gè)映射,概念映射與業(yè)務(wù)邏輯映射民效,因此軟件工程必然會(huì)關(guān)注以下問(wèn)題:抽象層次的設(shè)定憔维,每一層抽象層次的概念涛救、術(shù)語(yǔ)與表達(dá)方式、相鄰抽象層次之間如何進(jìn)行映射业扒。在完成設(shè)計(jì)思路之后检吆,其關(guān)注目標(biāo)即為功能性需求與非功能性需求。
3程储、軟件開(kāi)發(fā)中的多角色
在軟件工程項(xiàng)目中蹭沛,多人合作是必須的,因此需要每個(gè)人對(duì)自己的角色有清晰的認(rèn)識(shí)章鲤,每個(gè)人做好自己手中的工作摊灭。顧客企業(yè)將自己的需求清晰完整地表達(dá)出來(lái),軟件開(kāi)發(fā)公司對(duì)需求進(jìn)行分析败徊,實(shí)現(xiàn)現(xiàn)實(shí)空間向軟件代碼的映射帚呼,并且其中的決策者,軟件銷(xiāo)售等人員需要守好自己的環(huán)節(jié)皱蹦,做到安排合理萝挤,協(xié)力合作。
4根欧、軟件工程=最佳實(shí)踐
紙上談兵只會(huì)導(dǎo)致一敗糊涂,軟件開(kāi)發(fā)的復(fù)雜性和動(dòng)態(tài)性決定了只能通過(guò)實(shí)踐來(lái)獲取經(jīng)驗(yàn)端蛆。理論可以指導(dǎo)實(shí)踐但不能代替實(shí)踐凤粗,因此我們需要在平常多寫(xiě)代碼,不僅僅是寫(xiě)今豆,還得融合軟件工程的思想在里面嫌拣,達(dá)到潛移默化的效果。
5呆躲、軟件工程的四個(gè)核心理論概念
復(fù)用异逐、分而治之、折中插掂、演化灰瞻。
NFP:正確性、健壯性 ? ? ? ? ? ? ? 經(jīng)歷:學(xué)生信息管理系統(tǒng)
需求:用戶(hù)可在終端中輸入學(xué)生信息辅甥,該系統(tǒng)可對(duì)學(xué)生信息進(jìn)行添加酝润,刪除,排序璃弄,查找要销,修改。
程序初始化時(shí)需要對(duì)用戶(hù)的輸入信息進(jìn)行規(guī)范存儲(chǔ)夏块,因此代碼中需要一個(gè)規(guī)范輸入并存儲(chǔ)進(jìn)相應(yīng)的數(shù)據(jù)結(jié)構(gòu)的函數(shù)疏咐,而當(dāng)用戶(hù)輸入結(jié)束后讓其選擇繼續(xù)操作或是退出纤掸。由此可得流程
主界面->用戶(hù)選擇->狀態(tài)轉(zhuǎn)移->特定需求解決->返回主界面->用戶(hù)選擇......
由于命令行輸入比較簡(jiǎn)陋,因此需要用戶(hù)按照一定的格式進(jìn)行輸入浑塞,比如當(dāng)用戶(hù)輸入姓名時(shí)借跪,程序會(huì)將用戶(hù)所輸入的名字以char 數(shù)組類(lèi)型存儲(chǔ),但是若用戶(hù)在輸入姓名時(shí)不小心輸入了錯(cuò)誤的信息缩举,比如張@飛垦梆,程序依舊會(huì)將其作為姓名,剛開(kāi)始我的處理是對(duì)此不作糾錯(cuò)仅孩,因此程序的正確性比較差托猩,后來(lái)加了一段代碼對(duì)用戶(hù)的輸入進(jìn)行了檢查,對(duì)于姓名中含有特殊標(biāo)點(diǎn)符號(hào)的直接提示錯(cuò)誤讓用戶(hù)重新輸入辽慕,這樣提高了程序的正確性京腥。對(duì)于健壯性來(lái)說(shuō),剛開(kāi)始的程序?qū)τ趯W(xué)號(hào)要是輸入一些字母會(huì)導(dǎo)致程序崩潰溅蛉,排查后發(fā)現(xiàn)是沒(méi)考慮到類(lèi)型轉(zhuǎn)換公浪,因此修改后健壯性得到了提高。對(duì)于正確性由于技術(shù)水平的限制船侧,無(wú)法做到讓用戶(hù)自由輸入信息的欠气,因此作了折中取舍,讓其按照一定格式輸入镜撩,并且不能讓其無(wú)限制輸入预柒。驗(yàn)證則用到了一個(gè)測(cè)試函數(shù),直接隨機(jī)生成字母姓名與學(xué)號(hào)對(duì)程序進(jìn)行輸入袁梗,驗(yàn)證了猜測(cè)宜鸯。