軟件工程課程設計報告.docx

上傳人:good****022 文檔編號:116779508 上傳時間:2022-07-06 格式:DOCX 頁數(shù):19 大?。?32.23KB
收藏 版權申訴 舉報 下載
軟件工程課程設計報告.docx_第1頁
第1頁 / 共19頁
軟件工程課程設計報告.docx_第2頁
第2頁 / 共19頁
軟件工程課程設計報告.docx_第3頁
第3頁 / 共19頁

下載文檔到電腦,查找使用更方便

13 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《軟件工程課程設計報告.docx》由會員分享,可在線閱讀,更多相關《軟件工程課程設計報告.docx(19頁珍藏版)》請在裝配圖網上搜索。

1、軟件工程實習報告書實時通訊系統(tǒng)的設計與實現(xiàn)學 號:0705010110姓 名:李喬指導老師:戴祖雄完成日期:2011年3月7日 目錄第一章 A可行性研究報告. 31 引言 . 32 可行性研究的前提 . 33 可行性分析 . 44結論意見 . 4第二章 B需求分析說明書 . 61 引言 . 62 目標系統(tǒng)任務概述 63需求規(guī)定. 7第2章 C概要設計說明書. 81引言. 82總體設計. 8第3章 D詳細設計說明書. 91引言. 102各個模塊的具體流程. 113關鍵代碼分析. 13第4章 E測試說明書. 161測試方案. 162測試用例. 163測試結果. 164測試結果分析. 16總結、致謝

2、 17參考文獻 18前言近年來,各種企業(yè)內部通訊系統(tǒng)得到了飛速發(fā)展,它可以不用連接Internet,直接在局域網內實現(xiàn)信息通訊、工作交流、提交計劃等業(yè)務。這種通訊系統(tǒng)廣泛應用于中小型企業(yè)的內部通訊,可以大大提高職工的工作效率,在方便企業(yè)內部職工交流的同時,也創(chuàng)造了一個安靜的工作環(huán)境。在現(xiàn)代企業(yè)內部通訊軟件是不可缺少的工具。本軟件主要是針對企業(yè)內部職工的通訊與交流進行設計,目的是方便職工之間的交流,以提高工作效率。本課程設計說明書共五章。第一章為可行性分析,主要討論該系統(tǒng)技術、 經濟、社會方面的可行性。第二章為需求分析,主要明確該系統(tǒng)應具備的一些基 本功能。第三章和第四章為概要設計和詳細設計,主

3、要講述系統(tǒng)的設計和實現(xiàn)。 第5章 為測試,主要是對該系統(tǒng)進行簡單的功能測試。 本系統(tǒng)采用Java Swing和JavaDB進行開發(fā),主要思想是面向對象的設計策略,界面友好、操作方便,用戶可以輕松的掌握各種操作。因本人水平有限加之時間倉促,本課程設計說明書中難免有不妥之處,還望老師批評更正。A可行性研究報告1引言1.1編寫目的企業(yè)實時通信系統(tǒng)是針對企業(yè)內部職工的通訊與交流進行設計,目的是方便職工之間的交流,以提高工作效率。1.2項目背景開發(fā)軟件名稱:企業(yè)實時通訊系統(tǒng)項目任務提出者:湖南科技大學計算機科學與工程學院 項目開發(fā)者:李喬用戶:湖南科技大學計算機科學與工程學院實現(xiàn)軟件單位:湖南科技大學計

4、算機科學與工程學院 項目與其他軟件,系統(tǒng)的關系本項目采用JAVA Swing技術和JDK1.6新增的JAVADB數(shù)據庫,程序是以JAVA為運行環(huán)境而開發(fā)的應用程序,具有跨平臺的特性。1.3 定義 專門術語:Java , Java Swing, JavaDB, SQL縮寫詞:Java , Swing, JavaDB, 結構化查詢語言2可行性研究的前提2.1要求主要功能:根據企業(yè)內部通訊系統(tǒng)的特點,可以將本系統(tǒng)劃分為信息通訊、系統(tǒng)升級、系統(tǒng)設置、用戶搜索等共計6大部分。性能要求:)實現(xiàn)員工之間的實時通信。)當軟件擁有新版本時,使用升級功能進行升級。)可以對系統(tǒng)的用戶界面、用戶名稱、公共路徑等進行設

5、置。)可以對用戶按指定IP段進行搜索。)可以訪問企業(yè)內部公共路徑中的資。2.2目標系統(tǒng)實現(xiàn)后,提高企業(yè)內部員工在工作時進行交流的效率,以達到員工之間可以利用工作的計算機進行實時通訊、而不必離開工作位置完成交流,從而提高工作效率。2.3條件,假定和限制建議軟件壽命:3年。硬件條件:pc機。運行環(huán)境:Windows或Linux、Java數(shù)據庫:JavaDB技術可行:現(xiàn)有技術可完全承擔開發(fā)任務。操作可行:,軟件能被原有工作人員快速接受。3可行性分析3.1對以往的系統(tǒng)的分析在利用企業(yè)內部通訊系統(tǒng)之間,企業(yè)員工之間的交流必須通過員工本人當面完成或通過電話等設備完成,員工不得不離開工作位置而完成交流,或者

6、通過有聲的方式完成通訊,這樣一來難免會對辦公環(huán)境中的其他員工造成不必要的影響,也大大降低了工作的效率。3.2開發(fā)系統(tǒng)簡要描述在員工的工作計算機上搭載好軟件的運行環(huán)境、部署好軟件后,由于軟件的工作方式與常用的通訊軟件基本一致,用戶可以輕松的掌握相關操作。3.3經濟可行性分析本項目屬于非盈利項目。由于Java本身屬于開源的開發(fā)環(huán)境,所以所有的軟件不需要額外的花費,只需要將軟件的運行環(huán)境部署到工作計算機即可。3.4技術可行性根據客戶提出的系統(tǒng)功能、性能及實現(xiàn)系統(tǒng)的各項條件,根據新系統(tǒng)目標來衡量所需的技術是否具備,本系統(tǒng)是一個數(shù)據庫管理和查詢的系統(tǒng),現(xiàn)有的技術以較為成熟,硬件、軟件的性能要求、環(huán)境條件

7、等各項條件良好,估計利用現(xiàn)有技術條件應完全可以達到該系統(tǒng)的功能目標。同時,考慮給予的開發(fā)期限也較為充裕,預計系統(tǒng)是可以在規(guī)定期限內完成開發(fā)。3.5法律可行性研究開發(fā)此系統(tǒng)的過程并未涉及到合同侵權責任以及各種與法律相抵觸的問題。本系統(tǒng)適用于各種中小型企業(yè)。運用此系統(tǒng)進行員工之間的內部交流,給企業(yè)員工的通訊帶來極大的方便。3.6用戶使用的可行性作為本產品的使用者要求有一定的計算機基礎,可以熟練得使用window操作系統(tǒng)所提的各種功能。數(shù)據庫管理要求具有專業(yè)水平的數(shù)據庫管理員,用戶需要簡單的操作指導。4結論意見企業(yè)內部通訊系統(tǒng)必須提供網絡通訊功能、在通訊過程中禁止使用聊天表情、文件傳送等功能,避免資

8、料外泄,或因發(fā)送錯誤而導致上級資料的丟失以及其他損失。最重要的是必須適應任何操作系統(tǒng),也就是實現(xiàn)跨平臺技術,因為企業(yè)內部的工作需要,工作環(huán)境中使用了多個操作系統(tǒng)來完成不同的工作。另外,系統(tǒng)不需要使用服務器中轉和記錄通訊內容,可以獨立完成通訊任務,排除職工對領導監(jiān)視工作進度等逆反心理。B需求分析1引言信息社會的高科技,商品經濟化的高效益,使計算機的應用已普及到經濟和社會生活的各個領域。計算機雖然與人類的關系愈來愈密切,還有人由于計算機操作不方便繼續(xù)采用人工執(zhí)行。為了適應現(xiàn)代社會人們高度強烈的時間觀念,企業(yè)內部通訊系統(tǒng)為企業(yè)員工的交流提供了極大方便。該軟件是以Java語言為實現(xiàn)語言,其功能在系統(tǒng)內

9、部有源代碼直接完成。操作人員只需利用一些基本的計算機操作,即可達到自己的目標。1.1編寫目的本需求的編寫目的在于提高企業(yè)員工之間通訊的便利性。本需求的預期讀者是與企業(yè)內部通訊軟件開發(fā)有聯(lián)系的決策人,開發(fā)人員,支持本項目的領導和公司人員,軟件驗證者。1.2背景及范圍項目的名稱:企業(yè)內部通訊系統(tǒng)。1.3定義Swing是一個用于開發(fā)Java應用程序用戶界面的開發(fā)工具包。它以抽象窗口工具包(AWT)為基礎使跨平臺應用程序可以使用任何可插拔的外觀風格。Swing開發(fā)人員只用很少的代碼就可以利用Swing豐富、靈活的功能和模塊化組件來創(chuàng)建優(yōu)雅的用戶界面。 工具包中所有的包都是以swing作為名稱。Java

10、 DB是一個純 Java 實現(xiàn)、開源的數(shù)據庫管理系統(tǒng)(DBMS),源于 Apache 軟件基金會(ASF)名下的項目 Derby。它只有 3MB 大小,對比動輒上 G 的數(shù)據庫來說可謂袖珍。但這并不妨礙 Derby 功能齊備,支持幾乎大部分的數(shù)據庫應用所需要的特性。更難能可貴的是,依托于 ASF 強大的社區(qū)力量,Derby 得到了包括 IBM 和 Sun 等大公司以及全世界優(yōu)秀程序員們的支持。這也難怪 Sun 公司會選擇其 10.2.2 版本納入到 JDK 6 中,作為內嵌的數(shù)據庫。這就好像為 JDK 注入了一股全新的活力:Java 程序員不再需要耗費大量精力安裝和配置數(shù)據庫,就能進行安全、易

11、用、標準、并且免費的數(shù)據庫編程。 2目標系統(tǒng)概述2.1目標企業(yè)內部通訊系統(tǒng)以提供網絡通訊功能為目標,應該能適應任何操作系統(tǒng),也就是實現(xiàn)跨平臺技術,因為企業(yè)內部的工作需要,工作環(huán)境中使用了多個操作系統(tǒng)來完成不同的工作。另外,系統(tǒng)不需要使用服務器中轉和記錄通訊內容,可以獨立完成通訊任務。 2.2用戶簡介該系統(tǒng)的用戶是中小型企業(yè)中各種職位的員工。2.3 組織結構和職責本系統(tǒng)采用MVC模式開發(fā),有dao、frame、userlist三個主要的包。系統(tǒng)的組織結構比較簡單,主要是單層結構,利用單獨的客戶端即可完成工作。3需求規(guī)定3.1功能需求:對企業(yè)通訊系統(tǒng)進行分析,初步分析該系統(tǒng)應具備以下的主要功能。(

12、1) 信息通訊,員工可通過軟件進行實時通訊;(2) 系統(tǒng)升級,實現(xiàn)軟件版本更新;(3) 系統(tǒng)設置,用于設置系統(tǒng)界面、公共路徑、IP段等;(4) 用戶搜索,實現(xiàn)用戶添加、刪除等管理;(5) 訪問公共資源,實現(xiàn)共享文件資源;3.2功能需求點列表1.用戶管理:用戶管理主要負責用戶信息的管理,如通訊對象的添加、刪除、改名等。2.系統(tǒng)設置:系統(tǒng)設置主要負責用戶對系統(tǒng)的相關設置,如用戶界面、系統(tǒng)路徑、IP范圍等。3.數(shù)據管理:數(shù)據管理包括對用戶窗體的屬性、用戶的相關屬性、通訊方的相關記錄等的存儲與管理 。3.3系統(tǒng)性能需求1.時間性能要求:在實際應用中由于通訊業(yè)務的要求,需要軟件的響應時間應該盡可能縮短,

13、對于有特殊需求的業(yè)務,還要求達到實時響應。2.儲存性能要求:根據應用中實際情況配置適當容量的存儲設備,由于本系統(tǒng)的存儲要求不高,所以只要求存儲設備能夠穩(wěn)定工作即可。3.穩(wěn)定性安全性要求:要求軟件盡可能的穩(wěn)定,對于一般的應用系統(tǒng),對安全性要求不高,但是對于通訊軟件來說,在安全性方面應該加以保證。3.4系統(tǒng)運行需求由于本系統(tǒng)使用JavaDB數(shù)據庫,所以只需要供軟件運行的多臺PC機即可,PC機應組成相應的局域網,并搭載Java運行環(huán)境。C概要設計說明書1 引言經過了需求分析階段的工作系統(tǒng)必須“做什么”的問題已經清楚了,現(xiàn)在是決定“怎么做”的時候了。在這里要確定系統(tǒng)中每個程序是由哪些模塊組成的,以及這

14、些模塊相互間的關系。2總體設計2.1層次圖:根據本次設計需要,整個企業(yè)內部通訊系統(tǒng)可以分成信息通訊、系統(tǒng)設置、用戶管理等3個模塊。系統(tǒng)的層次圖如下圖1所示:圖1企業(yè)內部通訊系統(tǒng)層次圖2.2各模塊功能及相互關系1.信息通訊模塊:通訊模塊是企業(yè)內部通信系統(tǒng)的核心模塊,它用于不同職工之間的通訊,這種通訊方式能夠實現(xiàn)多個職工之間的通話,而不存在類似電話的占線問題,增加了任務分配的新方式,從而提高了企業(yè)的工作效率。該模塊可以使用UDP協(xié)議和系統(tǒng)信使兩種方式發(fā)送通訊信息。2.系統(tǒng)設置模塊:系統(tǒng)設置模塊用于管理企業(yè)內部通訊系統(tǒng)的相關設置,比如窗體大小,用戶名、通訊對象、IP段、公共路徑等,在企業(yè)內部通訊系統(tǒng)

15、有新版本提示時,可以使用系統(tǒng)升級功能直接升級到最新版本,而不用重新安裝。3.用戶管理模塊:用戶管理模塊類似聊天軟件的好友列表,它包含了所有用戶信息,具有更名、添加用戶、刪除用戶、信使群發(fā)等功能。D詳細設計說明書1 引言系統(tǒng)運用共享數(shù)據結構技術及多線程技術,通過I/O端口與用戶進行通訊,實現(xiàn)了數(shù)據轉發(fā)功能。首先,程序進行初始化,利用JavaDB數(shù)據庫中存放的數(shù)據初始化用戶主界面,并讀取通訊對象的相關信息。當用戶利用通訊窗體發(fā)送信息時,創(chuàng)建相關線程處理業(yè)務。當用戶對通訊對象作出相關更改時,將結果保存至數(shù)據庫,使得系統(tǒng)使用的數(shù)據與數(shù)據庫中的數(shù)據保持一致,直至程序結束。在開始進行聊天通信前,需要先初始

16、化系統(tǒng),系統(tǒng)的初始化過程如下圖2所示:圖2系統(tǒng)初始化流程圖當系統(tǒng)初始化完畢之后,就可以進行具體的通訊業(yè)務了(即普通通訊和信使通訊)。2各個模塊的具體流程當用戶啟動系統(tǒng)后會出現(xiàn)一個主窗體,如下圖3所示:圖3 主窗體界面圖4 通訊子窗體主窗體中包含了各種子窗體,如用戶列表窗體、系統(tǒng)設置窗體和用戶搜索窗體,以切換卡的方式進行切換。2.1通訊模塊設計:當用戶用鼠標雙擊選中圖3中用戶列表中的某個用戶時,會創(chuàng)建一個通訊子窗體,如圖4所示,此時可以按照如下圖5所示的流程進行通信業(yè)務:圖5 通訊業(yè)務流程圖2.2系統(tǒng)設置模塊設計:當用戶使用切換卡切換到系統(tǒng)設置界面時,如下圖6所示,可以進行系統(tǒng)相關配置的設置,具

17、體業(yè)務流程如下圖7所示:圖6 系統(tǒng)設置界面圖7 系統(tǒng)設置業(yè)務流程 2.3用戶管理模塊設計:操作用戶可以使用多種途徑對用戶列表進行管理,比如在用戶列表單擊右鍵,在彈出菜單中按指定IP添加用戶,或者選中刪除用戶。也可以在用戶搜索面板中按指定的IP范圍進行批量搜索添加,如下圖8所示,用戶管理業(yè)務的流程如圖9所示: 圖8 用戶搜索面板圖9 用戶管理流程3關鍵代碼分析3.1通信模塊關鍵代碼:通訊模塊使用UDP進行通訊,利用Java聽過的包中的相關API進行編程設計,利用MVC設計模式,將一個監(jiān)聽器綁定在發(fā)送按鈕對象上,當用戶點擊發(fā)送時發(fā)送消息框中的消息。關鍵代碼及注釋如下:class sendActio

18、nListener implements ActionListener public void actionPerformed(final ActionEvent e) String sendInfo = getSendInfo();if (sendInfo = null)/對消息進行判斷return;insertUserInfoToReceiveText(tree);/將操作用戶的信息插入發(fā)送文本appendReceiveText(sendInfo + n, null);byte tmpBuf = sendInfo.getBytes();DatagramPacket tdp = null;t

19、ry tdp = new DatagramPacket(tmpBuf, tmpBuf.length,new InetSocketAddress(ip, 1111);/初始化數(shù)據報包對象包裝信息ss.send(tdp);/發(fā)送消息 catch (SocketException e2) e2.printStackTrace(); catch (IOException e1) e1.printStackTrace();JOptionPane.showMessageDialog(TelFrame.this, e1.getMessage();sendText.setText(null);/清空消息框,為

20、再次輸入準備sendText.requestFocus();/使消息框獲得焦點,減少操作if (messageMode.isSelected()setState(ICONIFIED);3.2系統(tǒng)設置模塊關鍵代碼:系統(tǒng)設置模塊設計的關鍵在于與JavaDB數(shù)據庫的交互,關鍵代碼與注釋如下:public void updateLocation(Rectangle location) / 更新窗體位置String sql = updatetb_locationsetxLocation=?,yLocation=?,width=?,height=?;try PreparedStatement pst =

21、conn.prepareStatement(sql);pst.setInt(1, location.x);/插入窗體位置數(shù)據pst.setInt(2, location.y);pst.setInt(3, location.width);pst.setInt(4, location.height);pst.executeUpdate();/更新數(shù)據庫信息pst.close();/關閉連接 catch (SQLException e) e.printStackTrace();public Rectangle getLocation() / 獲取窗體位置Rectangle rec = new Rec

22、tangle(100, 0, 240, 500);/創(chuàng)建rec對象并設置默認數(shù)據String sql = select * from tb_location;try Statement stmt = conn.createStatement();ResultSet rs = stmt.executeQuery(sql);if (rs.next() /若存在,則重設rec屬性rec.x = rs.getInt(1);rec.y = rs.getInt(2);rec.width = rs.getInt(3);rec.height = rs.getInt(4);rs.close();stmt.clo

23、se(); catch (SQLException e) e.printStackTrace();return rec;3.3用戶管理模塊關鍵代碼:用戶管理模塊使用了樹的數(shù)據結構,這樣一來對用戶對象的搜索插入操作就和對樹的插入刪除操作一樣了,關鍵代碼如下:public void delUser() / 刪除用戶TreePath path = getSelectionPath();if (path = null)return;User user = (User) (DefaultMutableTreeNode) path.getLastPathComponent().getUserObject(

24、);/獲取節(jié)點中的用戶對象int operation = JOptionPane.showConfirmDialog(this, 確定要刪除用戶: + user+ ?, 刪除用戶, JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);/給出提示信息以確認刪除if (operation = JOptionPane.YES_OPTION) dao.delUser(user);/調用刪除方法root.remove(DefaultMutableTreeNode)path.getLastPathComponent();/刪除該節(jié)點treeMod

25、el.reload();E測試分析報告1測試方案在測試過程中,采用黑盒測試,即檢查程序功能是否能按要求進行,是否適當?shù)慕邮諗?shù)據產生正確的輸出,并保持外部信息的完整性。2測試用例在測試中使用采用在局域網中的多太計算機進行如下情況下的通訊:(1) 當網絡連接正常和不正常時,即斷開網絡時的通訊。(2) 當輸入信息正確和有誤時的通訊。(3) 當通信接收方存在和不存在時的通訊(4) 對系統(tǒng)設置進行相關更改,測試能否保存。(5) 自定義IP段,檢測用戶管理模塊的功能。3測試結果測試結果情況良好,具體表現(xiàn)如下:(1) 網絡正常時,通訊正常工作,當網絡不正常時,軟件給予相應的錯誤提示。(2) 當輸入正確時,通

26、訊正常,當輸入有誤,如發(fā)送消息為空時,軟件給予正確提示。(3) 當通訊接收方存在是,通訊正常,接收方正確收到信息,當通訊接收方不存在是,給予正確提示。(4) 對系統(tǒng)設置進行相應更改,數(shù)據庫保存正常,在重啟軟件后能夠正常讀取相應的系統(tǒng)設置(5) 軟件能夠根據自定義的IP段進行自動查詢和添加用戶,工作情況良好。4.測試結果分析結果表明,經過測試每個功能都能按預先要求正常進行且速度達到了預期的標準。用戶界面友好。用戶能正常接收UDP信息以及信使信息。當然,作為通訊軟件,在信息安全方面的考慮還有所欠缺,這也是設計中所不足的部分??偨Y、致謝通過本次設計,學到了不少東西。最重要的是對進行軟件設計的整體設計

27、流程及思維方法有了深刻的認識。在期間,發(fā)現(xiàn)的許多問題都源于沒有認真的按步驟進行設計,不重視需求分析,總體設計部分,對各方面將會產生的問題考慮不周全。在設計過程中,使用到基本都是書本中所講授過的知識,也讓我體會到了學以致用的重要性。由于本人能力有限,在項目設計中考慮的方面難免有所欠缺,也謝謝指導老師的指正和提示!參考文獻1張海潘.軟件工程(第五版)M.北京:人民郵電出版社,2008.2(美)Roger S.Pressman.軟件工程-實踐者的研究方法M.北京:機械工業(yè)出版社,2002.3(美)Horstmann.C.S.Java核心技術,卷I:基礎知識 M.北京:機械工業(yè)出版社,2008.4(美)Horstmann.C.S.Java核心技術,卷II:高級特性 M.北京:機械工業(yè)出版社,2008.18

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

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!