第一篇:軟件工程四大部分總結(jié)
課程實(shí)驗(yàn)總結(jié)
(1)需求獲取總結(jié)
需求通常是指人對客觀事物需要的表現(xiàn),體現(xiàn)為愿望、意向或興趣,因此成為行動的一個直接原因。需求獲取就是獲取軟件用戶對軟件功能需求、性能需求、質(zhì)量屬性、對外接口、約束等實(shí)際需求。在進(jìn)行需求分析與設(shè)計(jì)時,要明白參與者與系統(tǒng)、參與者與參與者之間的關(guān)系,以及功能需求的實(shí)現(xiàn)的可能性!這些需要和用戶通過面談、需求專題討論會、填寫調(diào)查問卷等形式來獲取用戶需求信息!在了解和掌握用戶需求后,需要撍寫需求規(guī)格說明書。需求規(guī)格說明書包括用例視圖、用例描述、領(lǐng)域模型與用戶字典、非功能性需求表四大部分。
在用例視圖中,需要勾畫出系統(tǒng)的整體框架體系。把參與者在系統(tǒng)中的角色和各個用例的關(guān)系體現(xiàn)出來,將系統(tǒng)劃分成幾個層面,然后每個層次的參與者與用例之間發(fā)生關(guān)系!當(dāng)用例相對較多時,可以用包來解決,在同一層面的用例可以放入同一個包!
在用例描述時,要對每個用例進(jìn)行詳細(xì)的描述,包括每層的中文名、英文名、參與者名,并簡要說明一下該層面的功能,具體描述一下事件流!寫出特殊需求,例如姓名、ID的合法性!
在用例視圖和用例描述都完善后,需要進(jìn)行領(lǐng)域建模!在領(lǐng)域建模里,將各個類之間的關(guān)系表示出來,關(guān)系有三種,分別為一對一、一對多、多對多的關(guān)系,然后創(chuàng)建用戶詞典,將領(lǐng)域建模中的每一個類和屬性,及其功能進(jìn)行說明!每一個類及其類的屬性都要創(chuàng)建一個表,類說明表里標(biāo)明實(shí)體名、說明、基本屬性,屬性說明表里標(biāo)明實(shí)體名、說明、從屬實(shí)體!類說明表實(shí)體名即類名(例如:Customer(客人))、屬性說明表從屬實(shí)體表示該屬性屬于哪一個類!在建用戶詞典時,要一個類一個類的有序的見表,每一個類的用戶詞典要有序排列!一般都是類說明表,接著是屬性說明表!
在領(lǐng)域建模與用戶詞典完善后,考慮到用戶的非功能性需求,需要創(chuàng)建一個非功能性需求表,包括質(zhì)量屬性和分析后的約束!質(zhì)量屬性以表格的形式來體現(xiàn),包括有性能、安全性、易用性、持續(xù)可用性、可伸縮性、互操作性、可靠性、魯棒性、易理解性、可擴(kuò)展性、可重用性、可測試性、可維護(hù)性、可移植性等,分析后的約束主要有技術(shù)上約束、平臺環(huán)境的約束、數(shù)據(jù)庫約束、界面風(fēng)格的約束、時間約束、其他等!
在捕獲需求分析時,多考慮到用戶的體驗(yàn)問題,以及用戶的功能需求合理性和實(shí)現(xiàn)性,與用戶協(xié)商,通過雙方的洽談來達(dá)成相互的認(rèn)可和接受!從而解決需求困難問題,當(dāng)然需求也需要驗(yàn)證,在需求獲取中要考慮到是否正確和充分地支持業(yè)務(wù)需求,漸漸細(xì)化系統(tǒng)需求!
通過這一部分的學(xué)習(xí),明白了需求獲取與分析是軟件工程所最終的目的,所有的工作都將要圍繞著需求來做,如果需求不準(zhǔn)確,會給后續(xù)的開發(fā)帶來困難,而且往往所做的后期工作因與需求不一樣而導(dǎo)致失??!讓我體會到了這個部分的重要性和主導(dǎo)性,一個項(xiàng)目是否成功往往由需求分析和設(shè)計(jì)是否成功來決定!所以需求分析是最關(guān)鍵最重要的部分!(2)架構(gòu)分析與設(shè)計(jì)總結(jié)
在進(jìn)行架構(gòu)分析與設(shè)計(jì)時,大體上主要分兩大部分!第一部分主要是架構(gòu)分析部分和概要架構(gòu)設(shè)計(jì)!
在進(jìn)行架構(gòu)分析時,通過視圖來來體現(xiàn)系統(tǒng)的架構(gòu)體系和具體的流程!通常會用序列圖來來進(jìn)行架構(gòu)分析!選取關(guān)鍵需求添加客人用例,根據(jù)需求中的用例描述,進(jìn)行系統(tǒng)分析。大體上可分為三個分析類,其分別為界面類、實(shí)體類、持久化類。詳細(xì)的表示出他們間的交互關(guān)系!界面類即用戶登錄的界面,操作或選擇的菜單界面,在這個界面里實(shí)現(xiàn)對實(shí)體類和持久化類的操作,持久化類的數(shù)據(jù)需要保存到數(shù)據(jù)庫中,按照序列圖的特點(diǎn)層層遞進(jìn),分析類與分析類之間發(fā)生訪問和操作,這樣是每個分析類的功能結(jié)構(gòu)清晰明了,有助于后期的軟件開發(fā)!在概要架構(gòu)設(shè)計(jì)時,開始概要的劃分一下層,比如將顯示界面的類,或窗口 的類劃分為界面層,如圖1所示,可以講Login用例劃分為界面層。
Login使用安全性算法進(jìn)行密碼驗(yàn)證
圖1 將進(jìn)行對數(shù)據(jù)操作和功能的展現(xiàn)部分化分為實(shí)體層!
第二部分為架構(gòu)設(shè)計(jì)部分與細(xì)化架構(gòu)設(shè)計(jì)。在這一部分主要是畫視圖,通過視圖來了解系統(tǒng)架構(gòu)。主要有邏輯視圖、開發(fā)視圖、部署視圖三大類。邏輯視圖設(shè)計(jì)到了系統(tǒng)邏輯層次圖,開發(fā)視圖有系統(tǒng)開發(fā)環(huán)境圖、系統(tǒng)開發(fā)依賴關(guān)系視圖、系統(tǒng)開發(fā)交互關(guān)系視圖。系統(tǒng)邏輯層次圖就是將各層之間的邏輯關(guān)系以及層內(nèi)部調(diào)用關(guān)系體現(xiàn)出來!系統(tǒng)開發(fā)視圖,主要是體現(xiàn)出系統(tǒng)開發(fā)的環(huán)境和開發(fā)所用工具,以及系統(tǒng)所基于的平臺,各個層的基礎(chǔ)框架和系統(tǒng)運(yùn)行過程中文件的生成種類與先后的關(guān)系!系統(tǒng)開發(fā)依賴關(guān)系視圖和系統(tǒng)開發(fā)交互關(guān)系視圖,全是展示出類之間的調(diào)用、繼承、泛化,部署視圖從整體系統(tǒng)部署上來展示系統(tǒng)所涉及到的運(yùn)行平臺和支撐平臺!
通過對這部分的學(xué)習(xí)和聯(lián)系,我學(xué)會了視圖的畫法,以及看明白各種視圖所體現(xiàn)的意義,比較全面的理解和認(rèn)知到一個項(xiàng)目的子系統(tǒng)的架構(gòu)設(shè)計(jì)和分析!在子系統(tǒng)的架構(gòu)設(shè)計(jì)和分析時,自己需要做哪些工作,需要畫哪些視圖!一個系統(tǒng)的架構(gòu)是怎樣搭建的,是怎樣安排和規(guī)劃的!明白了架構(gòu)分析和設(shè)計(jì)的目的是一些復(fù)雜信息的隱藏、使整個項(xiàng)目得到智能控制,從而管理項(xiàng)目的復(fù)雜性并保持系統(tǒng)的完整性和一體性!這為后期的模塊的復(fù)用提供了堅(jiān)實(shí)的基礎(chǔ),也為后期的管理奠定了基礎(chǔ)!
(3)子系統(tǒng)與類分析與設(shè)計(jì)總結(jié)
這一部分就是開始將前期的工作開始投入到具體實(shí)現(xiàn)中!要考慮到各個類之間的調(diào)用關(guān)系的清晰!子系統(tǒng)結(jié)構(gòu)的精簡化和易擴(kuò)展性、可重用性、易維護(hù)性!這一部分主要是各個層次內(nèi)部各個類之間的調(diào)用的設(shè)計(jì)!需要畫類的結(jié)構(gòu)圖縱覽、類結(jié)構(gòu)圖界面層、類結(jié)構(gòu)圖實(shí)體層、類結(jié)構(gòu)圖細(xì)節(jié)、類結(jié)構(gòu)圖分層,在類的結(jié)構(gòu)圖縱覽圖里,把系統(tǒng)涉及到的所有的類都以某種關(guān)系展現(xiàn)出來,層內(nèi)部類與類的相互關(guān)系,調(diào)用的接口,以及用到的設(shè)計(jì)模式,都以類圖展現(xiàn)出來!在這一部分的學(xué)習(xí)中,學(xué)到了設(shè)計(jì)模式,使自己的代碼的重用性、可擴(kuò)展性漸漸提高,提倡高內(nèi)聚低耦!在類的設(shè)計(jì)中,創(chuàng)建初始的設(shè)計(jì)類,根據(jù)將要設(shè)計(jì)的分析類類型來采用不同的方法設(shè)計(jì)類,分析類類型有邊界類、實(shí)體類(或控制類)!邊界類控制著界面層,是登陸界面的類的一部分!由邊界類來調(diào)用控制類,控制類控制著實(shí)體層類的生成和關(guān)系!為了實(shí)現(xiàn)系統(tǒng)的功能,類與類之間必須發(fā)生聯(lián)系,彼此又相對獨(dú)立!在每層能用設(shè)計(jì)模式的都用設(shè)計(jì)模式來解決,我的這部分用到的設(shè)計(jì)模式有簡單工廠模式、工廠方法模式、抽象工場模式、橋接模式!特別是橋接模式,我對它的印象很深!它解決了我以前不能解決的鬧心問題!
這個問題就是顧客訂房時,對所需要客房的定義的問題,由于客房種類不同、租金各異、大小不一,所以一直讓我很糾結(jié),如果要定義類就定義幾十個,增加了代碼的復(fù)雜度!橋接模式能夠很好的分離變量,然后變量之間的類自由的組合,使問題變得簡單的多,這里可以定義兩個抽象類客房類型Sort和客房House,然后由Sort派生三個子類,普通間(ordinary)、標(biāo)準(zhǔn)間(standard)、豪華間(fashion),由House類派生出三個子類,單人間(smallsize)、兩人間(middlesize)、三人間(largesize),然后只需在House的私有成員部分,定義一個Sort類型的對象指針就可以了!這樣只需要八個類,不然的話要需要二十七個類!這樣就可以很輕松的定義一個房間的類了!通過這部分的學(xué)習(xí),讓我學(xué)會了面向?qū)ο蟮那擅顟?yīng)用!
還有一個設(shè)計(jì)模式給我的印象也很深,那就是適配器模式!在用到某一個模塊式,可以借用別人已經(jīng)寫好的接口,不需要知道是怎樣實(shí)現(xiàn)的,只需要明白調(diào)用某個接口能實(shí)現(xiàn)什么功能!然后自己可以構(gòu)建一個自己的類和自己的接口的定義,在類的私有部分定義一個別人寫好的類的對象,在接口的實(shí)現(xiàn)部分調(diào)用別人的接口來實(shí)現(xiàn)自己想要的功能!通過對設(shè)計(jì)模式的理解,感覺到了面向?qū)ο蟪绦蛟O(shè)計(jì)的靈活性和多變性!為自由以后的編程帶來很大的幫助?。?)數(shù)據(jù)庫設(shè)計(jì)總結(jié)
在數(shù)據(jù)庫的設(shè)計(jì)的學(xué)習(xí)中,給人的感覺就是,不是創(chuàng)建表就是畫E-R圖!我在做這部分的作業(yè)時,是按照要求先畫E-R圖,在創(chuàng)建表!
在畫E-R圖的過程中,首先要找該系統(tǒng)的實(shí)體集,把實(shí)體集找完后,分析實(shí)體集的屬性,然后判斷哪些屬性可以作為實(shí)體集的主鍵,以便于與其他實(shí)體集區(qū)別開來!我的這個實(shí)驗(yàn)系統(tǒng)的有關(guān)實(shí)體集有“客房”、“訂單”、“收銀員”、“顧客”,其各自對應(yīng)的主鍵分別為房間號、訂單號、員工號、ID號,在實(shí)體集的屬性分析完后,開始考慮各個實(shí)體集之間的關(guān)系!一般分為三種關(guān)系,有一對一、一對多、多對多三種關(guān)聯(lián)關(guān)系!還有相互產(chǎn)生的聯(lián)系如收銀員打印訂單、收銀員提供客房、訂單包括客房、訂單屬于客人,客人入住客房!在分析實(shí)體集之間的關(guān)系時,需要考慮到一些問題,比如就拿訂單和客房、客人三個實(shí)體集來說,一個客人可以有多個訂單,一個訂單可以對應(yīng)一個房間也可以對應(yīng)多個房間,一個房間可以入住一個客人,也可以入住多個客人!這之間的關(guān)系比較混亂,所以比較難以確定!我采用的是客房與訂單是多對多,客人和客房是一對一,客人和訂單是一對多的關(guān)系!
在創(chuàng)建表,我用的是Microsoft Access 這個工具來建表!在建表時,每一個表要有一個主鍵,將每一個實(shí)體集都對應(yīng)建立一個數(shù)據(jù)表,在把表建成功后,找表與表之間的關(guān)系!在建表時,根據(jù)E-R圖,來確定相關(guān)聯(lián)的數(shù)據(jù)表!這里訂單里面包含有顧客的ID、客房的房號、收銀員的員工號,所以訂單是關(guān)鍵的數(shù)據(jù)表,它與顧客、客房、收銀員數(shù)據(jù)表相連!實(shí)現(xiàn)表的連接時,將某表的主鍵拖到含有該主鍵的數(shù)據(jù)表中的該主鍵上,則會產(chǎn)生聯(lián)系,形成連線!在這一部分發(fā)現(xiàn)自己只能實(shí)現(xiàn)一對多的關(guān)聯(lián),且該關(guān)聯(lián)不能修改!這個至此也沒有找到怎樣修改Access 中表之間的關(guān)聯(lián)關(guān)系!通過這一部分的學(xué)習(xí),讓我對數(shù)據(jù)庫有了一個初步的認(rèn)識和了解!明白了數(shù)據(jù)庫中表的創(chuàng)建,及其創(chuàng)建的方法!只是還沒有涉及使用Sql語句來建表和對表進(jìn)行操作!明白了數(shù)據(jù)庫咋整個系統(tǒng)中所處的重要地位!對今后的數(shù)據(jù)庫學(xué)習(xí)有了一個很大的幫助!
第二篇:四大筆試(部分)
2005四大筆試合集(部分)
KPMG考試總結(jié)
第一部分:35分鐘35個邏輯數(shù)學(xué)題 根據(jù)圖表 不難 但是可能時間有點(diǎn)緊張
第二部分:25分鐘48個英文閱讀題 gre/gmat 風(fēng)格 風(fēng)卷殘?jiān)仆客?不知道正確率
和高露潔的邏輯部分完全一樣 都是用的S&H香港做的題目,要求也一樣 不要在試卷上留下任何痕跡 為了重復(fù)使用,閱讀部分體型一樣 具體題目不同
看來應(yīng)該好好練習(xí)一下gmat了 否則會死在這一關(guān)
ey & kpmg筆試
因?yàn)橹芪宓臅r候FrankSA特地寫了一番話鼓勵我申請unilever所以就真的花了一天的時間去apply,居然到周六晚上才開始準(zhǔn)備周日的兩場筆試...首先是到kp的網(wǎng)站做了他們的樣題...都只有50%的正確率...而且那個時候我金山詞霸還開著..-,-之后又作了幾套朋友發(fā)給我的verbal樣題,貌似只錯了兩三道不過速度...keke...我發(fā)現(xiàn)我根本不能同時兼顧速度和質(zhì)量-,-,因?yàn)楹芡砹硕曳凑蠹业臓顟B(tài)都差不多,而且我根本沒有考過甚至看過gre&gmat,所以即使我被kp淘汰了也無話可說了...當(dāng)下決定放棄。接下來是ey的筆試,因?yàn)橐呀?jīng)很晚了當(dāng)時,所以就向同學(xué)打探了一下安永筆試的方向(即安永考的似乎都是比較專業(yè)和宏觀的東西),稍微看了一些模版之類的東西.電梯到五樓,一出門就看到人頭攢動,不乏許多ppmm正裝出場...看看自己
真是寒酸。閑來無事聽到他們說安永7:30就開始了...8:30,9:30,ms 10:30
還有筆試的樣子...//寒一個,不過其中很多是南京大學(xué)的等到上一場同學(xué)出來,我們坐定差不多是9:30,考試的要求和以前的都一樣,不過監(jiān)考老師多了很多,hehe,作文題目是:
1.近幾年中國gdp都保持了8%的增長速率,你認(rèn)為在接下來五年內(nèi)是否會保持這個速度,并解釋理由
2.似乎談的是勞動力涌入上海北京等這樣大城市的優(yōu)缺點(diǎn),要求分析...我的求職大事記——kpmg筆試
知道kpmg的筆試難還要追溯到去年的這個時候,當(dāng)時99國金一個后來去了渣打的師姐在job版發(fā)的文章我印象深刻,說的是kpmg筆試題目很多很多來不及做,而且還很容易把題號搞錯??戳艘院缶陀X得很慌。后來暑假實(shí)習(xí)的時候一個99經(jīng)濟(jì)的師兄又跟我說kp筆試很難,說讓我提前找點(diǎn)題目做做有點(diǎn)感覺,可惜后來不知道自己干什么去了就荒廢了,汗……時隔一年,挨到自己上戰(zhàn)場,之前ey筆試之前也很慌,因?yàn)槲乙詾閑y筆試和kp是差不多的,結(jié)果ey之前扛了n本gmat和gre的書回家,后來知道ey只寫作文,看看自己托福6.0的作文成績就又荒廢了沒去做-.-
兩天前開始準(zhǔn)備kp的筆試,上google搜了半天沒找到一套真題(想想也是阿,kp花了多少錢從shl買來的真題怎么可能隨便讓我google搜到-.-),于是只好認(rèn)認(rèn)真真去做kp網(wǎng)站上的practice test。一共verbal和數(shù)學(xué)各6題,第一次做完嚇?biāo)懒宋遥尤贿壿嬂锩?題錯了5題,而且數(shù)學(xué)沒來得及做完,做完的4題里面也只對了2題。記得那個晚上我是半夜做的題目,對著屏幕愣了半天
第二天開始決定發(fā)奮,可是覺得gmat和gre的邏輯完全不對kpmg的路子。于是繼續(xù)上網(wǎng)找,找到了shl的官方網(wǎng)站,就是賣題目給各家公司的公司。拿它網(wǎng)上的練習(xí)題做,結(jié)果還不算很差,數(shù)學(xué)22題對了20題,邏輯28題對了23題。之后又練了幾遍,覺得準(zhǔn)備還是不夠,又去找雅思的題目做。從無憂雅思網(wǎng)下載了一套閱讀題,光做t/f/ng部分,覺得思維開始混亂,越做錯越多,后來受不了了就開了bbs灌水并且決定不再復(fù)習(xí)了。
今天做邏輯,感覺真的好難啊,很多題目都是憑感覺猜的。我大概只提前了一分多鐘做完,沒有時間再去深思熟慮,只能憑感覺了。有一些題目,我把文章讀兩遍都做不來,汗……可能太緊張的關(guān)系。反正以后大家不論考什么都不能緊張阿!本來想記住題目來發(fā)筆經(jīng)的,//sigh畢竟不是gre機(jī)考阿,那些題目搞得一塌糊涂我現(xiàn)在什么都不記得了,哭……
然后做數(shù)學(xué),唉,又是心太急,像趕著投胎一樣做題目。題目是中文的,理解起來容易很多,但是還是有很多很多trick的,一定要膽大心細(xì)阿。歸納來歸納去,這種考試一定要膽大心細(xì)千萬不能粗心阿!!我就老是犯這個毛病,從小學(xué)開始就這樣了,嗚嗚,以前復(fù)習(xí)gre的時候做數(shù)學(xué)也從來不能全對的。反正如果對時間有把握的話,應(yīng)該不會做不完的我覺得。
考完以后覺得很后悔,數(shù)學(xué)做得太快,后面的20題沒有檢查也不知道自己做得對不對。本來對邏輯和數(shù)學(xué)就很慌,也沒想過自己能過kpmg的筆試雖然自己真的很喜歡這家公司的氣氛。自從ey發(fā)面試通知以后,就覺得自己心理承受能力很差,真的很不好的。所以從kp這輪筆試開始,我要笑看風(fēng)云變幻,我自巋然不動-.-b
回家的時候經(jīng)過虹口體育場,滿街的申花球迷。真想跳下車去看球發(fā)泄一下被kp蹂躪的心情,哈哈-.-
寫了這些也許對大三的ddmm有點(diǎn)幫助。祝大家都能成功吧!
安永筆試
一共兩道題,選一道,45分鐘寫篇英文議論文
1。中國gdp增長很快,常常成為報(bào)章頭條,但是這些statistics的可靠性如何?
how reliable is statistics?
2。will china's property boom continue(都是大意……)
感覺題目很大,第二個更是因?yàn)椴看_定題目意思而沒有寫……然后居然有點(diǎn)緊張ft太丟 人了,很多詞就是想不起來,然后一交卷都想起來了……所以用的都是很簡單的詞。
兩個jj監(jiān)考,不能用電子詞典辭典,手機(jī)關(guān)機(jī)。不許偷看題目考完說大概下個禮拜出名單請大家關(guān)注bbs
EY
第一題是關(guān)于GDP高估的;第二題是關(guān)于房地產(chǎn)繁榮。我問了4個考官,一致的答案,不過他們都安慰我說,是一個他們聘請的機(jī)構(gòu)的外國人批改作文,主要看文法和思路。不過我覺得他是安慰我,都跑題了,看文法思路有什么用
1.adavantages and disadvantages of investment in west region of china
2.the effect of dievalue of RMB
Pwc筆試題
1.how u cope with a difficult person
2.u first thoughts about the lauch of shenzhou v
德勤筆試
想知道多些細(xì)節(jié)的可以看看。
四個部分;
part1:英文,寫一項(xiàng)你認(rèn)為重要的發(fā)明,并給出理由。不多于500字。準(zhǔn)備過TWE的話顯然不是問題。
part2&3:非常簡單的英文邏輯選擇,沒看出2和3有多大區(qū)別
part4:中文作文,同樣不多于500字。題目是從北大教改引出的關(guān)于對大學(xué)老師需要什么樣的績效評價(jià)的問題。
Time limit: 60 mins,比較緊,也比較bt.上財(cái)?shù)腜WC考題
偶是11.7參加的筆試,反正感覺還可以吧
是一篇閱讀(1.5一張A4紙長度)加一篇作文
閱讀時關(guān)于知識產(chǎn)權(quán)方面的文章
作文由兩個題目,一個是關(guān)于如何理解風(fēng)險(xiǎn)投資,一個時關(guān)于如果理解廣告的消極作用和積極作用.另外,他會通知帶好一張照片,個人簡歷及相關(guān)證明文件
南開的pwc考題
閱讀是關(guān)于垃圾處理的作文是:1:“Is the US economy permantently decline?”;2:關(guān)于青年濫用藥的2選1
dtt復(fù)旦考題全紀(jì)錄
第一個我就不會.考試時間一小時,第一部分是填空和選擇,記住的有:
1.數(shù)列6,10,18,32,?問?是幾。
2.某人出70買進(jìn)一個x,80邁出,90買會,100邁出,說這樁買賣怎么樣?
3.月球繞地球一圈,至少多少時間?
4.7個人用7小時挖了7米的溝,問同樣的速度在50小時挖50米的溝要多少人。
5.魚頭長9,魚尾等于魚頭加半個魚身,魚身等于魚頭加魚尾,問魚全長多少。
6.某女的弟弟兄弟比姐妹多一個,問此女兄弟比姐妹多幾個?
還有一些直觀的圖形題,比較弱質(zhì)的智商題。
第二部分是邏輯,比較幽默,是很舊的題目了。
3個人住酒店30快,經(jīng)理找回5塊,服務(wù)生中陰了2塊,找給每人1塊,3*(10-1)+2=29,問怎么回事。
第三部分是寫作,三篇,都是書信形式。
一片篇中文的祝賀信,祝賀某男當(dāng)了某公司xx
兩篇英文的,一是說有事不能應(yīng)邀,派另人去
另一片是討債的,7天不給錢就滾蛋之類的主要考business letter格式,還好隔天晚上狂背一同模板
不過我寫的內(nèi)容空洞,字體潦草,估計(jì)沒什么希望了
補(bǔ)充:后面的圖形題就是普通的智商測試
如給你5個圖形,讓你選其中最特殊的一個
如告訴你a圖形和b圖形對應(yīng),那么f圖形對應(yīng)的是哪個圖形?
除第1、4、5、6是填空題,其它均為選擇題。
第一部分給題中文,第二部分起英文給題。
第二部分的智力題要用英文回答的,所以稍微有點(diǎn)難度。
pwc 的筆試
45分鐘
一篇閱讀,長度是一張A4紙的篇幅,關(guān)于一本索羅斯的傳記,幾個問題記不清了,10個左右吧 作文題目是二選一 1)你認(rèn)為中國所面臨的最大的環(huán)境挑戰(zhàn)是什么?怎么解決?
2)你最admire的一家公司是哪個?
PWC作文
1.最近10年來中國媒體的變化
2.你認(rèn)為發(fā)展汽車產(chǎn)業(yè)和公共交通哪個更重要
DTT-筆經(jīng)(2006)
最先發(fā)筆經(jīng)-北京地區(qū)第一場筆試
作者: zhangyz03發(fā)布日期: 2006-11-01查看數(shù): 3363出自:
德勤今年的筆試是有中聘網(wǎng)組織的,很不專業(yè),用的是SHL的試題,但是只有verbal,還是
翻譯過來的中文版,25分鐘,48道題,12片閱讀短文,時間還算充裕,大家加油。
南京德勤的筆經(jīng)11月9日
作者: GinaRyan發(fā)布日期: 2006-11-09查看數(shù): 909出自:
我是今天早上第一批筆試的,發(fā)現(xiàn)之前人的筆經(jīng)是很正確的,似乎德勤今天在哪里都用的 是同一套shl中文題。主要問題在于德勤的工作人員也不清楚考試時間,真正讓你答題的時 間大約只有16分鐘,而且事前沒有說太清楚。16分鐘我想各地應(yīng)該都是差不多的,做好心 理準(zhǔn)備,迅速做題是來得及的。
題目總結(jié):
1、許多人支持政府將經(jīng)費(fèi)縮減用在其他方面比如教育,認(rèn)為對社會有意義.但是如果用在軍事,航天,就不會支持
2、地方政府對于大企業(yè)往往會提供一些優(yōu)惠措施,認(rèn)為會提高就業(yè),促進(jìn)社會繁榮。但是往往是中小企業(yè)會提供更多的就業(yè)機(jī)會,但是政府的許多規(guī)定往往是不利于中小企業(yè)的。
3、以前認(rèn)為,想長高要經(jīng)過經(jīng)常的單一的鍛煉,但是現(xiàn)在有科學(xué)研究表明有其他的方法也可以長高,有一種新的東西“快長高”,提供了這種可能性。
4、1993年教師的工資在相同教育背景的情況下的平均收入牌第9,最近教師工資的水平上漲,現(xiàn)在牌在相同教育背景的情況下的第6,是所有工資平均的87%
5、警察要成立區(qū)域肅毒小組與當(dāng)?shù)氐囊粋€什么警察組織配合販毒,組織成立以后,后者只 負(fù)責(zé)其他的犯罪涉及到毒品的案件,其他的由海關(guān)負(fù)責(zé)。
6、東南亞的紡織品在歐洲比較受到歡迎,因?yàn)閮r(jià)格低廉。后來匯率調(diào)整,東南亞的貨幣升
值,但是東南亞的紡織品在歐洲的銷量卻沒有受到很大的影響。
7、自由競爭學(xué)派的經(jīng)濟(jì)學(xué)家不贊成政府管制,認(rèn)為這樣會增加商業(yè)成本,消弱企業(yè)的競爭力,比如一些傳統(tǒng)行業(yè)等等。但是同時認(rèn)為在金融行業(yè)有政府管制會對這個行業(yè)產(chǎn)生有利的影響。
8、城市甲和城市乙:城市甲出臺了一系列政策,增加對汽車的監(jiān)控和各種收費(fèi),導(dǎo)致很多消費(fèi)者在購車前都要深思熟慮。有些大型汽車商因此取消了在城市甲的銷售活動。而城市乙則沒有這樣的措施
9、一次測試結(jié)果中,中國學(xué)生比美國學(xué)生的數(shù)學(xué)成績要好得多。一些教育學(xué)家認(rèn)為,中國更注重專業(yè)課,基礎(chǔ)課和學(xué)習(xí)××××的培養(yǎng),而美國更注重創(chuàng)新能力和實(shí)踐動手能力
10、將空調(diào)溫度保在13度以上時,溫度越低,效率越高。
還有一點(diǎn)不記得了。大家加油吧
補(bǔ)充一些:
1。增高不只是做做運(yùn)動就可以了,還有一種藥可以吃。
2。為了提高工作效率,管理層必須經(jīng)常改革辦公結(jié)構(gòu)。
3。提高客戶的忠誠度什么的25分鐘,12篇中文邏輯,題目很簡單的,肯定來得及
還可以多出10分鐘左右檢查一遍
第三篇:軟件工程總結(jié)
軟件工程課程總結(jié)
摘要:
計(jì)算機(jī)是20世紀(jì)最重大的科學(xué)技巧成就之一,使當(dāng)代社會的經(jīng)濟(jì)、軍事、科研、教育、服務(wù)等方面在概念和技巧上發(fā)生了性的變化,對人類社會的進(jìn)步已經(jīng)并還將產(chǎn)生極為深刻的影響。目前,計(jì)算機(jī)是世界各發(fā)達(dá)國度劇烈競爭的科學(xué)技巧領(lǐng)域之一。
電子計(jì)算機(jī)早期功效主要是計(jì)算,后來已遠(yuǎn)遠(yuǎn)超越單純計(jì)算的功效,還可模擬、思維、進(jìn)行自適應(yīng)反饋處理等等,把它叫做“電腦”更為合實(shí)際。由于電子計(jì)算機(jī)功效的飛躍性發(fā)展,應(yīng)用于生產(chǎn)和生活的各個方面,直接和顯著地提高了生產(chǎn)、工作和生活的效率、節(jié)奏和水平,在軟科學(xué)研究和應(yīng)用中它也起著關(guān)鍵作用,因此它已被公認(rèn)是現(xiàn)代技巧的神經(jīng)中樞,是未來信息社會的心臟和錄魂。計(jì)算機(jī)學(xué)科分為四個領(lǐng)域,分別是計(jì)算機(jī)科學(xué),計(jì)算機(jī)工程,軟件工程和信息系統(tǒng)。
正文:
軟件工程是研究和應(yīng)用如何以系統(tǒng)性的、規(guī)范化的、可定量的過程化方法去開發(fā)和維護(hù)軟件,以及如何把經(jīng)過時間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來的學(xué)科。包括項(xiàng)目管理,分析,設(shè)計(jì),程序的編寫,測試和質(zhì)量控制。它涉及到程序設(shè)計(jì)語言、數(shù)據(jù)庫、軟件開發(fā)工具、系統(tǒng)開發(fā)平臺、標(biāo)準(zhǔn)、設(shè)計(jì)模式等方面。
學(xué)了《軟件工程》這門課程和一些有關(guān)資料后,感覺一些東西都曾經(jīng)接觸過,但在實(shí)際工作中有些理論要完全遵循可能還有些障礙,軟件工程只是提供了理論上的一些結(jié)論,但對項(xiàng)目的具體可操作性的規(guī)范的制定方面卻做的很少,《軟件工程》發(fā)展了幾十年,光是開發(fā)模型就達(dá)到了10多種,對不同的項(xiàng)目采用合適的開發(fā)模式,有些項(xiàng)目在不同的開發(fā)階段可能還要轉(zhuǎn)換開發(fā)模式,把它們靈活的應(yīng)用到實(shí)際中還是很困難的。
軟件技術(shù)是信息技術(shù)產(chǎn)業(yè)的核心之一,軟件技術(shù)的發(fā)展是與信息技術(shù)產(chǎn)業(yè)的發(fā)展互相促進(jìn)的。當(dāng)今世界,信息技術(shù)正處于新一輪重大技術(shù)突破的前夜。預(yù)計(jì)今后 20~30 年是信息科學(xué)技術(shù)的變革突破期,可能導(dǎo)致 21 世紀(jì)下半葉一場新的信息技術(shù)革命。近年來,從 IT 界到一些國家首腦,都高度關(guān)注以物聯(lián)網(wǎng)為標(biāo)志的新一輪信息技術(shù)的發(fā)展態(tài)勢,認(rèn)為這是繼 20 世紀(jì) 80 年代 PC 機(jī)、90 年代互聯(lián)網(wǎng)、移動通信網(wǎng)之后,將引發(fā) IT 業(yè)突破性發(fā)展的第三次 IT 產(chǎn)業(yè)化浪潮。每一次重大的技術(shù)變革都會引起企業(yè)間、產(chǎn)業(yè)間甚至國家間競爭格局的重大變化,也促進(jìn)了軟件技術(shù)與軟件產(chǎn)業(yè)的重大變革與發(fā)展。
近年來,信息技術(shù)、軟件技術(shù)、軟件系統(tǒng)與軟件產(chǎn)業(yè)的發(fā)展備受關(guān)注,已有不少論述、分析與判斷。近10 年內(nèi)網(wǎng)絡(luò)技術(shù)經(jīng)歷寬帶化、移動化和三網(wǎng)融合將走向基于 Ipv6 的下一代互聯(lián)網(wǎng),2010 年 1 月,國家 863 計(jì)劃信息技術(shù)領(lǐng)域辦公室和國家 863 計(jì)劃信息技術(shù)領(lǐng)域?qū)<医M,在上海舉辦“信息-物理融合系統(tǒng) CPS發(fā)展戰(zhàn)略論壇”,提出“信息-物理融合系統(tǒng) CPS 是一個綜合計(jì)算、網(wǎng)絡(luò)和物理環(huán)境的多維復(fù)雜系統(tǒng),是信息和物理世界的深度的融合交互,可實(shí)現(xiàn)大型工程系統(tǒng)的實(shí)時感知、動態(tài)控制和信息服務(wù),使系統(tǒng)更加可靠、高效與實(shí)時協(xié)同,使得人類物理現(xiàn)實(shí)和虛擬邏輯逐步融合,具有重要而廣泛的應(yīng)用前景。業(yè)界關(guān)于軟件工程的代表性觀點(diǎn)創(chuàng)立與使用健全的工程原則,以便經(jīng)濟(jì)地獲得可靠且高效率的軟件。應(yīng)用系統(tǒng)化,遵從原則,可被計(jì)量的方法來發(fā)展、操作及維護(hù)軟件;也就是把工程應(yīng)用到軟件上。與開發(fā)、管理及更新軟件產(chǎn)品有關(guān)的理論、方法及工具。一種知識或?qū)W科,目標(biāo)是生產(chǎn)品質(zhì)良好、準(zhǔn)時交貨、符合預(yù)算,滿足用戶所需的軟件。實(shí)際應(yīng)用科學(xué)知識在設(shè)計(jì)、建構(gòu)電腦程序,與相伴而來所產(chǎn)生的文件,以及后續(xù)的操作和維護(hù)上。
6使用與系統(tǒng)化生產(chǎn)和維護(hù)軟件產(chǎn)品有關(guān)之技術(shù)與管理的知識,使軟件開發(fā)與修改可在有限的時間與費(fèi)用下進(jìn)行。
7建造由工程師團(tuán)隊(duì)所開發(fā)之大型軟件系統(tǒng)有關(guān)的知識學(xué)科。對軟件分析、設(shè)計(jì)、實(shí)施及維護(hù)的一種系統(tǒng)化方法。系統(tǒng)化地應(yīng)用工具和技術(shù)于開發(fā)以計(jì)算機(jī)為主的應(yīng)用。
10軟件工程是關(guān)于設(shè)計(jì)和開發(fā)優(yōu)質(zhì)軟件。
《軟件工程》是一門綜合性和實(shí)踐性很強(qiáng)的核心課程,它屬于是一門交叉學(xué)科,包含有:軟件開發(fā)技術(shù)(軟件開發(fā)方法學(xué)、軟件開發(fā)過程、軟件工具和軟件工程環(huán)境)、軟件工程管理(軟件管理學(xué)、軟件經(jīng)濟(jì)學(xué)、軟件心理學(xué))。主要內(nèi)容包括軟件工程概述、可行性分析、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、面向?qū)ο蠓治雠c設(shè)計(jì)、編碼、軟件測試、項(xiàng)目計(jì)劃與管理。
本課程是面向準(zhǔn)備從事軟件開發(fā)的畢業(yè)生而開設(shè)的一門專業(yè)課程。針對計(jì)算機(jī)教學(xué)中軟件工程這一薄弱環(huán)結(jié),結(jié)合目前軟件開發(fā)商對人才的要求,對計(jì)算機(jī)專業(yè)的畢業(yè)生進(jìn)行軟件工程強(qiáng)化培訓(xùn),目的是使畢業(yè)生能夠了解和掌握軟件工程的基本理論和方法,并在實(shí)際軟件開發(fā)中運(yùn)用這些方法。
我理解,軟件工程是按照工程學(xué)的管理方式,有組織、有計(jì)劃的,在一定的質(zhì)量基礎(chǔ)、時間限度和成本范圍內(nèi),實(shí)現(xiàn)功能明確的軟件系統(tǒng)。而且,軟件工程在企業(yè)范圍內(nèi)運(yùn)行,一定需要企業(yè)資源的支持,要與企業(yè)的經(jīng)營、決策、管理體系聯(lián)系在一起,才能夠被踏踏實(shí)實(shí)的落實(shí)下來。
軟件工程項(xiàng)目是一個需要一步一步的計(jì)算,分析思考而來的,需要不斷思考,研究不斷進(jìn)步,軟件業(yè)作為一個服務(wù)業(yè),要想得到發(fā)展,首先必須形成一個對軟件服務(wù)有迫切需要的市場。其次,這個市場中的消費(fèi)者必須具備足夠的購買力。軟件的消費(fèi)群體簡單一點(diǎn),可以分為個體消費(fèi)和企業(yè)消費(fèi)。中國的企業(yè)群體,數(shù)量龐大,但是質(zhì)量不高。上規(guī)模的企業(yè)極少。國內(nèi)目前能夠形成比較大規(guī)模的獨(dú)立市場的,肯定是小規(guī)模的軟件系統(tǒng)。
隨著信息化時代的到來其地位越來越受到人們的重視,軟件工程從一個學(xué)科,或是某一個研究方向來說,人員僅僅是過程,方法的執(zhí)行者,所以人員素質(zhì)往往被忽略,軟件工程是一門實(shí)踐性很強(qiáng)的學(xué)科,所以在實(shí)際的軟件研究過程中,人員的素質(zhì)占有很重要的地位。要有出色的軟件問世,研發(fā)人員的素質(zhì)至關(guān)重要!
作為軟件工程的學(xué)習(xí)者應(yīng)該不斷創(chuàng)新,不斷嘗試、實(shí)踐,不斷研究和學(xué)習(xí),中國的軟件工程技術(shù)依舊滯后于國外一些軟件工程技術(shù),作為新一代的學(xué)習(xí)者應(yīng)該擔(dān)當(dāng)起振興起中國軟件事業(yè),使中國科技得到高速發(fā)展!
現(xiàn)在已經(jīng)是信息化時代,信息化潮流不斷涌現(xiàn),想要掌握主動權(quán)就是掌握信息化的發(fā)展方向,這就需要我們不斷學(xué)習(xí),時間,研究,學(xué)習(xí)國外的先進(jìn)技術(shù),轉(zhuǎn)變自己的技術(shù),然后融合,創(chuàng)新。
軟件技術(shù)不是一成不變的,是隨著社會的進(jìn)步的不斷進(jìn)步,不需要不斷的創(chuàng)新,不斷的改善的,需要我們不斷的學(xué)習(xí),不斷的研究,不斷進(jìn)步。
第四篇:軟件工程總結(jié)
1.Software is a product and can be manufactured using the same technologies used for other engineering artifacts Answer: b 2.WebApps are a mixture of print publishing and software development, making their development outside the realm of software engineering practice.Answer: b 3.Software engineering umbrella activities are only applied during the initial phases of software development projects.Answer: b 4.Planning ahead for software reuse reduces the cost and increases the value of the systems into which they are incorporated.Answer: a 5.The essence of software engineering practice might be described as understand the problem, plan a solution, carry out the plan, and examine the result for accuracy.Answer: a 6.In agile process models the only deliverable work product is the working program.Answer: b 7.A most software development projects are initiated to try to meet some business need.Answer: a 8.In general software only succeeds if its behavior is consistent with the objectives of its designers.Answer: b 9.Software processes can be constructed out of pre-existing software patterns to best meet the needs of a software project.Answer: a 10.Process technology tools allow software organizations to compress schedules by skipping unimportant activities.Answer: b 11.It is generally accepted that one cannot have weak software processes and create high quality end products.Answer: a 1.Requirements engineering is a generic process that does not vary from one software project to another.Answer: a 2.A stakeholder is anyone who will purchase the completed software system under development.Answer: b 3.It is relatively common for different customers to propose conflicting requirements, each arguing that his or her version is the right one.Answer: a 4.Developers and customers create use-cases to help the software team understand how different classes of end-users will use functions.Answer: a 5.Use-case actors are always people, never system devices.Answer: b 6.Analysis patterns facilitate the transformation of the analysis model into a design model by suggesting reliable solutions to common problems.Answer: a 7.In win-win negotiation, the customer’s needs are met even though the developer’s need may not be.Answer: b 8.In requirements validation the requirements model is reviewed to ensure its technical feasibility.Answer: b
1.Object-oriented domain analysis is concerned with the identification and specification of reusable capabilities within an application domain.Answer: a 2.In structured analysis models focus on the structure of the classes defined for a system along with their interactions.Answer: b 3.Creation and refinement of use cases if an important part of scenario-based modeling.Answer: a 4.It is important to consider alternative actor interactions when creating a preliminary use case.Answer: b 5.Brainstorming is one technique that may be used to derive a complete set of use case exceptions.Answer: a 6.In many cases there is no need to create a graphical representation of a usage scenario.Answer: a 7.One or more attributes of a data object must be defined as a key to allow the location of an instance of the data object.Answer: a 8.Attributes are chosen for an object by examining the problem statement and identifying the entities that appear to be related.Answer: b 9.An analysis package involves the categorization of analysis model elements into useful groupings.Answer: a 10.The data flow diagram must be augmented by min-spec that can serve as a guide the design of the software component that will implement the process.Answer: a 11.The UML sequence diagram show the order in which system events are processed.Answer: b 12.Analysis patterns are discovered, they are not explicitly created.Answer: a 13.It is not possible to justify the time required for WebApp requirements analysis.Answer: b 14.UML activity diagrams can be used to represent the user observable functionality delivered by the WebApp as well as the operations contained in each analysis class.Answer: a 15.Configuration analysis focuses on the architecture of the user’s web browsing environment.Answer: b 16.Content objects are extracted from use cases by examining the scenario description for direct or indirect content references.Answer: a 1.With thorough testing it is possible to remove all defects from a program prior to delivery to the customer.Answer: b 2.Program flow graphs are identical to program flowcharts.Answer: b 3.The cyclomatic complexity of a program can be computed directly from a PDL representation of an algorithm without drawing a program flow graph.Answer: a 4.Graph-based testing methods can only be used for object-oriented systems Answer: b 5.Equivalence testing divides the input domain into classes of data from which test cases can be derived to reduce the total number of test cases that must be developed.Answer: a 6.Boundary value analysis can only be used to do white-box testing.Answer: b 7.Orthogonal array testing enables the test designer to maximize the coverage of the test cases devised for relatively small input domains.Answer: a 8.Client/server architectures cannot be properly tested because network load is highly variable.Answer: b 1.The best representation of system architecture is an operational software prototype.Answer: b 2.The architectural representations can be an enabler for communication among project stakeholders.Answer: a 3.An architectural description is often documented using an architecture template.Answer: b 4.An architectural genre will often dictate the architectural approach that may used for the structure to be built.Answer: a 5.Before an architectural pattern can be chosen for use in a specific system it must have a code implementation to facilitate its reuse.Answer: b 6.Once selected, archetypes always need to be refined further as architectural design proceeds.Answer: a 7.Quantitative methods for assessing the quality of proposed architectural designs are readily available.Answer: b
Chapter 10 Self-Check Quiz
1.In the most general sense a component is a modular building block for computer software.a.True b.False
Answer: a(Section 10.1)
2.In the context of object-oriented software engineering a component contains
a.attributes and operations b.instances of each class c.roles for each actor(device or user)d.set of collaborating classes
Answer: d(Section 10.1.1)
3.In traditional software engineering modules must serve in which of the following roles?
a.Control component b.Infrastructure component c.Problem domain component d.All of the above
Answer: d(Section 10.1.2)
4.Software engineers always need to cerate components from scratch in order to meet customer expectations fully.a.True b.False
Answer: b(Section 10.1.3)
5.Which of the following is not one of the four principles used to guide component-level design?
a.Dependency Inversion Principle b.Interface Segregation Principle c.Open-Closed Principle d.Parsimonious Complexity Principle
Answer: d(Section 10.2.1)
6.The use of stereotypes can help identify the nature of components at the detailed design level.a.True b.False
Answer: a(Section 10.2.2)
7.Classes and components that exhibit functional, layer, or communicational cohesion are relatively easy to implement, test, and maintain.a.True b.False
Answer: a(Section 10.2.3)
8.Software coupling is a sign of poor architectural design and can always be avoided in every system.a.True b.False
Answer: b(Section 10.2.4)
9.WebApp content design at the component level focuses on content objects and the manner in which they interact.a.True b.False
Answer: b(Section 10.4.1)
10.A WebApp functional architecture describes the key functional components and how they interact with each other.a.True b.False
Answer: a(Section 10.4.2)
11.Which of these is a graphical notation for depicting procedural detail?
a.box diagram b.decision table c.ER diagram d.flowchart
Answer: d(Section 10.5.1)
12.A decision table should be used
a.to document all conditional statements b.to guide the development of the project management plan c.only when building an expert system d.when a complex set of conditions and actions appears in a component
Answer: d(Section 10.5.2)
13.A program design language(PDL)is often a
a.combination of programming constructs and narrative text b.legitimate programming language in its own right c.machine readable software development language d.useful way to represent software architecture
Answer: a(Section 10.5.3)
14.In component-based software engineering, the development team examines the requirements to see which are amenable to composition, rather than construction, before beginning detailed design tasks.a.True b.False
Answer: a(Section 10.6)
15.Which of the following is not one of the major activities of domain engineering?
a.analysis b.construction c.dissemination d.validation
Answer: d(Section 10.6.1)
16.Which of the following factors would not be considered during component qualification?
a.application programming interface(API)b.development and integration tools required c.exception handling d.testing equipment required
Answer: d(Section 10.6.2)
17.Which is the following is a technique used for component wrapping?
a.black-box wrapping b.clear-box wrapping c.gray-box wrapping d.white-box wrapping
Answer: b(Section 10.6.2)
18.Which of the following is not one of the issues that form a basis for design for reuse?
a.object-oriented programming b.program templates c.standard data d.standard interface protocols
Answer: a(Section 10.6.3)
19.In a reuse environment, library queries are often characterized using the ________ element of the 3C Model.a.concept b.content c.context d.all of the above
Answer: c(Section 10.6.4)
1.The importance of software design can be summarized in a single word a.b.c.d.Answer: d(Section 8.1)
2.Which of the following is not a characteristic common to all design methods?
a.configuration management b.functional component representation c.quality assessment guidelines d.refinement heuristics
Answer: a(Section 8.2.2)
3.Which of the following can be used to represent the architectural design of a piece of software?
a.Dynamic models b.Functional models c.Structural models d.All of the above
Answer: d(Section 8.3.2)
4.Design patterns are not applicable to the design of object-oriented software?
a.True b.False
Answer: b(Section 8.3.3)
5.Since modularity is an important design goal it is not possible to have too many modules in a proposed design.a.True b.False
Answer: b(Section 8.3.5)
6.Information hiding makes program maintenance easier by hiding data and procedure from unaffected parts of the program.accuracy complexity efficiency quality
a.True b.False
Answer: a(Section 8.3.6)
7.Cohesion is a qualitative indication of the degree to which a module
a.can be written more compactly.b.focuses on just one thing.c.is able to complete its function in a timely manner.d.is connected to other modules and the outside world.Answer: b(Section 8.3.7)
8.Coupling is a qualitative indication of the degree to which a module
a.can be written more compactly.b.focuses on just one thing.c.is able to complete its function in a timely manner.d.is connected to other modules and the outside world.Answer: d(Section 8.3.7)
9.When using structured design methodologies the process of stepwise refinement is unnecessary.a.True b.False
Answer: b(Section 8.3.8)
10.Software designs are refactored to allow the creation of software that is easier to integrate, easier to test, and easier to maintain.a.True b.False
Answer: a(Section 8.3.10)
11.Which of the following is not one of the five design class types
a.Business domain classes b.Entity classes c.Process classes d.User interface classes
Answer: b(Section 8.3.13)
12.Which design model elements are used to depict a model of information represented from the user’s view?
a.Architectural design elements b.Component-level design elements c.Data design elements d.Interface design elements
Answer: c(Section 8.4.1)
13.Which design is equivalent to the floor plan of a house?
a.Architectural design b.Component-level design c.Data design d.Interface design
Answer: a(Section 8.4.2)
14.Which design model is equivalent to the detailed drawings of the access points and external utilities for a house?
a.Architectural design b.Component-level design c.Data design d.Interface design
Answer: d(Section 8.4.3)
15.Which design model is equivalent to a set of detailed drawings for each room in a house?
a.Architectural design b.Component-level design c.Data design d.Interface design
Answer: b(Section 8.4.4)
16.The deployment design elements specify the build order for the software components.a.True b.False
Answer: b(Section 8.4.5)
第五篇:軟件工程總結(jié)
第一章軟件與軟件工程的概念
軟件的概念:軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,軟件包括程序,數(shù)據(jù),及其相關(guān)文檔的完整集合。程序是按事先設(shè)計(jì)的功能和性能要求執(zhí)行的指令序列。數(shù)據(jù)是使程序能夠正確地處理信息的數(shù)據(jù)結(jié)構(gòu)。文檔是與程序開發(fā),維護(hù)和使用有關(guān)的圖文資料。
程序的最小單位是函數(shù)及子程序,程序與數(shù)據(jù)是分離的,在面向?qū)ο蟪绦蛟O(shè)計(jì)時代,程序的最小單位是類,在類中封裝了相關(guān)的數(shù)據(jù)及指令代碼。
軟件的特性,判斷正誤:1.軟件是無形的、不可見的邏輯實(shí)體,因此,軟件是無法描述的。(錯)
2、軟件的開發(fā)特性是指軟件需要大量手工勞動,難以自動化生產(chǎn)。(對)
3、有缺陷的軟件就是廢品。(錯)
4、軟件的生產(chǎn)指的是軟件的復(fù)制。(錯)
5、由于軟件的開發(fā)充滿人的個性特點(diǎn),因此管理并不決定軟件開發(fā)的成?。ㄥe)。
6、軟件的開發(fā)環(huán)境往往就是軟件的運(yùn)行環(huán)境,或者與其兼容。(對)
7、合格的軟件產(chǎn)品不需要維護(hù),軟件需要維護(hù)說明其質(zhì)量不合格。(錯)
8、軟件可以不斷改進(jìn),因此軟件不需要廢棄。(錯)
軟件的分類:1,系統(tǒng)軟件:能與計(jì)算機(jī)硬件緊密配合在一起,使計(jì)算機(jī)系統(tǒng)各個部件,相關(guān)的軟件和數(shù)據(jù)協(xié)調(diào),高效的工作的軟件。2,應(yīng)用軟件,是在系統(tǒng)軟件的支持下,在特定區(qū)域內(nèi)開發(fā),為特定目的服務(wù)的一類軟件。3,支撐軟件,也叫工具軟件,是協(xié)助用戶開發(fā)軟件的工具性軟件。4,可復(fù)用軟件,最初實(shí)現(xiàn)的典型的可復(fù)用軟件是各種標(biāo)準(zhǔn)函數(shù)庫,通常是由計(jì)算機(jī)廠商提供的系統(tǒng)軟件的一部分。
IEEE給出的定義:軟件工程是開發(fā),運(yùn)行,維護(hù)和修復(fù)軟件的系統(tǒng)方法。軟件的定義:計(jì)算機(jī)程序,方法,規(guī)則,相關(guān)的文檔資料一集在計(jì)算機(jī)上運(yùn)行時所必需的數(shù)據(jù)。
軟件危機(jī)的典型表現(xiàn)
1、成本太高,預(yù)算不準(zhǔn)
2、超過預(yù)計(jì)時間
3、軟件質(zhì)量標(biāo)準(zhǔn)不明確
4、生產(chǎn)率低
5、缺乏文檔資料,難以維護(hù)。原因:1,缺乏軟件開發(fā)的經(jīng)驗(yàn)和有關(guān)軟件開發(fā)數(shù)據(jù)的積累,使得開發(fā)工作的計(jì)劃很難制定。2.軟件人員與用戶的交流存在障礙,除了知識背景的差異,缺少合適的交流方法及需求描述工具。3,軟件開發(fā)過程不規(guī)范,缺少方法和規(guī)范的指導(dǎo)。4,隨著軟件規(guī)模的增大,其復(fù)雜性往往會呈指數(shù)級升高。5,缺少有效的軟件評測手段,提交用戶的軟件質(zhì)量差。
軟件危機(jī)發(fā)生的主要原因有:
1、遇到了無法解決的高難度技術(shù)問題(不是)
2、無法招聘到足夠的編程高手(不是)
3、軟件人員與用戶互相不理解(是)
4、計(jì)劃和管理不科學(xué)、落實(shí)不力(是)
5、軟件質(zhì)量標(biāo)準(zhǔn)不明確(是)
軟件的質(zhì)量特性包括(選擇)問題1:
1、功能性
2、可靠性
3、使用性
4、經(jīng)濟(jì)性(不包括)
軟件的質(zhì)量特性包括(選擇)問題2:
1、效率
2、可維護(hù)性
3、可移植性
4、經(jīng)濟(jì)性(不包括)
軟件工程的目標(biāo)是運(yùn)用先進(jìn)的軟件開發(fā)技術(shù)和管理方法來提高軟件的質(zhì)量和生產(chǎn)率,也就是要以較短的周期,較低的成本生產(chǎn)出高質(zhì)量的軟件產(chǎn)品,并最終實(shí)現(xiàn)軟件的工業(yè)化生產(chǎn)。軟件生存期:軟件的孕育,誕生,成長,成熟,衰亡的生存過程。軟件生存期由軟件定義,軟件開發(fā)和運(yùn)行維護(hù)三個時期組成,每個時期又可劃分為若干個階段。
2、軟件定義時期的任務(wù)主要任務(wù)是解決“做什么”的問題,確定工程的總目標(biāo)和可行性;實(shí)現(xiàn)工程目標(biāo)的策略及系統(tǒng)功能;估計(jì)需要的資源和成本;制訂工程進(jìn)度表。通常又分為3個階段:問題定義,可行性研究,需求分析。
3、軟件開發(fā)時期的任務(wù)和包含階段主要任務(wù)是解決“如何做”的問題,設(shè)計(jì)和實(shí)現(xiàn)定義的軟件。由概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和測試4個階段組成。
4、軟件運(yùn)行維護(hù)時期的主要任務(wù)是使軟件持久地滿足用戶的需要,通常有4類維護(hù)活動:改正性維護(hù);適應(yīng)性維護(hù);完善性維護(hù);預(yù)防性維護(hù)。開發(fā)過程中的典型文檔:軟件需求規(guī)格說明書。項(xiàng)目計(jì)劃。軟件測試計(jì)劃。軟件設(shè)計(jì)說明書。用戶手冊。軟件工程各個階段的基本任務(wù)
1、問題定義與可行性研究:解決什么問題?能否解決問題?是否值得做?”
2、需求分析:做什么
3、軟件設(shè)計(jì):如何實(shí)現(xiàn)
4、程序編碼和單元測試:實(shí)現(xiàn)設(shè)計(jì)
5、集成和系統(tǒng)測試:組裝連接測試、功能驗(yàn)證測試
6、軟件運(yùn)行和維護(hù):修改 第二章軟件工程方法與工具
軟件工具:是指能支持軟件生存周期中某一階段(如系統(tǒng)定義,需求分析,設(shè)計(jì),編碼,測試,維護(hù)等)的需要而使用的軟件工具。
需求分析工具
1、結(jié)構(gòu)化圖形工具箱。通過數(shù)據(jù)流程圖DFD進(jìn)行功能分析。包括DFD圖形工具,實(shí)體-關(guān)系圖(E-R)圖形工具,Jackson圖形工具,Warnier圖形工具,Visio綜合工具,2、面向?qū)ο蠊ぞ撸琑ational Rose,PowerDesigner,Visio 設(shè)計(jì)工具(1)概要設(shè)計(jì)工具:設(shè)計(jì)目標(biāo)軟件的體系結(jié)構(gòu)、控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)。軟件的體系結(jié)構(gòu)通常用模塊結(jié)構(gòu)圖來描述。模塊的數(shù)據(jù)結(jié)構(gòu)通常用實(shí)體-關(guān)系圖來描述。Visio。Rational Rose 詳細(xì)設(shè)計(jì)工具。設(shè)計(jì)模塊的算法和內(nèi)部實(shí)現(xiàn)細(xì)節(jié)。詳細(xì)設(shè)計(jì)描述方法有輸入-處理-輸出(IPO)圖。問題分析圖(PAD)。盒圖(NS圖)。流程圖(FC)。程序設(shè)計(jì)語言(PDL)。結(jié)構(gòu)化語言。判定表。判定樹
第三章軟件需求獲取與結(jié)構(gòu)化分析方法 需求獲取的主要任務(wù)是與用戶溝通,了解系統(tǒng)或產(chǎn)品的目標(biāo)是什么,客戶或用戶想要實(shí)現(xiàn)什么,系統(tǒng)和產(chǎn)品如何滿足業(yè)務(wù)的要求,最終系統(tǒng)或產(chǎn)品如何用于日常工作。獲取并理解用戶的需求是軟件工程師所面對的最困難的任務(wù)之一。
需求分析的困難體現(xiàn):系統(tǒng)的目標(biāo)或范圍問題;需求不準(zhǔn)確性問題;需求的易變問題
需求獲取的任務(wù):發(fā)現(xiàn)和分析問題,并分析問題的原因,結(jié)果關(guān)系。與用戶進(jìn)行各種方式的交流,并使用調(diào)查研究方法收集信息。按照三個成分即數(shù)據(jù),過程和接口觀察問題的不同側(cè)面。將獲取的需求文檔化,形式有用例,決策表,決策樹等。需求獲取的原則:深入淺出,以流程為主線。
獲取具體的需求的途徑1,與用戶交流。2,現(xiàn)有產(chǎn)品或競爭產(chǎn)品的描述文檔。3,系統(tǒng)需求規(guī)格說明。4,當(dāng)前系統(tǒng)的問題報(bào)告和改進(jìn)要求。5,市場調(diào)查和用戶問卷調(diào)查。6,觀察用戶如何工作。
關(guān)于需求獲取問題的認(rèn)識辨析:
1、沒有與用戶交流就不可能獲取系統(tǒng)需求。(不能獲取準(zhǔn)確、全面的系統(tǒng)需求)
2、沒有經(jīng)過與用戶交流而獲取的需求都是不真實(shí)的需求。(一些需求從用戶以外的途徑獲取)
3、系統(tǒng)開發(fā)必須獨(dú)立完成,參考類似系統(tǒng)及技術(shù)文檔屬于抄襲行為,應(yīng)予避免。(系統(tǒng)開發(fā)包含研究行為,應(yīng)了解對手產(chǎn)品,取長補(bǔ)短)
4、系統(tǒng)開發(fā)包含改進(jìn)當(dāng)前系統(tǒng)的缺陷和不足。(對)
5、需求調(diào)查時,用戶所說的需求未必是真實(shí)、準(zhǔn)確的需求,因此需求分析需要依賴用戶,但是不能過分迷信用戶。(對,需求描述是困難的)
6、觀察用戶如何工作也是一種需求調(diào)查行為。(對)
軟件需求分析階段的任務(wù):需求獲取,需求分析,需求定義,需求驗(yàn)證。完整性,正確性,合理性,可行性,充分性。
結(jié)構(gòu)化分析方法:是一種建模技術(shù)。核心是數(shù)據(jù)字典。
功能模型用數(shù)據(jù)流圖(DFD)來描述使用實(shí)體—關(guān)系圖(ER圖)建立數(shù)據(jù)模型。使用狀態(tài)轉(zhuǎn)換圖(簡稱狀態(tài)圖)建立系統(tǒng)行為模型。數(shù)據(jù)字典。加工規(guī)格說明。需求建模的依據(jù)是需求描述
數(shù)據(jù)建模,ER圖,需要認(rèn)真看。
第四章結(jié)構(gòu)化設(shè)計(jì)方法
結(jié)構(gòu)化設(shè)計(jì)方法是在模塊化,自頂向下逐步細(xì)化及結(jié)構(gòu)化程序設(shè)計(jì)技術(shù)基礎(chǔ)上發(fā)展起來的,結(jié)構(gòu)化設(shè)計(jì)方法可分為兩類:一類是根據(jù)系統(tǒng)的數(shù)據(jù)流進(jìn)行設(shè)計(jì),稱為面向數(shù)據(jù)流的設(shè)計(jì),或稱過程驅(qū)動設(shè)計(jì),另一類是根據(jù)系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計(jì),稱為面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì),或稱數(shù)據(jù)驅(qū)動的設(shè)計(jì)。
軟件的體系結(jié)構(gòu)設(shè)計(jì),模塊化設(shè)計(jì)都是分而治之策略的具體表現(xiàn)。模塊化是將整體軟件劃分為獨(dú)立命名且可獨(dú)立訪問的模塊,不同的模塊通常具有不用的功能或指責(zé),每個模塊可獨(dú)立開發(fā),測試,最后組裝成完整的軟件。模塊是構(gòu)成軟件的基本構(gòu)件。模塊并不是越小越好,當(dāng)模塊數(shù)目增加時,每個模塊的規(guī)模將減小,開發(fā)單個模塊的成本確實(shí)減少了,但是隨著模塊數(shù)目增加,模塊之間關(guān)系的復(fù)雜程度也會增加,設(shè)計(jì)模塊間接口所需要的工作量也將增加。
模塊的獨(dú)立性是指軟件系統(tǒng)中每個模塊只涉及軟件要求的具體的子功能,而與軟件系統(tǒng)中其他模塊的接口是簡單的,若一個模塊只具有單一的功能且與其他模塊沒有太多的聯(lián)系,那么稱此模塊有獨(dú)立性。
自頂向下,逐步細(xì)化:抽象是指忽視一個主題中與當(dāng)前目標(biāo)無關(guān)的方面,以便更充分地注意與當(dāng)前目標(biāo)有關(guān)的方面,當(dāng)我們進(jìn)行軟件設(shè)計(jì)時,設(shè)計(jì)開始時應(yīng)盡量提高軟件的抽象層次,按抽象級別從高到低進(jìn)行軟件設(shè)計(jì),將軟件的體系結(jié)構(gòu)按自頂向下方式,對各個層次的過程細(xì)節(jié)和數(shù)據(jù)細(xì)節(jié)逐層細(xì)化,直到用程序設(shè)計(jì)語言的語句能夠?qū)崿F(xiàn)為止,從而最后確定整個系統(tǒng)的體系結(jié)構(gòu),這就是自頂向下逐步細(xì)化過程。
復(fù)用是指同一事物不做修改或稍加修改就可以多次重復(fù)使用,將服用的思想用于軟件開發(fā),稱為軟件復(fù)用。1是盡量使用已有的構(gòu)件。2是如果確實(shí)需要創(chuàng)建新的構(gòu)件,則在設(shè)計(jì)時應(yīng)該考慮將來的可重復(fù)使用性。軟件設(shè)計(jì)的階段與任務(wù):從工程管理的角度,可以將軟件設(shè)計(jì)分為概要設(shè)計(jì)階段和詳細(xì)設(shè)計(jì)階段。從技術(shù)的角度,傳統(tǒng)的結(jié)構(gòu)化方法將軟件設(shè)計(jì)劃分為體系結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、接口設(shè)計(jì)和過程設(shè)計(jì)4部分;概要設(shè)計(jì)包括體系結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、接口設(shè)計(jì)。詳細(xì)設(shè)計(jì)即過程設(shè)計(jì),對結(jié)構(gòu)表示進(jìn)行細(xì)化,得到軟件詳細(xì)的數(shù)據(jù)結(jié)構(gòu)和算法。
軟件設(shè)計(jì)各項(xiàng)設(shè)計(jì)工作的依據(jù):體系結(jié)構(gòu)設(shè)計(jì),定義軟件模塊及其之間的關(guān)系,依賴于數(shù)據(jù)流圖。數(shù)據(jù)設(shè)計(jì),依賴于ER圖。接口設(shè)計(jì),依賴于頂層數(shù)據(jù)流圖。過程設(shè)計(jì):依賴于加工規(guī)格說明、狀態(tài)圖
基于數(shù)據(jù)流方法的設(shè)計(jì)過程:1.復(fù)查并精化數(shù)據(jù)流圖。2.確定數(shù)據(jù)流圖中數(shù)據(jù)流的類型,典型的數(shù)據(jù)流類型有變換型數(shù)據(jù)流和事務(wù)型數(shù)據(jù)流。3.導(dǎo)出初始的軟件結(jié)構(gòu)圖。4.逐級分解。5.精化軟件結(jié)構(gòu)。6.導(dǎo)出接口描述和全局?jǐn)?shù)據(jù)結(jié)構(gòu)。
軟件模塊結(jié)構(gòu)的改進(jìn)方法:1,模塊功能的完善化。2,消除重復(fù)功能,改善軟件結(jié)構(gòu)。3,模塊的作用范圍應(yīng)在控制范圍之內(nèi)。4,盡可能減少高扇出結(jié)構(gòu),隨著深度增大扇入。5,避免或減少使用病態(tài)連接。6,模塊的大小要適中。接口設(shè)計(jì)的依據(jù)是數(shù)據(jù)流圖中的自動化系統(tǒng)邊界。
自頂向下,逐步細(xì)化的設(shè)計(jì)過程主要包括兩個方面:一是將復(fù)雜問題的解法分析和細(xì)化成由若干個模塊組成的層次結(jié)構(gòu),二是將每個模塊的功能逐步分解細(xì)化為一系列的處理。第五章編碼
編碼容易出現(xiàn)的風(fēng)格不足
1、變量或函數(shù)名字缺乏具體含義
2、變量或函數(shù)名字與其用途不符
3、變量或函數(shù)未加上必要的注釋
4、函數(shù)未說明其功能、參數(shù)的意義
5、引用的符號未加以解釋和說明
6、對循環(huán)等重要的程序語句未注釋
7、對用到的重要庫函數(shù)沒有解釋說明
8、對結(jié)構(gòu)體等復(fù)雜數(shù)據(jù)結(jié)構(gòu)的組成成分沒有解釋說明
9、缺乏必要的提示語句 第六章軟件測試方法
軟件測試是在軟件投入生產(chǎn)性運(yùn)行之前,對軟件需求分析,設(shè)計(jì)規(guī)格說明和編碼的最終復(fù)審,是軟件質(zhì)量控制的關(guān)鍵步驟。軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。