大型軟件項(xiàng)目實(shí)訓(xùn)0001_第1頁
大型軟件項(xiàng)目實(shí)訓(xùn)0001_第2頁
大型軟件項(xiàng)目實(shí)訓(xùn)0001_第3頁
大型軟件項(xiàng)目實(shí)訓(xùn)0001_第4頁
大型軟件項(xiàng)目實(shí)訓(xùn)0001_第5頁
已閱讀5頁,還剩49頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、大型軟件項(xiàng)目實(shí)訓(xùn)報(bào)告目:研究生招生管理系統(tǒng)選題來源: 指導(dǎo)教師:名: 級(jí): 號(hào):1.序言1.1選題背景1.2選題目的及意義1.3選題完成情況2.項(xiàng)目需求分析2.1項(xiàng)目功能需求2.2項(xiàng)目性能需求2.3其他需求3.項(xiàng)目概要設(shè)計(jì)53.1系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)3.2系統(tǒng)整體架構(gòu)設(shè)計(jì)3.3數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)104.詳細(xì)設(shè)計(jì)204.1模塊1描述205.實(shí)訓(xùn)總結(jié) .435.1技術(shù)總結(jié)435.2思想總結(jié)43231序言1.1選題背景研究生招生管理系統(tǒng)V1.0是一個(gè)功能比較完善的數(shù)據(jù)管理軟件,具有 數(shù)據(jù)操作高效迅速等優(yōu)點(diǎn)。該軟件采用功能強(qiáng)大的數(shù)據(jù)庫軟件開發(fā)工具進(jìn)行開 發(fā),可在應(yīng)用范圍較廣的 WINDOWS列等操作系統(tǒng)上使用

2、。1.2選題目的及意義(1) 希望借此次課程設(shè)計(jì)的機(jī)會(huì)鞏固本學(xué)期所學(xué)到的知識(shí),鍛煉自己的專 業(yè)技能,提高自己的軟件開發(fā)能力。(2) 借此次進(jìn)行課程設(shè)計(jì)的同時(shí)掌握軟件工程的基礎(chǔ)知識(shí)和理論,分析大 型軟件開發(fā)過程中出現(xiàn)的問題,了解軟件開發(fā)生命周期中常用的技術(shù),掌握軟 件開發(fā)過程的結(jié)構(gòu)化方法和面向?qū)ο蠓椒?,學(xué)會(huì)運(yùn)用面向?qū)ο蟮能浖こ谭椒?進(jìn)行軟件需求分析、系統(tǒng)設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試,并通過課程實(shí)踐,實(shí)際運(yùn)用軟件 工程的思想和技術(shù),掌握軟件項(xiàng)目管理和團(tuán)隊(duì)開發(fā)的工作方法。1.3選題完成情況由于時(shí)間比較短,使用計(jì)算機(jī)不方便及對(duì)于網(wǎng)絡(luò)編程不熟悉,本研究生招 生信息管理系統(tǒng)并沒有提供數(shù)據(jù)的遠(yuǎn)程訪問功能。對(duì)信息的保護(hù)

3、手段僅限于設(shè) 置用戶級(jí)別,以及提供數(shù)據(jù)文件的備份,比較簡(jiǎn)單,安全性能有待進(jìn)一步完善。2. 項(xiàng)目需求分析2.1項(xiàng)目功能需求2.1.1功能劃分該軟件具有如下功能:查詢功能;插入功能;修改功能;刪除功能;瀏覽功能;授權(quán)功能;2.1.2功能描述(1)查詢功能按照學(xué)號(hào)查詢考生信息,成績(jī)信息,錄取信息;按照考生其他屬性查詢考生信息,成績(jī)信息,錄取信息;按照專業(yè)號(hào)查詢專業(yè)信息;插入功能增加一個(gè)考生記錄;增加一個(gè)專業(yè)記錄;增加一個(gè)成績(jī)記錄; 增加一個(gè)錄取考生記錄;修改功能修改某一個(gè)已存在的記錄內(nèi)容;刪除功能刪除一個(gè)記錄;(5)瀏覽功能管理員瀏覽各個(gè)記錄信息(6)授權(quán)功能授權(quán)讀者訪問數(shù)據(jù)的權(quán)限2.2項(xiàng)目性能需求

4、2.2.1數(shù)據(jù)精確度需求查詢時(shí)應(yīng)保證查全率,所有在相應(yīng)域中包含查詢關(guān)鍵字的記錄都應(yīng)能查到, 同時(shí)保證查準(zhǔn)率。222時(shí)間特性一般操作的響應(yīng)時(shí)間應(yīng)在1 2秒內(nèi)。2.2.3適應(yīng)性滿足運(yùn)行環(huán)境在允許操作系統(tǒng)之間的安全轉(zhuǎn)換和與其它應(yīng)用軟件的獨(dú)立運(yùn) 行要求。2.3其他需求2.3.1運(yùn)行需求(1) 用戶界面使用GUI的圖形用戶界面,界面友好。(2) 硬件接口支持各種X86系列PC機(jī)。(3) 軟件接口運(yùn)行于Windows95/98及更高版本具有WIN32 API的操作系統(tǒng)之上。3. 項(xiàng)目概要設(shè)計(jì)3.1系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)3.1.1考生錄入考生錄入模塊調(diào)用:管理員身份檢驗(yàn)?zāi)K考生身份檢驗(yàn)?zāi)K考生信息輸入模塊數(shù)據(jù)庫操

5、作模塊考生錄入模塊管理員身份驗(yàn)證模塊數(shù)據(jù)庫操作模塊圖3-1考生錄入3.1.2修改信息修改模塊調(diào)用:數(shù)據(jù)庫查詢模塊數(shù)據(jù)庫操作模塊管理員身份驗(yàn)證模塊考生信息修改模塊錄取考生信息修改模塊專業(yè)信息修改模塊修改模塊圖3-2修改信息3.1.3錄取考生錄取模塊調(diào)用:管理員身份驗(yàn)證模塊數(shù)據(jù)庫查詢模塊數(shù)據(jù)庫操作模塊錄取輸入模塊錄取模塊圖3-3錄取考生3.1.4統(tǒng)計(jì)信息統(tǒng)計(jì)模塊調(diào)用:管理員身份驗(yàn)證模塊數(shù)據(jù)庫查詢模塊數(shù)據(jù)統(tǒng)計(jì)模塊統(tǒng)計(jì)模塊圖3-4統(tǒng)計(jì)信息3.1.5系統(tǒng)管理系統(tǒng)管理模塊調(diào)用:管理員身份驗(yàn)證模塊數(shù)據(jù)備份模塊數(shù)據(jù)恢復(fù)模塊系統(tǒng)設(shè)置模塊更改口令模塊更改口令模塊管理員身份驗(yàn)證模塊系統(tǒng)管理模塊圖3-5系統(tǒng)管理3.2

6、系統(tǒng)整體架構(gòu)設(shè)計(jì)3.2.1總體結(jié)構(gòu)主模塊調(diào)用:考生錄入模塊修改模塊錄取模塊統(tǒng)計(jì)模塊系統(tǒng)管理模塊研究生招生管理系統(tǒng)主模塊考生錄入模塊修改模塊系統(tǒng)管理模塊圖3-6總體結(jié)構(gòu)3.3數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)3.3.1考生卷紙經(jīng)閱卷后得到成績(jī)單說明:每個(gè)考生有一份成績(jī)單,每個(gè)成績(jī)單只能下發(fā)給一個(gè)考生,因此考 生和成績(jī)單是1:1的關(guān)系。圖3-7考生卷紙經(jīng)閱卷后得到成績(jī)單3.3.2考生報(bào)考專業(yè)圖3-8考生報(bào)考專業(yè)3.3.3招生管理員根據(jù)成績(jī)單將考生信息錄取到錄取名單中說明:(1)1個(gè)招生管理員可以根據(jù)多個(gè)成績(jī)單,將每個(gè)考生登錄到相應(yīng)的錄取名單中(2) 1個(gè)考生可以由多個(gè)管理員根據(jù)成績(jī)單錄入姓§q口令)招生管理

7、員n政治來源錄取考生成績(jī)單(年齡J學(xué)力性別基礎(chǔ)科目是否應(yīng)屆復(fù)試成績(jī)專 業(yè) 基 礎(chǔ) 科復(fù)試科目錄取單位報(bào)考類別專業(yè)科目報(bào)考專業(yè)外語圖3-9招生管理員根據(jù)成績(jī)單將考生信息錄取到錄取名單中3.3.4專業(yè)招收學(xué)生圖3-10專業(yè)招收學(xué)生3.3.5匯總E-R圖圖3-11匯總E-R圖3.3.6數(shù)據(jù)庫設(shè)計(jì)所生成的表表3-1考生表屬性名含義取值范圍ExamID-he 口 考號(hào)“081000000'.“ 081099999'StuName考生姓名2字母24表3-2考生信息表屬性名含義取值范圍StuName考生姓名2字母24疋向培養(yǎng)|非疋向培養(yǎng)1ExaSort報(bào)考類別委托培養(yǎng)1自籌經(jīng)費(fèi)P olSta

8、tus政治面貌2字母24Source來源2字母50Kno wledge學(xué)力2字母24ThisYear是否應(yīng)屆是|否計(jì)算機(jī)科學(xué)與技術(shù)1動(dòng) 力理論學(xué)1振動(dòng)控制1實(shí)Sp eciality報(bào)考專業(yè)驗(yàn)固力學(xué)1計(jì)算流體學(xué)1數(shù)字制造與信息化Sex性別男|女Age年齡0.999表3-3考生成績(jī)表屬性名含義取值范圍ExamID-hz* 口. 考號(hào)“081000000'.“ 081099999'Sp eResult專業(yè)科目0.100BasResult基礎(chǔ)科目0.100P oIResult政治0.100Lan Result外語0.100Sp eBasResult專業(yè)基礎(chǔ)科目0.100表3-4專業(yè)表屬

9、性名含義取值范圍Sp eID專業(yè)代碼00000.99999Sp eName專業(yè)名稱2字母50表3-5招生管理員表屬性名含義取值范圍AdmName管理員姓名2字符24P assword密碼6字符10表3-6錄取表屬性名含義取值范圍ExamID-he 口 考號(hào)“081000000'.“ 081099999'AdmName管理員姓名2字符24MatrA partme nt錄取單位2字母50(外語|政治|基礎(chǔ)科目1RetrObject復(fù)試科目專業(yè)基礎(chǔ)科目1專業(yè)科目)RetrResult復(fù)試成績(jī)0.100表3-7招生表屬性名含義取值范圍#ExamIDw 口考號(hào)“081000000'

10、;.“081099999'Sp elD專業(yè)代碼00000.999994. 詳細(xì)設(shè)計(jì)4.1模塊1描述4.1.1功能描述(1)主流程1)建立與數(shù)據(jù)庫的連接2)獲取系統(tǒng)設(shè)置3)顯示對(duì)話框(即主界面)4)等待用戶輸入:如為報(bào)名:進(jìn)入考生錄入流程(顯示報(bào)名對(duì)話框)。如為修改:進(jìn)入修改流程(顯示修改對(duì)話框)。如為錄取:進(jìn)入錄入錄取名單流程(顯示錄取對(duì)話框)。如為統(tǒng)計(jì):進(jìn)入統(tǒng)計(jì)流程(顯示統(tǒng)計(jì)對(duì)話框)。37如為系統(tǒng)管理:進(jìn)入系統(tǒng)管理流程(進(jìn)行授權(quán)) 如為退出:檢查所有子窗口,關(guān)閉對(duì)話框,斷開與數(shù)據(jù)庫的連接。(2)考生錄入流程1)要求考生輸入考生信息2)考生身份檢驗(yàn)3)返回成功或失敗信息4)結(jié)束考生錄入

11、流程啟動(dòng)系統(tǒng)圖4-1考生錄入流程(3)信息修改流程1)要求選擇所要修改的數(shù)據(jù)庫如為考生信息:修改考生信息如為錄取信息:修改錄取名單如為專業(yè)信息:修改專業(yè)信息2)等待用戶輸入3)返回成功或失敗信息4)結(jié)束修改流程圖4-2信息修改流程(4) 考生錄取流程1) 等待用戶輸入錄取考生的考號(hào)和成績(jī)2) 返回成功或失敗信息3)結(jié)束錄取流程圖4-3考生錄取流程(5) 統(tǒng)計(jì)流程1)等待用戶輸入2)如為開始統(tǒng)計(jì):讀入統(tǒng)計(jì)條件輸出統(tǒng)計(jì)結(jié)果如為結(jié)束統(tǒng)計(jì):結(jié)束統(tǒng)計(jì)流程圖4-4統(tǒng)計(jì)流程(6)系統(tǒng)管理1)身份驗(yàn)證2)用戶操作權(quán)限檢驗(yàn)3)根據(jù)操作權(quán)限級(jí)別顯示系統(tǒng)管理對(duì)話框4)等待用戶選擇操作5)結(jié)束系統(tǒng)管理流程啟動(dòng)系統(tǒng)*輸

12、入口令NO查驗(yàn)YES顯示主菜單* 退出流程退出數(shù)據(jù)備份丄數(shù)據(jù)恢復(fù)系統(tǒng)設(shè)置更改口令I(lǐng)I輸入要求輸入數(shù)據(jù)輸入口令輸入文件名確認(rèn)確認(rèn)確認(rèn)確認(rèn)備份T恢復(fù)T設(shè)置T更改口令圖4-5系統(tǒng)管理4.1.2性能描述(1)數(shù)據(jù)精確度需求查詢時(shí)應(yīng)保證查全率,所有在相應(yīng)域中包含查詢關(guān)鍵字的記錄都應(yīng)能查到, 同時(shí)保證查準(zhǔn)率。(2)時(shí)間特性一般操作的響應(yīng)時(shí)間應(yīng)在1 2秒內(nèi)。(3) 適應(yīng)性滿足運(yùn)行環(huán)境在允許操作系統(tǒng)之間的安全轉(zhuǎn)換和與其它應(yīng)用軟件的獨(dú)立運(yùn)行要求。4.1.3算法描述/邏輯流程部分編碼及注釋:P ublicclass DataBase Op erate private Connectioncon;/ 定義連接pub

13、lic static int length ;/ 定義數(shù)據(jù)條數(shù)/單獨(dú)的方法創(chuàng)建數(shù)據(jù)庫連接private void contect()try Class. forName( "com.mysql.jdbc.Driver");con,"root" , "root");DriverManager. getConnection ("jdbc:mysql:/localhost:3306/student"if(con.isClosedOXJOptionPane. showMessageDialog( null ,"數(shù)

14、據(jù)庫連接失?。?quot;);System. exit (-1); catch(ClassNotFou ndExce pti on e)JOptionPane. showMessageDialog( null ,"驅(qū)動(dòng)程序未找到!");System. exit (-1); catch (SQLException e)JOptionPane. showMessageDialog( null ,"數(shù)據(jù)庫查詢失?。?quot;);System. exit (-1);/從數(shù)據(jù)庫中讀取記錄public Object叩 readsqKXcon tect();Object叩 O

15、b =null ;fin allytry con .close(); catch (SQLException ex)JOptionPane. showMessageDialog( null ,"數(shù)據(jù)庫關(guān)閉失敗!");41try int count = 0;Stateme nt stmt = con .createStateme nt();ResultSet rs = stmt.executeQuery("SELECT * FROM stude ntifo");while (rs.next()cou nt +;len gth = cou nt;ob = n

16、ew Objectcou nt7;rs = stmt.executeQuery( "SELECT * FROM stude ntifo");int i = 0;while (rs.next()obi =n ewObject7;obi0 = rs.getStri ng("ExamID");obi1 = rs.getStri ng("AdmName):obi2 = rs.getStri ng("RetrResult");obi3 = rs.getStri ng("RetrObject");i+;fin all

17、y try con. close。; catch (SQLException ex)JOptionPane. showMessageDialog( null ,"數(shù)據(jù)庫關(guān)閉失?。?quot;);return ob;/插入一條記錄到數(shù)據(jù)庫public void writesql(Stuifo stu)con tect();try Stateme nt stmt = con .createStateme nt();stmt.execute Up date("in sert intostude ntifo(ExamlD,AdmName,RetrResult,RetrObject)

18、 values('"+ stu.getNo() +Hl HIstu.getName() +"','"+ stu.getSex() +HI HI+ stu.getID().getID() +"','"+ newSimpleDateFormat( "yyyy-MM-dd" ).format(stu.getBirthday() +stu.getSelfi ntroduceO +); catch (SQLException e)");JOptionPane. showMessageD

19、ialog( null ,"數(shù)據(jù)庫更新失敗!publicvoid updatesql(Stuifo stu)con tect();/System.out .println (""+stu.getNo();try Prep aredStateme nt ps =con.prep areStateme nt("UP DATE stude ntifo SETAdmName=?,RetrResult=?,RetrObject=? WHERE ExamID=?" );ps.setString(7,Long.toString (stu.getNo();p

20、s.setStri ng(1,stu.getNameO);p s.setStri ng(2,stu.getSexO);ps.setStri ng(3,stu.getlD().getlD();p s.setStri ng(5,newSimpleDateFormat( "yyyy-MM-dd" ).format(stu.getBirthday();p s.setStri ng(6,stu.getSelfi ntroduce();p s.execute Up date();/System.out. prin tl n(stu.getName(); catch (SQLExcept

21、ion e)System. out .println(e.getMessage()+"n" +e+"n" +e.getErrorCode()+ "n");JOptionPane. showMessageDialog( null ,"數(shù)據(jù)庫更新失??!");JOptionPane. showMessageDialog( null ,"數(shù)據(jù)庫關(guān)閉失敗!");p ublicvoid deletesqKString no)con tect();try Stateme nt stmt =con. creat

22、eStateme nt(ResultSet.TYP E_SCROLL_SENSITIVEsultSet. CONCUR_ UP DATABLEResultSet rs = stmt.executeQuery("SELECT * FROM stude ntifo");int a=-1;while (rs.next()if (rs.getString( "ExamID" ).equals(no)rs.deleteRow(); catch (Exception e)JOptionPane. showMessageDialog( null ,"刪除數(shù)據(jù)

23、失?。?quot;);System. out.println(e);/System.out .printin (""+stu.getNo();/在數(shù)據(jù)庫中搜索相應(yīng)記錄p ublic Object叩 searchsql(Stri ng n ame)con tect();Object叩 ob =null ;43try int count = 0;Stateme nt stmt = con .createStateme nt();ResultSet rs = stmt.executeQuery("SELECT * FROM stude ntifo");whil

24、e (rs.next()if (rs.getString("AdmName".indexOf(name)!=-1)cou nt+;ob = new Objectcou nt7;rs = stmt.executeQuery( "SELECT * FROM stude ntifo");int i = 0;while (rs.nextO)"AdmName');Stri ng temp = rs.getStri ng( if (temp.indexOf(name)!=-1)obi = new Object7;obi0 = rs.getStri

25、ng("ExamID");obi1 = temp;obi2 = rs.getStri ng("RetrResult");obi3 = rs.getStri ng("RetrObject");i+; catch (SQLException e)JOptionPane. showMessageDialog( null ,"數(shù)據(jù)庫查詢岀錯(cuò)!");fin allytrycon .close(); catch (SQLException ex)JOptionPane. showMessageDialog( null ,&qu

26、ot;數(shù)據(jù)庫關(guān)閉失??!");return ob;/從數(shù)據(jù)庫中找到權(quán)限信息進(jìn)行分配權(quán)限Public boolean login(String name,String word)boolean result = false ;try Stateme nt stmt = con .createStateme nt();con tect();45ResultSet rs = stmt.executeQuery("SELECT * FROM password");51while (rs.next()if (rs.getString("用戶名").trim

27、().equals(name)if (rs.getString("密碼").equals(word)result = true ; catch (Exception e)JOptionPane. showMessageDialog( null ,"連接數(shù)據(jù)庫失?。?quot;);System. out.pnntln(e);fin allytry con. close(); catch (SQLException ex)JOptionPane. showMessageDialog( null ,"數(shù)據(jù)庫關(guān)閉失??!");retur n result

28、;4.1.4接口(或關(guān)鍵函數(shù))設(shè)計(jì)(1)用戶接口使用基于對(duì)話框的GUI,用戶通過鼠標(biāo)的點(diǎn)擊和鍵盤的輸入完成操作,編輯框用于用戶的輸入。(2)外部接口 主模塊:輸入:操作系統(tǒng)傳遞至的各種消息以及用戶的輸入數(shù)據(jù)輸出:用戶界面顯示上層模塊:無下層模塊:考生錄入模塊、修改模塊、錄取模塊、統(tǒng)計(jì)模塊、系統(tǒng)管理模塊考生錄入模塊:輸入:考生信息輸入輸出:考生信息插入到數(shù)據(jù)庫上層模塊:主模塊下層模塊:管理員身份檢驗(yàn)?zāi)K、考生信息輸入模塊修改模塊:輸入:用戶選擇輸出:用戶界面顯示上層模塊:主模塊下層模塊:管理員身份檢驗(yàn)?zāi)K、考生信息修改模塊、錄取考生信息修改模塊、專業(yè)信息修改模塊錄取模塊:輸入:錄取考生信息輸入輸

29、出:錄取考生信息插入到數(shù)據(jù)庫上層模塊:主模塊下層模塊:管理員身份檢驗(yàn)?zāi)K、錄取輸入模塊 統(tǒng)計(jì)模塊:輸入:用戶選擇統(tǒng)計(jì)方式輸出:用戶界面顯示上層模塊:主模塊下層模塊:管理員身份檢驗(yàn)?zāi)K、數(shù)據(jù)統(tǒng)計(jì)模塊系統(tǒng)管理模塊:輸入:用戶選擇管理方式輸出:用戶界面顯示上層模塊:主模塊下層模塊:管理員身份檢驗(yàn)?zāi)K、數(shù)據(jù)備份模塊、數(shù)據(jù)恢復(fù)模塊、系統(tǒng)管理模塊、口令更改模塊管理員身份驗(yàn)證模塊:輸入:管理員姓名、密碼輸出:成功信息或錯(cuò)誤信息上層模塊:主模塊、考生錄入模塊、修改模塊、錄取模塊、統(tǒng)計(jì)模塊、系統(tǒng)管理模塊下層模塊:無 考生信息輸入模塊:輸入:考生信息輸出:考生信息上層模塊:考生錄入模塊下層模塊:考生信息校驗(yàn)?zāi)K、數(shù)據(jù)庫操作模塊 考生信息檢驗(yàn)?zāi)K:輸入:考生信息輸出:成功信息或錯(cuò)誤信息上層模塊:考生信息檢驗(yàn)?zāi)K下層模塊:無 數(shù)據(jù)庫操作模塊:輸入:數(shù)據(jù)庫操作信息輸出:成功信息或錯(cuò)誤信息上層模塊:考生信息輸入模塊、考生信息修

溫馨提示

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

評(píng)論

0/150

提交評(píng)論