第一篇:2012上半年中南大學(xué)軟件學(xué)院軟件工程碩士招生公告
2012年(上半年)中南大學(xué)
軟件工程碩士自主招生公告
一、培養(yǎng)目標(biāo)
根據(jù)國民經(jīng)濟信息化建設(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)掌握計算機專業(yè)基礎(chǔ)知識,具有一定的軟件開發(fā)或軟件項目管理等方面的經(jīng)驗和能力,或從事企、事業(yè)單位信息化建設(shè)工作的管理人員和技術(shù)人員。
三、專業(yè)研究方向
1、軟件工程;
2、生物醫(yī)學(xué)信息技術(shù):該方向是現(xiàn)代生命科學(xué)、醫(yī)學(xué)、計算機科學(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)濟及軟件產(chǎn)業(yè)發(fā)展的需要,緊密聯(lián)系我國國民經(jīng)濟和金融保險業(yè)的發(fā)展趨勢,充分發(fā)揮計算機技術(shù)與金融風(fēng)險分析技術(shù)密切結(jié)合的特色,培養(yǎng)精通現(xiàn)代風(fēng)險分析、控制與數(shù)據(jù)挖掘理論,掌握扎實的計算機、金融風(fēng)險分析與數(shù)據(jù)挖掘技術(shù),具有運用數(shù)據(jù)挖掘技術(shù)進行金融風(fēng)險分析、處理、評估及相關(guān)計算機軟件的應(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,請報名考生按照要求填寫本人真實信息,并上傳本人近期免冠登記電子照片,照片規(guī)格150×200像素(JPG格式)。網(wǎng)上報考信息不完整者不接受報名。
(二)現(xiàn)場報名:
1、報名時間:2012年4月21 ~ 22日。
2、報名地點:中南大學(xué)軟件學(xué)院(鐵道校區(qū)電子樓107室-研究生工作辦公室)。
3、報名程序:
(1)提交下列材料進行資格審查
①考生所在單位加蓋人事部門公章(必須)的報名資格審查表(一式二份,見附件); ②本科畢業(yè)證書原件和復(fù)印件(往屆生提供); ③學(xué)士學(xué)位證書原件和復(fù)印件(往屆生提供); ④本科學(xué)生證原件和復(fù)印件(應(yīng)屆生提供)。
⑤近期同底免冠一寸彩照4張(背面用鉛筆標(biāo)注考生姓名)。
以上5類材料請務(wù)必用檔案袋裝好,檔案袋正面標(biāo)注考生姓名、聯(lián)系電話。現(xiàn)場
報名材料不完整者不接受報名。
(2)繳納報名考試費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ù)文獻出版社)和《工程碩士專業(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ù)試:前兩項筆試成績達到學(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é)費
人民幣3.6萬元/全程(分兩學(xué)年交清,每次1.8萬元)。
八、學(xué)制
彈性學(xué)制2~4年。根據(jù)實際情況安排在職學(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è)認證等。
生物醫(yī)學(xué)信息技術(shù)方向:基礎(chǔ)英語、自然辯證法、軟件基礎(chǔ)、高級分子生物學(xué)、高級生物化學(xué)、高級細胞生物學(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)代人文護理、軟件工程等。
能源系統(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)高層次、實用型、復(fù)合型、國際化人才,培養(yǎng)模式上更貼近行業(yè)需求;
3、國際化特色鮮明:國際師生互派、交流,國外名師來校講座,國際頂級IT企業(yè)技術(shù)支持;
4、課程體系靈活:與國內(nèi)外知名高校和頂級IT企業(yè)合作,借鑒國際上先進教學(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é)院辦公地點:中南大學(xué)鐵道校區(qū)電子樓107室
聯(lián)系電話/傳真:0731-82539736
生物科學(xué)與技術(shù)學(xué)院辦公地點:中南大學(xué)湘雅新校區(qū)后棟471室
聯(lián)系電話/傳真:0731-82650230
能源科學(xué)與工程學(xué)院辦公地點:中南大學(xué)能源科學(xué)與工程學(xué)院208室
聯(lián)系電話:0731-88830282,***(陳老師)傳真:0731-8887986
3數(shù)學(xué)科學(xué)與計算技術(shù)學(xué)院辦公地點:中南大學(xué)校本部南校區(qū)第二教學(xué)樓一樓辦公室
聯(lián)系電話:0731-8866017
1中南大學(xué)研究生院招生辦公室 中南大學(xué)軟件學(xué)院
2012年3月10日
附件:資格審查表
2012年在職人員攻讀碩士學(xué)位報考資格審查表
報考學(xué)校名稱:中南大學(xué)報考學(xué)位類別:工程碩士
注:
1、本表須由考生本人如實填寫,否則所產(chǎn)生的一切后果由考生本人負責(zé)。
2、學(xué)歷學(xué)位等相應(yīng)信息請一律按照所獲證書上內(nèi)容填寫。如證書上號碼多于一個,上表中各證書編號欄請?zhí)顚懽蕴?;如無注冊號,請?zhí)顚懽C書上的“證書編號”或“學(xué)校編號”等由發(fā)證院校(科研單位)編排的號碼。通過自學(xué)考試獲得畢業(yè)證書者,“畢業(yè)學(xué)?!闭?zhí)顚懴鄳?yīng)?。ㄊ校┳詫W(xué)考試委員會。
3、考生所在單位人事部門須對考生本人填寫情況進行審查確認后簽署意見,并在考生照片上加蓋人事部門公章。
4、此資格審查表連同相關(guān)材料一并報送有關(guān)招生單位,招生單位審核通過后存檔備查。
第二篇:廈門大學(xué)軟件學(xué)院軟件工程碩士
廈門大學(xué)軟件學(xué)院“軟件工程碩士”貴州教學(xué)點
2012年(春季班)招生簡章
(面向貴州在職人員、自主招生)
廈門大學(xué)軟件學(xué)院是經(jīng)教育部、原國家計委批準(zhǔn)的35所國家示范性軟件學(xué)院之一。根據(jù)國務(wù)院學(xué)位辦有關(guān)文件精神,軟件學(xué)院2012年春季自主招生,面向貴州省招收軟件工程領(lǐng)域工程碩士專業(yè)學(xué)位研究生(MSE)60名。有關(guān)事宜如下:
一、招生對象及要求
具有國民教育序列大學(xué)本科(取得學(xué)士學(xué)位)及以上學(xué)歷的在職工作人員,原所學(xué)專業(yè)和年齡不限。
二、研究方向
1、財務(wù)與金融信息化
2、電子政務(wù)
3、軟件項目管理
4、數(shù)字媒體技術(shù)
5、教育信息化管理工程
6、網(wǎng)絡(luò)信息安全技術(shù)
三、學(xué)習(xí)方式及年限
學(xué)習(xí)方式為半脫產(chǎn),學(xué)制兩年,在校學(xué)習(xí)時間2—5年,最長不超過5年。學(xué)習(xí)總學(xué)分為40學(xué)分。第一年以課程學(xué)習(xí)為主,安排相對集中時間授課;第二年開始進入工程實踐階段并完成畢業(yè)論文。
在職不脫產(chǎn)人員的學(xué)習(xí)以周末上課為主,或安排集中時間授課。
四、入學(xué)考試
考試科目:數(shù)學(xué)、英語、專業(yè)基礎(chǔ)(C語言、數(shù)據(jù)結(jié)構(gòu))。
考試時間:2011年11月6日,考生于11月4日到貴州師范大學(xué)經(jīng)濟與管理學(xué)院進行現(xiàn)場確認及資格審查。
五、報名方法
1、考生須在2011年9月22日至10月31日之前將下列材料交至貴陽教學(xué)點,地址:貴州師范大學(xué)經(jīng)濟與管理學(xué)院成教部辦公室;
① 考試費240 元。
②《2011年攻讀軟件工程碩士學(xué)位報考資格審查表》一式二份,資格審查表見附件一(貼近期同底一寸免冠照片,由考生所在單位推薦,并在張貼照片處及“考生所在單位人事部門審核意見”一欄處加蓋考生所在單位人事部門公章,無單位考生加蓋檔案所在人才交流中心公章);
③《報名表》一份(見附件二);
④身份證復(fù)印件一份;
⑤大學(xué)本科畢業(yè)證書、學(xué)士學(xué)位證書復(fù)印件各一份;
⑥近期(藍底)一寸免冠照片3張(其中2張貼在資格審查表上);
3、考生應(yīng)于2011年11月4日,攜帶以上有關(guān)證件的原件,到貴州師范大學(xué)經(jīng)濟與管理學(xué)院成教部辦公室現(xiàn)場照相并確認資格。
六、錄取與入學(xué)
1、錄取分?jǐn)?shù)線及錄取人數(shù)由學(xué)校根據(jù)實際情況自主決定。上線考生須參加面試。廈門大學(xué)研究生院根據(jù)筆試成績和面試成績,擇優(yōu)錄取。
2、2012年春季入學(xué)。入學(xué)前必須就培養(yǎng)等有關(guān)事宜和廈門大學(xué)軟件學(xué)院簽訂協(xié)議。
七、證書及學(xué)位授予
學(xué)生在規(guī)定年限之內(nèi)修滿規(guī)定學(xué)分,成績合格,完成學(xué)位論文(論文形式可以是工程項目技術(shù)報告、關(guān)鍵技術(shù)的研究論文、軟件工程項目管理成就等)并通過學(xué)校組織的答辯,經(jīng)廈門大學(xué)學(xué)位評定委員會審核批準(zhǔn)后,授予廈門大學(xué)工程碩士學(xué)位,頒發(fā)全國統(tǒng)一的工程碩士學(xué)位證書。
八、學(xué)費
根據(jù)國家計委、財政部、教育部《關(guān)于高等學(xué)校示范性軟件學(xué)院收費標(biāo)準(zhǔn)及有關(guān)事項的通知》(計價格[2002]665號)和福建省物價局、財政廳、教育廳文件(閩價[2004]費16號)精神,廈門大學(xué)軟件學(xué)院工程碩士貴陽教學(xué)點學(xué)生須繳納學(xué)費(含論文指導(dǎo)和答辯費),學(xué)費總額為32000元。學(xué)生在第一學(xué)年開學(xué)報到時繳納選課費16000元,在進入論文階段時(通常為第二學(xué)年開學(xué)注冊)繳納論文指導(dǎo)費、答辯費16000元。教材費用自理。
九、報名、咨詢方式
咨詢網(wǎng)址:,sem.gznu.edu.cn 報名地點:貴州師范大學(xué)經(jīng)濟與管理學(xué)院成教部 報名電話:0851-6776369、***(郭老師)0851-6763394、***(王老師)
報名咨詢:貴州師范大學(xué) 0851-6788233(周老師、謝老師、譚老師)
廈 門 大 學(xué)0592-2580600(黃老師)、2580599(曹老師)
傳真:0851-6788233(貴州師范大學(xué))、0592-2580500(廈門大學(xué))通信地址:貴州省貴陽市寶山北路116號貴州師范大學(xué)經(jīng)濟與管理學(xué)院 郵編:550001
廈門大學(xué)研究生院 廈門大學(xué)軟件學(xué)院 貴州師范大學(xué)經(jīng)濟與管理學(xué)院
2011年9月21日
附件一:
2012年在職人員攻讀碩士學(xué)位資格審查表
注:報考法律碩士的政法系統(tǒng)工作人員和報考公共管理碩士的政府部門工作人員須由省級主管部門簽署推薦意見,其他考生無須省級主管部門簽署推薦意見。
附件二:
報名表
第三篇:軟件工程碩士畢業(yè)論文
四川大學(xué)
畢業(yè)論文(設(shè)計)
題目學(xué)院學(xué)院專業(yè)學(xué)生姓名學(xué)號年級級指導(dǎo)教師
畢業(yè)教務(wù)處制表 畢業(yè)
軟件工程碩士畢業(yè)論文
一、論文說明
本團隊長期從事論文寫作與論文發(fā)表服務(wù),擅長案例分析、編程仿真、圖表繪制、理論分析等,??票究普撐?00起,具體信息聯(lián)系
二、論文參考題目與思路
EDGE基站系統(tǒng)物理層下行鏈路與API的設(shè)計實現(xiàn)
10GEPON OLT MAC子層的設(shè)計實現(xiàn)及系統(tǒng)仿真驗證
數(shù)字版權(quán)理論研究與系統(tǒng)設(shè)計實現(xiàn)
安防報警系統(tǒng)中GSM通信模塊的設(shè)計實現(xiàn)
交換機例測報告自動采集與分析系統(tǒng)的設(shè)計實現(xiàn)
交換機例測報告自動采集與分析系統(tǒng)的設(shè)計實現(xiàn)
網(wǎng)絡(luò)多媒體教學(xué)課件管理系統(tǒng)設(shè)計與實現(xiàn)
Internet網(wǎng)絡(luò)安全的若干理論研究與安全Web系統(tǒng)的設(shè)計實現(xiàn)
出口退稅監(jiān)控管理系統(tǒng)的設(shè)計和實現(xiàn)
基于面向?qū)ο蟮腛A系統(tǒng)的設(shè)計與實現(xiàn)
基于構(gòu)件技術(shù)的異構(gòu)嵌入式組態(tài)系統(tǒng)研究
DMB-T10GEPON OLT MAC子層的設(shè)計實現(xiàn)及系統(tǒng)仿真驗證
數(shù)字版權(quán)理論研究與系統(tǒng)設(shè)計實現(xiàn)
安防報警系統(tǒng)中GSM通信模塊的設(shè)計實現(xiàn)
交換機例測報告自動采集與分析系統(tǒng)的設(shè)計實現(xiàn)
交換機例測報告自動采集與分析系統(tǒng)的設(shè)計實現(xiàn)
網(wǎng)絡(luò)多媒體教學(xué)課件管理系統(tǒng)設(shè)計與實現(xiàn)
Internet網(wǎng)絡(luò)安全的若干理論研究與安全Web系統(tǒng)的設(shè)計實現(xiàn)
出口退稅監(jiān)控管理系統(tǒng)的設(shè)計和實現(xiàn)
基于面向?qū)ο蟮腛A系統(tǒng)的設(shè)計與實現(xiàn)
基于構(gòu)件技術(shù)的異構(gòu)嵌入式組態(tài)系統(tǒng)研究
DMB-TH系統(tǒng)研究及解調(diào)關(guān)鍵技術(shù)的硬件設(shè)計實現(xiàn)
雞病專家診數(shù)字版權(quán)理論研究與系統(tǒng)設(shè)計實現(xiàn)
安防報警系統(tǒng)中GSM通信模塊的設(shè)計實現(xiàn)
交換機例測報告自動采集與分析系統(tǒng)的設(shè)計實現(xiàn)
交換機例測報告自動采集與分析系統(tǒng)的設(shè)計實現(xiàn)
網(wǎng)絡(luò)多媒體教學(xué)課件管理系統(tǒng)設(shè)計與實現(xiàn)
Internet網(wǎng)絡(luò)安全的若干理論研究與安全Web系統(tǒng)的設(shè)計實現(xiàn) 出口退稅監(jiān)控管理系統(tǒng)的設(shè)計和實現(xiàn)
基于面向?qū)ο蟮腛A系統(tǒng)的設(shè)計與實現(xiàn)
基于構(gòu)件技術(shù)的異構(gòu)嵌入式組態(tài)系統(tǒng)研究
DMB-TH系統(tǒng)研究及解調(diào)關(guān)鍵技術(shù)的硬件設(shè)計實現(xiàn)
雞病專家診治系統(tǒng)的設(shè)計實現(xiàn)與畜禽飼料配方優(yōu)化系統(tǒng)的設(shè)計 濰城區(qū)西關(guān)街道安防報警系統(tǒng)中GSM通信模塊的設(shè)計實現(xiàn) 交換機例測報告自動采集與分析系統(tǒng)的設(shè)計實現(xiàn)
交換機例測報告自動采集與分析系統(tǒng)的設(shè)計實現(xiàn)
網(wǎng)絡(luò)多媒體教學(xué)課件管理系統(tǒng)設(shè)計與實現(xiàn)
Internet網(wǎng)絡(luò)安全的若干理論研究與安全Web系統(tǒng)的設(shè)計實現(xiàn) 出口退稅監(jiān)控管理系統(tǒng)的設(shè)計和實現(xiàn)
基于面向?qū)ο蟮腛A系統(tǒng)的設(shè)計與實現(xiàn)
基于構(gòu)件技術(shù)的異構(gòu)嵌入式組態(tài)系統(tǒng)研究
DMB-TH系統(tǒng)研究及解調(diào)關(guān)鍵技術(shù)的硬件設(shè)計實現(xiàn)
雞病專家診治系統(tǒng)的設(shè)計實現(xiàn)與畜禽飼料配方優(yōu)化系統(tǒng)的設(shè)計 濰城區(qū)西關(guān)街道黨工委黨員管理系統(tǒng)的設(shè)計與實現(xiàn)
第四篇:中南大學(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ù))模型,主要有實體、聯(lián)系和(屬性)三種成分,其中實體可分為獨立實體和(從屬實體),且一個實體只能在圖中出現(xiàn)一次。
9、軟件是計算機程序、(描述計算機程序的文檔)及(數(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é)角度來看,由程序作者對自己編寫的程序進行測試是不恰當(dāng)?shù)摹TO(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è)計)和(詳細設(shè)計)兩個階段。
16.如果一個模塊完成多個邏輯上相近或相關(guān)的功能,并且每次調(diào)用只選擇該模塊中的一個功能執(zhí)行,則稱此模塊為 邏輯內(nèi)聚的模塊。
17.在數(shù)據(jù)流圖中,每個加工至少有一個輸入數(shù)據(jù)流 和一個 輸出數(shù)據(jù)流。
18.軟件項目計劃是計劃(策劃)階段的結(jié)果產(chǎn)品。但由于是在高層次進行系統(tǒng)分析,未能考慮軟件系統(tǒng)開發(fā)的細節(jié)情節(jié),因此軟件項目計劃一般在需求分析 階段完成后才定稿的。
19.在面向?qū)ο箢悓哟谓Y(jié)構(gòu)中,子類只繼承一個父類的數(shù)據(jù)結(jié)構(gòu)和方法,則稱為 單重繼承。如果子類繼承了多個父類的數(shù)據(jù)結(jié)構(gòu)和方法,則稱為多重繼承。
20.在軟件測試過程中,α測試是由 一個用戶在開發(fā) 環(huán)境下進行的測試,而β測試是由多個用戶在 實際使用環(huá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ù)據(jù)處理。
25.評估軟件企業(yè)的質(zhì)量管理有兩種方法,一種是按照ISO9001 認證,另外一種是按照CMM認證。
1.軟件測試的目的是(發(fā)現(xiàn)錯誤)。
2.軟件按服務(wù)對象可分為項目軟件和(產(chǎn)品軟件)。
3.在常見的軟件生存期模型中,(螺旋)模型是風(fēng)險驅(qū)動的。
4.UML通過三種擴展機制來擴充UML的建模能力,分別是(約束)、構(gòu)造型和(標(biāo)記值)。
5.在軟件測試用例的設(shè)計方法中,白盒法以(程序內(nèi)部數(shù)據(jù)結(jié)構(gòu))為依據(jù)設(shè)計測試用例,6.在面向?qū)ο笤O(shè)計原則中,(組裝復(fù)用)原則要求在新的對象里盡量使用已有的類對應(yīng)的對象,并通過(委派)達到復(fù)用已有功能的目的。
7.狀態(tài)圖描述一個類對象所經(jīng)歷的(各種狀態(tài))以及事件發(fā)生時狀態(tài)的(轉(zhuǎn)移條件).8.SOFL軟件開發(fā)方法學(xué)認為,在需求分析和規(guī)格說明階段應(yīng)該采用(結(jié)構(gòu)化)方法,而在設(shè)計和實現(xiàn)階段則應(yīng)該采用(面向?qū)ο螅┓椒ā?/p>
9.可行性研究的內(nèi)容包括(技術(shù)可行性)、經(jīng)濟可行性和(操作可行性)。軟件按服務(wù)對象可分為(項目軟件)和產(chǎn)品軟件在常見的軟件生存周期模型中,(瀑布)模型是文檔驅(qū)動的UML采用(用例)圖描述系統(tǒng)與外部用戶的交互行為在軟件測試用例的設(shè)計方法中,黑盒法以(外部功能)為依據(jù)設(shè)計測試用例定性度量模型獨立性的兩個標(biāo)準(zhǔn)是(內(nèi)聚度)和(耦合度)8 在SA方法的需求描述工具中,(層次方框圖)描述系統(tǒng)的分解,即描述系統(tǒng)由哪幾個部分組成,各部分之
間有什么聯(lián)系等等;(數(shù)據(jù)詞典(和加工說明))定義了數(shù)據(jù)流圖中每個圖形元素;結(jié)構(gòu)化語言、判定
表或判定樹則詳細描述、數(shù)據(jù)流圖中不能被分解的(基本加工)IDEFO圖主要元素是簡單的盒子及箭頭,其中盒子代表(活動)。而箭頭表示系統(tǒng)處理的(數(shù)據(jù)約束)
1.什么是軟件工程?軟件工程和計算機科學(xué)有何區(qū)別? 答:軟件工程是指導(dǎo)軟件開發(fā)和維護的工程性學(xué)
科;計算機科學(xué)著重于原理和理論,軟件工程與計算機科學(xué)不同,軟件工程著重于如何建造軟件系統(tǒng),軟
件是計算機中看不見摸不著的邏輯部分,以程序、數(shù)據(jù)和文檔的形式出現(xiàn)。
2.面向?qū)ο蠓椒ê徒Y(jié)構(gòu)化方法有何區(qū)別與聯(lián)系? 答:區(qū)別: 面向?qū)ο髲乃幚淼臄?shù)據(jù)入手,以數(shù)據(jù)為中
心來描述系統(tǒng),其基本思想是盡可能模擬人類習(xí)慣的思維方式,使開發(fā)軟件的方法與過程盡可能接近人類
認識世界的方法與過程,基本原則為:對象+類+繼承+消息通信 結(jié)構(gòu)化方法首先關(guān)心的是功能,強調(diào)以模
塊為中心,其基本思想是自頂向下,逐步求精,單入口,單出口,基本原則為:抽象與功能的分解 聯(lián)系:
軟件開發(fā)過程中,在需求分析和規(guī)格說明階段采用結(jié)構(gòu)化方法,在設(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)依賴于細節(jié);依賴倒置原則的本質(zhì)其實就是通過抽象(抽象類或接口)使各個類或
模塊的實現(xiàn)彼此獨立,不相互影響,實現(xiàn)模塊間的松耦合,如果沒有實現(xiàn)這個原則,則開閉原則也無法實
現(xiàn)。
6.軟件生存期過程和軟件生存期模型有何聯(lián)系?瀑布模型有何特點?答:軟件生存期過程沒有規(guī)定一個特
定的生存周期模型,各軟件開發(fā)機構(gòu)可視其項目的需要選擇一種軟件生存周期模型,并將軟件生存期過程
所含過程、活動和任務(wù)映射到選定的軟件生存周期模型中。軟件生存期模型是軟件生存期過程所含過程、活動和任務(wù)的映射。瀑布模型特點:各階段相互依賴;每階段都進行評審;強調(diào)需求分析和設(shè)計。
1.瀑布模型是軟件工程中應(yīng)用最廣泛的過程模型,試述采用瀑布模型進行軟件開發(fā)的基本過程,該過程有
何特點? 答:瀑布模型規(guī)定了各項軟件工程活動,包括需求分析、規(guī)格說明、設(shè)計、編碼、測試和維護,并規(guī)定了它們自上而下、相互銜接的固定次序,如同瀑布流水,逐級而下。瀑布模型的特點是:階段間具
有順序性和依賴性;清楚區(qū)分邏輯設(shè)計和物理設(shè)計,盡可能推遲程序的物理實現(xiàn);每個階段都必須完成規(guī)
定文檔,且每階段結(jié)束前需要對完成的文檔進行評審。
2、什么是軟件配置管理?軟件配置管理和軟件維護有何不同? 答:軟件配置管理是在軟件生命周期內(nèi)管理變
化的一組活動,用來:標(biāo)識變化、控制變化、確保適當(dāng)?shù)貙崿F(xiàn)了變化、向相關(guān)人員報告變化。
軟件配置管理和軟件維護的區(qū)別是:軟件配置管理是一組追蹤和控制活動,在軟件項目啟動時就開始,并
一直持續(xù)到軟件被淘汰后才終止;軟件維護是一組軟件工程活動,發(fā)生于軟件交付給用戶并投入運行之后。
3、試舉例說明聚集關(guān)系中共享聚集和組合聚集有何不同。答:如果在聚集關(guān)系中部分對象可同時參與多個
整體對象的構(gòu)成,則該聚集稱為共享聚集。例如,一個課題組包含許多成員,每個成員又可以是另一個課
題組的成員,則課題組和成員之間是一種共享聚集的關(guān)系。
如果部分對象完全隸屬于整體對象,并與整體對象共存,則該聚集稱為組合聚集。例如,在屏幕上一個窗
口由文本框、列表框、按鈕和菜單等構(gòu)成,且一旦關(guān)閉了窗口,則各組成部分也消失,則窗口和它的組成部分之的關(guān)系為組合聚集關(guān)系。
1非漸增式測試與漸增式測試有何區(qū)別? 答:非漸增式測試,一般應(yīng)先經(jīng)過單元測試,然后再把所有模塊一
次性組裝在一起進行測試,最終得到要求的軟件系統(tǒng);而漸增式測試則采用逐步加入模塊或功能簇的方式
進行,在加入過程中邊連接邊測試,比較容易定位和修正錯誤,且接口也可以更容易進行徹底地測試2.試舉例說明什么是功能性需求,什么是非功能性需求?為何非功能性需求往往比功能性需求還要重
要? 答:功能性需求是說有具體的完成內(nèi)容的需求。例如:比如客戶登錄、郵箱網(wǎng)站的收發(fā)郵件、論壇網(wǎng)
站的發(fā)帖留言等。非功能性需求是指軟件產(chǎn)品為滿足用戶業(yè)務(wù)需求而必須具有且除功能需求以外的特性,包括系統(tǒng)的性能、可靠性、可維護性、可擴充性和對技術(shù)和對業(yè)務(wù)的適應(yīng)性等。例如:性能要求:要求系
統(tǒng)能滿足100個人同時使用,頁面反應(yīng)時間不能超過6秒;非功能性需求往往比功能性需求還要重要是因為
非功能性需求描述的是軟件的質(zhì)量屬性,直接影響著用戶體驗,因此非功能性需求在決定系統(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.快速原型模型有幾種?各有何特點?答:快速原形模型根據(jù)原型的不同作用,有三類原型模型:
(1)探索型原型:把原型用于開發(fā)的需求分析階段,目的是要弄清用戶的需求,確定所期望的特性,并探索
各種方案的可行性。它主要針對開發(fā)目標(biāo)模糊,用戶與開發(fā)者對項目都缺乏經(jīng)驗的情況,通過對原型的開
發(fā)來明確用戶的需求。
(2)實驗型原型:主要用于設(shè)計階段,考核實現(xiàn)方安是否合適,能否實現(xiàn)。對于一個大型系統(tǒng),若對設(shè)計方
案心中沒有把握時,可通過這種原型的開發(fā)來證實設(shè)計方案的正確性。
(3)演化型原型:它將原型思想擴展到軟件開發(fā)的全過程,就是及早向用戶提交一個原型系統(tǒng),在得到用戶
認可后,將原型系統(tǒng)不斷擴充演化為最終的軟件系統(tǒng)。
2.什么是模塊的作用域?為何設(shè)計軟件結(jié)構(gòu)時要求模塊的作用域必須在控制域之內(nèi)? 答:所謂模塊的作
用域是指模塊判定的影響范圍。作用域在控制域之內(nèi),可使得軟件修改時代碼局部化。
3.什么是動態(tài)測試?為何靜態(tài)測試方法往往比動態(tài)測試方法效率高? 答:動態(tài)測試是指經(jīng)運行程序代碼
而檢查代碼是否存在錯誤。靜態(tài)測試往往不是運行代碼,而在軟件開發(fā)的早期進行,而早期錯誤發(fā)現(xiàn)要比
錯誤晚發(fā)現(xiàn)付出的成本少,而靜態(tài)測試往往在發(fā)現(xiàn)錯誤后還可繼續(xù)進行,但動態(tài)測試往往需要停下來改進后才能進一步測試。1 試簡要說明面向?qū)ο蠓椒ㄅc結(jié)構(gòu)化方法相比有何優(yōu)越性,至少列出三點。答:(1)強調(diào)從現(xiàn)實世界中客觀
存在的事物(對象)出發(fā)來認識問題域和構(gòu)造系統(tǒng),這就使系統(tǒng)開發(fā)者大大減少了對問題域的理解難度,從而使系統(tǒng)能更準(zhǔn)確地反映問題域。(2)運用人類日常的思維方法和原則(體現(xiàn)于OO方法的抽象、分類、繼承、封裝、消息通訊等基本原則)進行系統(tǒng)開發(fā),有益于發(fā)揮人類的思維能力,并有效地控制了系統(tǒng)復(fù)
雜性。(3)對象的概念貫穿于開發(fā)過程的終,使各個開發(fā)階段的系統(tǒng)成分具良好的對應(yīng),從而顯著地提高
了系統(tǒng)的開發(fā)效率與質(zhì)量,并大大降低系統(tǒng)維護的難度。(4)對象概念的一致性,使參與系統(tǒng)開發(fā)的各類
人員在開發(fā)的各所段具有共同語言,有效地改善了人員之間的交流和協(xié)作。(5)對象的相對穩(wěn)定性和對易
變因素隔離,增強了系統(tǒng)的應(yīng)變能力。(6)對象類之間的繼承關(guān)系和對象的相對獨立性,對軟件復(fù)用提供
了強有力的支持。1.什么是軟件危機?軟件危機是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴(yán)重問題。這些問題
表現(xiàn)在以下幾個方面:(1)用戶對開發(fā)出的軟件很難滿意。(2)軟件產(chǎn)品的質(zhì)量往往靠不住。(3)一般軟件很
難維護。4)軟件生產(chǎn)效率很低。(5)軟件開發(fā)成本越來越大。(6)軟件成本與開發(fā)進度難以估計。7)軟件技術(shù)的發(fā)展遠遠滿足不了計算機應(yīng)用的普及與深入的需要。
2.什么是軟件生存周期?軟件生存周期是指從軟件定義、開發(fā)、使用、維護到淘汰的全過程。
1.軟件開發(fā)模型有幾種?它們的開發(fā)方法有可特點?軟件開發(fā)模型有瀑布型、漸增型和變換型。瀑布型開
發(fā)方法是按照軟件生存周期的劃分依次實施,每一個階段有明確規(guī)定的任務(wù)。它的特點:(1)各個階段的順
序性和依賴性;(2)劃分邏輯設(shè)計與物理設(shè)計,盡可能推遲程序的物理實現(xiàn);3)每個階段必須完成規(guī)定的文
檔,對其中問題通過復(fù)審及早發(fā)現(xiàn),及早解決。漸增型開發(fā)方法及特點:1)從部分需求出發(fā),先建立一個不
完全的系統(tǒng),通過測試運行該系統(tǒng)取得經(jīng)驗和信息反饋,加深對軟件需求的理解,進一步使系統(tǒng)擴充和完
善。如此反復(fù),直至軟件人員和用戶對所設(shè)計完成的軟件系統(tǒng)滿意為止。2)在漸增型開發(fā)下的軟件是隨軟
件開發(fā)的過程而逐漸形成的。(3)漸增型開發(fā)方法適合于知識型軟件的開發(fā),設(shè)計系統(tǒng)時對用戶需求的認識
開始不是很清楚的,需要在開發(fā)過程中不斷認識、不斷獲得新的知識去豐富和完善系統(tǒng)。多數(shù)研究性質(zhì)的試驗軟件,一般采用此方法。變換型開發(fā)方法及特點:(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)險進行管理。
5. 傳遞信息的方法?
1、參數(shù)。
2、全局變量。
3、公共可訪問區(qū)域。
6.?dāng)?shù)據(jù)建模的作用?
1、抓住問題的主要方面---理解問題。
2、便于交流。
3、可以進行分析(性能、可靠
性、、、、、、)。
4、可以自動生成代碼。
7. 描述模型的兩種方法?
1、結(jié)構(gòu)化方法:結(jié)構(gòu)化方法首先關(guān)心的是功能,強調(diào)以模塊為中心,采用模
塊化、自頂向下、逐步求精設(shè)計過程(分層),適合需求明確的模型。其不足之處:不太適應(yīng)規(guī)模大及
特別復(fù)雜的項目,難于解決軟件重用問題,難于適應(yīng)需求變化或模糊的問題,軟件維護比較復(fù)雜。
2、面向
對象方法:面向?qū)ο蠓椒▌t從所處理的數(shù)據(jù)入手,以數(shù)據(jù)為中心來描述系統(tǒng),適合迭代增量式分解(網(wǎng)狀)。
其不足之處:類作為復(fù)用單元,有時顯得太小,類繼承會增加類間的耦合度,該方法不夠成熟。
8. 描述作業(yè)之間的關(guān)系?
1、畫PERT圖。
2、確定最晚發(fā)生時刻與最早發(fā)生時刻。
3、計算機動時間,為0 的為關(guān)鍵事件。
4、Gantt圖的方法進行描述。
9. 用例與功能的區(qū)別?
1、完成一個用例需要若干功能。
2、用例是從用戶使用系統(tǒng)的角度來描述系統(tǒng)的行為的。
3、用例往往是對用戶有價值的結(jié)果。
4、用例滿足用戶的業(yè)務(wù)目標(biāo)。
10. 描述模塊獨立性的標(biāo)準(zhǔn)?內(nèi)聚度(內(nèi)聚度是指模塊內(nèi)部各成分聯(lián)系緊密的程度,內(nèi)聚度越高,模塊獨
立性越強)耦合度(耦合度是指模塊之間相互關(guān)聯(lián)的緊密程度。耦合度越低,模塊獨立性越強)
11.什么是黑盒測試?黑盒測試主要采用的技術(shù)有哪些? 黑盒測試也稱為功能測試,它著眼于程序的外部特
征,而不考慮程序的內(nèi)部邏輯結(jié)構(gòu)。測試者把被測程序看成一個黑盒,不用關(guān)心程序的內(nèi)部結(jié)構(gòu)。黑盒測試是
在程序接口處進行測試,它只檢查程序功能是否能按照規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟?/p>
收輸入數(shù)據(jù)產(chǎn)生正確的輸出信息,并且保持外部信息(如數(shù)據(jù)庫或文件)的完整性。黑盒測試主要采用的技
術(shù)有:等價分類法、邊沿值分析法、錯誤推測法和因果圖等技術(shù)。
12.什么是白盒測試?白盒測試主要采用的技術(shù)有哪些?測試者了解被測程序的內(nèi)部結(jié)構(gòu)和處理過程,對程序的所有邏輯路徑進行測試,在不同點檢查程序狀態(tài),確定實際狀態(tài)與預(yù)期狀態(tài)是否一致。白盒測試主要采用的技術(shù)有:路徑測試技術(shù)和事務(wù)處理流程技術(shù),對包含有大量邏輯判斷或條件組合的程序采用基于邏輯的測試技術(shù)。
13. 瀑布模型的優(yōu)缺點?優(yōu)點:1.流水線生產(chǎn)比個人生產(chǎn)效率高,質(zhì)量好。2.將邏輯設(shè)計與物理實施分開,避免無用功。減少成本,能盡量推遲物理實施。3.文檔驅(qū)動使得開發(fā)過程可視化,便于管理和控制。缺點:
1.當(dāng)需求不明確時,流水線被阻塞。2.得不到用戶的反饋,開發(fā)過程得不到修正,導(dǎo)致有可能出現(xiàn)大的失誤。3.最后將產(chǎn)品一次提交給用戶,用戶感到不適應(yīng),成本增加,市場風(fēng)險加大。
14.軟件工程的目的?以期用較少的代價獲取高質(zhì)量的軟件。
第五篇:中南大學(xué)軟件學(xué)院架構(gòu)超強復(fù)習(xí)
? JDBC是用來執(zhí)行SQL的Java API,開發(fā)人員可以使用這些標(biāo)準(zhǔn)API來迎接和操作數(shù)據(jù)庫,實現(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,也可以認為是一種數(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的缺點:1.在某一時刻連接必須服務(wù)于一個用戶,以免造成事務(wù)沖突。2.創(chuàng)建連接需要耗費時間。3.保持連接打開狀態(tài)的代價很大。使用數(shù)據(jù)庫連接池的優(yōu)點:1.資源重用 2. 更快的系統(tǒng)響應(yīng)速度 3. 統(tǒng)一的連接管理,避免數(shù)據(jù)庫連接泄漏? Servlet是一種獨立于平臺和協(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 客戶端的輸入信息。生命周期包括加載、實例化、處理客戶端請求和移除,該生命周期由javax.servlet.Sercvet接口的init、setvlet、destroy方法實現(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可以看成是運行時的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.表達式(Expressions)——合法的Java表達式。servlet 對象包括:page和config。JSP中會話跟蹤的方法:
1.隱藏域 2.URL傳值 3.session 4.cookie
? JavaBean往往封裝了程序的頁面邏輯,它是可重用的組件。通過使用JavaBean,可以減少在JSP中
腳本代碼的使用,這樣使得JSP易于維護。JavaBean 的優(yōu)點:變更方便、可重用組件、可在多個應(yīng)用程序中使用、可以跨平臺
? 頁面關(guān)聯(lián):Web應(yīng)用程序最突出的優(yōu)點是其能夠聚合大量的信息資源。單個Web組件所提供的信
息和功能是有限的,因此需要通過Web組件間的關(guān)聯(lián)來實現(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)。控制器負責(zé)轉(zhuǎn)發(fā)請求,對請求進行處理。視圖實現(xiàn)數(shù)據(jù)的顯示。模型封裝與應(yīng)用程序的業(yè)務(wù)邏輯相關(guān)的數(shù)據(jù)以及對數(shù)據(jù)的處理方法
? Model1和model2的區(qū)別 Model1模式的實現(xiàn)比較簡單,適用于快速開發(fā)小規(guī)模項目。但從工程
化的角度看,它的局限性非常明顯:JSP頁面身兼View和Controller兩種角色,將控制邏輯和表現(xiàn)邏輯混雜在一起,從而導(dǎo)致代碼的重用性非常低,增加了應(yīng)用的擴展性和維護的難度。Model2已經(jīng)是基于MVC架構(gòu)的設(shè)計模式。在model2架構(gòu)中,servlet作為前端控制器,負責(zé)接受客戶端發(fā)送的請求,在servlet中只包含控制邏輯和簡單的前端處理;然后,調(diào)用后端的JavaBean來完成實際的邏輯處理;最后,轉(zhuǎn)發(fā)到相應(yīng)的JSP頁面處理顯示邏輯。區(qū)別:本質(zhì)區(qū)別在于處理批量請求的位置不同。說明Strusts2是如何實現(xiàn)MOdel2的?在struts2中,Model對應(yīng)業(yè)務(wù)邏輯組件,它通常用于實現(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中負責(zé)調(diào)用相應(yīng)的業(yè)務(wù)邏輯組件來完成處理。
? JSTL(JSP Standard Tag Library)是基于SUN公司所定義規(guī)范,由許多公司共同開發(fā)完善的開放源代
碼的jsp標(biāo)簽庫,為實現(xiàn)Web應(yīng)用程序中常用功能提供了一個單一的標(biāo)準(zhǔn)解決方案,是由apache維護的。
? Servlet過濾器是Web中的一個小型組件,它能攔截來自客戶端的請求和響應(yīng)信息,進行查看提取
或者對客戶端和服務(wù)器之間交換的數(shù)據(jù)信息進行一些特定的操作。Servlet過濾器常用的應(yīng)用場景:
1、對用戶請求進行統(tǒng)一認證
2、用戶的訪問進行記錄和審核
3、對用戶發(fā)送的數(shù)據(jù)進行過濾或替換
4、轉(zhuǎn)換圖像格式
5、對響應(yīng)內(nèi)容進行壓縮,減少傳輸量
6、對請求和響應(yīng)進行加解密處理 ? 什么是Ajax?AJAX是一種異步交互技術(shù),是JavaScript、CSS、DOM、XmlHttpRequest四種技術(shù)的集合體,主要應(yīng)用于異步獲取后臺數(shù)據(jù)和局部刷新。異步交互方式:異步發(fā)送請求,消除了傳統(tǒng)的“發(fā)送請求-等待-發(fā)送請求-等待”,極大的提高用戶體驗。異步:發(fā)送請求后不等返回結(jié)果,由回調(diào)函數(shù)處理結(jié)果。JavaScript:向服務(wù)器發(fā)起請求,獲得返回結(jié)果,更新頁面。XML:封裝數(shù)據(jù)。Ajax應(yīng)用的處理流程
1、一個客戶端事件觸發(fā)一個Ajax事件;
2、創(chuàng)建XMLHttpRequest對象的一個實例;
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的核心機制,是一種支持異步請求的技術(shù)。簡單的說,也就是javascript可
以及時向服務(wù)器提出請求和處理響應(yīng),而不阻塞用戶,達到無刷新的效果。XMLHttpRequest對象的常用方法:1.Open(”method”,”url”):建立對服務(wù)器的調(diào)用。Method參數(shù)可以是POST,GET或PUT。url路徑可以使絕對路徑也可以是相對路徑。另外這個方法還有三個可選的參數(shù)。2.Send(content):向服務(wù)器發(fā)送請求。
? AJAX優(yōu)點:
1、最大的一點是頁面無刷新,在頁面內(nèi)與服務(wù)器通信,給用戶的體驗非常好。
2、使用
異步方式與服務(wù)器通信,不需要打斷用戶的操作,具有更加迅速的響應(yīng)能力。
3、可以把以前一些服務(wù)器負擔(dān)的工作轉(zhuǎn)嫁到客戶端,利用客戶端閑置的能力來處理
4、基于標(biāo)準(zhǔn)化的并被廣泛支持的技術(shù),不需要下載插件或者小程序。AJAX缺點: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ù)庫),最后向瀏覽器返回html頁面。異步通信方式---XMLHttpRequest對象,異步發(fā)送請求,消除了傳統(tǒng)的“發(fā)送請求-等待-發(fā)送請求-等待”的特性,極大的提高了用戶體驗。
?
? JavaScript是一種廣泛用于客戶端的腳本語言,一種動態(tài)、弱類型、基于原型的語言,內(nèi)置支持類 XML(可拓展標(biāo)記語言)是SMGL的子集,其目標(biāo)是允許普通的SGML在Web上以目前HTML的方式被服務(wù)、接受和處理,被設(shè)計成易于實現(xiàn),且可在SGML和HTML之間互相操作。商業(yè)優(yōu)勢:信息共享、單一應(yīng)用使用、內(nèi)容交付。技術(shù)優(yōu)勢:數(shù)據(jù)重用、數(shù)據(jù)和表示分離、可拓展性、語義信息、容易理解、易于編程
? 由于軟件已經(jīng)實現(xiàn)了基本的MVC架構(gòu),開發(fā)者可以基于這個軟件,添加自己特定的業(yè)務(wù)邏輯,這樣的軟件就可以被稱為Web框架。通過Web框架:規(guī)范軟件的架構(gòu)、減輕開發(fā)的難度、提高效率、降低維護成本。
?
? Struts1的缺陷:Formbean與ActionServlet有關(guān)、控制器無法脫web、不能做單元測試 Struts2的大致工作流程可描述為: 瀏覽器發(fā)送請求。Control中的核心控制器FilterDispatcher
根據(jù)請求調(diào)用相應(yīng)的業(yè)務(wù)邏輯控制器(Action)。WebWork的攔截器鏈自動對請求應(yīng)用通用功能,如數(shù)據(jù)校驗和文件上傳等功能?;卣{(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的默認配置文件。struts-plugin.xml:Struts 2框架的插件所用的配置文件。Action映射:將一個請求URI映射到一個action類。name action的名字,用于匹配請求URI。Class Action實現(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)教幚怼lainText 用于顯示某些特定頁面的原始內(nèi)容。Xslt 用于顯示XML的內(nèi)容。? 輸入校驗:輸入校驗的內(nèi)容一般包括驗證輸入數(shù)據(jù)的有效性和驗證失敗后向用戶提供錯誤信息兩部
分。輸入驗證的方式可分為客戶端驗證和服務(wù)器端驗證。手動驗證:1.在Action的方法中編寫驗證代碼。2.在validateXxx方法中編寫驗證代碼。validateXxx即可由框架在業(yè)務(wù)代碼執(zhí)行前自動被調(diào)用。如果多個方法調(diào)用同一段驗證代碼,則可以將驗證代碼編寫在名為validate的方法中即可。內(nèi)置驗證框架:通過在外部配置文件中定義驗證規(guī)則的方式來簡化對輸入數(shù)據(jù)的驗證,驗證框架通過validator攔截器來調(diào)用,通過讀取驗證文件中的驗證規(guī)則對輸入數(shù)據(jù)進行驗證,驗證文件的命名為ClassName-alias-validation.xml。ClassName表示實際的Action類名,alias表示在struts.xml中配置的Action的名字。其中,驗證器還分為普通驗證器和字段驗證器。自定義驗證器(以實現(xiàn)驗證碼功能為例):1.編寫ValidationCodeAction,用于產(chǎn)生驗證碼圖像。2.編寫自定義的結(jié)果類型,用于輸出驗證碼。3.在struts.xml中配置自定義結(jié)果類型和ValidationCodeAction。4.修改UserAction,添加驗證碼屬性。5.修改login.jsp,添加驗證碼輸入框。6.編寫字段驗證器類ValidationCodeValidator 7.注冊驗證器類ValidationCodeValidator 8.為驗證碼編寫驗證規(guī)則。? 類型轉(zhuǎn)換::在Http協(xié)議中,瀏覽器(客戶端)和服務(wù)器端的傳輸都是字符串形式的數(shù)據(jù),但在服
務(wù)端的java程序中數(shù)據(jù)是有各種類型的,所以類型轉(zhuǎn)換是不可避免的。(1)使用合法的OGNL表達式命名表單元素時,Struts2就會自動的進行類型轉(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ù)編譯方式和運行期動態(tài)代理實現(xiàn)在不修改
源代碼的情況下給程序動態(tài)統(tǒng)一添加功能的一種技術(shù)。為什么需要AOP?AOP可以說是OOP的補充和完善。OOP引入封裝、繼承和多態(tài)性等概念來建立一種對象層次結(jié)構(gòu),用以模擬公共行為的一個集合。然而OOP在某些場合無能為力,比如當(dāng)需要分散的、不具有繼承層次的對象引入公共行為的時候,OOP則無法避免代碼的重復(fù)。抽象的說,OOP允許定義從上倒下的關(guān)系,但并不適合定義從左到右的關(guān)系。具體而言,比如安全驗證和記錄日志功能,這類代碼往往平均的分散在所有對象層次中,而與它所散步到的對象的核心功能毫無關(guān)系。Spring AOP采用純java實現(xiàn),無須特別編譯。不僅提供AOP基礎(chǔ)框架,還提供很多現(xiàn)成的切面實現(xiàn)。Spring AOP和Spring IoC容器無縫的集成,AOP組件享受Spring提供的一切優(yōu)勢,比如可將攔截器、切入點都當(dāng)做Spring Bean來管理。
? AOP的一些概念:關(guān)注點:一個關(guān)注點可以是一個特定的問題、概念、或是應(yīng)用程序一個關(guān)注點可
以被識別為核心關(guān)注點或橫切關(guān)注點。核心關(guān)注點:完成核心業(yè)務(wù)邏輯的關(guān)注點。橫切關(guān)注點:在AOP中,將那些具有公共邏輯、與其他模塊的核心邏輯糾纏在一起的行為稱為“橫切關(guān)注點”,它不是給定編程模型的核心職責(zé)。比如:身份驗證、日志記錄。切面(Aspect):一個切面是對一個橫切關(guān)注點的模塊化,它將那些散落在各處的、實現(xiàn)關(guān)注點的代碼歸整在一起,其實就是共有功能的實現(xiàn)。如日志切面、權(quán)限切面、事務(wù)切面等。在實際應(yīng)用中通常是一個存放共有功能實現(xiàn)的普通Java類。連接點(join point):它是指應(yīng)用中執(zhí)行的某個點,即程序執(zhí)行流程中的某個點??赡苁欠椒ㄕ{(diào)用、字
段訪問、異常拋出。建議或通知(Advice):是切面的具體實現(xiàn)。以目標(biāo)方法為參照點,根據(jù)放置的地方不同,可分為前置通知(Before)、后置通知(AfterReturning)與環(huán)繞通知(Around)。切入點(Pointcut):一組join point的總稱,用于定義通知應(yīng)該切入到哪些連接點上。不同的通知通常需要切入到不同的連接點上。主要的功能是:日志記錄,性能統(tǒng)計,安全控制,事務(wù)處理,異常處理等等。主要的意圖是:將日志記錄,性能統(tǒng)計,安全控制,事務(wù)處理,異常處理等代碼從業(yè)務(wù)邏輯代碼中劃分出來,通過對這些行為的分離,我們希望可以將它們獨立到非指導(dǎo)業(yè)務(wù)邏輯的方法中,進而改變這些行為的時候不會影響業(yè)務(wù)邏輯代碼。AOP的實現(xiàn)技術(shù):JavaSE動態(tài)代理、動態(tài)字節(jié)碼生成、Java代碼生成、語言擴展。建議(advice)是point cut的執(zhí)行代碼,是“切面”執(zhí)行的具體邏輯。前置建議(before advice)在連接點調(diào)用之前,先調(diào)用advice。后置建議(after advice)在連接點調(diào)用之后,再調(diào)用advice成功執(zhí)行后(after returning advice)拋出異常后(after throwing advice)不管是否異常后(after advice)環(huán)繞建議(around advice)完全控制所有連接點引介(introduction)為一個現(xiàn)有的Java類或接口添加方法或字段?;烊肜^承(mixin inheritance)一個混入類封裝了一組功能,這組功能可能被“混入”到現(xiàn)有的類中,并且無需求助于傳統(tǒng)的繼承手段。在AOP里,mixin通過introduction來實現(xiàn)。織入(weaving)將切面整合到完整的執(zhí)行流程或完成的類。動態(tài)橫切:通過切入點和連接點在一個切面中創(chuàng)建行為的過程。動態(tài)橫切通常用于幫助向?qū)ο髮哟沃械母鞣N方法添加安全驗證或日志記錄。在很多應(yīng)用場景中,動態(tài)橫切基本代表了AOP。動態(tài)橫切的核心技術(shù)包括連接點、切入點、建議、切面。靜態(tài)橫切:靜態(tài)橫切和動態(tài)橫切的區(qū)別在于,靜態(tài)橫切不修改一個給定對象的執(zhí)行行為。相反,它可以把擴展和實現(xiàn)附加到對象的基本結(jié)構(gòu)中。此外,它通過引入附加的方法字段和屬性來修改對象的結(jié)構(gòu)。在AOP的實現(xiàn)中,通常靜態(tài)橫切也就是引入或混入。
? 什么是IOC?控制反轉(zhuǎn),強制將組件的創(chuàng)建和使用分離,通過反射機制,動態(tài)的創(chuàng)建組件已達到解
耦目的。IOC最大的好處是什么?因為把對象生成放在了XML里定義,所以當(dāng)我們需要換一個實現(xiàn)子類將會變成很簡單(一般這樣的對象都是實現(xiàn)于某種接口的),只要修改XML就可以了,這樣我們甚至可以實現(xiàn)對象的熱插撥(有點象USB接口和SCSI硬盤了)IOC最大的缺點是什么?(1)生成一個對象的步驟變復(fù)雜了(事實上操作上還是挺簡單的),對于不習(xí)慣這種方式的人,會覺得有些別扭和不直觀。(2)對象生成因為是使用反射編程,在效率上有些損耗。但相對于IoC提高的維護性和靈活性來說,這點損耗是微不足道的,除非某對象的生成對效率要求特別高。(3)缺少IDE重構(gòu)操作的支持,如果在Eclipse要對類改名,那么你還需要去XML文件里手工去改了,這似乎是所有XML方式的缺憾所在。
?
? MyBatis實現(xiàn)步驟:
1、編寫Configuration.xml文件
2、獲取SqlSessionFactory
3、編寫映射器UserMapper.xml;
4、編寫UserDao的實現(xiàn)。使用Hibernate的步驟(三個準(zhǔn)備,七個步驟)三個準(zhǔn)備:
1、導(dǎo)入Hibernate庫(jar包);
2、添加Hibernate配置文件
3、添加對應(yīng)表的實體類和映射文件。七個步驟:
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
實例相關(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是一個輕量級、功能強大的ORM框架;提供了完全
透明的持久化機制,客戶代碼可通過一種完全面向?qū)ο蟮姆绞絹硖幚沓志没?,而無需和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框架進行ORM,可大幅度減少開發(fā)時手工使用SQL和JDBC的出錯。優(yōu)點:簡單。缺點:多了查詢,慢(但實際對于一個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是一種強大的表達式語言,它通
過簡單一致的表達式語法來讀取和設(shè)置Java對象的屬性,調(diào)用對象的方法,遍歷整個對象的結(jié)構(gòu)圖,實現(xiàn)字段類型轉(zhuǎn)換等功能。WEB容器是指一種安裝在服務(wù)端計算機中的特定軟件。此類軟件遵循HTTP協(xié)議,主要功能是負責(zé)偵聽指定端口,接收客戶端的請求并解析,然后將指定的響應(yīng)頁面發(fā)送到客戶端。EL表達式EL是一種簡單而強大的語言,提供了在JSP腳本元素范圍外使用運行時表達式的功能。Web Services應(yīng)用程序組件,使用開放協(xié)議進行通信,獨立的并可自我描述,可通過使用UDDI來發(fā)現(xiàn),可以被其他應(yīng)用程序使用,XML是其基礎(chǔ)。
? Mybatis一個持久數(shù)據(jù)映射框架,提供了基于JDBC之上的一層簡單抽象,是一種基于SQL語句映射的低級別ORM方案,使用原生態(tài)SQL作為查詢語言,用來完成數(shù)據(jù)持久化MyBaits基本原理:在XML文件中定義SQL語句,預(yù)留參數(shù)占位符;在運行時,占位符被指定的參數(shù)值取代,參數(shù)可能來自參數(shù)映射表、JavaBean屬性、或者簡單的參數(shù)對象。在執(zhí)行SQL查詢時,結(jié)果字段被映射到對象,映射的方式與參數(shù)映射一樣。
? ORM框架ORM, Object-Relational Mapping, 對象-關(guān)系數(shù)據(jù)庫映射框架。在關(guān)系型數(shù)據(jù)庫和業(yè)務(wù)實體對
象之間作一個映射,這樣,我們在具體的操作業(yè)務(wù)對象的時候,就不需要再去和復(fù)雜的SQL語句打交道,只要像平時操作對象一樣操作它就可以了。
? 攔截器(Interceptor)是Struts2的一個重要特性。Struts2的大多數(shù)核心功能都是通過攔截器來實現(xiàn)的,如類型轉(zhuǎn)換、對象組裝、輸入校驗、文件上傳等。Struts2將其大多數(shù)核心功能通過攔截器來實現(xiàn),而不是分散在Action中實現(xiàn),有利于系統(tǒng)的解耦,實現(xiàn)“hot-plug”。需要某個功能就“plug-in”一個攔截器,而不需要修改和業(yè)務(wù)相關(guān)的Action代碼。編寫一個用于安全驗證的攔截器第一步:修改UserAction第二步:編寫攔截器類AuthenticationInterceptor extends AbstractInterceptor第三步:配置攔截。
? DI強制將組件的構(gòu)建和使用分開。(組件的生產(chǎn)、組件的使用、接口的定義、運行時注入)。借
助spring框架,實現(xiàn)工廠的效果。如果類與類之間沒有依賴(不能提取接口),則不用IOC(如果橫向有依賴,即action與action之間有關(guān)系,說明沒有設(shè)計好)功能太小,也不用IOC,spring是做大系統(tǒng)的。DI有兩種最常用的方式:構(gòu)造注入——保留依賴的先后順序。Set注入——更多使用 步驟:定義組件接口:墨盒接口ink;紙張接口paper;使用接口開發(fā)打印機:printer(使用ink和paper接口)組裝打印機:在printer里。給ink和paper創(chuàng)建set方法創(chuàng)建或得到ink和paper的實現(xiàn)類。組裝——在src下創(chuàng)建applicationContext.xml(依賴注入)。運行打印機
? Spring框架的一項最基本的功能就是充當(dāng)創(chuàng)建對象的工廠,具體步驟為:第一步:讀取并
分析spring配置文件(如XML配置文件);第二步:通過反射機制,創(chuàng)建并集成上述配置文件中的對象;第三步:將創(chuàng)建的對象傳回給應(yīng)用代碼。