【正文】
`assetTypeId` int(11) default NULL, `model` varchar(255) default NULL, `client` varchar(255) default NULL, `leaveFactoryDate` varchar(255) default NULL, `buyDate` varchar(255) default NULL, `life` int(11) default NULL,24 / 64 `price` double default NULL, `deptment` varchar(255) default NULL, `storageId` int(11) default NULL, `addType` varchar(255) default NULL, `employee` varchar(11) default NULL, `state` int(11) default NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8。 Table structure for assetturnoverdetail DROP TABLE IF EXISTS `assetturnoverdetail`。CREATE TABLE `assetturnoverdetail` ( `id` int(11) NOT NULL auto_increment, `assetId` int(11) default NULL, `dependDate` varchar(255) default NULL, `givebackDate` varchar(255) default NULL, `givebackPlanDate` varchar(255) default NULL, `employeeId` int(11) default NULL, `borrowMan` varchar(255) default NULL, `borrowCompany` varchar(255) default NULL, `state` int(11) default NULL, `telephone` varchar(255) default NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8。 Table structure for assettype DROP TABLE IF EXISTS `assettype`。CREATE TABLE `assettype` ( `description` text, `name` varchar(255) default NULL, `id` int(11) NOT NULL auto_increment, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8。 Table structure for employee DROP TABLE IF EXISTS `employee`。25 / 64CREATE TABLE `employee` ( `id` int(11) NOT NULL auto_increment, `code` varchar(255) default NULL, `name` varchar(255) default NULL, `deptment` varchar(255) default NULL, `roleId` int(11) default NULL, `description` text, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8。 Table structure for storage DROP TABLE IF EXISTS `storage`。CREATE TABLE `storage` ( `description` text, `name` varchar(255) default NULL, `id` int(11) NOT NULL auto_increment, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8。 Table structure for user DROP TABLE IF EXISTS `user`。CREATE TABLE `user` ( `telephone` varchar(255) default NULL, `postcard` varchar(255) default NULL, `address` varchar(255) default NULL, `age` int(11) default NULL, `role` int(11) not NULL, `sex` varchar(255) default NULL, `name` varchar(255) default NULL, `password` varchar(255) not NULL, `loginName` varchar(255) not NULL, `id` int(11) NOT NULL auto_increment, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8。使用 JDBC 與數(shù)據(jù)庫連接代碼內(nèi)容如下: /** * 連接 MySql 數(shù)據(jù)庫 * @return26 / 64 */ public static Connection getMySqlConnection(){ Connection conn = null。 String url = null。 try{ ()。 url = jdbc: conn = (url,root,123)。 if( conn==null ){ throw new SQLException(Can39。t connect MsSql!)。 } } catch (ClassNotFoundException e2) { ()。 }catch(SQLException e){ (url:+url)。 ()。 } return conn。 }27 / 64第六章 驗證調(diào)試 用戶管理模塊 添加用戶驗證在實際運用中,當(dāng)添加新用戶時,經(jīng)常出現(xiàn)用戶名相同的情況,因此在設(shè)計用戶表時,把用戶名設(shè)置成唯一的,在插入數(shù)據(jù)時,首先會判斷數(shù)據(jù)庫中是否已存在相同的用戶名。 圖 新增用戶與數(shù)據(jù)庫中用戶名相同下圖是添加新用戶時,與約束沖突時的界面。 圖 新增用戶時與約束條件相沖突(1)28 / 64圖 新增用戶時與約束條件相沖突(2) 修改用戶信息驗證對用戶管理時,修改用戶信息時,與用戶添加時的約束條件是一樣的,因此出現(xiàn)錯誤的情況也與用戶添加時一樣。圖 修改用戶時兩次密碼不一致29 / 64 倉庫管理模塊 添加測試新增一個倉庫,倉庫名不能為空,當(dāng)倉庫名沒填時,會提示該項必填,下圖為測試時違反約束條件的情況。圖 倉庫添加測試 查看庫存測試查看庫存測試:圖 倉庫庫存查看測試 資產(chǎn)折舊模塊根據(jù)資產(chǎn)折舊選擇的方式進(jìn)行折舊:30 / 64圖 資產(chǎn)折舊信息查看測試 資產(chǎn)統(tǒng)計模塊按資產(chǎn)狀態(tài)統(tǒng)計時,可以按資產(chǎn)現(xiàn)在的狀態(tài)進(jìn)行查詢,下圖為按資產(chǎn)可用狀態(tài)查詢:圖 資產(chǎn)狀態(tài)查看測試31 / 64結(jié)束語經(jīng)過四個月的畢業(yè)設(shè)計,由我們設(shè)計小組設(shè)計的固定資產(chǎn)管理系統(tǒng)已經(jīng)基本設(shè)計完成。 本項目用當(dāng)前比較成熟的 web 開發(fā)框架 Struts 技術(shù)和 JDBC 工具實現(xiàn)了固定資產(chǎn)管理功能系統(tǒng)的設(shè)計與開發(fā)。該系統(tǒng)作為一個企業(yè)管理系統(tǒng)的子功能,具有相當(dāng)?shù)膶嵱眯?。由于使用?MVC 開發(fā)模型,使得各模塊具有相當(dāng)?shù)莫毩⑿?,因此系統(tǒng)的可重用性也比較高。使用 Java 語言作為開發(fā)語言,使得程序具有很強的可移植性。程序中注釋寫得盡量規(guī)范,因此可讀性與可維護(hù)性也比較好。 在本系統(tǒng)開發(fā)過程中不可避免地遇到不少困難,加之水平有限并對 web 的應(yīng)用開發(fā)還不是太熟練,系統(tǒng)的一些功能做得還不是很完善,界面還不是很美觀。通過本次畢業(yè)設(shè)計我學(xué)到了不少新東西,更進(jìn)一步熟悉了 Struts 的 web 開發(fā)框架和 MVC 模型。但是也發(fā)現(xiàn)了自身的諸多不足,相信通過以后的不斷學(xué)習(xí)與實踐,一定會有更多的收獲。通過這次畢業(yè)設(shè)計,不僅是對軟件開發(fā)進(jìn)行了更加深入和系統(tǒng)的學(xué)習(xí),更多的是學(xué)到了在實踐中分析問題,解決問題的方法,這在以后的工作學(xué)習(xí)中,對自己也會有極大的幫助,總之,通過這次畢業(yè)設(shè)計自己感覺到受益非淺,收獲很大。32 / 64致謝至此,畢業(yè)論文算是完成,這也意味著大學(xué)生活即將結(jié)束。在此感謝四年來學(xué)院各級領(lǐng)導(dǎo)對我的關(guān)懷以及老師們的諄諄教導(dǎo)。感謝我的指導(dǎo)老師 xxx 老師!在外實訓(xùn)期間,x 老師主動和我聯(lián)系指導(dǎo)畢業(yè)設(shè)計,在系統(tǒng)的選題、系統(tǒng)的總體設(shè)計等方面都給予了寶貴的建議,并幫助我建立了正確的設(shè)計思想,樹立了科學(xué)的學(xué)習(xí)方法,從而保證了設(shè)計的順利完成。同時也要感謝學(xué)院老師們,是他們教會了我很多新知識,讓我對計算機(jī),對軟件有了初步的認(rèn)識。也是他們使我明確了自己,堅定了自己的目標(biāo)。感謝一同做畢業(yè)設(shè)計的同學(xué)!許多設(shè)計的思想來源于和同學(xué)的交流過程當(dāng)中,在不知不覺的討論過程中讓我學(xué)到了不少的知識,感謝同學(xué)細(xì)心的幫助。最后再次對在系統(tǒng)設(shè)計過程中給予我?guī)椭睦蠋熀屯瑢W(xué)表示誠摯的感謝!33 / 64參考文獻(xiàn)[1] 張海藩.軟件工程導(dǎo)論[M] .北京:清華大學(xué)出版社,2022 年[2] 薩師煊,王珊.?dāng)?shù)據(jù)庫系統(tǒng)概論[M] .北京:高等教育出版社,2022 年[3] .UML 實戰(zhàn)教程:面向 . NET 開發(fā)人員[M] .北京:清華大學(xué)出版社,2022 年[4] 尚俊杰,秦衛(wèi)中. 程序設(shè)計案例教程[M ] .北京:北京交通大學(xué)出版社,2022 年[5] David Flanagan.JavaScript 權(quán)威指南[M ] .北京:機(jī)械工業(yè)出版社, 2022 年[6] 李燁.別具光芒:DIV+CSS 網(wǎng)頁布局與美化[M ] .北京:人民郵電出版社,2022年[7] Perry .C 核心技術(shù)[M] .北京:機(jī)械工業(yè)出版社,2022 年[8] 張孝祥 張紅梅. JavaScript 網(wǎng)頁開發(fā)[M] .北京:清華大學(xué)出版社,2022 年[9] 周倜.快速開發(fā)信息管理系統(tǒng) [M ] .北京電子工業(yè)出版社,2022年[10] 王養(yǎng)廷. UML 基礎(chǔ)與應(yīng)用[ M] .北京:清華大學(xué)出版社,2022 年34 / 64附錄Ⅰ 英文翻譯英文原文DISTRIBUTED DATABASE DESIGNThe design of a distributed puter system involves making decisions on the placement of data and programs across the sites of a puter work, as well as possibly designing the work itself. In the case of distributed DBMSs, the distribution of applications involves two things: the distribution of the distributed DBMS software and the distribution of the application programs that run on it. The former is not a significant problem, since we assume that a copy of the distributed DBMS software exists at each site where data are stored. In this chapter we do not concern ourselves with application program placement either. Furthermore, we assume that the work has already been designed, or will be designed at a later stage, according to the decisions related to the distributed database design. We concentrate on distribution o