軟件技術前沿技術報告_第1頁
軟件技術前沿技術報告_第2頁
軟件技術前沿技術報告_第3頁
軟件技術前沿技術報告_第4頁
軟件技術前沿技術報告_第5頁
已閱讀5頁,還剩14頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、摘要本學期我學習了技術前沿這門課程,收獲很多,給我們講課的講師是微店的高級工程師,他們對軟件前沿技術有很深的造詣和理解,再此感謝微店講師對我們細心的授課,感謝郭老師不辭辛苦的為我們負責。以下是我個人對這門課程所學到知識的理解。文章起初闡述了前沿技術這門課程的體系結構及授課內容,然后分別闡述了java語言程序設計基礎,需求分析、系統分析的重要性,SpringMVC框架+Mybatis數據庫技術,以及分布式技術,并在最后一章進行了總結。關鍵字:分布式;前沿技術;MySQL;java目錄第一章 java語言程序設計11.1java語法基礎:11.關鍵字12.標示符13.常量14.變量15.數據類型1

2、6.運算符號27.語句38.函數49.數組410.對象和類411. 封裝,繼承,多態5第二章 需求分析、系統分析62.1需求分析62.2 系統分析8第三章 SpringMVC+mybatis技術103.1 SpringMVC框架103.2 mybatis數據庫10第四章 分布式12第五章 總結14第一章 java語言程序設計我們剛開始學習的是java基礎、高級。我簡單總結一些java的基礎知識:1.1 java語法基礎:1.關鍵字其實就是某種語言賦予了特殊含義的單詞。保留字:其實就是還沒有賦予特殊含義,但是準備日后要使用過的單詞。2.標示符其實就是在程序中自定義的名詞。比如類名,變量名,函數名

3、。包含 0-9、a-z、$、_ ; 注意: 1),數字不可以開頭。 2),不可以使用關鍵字。3.常量是在程序中的不會變化的數據。4.變量其實就是內存中的一個存儲空間,用于存儲常量數據。變量的作用域: 作用域從變量定義的位置開始,到該變量所在的那對大括號結束;生命周期: 變量從定義的位置開始就在內存中活了; 變量到達它所在的作用域的時候就在內存中消失了;5.數據類型 1):基本數據類型:byte、short、int、long、float、double、char、boolean 2):引用數據類型: 數組、類、接口。級別從低到高為:byte,char,short(這三個平級)->int-&g

4、t;float->long->double自動類型轉換:從低級別到高級別,系統自動轉的;強制類型轉換:什么情況下使用?把一個高級別的數賦給一個別該數的級別低的變量;6.運算符號 1)、算術運算符。 + - * / % %:任何整數模2不是0就是1,所以只要改變被模數就可以實現開關運算。 +:連接符。 +,- 2)、賦值運算符。 = += -= *= /= %= 3)、比較運算符。 特點:該運算符的特點是:運算完的結果,要么是true,要么是false。 4)、邏輯運算符。 & | ! && | 邏輯運算符除了 ! 外都是用于連接兩個boolean類型表達式。

5、 &: 只有兩邊都為true結果是true。否則就是false。 |:只要兩邊都為false結果是false,否則就是true :異或:和或有點不一樣。 兩邊結果一樣,就為false。 兩邊結果不一樣,就為true. & 和 &&區別: & :無論左邊結果是什么,右邊都參與運算。&&:短路與,如果左邊為false,那么右邊不參數與運算| 和| 區別:|:兩邊都運|:短路或,如果左邊為true,那么右邊不參與運算。 5)、位運算符:用于操作二進制位的運算符。 & | << >> >>>(無符

6、號右移)7.語句 If switch do while while for 這些語句什么時候用? 1)、當判斷固定個數的值的時候,可以使用if,也可以使用switch。 但是建議使用switch,效率相對較高switch(變量) case 值:要執行的語句;break; default:要執行的語句; 工作原理:用小括號中的變量的值依次和case后面的值進行對比,和哪個case后面的值相同了就執行哪個case后面的語句,如果沒有相同的則執行default后面的語句:break是可以省略的,如果省略了就一直執行到遇到break為止;:switch 后面的小括號中的變量應該是byte,char,s

7、hort,int四種類型中的一種;:default可以寫在switch結構中的任意位置;如果將default語句放在了第一行,則不管expression與case中的value是否匹配,程序會從default開始執行直到第一個break出現。 2)、當判斷數據范圍,獲取判斷運算結果boolean類型時,需要使用if。 3)、當某些語句需要執行很多次時,就用循環結構。 while和for可以進行互換。 區別在于:如果需要定義變量控制循環次數。建議使用for。因為for循環完畢,變量在內存中釋放。break:作用于switch ,和循環語句,用于跳出,或者稱為結束。break語句單獨存在時,下面不

8、要定義其他語句,因為執行不到,編譯會失敗。當循環嵌套時,break只跳出當前所在循環。要跳出嵌套中的外部循環,只要給循環起名字即可,這個名字稱之為標號。continue:只作用于循環結構,繼續循環用的。作用:結束本次循環,繼續下次循環。該語句單獨存在時,下面不可以定義語句,執行不到。8.函數為了提高代碼的復用性,可以將其定義成一個單獨的功能,該功能的體現就是java中的函數。函數就是體現之一。java中的函數的定義格式:修飾符 返回值類型 函數名(參數類型 形式參數1,參數類型 形式參數1,) 執行語句 return 返回值; 當函數沒有具體的返回值時,返回的返回值類型用void關鍵字表示。如

9、果函數的返回值類型是void時,return語句可以省略不寫的,系統會幫你自動加上。return的作用:結束函數。結束功能。9.數組用于存儲同一類型數據的一個容器。好處:可以對該容器中的數據進行編號,從0開始。數組用于封裝數據,就是一個具體的實體。如何在java中表現一個數組呢?兩種表現形式。1)、元素類型 變量名 = new 元素類型元素的個數;2)、元素類型 變量名 = 元素1,元素2.;元素類型 變量名 = new 元素類型元素1,元素2.;10.對象和類所謂對象就是真實世界中的實體,對象與實體是一一對應的,也就是說現實世界中每一個實體都是一個對象,它是一種具體的概念。類是具備某些共同特

10、征的實體的集合,它是一種抽象的概念,用程序設計的語言來說,類是一種抽象的數據類型,它是對所具有相同特征實體的抽象。類與對象的關系:類是對象的集合,對象是類的實例;對象是通過new className產生的,用來調用類的方法;類的構造方法 。11. 封裝,繼承,多態封裝,繼承,多態,這是JAVA面向對象編程的三大特性了。1。封裝:是把客觀事物封裝成抽象的類,并且類可以把自己的數據和方法只讓可信的類或者對象操作,對不可信的進行信息隱藏。封裝是類的特征之一,應該很好理解,像一些私有的,別的類不可以訪問了啊,都有訪問權限的,比較安全了。2。繼承:指這樣一種能力:它可以使用現有類的所有功能,并在無需重新

11、編寫原來的類的情況下對這些功能進行擴展。繼承有三種方式,實現繼承、接口繼承和可視繼承。3。多態:簡單的說就是,允許將子類類型的指針賦值給父類類型的指針。實現多態,有二種方式,方法覆蓋,方法重載。16第2章 需求分析、系統分析在完成項目之前要學會需求分析、系統分析。2.1需求分析軟件需求的定義:(1)用戶解決問題或達到目標所需的條件或能力。(2)系統或系統部件要滿足合同、標準、規范或其它正式規定文檔所需具有的條件或能力。(3)一種反映上面(1)或(2)所描述的條件或權能的文檔說明。 實通俗的講,“需求”就是用戶的需要,它包括用戶要解決的問題、達到的目標、以及實現這些目標所需要的條件,它是一個程序

12、或系統開發工作的說明,表現形式一般為文檔形式。需求工程的定義:需求分析的過程,也叫做需求工程和需求階段,它包括了需求開發和需求管理兩個部分。需求開發是指從情況收集、分析和評價到編寫文檔、評審等一系列產生需求的活動,分為四個階段:情況獲取、分析、制訂規格說明和評審。這四個階段不一定是遵循線性順序的,他們的活動是相互獨立和反復的。需求管理是軟件項目開發過程中控制和維持需求約定的活動,它包括:變更控制、版本控制、需求跟蹤、需求狀態跟蹤等工作。需求開發與管理的一些方法:(1)繪制關聯圖:繪制系統關聯圖是用于定義系統與系統外部實體間的界限和接口的簡單模型。(2)可行性分析:在允許的成本、性能要求下,分析

13、每項需求實施的可行性,提出需求實現相關風險,包括與其它需求的沖突,對外界因素的依賴和技術障礙。(4)系統原型:當用戶自身對有的需求不十分清楚時,我們可以建立一個系統原型,用戶通過評價原型更好地理解所要解決的問題。(5)圖形分析模型:繪制圖形分析模型是編制軟件需求規格說明重要手段。它們能幫助分析人員理清數據、業務模式、工作流程以及他們之間的關系,找出遺漏、冗余和不一致的需求。這樣的模型包括數據流圖、實體關系圖、狀態變換圖、對話框圖、對象類及交互作用圖。(6)數據字典:數據字典是對系統用到的所有數據項和結構的定義,以確保開發人員使用統一的數據定義。在需求階段,數據字典至少應定義客戶數據項,確保客戶

14、與開發小組是使用一致的定義和術語。需求管理的方法主要包括以下一些方面:1)確定需求變更控制過程。制定一個選擇、分析和決策需求變更的過程,所有的需求變更都需遵循此過程。2)進行需求變更影響分析。評估每項需求變更,以確定它對項目計劃安排和其它需求的影響,明確與變更相關的任務并評估完成這些任務需要的工作量。通過這些分析將有助于需求變更控制部門做出更好的決策。3)建立需求基準版本和需求控制版本文檔。確定需求基準,這是項目各方對需求達成一致認識時刻的一個快照,之后的需求變更遵循變更控制過程即可。每個版本的需求規格說明都必須是獨立說明,以避免將底稿和基準或新舊版本相混淆。4)維護需求變更的歷史記錄。將需求

15、變更情況寫成文檔,記錄變更日期、原因、負責人、版本號等內容,及時通知到項目開發所涉及的人員。為了盡量減少困惑、沖突、誤傳,應指定專人來負責更新需求。5)跟蹤每項需求的狀態。可以把每一項需求的狀態屬性(如已推薦的,已通過的,已實施的,或已驗證的)保存在數據庫中,這樣可以在任何時候得到每個狀態類的需求數量。6)衡量需求穩定性。可以定期把需求數量和需求變更(添加、修改、刪除)數量進行比較。過多的需求變更"是一個報警信號",意味著問題并未真正弄清楚。4.需求分析評價標準(1)清晰:目前大多數的需求分析采用的仍然是自然語言,自然語言對需求分析最大的弊病就是它的二義性,所以開發人員需要

16、對需求分析中采用的語言做某些限制。例如盡量采用主語動作的簡單表達方式。需求分析中的描述一定要簡單,千萬不要采用疑問句、修飾這些復雜的表達方式。 除了語言的二義性之外,注意不要使用行話,就是計算機術語。需求分析最重要的是和用戶溝通,可是用戶多半不是計算機的專業人士,如果在需求分析中使用了行話,就會造成用戶理解上的困難。(2)完整:需求的完整性是非常重要的,如果有遺漏需求,則不得不返工,在軟件開發過程中,最糟糕的事情莫過于在軟件開發接近完成時發現遺漏了一項需求。但實際情況是,需求的遺漏是常發生的事情,這不僅僅是開發人員的問題,更多發生在用戶那里。要做到需求的完整性是很艱難的一件事情,它涉及到需求分

17、析過程的各個方面,貫穿整個過程,從最初的需求計劃制定到最后的需求評審。(3)一致:一致性是指用戶需求必須和業務需求一致,功能需求必須和用戶需求一致。在需求過程中,開發人員需要把一致性關系進行細化,比如用戶需求不能超出預前指定的范圍。嚴格的遵守不同層次間的一致性關系,就可以保證最后開發出來的軟件系統不會偏離最初的實現目標。(4)可測試:一個項目的測試從什么時候開始呢?有人說是從編碼完成后開始,有人說是編碼的時候同時進行單元測試,編碼完成后進行系統測試,這些結論都不完全正確。實際上,測試是從需求分析過程就開始了,因為需求是測試計劃的輸入和參照。這就要求需求分析是可測試的,只有系統的所有需求都是可以

18、被測試的,才能夠保證軟件始終圍繞著用戶的需要,保證軟件系統是成功的。2.2 系統分析系統分析的具體步驟包括:限定問題、確定目標、調查研究收集數據、提出備選方案和評價標準、備選方案評估和提出最可行方案. 1、 限定問題所謂問題,是現實情況與計劃目標或理想狀態之間的差距.系統分析的核心內容有兩個:其一是進行“診斷”,即找出問題是及其原因;其二是“開處方”,即提出解決問題的最可行方案.所謂限定問題,就是要明確問題的本質或特性、問題存在范圍和影響程度、問題產生的時間和環境、問題的癥狀和原因等.限定問題是系統分析中關鍵的一步,因為如果“診斷”出錯,以后開的“處方”就不可能對癥下藥.在限定問題時,要注意區

19、別癥狀和問題,探討問題原因不能先入為主,同時要判別哪些是局部問題,哪些是整體問題,問題的最后確定應該在調查研究之后. 2、確定目標系統分析目標應該根據客戶的要求和對需要解決問題的理解加以確定,如有可能應盡量通過指標表示,以便進行定量分析.對不能定量描述的目標也應該盡量用文字說明清楚,以便進行定性分析和評價系統分析的成效. 3、調查研究,收集數據調查研究和收集數據應該圍繞問題起因進行,一方面要驗證有限定問題階段形成的假設,另一方面要探討產生問題的根本原因,為下一步提出解決問題的備選方案做準備. 調查研究常用的有四種方式,即閱讀文件資料、訪談、觀察和調查. 收集的數據和信息包括事實(facts)、

20、見解(opinions)和態度(attitudes).要對數據和信息去偽存真,交叉核實,保證真實性和準確性.4、提出備選方案和評價標準通過深入調查研究,使真正有待解決的問題得以最終確定,使產生問題的主要原因得到明確,在此基礎上就可以有針對性地提出解決問題的備選方案.備選方案是解決問題和達到咨詢目標可供選擇的建議或設計,應提出兩種以上的備選方案,以便提供進一步評估和篩選.為了對備選方案進行評估,要根據問題的性質和客戶具備的條件.提出約束條件或評價標準,供下一步應用. 5、備選方案評估根據上述約束條件或評價標準,對解決問題備選方案進行評估,評估應該是綜合性的,不僅要考慮技術因素,也要考慮社會經濟等

21、因素,評估小組的成員應該有一定代表性,除咨詢項目組成員外,也要吸收客戶組織的代表參加.根據評估結果確定最可行方案. 6、提交最可行方案最可行方案并不一定是最佳方案,它是在約束條件之內,根據評價標準篩選出的最現實可行的方案.如果客戶滿意,則系統分析達到目標.如果客戶不滿意,則要與客戶協商調整約束條件或評價標準,甚至重新限定的問題,開始新一輪系統分析,直到客戶滿意為止.第3章 SpringMVC+mybatis技術3.1 SpringMVC框架1. 原理 Spring MVC按植物分類學屬于Martin Flower企業應用模式里的靜態配置型Front Controler,使用DispatchSe

22、rvlet截獲所有*.do的請求,按照xml文件的配置,調用對應的Command對象的 handleRequest(request,response)函數,同時進行依賴對象的注入。Controller層,就是實現handleRequest(request,response)函數的普通JavaBean。2. 優勢Spring MVC與struts相比的優勢:一:Controller有著從松到緊的類層次結構,用戶可以選擇實現只有一個HandleRequest()函數的接口,也可以使用它有很多回調函數的SimpleFormController類。二:不需要Form Bean,也不需要Tapestry

23、那所謂面向對象的頁面對象。三:不需要強XML配置文件。3.化簡3.1. 直接implement Controller,實現handleRequest()函數3.2.每個Controler負責一組相關的action一個Controler負責多個action的,一個Controler一個action就像一個function一個類一樣無聊。用URL參數如msg="insert"把一組相關action交給一個Controler控制。3.3.xml宣告式編程的取舍 3.2 mybatis數據庫  MyBatis 是一個可以自定義SQL、存儲過程和高級映射的持久層框架。MyB

24、atis 摒除了大部分的JDBC代碼、手工設置參數和結果集重獲。MyBatis 只使用簡單的XML 和注解來配置和映射基本數據類型、Map 接口和POJO 到數據庫記錄。相對Hibernate和Apache OJB等“一站式”ORM解決方案而言,Mybatis 是一種“半自動化”的ORM實現。配置數據庫:1.搭建Spring環境2.建立MySql數據庫3.搭建MyBatis環境3.1創建實體類3.2創建數據訪問接口3.3創建SQL映射語句文件3.4創建MyBatis的mapper配置文件3.5修改Spring 的配置文件4.測試StudentMapper第四章 分布式在課程中,我們學習了分布式

25、架構,本章主要講解的學習分布式的心得體會。分布式數據庫系統通常使用較小的計算機系統,每臺計算機可單獨放在一個地方,每臺計算機中都可能有DBMS的一份完整拷貝副本,或者部分拷貝副本,并具有自己局部的數據庫,位于不同地點的許多計算機通過網絡互相連接,共同組成一個完整的、全局的邏輯上集中、物理上分布的大型數據庫。分布式數據庫是指利用高速計算機網絡將物理上分散的多個數據存儲單元連接起來組成一個邏輯上統一的數據庫。分布式數據庫的基本思想是將原來集中式數據庫中的數據分散存儲到多個通過網絡連接的數據存儲節點上,以獲取更大的存儲容量和更高的并發訪問量。近年來,隨著數據量的高速增長,分布式數據庫技術也得到了快速

26、的發展,傳統的關系型數據庫開始從集中式模型向分布式架構發展,基于關系型的分布式數據庫在保留了傳統數據庫的數據模型和基本特征下,從集中式存儲走向分布式存儲,從集中式計算走向分布式計算。首先,降低了數據傳送代價,因為大多數的對數據庫的訪問操作都是針對局部數據庫的,而不是對其他位置的數據庫訪問;其次,系統的可靠性提高了很多,因為當網絡出現故障時,仍然允許對局部數據庫的操作,而且一個位置的故障不影響其他位置的處理工作,只有當訪問出現故障位置的數據時,在某種程度上才受影響;第三,便于系統的擴充,增加一個新的局部數據庫,或在某個位置擴充一臺適當的小型計算機,都很容易實現。然而有些功能要付出更高的代價。例如

27、,為了調配在幾個位置上的活動,事務管理的性能比在中心數據庫時花費更高,而且甚至抵消許多其他的優點。分布式軟件系統(Distributed Software Systems)是支持分布式處理的軟件系統,是在由通信網絡互聯的多處理機體系結構上執行任務的系統。它包括分布式操作系統、分布式程序設計語言及其編譯(解釋)系統、分布式文件系統和分布式數據庫系統等。分布式操作系統負責管理分布式處理系統資源和控制分布式程序運行。它和集中式操作系統的區別在于資源管理、進程通信和系統結構等方面。 分布式程序設計語言用于編寫運行于分布式計算機系統上的分布式程序。一個分布式程序由若干個可以獨立執行的程序模塊組成,它們分布于一個分布式處理系統的多臺計算機上被同時執行。它與集中式的程序設計語言相比有三個特點:分布性、通信性和穩健性。 分布式文件系統具有執行遠程文件存取的能力,并以透明方式對分布在網絡上的文件進行管理和存取。 分布式數據庫系統由分布于多個計算機結點上的若干個數據庫系統組成,它提供有效的存取手段來操縱

溫馨提示

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

評論

0/150

提交評論