軟件工程師績(jī)效考核(細(xì)分權(quán)重)及軟件工程期中_第1頁(yè)
軟件工程師績(jī)效考核(細(xì)分權(quán)重)及軟件工程期中_第2頁(yè)
軟件工程師績(jī)效考核(細(xì)分權(quán)重)及軟件工程期中_第3頁(yè)
軟件工程師績(jī)效考核(細(xì)分權(quán)重)及軟件工程期中_第4頁(yè)
軟件工程師績(jī)效考核(細(xì)分權(quán)重)及軟件工程期中_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

考核指標(biāo)分項(xiàng)考核標(biāo)準(zhǔn)權(quán)重考核標(biāo)準(zhǔn)得分研發(fā)方面(15分)1.是否能對(duì)系統(tǒng)設(shè)計(jì)正確理解,能否提出合理化建議,如能采納可加分2.是否系統(tǒng)詳細(xì)設(shè)計(jì)全面、合理,如在設(shè)計(jì)上有所創(chuàng)新或采用更先進(jìn)技術(shù)并采納可加分3.能否對(duì)研發(fā)過(guò)程中的技術(shù)難點(diǎn)提出可行性解決方案,資料及時(shí)備份分類4.能較早的進(jìn)行后續(xù)功能的開發(fā)和整合,及早的發(fā)現(xiàn)問(wèn)題并解決問(wèn)題5.定時(shí)優(yōu)化自已開發(fā)的代碼和編寫的文檔,提交高質(zhì)量高標(biāo)準(zhǔn)的產(chǎn)品文檔方面(15分)1.是否及時(shí)提交各階段技術(shù)文檔2.文檔的內(nèi)容組織是否有序合理,格式是否按公司文檔格式編寫3.技術(shù)文檔的內(nèi)容表達(dá)是否準(zhǔn)確,能真實(shí)的表達(dá)設(shè)計(jì)意圖4.文檔資料歸檔是否符合要求5.編寫的技術(shù)文檔描述是否詳盡,對(duì)后續(xù)開發(fā)人員閱讀是否容易理解6.在設(shè)計(jì)文檔時(shí)能否發(fā)揮創(chuàng)新的思維設(shè)計(jì),使需求和模塊結(jié)構(gòu)更加清晰明了7.各階段的文檔數(shù)量與種類是否符合要求8.周報(bào)日?qǐng)?bào)內(nèi)容詳細(xì)描述了所完成、未完成的工作以及完成遇到的問(wèn)題、解決思路等代碼質(zhì)量(20分)1.模塊劃分清晰,結(jié)構(gòu)安排合理2.模塊設(shè)計(jì)時(shí)復(fù)用率高3.編碼簡(jiǎn)潔、規(guī)范,結(jié)構(gòu)清晰,注解完整、清楚,容易被人理解4.代碼性能優(yōu)越,BUG率低,異常處理考慮周全得當(dāng)5.有充分的調(diào)試、測(cè)試提示功能計(jì)劃與進(jìn)度(20分)1.項(xiàng)目研發(fā)是否能按項(xiàng)目計(jì)劃進(jìn)度完成,按里程碑計(jì)算,如能保證質(zhì)量的前提下提前完成可以加分,反之,扣罰。3.每項(xiàng)工作是否有計(jì)劃;計(jì)劃是否合理,進(jìn)度是否得到有效控制,計(jì)劃內(nèi)容是否完整、詳實(shí)、清楚,使人能清楚地把握當(dāng)前工作動(dòng)態(tài)4.每項(xiàng)決議是否得到監(jiān)控并有效執(zhí)行5.交付的每項(xiàng)任務(wù)是否能自覺(jué)的準(zhǔn)時(shí)急時(shí)的解決代碼維護(hù)(10分)1.文檔和代碼能否始終保存同步2.是否每天將工作過(guò)程資料上傳到服務(wù)器上進(jìn)行備份3.急時(shí)指交每階段的重要版本,以及里程碑產(chǎn)物4.對(duì)臨時(shí)交付的開發(fā)任務(wù)是否也能做到及時(shí)備份5.每次備份的版本是否清楚表明版本的作用和變化工作態(tài)度(20分)1、能夠自覺(jué)遵守公司各項(xiàng)規(guī)章制度2、按時(shí)提交工作周報(bào)3、工作積極主動(dòng)、良好的工作熱情、樂(lè)意承擔(dān)額外工作,積極思考,不斷改進(jìn)工作4、具有強(qiáng)烈的責(zé)任心,認(rèn)真負(fù)責(zé),可以放心交付工作,迅速處理業(yè)務(wù),對(duì)本職工作及領(lǐng)導(dǎo)交辦的任務(wù)均能及時(shí)或提前高效地完成5、富于團(tuán)隊(duì)精神,樂(lè)意協(xié)助他人的工作,順利完成任務(wù)6.能簡(jiǎn)潔明白地表達(dá)自己的見(jiàn)解,遇見(jiàn)工作壓力時(shí),沉著冷靜;7.良好的溝通能力,有合作意識(shí),并有接受不同意見(jiàn),有進(jìn)取心;8.對(duì)新知識(shí)的求知欲和學(xué)習(xí)能力,積極關(guān)注、吸收新技術(shù)發(fā)展,努力學(xué)習(xí)各種專業(yè)知識(shí),注意收集整理各種技術(shù)資料,并將之不斷納入工作中,不斷提高實(shí)際操作和解決問(wèn)題的水平。技術(shù)保密不向無(wú)關(guān)人員透露技術(shù)秘密,不攜帶技術(shù)秘密離開公司。對(duì)技術(shù)保密問(wèn)題提出了自己的建議,并被采納,并經(jīng)常提醒他人注意技術(shù)保密;如有違反公司技術(shù)保密規(guī)定,一票否決??傮w評(píng)價(jià)本人意見(jiàn)公司領(lǐng)導(dǎo)審批考核辦法:達(dá)標(biāo)不加減分;不達(dá)標(biāo)按程度相應(yīng)扣減分?jǐn)?shù);超標(biāo)按超標(biāo)程度相應(yīng)加分。例1:計(jì)劃本月兩個(gè)項(xiàng)目,月中增加一個(gè)項(xiàng)目并按要求進(jìn)度和質(zhì)量完成。完成工作量:加5分,其他項(xiàng)不加減。例2:計(jì)劃本月兩個(gè)項(xiàng)目,月中增加一個(gè)項(xiàng)目,但新項(xiàng)目未按要求完成進(jìn)度。完成工作量:加2分,進(jìn)度完成率減5分,其他項(xiàng)不加減。1.什么是當(dāng)前系統(tǒng)?當(dāng)前系統(tǒng)的物理模型與邏輯模型有什么差別?(1)所謂當(dāng)前系統(tǒng)可能是需要改進(jìn)的某個(gè)已在計(jì)算機(jī)上運(yùn)行的數(shù)據(jù)處理系統(tǒng),也可能是一個(gè)人工的數(shù)據(jù)處理過(guò)程。(2)當(dāng)前系統(tǒng)的物理模型客觀地反映當(dāng)前系統(tǒng)實(shí)際的工作情況。但在物理模型中有許多物理的因素,隨著分析工作的深入,有些非本質(zhì)的物理因素就成為不必要的負(fù)擔(dān),因而需要對(duì)物理模型進(jìn)行分析,區(qū)分出本質(zhì)的和非本質(zhì)的因素,去掉那些非本質(zhì)的因素即可獲得反映系統(tǒng)本質(zhì)的邏輯模型。所以當(dāng)前系統(tǒng)的邏輯模型是從當(dāng)前系統(tǒng)的物理模型抽象出來(lái)的2.在UML中用例與用例之間存在泛化、包含和擴(kuò)展關(guān)系,請(qǐng)分析它們的異同。(1)共性:都是從現(xiàn)有用例中抽取出公共的那部分信息,作為一個(gè)單獨(dú)的用例,然后通過(guò)不同的方法重用這個(gè)公共的用例,以減少模型維護(hù)的工作量。(2)不同點(diǎn):a.泛化側(cè)重表示子用例間的互斥性。b.包含側(cè)重表示被包含用例對(duì)參與者提供服務(wù)的間接性。c.擴(kuò)展側(cè)重表示擴(kuò)展用例的觸發(fā)不定性。泛化關(guān)系是描述用例之間一般與特殊關(guān)系的。子用例繼承了父用例所有的結(jié)構(gòu)、行為和關(guān)系,同時(shí)子用例還可以添加、覆蓋、改變繼承的行為。子用例是父用例的一種特殊形式,不同的子用例代表了父用例的不同實(shí)現(xiàn)方法。在一個(gè)復(fù)雜系統(tǒng)中,不同的用例之間可能存在一些相同的行為,這時(shí)可以將這些相同的行為提取出來(lái)組成一個(gè)用例。當(dāng)其他用例使用該用例時(shí),用例之間便形成了包含關(guān)系。向一個(gè)用例中添加一些動(dòng)作后構(gòu)成了另一個(gè)用例,這兩個(gè)用例之間的關(guān)系就是擴(kuò)展關(guān)系,后者繼承前者的一些行為,把后者稱為擴(kuò)展用例。也可以把擴(kuò)展關(guān)系看成從主用例中將異常行為或可選分支抽象成一個(gè)單獨(dú)的用例而形成的關(guān)系。3.多個(gè)軟件工程師合作開發(fā)一個(gè)項(xiàng)目,各開發(fā)者之間需要兩兩互相通信。假設(shè)每一條通信路徑的開銷為300LOC/年(LOC為代碼行數(shù))。(1)設(shè)有6名軟件工程師,如果單獨(dú)工作,每個(gè)人的生產(chǎn)率是6500LOC/年,那么由這6名軟件工程師組成的項(xiàng)目組的生產(chǎn)率是多少?(2)在這一年期限的最后兩個(gè)月,又增加了兩名工程師,新增成員的個(gè)人生產(chǎn)率為4500LOC/年,那么這8人組成的項(xiàng)目組全年完成的開發(fā)工作量又是多少條代碼行?當(dāng)開發(fā)小組的人員為N時(shí),可能的通信路徑有N(N-1)/2條。 6500*6-(6*5/2)*300=34500(行/年)從第11月開始增加2個(gè)人,則通信路徑增加了:8*(8-1)/2–15=13(條)所以通信開銷增加了:(300/12)*2*13=650(LOC)而這2人的開發(fā)工作量為:(4500/12)*2*2=1500(LOC)則總計(jì)工作量為:34500+1500–650=35350(LOC)4.輸入三個(gè)正整數(shù)作為邊長(zhǎng),然后判斷該三條邊能否構(gòu)成三角形。若能,則構(gòu)成的三角形是等邊、等腰還是一般三角形?請(qǐng)用N-S圖描述程序的算法,并將盒圖中每個(gè)格中標(biāo)出數(shù)字①、②……,利用數(shù)字畫出程序控制流圖,計(jì)算此程序的環(huán)形復(fù)雜度5.某學(xué)校計(jì)算機(jī)教材購(gòu)銷系統(tǒng)有以下功能:學(xué)生買書,首先填寫購(gòu)書單,計(jì)算機(jī)根據(jù)各班學(xué)生用書表及售書登記表審查有效性。若有效,計(jì)算機(jī)根據(jù)教材庫(kù)存表進(jìn)一步判斷書庫(kù)是否有書;若有書,把領(lǐng)書單返回給學(xué)生,學(xué)生憑領(lǐng)書單到書庫(kù)領(lǐng)書。對(duì)脫銷的教材,系統(tǒng)用缺書單的形式通知書庫(kù)保管員,新書購(gòu)進(jìn)庫(kù)后,也由書庫(kù)保管員將進(jìn)書通知返回給系統(tǒng)。請(qǐng)就以上系統(tǒng)功能畫出分層的DFD圖。(第三層只需畫出銷售子系統(tǒng)的DFD圖)6.圖書館的預(yù)定圖書子系統(tǒng)有如下功能:由供書部門提供書目給訂購(gòu)組;訂購(gòu)組從各單位取得要訂的書目;根據(jù)供書目錄和訂書書目產(chǎn)生訂書文檔留底;將訂書信息(包括數(shù)目、數(shù)量等)反饋給供書單位;將未訂書目通知訂書者;對(duì)于重復(fù)訂購(gòu)的書目由系統(tǒng)自動(dòng)檢查,并把其結(jié)果反饋給訂書者。請(qǐng)就以上系統(tǒng)功能分兩層畫出DFD圖。7.根據(jù)描述建立軟件公司的對(duì)象模型,即畫出類圖。問(wèn)題陳述如下:一個(gè)軟件公司有許多部門,分為開發(fā)部門和管理部門兩種。每個(gè)部門由部門名字唯一確定。每個(gè)開發(fā)部門開發(fā)多個(gè)軟件產(chǎn)品,每個(gè)軟件產(chǎn)品都由程序、數(shù)據(jù)和文檔組成。該公司有許多員工,分為經(jīng)理、工作人員和開發(fā)人員。開發(fā)部門有經(jīng)理和多個(gè)開發(fā)人員,管理部門有經(jīng)理和多個(gè)工作人員。每個(gè)開發(fā)人員可參加多個(gè)開發(fā)項(xiàng)目,每個(gè)開發(fā)項(xiàng)目需要多個(gè)開發(fā)人員。每位經(jīng)理可主持多個(gè)開發(fā)項(xiàng)目。8.一本書的組成包括一個(gè)封面,一個(gè)目錄,一個(gè)前言,若干章,每章有若干節(jié),每節(jié)有若干段,每段有若干句子,每節(jié)有0個(gè)或多個(gè)插圖,還有0個(gè)或多個(gè)表格,最后有一個(gè)附錄。試建立該書的對(duì)象模型。9.根據(jù)描述建立復(fù)印機(jī)行為的動(dòng)態(tài)模型,即畫出復(fù)印機(jī)狀態(tài)圖。問(wèn)題描述:辦公室復(fù)印機(jī)的工作過(guò)程大致如下:未接到復(fù)印命令時(shí)處于閑置狀態(tài),一旦接到復(fù)印命令則進(jìn)入復(fù)印狀態(tài),完成一個(gè)復(fù)印命令規(guī)定的工作后又回到閑置狀態(tài),等待下一個(gè)復(fù)印命令;如果執(zhí)行復(fù)印命令時(shí)發(fā)現(xiàn)缺紙,則進(jìn)入缺紙狀態(tài),發(fā)出警告,等待裝紙,裝滿紙后進(jìn)入閑置狀態(tài),準(zhǔn)備接受復(fù)印命令;如果復(fù)印時(shí)發(fā)生卡紙故障,則進(jìn)入卡紙狀態(tài),發(fā)出警告等待維修人員來(lái)排除故障,故障排除后回到閑置狀態(tài)。實(shí)驗(yàn)1.繪制書中73頁(yè)習(xí)題3的數(shù)據(jù)流圖:題目:銀行計(jì)算機(jī)儲(chǔ)蓄系統(tǒng)的工作過(guò)程大致如下:儲(chǔ)戶填寫的存款單或取款單由業(yè)務(wù)員鍵入系統(tǒng),如果是存款則系統(tǒng)記錄存款人姓名、住址(或電話號(hào)碼)、身份證號(hào)碼、存款類型、存款日期、到期日期、利率及密碼(可選)等信息,并印出存款存單給儲(chǔ)戶;如果是取款而且存款時(shí)留有密碼,則系統(tǒng)首先核對(duì)儲(chǔ)戶密碼,若密碼正確或存款時(shí)未留密碼,則系統(tǒng)計(jì)算利息并印出利息清單給儲(chǔ)戶。分析:從存取款的常識(shí)可知,本系統(tǒng)的數(shù)據(jù)源點(diǎn)和終點(diǎn)都是“儲(chǔ)戶”,儲(chǔ)戶既要提出存取款要求,又要獲得存款存單或利息清單。系統(tǒng)對(duì)存取款的處理功能主要是“記錄存款信息”、“打印存款存單”和“核對(duì)密碼”、“計(jì)算利息”、“打印利息清單”。為了完成上述功能,顯然“存款信息”應(yīng)該是一個(gè)數(shù)據(jù)存儲(chǔ)。2.在上題文件的另一個(gè)繪圖頁(yè)中繪制書中73頁(yè)習(xí)題4的數(shù)據(jù)流圖:題目:為方便旅客,某航空公司擬開發(fā)一個(gè)機(jī)票預(yù)訂系統(tǒng)。旅行社把預(yù)訂機(jī)票的旅客信息(姓名、性別、工作單位、身份證號(hào)碼、旅行時(shí)間、旅行目的地等)輸入進(jìn)該系統(tǒng),系統(tǒng)為旅客安排航班,印出取票通知和帳單,旅客在飛機(jī)起飛的前一天憑取票通知和帳單交款取票,系統(tǒng)校對(duì)無(wú)誤即印出機(jī)票給旅客。分析:從問(wèn)題陳述可知,本系統(tǒng)的數(shù)據(jù)源點(diǎn)是“旅行社”,機(jī)票預(yù)訂系統(tǒng)印出取票通知和帳單是給旅行社的,所以“旅行社”也是終點(diǎn)。另外旅客憑取票通知和帳單交款取票,系統(tǒng)印出機(jī)票給旅客,則“旅客”也是一個(gè)源點(diǎn)和終點(diǎn)。機(jī)票預(yù)訂系統(tǒng)包括了預(yù)訂機(jī)票和旅客取票兩部分,主要功能有:“分類并檢驗(yàn)”、“訂票”、“記賬”和“機(jī)票準(zhǔn)備”。要為旅客安排航班,需要查看“航班目錄”,所以“航班目錄”應(yīng)該作為一個(gè)數(shù)據(jù)存儲(chǔ);系統(tǒng)能夠輸出賬單,所以有記賬功能,則另一個(gè)數(shù)據(jù)存儲(chǔ)為“記賬文件”;完整的訂票信息應(yīng)給存儲(chǔ)在“機(jī)票文件”中,作為“準(zhǔn)備機(jī)票”功能的基本數(shù)據(jù)。提示:本系統(tǒng)的基本系統(tǒng)模型如下:3.在上題文件的另一個(gè)繪圖頁(yè)中繪制書中73頁(yè)習(xí)題5的數(shù)據(jù)流圖:題目:醫(yī)院對(duì)患者監(jiān)護(hù)系統(tǒng)的基本要求是隨時(shí)接收每個(gè)病人的生理信號(hào)(脈搏、體溫、血壓、心電圖等),定時(shí)記錄病人情況以形成患者日志,當(dāng)某個(gè)病人的生理信號(hào)超出醫(yī)生規(guī)定的安全范圍時(shí)向值班護(hù)士發(fā)出警告信息,此外,護(hù)士在需要時(shí)還可以要求系統(tǒng)印出某個(gè)指定病人的病情報(bào)告。分析:從問(wèn)題陳述可知,本系統(tǒng)的數(shù)據(jù)源點(diǎn)是“病人”和“護(hù)士”,他們分別提供生理信號(hào)和要求病情報(bào)告的信息。進(jìn)一步分析問(wèn)題陳述,從系統(tǒng)應(yīng)該“定時(shí)記錄病人情況以形成患者日志”這項(xiàng)要求可以想到,還應(yīng)該有一個(gè)提供日期和時(shí)間信息的“時(shí)鐘”作為數(shù)據(jù)源點(diǎn)。從問(wèn)題陳述容易看出,本系統(tǒng)的數(shù)據(jù)終點(diǎn)是接收警告信息和病情報(bào)告的護(hù)士。系統(tǒng)對(duì)病人生理信號(hào)的處理功能主要是“接收信號(hào)”、“分析信號(hào)”和“產(chǎn)生警告信息”。此外,系統(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ǔ)。提示:本系統(tǒng)的基本系統(tǒng)模型如下:繪制本系統(tǒng)的功能級(jí)數(shù)據(jù)流圖過(guò)程如下:4.“選課系統(tǒng)”類圖的設(shè)計(jì)。需求陳述如下:某學(xué)校網(wǎng)上選課系統(tǒng)主要包括如下功能:管理員通過(guò)系統(tǒng)管理界面進(jìn)入,建立本學(xué)期要開的各種課程、將課程信息保存在數(shù)據(jù)庫(kù)中并可以對(duì)課程進(jìn)行改動(dòng)和刪除。學(xué)生通過(guò)客戶機(jī)瀏覽器根據(jù)學(xué)號(hào)和密碼進(jìn)入選課界面,在這里學(xué)生可以進(jìn)行三種操作:查詢已選課程、選課以及付費(fèi)。同樣,通過(guò)業(yè)務(wù)層,這些操作結(jié)果存入數(shù)據(jù)庫(kù)中。5.圖書館館藏出版物需求描述如下:一家圖書館藏有書籍、雜志、小冊(cè)子、電影錄像帶、音樂(lè)CD、錄音圖書磁帶和報(bào)紙等出版物,供讀者借閱。這些出版物有出版物名、出版者、獲得日期、目錄編號(hào)、書架位置、借出狀態(tài)和借出限制等屬性,并有借出、收回等服務(wù)。創(chuàng)建圖書館館藏出版物的類圖。分析:題目中很明確地給出了此對(duì)象模型中包含的各種類,也明顯地表示出了館藏出版物與“書籍、雜志、小冊(cè)子、電影錄像帶”等其它類應(yīng)該是繼承關(guān)系。所以,容易畫出此描述的類圖。6.交通工具分為空中、陸地、水上三種。空中交通工具分為客機(jī)、貨機(jī)、專用輕型機(jī)。陸地交通工具分為列車、汽車;列車又分為旅客列車、貨運(yùn)列車;汽車又分為客車、貨車。水上交通工具分為客輪、貨輪、客貨混合輪。建立交通工具的類圖7.一臺(tái)微機(jī)有一個(gè)顯示器,一個(gè)主機(jī),一個(gè)鍵盤,一個(gè)鼠標(biāo),漢王筆可有可無(wú)。主機(jī)包括一個(gè)機(jī)箱,一個(gè)主板,一個(gè)電源,存儲(chǔ)器等部件。存儲(chǔ)器又分為固定存儲(chǔ)器、活動(dòng)存儲(chǔ)器,固定存儲(chǔ)器又分為內(nèi)存和硬盤,活動(dòng)存儲(chǔ)器又分為軟盤、光盤、優(yōu)盤。請(qǐng)建立微機(jī)的類圖8.“選課系統(tǒng)”狀態(tài)圖的設(shè)計(jì)。一個(gè)課程類的狀態(tài)變化如下:課程對(duì)象被創(chuàng)建,添加到數(shù)據(jù)庫(kù)中。管理員可以刪除、修改課程信息,在某個(gè)學(xué)期,開設(shè)該課程,如果選修人數(shù)超過(guò)指定人數(shù),就不再允許學(xué)生選這門課。學(xué)期結(jié)束,課程的狀態(tài)終止。9.人們燒水的狀態(tài)描述如下:初始狀態(tài)進(jìn)入燒水過(guò)程時(shí)先處于爐子關(guān)閉狀態(tài),當(dāng)打開爐子的觸發(fā)事件發(fā)生時(shí),需要檢查是否滿足監(jiān)護(hù)條件“壺里是否有水”,如果滿足則執(zhí)行燒水的動(dòng)作,觸發(fā)轉(zhuǎn)換進(jìn)入到爐子打開狀態(tài),在此狀態(tài)下,如果出現(xiàn)水燒開了,或壺?zé)龎牧说那闆r,狀態(tài)圖應(yīng)如何表達(dá)?試創(chuàng)建燒水的狀態(tài)圖。10.圖形用戶界面具有一個(gè)主菜單和一個(gè)帶有文件打開命令的文件菜單,在每個(gè)菜單上都有一條退出命令。假設(shè)每次只有一個(gè)文件能夠打開。建立圖形用戶界面的狀態(tài)圖。11.航班機(jī)票預(yù)訂系統(tǒng)狀態(tài)描述:在剛確定飛行計(jì)劃時(shí),顯然沒(méi)有任何預(yù)訂的,并且在有人預(yù)訂機(jī)票之前都將處于這種“無(wú)預(yù)訂”的狀態(tài)。對(duì)于訂座而言,顯然有“部分預(yù)訂”和“預(yù)訂完”兩種狀態(tài),當(dāng)航班快要起飛時(shí),顯然要“預(yù)訂關(guān)閉”。請(qǐng)建立航班機(jī)票預(yù)訂系統(tǒng)的狀態(tài)圖12.請(qǐng)根據(jù)下述電梯系統(tǒng)的需求描述畫出類圖來(lái)。在一幢m層樓的大廈中,用電梯內(nèi)的和每個(gè)樓層的按鈕來(lái)控制n部電梯的移動(dòng)。每部電梯有m個(gè)按鈕,每個(gè)按鈕代表一個(gè)樓層。當(dāng)按下一個(gè)按鈕時(shí)該按鈕指示燈亮,同時(shí)電梯駛向相應(yīng)的樓層,當(dāng)?shù)竭_(dá)由按鈕指定的樓層時(shí)指示燈熄滅。除了大廈的最底層和最高層之外,每層樓都有兩個(gè)按鈕分別指示電梯上行和下行。當(dāng)這兩個(gè)按鈕之一被按下時(shí)相應(yīng)的指示燈亮,當(dāng)電梯達(dá)到此樓層時(shí)燈熄滅,電梯向請(qǐng)求的方向移動(dòng)。當(dāng)電梯無(wú)升降動(dòng)作時(shí),關(guān)門并停在當(dāng)前樓層。分析:1.確定問(wèn)題域內(nèi)的候選對(duì)象大廈、電梯、樓層、按鈕、運(yùn)動(dòng)、指示燈、請(qǐng)求、最底層、最高層、方向和門2.篩選出正確的對(duì)象刪除“大廈、最底層、最高層、樓層”——無(wú)關(guān)刪除“運(yùn)動(dòng)、指示燈、請(qǐng)求、方向和門”——屬性只剩下“按鈕、電梯”按鈕又分為:電梯按鈕和樓層按鈕3.根據(jù)領(lǐng)域知識(shí)或常識(shí)找出隱含對(duì)象按鈕并不直接與電梯通信,為了決定分派哪一部電梯去響應(yīng)一個(gè)特定的請(qǐng)求,必須有某種類型的電梯控制器。進(jìn)一步完善對(duì)象模型:分析:電梯類的主要功能是執(zhí)行電梯控制器類發(fā)來(lái)的電梯操作命令,如果把電梯門(的狀態(tài))作為電梯的一個(gè)屬性,則電梯類還要執(zhí)行門操作命令,這樣電梯類的功能就不單一了。解決:把電梯門獨(dú)立出來(lái)作為一個(gè)類。這樣打開或關(guān)閉電梯門的唯一辦法就是向?qū)ο蟆半娞蓍T”發(fā)送一條消息。如果電梯門類的封裝性很好,就能保證不會(huì)在錯(cuò)誤的時(shí)間開/關(guān)電梯門,從而能有效地杜絕嚴(yán)重的意外事故。另外,出于在未經(jīng)授權(quán)的情況下不允許修改請(qǐng)求的考慮,也應(yīng)該把“請(qǐng)求”作為一個(gè)獨(dú)立的類。13.請(qǐng)根據(jù)使用電話的通常情況畫出描述交互行為狀態(tài)圖來(lái)。電話系統(tǒng)的一般操作過(guò)程為:沒(méi)人打電話時(shí)電話處于閑置狀態(tài);有人拿起聽筒則進(jìn)入撥號(hào)音狀態(tài),到達(dá)這個(gè)狀態(tài)后,電話的行為是響起撥號(hào)音;這時(shí)如果拿起聽筒的人改變主意不想打了,他把聽筒放下(掛斷),電話重又回到閑置狀態(tài);如果拿起聽筒很長(zhǎng)時(shí)間不撥號(hào)(超時(shí)),則進(jìn)入超時(shí)狀態(tài)……具體打電話、通話過(guò)程的腳本如下:打電話者拿起電話;電話撥號(hào)音開始;打電話者撥數(shù)字(先撥一位數(shù)字,如:3);電話撥號(hào)音結(jié)束;打電話者撥數(shù)字(5);打電話者撥數(shù)字(8);打電話者撥數(shù)字(2);如果電話號(hào)碼撥錯(cuò),交換機(jī)提示出錯(cuò)信息;如果號(hào)碼正確,且對(duì)方空閑,則接電話者的電話開始振鈴;鈴聲在打電話者的電話上傳出;如果在30秒鐘內(nèi),接電話者拿起話筒;接電話者的電話停止振鈴;打電話者的電話停止振鈴;通電話;……接電話者掛斷電話;電話切斷;打電話者掛斷電話。如果撥號(hào)正確,對(duì)方忙,打電話者的電話上傳出忙音。如果撥號(hào)正確,接電話者在30秒鐘內(nèi)不接聽電話,雙方電話停止振鈴。14.白盒測(cè)試15.黑盒測(cè)試輸入三個(gè)整數(shù)a、b和c分別作為三角形的3條邊,通過(guò)程序判斷由這3條邊構(gòu)成的三角形類型是:等邊三角形、等腰三角形、一般三角形或非三角形。請(qǐng)從輸出域定義等價(jià)類,設(shè)計(jì)測(cè)試用例。按照等價(jià)類的劃分原則,建立輸出等價(jià)類。選取測(cè)試用例,覆蓋所有的等價(jià)類。某一報(bào)表處理系統(tǒng),要求用戶輸入處理報(bào)表的日期。假設(shè)日期限制在1990年1月至1999年12月,即系統(tǒng)只能對(duì)該段時(shí)間內(nèi)的報(bào)表進(jìn)行處理。如果用戶輸入的日期不在此范圍內(nèi),則顯示輸入錯(cuò)誤信息。該系統(tǒng)規(guī)定日期由年、月的6位數(shù)字字符組成,前4位代表年,后兩位代表月?,F(xiàn)用等價(jià)類劃分法設(shè)計(jì)測(cè)試用例,來(lái)測(cè)試程序的“日期檢查功能”。程序規(guī)格說(shuō)明為:“一個(gè)程序讀入三個(gè)整數(shù)。把此三個(gè)數(shù)值看成是一個(gè)三角形的三個(gè)邊。這個(gè)程序要打印出信息,說(shuō)明這個(gè)三角形是三邊不等的、是等腰的、還是等邊的?!闭?qǐng)使用等價(jià)類劃分法,從輸入域定義等價(jià)類,完成測(cè)試用例設(shè)計(jì)。16.面向?qū)ο笤O(shè)計(jì)原則單一職責(zé)原則:一個(gè)類應(yīng)該僅有一個(gè)職責(zé)。注意:職責(zé)是否應(yīng)該分開依賴于具體的應(yīng)用。開放-封閉原則:在設(shè)計(jì)一個(gè)軟件系統(tǒng)模塊(類、方法)的時(shí)候,應(yīng)該可以在不修改原有的模塊(修改封閉)的基礎(chǔ)上,能夠擴(kuò)展其功能(擴(kuò)展開放)。在面向?qū)ο蟮某绦蛑惺强梢宰龅降模妹嫦驅(qū)ο蟮某橄蠛投鄳B(tài)。程序?qū)τ谛薷牟皇?00%封閉!一種抽象只能處理一類變化。抽象后的系統(tǒng)對(duì)這類變化是封閉的,但是對(duì)于其它類型的變化仍然不是封閉的。依賴倒置原則——系統(tǒng)框架設(shè)計(jì)的核心原則。高層模塊不應(yīng)該依賴于低層模塊,二者都應(yīng)該依賴于抽象。抽象不應(yīng)該依賴于細(xì)節(jié)。細(xì)節(jié)應(yīng)該依賴于抽象。使用何種語(yǔ)言來(lái)編寫程序是無(wú)關(guān)緊要的,如果程序的依賴關(guān)系是倒置的,它就是面向?qū)ο蟮脑O(shè)計(jì);如果程序的依賴關(guān)系不是倒置的,它就是過(guò)程化的設(shè)計(jì)。接口隔離原則使用多個(gè)專門的接口比使用單一的總接口要好。不能強(qiáng)迫用戶去依賴那些他們不使用的接口。程序所依賴的接口中不要包含該程序不使用的方法。下面的設(shè)計(jì)是否合理,如果不合理,請(qǐng)說(shuō)明原因并給出修正后的設(shè)計(jì)。(本題10分)說(shuō)明:(1)Retangle類有兩個(gè)方法,一個(gè)方法畫矩形,另一個(gè)方法計(jì)算矩形的面積。其中draw()方法調(diào)用area()方法。(2)有兩個(gè)不同的應(yīng)用程序使用Retangle類。一個(gè)是ComputationalGeometryApplication,它是計(jì)算幾何圖形面積的,它依賴Retangle類的area()方法,但是它從來(lái)不用draw()方法。另一個(gè)是GraphicalApplication,它是繪制圖形的,它主要依賴Retangle類的draw()方法,也有可能會(huì)用到area()方法。標(biāo)準(zhǔn)答案:這個(gè)設(shè)計(jì)違反了“單一職責(zé)原則”。Retangle類有兩個(gè)職責(zé),第一個(gè)職責(zé)是繪制矩形,第二個(gè)職責(zé)是計(jì)算矩形的面積。解決辦法:把兩個(gè)職責(zé)分離開,分離到兩個(gè)完全不同的類中。 (3分) (7分)例2.下面的設(shè)計(jì)是否合適,如果不合適,請(qǐng)修正設(shè)計(jì)。系統(tǒng)需求說(shuō)明:在屏幕上顯示出圓形的面積。該需求今后會(huì)被擴(kuò)展,要求顯示正方形、矩形等其他形狀的面積。要求設(shè)計(jì)的系統(tǒng)符合開放封閉原則。interfaceShape{doublearea();}publicclassCircleimplementsShape{privateintr;publicCircle(inta){r=a;}publicdoublearea(){return3.14*r*r;}}publicclassPrintDrawing{publicvoidprintArea(Shapes){System.out.println("Areais:"+s.area());}}publicclassShow{publicstaticvoidmain(Stringargs[]){Circlec=newCircle(2);PrintDrawingpc=newPrintDrawing();pc.printArea(c);}}改進(jìn)后的Button類的偽碼為:publicclassButton{publicvoidPoll(ButtonServerbs){判斷是“開”還是“關(guān)”;if(“開”)bs.turnOn();elsebs.turnOff();}}ButtonServer類的代碼為:interfaceButtonServer{publicvoid

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論