第一篇:軟件工程
1.軟件工程:是指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的工程學(xué)科
2.軟件危機(jī):是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題
3.軟件過程:是為了開發(fā)出高質(zhì)量的軟件產(chǎn)品所需完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟
4.軟件生命周期:是指從軟件定義、開發(fā)、使用、信息”。此外,系統(tǒng)還應(yīng)該具有“定時(shí)取樣生理信號(hào)”、“更新日志”和“產(chǎn)生病情報(bào)告”的功能。為了分析病人生理信號(hào)是否超出了醫(yī)生規(guī)定的安全范圍,應(yīng)該存儲(chǔ)“患者安全范圍”信息。此外,定時(shí)記錄病人生理信號(hào)所形成的“患者日志”,顯然也是一個(gè)數(shù)據(jù)存 儲(chǔ)。
23.軟件危機(jī)有那些典型表現(xiàn)?
(1)央一個(gè)索引號(hào))。
針對(duì)若干個(gè)不同的NAME重復(fù)執(zhí)行上述命令序列。
?測(cè)試系統(tǒng)非正常操作的測(cè)試數(shù)據(jù) ①用過長的關(guān)鍵字作為命令b的參數(shù):例如,b(reliability software and hardware combined)
預(yù)期的輸出:系統(tǒng)截短過長的關(guān)鍵字,例如,上列命令中的關(guān)鍵字可能性被截預(yù)期的輸出:X=1,Y=20,Z=3 ④ 3個(gè)判定表達(dá)式依次為假、真、真 輸入:A=1,B=40,C=60 預(yù)期的輸出:X=1,Y=20,Z=30 ⑤ 3個(gè)判定表達(dá)式依次為真、假、假 輸入:A=20,B=1,C=1 預(yù)期的輸出:X=10,Y=2,Z=3 ⑥ 3個(gè)判定表達(dá)式依次為真、假、真 輸入:A=20,B=1,C=60 對(duì)軟件開發(fā)成本和進(jìn)度的估計(jì)常常很不準(zhǔn)確。維護(hù)到淘汰的全過程
5.軟件工程環(huán)境:方法與工具的結(jié)合,加上配套的軟、硬件支持稱為軟件工程環(huán)境
6.模塊:是數(shù)據(jù)說明、可執(zhí)行語句等程序?qū)ο蟮募?.模塊化:是按規(guī)定的原則將一個(gè)大型軟件分為一個(gè)個(gè)較小的、相對(duì)獨(dú)立但又相關(guān)的模塊
8.耦合:是對(duì)一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量
9.內(nèi)聚:標(biāo)志著一個(gè)模塊內(nèi)各個(gè)元素彼此結(jié)合的緊密程度
10.結(jié)構(gòu)程序設(shè)計(jì):如果一個(gè)程序的代碼塊只有一個(gè)入口和一個(gè)出口,則稱這個(gè)程序是結(jié)構(gòu)化的11.實(shí)現(xiàn):通常指編碼和測(cè)試
12.軟件可靠性:是指程序在給定的時(shí)間間隔內(nèi),按照規(guī)格說明書的規(guī)定成功地運(yùn)行地概率
13.集成測(cè)試:是測(cè)試和組裝軟件的系統(tǒng)化技術(shù) 14.軟件維護(hù):是指軟件已經(jīng)交付使用之后,為了改正錯(cuò)誤或滿足新的需要而修改軟件的過程
15.對(duì)象:在應(yīng)用領(lǐng)域中有意義的、與所解決的問題有關(guān)系的任何事物
16.對(duì)象模型:表示靜態(tài)的、結(jié)構(gòu)化的系統(tǒng)的“數(shù)據(jù)”性質(zhì)
17.功能模型:表示變化的系統(tǒng)的“功能”性質(zhì) 18.面向?qū)ο蠓治觯壕褪浅槿『驼碛脩粜枨蟛⒔栴}域精確模型的過程
19.重用:是指同一事物不作修改或者稍加改動(dòng)就多次重復(fù)使用
20.可行性分析包括:技術(shù)可行性、經(jīng)濟(jì)可行性、操作可行性
21.北京某高??捎玫碾娫捥?hào)碼有以下幾類:校內(nèi)電話號(hào)碼由 4 位數(shù)字組成??定義上述電話號(hào)碼
電話號(hào)碼=[校內(nèi)電話號(hào)碼|校外電話號(hào)碼]
校內(nèi)電話號(hào)碼=非零數(shù)字+ 3 位數(shù)字 //后面繼續(xù)定義 校外電話號(hào)碼=[本市號(hào)碼|外地號(hào)碼] 本市號(hào)碼=數(shù)字零+8 位數(shù)字
外地號(hào)碼=數(shù)字零+3 位數(shù)字+8 位數(shù)字 非零數(shù)字=[1|2|3|4|5|6|7|8|9] 數(shù)字零=0位數(shù)字=3{數(shù)字}3//3 至 3 個(gè)數(shù)字 8 位數(shù)字=非零數(shù)字+7 位數(shù)字 7 位數(shù)字=7{數(shù)字}7 數(shù)字=[0|1|2|3|4|5|6|7|8|9]
22.目前住院的病人主要由護(hù)士護(hù)理,這樣做不僅需要大量護(hù)士??寫出問題定義,分析可行性 從問題陳述可知,本系統(tǒng)數(shù)據(jù)源點(diǎn)是“病人”和“護(hù)士”,他們分別提供生理信號(hào)和要求病情報(bào)告的信息。進(jìn)一步分析問題陳述,從系統(tǒng)應(yīng)該“定時(shí)記錄病人情況以形成患者日志”這項(xiàng)要求可以想到,還應(yīng)該有一個(gè)提供日期和時(shí)間信息的“時(shí)鐘”作為數(shù)據(jù)源點(diǎn)。從問題陳述容易看出,本系統(tǒng)的數(shù)據(jù)終點(diǎn)是接收警告信息和病情報(bào)告的護(hù)士。系統(tǒng)對(duì)病人生理信號(hào)的處理功能主要是“接收信號(hào)”、“分析信號(hào)”和“產(chǎn)生警告
(2)用戶對(duì)“已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常
發(fā)生。
(3)軟件產(chǎn)品的質(zhì)量往往靠不住。(4)軟件常常是不可維護(hù)的。(5)軟件通常沒有適當(dāng)?shù)奈臋n資料。(6)軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例
逐年上升。(7)軟件開發(fā)生產(chǎn)率提高的速度,遠(yuǎn)遠(yuǎn)跟不上計(jì)算
機(jī)應(yīng)用迅速普及深入的趨勢(shì)
25.銀行計(jì)算機(jī)存儲(chǔ)系統(tǒng)的工作過程大致如下:??請(qǐng)用數(shù)據(jù)流圖描繪本系統(tǒng)的功能,并用實(shí)體—聯(lián)系圖描繪系統(tǒng)中的數(shù)據(jù)對(duì)象 26.復(fù)印機(jī)的工作過程大致如下:未接到復(fù)印命令時(shí)處于閑置狀態(tài)??請(qǐng)用狀態(tài)轉(zhuǎn)換圖描繪復(fù)印機(jī)的行為
27.用面向數(shù)據(jù)流的方法設(shè)計(jì)下列系統(tǒng)的軟件結(jié)構(gòu)
(1)機(jī)票預(yù)定系統(tǒng)(2)患者監(jiān)護(hù)系統(tǒng) 28.耦合包括數(shù)據(jù)耦合、控制耦合、公共環(huán)境耦合、內(nèi)容耦合29.內(nèi)聚包括功能內(nèi)聚、順序內(nèi)聚、通信內(nèi)聚、過程內(nèi)聚、時(shí)間內(nèi)聚、邏輯內(nèi)聚、偶然內(nèi)聚
30.美國某大學(xué)有200名教師,校方與教師工會(huì)剛剛簽訂一項(xiàng)協(xié)議。按照協(xié)議??
31.畫出下列偽代碼的流程圖,計(jì)算它的環(huán)形復(fù)雜度
?
32.某圖書館有一個(gè)使用CET
終端的信息檢索系統(tǒng),該系統(tǒng)有下列4個(gè)基本檢索命令:
(1)設(shè)計(jì)測(cè)試數(shù)據(jù)以全面系統(tǒng)的正常操作
(2)設(shè)計(jì)測(cè)試數(shù)據(jù)以測(cè)試系統(tǒng)的非正常操作
解:?測(cè)試系統(tǒng)正常操作的測(cè)試數(shù)據(jù) ①順序執(zhí)行下列3個(gè)命令:b(KEYWORD)s(L)d(N)
其中KEYWORD是正確的關(guān)鍵字;L是執(zhí)行命令b后在屏幕上顯示的約20個(gè)行號(hào)中的一個(gè)(至少應(yīng)該使L分別為第一個(gè)、最后一個(gè)和中央一個(gè)行號(hào));N是執(zhí)行命令s后列出的索引號(hào)中的一個(gè)(至少應(yīng)該使N分別為第一個(gè)、最后一個(gè)和中央一個(gè)索引號(hào))。
針對(duì)若干個(gè)不同的KEYWORD重復(fù)執(zhí)行上述命令序列。
②順序執(zhí)行下列2個(gè)命令:f(NAME)d(N)
其中,NAME是已知的作者姓名;N是執(zhí)行命令f后列出的索引號(hào)中的一個(gè)(至少應(yīng)該使N分別為第一個(gè)、最后一個(gè)和中
短為reliability software
②用不正確的關(guān)鍵字作為命令b的參數(shù):例如,b(AARDVARK)
預(yù)期的輸出:顯示出最接近的匹配結(jié)果,例如,執(zhí)行上列命令后可能顯示 1.AARON,JULES(book)③用比執(zhí)行命令b后列出的最大行號(hào)大1的數(shù)作為命令s的參數(shù)
預(yù)期的輸出:“命令s的參數(shù)不在行號(hào)列表中”
④用數(shù)字和標(biāo)點(diǎn)符號(hào)作為命令b和命令f的參數(shù)
預(yù)期的輸出:“參數(shù)類型錯(cuò)”
⑤用字母字符作為命令s和命令d的參數(shù) 預(yù)期的輸出:“參數(shù)類型錯(cuò)”
⑥用0和負(fù)數(shù)作為命令s和命令d的參數(shù) 預(yù)期的輸出:“參數(shù)數(shù)值錯(cuò)” ⑦命令順序錯(cuò):例如,沒執(zhí)行命令b就執(zhí)行命令s,或沒執(zhí)行命令s就執(zhí)行命令d 預(yù)期的輸出:“命令順序錯(cuò)”
⑧命令語法錯(cuò):例如,遺漏命令名b、s、d或f;或命令參數(shù)沒用圓括號(hào)括起來 預(yù)期的輸出:“命令語法錯(cuò)” ⑨命令參數(shù)空:例如,b()、s()、d或f()
預(yù)期的輸出:系統(tǒng)提供默認(rèn)參數(shù)或給出出錯(cuò)信息
⑩使用拼錯(cuò)了的作者姓名作為f的參數(shù) 預(yù)期的輸出:“找不到這們作者的著作”
33.(2)答:經(jīng)驗(yàn)表明,在類似的程序中,單位長度
里的錯(cuò)誤數(shù)ET/IT近似為常數(shù)。美國的一些統(tǒng)計(jì)數(shù)字告訴我們,通常
0.5X10-2≤ ET/IT ≤2X10-2
也就是說,在測(cè)試之前每1000條指令中大約有5~20個(gè)錯(cuò)誤。
假設(shè)在該程序的每1000條指令中有10個(gè)錯(cuò)誤,則估計(jì)在對(duì)它進(jìn)行測(cè)試期間將發(fā)現(xiàn)的錯(cuò)誤數(shù)為
5000X10/1000=50(個(gè))(3)① 使3個(gè)判定表達(dá)式之值全為假 輸入:A=1,B=1,C=1 預(yù)期的輸出:X=1,Y=2,Z=3 ② 使3個(gè)判定表達(dá)式之值全為真 輸入:A=20,B=40,C=60 預(yù)期的輸出:X=10,Y=20,Z=30 ① 3個(gè)判定表達(dá)式之值全為假 輸入:A=1,B=1,C=1 預(yù)期的輸出:X=1,Y=2,Z=3 ② 3個(gè)判定表達(dá)式依次為假、假、真 輸入:A=1,B=1,C=60 預(yù)期的輸出:X=1,Y=2,Z=30 ③ 3個(gè)判定表達(dá)式依次為假、真、假 輸入:A=1,B=40,C=1
預(yù)期的輸出:X=10,Y=2,Z=30 ⑦ 3個(gè)判定表達(dá)式依次為真、真、假 輸入:A=20,B=40,C=1 預(yù)期的輸出:X=10,Y=20,Z=3 ⑧ 3個(gè)判定表達(dá)式全為真 輸入:A=20,B=40,C=60 預(yù)期的輸出:X=10,Y=20,Z=30 34.軟件的可維護(hù)性與哪些因素有關(guān):軟件的可理解性、可測(cè)試性、可修改性、文檔描述符合要求、用戶文檔簡潔明確、系統(tǒng)文檔完整并且標(biāo)準(zhǔn)
35.面向?qū)ο蠓椒ㄊ且环N運(yùn)用對(duì)象、類、繼承、封裝、聚合、消息、多態(tài)等概念來構(gòu)造系統(tǒng)的軟件開發(fā)方法。
面向?qū)ο蠓椒ǖ膬?yōu)點(diǎn)是:符合人們習(xí)慣的思維方式、穩(wěn)定性好、可重用性好、可維護(hù)性好、容易開發(fā)大型的軟件產(chǎn)品
第二篇:軟件工程
1.軟件危機(jī)的概念 系統(tǒng)的數(shù)據(jù)要求,功能需求,性能需求,顯示出程序的輪廓。
軟件危機(jī)是指在計(jì)算機(jī)軟件開發(fā)、使用與可靠性需求,可用性需求,出錯(cuò)處理需求,混合方式
維護(hù)過程中遇到的一系列嚴(yán)重問題和難接口需求,約束,逆向需求以及將來可能優(yōu)點(diǎn):綜合了以上兩種策略的長處 題。提出的需求。9.確認(rèn)測(cè)試
補(bǔ)充: 5.常使用的圖形工具 確認(rèn)測(cè)試又稱有效性測(cè)試。有效性測(cè)試是
1.軟件危機(jī)的表現(xiàn)有哪些? 實(shí)體-聯(lián)系圖,數(shù)據(jù)流圖,狀態(tài)轉(zhuǎn)換圖,在模擬的環(huán)境下,運(yùn)用黑盒測(cè)試的方法,答:1)對(duì)軟件開發(fā)成本和進(jìn)度的估計(jì)常層次方框圖,warnier圖,IPO圖。驗(yàn)證被測(cè)軟件是否滿足需求規(guī)格說明書常很不準(zhǔn)確。第五章 列出的需求。任務(wù)是驗(yàn)證軟件的功能和性
2)用戶對(duì)已完成的軟件不滿意1.總體設(shè)計(jì)的任務(wù) 能及其他特性是否與用戶的要求一致。對(duì)的現(xiàn)象時(shí)有發(fā)生。劃分出組成系統(tǒng)的物理元素——程序、文軟件的功能和性能要求在軟件需求規(guī)格
3)軟件產(chǎn)品的質(zhì)量往往是靠不件、數(shù)據(jù)庫、人工過程和文檔等等 說明書中已經(jīng)明確規(guī)定,它包含的信息就住的。設(shè)計(jì)軟件的結(jié)構(gòu)。也就是要確定系統(tǒng)中每是軟件確認(rèn)測(cè)試的基礎(chǔ)。
4)軟件常常是不可維護(hù)的。個(gè)程序是由哪些模塊組成的,以及這些模10.什么是白盒測(cè)試,其測(cè)試技術(shù)有那些,5)軟件通常沒有適當(dāng)?shù)奈臋n資塊相互間的關(guān)系。覆蓋標(biāo)準(zhǔn)的強(qiáng)弱程度
料。2.模塊化思想 白盒測(cè)試是一種測(cè)試用例設(shè)計(jì)方法,盒子
6)軟件成本在計(jì)算機(jī)系統(tǒng)總成就是把程序劃分成獨(dú)立命名且可獨(dú)立訪指的是被測(cè)試的軟件,白盒指的是盒子是本中所占比例逐年上升。問的模塊,每個(gè)模塊完成一個(gè)子功能,把可視的,你清楚盒子內(nèi)部的東西以及里面
7)軟件開發(fā)生產(chǎn)率提高的速度這些模塊集成起來構(gòu)成一個(gè)整體,可以完是如何運(yùn)作的?!鞍缀小狈ㄈ媪私獬绦騼?nèi)遠(yuǎn)跟不上日益增長的軟件需求。成指定的功能滿足用戶的需求。部邏輯結(jié)構(gòu)、對(duì)所有邏輯路徑進(jìn)行測(cè)試。
2.產(chǎn)生軟件危機(jī)的原因主要有哪些? 3.衡量模塊獨(dú)立的標(biāo)準(zhǔn)(內(nèi)聚和耦合的白盒測(cè)試的測(cè)試方法有代碼檢查法、靜態(tài)答:1)用戶對(duì)軟件需求的描述不精確。含義,種類)結(jié)構(gòu)分析法、靜態(tài)質(zhì)量度量法、邏輯覆蓋
2)軟件開發(fā)人員對(duì)用戶需求的內(nèi)聚:標(biāo)志著每一個(gè)模塊內(nèi)各個(gè)元素彼此法、基本路徑測(cè)試法、域測(cè)試、符號(hào)測(cè)試、理解有偏差。結(jié)合的緊密程度,是信息隱藏和局部化概路徑覆蓋和程序變異。
3)缺乏處理大型軟件項(xiàng)目的經(jīng)念的自然拓展。偶然內(nèi)聚,邏輯內(nèi)聚,時(shí)種覆蓋標(biāo)準(zhǔn):語句覆蓋、判定覆蓋、條件驗(yàn)。間內(nèi)聚,功能內(nèi)聚,順序內(nèi)聚,通信內(nèi)聚,覆蓋、判定/條件覆蓋、條件組合覆蓋和
4)開發(fā)大型軟件易產(chǎn)生疏漏和過程內(nèi)聚。路徑覆蓋發(fā)現(xiàn)錯(cuò)誤的能力呈由弱至強(qiáng)的錯(cuò)誤。耦合:是對(duì)一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間變化。
5)缺乏有力的方法學(xué)的指導(dǎo)和互連程度的度量。數(shù)據(jù)耦合,控制耦合,11.什么時(shí)候黑盒測(cè)試,其測(cè)試技術(shù)有哪有效的開發(fā)工具的支持。特征耦合,公共環(huán)境耦合,內(nèi)容耦合。些,(等價(jià)劃分,邊介值分析法)
6)面對(duì)日益增長的軟件需求,4.啟發(fā)式規(guī)則 黑盒測(cè)試也稱功能測(cè)試,它是通過測(cè)試來人們顯得力不從心。1.改進(jìn)軟件結(jié)構(gòu)提高模塊的獨(dú)立性檢測(cè)每個(gè)功能是否都能正常使用。
2軟件的概念 2.模塊規(guī)模應(yīng)該適中等價(jià)類劃分的辦法是把程序的輸入域劃完成特點(diǎn)功能的程序以及數(shù)據(jù)結(jié)構(gòu)和文 3.深度、寬度、扇出和扇入都應(yīng)適當(dāng) 分成若干部分(子集),然后從每個(gè)部分檔 4.模塊的作用范圍應(yīng)在控制范圍之內(nèi)中選取少數(shù)代表性數(shù)據(jù)作為測(cè)試用例
3.軟件工程的基本原理 5.力爭降低模塊接口的復(fù)雜程度 邊界值分析是通過選擇等價(jià)類邊界的測(cè)
1.用分階段的生命周期計(jì)劃嚴(yán)格管理 6.設(shè)計(jì)單入口單出口的模塊試用例。邊界值分析法不僅重視輸入條件
2.堅(jiān)持進(jìn)行階段評(píng)審 7.模塊功能應(yīng)該可以預(yù)測(cè) 邊界,而且也必須考慮輸出域邊界。它是
3.實(shí)行嚴(yán)格的產(chǎn)品控制 5.面向數(shù)據(jù)流的設(shè)計(jì)方法把信息流映射對(duì)等價(jià)類劃分方法的補(bǔ)充。
4.采用現(xiàn)代程序設(shè)計(jì)技術(shù) 成軟件結(jié)構(gòu) 12.軟件調(diào)試技術(shù)有哪些
5.結(jié)果應(yīng)能清楚地審查 信息流:變換流,事物流 蠻干法,蠻干法可能是尋找軟件錯(cuò)誤原因
6.開發(fā)小組的人員應(yīng)該少而精 映射:變換分析,事物分析 的最低效的方法,僅當(dāng)所有其他方法都
7.承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性失敗的情況下才使用。
4軟件生命周期分成哪幾個(gè)階段?各階第六章 回溯法,回溯法是一種相當(dāng)常用的調(diào)試方段的任務(wù)是什么? 1.詳細(xì)設(shè)計(jì)的基本任務(wù) 法,當(dāng)調(diào)試小程序時(shí)很有效。從發(fā)現(xiàn)癥
1.問題定義: 1.為每個(gè)模塊確定采用的算法。2.確定狀的地方開始,人工沿程序的控制流往回
2.可行性研究:研究問題的范圍,探索這每一模塊使用的數(shù)據(jù)結(jié)構(gòu)追蹤分析源程序代碼,知道找出錯(cuò)誤原因個(gè)問題是否值得去解決,是否有可行的解3.確定模塊接口的細(xì)節(jié),包括對(duì)系統(tǒng)外為止。
決方法。部的接口和用戶界面,對(duì)系統(tǒng)內(nèi)部其 原因排除法,對(duì)分查找法、歸納法、演繹
3.需求分析:主要是確定目標(biāo)系統(tǒng)必須具它模塊的接口,以及關(guān)于模塊輸入數(shù)據(jù)、法都屬于原因排除法。
備哪些功能 輸出數(shù)據(jù)及局部數(shù)據(jù)的全部細(xì)節(jié)。13.軟件可靠性(可靠性和可用性的含義)
4.總體設(shè)計(jì): 4.為每一模塊設(shè)計(jì)出一組測(cè)試用例。
5.詳細(xì)設(shè)計(jì):就是把解法具體化,設(shè)計(jì)出2.程序的三種基本結(jié)構(gòu)
程序的詳細(xì)規(guī)格說明。順序結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu)
6.編碼和單元測(cè)試:寫出正確的容易理解3.詳細(xì)設(shè)計(jì)的工具
容易維護(hù)的程序模塊。1.圖形工具
7.綜合測(cè)試:通過各種類型的測(cè)試使軟件2.表格工具
達(dá)到預(yù)定的要求 3.語言工具
8.軟件維護(hù):通過各種必要的維護(hù)活動(dòng)使4.jackson方法
系統(tǒng)持久地滿足用戶的需要。(改正性維5.復(fù)雜性度量的方法
護(hù),適應(yīng)性維護(hù),完善性維護(hù),預(yù)防性維Halstead方法:它根據(jù)程序中運(yùn)算符和
護(hù))操作數(shù)的總數(shù)來度量程序的復(fù)雜程度
5.瀑布模型,快速原型模型,增量模型,McCabe方法 :McCabe方法根據(jù)程序控制
螺旋模型的特點(diǎn) 流的復(fù)雜程度定量度量程序的復(fù)雜程度,瀑布模型階:段時(shí)間具有順序性和依賴第七章
性。推遲現(xiàn)實(shí)的觀點(diǎn)。質(zhì)量保證的觀點(diǎn)。1.選擇程序設(shè)計(jì)語言應(yīng)考慮哪些因素
快速原型模型:軟件產(chǎn)品的開發(fā)基本上是1.系統(tǒng)用戶的要求
線性順序進(jìn)行的,本質(zhì)是“快速”加速軟2.可以使用的編譯程序
件的開發(fā)過程,節(jié)約軟件開發(fā)成本。3.可以得到的軟件工具
增量模型:能在較短時(shí)間內(nèi)向用戶提交可4.工程規(guī)模
完成部分工作的產(chǎn)品。逐步增加產(chǎn)品功5.程序員的知識(shí)
能,可以使用戶有較充裕的時(shí)間學(xué)習(xí)和適6.軟件可移植性要求
應(yīng)新產(chǎn)品,從而減少一個(gè)全新的軟件可能7.軟件的應(yīng)用領(lǐng)域
給客戶組織帶來的沖擊。2.良好的編程風(fēng)格包括哪些方面
螺旋模型:對(duì)可選方案和約束條件的強(qiáng)調(diào)1.程序內(nèi)部的文檔2.數(shù)據(jù)說明 3.語句構(gòu)
有利于已有軟件的重用,也有助于把軟件造4.輸入輸出 5.效率
質(zhì)量作為軟件開發(fā)的一個(gè)重要目標(biāo)。減少3軟件測(cè)試的目標(biāo)
了過多的測(cè)試或測(cè)試不足帶來的風(fēng)險(xiǎn)。更目的:(1)測(cè)試是為了發(fā)現(xiàn)程序中的錯(cuò)誤
重要的是在螺旋模型中維護(hù)只是模型的而執(zhí)行程序的過程;
另一個(gè)周期,在維護(hù)和開發(fā)之間并沒有本(2)好的測(cè)試方案是極可能發(fā)現(xiàn)迄今為
質(zhì)區(qū)別。風(fēng)險(xiǎn)驅(qū)動(dòng)的。止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試方案;
(3)成功的測(cè)試是發(fā)現(xiàn)了至今為止尚未
第二章 發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。
1.可行性研究的目的 定義:為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序
就是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)的過程。
確定問題是否能夠解決。補(bǔ)充:
補(bǔ)充: 軟件測(cè)試步驟 :
可行性研究的步驟 :(1)模塊測(cè)試(2)子系統(tǒng)測(cè)試(3)系統(tǒng)
1.復(fù)查系統(tǒng)規(guī)模和目標(biāo)。測(cè)試(4)驗(yàn)收測(cè)試(5)平行運(yùn)行
2.研究現(xiàn)有的系統(tǒng)。4.確定測(cè)試計(jì)劃是在哪個(gè)階段制定的3.導(dǎo)出新系統(tǒng)高層邏輯模型。5.黑盒測(cè)試和白盒測(cè)試的概念
4.進(jìn)一步定義問題黑盒測(cè)試
5.導(dǎo)出和評(píng)價(jià)供選擇的解法。1把程序看作一個(gè)黑盒子,完全不考慮程
6.推薦行動(dòng)方針序的內(nèi)部結(jié)構(gòu)和處理過程
7.草擬開發(fā)計(jì)劃2對(duì)程序接口進(jìn)行測(cè)試,檢查程序功能是
8.書寫文檔提交審查 否能按規(guī)格說明書的規(guī)定正常使用;
程序是否能適當(dāng)?shù)亟邮茌斎霐?shù)據(jù)并產(chǎn)生
2.系統(tǒng)流程圖的作用 正確的輸出信息;
系統(tǒng)流程圖是描繪物理系統(tǒng)的傳統(tǒng)工具,程序運(yùn)行過程中能否保持外部信息的完
它用圖形符號(hào)來表示系統(tǒng)中的各個(gè)部件。整性
它表達(dá)了系統(tǒng)中各個(gè)元素之間的信息流白盒測(cè)試
動(dòng)的情況。1把程序堪稱裝在一個(gè)透明的白盒子里,3.數(shù)據(jù)流圖的概念 測(cè)試者完全知道程序的結(jié)構(gòu)處理算法
數(shù)據(jù)流圖是一種圖形化技術(shù),它描繪信息2按照程序內(nèi)部的邏輯測(cè)試程序,檢測(cè)程
流和數(shù)據(jù)從移動(dòng)到輸出的過程中所經(jīng)受序中的主要執(zhí)行通路是否都能按的變換。預(yù)定要求正確工作
4.數(shù)據(jù)流圖里面的符號(hào),畫數(shù)據(jù)流圖。6.測(cè)試的步驟及每個(gè)步驟形成的文檔
5.數(shù)據(jù)字典最基本的功能,以及與數(shù)據(jù)流單元測(cè)試:(模塊測(cè)試)發(fā)現(xiàn)的往往是編
圖的關(guān)系。碼和詳細(xì)設(shè)計(jì)的錯(cuò)誤
最基本的功能:在軟件分析和設(shè)計(jì)的過程集成測(cè)試:著重測(cè)試模塊的接口 中給人提供關(guān)于數(shù)據(jù)的描述信息。
關(guān)系:數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)系統(tǒng)測(cè)試:發(fā)現(xiàn)的往往是軟件設(shè)計(jì)中的錯(cuò)的邏輯模型,沒有數(shù)據(jù)字典,數(shù)據(jù)流圖就誤,也可能發(fā)現(xiàn)需要說明中的錯(cuò)誤 不嚴(yán)格,然而沒有數(shù)據(jù)流圖,數(shù)據(jù)字典也驗(yàn)收測(cè)試:(確認(rèn)測(cè)試)往往發(fā)現(xiàn)需求說難于發(fā)揮作用。只有數(shù)據(jù)流圖和對(duì)數(shù)據(jù)流明書中的錯(cuò)誤 圖中每個(gè)元素的精確定義放在一起,才能7.漸增式和非漸增式的區(qū)別 共同構(gòu)成系統(tǒng)的規(guī)格說明?!胺菨u增式”,即先獨(dú)立地測(cè)試每一模塊,第三章 然后將所有這些模塊連接到一起運(yùn)行; 1.需求分析屬于哪一個(gè)階段,任務(wù)是什“漸增式”,即在已測(cè)試過的N個(gè)模塊的么?;A(chǔ)上再增加一個(gè)模塊,再對(duì)N十1個(gè)模需求分析是軟件定義時(shí)期的最后一個(gè)階塊進(jìn)行測(cè)試。段.漸增式比非漸增式優(yōu)越,因?yàn)橛脻u增式,1.確定對(duì)系統(tǒng)的綜合要求(功能需求,性如果是“由頂向下”則可利用前面已測(cè)試能需求,可靠性和可用性需求,出錯(cuò)處理過的模塊,而不必另外準(zhǔn)備驅(qū)動(dòng)模塊,如需求,接口需求,約束,逆向需求,將來果是“由底向上”,也可利用已測(cè)試過的可能提出的要求)模塊,不必再準(zhǔn)備樁模塊。漸增式可以較2.分析系統(tǒng)的數(shù)據(jù)要求早地發(fā)現(xiàn)模塊界面之間的錯(cuò)誤,有利于排3.導(dǎo)出系統(tǒng)的邏輯模型 錯(cuò),檢查比較徹底 4.修正系統(tǒng)開發(fā)計(jì)劃2.需求分析的產(chǎn)品是什么 8.自頂向下,自下而上,以及混合策略的3.面向過程的分析方法主要是建立三類優(yōu)缺點(diǎn) 模型 自頂向下數(shù)據(jù)模型(按照用戶的觀點(diǎn)對(duì)數(shù)據(jù)建立的優(yōu)點(diǎn):能較早顯示整個(gè)程序的輪廓,向用模型,把用戶的數(shù)據(jù)要求清楚,準(zhǔn)確地描戶展示程序的概貌,取得用戶的理解與支述出來。描述了從用戶角度看到的數(shù)據(jù),持。缺點(diǎn):當(dāng)測(cè)試上層模塊時(shí)因使用樁它反應(yīng)了用戶的現(xiàn)實(shí)環(huán)境,屬性,聯(lián)系),模塊較多,很難模擬出真實(shí)模塊的全部功功能模型,行為模型(通過描繪系統(tǒng)的狀能,使部分測(cè)試內(nèi)容被迫推遲,只能等待態(tài)及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件來表示系換上真實(shí)模塊后再補(bǔ)充測(cè)試。統(tǒng)的行為)由底向上4.軟件需求規(guī)格說明書的內(nèi)容 優(yōu)點(diǎn):測(cè)試從下層模塊開始,測(cè)試設(shè)計(jì)用通常用自然語言完整,準(zhǔn)確,具體地描述例比較容易。缺點(diǎn):在測(cè)試的早期不能
第三篇:《軟件工程》
《軟件工程》課程分析
本課程是軟件技術(shù)專業(yè)學(xué)生必修的一門專業(yè)必修課。根據(jù)培養(yǎng)軟件開發(fā)人員的需要,本課程的任務(wù)是使學(xué)生通過本課程的學(xué)習(xí),了解軟件項(xiàng)目開發(fā)和維護(hù)的一般過程,掌握軟件開發(fā)的傳統(tǒng)方法和最新方法。能在軟件工程的理論指導(dǎo)下,開發(fā)一個(gè)小型管理系統(tǒng),為今后從事軟件工程實(shí)踐打下良好的基礎(chǔ)。
一、課程分析
(一)教學(xué)計(jì)劃的制定和教學(xué)內(nèi)容的選取
根據(jù)培養(yǎng)應(yīng)用技能型人才的總目標(biāo),制訂本專業(yè)教學(xué)計(jì)劃,課程的教材配套,教學(xué)、實(shí)驗(yàn)、實(shí)訓(xùn)、課程設(shè)計(jì)大綱和指導(dǎo)書等教學(xué)文件齊全,近幾年來引入了現(xiàn)代教學(xué)技術(shù)手段,已初步建設(shè)、形成了具有特色的全套課堂教學(xué)和實(shí)驗(yàn)教學(xué)課件。
根據(jù)該課程的基本教學(xué)要求和特點(diǎn),結(jié)合學(xué)時(shí)的安排,從教材的整體內(nèi)容出發(fā),有側(cè)重地進(jìn)行取舍,篩選出學(xué)生必須掌握的基本教學(xué)內(nèi)容,較好地解決了教學(xué)中質(zhì)量與數(shù)量的矛盾。
(二)教學(xué)方法分析
由于該課程是用于指導(dǎo)軟件開發(fā)的,和實(shí)踐聯(lián)系非常緊密。所以采用了理論聯(lián)系實(shí)際的方法進(jìn)行授課。一方面,讓學(xué)生模擬軟件公司的項(xiàng)目小組進(jìn)行軟件開發(fā);一方面,對(duì)學(xué)生進(jìn)行適時(shí)的理論指導(dǎo)。既調(diào)動(dòng)了學(xué)生的積極性,又讓學(xué)生了解了該課程的理論內(nèi)容,收到了一舉兩得的效果。具體教學(xué)過程如下:
第一步:模擬軟件公司的開發(fā)項(xiàng)目小組,分組,分設(shè)角色(項(xiàng)目經(jīng)理、用戶、需求人員、設(shè)計(jì)人員、程序員、測(cè)試人員、軟件安裝培訓(xùn)維護(hù)人員),確定開發(fā)題。讓每個(gè)小組的學(xué)生聚在一起,在項(xiàng)目經(jīng)理的組織下通過調(diào)研、討論來制定自己小組的開發(fā)題目,大家感覺就象在軟件公司實(shí)習(xí)一樣,非常新鮮,感興趣。每個(gè)學(xué)生都積極主動(dòng)的去完成自己應(yīng)承擔(dān)的那部分工作。
第二步:模擬軟件項(xiàng)目開發(fā)全過程的各個(gè)階段,進(jìn)行相關(guān)的理論授課和實(shí)際開發(fā)。即對(duì)軟件開發(fā)的每一階段,首先按照教材內(nèi)容進(jìn)行理論授課,然后讓學(xué)生參照授課內(nèi)容進(jìn)行實(shí)際的軟件開發(fā)實(shí)踐。
在此階段結(jié)束后,每班召開一個(gè)模擬方案論證會(huì),由各開發(fā)小組選出代表上臺(tái)講解本組的開發(fā)方案,其他同學(xué)模擬用戶對(duì)開發(fā)方案提出意見。由于大家對(duì)模擬方案論證會(huì)非常感興趣,發(fā)言積極踴躍,論證會(huì)結(jié)束后,每個(gè)小組的設(shè)計(jì)方案都得到了很好的補(bǔ)充和完善。
第三步:學(xué)期末各小組提交各自完成的軟件系統(tǒng)及開發(fā)文檔,并進(jìn)行總結(jié)演示,由任課教師進(jìn)行講評(píng)。
抽象理論課的教學(xué)應(yīng)理論聯(lián)系實(shí)際,讓學(xué)生在實(shí)際應(yīng)用中掌握抽象的理論,在興趣中學(xué)習(xí),達(dá)到我們高職的雙向型培養(yǎng)目標(biāo)。
二、存在的問題與希望
在上述的教學(xué)中,雖然實(shí)現(xiàn)了理論聯(lián)系實(shí)際,但也存在著一些問題,比如每個(gè)項(xiàng)目小組中總有個(gè)別同學(xué)存在依賴心理,不參與項(xiàng)目開發(fā),最后抄襲別的同學(xué)的項(xiàng)目成果,自己得不到實(shí)際的鍛煉,影響了大三的畢業(yè)設(shè)計(jì)和日后的軟件開發(fā)。另外,如果該課程只上課,沒有實(shí)訓(xùn)的話,實(shí)驗(yàn)課時(shí)太少,學(xué)生很難全面完成一個(gè)系統(tǒng)的開發(fā)。
第四篇:軟件工程
軟件工程
1.談?wù)勀銓?duì)軟件工具的理解,你用過什么軟件工具
軟件工具是指為支持計(jì)算機(jī)軟件的開發(fā)、維護(hù)、模擬、移植或管理而研制的程序系統(tǒng)。它是為專門目的而開發(fā)的,在軟件工程范圍內(nèi)也就是為實(shí)現(xiàn)軟件生存期中的各種處理活動(dòng)(包括管理、開發(fā)和維護(hù))的自動(dòng)化和半自動(dòng)化面開發(fā)的程序系統(tǒng)。
開發(fā)軟件工具的最終目的是為了提高軟件生產(chǎn)率和改善軟件的質(zhì)量。
軟件工具分為六類:模擬工具、開發(fā)工具、測(cè)試和評(píng)估工具、運(yùn)行和維護(hù)工具、性能質(zhì)量工具和程序設(shè)計(jì)支持工具。
應(yīng)該是看對(duì)象來選擇測(cè)試工具!比如:
功能測(cè)試工具:WinRunner
性能測(cè)試工具:LoadRunner
內(nèi)存泄漏測(cè)試工具:Purify
單元測(cè)試工具:Junit
測(cè)試管理工具:TestDirector還有東軟的bugbaseIBM開發(fā)的 rational。
2.什么是軟件的可維護(hù)性:
軟件可維護(hù)性即維護(hù)人員對(duì)該軟件進(jìn)行維護(hù)的難易程度,具體包括理解、改正、改動(dòng)和改進(jìn)該軟件的難易程度。
決定可維護(hù)性的因素:
1.系統(tǒng)的大小
2.系統(tǒng)的年齡
3.結(jié)構(gòu)合理性
可維護(hù)性的度量:
可理解性
可測(cè)試性
可修改性
可移植性
3.軟件開發(fā)和寫程序有什么不同?軟件開發(fā)的內(nèi)容是:需求、設(shè)計(jì)、編程和 測(cè)試 維護(hù)!
需求分析
軟件需求分析就是回答做什么的問題。它是一個(gè)對(duì)用戶的需求進(jìn)行去粗取精、去偽存真、正確理解,然后把它用軟件工程開發(fā)語言(形式功能規(guī)約,即需求規(guī)格說明書)表達(dá)出來的過程。本階段的基本任務(wù)是和用戶一起確定要解決的問題,建立軟件的邏輯模型,編寫需求規(guī)格說明書文檔并最終得到用戶的認(rèn)可。需求分析的主要方法有結(jié)構(gòu)化分析方法、數(shù)據(jù)流程圖和數(shù)據(jù)字典等方法。本階段的工作是根據(jù)需求說明書的要求,設(shè)計(jì)建立相應(yīng)的軟件系統(tǒng)的體系結(jié)構(gòu),并將整個(gè)系統(tǒng)分解成若干個(gè)子系統(tǒng)或模塊,定義子系統(tǒng)或模塊間的接口關(guān)系,對(duì)各子系統(tǒng)進(jìn)行具體設(shè)計(jì)定義,編寫軟件概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)說明書,數(shù)據(jù)庫或數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)說明書,組裝測(cè)試計(jì)劃。
設(shè)計(jì)
軟件設(shè)計(jì)可以分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩個(gè)階段。實(shí)際上軟件設(shè)計(jì)的主要任務(wù)就是將軟件分解成模塊是指能實(shí)現(xiàn)某個(gè)功能的數(shù)據(jù)和程序說明、可執(zhí)行程序的程序單元??梢允且粋€(gè)函數(shù)、過程、子程序、一段帶有程序說明的獨(dú)立的程序和數(shù)據(jù),也可以是可組合、可分解和可更換的功能單元。模塊,然后進(jìn)行模塊設(shè)計(jì)。概要設(shè)計(jì)就是結(jié)構(gòu)設(shè)計(jì),其主要目標(biāo)就是給出軟件的模塊結(jié)構(gòu),用軟件結(jié)構(gòu)圖表示。詳細(xì)設(shè)計(jì)的首要任務(wù)就是設(shè)計(jì)模塊的程序流程、算法和數(shù)據(jù)結(jié)構(gòu),次要任務(wù)就是設(shè)計(jì)數(shù)據(jù)庫,常用方法還是結(jié)構(gòu)化程序設(shè)計(jì)方法。
編碼
軟件編碼是指把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序,即寫成以某一程序設(shè)計(jì)語言表示的“源程序清單”。充分了解軟件開發(fā)語言、工具的特性和編程風(fēng)格,有助于開發(fā)工具的選擇以及保證軟件產(chǎn)品的開發(fā)質(zhì)量。
測(cè)試
軟件測(cè)試的目的是以較小的代價(jià)發(fā)現(xiàn)盡可能多的錯(cuò)誤。不同的測(cè)試方法有不同的測(cè)試用例設(shè)計(jì)方法。兩種常用的測(cè)試方法是白盒法測(cè)試對(duì)象是源程序,依據(jù)的是程序內(nèi)部的的邏輯結(jié)構(gòu)來發(fā)現(xiàn)軟件的編程錯(cuò)誤、結(jié)構(gòu)錯(cuò)誤和數(shù)據(jù)錯(cuò)誤。結(jié)構(gòu)錯(cuò)誤包括邏輯、數(shù)據(jù)流、初始化等錯(cuò)誤。用例設(shè)計(jì)的關(guān)鍵是以較少的用例覆蓋盡可能多的內(nèi)部程序邏輯結(jié)果。白盒法和黑盒法依據(jù)的是軟件的功能或軟件行為描述,發(fā)現(xiàn)軟件的接口、功能和結(jié)構(gòu)錯(cuò)誤。其中接口錯(cuò)誤包括內(nèi)部/外部接口、資源管理、集成化以及系統(tǒng)錯(cuò)誤。黑盒法用例設(shè)計(jì)的關(guān)鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。黑盒法。
維護(hù)
維護(hù)是旨在已完成對(duì)軟件的研制(分析、設(shè)計(jì)、編碼和測(cè)試)工作并交付使用以后,對(duì)軟件產(chǎn)品所進(jìn)行的一些軟件工程的活動(dòng)。即根據(jù)軟件運(yùn)行的情況,對(duì)軟件進(jìn)行適當(dāng)修改,以適應(yīng)新的要求,以及糾正運(yùn)行中發(fā)現(xiàn)的錯(cuò)誤。編寫軟件問題報(bào)告、軟件修改報(bào)告。
4.什么是軟件設(shè)計(jì)的”高內(nèi)聚 低耦合”
內(nèi)聚:一個(gè)模塊內(nèi)各個(gè)元素彼此結(jié)合的緊密程度
耦合:一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量
對(duì)于低耦合,(模塊的獨(dú)立性)
一個(gè)完整的系統(tǒng),模塊與模塊之間,盡可能的使其獨(dú)立存在。也就是說,讓每個(gè)模塊,盡可能的獨(dú)立完成某個(gè)特定的子功能。模塊與模塊之間的接口,盡量的少而簡單。如果某兩個(gè)模塊間的關(guān)系比較復(fù)雜的話,最好首先考慮進(jìn)一步的模塊劃分。這樣有利于修改和組合.對(duì)于高內(nèi)聚:
在一個(gè)模塊內(nèi),讓每個(gè)元素之間都盡可能的緊密相連。也就是充分利用每一個(gè)元素的功能,各施所能,以最終實(shí)現(xiàn)某個(gè)功能。
5.case在軟件工程中的作用
CASE(Computer Aided(or Assisted)Software Engineering計(jì)算機(jī)輔助軟件工程。CASE的一個(gè)基本思想就是提供一組能夠自動(dòng)覆蓋軟件開發(fā)生命周期各個(gè)階段的集成的、減少勞動(dòng)力的工具。CASE已被證明可以加快開發(fā)速度,提高應(yīng)用軟件生產(chǎn)率并保證應(yīng)用軟件的可靠品質(zhì)。CASE工具由許多部分組成,一般我們按軟件開發(fā)的不同階段分為上層CASE和下層CASE產(chǎn)品。上層或前端CASE工具自動(dòng)進(jìn)行應(yīng)用的計(jì)劃、設(shè)計(jì)和分析,幫助用戶定義需求,產(chǎn)生需求說明,并可完成與應(yīng)用開發(fā)相關(guān)的所有計(jì)劃工作。下層或后端CASE工具自動(dòng)進(jìn)行應(yīng)用系統(tǒng)的編程、測(cè)試和維護(hù)工作。
除非下層CASE和上層CASE工具的供應(yīng)商提供統(tǒng)一界面,否則用戶必須編寫或重新將所有信息從上層CASE工具轉(zhuǎn)換到下層CASE工具。獨(dú)立的CASE工具供應(yīng)商愈來愈希望將它們的工具連接在一起建立統(tǒng)一的界面以減少用戶不必要的開發(fā)工作。
CASE工具帶來的好處
計(jì)算機(jī)專業(yè)人員利用計(jì)算機(jī)使他們的企業(yè)提高了效率,企業(yè)的各個(gè)部門通過使用計(jì)算機(jī)
提高了生產(chǎn)率和效率,增強(qiáng)了企業(yè)的競爭力并使之帶來了更多的利潤。
6.為什么要進(jìn)行軟件測(cè)試?常用的軟件測(cè)試的方法有哪些?
軟件測(cè)試的目的:盡可能發(fā)現(xiàn)并改正被測(cè)試軟件中的錯(cuò)誤,提高軟件的可靠性。
軟件測(cè)試方法主要包括單元測(cè)試,集成測(cè)試,系統(tǒng)測(cè)試,用戶測(cè)試,回歸測(cè)試。
還有就是自定而下,和自下而上的方法。
7.談?wù)勀銓?duì)保證軟件質(zhì)量的技術(shù)和方法的認(rèn)識(shí)? 1.作為一個(gè)軟件質(zhì)量保證人員需要良好的溝通能力,因?yàn)槿绻麤]有良好的溝通能力,很多問題都沒有辦法解決,原因很簡單,測(cè)試人員發(fā)現(xiàn)了bug,開發(fā)人員或項(xiàng)目經(jīng)理在怎么不理,但是他們都會(huì)想到,萬一測(cè)試人員發(fā)現(xiàn)了bug而自己忽視了,那么就有可能成為軟件里的一顆不定時(shí)地炸彈,那么作為一個(gè)開發(fā)人員或項(xiàng)目經(jīng)理對(duì)bug的重視程度肯定相對(duì)比較高,至少要看測(cè)試人員發(fā)現(xiàn)的bug,但是QA就不一定了,因?yàn)镼A保證的流程的正確的執(zhí)行,相關(guān)人員就是認(rèn)為流程不重要,只要我開發(fā)的產(chǎn)品沒有問題那就沒有問題,客戶肯定不會(huì)關(guān)注我的流程,在加上古人的名言“結(jié)果說明了一切”,所以沒有良好的溝通能力,一些問題將很難去解決,做起來就沒有成就感。
2.個(gè)人感覺比溝通能力更重要的是,堅(jiān)持原則,在遇到困難的時(shí)候,是不是還能堅(jiān)持原則,在遇到項(xiàng)目組的種種不理不睬的時(shí)候,是不是還能堅(jiān)持原則,在項(xiàng)目組不按照計(jì)劃走的時(shí)候,是不是還能堅(jiān)持原則。
3.個(gè)人心態(tài),我工作三年的經(jīng)歷告訴我,如果開發(fā)和測(cè)試相比,開發(fā)是天堂,測(cè)試是地獄的話,但如果測(cè)試和QA相比的話,那測(cè)試就是天堂,QA就是地獄,所以心態(tài)很重要,在三年里我就鍛煉成一個(gè)非常好的心態(tài),隨便怎么說CMMI沒用,隨便怎么說CMMI就是寫文檔,隨便怎么說QA真煩人,我笑容依然燦爛,從容面對(duì),而且一個(gè)QA要有堅(jiān)定的信念,如果你都不相信過程能給項(xiàng)目開發(fā)帶來好處,那你還指望誰能相信。
8.提高軟件生產(chǎn)率有哪些手段?
1.挑選精干人員(管理 計(jì)劃不好 技術(shù)搭配不當(dāng))
2.提高階段效率 3消除人工階段
4.減少重復(fù)勞動(dòng) 5.建造簡單產(chǎn)品
6.重用軟部件庫(已經(jīng)存在的軟件功能部件
9.什么是軟件的可靠性和有用性
可靠性就是指軟件運(yùn)行的穩(wěn)定性,可用性就是操作的便利性。比如一輛汽車,可靠性好應(yīng)該歸功于機(jī)械部分,可用性好則是內(nèi)飾和中控系統(tǒng)的功勞。
10什么是軟件規(guī)格說明?作用是什么?將其形式化的意義是什么?
11.什么是軟件重用?實(shí)現(xiàn)軟件重用的方法有哪些?
軟件重用,是指在兩次或多次不同的軟件開發(fā)過程中重復(fù)使用相同或相似軟件元素的過程。軟件元素包括程序代碼、測(cè)試用例、設(shè)計(jì)文檔、設(shè)計(jì)過程、需要分析文檔甚至領(lǐng)域知識(shí)。通常,可重用的元素也稱作軟構(gòu)件,可重用的軟構(gòu)件越大,重用的粒度越大。
根據(jù)軟件開發(fā)的不同階段實(shí)現(xiàn)軟件重用主要有四個(gè)途徑:
抽象:對(duì)重用對(duì)象概括提煉,從而得到能全面描述側(cè)重算法和數(shù)據(jù)結(jié)構(gòu)的軟件構(gòu)件的各部分的描述。
選擇:是對(duì)重用對(duì)象進(jìn)行存放,匹配和檢索的功能。
實(shí)例化:對(duì)數(shù)據(jù)類型中對(duì)象進(jìn)行參數(shù)的提供 轉(zhuǎn)換。
集成:
12.什么是軟件移植?你認(rèn)為構(gòu)造一個(gè)工具實(shí)現(xiàn)windows到Unix的移植有意義嗎?難大不? 軟件可移植性是指代碼可以在不同平臺(tái)間移植,我們一般說的軟件的可移植性指的是軟件可移植性,簡單的說就是指源代碼移到不同的平臺(tái)下(不同的操作系統(tǒng),例如從Windows
下移到Linux下)時(shí),需要修改的內(nèi)容越少,移植性越好。要保證軟件可移植性,就是少用或不用系統(tǒng)特有的東西,比如你用C語言編程,你可以使用C語言本身的庫,但不要用
WindowsAPI函數(shù),因?yàn)閃indowsAPI函數(shù)在Linux下是沒有的,如果想移植到Linux平臺(tái)下,使用WindowsAPI函數(shù)的部分代碼就要做出修改了。
第五篇:軟件工程
軟件工程—心得體會(huì)
摘要
本文結(jié)合基層實(shí)踐教學(xué)的實(shí)際情況和現(xiàn)實(shí)需要,系統(tǒng)地總結(jié)了《軟件工程》實(shí)踐教學(xué)的特征,詳細(xì)分析了實(shí)踐教學(xué)過程存在的問題,并提出了該課程實(shí)踐教學(xué)改革的新格式。
關(guān)鍵字:軟件工程,教學(xué)素質(zhì),軟件開發(fā),實(shí)踐,實(shí)驗(yàn)
正文
通過這學(xué)期的“軟件工程”這門課,我拓寬了知識(shí)面,鍛煉了能力,綜合素質(zhì)得到較大的提高。我覺得在大四安排這門課的學(xué)習(xí),其主要目的,在于在課堂中學(xué)到的理論知識(shí)與實(shí)際的結(jié)合,尤其是觀察、分析、解決問題的實(shí)際工作能力。軟件工程是一門研究用工程化方法構(gòu)建和維護(hù)有效的、實(shí)用的和高質(zhì)量的軟件的學(xué)科。它涉及到程序設(shè)計(jì)語言,數(shù)據(jù)庫,軟件開發(fā)工具,系統(tǒng)平臺(tái),標(biāo)準(zhǔn),設(shè)計(jì)模式等方面。在1968年第一次提出了軟件工程的概念,至今軟件工程已經(jīng)走過了30多年的歷程。在不斷發(fā)展的過程中,人類越來越加注重在軟件的開發(fā)中應(yīng)該按工程化的方法進(jìn)行開發(fā),并注重進(jìn)行軟件項(xiàng)目工程的管理。在現(xiàn)代社會(huì)中,軟件應(yīng)用于多個(gè)方面,典型的軟件比如有電子郵件,嵌入式系統(tǒng),人機(jī)界面,辦公套件,操作系統(tǒng),編譯器,數(shù)據(jù)庫,游戲等。同時(shí),各個(gè)行業(yè)幾乎都有計(jì)算機(jī)軟件的應(yīng)用,比如工業(yè),農(nóng)業(yè),銀行,航空,政府部門等,這些應(yīng)用促進(jìn)了經(jīng)濟(jì)和社會(huì)的發(fā)展,使得人們的工作更加高效,同時(shí)提高了生活質(zhì)量。
中國的軟件行業(yè)規(guī)模不是很大,有些軟件公司在軟件制作上,也只是采用了一些軟件工程的思想,與大規(guī)模的工業(yè)化大生產(chǎn)比較還是有一定的差距,原因有管理體制的問題,市場(chǎng)問題,政策問題,也有軟件工程理論不全面和不完善的問題。所以軟件工程的研究和應(yīng)用,以及中國軟件行業(yè)的進(jìn)一步發(fā)展,都需要一定的既有軟件工程的理論基礎(chǔ)和研究能力,又有一定的實(shí)踐經(jīng)驗(yàn)的軟件工程技術(shù)人員來推動(dòng)。軟件工程的前途是光明的。軟件服務(wù)外包屬于智力人才密集型現(xiàn)代服務(wù)業(yè)。大量著名外包企業(yè)落戶寧波。主要就業(yè)去向包括軟件外包與服務(wù)企業(yè)、信息產(chǎn)品與服務(wù)企業(yè),擔(dān)任程序員、軟件測(cè)試員、項(xiàng)目經(jīng)理等工作崗位
軟件工程是計(jì)算機(jī)領(lǐng)域發(fā)展最快的學(xué)科分支之一,國家非常重視軟件行業(yè)的發(fā)展,對(duì)軟件人才的培養(yǎng)給予了非常優(yōu)惠的政策。本專業(yè)培養(yǎng)掌握計(jì)算機(jī)軟件基本理論知識(shí),熟悉軟件開發(fā)和管理技術(shù)、能夠在計(jì)算機(jī)軟件領(lǐng)域中從事軟件設(shè)計(jì)、開發(fā)和管理的高級(jí)人才。軟件工程的七條原理:用分階段的生命周期計(jì)劃嚴(yán)格管理、堅(jiān)持進(jìn)行階段評(píng)審、實(shí)行嚴(yán)格的產(chǎn)品控制、采納現(xiàn)代程序設(shè)計(jì)技術(shù)、結(jié)果應(yīng)能清楚地審查、開發(fā)小組的人員應(yīng)少而精、承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性。根據(jù)這幾條原理,不僅要積極采納新的軟件開發(fā)技術(shù),還要注意不斷總結(jié)經(jīng)驗(yàn),收集進(jìn)度和消耗等數(shù)據(jù),進(jìn)行出錯(cuò)類型和問題報(bào)告統(tǒng)計(jì)。這些數(shù)據(jù)既可以用來評(píng)估新的 軟件技術(shù)的效果,也可以用來指明必須著重注意的問題和應(yīng)該優(yōu)先進(jìn)行研究的工具和技術(shù)。