欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      中南大學(xué)軟件學(xué)院軟件工程基礎(chǔ)復(fù)習(xí)大全

      時間:2019-05-15 12:50:34下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《中南大學(xué)軟件學(xué)院軟件工程基礎(chǔ)復(fù)習(xí)大全》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《中南大學(xué)軟件學(xué)院軟件工程基礎(chǔ)復(fù)習(xí)大全》。

      第一篇:中南大學(xué)軟件學(xué)院軟件工程基礎(chǔ)復(fù)習(xí)大全

      1.瀑布模型是以文檔為驅(qū)動、適合于(軟件需求確定的)軟件項目的開發(fā)。

      2.需求分析的基本任務(wù)是(確定用戶需要軟件做什么)。

      3.若有一個計算類型的程序,它的輸入量只有一個X,其范圍是[-1.0,1.0],現(xiàn)從輸入的角度考慮一組測試用例:-1.001,-1.0,1.0,1.001。設(shè)計這組測試用例的方法是(邊界值分析法)。

      4.根據(jù)程序流程圖劃分的模塊通常是(過程)內(nèi)聚的模塊。

      5.軟件的分類,按其功能可分為:系統(tǒng)軟件、(支撐軟件)和應(yīng)用軟件。

      6.UML的定義包括UML語義和(UML表示法)兩個部分。

      7.客觀世界中的若干類,通常有兩種主要的結(jié)構(gòu)關(guān)系:即分類結(jié)構(gòu)和(整體與部分結(jié)構(gòu))。

      8.IDEF1X圖用來描述系統(tǒng)的(數(shù)據(jù))模型,主要有實(shí)體、聯(lián)系和(屬性)三種成分,其中實(shí)體可分為獨(dú)立實(shí)體和(從屬實(shí)體),且一個實(shí)體只能在圖中出現(xiàn)一次。

      9、軟件是計算機(jī)程序、(描述計算機(jī)程序的文檔)及(數(shù)據(jù))的完整集合,將其統(tǒng)稱為軟件配置,這些項稱為軟件配置項。通過正式復(fù)審的軟件配置項稱為(基線),只有通過正式的變化控制過程才能改變它。

      10、通常,將軟件生命周期全過程中使用的一整套技術(shù)方法的集合稱為方法學(xué),包含三個要素,即方法、(工具)和(過程)。傳統(tǒng)方法學(xué)采用(結(jié)構(gòu)化)技術(shù)來自頂向下順序地完成軟件開發(fā)的各項任務(wù),而面向?qū)ο蠓椒ㄊ且环N以(數(shù)據(jù))為主線,把數(shù)據(jù)和對數(shù)據(jù)的操作緊密地結(jié)合起來的方法,其開發(fā)過程是一個多次迭代的演化過程。

      11、軟件測試的目標(biāo)是(暴露程序中的錯誤),因而從心理學(xué)角度來看,由程序作者對自己編寫的程序進(jìn)行測試是不恰當(dāng)?shù)?。設(shè)計測試方案是測試階段的關(guān)鍵技術(shù)問題,測試方案一般包括(測試目的)、輸入的測試數(shù)據(jù)和(預(yù)期的結(jié)果)。

      12、模型是為了理解事物而對事物作出的一種抽象,由(一組圖示符號)和(組織這些符號的規(guī)則)組成。對象模型描述了系統(tǒng)的靜態(tài)結(jié)構(gòu),通常使用UML提供的(類圖)圖來描述。

      13、需求分析的基本任務(wù)是(準(zhǔn)確地回答系統(tǒng)必須做什么),在需求分析結(jié)束前,系統(tǒng)分析員應(yīng)該寫出(軟件需求規(guī)格說明書),以書面的形式準(zhǔn)確描述軟件需求。

      14、面向數(shù)據(jù)流的設(shè)計方法把(信息流)映射成軟件結(jié)構(gòu),依據(jù)其類型的不同,有兩種不同的映射方法,分別是(變化分析)和(事物分析)方法。

      15、軟件設(shè)計一般分為(概要設(shè)計)和(詳細(xì)設(shè)計)兩個階段。

      16.如果一個模塊完成多個邏輯上相近或相關(guān)的功能,并且每次調(diào)用只選擇該模塊中的一個功能執(zhí)行,則稱此模塊為 邏輯內(nèi)聚的模塊。

      17.在數(shù)據(jù)流圖中,每個加工至少有一個輸入數(shù)據(jù)流 和一個 輸出數(shù)據(jù)流。

      18.軟件項目計劃是計劃(策劃)階段的結(jié)果產(chǎn)品。但由于是在高層次進(jìn)行系統(tǒng)分析,未能考慮軟件系統(tǒng)開發(fā)的細(xì)節(jié)情節(jié),因此軟件項目計劃一般在需求分析 階段完成后才定稿的。

      19.在面向?qū)ο箢悓哟谓Y(jié)構(gòu)中,子類只繼承一個父類的數(shù)據(jù)結(jié)構(gòu)和方法,則稱為 單重繼承。如果子類繼承了多個父類的數(shù)據(jù)結(jié)構(gòu)和方法,則稱為多重繼承。

      20.在軟件測試過程中,α測試是由 一個用戶在開發(fā) 環(huán)境下進(jìn)行的測試,而β測試是由多個用戶在 實(shí)際使用環(huán)境下進(jìn)行的測試。

      21.統(tǒng)一建模語言UML提供了兩種描述整體/部分關(guān)系的方法,分別是聚合 和 組合。

      22.瀑布模型是以文檔 驅(qū)動的軟件生存周期模型,適合需求明確的軟件系統(tǒng)開發(fā)。23.IDEF1X方法用來建立系統(tǒng)的數(shù)據(jù) 模型。

      24.在單元測試期間,應(yīng)該為被測模塊編寫相應(yīng)的測試軟件,一般地驅(qū)動 模塊接收測試數(shù)據(jù),并把數(shù)據(jù)傳給被測模塊,而樁 模塊則模擬實(shí)際模塊完成少量數(shù)據(jù)處理。

      25.評估軟件企業(yè)的質(zhì)量管理有兩種方法,一種是按照ISO9001 認(rèn)證,另外一種是按照CMM認(rèn)證。

      1.軟件測試的目的是(發(fā)現(xiàn)錯誤)。

      2.軟件按服務(wù)對象可分為項目軟件和(產(chǎn)品軟件)。

      3.在常見的軟件生存期模型中,(螺旋)模型是風(fēng)險驅(qū)動的。

      4.UML通過三種擴(kuò)展機(jī)制來擴(kuò)充UML的建模能力,分別是(約束)、構(gòu)造型和(標(biāo)記值)。

      5.在軟件測試用例的設(shè)計方法中,白盒法以(程序內(nèi)部數(shù)據(jù)結(jié)構(gòu))為依據(jù)設(shè)計測試用例,6.在面向?qū)ο笤O(shè)計原則中,(組裝復(fù)用)原則要求在新的對象里盡量使用已有的類對應(yīng)的對象,并通過(委派)達(dá)到復(fù)用已有功能的目的。

      7.狀態(tài)圖描述一個類對象所經(jīng)歷的(各種狀態(tài))以及事件發(fā)生時狀態(tài)的(轉(zhuǎn)移條件).8.SOFL軟件開發(fā)方法學(xué)認(rèn)為,在需求分析和規(guī)格說明階段應(yīng)該采用(結(jié)構(gòu)化)方法,而在設(shè)計和實(shí)現(xiàn)階段則應(yīng)該采用(面向?qū)ο螅┓椒ā?/p>

      9.可行性研究的內(nèi)容包括(技術(shù)可行性)、經(jīng)濟(jì)可行性和(操作可行性)。軟件按服務(wù)對象可分為(項目軟件)和產(chǎn)品軟件在常見的軟件生存周期模型中,(瀑布)模型是文檔驅(qū)動的UML采用(用例)圖描述系統(tǒng)與外部用戶的交互行為在軟件測試用例的設(shè)計方法中,黑盒法以(外部功能)為依據(jù)設(shè)計測試用例定性度量模型獨(dú)立性的兩個標(biāo)準(zhǔn)是(內(nèi)聚度)和(耦合度)8 在SA方法的需求描述工具中,(層次方框圖)描述系統(tǒng)的分解,即描述系統(tǒng)由哪幾個部分組成,各部分之

      間有什么聯(lián)系等等;(數(shù)據(jù)詞典(和加工說明))定義了數(shù)據(jù)流圖中每個圖形元素;結(jié)構(gòu)化語言、判定

      表或判定樹則詳細(xì)描述、數(shù)據(jù)流圖中不能被分解的(基本加工)IDEFO圖主要元素是簡單的盒子及箭頭,其中盒子代表(活動)。而箭頭表示系統(tǒng)處理的(數(shù)據(jù)約束)

      1.什么是軟件工程?軟件工程和計算機(jī)科學(xué)有何區(qū)別? 答:軟件工程是指導(dǎo)軟件開發(fā)和維護(hù)的工程性學(xué)

      科;計算機(jī)科學(xué)著重于原理和理論,軟件工程與計算機(jī)科學(xué)不同,軟件工程著重于如何建造軟件系統(tǒng),軟

      件是計算機(jī)中看不見摸不著的邏輯部分,以程序、數(shù)據(jù)和文檔的形式出現(xiàn)。

      2.面向?qū)ο蠓椒ê徒Y(jié)構(gòu)化方法有何區(qū)別與聯(lián)系? 答:區(qū)別: 面向?qū)ο髲乃幚淼臄?shù)據(jù)入手,以數(shù)據(jù)為中

      心來描述系統(tǒng),其基本思想是盡可能模擬人類習(xí)慣的思維方式,使開發(fā)軟件的方法與過程盡可能接近人類

      認(rèn)識世界的方法與過程,基本原則為:對象+類+繼承+消息通信 結(jié)構(gòu)化方法首先關(guān)心的是功能,強(qiáng)調(diào)以模

      塊為中心,其基本思想是自頂向下,逐步求精,單入口,單出口,基本原則為:抽象與功能的分解 聯(lián)系:

      軟件開發(fā)過程中,在需求分析和規(guī)格說明階段采用結(jié)構(gòu)化方法,在設(shè)計和實(shí)現(xiàn)階段采用面向?qū)ο蠓椒ā?/p>

      3.什么是模塊的作用域和模塊的控制域?為何要求模塊的控制域必須在作用域內(nèi)? 答:模塊的作用域是

      指模塊中判定的作用范圍,它是指所有受這個判定范圍影響的模塊;模塊的控制域是指模塊本身及其直接

      或間接調(diào)用的模塊;如果模塊的作用域不在控制域內(nèi),則會增加數(shù)據(jù)間的傳遞量,使模塊間出現(xiàn)控制耦合4.什么是設(shè)計模式?試舉例說明組合設(shè)計模式的應(yīng)用。答:設(shè)計模式是指系統(tǒng)命名,解釋和評價某一重要的,可復(fù)用的面向?qū)ο蟮脑O(shè)計方案。組合設(shè)計模式:使用迭代器模式來遍歷組合結(jié)構(gòu)。

      5.什么是依賴倒置原則?它和開閉原則有何聯(lián)系? 答:依賴倒置是類設(shè)計原則的一種,它要求高層不應(yīng)

      依賴于底層,抽象不應(yīng)依賴于細(xì)節(jié);依賴倒置原則的本質(zhì)其實(shí)就是通過抽象(抽象類或接口)使各個類或

      模塊的實(shí)現(xiàn)彼此獨(dú)立,不相互影響,實(shí)現(xiàn)模塊間的松耦合,如果沒有實(shí)現(xiàn)這個原則,則開閉原則也無法實(shí)

      現(xiàn)。

      6.軟件生存期過程和軟件生存期模型有何聯(lián)系?瀑布模型有何特點(diǎn)?答:軟件生存期過程沒有規(guī)定一個特

      定的生存周期模型,各軟件開發(fā)機(jī)構(gòu)可視其項目的需要選擇一種軟件生存周期模型,并將軟件生存期過程

      所含過程、活動和任務(wù)映射到選定的軟件生存周期模型中。軟件生存期模型是軟件生存期過程所含過程、活動和任務(wù)的映射。瀑布模型特點(diǎn):各階段相互依賴;每階段都進(jìn)行評審;強(qiáng)調(diào)需求分析和設(shè)計。

      1.瀑布模型是軟件工程中應(yīng)用最廣泛的過程模型,試述采用瀑布模型進(jìn)行軟件開發(fā)的基本過程,該過程有

      何特點(diǎn)? 答:瀑布模型規(guī)定了各項軟件工程活動,包括需求分析、規(guī)格說明、設(shè)計、編碼、測試和維護(hù),并規(guī)定了它們自上而下、相互銜接的固定次序,如同瀑布流水,逐級而下。瀑布模型的特點(diǎn)是:階段間具

      有順序性和依賴性;清楚區(qū)分邏輯設(shè)計和物理設(shè)計,盡可能推遲程序的物理實(shí)現(xiàn);每個階段都必須完成規(guī)

      定文檔,且每階段結(jié)束前需要對完成的文檔進(jìn)行評審。

      2、什么是軟件配置管理?軟件配置管理和軟件維護(hù)有何不同? 答:軟件配置管理是在軟件生命周期內(nèi)管理變

      化的一組活動,用來:標(biāo)識變化、控制變化、確保適當(dāng)?shù)貙?shí)現(xiàn)了變化、向相關(guān)人員報告變化。

      軟件配置管理和軟件維護(hù)的區(qū)別是:軟件配置管理是一組追蹤和控制活動,在軟件項目啟動時就開始,并

      一直持續(xù)到軟件被淘汰后才終止;軟件維護(hù)是一組軟件工程活動,發(fā)生于軟件交付給用戶并投入運(yùn)行之后。

      3、試舉例說明聚集關(guān)系中共享聚集和組合聚集有何不同。答:如果在聚集關(guān)系中部分對象可同時參與多個

      整體對象的構(gòu)成,則該聚集稱為共享聚集。例如,一個課題組包含許多成員,每個成員又可以是另一個課

      題組的成員,則課題組和成員之間是一種共享聚集的關(guān)系。

      如果部分對象完全隸屬于整體對象,并與整體對象共存,則該聚集稱為組合聚集。例如,在屏幕上一個窗

      口由文本框、列表框、按鈕和菜單等構(gòu)成,且一旦關(guān)閉了窗口,則各組成部分也消失,則窗口和它的組成部分之的關(guān)系為組合聚集關(guān)系。

      1非漸增式測試與漸增式測試有何區(qū)別? 答:非漸增式測試,一般應(yīng)先經(jīng)過單元測試,然后再把所有模塊一

      次性組裝在一起進(jìn)行測試,最終得到要求的軟件系統(tǒng);而漸增式測試則采用逐步加入模塊或功能簇的方式

      進(jìn)行,在加入過程中邊連接邊測試,比較容易定位和修正錯誤,且接口也可以更容易進(jìn)行徹底地測試2.試舉例說明什么是功能性需求,什么是非功能性需求?為何非功能性需求往往比功能性需求還要重

      要? 答:功能性需求是說有具體的完成內(nèi)容的需求。例如:比如客戶登錄、郵箱網(wǎng)站的收發(fā)郵件、論壇網(wǎng)

      站的發(fā)帖留言等。非功能性需求是指軟件產(chǎn)品為滿足用戶業(yè)務(wù)需求而必須具有且除功能需求以外的特性,包括系統(tǒng)的性能、可靠性、可維護(hù)性、可擴(kuò)充性和對技術(shù)和對業(yè)務(wù)的適應(yīng)性等。例如:性能要求:要求系

      統(tǒng)能滿足100個人同時使用,頁面反應(yīng)時間不能超過6秒;非功能性需求往往比功能性需求還要重要是因?yàn)?/p>

      非功能性需求描述的是軟件的質(zhì)量屬性,直接影響著用戶體驗(yàn),因此非功能性需求在決定系統(tǒng)成敗的因素

      中起更重要的作用。

      3.層次圖和層次方框圖有何區(qū)別? 答:不同:1,層次圖描繪軟件的層次結(jié)構(gòu).層次方框圖描繪的是數(shù)據(jù)結(jié)

      構(gòu)。2,層次圖的方框表示模塊或子模塊。層次方框圖的方框表示數(shù)據(jù)結(jié)構(gòu)整體或其子集。3,層次圖的連線表

      示調(diào)用關(guān)系,層次方框圖表示組成關(guān)系。

      4.快速原型模型有幾種?各有何特點(diǎn)?答:快速原形模型根據(jù)原型的不同作用,有三類原型模型:

      (1)探索型原型:把原型用于開發(fā)的需求分析階段,目的是要弄清用戶的需求,確定所期望的特性,并探索

      各種方案的可行性。它主要針對開發(fā)目標(biāo)模糊,用戶與開發(fā)者對項目都缺乏經(jīng)驗(yàn)的情況,通過對原型的開

      發(fā)來明確用戶的需求。

      (2)實(shí)驗(yàn)型原型:主要用于設(shè)計階段,考核實(shí)現(xiàn)方安是否合適,能否實(shí)現(xiàn)。對于一個大型系統(tǒng),若對設(shè)計方

      案心中沒有把握時,可通過這種原型的開發(fā)來證實(shí)設(shè)計方案的正確性。

      (3)演化型原型:它將原型思想擴(kuò)展到軟件開發(fā)的全過程,就是及早向用戶提交一個原型系統(tǒng),在得到用戶

      認(rèn)可后,將原型系統(tǒng)不斷擴(kuò)充演化為最終的軟件系統(tǒng)。

      2.什么是模塊的作用域?為何設(shè)計軟件結(jié)構(gòu)時要求模塊的作用域必須在控制域之內(nèi)? 答:所謂模塊的作

      用域是指模塊判定的影響范圍。作用域在控制域之內(nèi),可使得軟件修改時代碼局部化。

      3.什么是動態(tài)測試?為何靜態(tài)測試方法往往比動態(tài)測試方法效率高? 答:動態(tài)測試是指經(jīng)運(yùn)行程序代碼

      而檢查代碼是否存在錯誤。靜態(tài)測試往往不是運(yùn)行代碼,而在軟件開發(fā)的早期進(jìn)行,而早期錯誤發(fā)現(xiàn)要比

      錯誤晚發(fā)現(xiàn)付出的成本少,而靜態(tài)測試往往在發(fā)現(xiàn)錯誤后還可繼續(xù)進(jìn)行,但動態(tài)測試往往需要停下來改進(jìn)后才能進(jìn)一步測試。1 試簡要說明面向?qū)ο蠓椒ㄅc結(jié)構(gòu)化方法相比有何優(yōu)越性,至少列出三點(diǎn)。答:(1)強(qiáng)調(diào)從現(xiàn)實(shí)世界中客觀

      存在的事物(對象)出發(fā)來認(rèn)識問題域和構(gòu)造系統(tǒng),這就使系統(tǒng)開發(fā)者大大減少了對問題域的理解難度,從而使系統(tǒng)能更準(zhǔn)確地反映問題域。(2)運(yùn)用人類日常的思維方法和原則(體現(xiàn)于OO方法的抽象、分類、繼承、封裝、消息通訊等基本原則)進(jìn)行系統(tǒng)開發(fā),有益于發(fā)揮人類的思維能力,并有效地控制了系統(tǒng)復(fù)

      雜性。(3)對象的概念貫穿于開發(fā)過程的終,使各個開發(fā)階段的系統(tǒng)成分具良好的對應(yīng),從而顯著地提高

      了系統(tǒng)的開發(fā)效率與質(zhì)量,并大大降低系統(tǒng)維護(hù)的難度。(4)對象概念的一致性,使參與系統(tǒng)開發(fā)的各類

      人員在開發(fā)的各所段具有共同語言,有效地改善了人員之間的交流和協(xié)作。(5)對象的相對穩(wěn)定性和對易

      變因素隔離,增強(qiáng)了系統(tǒng)的應(yīng)變能力。(6)對象類之間的繼承關(guān)系和對象的相對獨(dú)立性,對軟件復(fù)用提供

      了強(qiáng)有力的支持。1.什么是軟件危機(jī)?軟件危機(jī)是指在計算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。這些問題

      表現(xiàn)在以下幾個方面:(1)用戶對開發(fā)出的軟件很難滿意。(2)軟件產(chǎn)品的質(zhì)量往往靠不住。(3)一般軟件很

      難維護(hù)。4)軟件生產(chǎn)效率很低。(5)軟件開發(fā)成本越來越大。(6)軟件成本與開發(fā)進(jìn)度難以估計。7)軟件技術(shù)的發(fā)展遠(yuǎn)遠(yuǎn)滿足不了計算機(jī)應(yīng)用的普及與深入的需要。

      2.什么是軟件生存周期?軟件生存周期是指從軟件定義、開發(fā)、使用、維護(hù)到淘汰的全過程。

      1.軟件開發(fā)模型有幾種?它們的開發(fā)方法有可特點(diǎn)?軟件開發(fā)模型有瀑布型、漸增型和變換型。瀑布型開

      發(fā)方法是按照軟件生存周期的劃分依次實(shí)施,每一個階段有明確規(guī)定的任務(wù)。它的特點(diǎn):(1)各個階段的順

      序性和依賴性;(2)劃分邏輯設(shè)計與物理設(shè)計,盡可能推遲程序的物理實(shí)現(xiàn);3)每個階段必須完成規(guī)定的文

      檔,對其中問題通過復(fù)審及早發(fā)現(xiàn),及早解決。漸增型開發(fā)方法及特點(diǎn):1)從部分需求出發(fā),先建立一個不

      完全的系統(tǒng),通過測試運(yùn)行該系統(tǒng)取得經(jīng)驗(yàn)和信息反饋,加深對軟件需求的理解,進(jìn)一步使系統(tǒng)擴(kuò)充和完

      善。如此反復(fù),直至軟件人員和用戶對所設(shè)計完成的軟件系統(tǒng)滿意為止。2)在漸增型開發(fā)下的軟件是隨軟

      件開發(fā)的過程而逐漸形成的。(3)漸增型開發(fā)方法適合于知識型軟件的開發(fā),設(shè)計系統(tǒng)時對用戶需求的認(rèn)識

      開始不是很清楚的,需要在開發(fā)過程中不斷認(rèn)識、不斷獲得新的知識去豐富和完善系統(tǒng)。多數(shù)研究性質(zhì)的試驗(yàn)軟件,一般采用此方法。變換型開發(fā)方法及特點(diǎn):(1)從軟件需求的形式化規(guī)格說明出發(fā),經(jīng)過一系列的程序變換,得到最終的程序系統(tǒng)。(2)該方法必須有嚴(yán)格的數(shù)學(xué)理論和形式化技術(shù)的支持。

      2.功能與對象的區(qū)別?

      1、功能比對象容易變化(功能相對不穩(wěn)定)

      2、功能是主觀的,對象是可觀的。

      3、功能是可以調(diào)用的,要么全有,要么全無,而對象可以部分的繼承使用。

      3. 軟件開發(fā)過程可視化的兩種方法?文檔驅(qū)動、小批量發(fā)布

      4.風(fēng)險分析的目的?對風(fēng)險進(jìn)行管理。

      5. 傳遞信息的方法?

      1、參數(shù)。

      2、全局變量。

      3、公共可訪問區(qū)域。

      6.?dāng)?shù)據(jù)建模的作用?

      1、抓住問題的主要方面---理解問題。

      2、便于交流。

      3、可以進(jìn)行分析(性能、可靠

      性、、、、、、)。

      4、可以自動生成代碼。

      7. 描述模型的兩種方法?

      1、結(jié)構(gòu)化方法:結(jié)構(gòu)化方法首先關(guān)心的是功能,強(qiáng)調(diào)以模塊為中心,采用模

      塊化、自頂向下、逐步求精設(shè)計過程(分層),適合需求明確的模型。其不足之處:不太適應(yīng)規(guī)模大及

      特別復(fù)雜的項目,難于解決軟件重用問題,難于適應(yīng)需求變化或模糊的問題,軟件維護(hù)比較復(fù)雜。

      2、面向

      對象方法:面向?qū)ο蠓椒▌t從所處理的數(shù)據(jù)入手,以數(shù)據(jù)為中心來描述系統(tǒng),適合迭代增量式分解(網(wǎng)狀)。

      其不足之處:類作為復(fù)用單元,有時顯得太小,類繼承會增加類間的耦合度,該方法不夠成熟。

      8. 描述作業(yè)之間的關(guān)系?

      1、畫PERT圖。

      2、確定最晚發(fā)生時刻與最早發(fā)生時刻。

      3、計算機(jī)動時間,為0 的為關(guān)鍵事件。

      4、Gantt圖的方法進(jìn)行描述。

      9. 用例與功能的區(qū)別?

      1、完成一個用例需要若干功能。

      2、用例是從用戶使用系統(tǒng)的角度來描述系統(tǒng)的行為的。

      3、用例往往是對用戶有價值的結(jié)果。

      4、用例滿足用戶的業(yè)務(wù)目標(biāo)。

      10. 描述模塊獨(dú)立性的標(biāo)準(zhǔn)?內(nèi)聚度(內(nèi)聚度是指模塊內(nèi)部各成分聯(lián)系緊密的程度,內(nèi)聚度越高,模塊獨(dú)

      立性越強(qiáng))耦合度(耦合度是指模塊之間相互關(guān)聯(lián)的緊密程度。耦合度越低,模塊獨(dú)立性越強(qiáng))

      11.什么是黑盒測試?黑盒測試主要采用的技術(shù)有哪些? 黑盒測試也稱為功能測試,它著眼于程序的外部特

      征,而不考慮程序的內(nèi)部邏輯結(jié)構(gòu)。測試者把被測程序看成一個黑盒,不用關(guān)心程序的內(nèi)部結(jié)構(gòu)。黑盒測試是

      在程序接口處進(jìn)行測試,它只檢查程序功能是否能按照規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟?/p>

      收輸入數(shù)據(jù)產(chǎn)生正確的輸出信息,并且保持外部信息(如數(shù)據(jù)庫或文件)的完整性。黑盒測試主要采用的技

      術(shù)有:等價分類法、邊沿值分析法、錯誤推測法和因果圖等技術(shù)。

      12.什么是白盒測試?白盒測試主要采用的技術(shù)有哪些?測試者了解被測程序的內(nèi)部結(jié)構(gòu)和處理過程,對程序的所有邏輯路徑進(jìn)行測試,在不同點(diǎn)檢查程序狀態(tài),確定實(shí)際狀態(tài)與預(yù)期狀態(tài)是否一致。白盒測試主要采用的技術(shù)有:路徑測試技術(shù)和事務(wù)處理流程技術(shù),對包含有大量邏輯判斷或條件組合的程序采用基于邏輯的測試技術(shù)。

      13. 瀑布模型的優(yōu)缺點(diǎn)?優(yōu)點(diǎn):1.流水線生產(chǎn)比個人生產(chǎn)效率高,質(zhì)量好。2.將邏輯設(shè)計與物理實(shí)施分開,避免無用功。減少成本,能盡量推遲物理實(shí)施。3.文檔驅(qū)動使得開發(fā)過程可視化,便于管理和控制。缺點(diǎn):

      1.當(dāng)需求不明確時,流水線被阻塞。2.得不到用戶的反饋,開發(fā)過程得不到修正,導(dǎo)致有可能出現(xiàn)大的失誤。3.最后將產(chǎn)品一次提交給用戶,用戶感到不適應(yīng),成本增加,市場風(fēng)險加大。

      14.軟件工程的目的?以期用較少的代價獲取高質(zhì)量的軟件。

      第二篇:中南大學(xué)軟件學(xué)院架構(gòu)超強(qiáng)復(fù)習(xí)

      ? JDBC是用來執(zhí)行SQL的Java API,開發(fā)人員可以使用這些標(biāo)準(zhǔn)API來迎接和操作數(shù)據(jù)庫,實(shí)現(xiàn)數(shù)據(jù)庫

      應(yīng)用程序的開發(fā)。JDBC是Java的規(guī)范,考慮到規(guī)范的適應(yīng)性,JDBC只提供了最直接的數(shù)據(jù)庫操作規(guī)范,在Java.sql包中。2種主要的JDBC連接方式:ODBC橋驅(qū)動技術(shù)和JDBC純驅(qū)動模式。ODBC驅(qū)動程序是由微軟設(shè)計和開發(fā)的一種通用的標(biāo)準(zhǔn)的操作數(shù)據(jù)庫的API,也可以認(rèn)為是一種數(shù)據(jù)庫系統(tǒng)應(yīng)用程序的接口規(guī)范。純驅(qū)動技術(shù)是一種由各個數(shù)據(jù)庫廠商提供的驅(qū)動程序,其通過協(xié)議的方式,將應(yīng)用程序的SQL語句直接發(fā)送到數(shù)據(jù)庫的DBMS執(zhí)行,并返回結(jié)果。JDBC 可做三件事:與數(shù)據(jù)庫建立連接執(zhí)行SQL 語句、處理結(jié)果。使用JDBC直連DB的缺點(diǎn):1.在某一時刻連接必須服務(wù)于一個用戶,以免造成事務(wù)沖突。2.創(chuàng)建連接需要耗費(fèi)時間。3.保持連接打開狀態(tài)的代價很大。使用數(shù)據(jù)庫連接池的優(yōu)點(diǎn):1.資源重用 2. 更快的系統(tǒng)響應(yīng)速度 3. 統(tǒng)一的連接管理,避免數(shù)據(jù)庫連接泄漏? Servlet是一種獨(dú)立于平臺和協(xié)議的服務(wù)器端的Java應(yīng)用程序,可以生成動態(tài)的Web頁面。Servlet

      能干什么:1.根椐請求創(chuàng)建并響應(yīng)整個 HTML Web 頁面,根據(jù)客戶請求的性質(zhì)而具有動態(tài)內(nèi)容。2.創(chuàng)建 HTML Web 頁面的動態(tài)部分,并嵌入到現(xiàn)有靜態(tài) HTML 頁面中。3.使用服務(wù)器上的其他資源,如數(shù)據(jù)庫、其他Java程序。4.處理與多個 Web 客戶端的連接,接收來自多個 Web 客戶端的輸入信息。生命周期包括加載、實(shí)例化、處理客戶端請求和移除,該生命周期由javax.servlet.Sercvet接口的init、setvlet、destroy方法實(shí)現(xiàn)。該生命周期由部署Servlet的容器來控制。

      ? JSP是Servlet來編寫服務(wù)端代碼過于繁瑣和復(fù)雜,所以將響應(yīng)頁面的動態(tài)部分和靜態(tài)部分分開。JSP

      與Servlet的關(guān)系:1 JSP是一種建立在Servlet規(guī)范提供的功能之上的動態(tài)網(wǎng)頁技術(shù) 2.JSP文件在用戶第一次請求時,會被編譯成Servlet,然后由這個Servlet處理用戶的請求 3.JSP可以看成是運(yùn)行時的Servlet。JSP執(zhí)行過程:1.客戶端發(fā)出請求(Request)2.JSP 容器將JSP轉(zhuǎn)譯成Servlet的源代碼 3.編譯Servlet,并加載到內(nèi)存執(zhí)行 4.將結(jié)果響應(yīng)(Response)至客戶端。JSP語法提供3種腳本元素:1.聲明(Declarations)——聲明變量或方法 2.Scriptlets——編寫有效的Java程序片段 3.表達(dá)式(Expressions)——合法的Java表達(dá)式。servlet 對象包括:page和config。JSP中會話跟蹤的方法:

      1.隱藏域 2.URL傳值 3.session 4.cookie

      ? JavaBean往往封裝了程序的頁面邏輯,它是可重用的組件。通過使用JavaBean,可以減少在JSP中

      腳本代碼的使用,這樣使得JSP易于維護(hù)。JavaBean 的優(yōu)點(diǎn):變更方便、可重用組件、可在多個應(yīng)用程序中使用、可以跨平臺

      ? 頁面關(guān)聯(lián):Web應(yīng)用程序最突出的優(yōu)點(diǎn)是其能夠聚合大量的信息資源。單個Web組件所提供的信

      息和功能是有限的,因此需要通過Web組件間的關(guān)聯(lián)來實(shí)現(xiàn)信息資源和功能的聚合。Web組件之間共有三種關(guān)聯(lián)關(guān)系:請求轉(zhuǎn)發(fā)、請求重定向、包含。Web作用數(shù)據(jù)域:頁面范圍、請求范圍、會話范圍、應(yīng)用范圍‘

      ? MVC模式(三層架構(gòu)模式)(Model-View-Controller)

      織代碼用一種業(yè)務(wù)邏輯和數(shù)據(jù)顯示分離的方法。把軟件系統(tǒng)分為三個基本部分:模型(Model)、視圖(View)和控制器(Controller)??刂破髫?fù)責(zé)轉(zhuǎn)發(fā)請求,對請求進(jìn)行處理。視圖實(shí)現(xiàn)數(shù)據(jù)的顯示。模型封裝與應(yīng)用程序的業(yè)務(wù)邏輯相關(guān)的數(shù)據(jù)以及對數(shù)據(jù)的處理方法

      ? Model1和model2的區(qū)別 Model1模式的實(shí)現(xiàn)比較簡單,適用于快速開發(fā)小規(guī)模項目。但從工程

      化的角度看,它的局限性非常明顯:JSP頁面身兼View和Controller兩種角色,將控制邏輯和表現(xiàn)邏輯混雜在一起,從而導(dǎo)致代碼的重用性非常低,增加了應(yīng)用的擴(kuò)展性和維護(hù)的難度。Model2已經(jīng)是基于MVC架構(gòu)的設(shè)計模式。在model2架構(gòu)中,servlet作為前端控制器,負(fù)責(zé)接受客戶端發(fā)送的請求,在servlet中只包含控制邏輯和簡單的前端處理;然后,調(diào)用后端的JavaBean來完成實(shí)際的邏輯處理;最后,轉(zhuǎn)發(fā)到相應(yīng)的JSP頁面處理顯示邏輯。區(qū)別:本質(zhì)區(qū)別在于處理批量請求的位置不同。說明Strusts2是如何實(shí)現(xiàn)MOdel2的?在struts2中,Model對應(yīng)業(yè)務(wù)邏輯組件,它通常用于實(shí)現(xiàn)業(yè)務(wù)邏輯方法以及以及與底層數(shù)據(jù)庫的交互等;View對應(yīng)視圖組件,通常是指JSP頁面,但也適用于其他視圖顯示技術(shù),如Velocity或者Excel文檔;Control對應(yīng)系統(tǒng)核心控制器和業(yè)務(wù)邏輯控制器,系統(tǒng)核心控制器為Struts2框架提供的FilterDispatcher,它根據(jù)請求自動調(diào)用相應(yīng)的Action。而業(yè)務(wù)邏

      輯控制器是指開發(fā)人員自行定義的一系列Action,在Action中負(fù)責(zé)調(diào)用相應(yīng)的業(yè)務(wù)邏輯組件來完成處理。

      ? JSTL(JSP Standard Tag Library)是基于SUN公司所定義規(guī)范,由許多公司共同開發(fā)完善的開放源代

      碼的jsp標(biāo)簽庫,為實(shí)現(xiàn)Web應(yīng)用程序中常用功能提供了一個單一的標(biāo)準(zhǔn)解決方案,是由apache維護(hù)的。

      ? Servlet過濾器是Web中的一個小型組件,它能攔截來自客戶端的請求和響應(yīng)信息,進(jìn)行查看提取

      或者對客戶端和服務(wù)器之間交換的數(shù)據(jù)信息進(jìn)行一些特定的操作。Servlet過濾器常用的應(yīng)用場景:

      1、對用戶請求進(jìn)行統(tǒng)一認(rèn)證

      2、用戶的訪問進(jìn)行記錄和審核

      3、對用戶發(fā)送的數(shù)據(jù)進(jìn)行過濾或替換

      4、轉(zhuǎn)換圖像格式

      5、對響應(yīng)內(nèi)容進(jìn)行壓縮,減少傳輸量

      6、對請求和響應(yīng)進(jìn)行加解密處理 ? 什么是Ajax?AJAX是一種異步交互技術(shù),是JavaScript、CSS、DOM、XmlHttpRequest四種技術(shù)的集合體,主要應(yīng)用于異步獲取后臺數(shù)據(jù)和局部刷新。異步交互方式:異步發(fā)送請求,消除了傳統(tǒng)的“發(fā)送請求-等待-發(fā)送請求-等待”,極大的提高用戶體驗(yàn)。異步:發(fā)送請求后不等返回結(jié)果,由回調(diào)函數(shù)處理結(jié)果。JavaScript:向服務(wù)器發(fā)起請求,獲得返回結(jié)果,更新頁面。XML:封裝數(shù)據(jù)。Ajax應(yīng)用的處理流程

      1、一個客戶端事件觸發(fā)一個Ajax事件;

      2、創(chuàng)建XMLHttpRequest對象的一個實(shí)例;

      3、向服務(wù)器做出請求;

      4、服務(wù)器完成業(yè)務(wù)邏輯;

      5、請求返回到瀏覽器;

      6、處理響應(yīng)數(shù)據(jù)。Ajax框架:瀏覽器端1.Dojo 2.Google AJAXSLT 3.jQuery 服務(wù)器端1.JSON/JSON-RPC 2.Rails 3.DWR

      ? XMLHttpRequest是ajax的核心機(jī)制,是一種支持異步請求的技術(shù)。簡單的說,也就是javascript可

      以及時向服務(wù)器提出請求和處理響應(yīng),而不阻塞用戶,達(dá)到無刷新的效果。XMLHttpRequest對象的常用方法:1.Open(”method”,”url”):建立對服務(wù)器的調(diào)用。Method參數(shù)可以是POST,GET或PUT。url路徑可以使絕對路徑也可以是相對路徑。另外這個方法還有三個可選的參數(shù)。2.Send(content):向服務(wù)器發(fā)送請求。

      ? AJAX優(yōu)點(diǎn):

      1、最大的一點(diǎn)是頁面無刷新,在頁面內(nèi)與服務(wù)器通信,給用戶的體驗(yàn)非常好。

      2、使用

      異步方式與服務(wù)器通信,不需要打斷用戶的操作,具有更加迅速的響應(yīng)能力。

      3、可以把以前一些服務(wù)器負(fù)擔(dān)的工作轉(zhuǎn)嫁到客戶端,利用客戶端閑置的能力來處理

      4、基于標(biāo)準(zhǔn)化的并被廣泛支持的技術(shù),不需要下載插件或者小程序。AJAX缺點(diǎn):1.缺少一個沒有標(biāo)準(zhǔn)之爭、沒有back和history的瀏覽器2.對搜索引擎的支持不好3.安全問題4.語言問題

      ? 同步通信和異步通信 同步通信方式---請求響應(yīng)模型,在傳統(tǒng)的web應(yīng)用模型下,大部分的用戶操

      作都會發(fā)送一個http請求給服務(wù)器,然后服務(wù)器開始處理(接收數(shù)據(jù),執(zhí)行業(yè)務(wù)邏輯,訪問數(shù)據(jù)庫),最后向?yàn)g覽器返回html頁面。異步通信方式---XMLHttpRequest對象,異步發(fā)送請求,消除了傳統(tǒng)的“發(fā)送請求-等待-發(fā)送請求-等待”的特性,極大的提高了用戶體驗(yàn)。

      ?

      ? JavaScript是一種廣泛用于客戶端的腳本語言,一種動態(tài)、弱類型、基于原型的語言,內(nèi)置支持類 XML(可拓展標(biāo)記語言)是SMGL的子集,其目標(biāo)是允許普通的SGML在Web上以目前HTML的方式被服務(wù)、接受和處理,被設(shè)計成易于實(shí)現(xiàn),且可在SGML和HTML之間互相操作。商業(yè)優(yōu)勢:信息共享、單一應(yīng)用使用、內(nèi)容交付。技術(shù)優(yōu)勢:數(shù)據(jù)重用、數(shù)據(jù)和表示分離、可拓展性、語義信息、容易理解、易于編程

      ? 由于軟件已經(jīng)實(shí)現(xiàn)了基本的MVC架構(gòu),開發(fā)者可以基于這個軟件,添加自己特定的業(yè)務(wù)邏輯,這樣的軟件就可以被稱為Web框架。通過Web框架:規(guī)范軟件的架構(gòu)、減輕開發(fā)的難度、提高效率、降低維護(hù)成本。

      ?

      ? Struts1的缺陷:Formbean與ActionServlet有關(guān)、控制器無法脫web、不能做單元測試 Struts2的大致工作流程可描述為: 瀏覽器發(fā)送請求。Control中的核心控制器FilterDispatcher

      根據(jù)請求調(diào)用相應(yīng)的業(yè)務(wù)邏輯控制器(Action)。WebWork的攔截器鏈自動對請求應(yīng)用通用功能,如數(shù)據(jù)校驗(yàn)和文件上傳等功能?;卣{(diào)Action中的execute()方法,并在方法體內(nèi)調(diào)用業(yè)務(wù)邏輯組件來處理請求(Model)。execute()方法將調(diào)用業(yè)務(wù)邏輯組件(Model)得到的數(shù)據(jù)返還并更新視圖層(View)。

      ? Struts2應(yīng)用的開發(fā)步驟:第一步:在web.xml文件中定義核心Filter來攔截用戶請求;第二步:

      如果需要以POST方式提交請求,則定義包含表單數(shù)據(jù)的JSP頁面。如果僅僅是以GET方式發(fā)送請求,則無須經(jīng)過這一步;第三步:定義處理用戶請求的Action類;第四步:在Struts.xml中配置action;第五步:在Struts.xml中配置處理結(jié)果和物理視圖資源之間的對應(yīng)關(guān)系;第六步:編寫資源視圖.Struts 2的配置文件: web.xml:Web部署描述符,包括所有必需的框架組件。Struts.xml:主要的配置文件,包含result映射、action映射、攔截器配置等。struts.properties:Struts 2的屬性配置。struts-default.xml:Struts 2的默認(rèn)配置文件。struts-plugin.xml:Struts 2框架的插件所用的配置文件。Action映射:將一個請求URI映射到一個action類。name action的名字,用于匹配請求URI。Class Action實(shí)現(xiàn)類的完整類名。method 執(zhí)行Acition時調(diào)用的方法。Converther 應(yīng)用于action的類型轉(zhuǎn)換器的完整類名。Result映射 daspatcher 轉(zhuǎn)發(fā)。Redirect 重定向到另外的URL。redirectAction 重定向到另外的Action。chain 用于Action的鏈?zhǔn)教幚?。plainText 用于顯示某些特定頁面的原始內(nèi)容。Xslt 用于顯示XML的內(nèi)容。? 輸入校驗(yàn):輸入校驗(yàn)的內(nèi)容一般包括驗(yàn)證輸入數(shù)據(jù)的有效性和驗(yàn)證失敗后向用戶提供錯誤信息兩部

      分。輸入驗(yàn)證的方式可分為客戶端驗(yàn)證和服務(wù)器端驗(yàn)證。手動驗(yàn)證:1.在Action的方法中編寫驗(yàn)證代碼。2.在validateXxx方法中編寫驗(yàn)證代碼。validateXxx即可由框架在業(yè)務(wù)代碼執(zhí)行前自動被調(diào)用。如果多個方法調(diào)用同一段驗(yàn)證代碼,則可以將驗(yàn)證代碼編寫在名為validate的方法中即可。內(nèi)置驗(yàn)證框架:通過在外部配置文件中定義驗(yàn)證規(guī)則的方式來簡化對輸入數(shù)據(jù)的驗(yàn)證,驗(yàn)證框架通過validator攔截器來調(diào)用,通過讀取驗(yàn)證文件中的驗(yàn)證規(guī)則對輸入數(shù)據(jù)進(jìn)行驗(yàn)證,驗(yàn)證文件的命名為ClassName-alias-validation.xml。ClassName表示實(shí)際的Action類名,alias表示在struts.xml中配置的Action的名字。其中,驗(yàn)證器還分為普通驗(yàn)證器和字段驗(yàn)證器。自定義驗(yàn)證器(以實(shí)現(xiàn)驗(yàn)證碼功能為例):1.編寫ValidationCodeAction,用于產(chǎn)生驗(yàn)證碼圖像。2.編寫自定義的結(jié)果類型,用于輸出驗(yàn)證碼。3.在struts.xml中配置自定義結(jié)果類型和ValidationCodeAction。4.修改UserAction,添加驗(yàn)證碼屬性。5.修改login.jsp,添加驗(yàn)證碼輸入框。6.編寫字段驗(yàn)證器類ValidationCodeValidator 7.注冊驗(yàn)證器類ValidationCodeValidator 8.為驗(yàn)證碼編寫驗(yàn)證規(guī)則。? 類型轉(zhuǎn)換::在Http協(xié)議中,瀏覽器(客戶端)和服務(wù)器端的傳輸都是字符串形式的數(shù)據(jù),但在服

      務(wù)端的java程序中數(shù)據(jù)是有各種類型的,所以類型轉(zhuǎn)換是不可避免的。(1)使用合法的OGNL表達(dá)式命名表單元素時,Struts2就會自動的進(jìn)行類型轉(zhuǎn)換。(2)Struts2提供基本的類型轉(zhuǎn)換功能。String—int,long,double,boolean,char,date,array,collection(3)Struts2對集合類型的轉(zhuǎn)換提供了很好的支持。(4)當(dāng)Struts2提供的內(nèi)置類型轉(zhuǎn)換器不能滿足應(yīng)用需求時,還可以編寫自己的類型轉(zhuǎn)換器。

      ? 什么是AOP?面向切面編程(也叫面向方面),可以通過預(yù)編譯方式和運(yùn)行期動態(tài)代理實(shí)現(xiàn)在不修改

      源代碼的情況下給程序動態(tài)統(tǒng)一添加功能的一種技術(shù)。為什么需要AOP?AOP可以說是OOP的補(bǔ)充和完善。OOP引入封裝、繼承和多態(tài)性等概念來建立一種對象層次結(jié)構(gòu),用以模擬公共行為的一個集合。然而OOP在某些場合無能為力,比如當(dāng)需要分散的、不具有繼承層次的對象引入公共行為的時候,OOP則無法避免代碼的重復(fù)。抽象的說,OOP允許定義從上倒下的關(guān)系,但并不適合定義從左到右的關(guān)系。具體而言,比如安全驗(yàn)證和記錄日志功能,這類代碼往往平均的分散在所有對象層次中,而與它所散步到的對象的核心功能毫無關(guān)系。Spring AOP采用純java實(shí)現(xiàn),無須特別編譯。不僅提供AOP基礎(chǔ)框架,還提供很多現(xiàn)成的切面實(shí)現(xiàn)。Spring AOP和Spring IoC容器無縫的集成,AOP組件享受Spring提供的一切優(yōu)勢,比如可將攔截器、切入點(diǎn)都當(dāng)做Spring Bean來管理。

      ? AOP的一些概念:關(guān)注點(diǎn):一個關(guān)注點(diǎn)可以是一個特定的問題、概念、或是應(yīng)用程序一個關(guān)注點(diǎn)可

      以被識別為核心關(guān)注點(diǎn)或橫切關(guān)注點(diǎn)。核心關(guān)注點(diǎn):完成核心業(yè)務(wù)邏輯的關(guān)注點(diǎn)。橫切關(guān)注點(diǎn):在AOP中,將那些具有公共邏輯、與其他模塊的核心邏輯糾纏在一起的行為稱為“橫切關(guān)注點(diǎn)”,它不是給定編程模型的核心職責(zé)。比如:身份驗(yàn)證、日志記錄。切面(Aspect):一個切面是對一個橫切關(guān)注點(diǎn)的模塊化,它將那些散落在各處的、實(shí)現(xiàn)關(guān)注點(diǎn)的代碼歸整在一起,其實(shí)就是共有功能的實(shí)現(xiàn)。如日志切面、權(quán)限切面、事務(wù)切面等。在實(shí)際應(yīng)用中通常是一個存放共有功能實(shí)現(xiàn)的普通Java類。連接點(diǎn)(join point):它是指應(yīng)用中執(zhí)行的某個點(diǎn),即程序執(zhí)行流程中的某個點(diǎn)??赡苁欠椒ㄕ{(diào)用、字

      段訪問、異常拋出。建議或通知(Advice):是切面的具體實(shí)現(xiàn)。以目標(biāo)方法為參照點(diǎn),根據(jù)放置的地方不同,可分為前置通知(Before)、后置通知(AfterReturning)與環(huán)繞通知(Around)。切入點(diǎn)(Pointcut):一組join point的總稱,用于定義通知應(yīng)該切入到哪些連接點(diǎn)上。不同的通知通常需要切入到不同的連接點(diǎn)上。主要的功能是:日志記錄,性能統(tǒng)計,安全控制,事務(wù)處理,異常處理等等。主要的意圖是:將日志記錄,性能統(tǒng)計,安全控制,事務(wù)處理,異常處理等代碼從業(yè)務(wù)邏輯代碼中劃分出來,通過對這些行為的分離,我們希望可以將它們獨(dú)立到非指導(dǎo)業(yè)務(wù)邏輯的方法中,進(jìn)而改變這些行為的時候不會影響業(yè)務(wù)邏輯代碼。AOP的實(shí)現(xiàn)技術(shù):JavaSE動態(tài)代理、動態(tài)字節(jié)碼生成、Java代碼生成、語言擴(kuò)展。建議(advice)是point cut的執(zhí)行代碼,是“切面”執(zhí)行的具體邏輯。前置建議(before advice)在連接點(diǎn)調(diào)用之前,先調(diào)用advice。后置建議(after advice)在連接點(diǎn)調(diào)用之后,再調(diào)用advice成功執(zhí)行后(after returning advice)拋出異常后(after throwing advice)不管是否異常后(after advice)環(huán)繞建議(around advice)完全控制所有連接點(diǎn)引介(introduction)為一個現(xiàn)有的Java類或接口添加方法或字段?;烊肜^承(mixin inheritance)一個混入類封裝了一組功能,這組功能可能被“混入”到現(xiàn)有的類中,并且無需求助于傳統(tǒng)的繼承手段。在AOP里,mixin通過introduction來實(shí)現(xiàn)??椚耄╳eaving)將切面整合到完整的執(zhí)行流程或完成的類。動態(tài)橫切:通過切入點(diǎn)和連接點(diǎn)在一個切面中創(chuàng)建行為的過程。動態(tài)橫切通常用于幫助向?qū)ο髮哟沃械母鞣N方法添加安全驗(yàn)證或日志記錄。在很多應(yīng)用場景中,動態(tài)橫切基本代表了AOP。動態(tài)橫切的核心技術(shù)包括連接點(diǎn)、切入點(diǎn)、建議、切面。靜態(tài)橫切:靜態(tài)橫切和動態(tài)橫切的區(qū)別在于,靜態(tài)橫切不修改一個給定對象的執(zhí)行行為。相反,它可以把擴(kuò)展和實(shí)現(xiàn)附加到對象的基本結(jié)構(gòu)中。此外,它通過引入附加的方法字段和屬性來修改對象的結(jié)構(gòu)。在AOP的實(shí)現(xiàn)中,通常靜態(tài)橫切也就是引入或混入。

      ? 什么是IOC?控制反轉(zhuǎn),強(qiáng)制將組件的創(chuàng)建和使用分離,通過反射機(jī)制,動態(tài)的創(chuàng)建組件已達(dá)到解

      耦目的。IOC最大的好處是什么?因?yàn)榘褜ο笊煞旁诹薠ML里定義,所以當(dāng)我們需要換一個實(shí)現(xiàn)子類將會變成很簡單(一般這樣的對象都是實(shí)現(xiàn)于某種接口的),只要修改XML就可以了,這樣我們甚至可以實(shí)現(xiàn)對象的熱插撥(有點(diǎn)象USB接口和SCSI硬盤了)IOC最大的缺點(diǎn)是什么?(1)生成一個對象的步驟變復(fù)雜了(事實(shí)上操作上還是挺簡單的),對于不習(xí)慣這種方式的人,會覺得有些別扭和不直觀。(2)對象生成因?yàn)槭鞘褂梅瓷渚幊蹋谛噬嫌行p耗。但相對于IoC提高的維護(hù)性和靈活性來說,這點(diǎn)損耗是微不足道的,除非某對象的生成對效率要求特別高。(3)缺少IDE重構(gòu)操作的支持,如果在Eclipse要對類改名,那么你還需要去XML文件里手工去改了,這似乎是所有XML方式的缺憾所在。

      ?

      ? MyBatis實(shí)現(xiàn)步驟:

      1、編寫Configuration.xml文件

      2、獲取SqlSessionFactory

      3、編寫映射器UserMapper.xml;

      4、編寫UserDao的實(shí)現(xiàn)。使用Hibernate的步驟(三個準(zhǔn)備,七個步驟)三個準(zhǔn)備:

      1、導(dǎo)入Hibernate庫(jar包);

      2、添加Hibernate配置文件

      3、添加對應(yīng)表的實(shí)體類和映射文件。七個步驟:

      1、configuration

      2、創(chuàng)建SessionFactory3、打開Session4、開始一個事務(wù)

      5、持久化操作

      6、提交事務(wù)

      7、關(guān)閉Session、?

      ? 使用HQL步驟

      1、得到session2、編寫HQL語句

      3、創(chuàng)建Query對象 持久化對象的狀態(tài):1.持久化對象的臨時狀態(tài)(不在Session的緩存中,不與任何的Session

      實(shí)例相關(guān)聯(lián)。在數(shù)據(jù)庫中沒有與之相對應(yīng)的記錄)2.持久化對象的持久化狀態(tài)(存在Session的緩存中。持久化對象映射了數(shù)據(jù)庫中的相關(guān)記錄。Session在清理緩存時,會同步更新數(shù)據(jù)庫。Session的load()或get()方法返回的對象總是處于持久化狀態(tài))3.持久化對象的游離狀態(tài)(脫離Session緩存。游離對象在數(shù)據(jù)庫中可能存在與之對應(yīng)的紀(jì)錄,但游離對象與數(shù)據(jù)庫記錄失去了映射關(guān)系)

      ? Hibernate---全自動化ORM框架 Hibernate是一個輕量級、功能強(qiáng)大的ORM框架;提供了完全

      透明的持久化機(jī)制,客戶代碼可通過一種完全面向?qū)ο蟮姆绞絹硖幚沓志没鵁o需和SQL打交道;Hibernate管理Java類到數(shù)據(jù)庫的映射(包括Java數(shù)據(jù)類型到SQL數(shù)據(jù)類型的映射)、提供數(shù)據(jù)的CRUD操作;Hibernate內(nèi)置一種稱為HQL的語言,和SQL的語法接近,但不與特定的數(shù)據(jù)庫表或字段發(fā)生直接關(guān)聯(lián),卻又提供了SQL的大部分功能,并且支持類似連接、統(tǒng)計函數(shù)、批量數(shù)據(jù)等關(guān)系型概念。

      使用Hibernate框架進(jìn)行ORM,可大幅度減少開發(fā)時手工使用SQL和JDBC的出錯。優(yōu)點(diǎn):簡單。缺點(diǎn):多了查詢,慢(但實(shí)際對于一個JAVA EE應(yīng)用而言,hibernate通常的處理流程是:從數(shù)據(jù)看里加載記錄->將信息發(fā)送到表現(xiàn)層供用戶修改或刪除->將所做修改重新保存到數(shù)據(jù)庫。在這種處理流程下,應(yīng)用本身就需要兩條SQL語句)。

      ?

      ? iBats---半自動化ORM框架 提供了基于JDBC之上的一層簡單抽象,是一種基于SQL語句映射的低級別ORM方案,使用原生態(tài)SQL作為查詢語言。OGNL是Object Graph Navigation Language,對象圖導(dǎo)航語言。ONGL是一種強(qiáng)大的表達(dá)式語言,它通

      過簡單一致的表達(dá)式語法來讀取和設(shè)置Java對象的屬性,調(diào)用對象的方法,遍歷整個對象的結(jié)構(gòu)圖,實(shí)現(xiàn)字段類型轉(zhuǎn)換等功能。WEB容器是指一種安裝在服務(wù)端計算機(jī)中的特定軟件。此類軟件遵循HTTP協(xié)議,主要功能是負(fù)責(zé)偵聽指定端口,接收客戶端的請求并解析,然后將指定的響應(yīng)頁面發(fā)送到客戶端。EL表達(dá)式EL是一種簡單而強(qiáng)大的語言,提供了在JSP腳本元素范圍外使用運(yùn)行時表達(dá)式的功能。Web Services應(yīng)用程序組件,使用開放協(xié)議進(jìn)行通信,獨(dú)立的并可自我描述,可通過使用UDDI來發(fā)現(xiàn),可以被其他應(yīng)用程序使用,XML是其基礎(chǔ)。

      ? Mybatis一個持久數(shù)據(jù)映射框架,提供了基于JDBC之上的一層簡單抽象,是一種基于SQL語句映射的低級別ORM方案,使用原生態(tài)SQL作為查詢語言,用來完成數(shù)據(jù)持久化MyBaits基本原理:在XML文件中定義SQL語句,預(yù)留參數(shù)占位符;在運(yùn)行時,占位符被指定的參數(shù)值取代,參數(shù)可能來自參數(shù)映射表、JavaBean屬性、或者簡單的參數(shù)對象。在執(zhí)行SQL查詢時,結(jié)果字段被映射到對象,映射的方式與參數(shù)映射一樣。

      ? ORM框架ORM, Object-Relational Mapping, 對象-關(guān)系數(shù)據(jù)庫映射框架。在關(guān)系型數(shù)據(jù)庫和業(yè)務(wù)實(shí)體對

      象之間作一個映射,這樣,我們在具體的操作業(yè)務(wù)對象的時候,就不需要再去和復(fù)雜的SQL語句打交道,只要像平時操作對象一樣操作它就可以了。

      ? 攔截器(Interceptor)是Struts2的一個重要特性。Struts2的大多數(shù)核心功能都是通過攔截器來實(shí)現(xiàn)的,如類型轉(zhuǎn)換、對象組裝、輸入校驗(yàn)、文件上傳等。Struts2將其大多數(shù)核心功能通過攔截器來實(shí)現(xiàn),而不是分散在Action中實(shí)現(xiàn),有利于系統(tǒng)的解耦,實(shí)現(xiàn)“hot-plug”。需要某個功能就“plug-in”一個攔截器,而不需要修改和業(yè)務(wù)相關(guān)的Action代碼。編寫一個用于安全驗(yàn)證的攔截器第一步:修改UserAction第二步:編寫攔截器類AuthenticationInterceptor extends AbstractInterceptor第三步:配置攔截。

      ? DI強(qiáng)制將組件的構(gòu)建和使用分開。(組件的生產(chǎn)、組件的使用、接口的定義、運(yùn)行時注入)。借

      助spring框架,實(shí)現(xiàn)工廠的效果。如果類與類之間沒有依賴(不能提取接口),則不用IOC(如果橫向有依賴,即action與action之間有關(guān)系,說明沒有設(shè)計好)功能太小,也不用IOC,spring是做大系統(tǒng)的。DI有兩種最常用的方式:構(gòu)造注入——保留依賴的先后順序。Set注入——更多使用 步驟:定義組件接口:墨盒接口ink;紙張接口paper;使用接口開發(fā)打印機(jī):printer(使用ink和paper接口)組裝打印機(jī):在printer里。給ink和paper創(chuàng)建set方法創(chuàng)建或得到ink和paper的實(shí)現(xiàn)類。組裝——在src下創(chuàng)建applicationContext.xml(依賴注入)。運(yùn)行打印機(jī)

      ? Spring框架的一項最基本的功能就是充當(dāng)創(chuàng)建對象的工廠,具體步驟為:第一步:讀取并

      分析spring配置文件(如XML配置文件);第二步:通過反射機(jī)制,創(chuàng)建并集成上述配置文件中的對象;第三步:將創(chuàng)建的對象傳回給應(yīng)用代碼。

      第三篇:中南大學(xué)軟件學(xué)院架構(gòu)復(fù)習(xí)

      ? 使用Hibernate框架進(jìn)行ORM,可大幅度減少開發(fā)時手工使用SQL和JDBC的出錯。優(yōu)點(diǎn):簡單。缺

      點(diǎn):多了查詢,慢(但實(shí)際對于一個JAVA EE應(yīng)用而言,hibernate通常的處理流程是:從數(shù)據(jù)看里加載記錄->將信息發(fā)送到表現(xiàn)層供用戶修改或刪除->將所做修改重新保存到數(shù)據(jù)庫。在這種處理流程下,應(yīng)用本身就需要兩條SQL語句)。

      ?

      ? iBats---半自動化ORM框架 提供了基于JDBC之上的一層簡單抽象,是一種基于SQL語句映射的低級別ORM方案,使用原生態(tài)SQL作為查詢語言。OGNL是Object Graph Navigation Language,對象圖導(dǎo)航語言。ONGL是一種強(qiáng)大的表達(dá)式語言,它通

      過簡單一致的表達(dá)式語法來讀取和設(shè)置Java對象的屬性,調(diào)用對象的方法,遍歷整個對象的結(jié)構(gòu)圖,實(shí)現(xiàn)字段類型轉(zhuǎn)換等功能。WEB容器是指一種安裝在服務(wù)端計算機(jī)中的特定軟件。此類軟件遵循HTTP協(xié)議,主要功能是負(fù)責(zé)偵聽指定端口,接收客戶端的請求并解析,然后將指定的響應(yīng)頁面發(fā)送到客戶端。EL表達(dá)式EL是一種簡單而強(qiáng)大的語言,提供了在JSP腳本元素范圍外使用運(yùn)行時表達(dá)式的功能。Web Services應(yīng)用程序組件,使用開放協(xié)議進(jìn)行通信,獨(dú)立的并可自我描述,可通過使用UDDI來發(fā)現(xiàn),可以被其他應(yīng)用程序使用,XML是其基礎(chǔ)。

      ? Mybatis一個持久數(shù)據(jù)映射框架,提供了基于JDBC之上的一層簡單抽象,是一種基于SQL語句映射的低級別ORM方案,使用原生態(tài)SQL作為查詢語言,用來完成數(shù)據(jù)持久化MyBaits基本原理:在XML文件中定義SQL語句,預(yù)留參數(shù)占位符;在運(yùn)行時,占位符被指定的參數(shù)值取代,參數(shù)可能來自參數(shù)映射表、JavaBean屬性、或者簡單的參數(shù)對象。在執(zhí)行SQL查詢時,結(jié)果字段被映射到對象,映射的方式與參數(shù)映射一樣。

      ? ORM框架ORM, Object-Relational Mapping, 對象-關(guān)系數(shù)據(jù)庫映射框架。在關(guān)系型數(shù)據(jù)庫和業(yè)務(wù)實(shí)體對

      象之間作一個映射,這樣,我們在具體的操作業(yè)務(wù)對象的時候,就不需要再去和復(fù)雜的SQL語句打交道,只要像平時操作對象一樣操作它就可以了。

      ? 攔截器(Interceptor)是Struts2的一個重要特性。Struts2的大多數(shù)核心功能都是通過攔截器來實(shí)現(xiàn)的,如類型轉(zhuǎn)換、對象組裝、輸入校驗(yàn)、文件上傳等。Struts2將其大多數(shù)核心功能通過攔截器來實(shí)現(xiàn),而不是分散在Action中實(shí)現(xiàn),有利于系統(tǒng)的解耦,實(shí)現(xiàn)“hot-plug”。需要某個功能就“plug-in”一個攔截器,而不需要修改和業(yè)務(wù)相關(guān)的Action代碼。編寫一個用于安全驗(yàn)證的攔截器第一步:修改UserAction第二步:編寫攔截器類AuthenticationInterceptor extends AbstractInterceptor第三步:配置攔截。

      ? DI強(qiáng)制將組件的構(gòu)建和使用分開。(組件的生產(chǎn)、組件的使用、接口的定義、運(yùn)行時注入)。借

      助spring框架,實(shí)現(xiàn)工廠的效果。如果類與類之間沒有依賴(不能提取接口),則不用IOC(如果橫向有依賴,即action與action之間有關(guān)系,說明沒有設(shè)計好)功能太小,也不用IOC,spring是做大系統(tǒng)的。DI有兩種最常用的方式:構(gòu)造注入——保留依賴的先后順序。Set注入——更多使用 步驟:定義組件接口:墨盒接口ink;紙張接口paper;使用接口開發(fā)打印機(jī):printer(使用ink和paper接口)組裝打印機(jī):在printer里。給ink和paper創(chuàng)建set方法創(chuàng)建或得到ink和paper的實(shí)現(xiàn)類。組裝——在src下創(chuàng)建applicationContext.xml(依賴注入)。運(yùn)行打印機(jī)

      ? Spring框架的一項最基本的功能就是充當(dāng)創(chuàng)建對象的工廠,具體步驟為:第一步:讀取并

      分析spring配置文件(如XML配置文件);第二步:通過反射機(jī)制,創(chuàng)建并集成上述配置文件中的對象;第三步:將創(chuàng)建的對象傳回給應(yīng)用代碼。

      一、輸入校驗(yàn)(自定義驗(yàn)證器的開發(fā))

      1、編寫ValidationCodeAction,用于產(chǎn)生驗(yàn)證碼圖像;

      2、編寫自定義的結(jié)果類型,用于輸出驗(yàn)證碼;

      3、在struts.xml中配置自定義結(jié)果類型和ValidationCodeAction;

      4、修改UserAction,添加驗(yàn)證碼屬性;

      5、修改login.jsp,添加驗(yàn)證碼輸入框;

      6、編寫字段驗(yàn)證器類ValidationCodeValidator;

      7、注冊字段驗(yàn)證器類ValidationCodeValidator;

      8、為驗(yàn)證器編寫驗(yàn)證規(guī)則。

      二、Ajax應(yīng)用的處理流程

      1、一個客戶端事件觸發(fā)一個Ajax事件;

      2、創(chuàng)建XMLHttpRequest對象的一個實(shí)例;

      3、向服務(wù)器做出請求;

      4、服務(wù)器完成業(yè)務(wù)邏輯;

      5、請求返回到瀏覽器;

      6、處理響應(yīng)數(shù)據(jù)。

      三、MyBatis實(shí)現(xiàn)步驟

      1、編寫Configuration.xml文件;

      2、獲取SqlSessionFactory;

      3、編寫映射器UserMapper.xml;

      4、編寫UserDao的實(shí)現(xiàn)。

      四、使用Hibernate的步驟(三個準(zhǔn)備,七個步驟)

      三個準(zhǔn)備:

      1、導(dǎo)入Hibernate庫(jar包);

      2、添加Hibernate配置文件

      3、添加對應(yīng)表的實(shí)體類和映射文件。

      七個步驟:

      1、configuration2、創(chuàng)建SessionFactory3、打開Session4、開始一個事務(wù)

      5、持久化操作

      6、提交事務(wù)

      7、關(guān)閉Session

      六、為什么需要AOP

      AOP可以說是OOP的補(bǔ)充和完善。OOP引入封裝、繼承和多態(tài)性等概念來建立一種對象層次結(jié)構(gòu),用以模擬公共行為的一個集合。

      然而OOP在某些場合無能為力,比如當(dāng)需要分散的、不具有繼承層次的對象引入公共行為的時候,OOP則無法避免代碼的重復(fù)。

      抽象的說,OOP允許定義從上倒下的關(guān)系,但并不適合定義從左到右的關(guān)系。

      具體而言,比如安全驗(yàn)證和記錄日志功能,這類代碼往往平均的分散在所有對象層次中,而與它所散步到的對象的核心功能毫無關(guān)系。

      Spring AOP采用純java實(shí)現(xiàn),無須特別編譯。不僅提供AOP基礎(chǔ)框架,還提供很多現(xiàn)成的切面實(shí)現(xiàn)。

      Spring AOP和Spring IoC容器無縫的集成,AOP組件享受Spring提供的一切優(yōu)勢,比如可將攔截器、切入點(diǎn)都當(dāng)做Spring Bean來管理。

      七、Model I和Model II的區(qū)別

      本質(zhì)區(qū)別在于處理批量請求的位置不同。

      Model1:結(jié)合JSP頁面和JavaBean來開發(fā)Web應(yīng)用程序。jsp頁面獨(dú)自響應(yīng)請求并將處理結(jié)果返回客戶端。這里仍然存在表達(dá)和內(nèi)容的分離,因?yàn)樗械臄?shù)據(jù)存取都是由bean完成的。缺點(diǎn):內(nèi)容和表示沒有完全解耦,jsp頁面內(nèi)被嵌入大量的腳本片段或java代碼 Model2:采用MVC的設(shè)計模式,C負(fù)責(zé)轉(zhuǎn)發(fā)請求,對請求進(jìn)行處理,V顯示數(shù)據(jù),M封裝與應(yīng)用程序的業(yè)務(wù)邏輯相關(guān)的數(shù)據(jù)以及對數(shù)據(jù)的處理方法。

      八、同步通信和異步通信

      同步通信方式---請求響應(yīng)模型,在傳統(tǒng)的web應(yīng)用模型下,大部分的用戶操作都會發(fā)送一個http請求給服務(wù)器,然后服務(wù)器開始處理(接收數(shù)據(jù),執(zhí)行業(yè)務(wù)邏輯,訪問數(shù)據(jù)庫),最后向?yàn)g覽器返回html頁面。

      異步通信方式---XMLHttpRequest對象,異步發(fā)送請求,消除了傳統(tǒng)的“發(fā)送請求-等待-發(fā)送請求-等待”的特性,極大的提高了用戶體驗(yàn)。

      九、Spring1、核心關(guān)注點(diǎn):完成業(yè)務(wù)邏輯的關(guān)注點(diǎn)

      2、橫切關(guān)注點(diǎn):實(shí)現(xiàn)代碼散落在很多個類或方法之中的關(guān)注點(diǎn)。

      3、切面:一個切面是對一個橫切關(guān)注點(diǎn)的模塊化,它將那些散落在各處的、實(shí)現(xiàn)關(guān)注點(diǎn)的代碼歸整在一起。

      十、持久化對象的狀態(tài)

      ? 持久化對象的臨時狀態(tài)

      不在Session的緩存中,不與任何的Session實(shí)例相關(guān)聯(lián)。在數(shù)據(jù)庫中沒有與之相對應(yīng)的記錄

      ? 持久化對象的持久化狀態(tài)

      存在Session的緩存中。持久化對象映射了數(shù)據(jù)庫中的相關(guān)記錄。Session在清理緩存時,會同步更新數(shù)據(jù)庫。Session的load()或get()方法返回的對象總是處于持久化狀態(tài)

      ? 持久化對象的游離狀態(tài)

      脫離Session緩存。

      游離對象在數(shù)據(jù)庫中可能存在與之對應(yīng)的紀(jì)錄,但游離對象與數(shù)據(jù)庫記錄失去了映射關(guān)系

      名詞解釋

      1、AJAX

      一種異步交互技術(shù),JavaScript、CSS、DOM、XmlHttpRequest四種技術(shù)的集合體,主要應(yīng)用于異步獲取后臺數(shù)據(jù)和局部刷新。消除了傳統(tǒng)的“發(fā)送請求-等待”的特性,極大的提高了用戶體驗(yàn)。

      2、XMLHttpRequest(XHR)對象

      XMLHttpRequest是Ajax的核心機(jī)制,是一種支持異步請求的技術(shù)。JavaScript可以及時向服務(wù)器提出請求和處理響應(yīng),而不阻塞用戶,達(dá)到無刷新的效果。

      3、JSTL

      JSP Standard Tag Library,由許多公司共同開發(fā)完善的開放源代碼的jsp標(biāo)簽庫,是由apache維護(hù)的。

      4、Web Services

      應(yīng)用程序組件,使用開放協(xié)議進(jìn)行通信,獨(dú)立的并可自我描述,可通過使用UDDI來發(fā)現(xiàn),可以被其他應(yīng)用程序使用,XML是其基礎(chǔ)。

      5、MVC

      一種軟件架構(gòu)模式,把軟件系統(tǒng)分為三個基本部分:模型(Model)、視圖(View)和控制

      器(Controller)

      6、AOP

      面向切面編程,AOP思想的核心是“橫切”,將對象剖開,抽出一些內(nèi)部的屬性和行為,處理后再將剖面復(fù)原,不留痕跡。

      7、Hibernate---全自動化ORM框架

      Hibernate是一個對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級的對象封裝,使得Java程序員可以使用對象編程思維來操縱數(shù)據(jù)庫,主要用來完成數(shù)據(jù)持久化的重任。

      8、iBats---半自動化ORM框架

      提供了基于JDBC之上的一層簡單抽象,是一種基于SQL語句映射的低級別ORM方案,使用原生態(tài)SQL作為查詢語言。

      9、ORM

      用Java語言設(shè)計的程序是面向?qū)ο?Object)的,而持久數(shù)據(jù)是存儲在關(guān)系型數(shù)據(jù)庫(Relation)中的,所以需要一種映射機(jī)制(Mapping)。

      10.OGNL

      ONGL對象圖導(dǎo)航語言。ONGL是一種強(qiáng)大的表達(dá)式語言,它通過簡單一致的表達(dá)式語法來讀取和設(shè)置Java對象的屬性,調(diào)用對象的方法,實(shí)現(xiàn)字段類型轉(zhuǎn)換等功能。

      11、國際化(Internationalization)是使程序在不做任何修改的情況下,就可以在不同的國家或地區(qū)和不同的語言環(huán)境下,按照當(dāng)?shù)氐恼Z言和格式習(xí)慣顯示字符,又被稱為I18N。

      12、AOP

      意為面向切面編程,可以通過預(yù)編譯方式和運(yùn)行期動態(tài)代理實(shí)現(xiàn)在不修改源代碼的情況下給程序動態(tài)統(tǒng)一添加功能的一種技術(shù)。

      13、IOC

      控制反轉(zhuǎn),強(qiáng)制將組件的創(chuàng)建和使用分離,通過反射機(jī)制,動態(tài)的創(chuàng)建組件已達(dá)到解耦目的。

      14.WEB容器

      是指一種安裝在服務(wù)端計算機(jī)中的特定軟件。此類軟件遵循HTTP協(xié)議,主要功能是負(fù)責(zé)偵聽指定端口,接收客戶端的請求并解析,然后將指定的響應(yīng)頁面發(fā)送到客戶端。

      15.SERVLET

      Servlet是一種獨(dú)立于平臺和協(xié)議的服務(wù)器端Java應(yīng)用程序。Servlet由Servlet容器加載和運(yùn)行,在Java Web環(huán)境中Servlet容器一般嵌入在Web容器中。主要功能就是響應(yīng)來自客戶端的請求。

      16.JSP

      用Servlet來編寫Web應(yīng)用,導(dǎo)致服務(wù)端代碼過于繁瑣和復(fù)雜,將Servlet中的靜態(tài)部分和動態(tài)部分分開來編寫,同時提供類似HTML的寫法.JSP是一種建立在Servlet規(guī)范提供的功能之上的動態(tài)網(wǎng)頁技術(shù)

      17.JSP頁面的執(zhí)行過程

      1客戶端發(fā)出請求(Request:Counter.jsp);2.JSP容器將JSP轉(zhuǎn)譯成Servlet的源代碼;

      3編譯Servlet,并加載到內(nèi)存執(zhí)行;4將結(jié)果響應(yīng)(Response:Output.html)至客戶端。

      18.EL表達(dá)式

      EL是一種簡單而強(qiáng)大的語言,提供了在JSP腳本元素范圍外使用運(yùn)行時表達(dá)式的功能

      19.jdbc

      JDBC是Java數(shù)據(jù)庫連接(Java Database Connectivity)的簡稱。

      是Java平臺(JavaSE)中用來規(guī)范客戶端程序如何來訪問數(shù)據(jù)庫的應(yīng)用程序接口(API),提供了諸如查詢和更新數(shù)據(jù)庫中數(shù)據(jù)的方法。

      軟件開發(fā)人員使用這些標(biāo)準(zhǔn)API來連接和操作數(shù)據(jù)庫,實(shí)現(xiàn)數(shù)據(jù)庫應(yīng)用程序的開發(fā)。

      第四篇:天津市大學(xué)軟件學(xué)院軟件工程專升本考試大綱

      2013年高職升本專業(yè)考試考試大綱

      發(fā)布人:admin 發(fā)布時間:2012/12/19 16:03:09

      天津工業(yè)大學(xué)、天津師范大學(xué)、天津理工大學(xué)

      三校聯(lián)考

      2013年高職升本專業(yè)考試考試大綱

      高職升本科的考試分為文化考試和專業(yè)考試兩個部分。文化考試由天津市教育招生考試院統(tǒng)一組織進(jìn)行。專業(yè)考試安排如下:

      一、專業(yè)課考試時間

      2013年1月21日 上午 9:00-11:00

      二、考試科目

      面向文理招生,專業(yè)課考試科目為2門,每門滿分100分,共200分??荚嚂r間120分鐘

      三、考試范圍及要求

      (一)軟件工程概論

      1.軟件工程的概念。

      2.軟件工程的基本原理。

      3.軟件的生命周期。

      4.可行性研究過程。

      5.系統(tǒng)流程圖的符號及表示。

      6.數(shù)據(jù)流圖的符號及表示。

      7.需求分析的任務(wù)。

      8.總體設(shè)計的過程,描繪軟件結(jié)構(gòu)的圖形工具。

      9.程序流程圖的表示。

      10.編碼及其風(fēng)格。

      11.軟件測試的目標(biāo)、準(zhǔn)則、方法與步驟。

      12.軟件維護(hù)的定義、特點(diǎn)及過程。

      13.面向?qū)ο蠓治龅幕具^程

      14.面向?qū)ο笤O(shè)計的準(zhǔn)則。

      (二)C語言基礎(chǔ)

      1.基本知識:C語言的組成、C語言的特點(diǎn)、C語言的編譯過程;算法的概念和特性;結(jié)構(gòu)化程序設(shè)計相關(guān)概念;各種數(shù)據(jù)類型的常量和變量表示;運(yùn)算符的使用和表達(dá)式的計算;輸入與輸出函數(shù)的使用。

      2.C程序三種流程設(shè)計:順序結(jié)構(gòu)、選擇型程序設(shè)計(包括if語句及其嵌套和switch語句);循環(huán)型程序設(shè)計(包括while語句、do-while語句和for語句);復(fù)合語句的使用;輔助控制語句(包括break語句和continue語句)。

      3.?dāng)?shù)組:一維數(shù)組的定義和使用;二維數(shù)組的定義和使用;字符數(shù)組和字符串;常用字符串處理函數(shù)的使用。

      4.函數(shù):常用庫函數(shù)的正確調(diào)用;函數(shù)的定義;函數(shù)參數(shù)傳遞和返回值的含義;函數(shù)的調(diào)用;函數(shù)的嵌套調(diào)用和遞歸調(diào)用;數(shù)組作為函數(shù)參數(shù);局部變量和全局變量;變量的存儲類別(自動,靜態(tài),寄存器,外部);變量的作用域和生存期。

      5.編譯預(yù)處理命令:不帶參宏定義和帶參宏定義的使用;“文件包含”的處理。

      6.指針:指針與指針變量的概念,指針與地址運(yùn)算符;指針與數(shù)組、字符串和函數(shù)的配合使用。

      7.結(jié)構(gòu)體:結(jié)構(gòu)體數(shù)據(jù)的定義和使用;結(jié)構(gòu)體數(shù)組的使用;利用指針操作結(jié)構(gòu)體的方法(鏈表的基本操作)。

      第五篇:2012上半年中南大學(xué)軟件學(xué)院軟件工程碩士招生公告

      2012年(上半年)中南大學(xué)

      軟件工程碩士自主招生公告

      一、培養(yǎng)目標(biāo)

      根據(jù)國民經(jīng)濟(jì)信息化建設(shè)和軟件產(chǎn)業(yè)迅速發(fā)展的需要,面對企事業(yè)單位、特別是軟件企業(yè)對高素質(zhì)軟件工程技術(shù)人才的迫切需求,培養(yǎng)有創(chuàng)新精神、具有國際競爭力的高層次復(fù)合型軟件人才。

      二、報考條件

      1、身體健康,品行端正,遵紀(jì)守法;

      2、具有國民教育系列大學(xué)本科學(xué)歷和學(xué)士學(xué)位;應(yīng)屆、往屆畢業(yè)生均可;

      3、較系統(tǒng)掌握計算機(jī)專業(yè)基礎(chǔ)知識,具有一定的軟件開發(fā)或軟件項目管理等方面的經(jīng)驗(yàn)和能力,或從事企、事業(yè)單位信息化建設(shè)工作的管理人員和技術(shù)人員。

      三、專業(yè)研究方向

      1、軟件工程;

      2、生物醫(yī)學(xué)信息技術(shù):該方向是現(xiàn)代生命科學(xué)、醫(yī)學(xué)、計算機(jī)科學(xué)與信息科學(xué)等領(lǐng)域相互交叉,并融合生物信息學(xué)、計算與系統(tǒng)生物學(xué)、藥物信息學(xué)、醫(yī)學(xué)影像信息學(xué)、醫(yī)學(xué)信息學(xué)等學(xué)科而形成的一門嶄新的前沿學(xué)科。生物醫(yī)學(xué)信息技術(shù)的發(fā)展和應(yīng)用已成為解決現(xiàn)代生物醫(yī)學(xué)領(lǐng)域許多重大問題的關(guān)鍵技術(shù)。該方向研究生歸口我校軟件學(xué)院和生物科學(xué)與技術(shù)學(xué)院共同培養(yǎng)管理。

      3、能源系統(tǒng)工程:該方向是工業(yè)節(jié)能、建筑節(jié)能、新能源、新型動力技術(shù)、能源管理、節(jié)能評價與信息科學(xué)等學(xué)科領(lǐng)域相互交叉形成的一門新興學(xué)科,旨在培養(yǎng)我國能源領(lǐng)域節(jié)能減排、能源管理、能源審計、能源評估、節(jié)能技術(shù)評價等工作的專業(yè)人才,為我國能源領(lǐng)域各相關(guān)單位儲備人才。該方向研究生歸口我校軟件學(xué)院和能源科學(xué)與工程學(xué)院共同培養(yǎng)管理。

      4、金融風(fēng)險與數(shù)據(jù)挖掘:該方向是根據(jù)國民經(jīng)濟(jì)及軟件產(chǎn)業(yè)發(fā)展的需要,緊密聯(lián)系我國國民經(jīng)濟(jì)和金融保險業(yè)的發(fā)展趨勢,充分發(fā)揮計算機(jī)技術(shù)與金融風(fēng)險分析技術(shù)密切結(jié)合的特色,培養(yǎng)精通現(xiàn)代風(fēng)險分析、控制與數(shù)據(jù)挖掘理論,掌握扎實(shí)的計算機(jī)、金融風(fēng)險分析與數(shù)據(jù)挖掘技術(shù),具有運(yùn)用數(shù)據(jù)挖掘技術(shù)進(jìn)行金融風(fēng)險分析、處理、評估及相關(guān)計算機(jī)軟件的應(yīng)用與開發(fā)能力的高層次復(fù)合型人才。該方向研究生歸口我校軟件學(xué)院和數(shù)學(xué)科學(xué)與計算技術(shù)學(xué)院共同培養(yǎng)管理。

      四、招生人數(shù)

      本次計劃招收200人。

      五、報名、考試及入學(xué)時間

      (一)網(wǎng)上報名時間:2012年3月19日 ~ 4月20日。

      報名系統(tǒng)地址:http://202.197.33.69/yjsbm,請報名考生按照要求填寫本人真實(shí)信息,并上傳本人近期免冠登記電子照片,照片規(guī)格150×200像素(JPG格式)。網(wǎng)上報考信息不完整者不接受報名。

      (二)現(xiàn)場報名:

      1、報名時間:2012年4月21 ~ 22日。

      2、報名地點(diǎn):中南大學(xué)軟件學(xué)院(鐵道校區(qū)電子樓107室-研究生工作辦公室)。

      3、報名程序:

      (1)提交下列材料進(jìn)行資格審查

      ①考生所在單位加蓋人事部門公章(必須)的報名資格審查表(一式二份,見附件); ②本科畢業(yè)證書原件和復(fù)印件(往屆生提供); ③學(xué)士學(xué)位證書原件和復(fù)印件(往屆生提供); ④本科學(xué)生證原件和復(fù)印件(應(yīng)屆生提供)。

      ⑤近期同底免冠一寸彩照4張(背面用鉛筆標(biāo)注考生姓名)。

      以上5類材料請務(wù)必用檔案袋裝好,檔案袋正面標(biāo)注考生姓名、聯(lián)系電話?,F(xiàn)場

      報名材料不完整者不接受報名。

      (2)繳納報名考試費(fèi)320元。

      4、考試時間:2012年5月5日。

      5、入學(xué)時間:2012年秋季。

      六、考試科目

      1、綜合考試(200分):內(nèi)容包括數(shù)學(xué)、英語。參考書目:全國工程碩士專業(yè)學(xué)位教育指導(dǎo)委員會指定的復(fù)習(xí)資料《工程碩士專業(yè)學(xué)位研究生入學(xué)資格考試指南》(科學(xué)技術(shù)文獻(xiàn)出版社)和《工程碩士專業(yè)學(xué)位研究生入學(xué)考試考前輔導(dǎo)教程》(清華大學(xué)出版社)。

      2、專業(yè)基礎(chǔ)考試(100分),按報考方向選一: ?軟件工程方向:軟件工程基礎(chǔ)。

      ?生物醫(yī)學(xué)信息技術(shù)方向:生物醫(yī)學(xué)信息技術(shù)(軟件工程基礎(chǔ)60%,普通生物學(xué)40%)?能源系統(tǒng)工程方向:能源系統(tǒng)工程(軟件工程基礎(chǔ)60%,傳熱學(xué)20%、工程熱力學(xué)20%)?金融風(fēng)險與數(shù)據(jù)挖掘方向:專業(yè)綜合(軟件工程基礎(chǔ)60%,統(tǒng)計學(xué)基礎(chǔ)40%)。參考書目:

      陳松喬 主編,《現(xiàn)代軟件工程》,清華大學(xué)出版社。陳閱增 主編,《普通生物學(xué)》,高等教育出版社。楊世銘 主編,《傳熱學(xué)》第三版,高等教育出版社。沈維道 主編,《工程熱力學(xué)》第三版,高等教育出版社。賈俊平主編,《統(tǒng)計學(xué)》第三版,中國人民大學(xué)出版社。

      3、復(fù)試:前兩項筆試成績達(dá)到學(xué)校要求之后,參加學(xué)院組織的復(fù)試。復(fù)試內(nèi)容:專業(yè)綜合考試及面試。

      參加2010年由國家統(tǒng)一組織的工程碩士專業(yè)學(xué)位研究生入學(xué)資格考試(GCT),總成績不低于150分(其中英語和數(shù)學(xué)單科成績不低于30分)的考生可持本人的GCT成績單申請免試數(shù)學(xué)和英語(現(xiàn)場報名時在軟件學(xué)院研究生辦公室提出書面申請)。

      七、學(xué)費(fèi)

      人民幣3.6萬元/全程(分兩學(xué)年交清,每次1.8萬元)。

      八、學(xué)制

      彈性學(xué)制2~4年。根據(jù)實(shí)際情況安排在職學(xué)習(xí)形式,上課時間為節(jié)假日及雙休日。

      九、主修課程

      軟件工程方向:基礎(chǔ)英語、工程數(shù)學(xué)、自然辯證法、高級軟件開發(fā)過程、軟件需求工程、面向?qū)ο笙到y(tǒng)分析與設(shè)計、軟件體系結(jié)構(gòu)、分布式數(shù)據(jù)庫系統(tǒng)、軟件項目管理、軟件能力成熟度模型、軟件測試技術(shù)、IT知識產(chǎn)權(quán)與法律、國際IT專業(yè)認(rèn)證等。

      生物醫(yī)學(xué)信息技術(shù)方向:基礎(chǔ)英語、自然辯證法、軟件基礎(chǔ)、高級分子生物學(xué)、高級生物化學(xué)、高級細(xì)胞生物學(xué)、分子生物學(xué)技術(shù)、生物統(tǒng)計學(xué)、生物信息學(xué)、藥物信息學(xué)、科研設(shè)計與選題、生命科學(xué)技術(shù)前沿、生物醫(yī)藥新興產(chǎn)業(yè)、醫(yī)院信息系統(tǒng)與應(yīng)用、衛(wèi)生事業(yè)管理學(xué)、管理心理學(xué)、專題講座、現(xiàn)代人文護(hù)理、軟件工程等。

      能源系統(tǒng)工程方向:基礎(chǔ)英語、自然辯證法、軟件基礎(chǔ)、高等傳熱學(xué)、高等工程熱力學(xué)、高等流體力學(xué)、能源系統(tǒng)工程、能源審計概論、現(xiàn)代熱工測控技術(shù)、能源評估技術(shù)、節(jié)能技術(shù)及評價、鍋爐及熱力系統(tǒng)專論、專題講座、軟件工程等。

      金融風(fēng)險與數(shù)據(jù)挖掘方向:基礎(chǔ)英語、高等工程數(shù)學(xué)、自然辯證法、金融工程、金融風(fēng)險管理、應(yīng)用統(tǒng)計學(xué)、期權(quán)期貨及金融衍生產(chǎn)品、商業(yè)銀行管理、精算學(xué)、高級數(shù)據(jù)庫技術(shù)、軟件應(yīng)用與開發(fā)、數(shù)據(jù)挖掘、軟件項目管理等。

      十、學(xué)位授予

      學(xué)生在規(guī)定年限之內(nèi)修滿培養(yǎng)方案劃所規(guī)定的學(xué)分,成績合格,完成學(xué)位論文并通過碩士學(xué)位論文答辯,經(jīng)學(xué)位評定委員會審核通過后,授予軟件工程碩士專業(yè)學(xué)位,頒發(fā)軟件工程碩士學(xué)位證書。

      十一、項目特色

      1、中南大學(xué)軟件學(xué)院是全國37所示范性軟件學(xué)院之一,擁有自主劃線招生的資格;

      2、工程化特色鮮明:重在培養(yǎng)高層次、實(shí)用型、復(fù)合型、國際化人才,培養(yǎng)模式上更貼近行業(yè)需求;

      3、國際化特色鮮明:國際師生互派、交流,國外名師來校講座,國際頂級IT企業(yè)技術(shù)支持;

      4、課程體系靈活:與國內(nèi)外知名高校和頂級IT企業(yè)合作,借鑒國際上先進(jìn)教學(xué)方法,采用和開發(fā)優(yōu)秀教學(xué)資源;

      5、學(xué)習(xí)方式靈活:在職或脫產(chǎn)均可,彈性學(xué)制2~4年;

      6、完成所有課程、考試合格、通過論文答辯者,由國家學(xué)位辦授權(quán)中南大學(xué)頒發(fā)軟件工程碩士學(xué)位證書;

      7、畢業(yè)生就業(yè)渠道及狀況良好,深受企事業(yè)單位歡迎。

      十二、聯(lián)系信息

      研究生院招生辦辦公地址:中南大學(xué)校本部三辦公樓3樓

      聯(lián)系電話:0731-88876806、0731-88876474(傳真)

      軟件學(xué)院辦公地點(diǎn):中南大學(xué)鐵道校區(qū)電子樓107室

      聯(lián)系電話/傳真:0731-82539736

      生物科學(xué)與技術(shù)學(xué)院辦公地點(diǎn):中南大學(xué)湘雅新校區(qū)后棟471室

      聯(lián)系電話/傳真:0731-82650230

      能源科學(xué)與工程學(xué)院辦公地點(diǎn):中南大學(xué)能源科學(xué)與工程學(xué)院208室

      聯(lián)系電話:0731-88830282,***(陳老師)傳真:0731-8887986

      3數(shù)學(xué)科學(xué)與計算技術(shù)學(xué)院辦公地點(diǎn):中南大學(xué)校本部南校區(qū)第二教學(xué)樓一樓辦公室

      聯(lián)系電話:0731-8866017

      1中南大學(xué)研究生院招生辦公室 中南大學(xué)軟件學(xué)院

      2012年3月10日

      附件:資格審查表

      2012年在職人員攻讀碩士學(xué)位報考資格審查表

      報考學(xué)校名稱:中南大學(xué)報考學(xué)位類別:工程碩士

      注:

      1、本表須由考生本人如實(shí)填寫,否則所產(chǎn)生的一切后果由考生本人負(fù)責(zé)。

      2、學(xué)歷學(xué)位等相應(yīng)信息請一律按照所獲證書上內(nèi)容填寫。如證書上號碼多于一個,上表中各證書編號欄請?zhí)顚懽蕴?;如無注冊號,請?zhí)顚懽C書上的“證書編號”或“學(xué)校編號”等由發(fā)證院校(科研單位)編排的號碼。通過自學(xué)考試獲得畢業(yè)證書者,“畢業(yè)學(xué)?!闭?zhí)顚懴鄳?yīng)?。ㄊ校┳詫W(xué)考試委員會。

      3、考生所在單位人事部門須對考生本人填寫情況進(jìn)行審查確認(rèn)后簽署意見,并在考生照片上加蓋人事部門公章。

      4、此資格審查表連同相關(guān)材料一并報送有關(guān)招生單位,招生單位審核通過后存檔備查。

      下載中南大學(xué)軟件學(xué)院軟件工程基礎(chǔ)復(fù)習(xí)大全word格式文檔
      下載中南大學(xué)軟件學(xué)院軟件工程基礎(chǔ)復(fù)習(xí)大全.doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        中南軟件學(xué)院電子競技大賽調(diào)查表

        中南軟件學(xué)院電子競技大賽調(diào)查表 您好,我們正在進(jìn)行一項關(guān)于電子競技的調(diào)查,耽擱您寶貴的時間詢問一些問題,愿您協(xié)助我們搞好這項調(diào)查工作,謝謝!您所填寫的內(nèi)容并不涉及您的......

        中南大學(xué)2016年944《軟件工程》考試大綱

        中南大學(xué)2016年全國碩士研究生入學(xué)考試 《軟件工程》考試大綱 本考試大綱由軟件學(xué)院教授委員會于2012年7月7日通過。 I.考試性質(zhì) 《軟件工程》考試是為高等院校和科研院所......

        中南大學(xué)軟件學(xué)院-IT項目管理-考試必備-濃縮版

        →軟件項目失敗的原因主要是因?yàn)轫椖康膹?fù)雜性和缺乏合格的項目管理。人們體會到缺乏有效的項目管理是導(dǎo)致軟件項目失控的直接原因 (3分技術(shù)、7分管理、12分?jǐn)?shù)據(jù)) 作業(yè)連續(xù)不斷......

        河南大學(xué)軟件學(xué)院

        河南大學(xué)軟件學(xué)院——《毛澤東思想和中國特色社會主義理論體系概論》課程論文姓名:靳培強(qiáng)學(xué)號:1045033352專業(yè):軟件工程年級:大二論文題目:《鄧小平》紀(jì)錄片給我的啟成績:________......

        天津市大學(xué)軟件學(xué)院

        天津市大學(xué)軟件學(xué)院選課說明(根據(jù)自己所選擇的方向,按照方向?qū)?yīng)的選課說明進(jìn)行選課,每周六天)鑒于2013級新生來自不同高職院校的不同專業(yè)而導(dǎo)致的已修課程的差異,為避免高職升本......

        東南大學(xué)軟件學(xué)院__軟件工程課程——題庫之一

        東南大學(xué)在職研究生工程碩士《軟件工程》課程考試題庫之一東南大學(xué)軟件學(xué)院研究生課程考試試卷第一部分:基本概念題(60%)答題要求:(共60題,每題1分)請在每題的四個選項中,選擇你認(rèn)為......

        中南大學(xué)軟件學(xué)院外出實(shí)習(xí)申請表(第6_7_8學(xué)期用)

        中南大學(xué)軟件學(xué)院學(xué)生外出軟件工程實(shí)訓(xùn)申請審批表(第六學(xué)期用)2. 接收單位指定的指導(dǎo)教師應(yīng)具有中級以上的技術(shù)職稱或相應(yīng)資格,并向?qū)W院提交相關(guān)資格證書復(fù)印件;3. 申請學(xué)生除......

        大學(xué)計算機(jī)基礎(chǔ)(第2版)第10章軟件工程復(fù)習(xí)思考題答案

        第10章軟件工程復(fù)習(xí)思考題答案 一、選擇題 1~5AAABB6~10BCBAA11~15DCCBA16~20DCCAB 二、填空題 1. 過程 2. 瀑布模型、原型模型、螺旋模型、面向?qū)ο笊嬷芷谀P汀⒅悄苣P?.....