數(shù)據(jù)庫課程設計報告-5_第1頁
數(shù)據(jù)庫課程設計報告-5_第2頁
數(shù)據(jù)庫課程設計報告-5_第3頁
數(shù)據(jù)庫課程設計報告-5_第4頁
數(shù)據(jù)庫課程設計報告-5_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數(shù)據(jù)庫設計報告學生選課系統(tǒng)學院:計算機科學與技術學院專業(yè):軟件工程班級:軟件工程四班姓名:付郭中完成時間:2013.7.15

目錄數(shù)據(jù)庫設計報告 11.系統(tǒng)概述 22.系統(tǒng)分析 22.1需求分析 22.2可行性分析 23.總體設計 33.1項目規(guī)劃 33.2系統(tǒng)功能結構圖 34系統(tǒng)設計 44.1設計目標 44.2開發(fā)及運行環(huán)境 44.3學生選課系統(tǒng)的詳細設計 44.3.1登錄界面的設計 44.3.2新用戶的注冊 84.3.3關于學生選課的部分 124.3.4數(shù)據(jù)庫的設計 185.實驗總結 211.系統(tǒng)概述現(xiàn)在大學中大學生的人數(shù)越來越多,而在校期間學生要根據(jù)每個學生所選課程進行管理,要使每名學生所選的課程準確無誤,這無疑就給從事學生選課管理工作的管理人員帶來了巨大的壓力。雖然單機版本的學生選課管理系統(tǒng)軟件在一定的程度上可以解決問題,可是在信息網(wǎng)絡化的現(xiàn)實面前,它的不足之處就顯而易見了。首先,選課管理系統(tǒng)的使用對象過于單一,僅局限于學校管理者;其次,學生不能通過網(wǎng)絡及時預選、正選、退補選等操作,隨之帶來了信息的全面性、即時性、有效性等方面的問題。再次,還存在軟件版本更新比較麻煩的問題。本次設計就是在小范圍的一個嘗試,所列入的課程名稱和課程數(shù)目可由老師確定和修改。同時,隨著網(wǎng)絡的發(fā)展,人們通過網(wǎng)絡可以更方便更快捷交流、學習、教育、商業(yè)貿(mào)易等等。為了促進學校與學生能更好的學習溝通,充分利用學校現(xiàn)有的資源,更實現(xiàn)了無紙化辦公節(jié)省了日常開銷,所以決定開發(fā)學生網(wǎng)上選課系統(tǒng),使選課這一教學環(huán)節(jié)方便化,簡單化,既方便了同學們選課,又減輕了老師的工作量,提高了老師的工作效率。避免了工作中帶來的失誤,對每個學生的選課情況一目了然,充分發(fā)揮了網(wǎng)絡給人們的優(yōu)勢。2.系統(tǒng)分析2.1需求分析數(shù)據(jù)庫是一種存儲數(shù)據(jù)并對數(shù)據(jù)進行操作的工具。數(shù)據(jù)庫的作用在于組織和表達信息,簡而言之,數(shù)據(jù)庫就是信息的集合。計算機的數(shù)據(jù)庫可以分為兩類:非關系數(shù)據(jù)庫和關系數(shù)據(jù)庫。關系數(shù)據(jù)庫中包含了多個數(shù)據(jù)表的信息,數(shù)據(jù)庫含有各個不同部分的術語,如記錄、域等。

SQL2000

就是關系數(shù)據(jù)庫開發(fā)工具,數(shù)據(jù)庫能匯集各種信息以供查詢、存儲和檢索。SQL

的優(yōu)點在于它集數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)定義和數(shù)據(jù)控制功能于一體。2.2可行性分析網(wǎng)上選課系統(tǒng)是針對在校學生和教師使用,從學生的角度來說,由于學校教學制度的改革,現(xiàn)在大部分高等院校開始實行的是學生的自主選課模式,傳統(tǒng)的教學模式——學生按照學校安排好的課程上課——已經(jīng)不能適應新型的教學手段,如果仍然通過紙上的方式選課,一方面浪費的大量的人力、物力資源,另一方面浪費時間以及在人為的統(tǒng)計過程中不可避免出現(xiàn)的差錯等情況。隨著高校人數(shù)的增多,這種弊端會越來越多的暴露出來。因此,利用網(wǎng)絡,使學生只要在計算機前輸入自己的個人選課信息即可完成原來幾倍的作業(yè)量。從教師的角度來說,同樣是節(jié)省了大量的工作量,由于教師提出代課申請完成課程發(fā)布的工作較學生選課而言更加的復雜,因此通過網(wǎng)上進行課程發(fā)布能大幅度的減少教師的工作量,減少錯誤的發(fā)生幾率。作為教師,也只要通過自己的電腦來操作即可,不用再奔波于教務處和辦公室之間。以MIS系統(tǒng)的構建思想來實現(xiàn)網(wǎng)上選課系統(tǒng)可以最大程度的做到實用性,可擴展性和可維護性相結合,安全性以及規(guī)范化原則。經(jīng)濟可行性:此系統(tǒng)是純粹是本人為了完成畢業(yè)設計而獨立設計開發(fā)的,不存在任何的商業(yè)目的和經(jīng)濟利益等因素。由于本系統(tǒng)是為學生選課管理使用的系統(tǒng),裝上該應用軟件,即可使用系統(tǒng),系統(tǒng)成本主要集中在系統(tǒng)軟件的開發(fā)上,當系統(tǒng)投入運行后可以為學校節(jié)約大量的人力,物力。所帶來的效益遠遠大于系統(tǒng)軟件的開發(fā)成本。在經(jīng)濟上完全可行。

·技術可行性:此系統(tǒng)是本人獨立設計和開發(fā)的,其規(guī)模小,開發(fā)周期短,整個開發(fā)過程由一人配置一臺電腦即可完成。此系統(tǒng)的使用者都是在校大學生,且數(shù)據(jù)庫的內(nèi)容有較強的關聯(lián)性,涉及的選課過程不是很復雜,由于有老師指導和對相關參考文獻,特別是網(wǎng)上資料的搜集分析,經(jīng)過認真思考運用軟件工程的知識完全是可以實現(xiàn)的。

·操作可行性:界面設計時充分考慮管理人員的習慣,使得操作簡單;數(shù)據(jù)錄入迅速、規(guī)范、可靠;統(tǒng)計準確;制表靈活;適應力強;容易擴充。

·法律可行性:此系統(tǒng)是本人獨立設計和開發(fā)的,不存在合同責任、侵犯專利權等法律問題,因此不會在社會上引起侵權或其它責任等問題。

所以決定運用java和sql2000來實現(xiàn)實現(xiàn)學生注冊、預選、正選、退補選等網(wǎng)上選課的主要功能。3.總體設計3.1項目規(guī)劃整體的項目就分為前臺和后臺,前臺也就是用戶通過瀏覽器看到的界面,而后臺就是對數(shù)據(jù)庫的一些操縱。就目前來看,我們做的這個學生選課系統(tǒng)還是十分簡單的一個小的系統(tǒng),雖然不能滿足所有的功能需求,但是基本的學生選課所需要的功能這個系統(tǒng)全部就滿足了。包括學生的登錄,學生的選課,學生的選課信息查看等功能。3.2系統(tǒng)功能結構圖系統(tǒng)前臺系統(tǒng)前臺注冊注冊注冊提示信息注冊幫助信息注冊用戶填寫注冊提示信息注冊幫助信息注冊用戶填寫登錄登錄所選課程選擇課程課程表所選課程選擇課程課程表生成課程表生成課程表4系統(tǒng)設計4.1設計目標對于典型的數(shù)據(jù)庫管理系統(tǒng),尤其是對于像學生選課系統(tǒng)這樣的數(shù)據(jù)量特別大的網(wǎng)絡管理系統(tǒng),必須滿足使用方便、操作靈活等要求。本系統(tǒng)在設計時應該滿足以下目標:采用人機對話的操作方式,界面美觀、有好。信息查詢靈活、方便,數(shù)據(jù)存儲準確、安全可靠、對于已經(jīng)登錄的用戶能過快速的響應點擊要求。便于學生快捷地進行課程信息的查詢。學生隨時可以修改個人資料。快速的響應學生對選課,和已選課程的查詢。系統(tǒng)最大限度地實現(xiàn)了易維護性和易操作性。系統(tǒng)運行穩(wěn)定、安全可靠。4.2開發(fā)及運行環(huán)境硬件平臺:CUP:i3處理器內(nèi)存:2G軟件平臺:操作系統(tǒng):windows7數(shù)據(jù)庫:sql2000開發(fā)工具包:JDKVersion1.5瀏覽器:IE8及以上版本4.3學生選課系統(tǒng)的詳細設計4.3.1登錄界面的設計登錄界面我們考慮了一下,就簡單做了一下,但是具備應有的功能。用戶名和密碼輸入這不用說,但是我們的代碼中增加了對用戶名和密碼格式和長度等字符要求的控制,一旦用戶出現(xiàn)不符合的情況,就立即顯示輸入錯誤。下面是我們的登錄界面和代碼importjava.awt.Font;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.sql.ResultSet;importjava.sql.SQLException;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JOptionPane;importjavax.swing.JPasswordField;importjavax.swing.JTextField;publicclassLoginimplementsActionListener{ JFrameframe;//登錄窗口 JLabellabel[];//顯示信息 JTextFieldtf;//學號輸入框 JPasswordFieldpf;//密碼輸入框 JButtonbutton[]; publicLogin(){ this.login(); } publicvoidlogin(){ frame=newJFrame(); frame=newJFrame("成都理工大學選課系統(tǒng)"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getGraphicsConfiguration().getDevice().setFullScreenWindow(frame); frame.setLayout(null); frame.setBounds(100,10,1000,500); frame.setVisible(true); //文本顯示標簽 label=newJLabel[4]; label[0]=newJLabel(); label[0].setBounds(490,170,200,50); label[0].setText("登錄選課"); label[0].setFont(newFont("方正舒體",1,24)); frame.add(label[0]); label[1]=newJLabel(); label[1].setBounds(400,240,200,50); label[1].setText("學號"); frame.add(label[1]); label[2]=newJLabel(); label[2].setBounds(400,280,200,50); label[2].setText("密碼"); frame.add(label[2]); //學號輸入框 tf=newJTextField(); tf.setBounds(450,250,200,30); frame.add(tf); //密碼輸入框 pf=newJPasswordField(); pf.setBounds(450,290,200,30); frame.add(pf); button=newJButton[2]; //登錄按鈕 button[0]=newJButton("登錄"); button[0].setBounds(450,350,60,40); button[0].addActionListener(this); frame.add(button[0]); //注冊按鈕 button[1]=newJButton("注冊"); button[1].setBounds(540,350,60,40); button[1].addActionListener(this); frame.add(button[1]); frame.repaint(); } publicString[]getIdAndPassword(JTextFieldtf,JPasswordFieldpf){ Strings[]=newString[2]; s[0]=tf.getText(); s[1]=String.valueOf(pf.getPassword()); returns; } @Override publicvoidactionPerformed(ActionEvente){ if(e.getActionCommand()=="登錄"){ Strings[]=this.getIdAndPassword(tf,pf); StringsqlQ="selectsid,spasswordfromstudentwheresid='"+s[0]+"'andspassword='"+s[1]+"';"; //System.out.println(sqlQ); MySqlmysql=null; ResultSetrs=null; booleanb=false;//用來判斷是否有這個用戶存在 try{ mysql=newMySql(); rs=mysql.stmt.executeQuery(sqlQ); while(rs.next()){ b=true; } }catch(SQLExceptione1){ //TODOAuto-generatedcatchblock e1.printStackTrace(); } if(b){ System.out.println(tf.getText()); SCc=newSC("201113040418"); } if(!b){ JOptionPane.showMessageDialog(null,"登錄失敗"); } } if(e.getActionCommand()=="注冊"){ Registerr=newRegister(); } } }4.3.2新用戶的注冊就新用戶的注冊來說就沒有登錄那么簡單了,畢竟一個新的用戶注冊需要輸入很多的用戶信息,所以程序就稍稍有點復雜,除了用戶界面的布局外,對用戶輸入字符串的控制必須要做到位,讓用戶輸入符合系統(tǒng)的信息。下面就是新用戶注冊界面和代碼了:publicclassRegisterimplementsActionListener{ JFrameframe; JLabellabel[];//文本顯示 JButtondetermine; JButtoncancel; JTextFieldtf[];//信息輸入框 JPasswordFieldpf[];//密碼輸入框 publicRegister(){ this.register(); } publicvoidregister(){ frame=newJFrame("Register"); //frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(null); frame.setBounds(400,100,400,500); frame.setVisible(true); label=newJLabel[12]; label[0]=newJLabel(); label[0].setBounds(20,15,400,40); label[0].setFont(newFont("方正舒體",1,22)); label[0].setText("學生注冊信息填寫處"); frame.add(label[0]); Strings1[]=newString[]{"學號","姓名","性別","年齡","所在系","專業(yè)","電話號碼","寢室號","家庭地址","密碼","確認密碼"}; for(inti=1;i<12;i++){ label[i]=newJLabel(); label[i].setBounds(20,20+i*30,400,30); label[i].setText(s1[i-1]); frame.add(label[i]); } tf=newJTextField[9]; Strings2[]=newString[]{"201113040418","付紅桃","男","21","信科院","軟件工程","136****6354","松二-241","四川省三臺縣建中鄉(xiāng)五村七隊"}; for(inti=0;i<9;i++){ tf[i]=newJTextField(); tf[i].setVisible(true); tf[i].setPreferredSize(newDimension(1,5));// tf[i].setText(s2[i]); tf[i].setFont(newFont("常規(guī)",1,16)); tf[i].setBounds(100,55+i*30,200,30); frame.add(tf[i]); } //密碼輸入框 pf=newJPasswordField[2]; pf[0]=newJPasswordField(); pf[0].setVisible(true); pf[0].setBounds(100,325,200,30); pf[0].setEchoChar('*'); frame.add(pf[0]); //密碼確認框 pf[1]=newJPasswordField(); pf[1].setVisible(true); pf[1].setBounds(100,355,200,30); pf[1].setEchoChar('*'); frame.add(pf[1]); //確認注冊 determine=newJButton("注冊"); determine.setBounds(90,400,80,50); frame.add(determine); determine.addActionListener(this); //取消注冊 cancel=newJButton("幫助"); cancel.setBounds(230,400,80,50); frame.add(cancel); cancel.addActionListener(this); frame.repaint(); } //得到輸入框里面的信息 publicString[]getInformation(JTextFieldtf[],JPasswordFieldpf[]){ Strings[]=newString[tf.length+pf.length]; for(inti=0;i<tf.length;i++){ s[i]=tf[i].getText(); } for(inti=0;i<pf.length;i++){ s[tf.length+i]=String.valueOf(pf[i].getPassword()); } returns; } @Override publicvoidactionPerformed(ActionEvente){ //TODOAuto-generatedmethodstub if(e.getActionCommand()=="注冊"){ Strings[]=this.getInformation(tf,pf); //判斷此用戶在數(shù)據(jù)庫中是否存在不存在就不能夠注冊 booleanb1=true; Stringsid=s[0]; Stringsname=s[1]; StringsqlQ="select*fromuserswhereid='"+sid+"'andname='"+sname+"'"; //System.out.println(sqlQ); MySqlmysql=null; try{ mysql=newMySql(); ResultSetrs=mysql.stmt.executeQuery(sqlQ); if(!rs.next()){ b1=false; JOptionPane.showMessageDialog(null,"數(shù)據(jù)庫中沒有這個用戶,不能實現(xiàn)注冊"); } }catch(SQLExceptione1){ System.out.println("用戶查詢出錯"); }// 判斷用戶輸入的密碼是否一樣如果不一樣就得提示用戶重新輸入一次密碼 booleanb2=true; if(s[s.length-1].equals("")||!s[s.length-1].equals(s[s.length-2])){ b2=false; JOptionPane.showMessageDialog(null,"密碼輸入不正確"); } if(b1&&b2){ StringsqlU="insertintostudent(sid,sname,ssex,sage,sdepartment,specialty,sphone,sroomid,saddress,spassword)"+ "values('"+s[0]+"','"+s[1]+"','"+s[2]+"',"+s[3]+",'"+s[4]+"','"+s[5]+"','"+s[6]+"','"+s[7]+"','"+s[8]+"','"+s[9]+"');"; //System.out.println(sqlU); try{ mysql=newMySql(); mysql.stmt.executeUpdate(sqlU); JOptionPane.showMessageDialog(null,"恭喜你,注冊成功"); }catch(SQLExceptione1){ //e1.printStackTrace(); JOptionPane.showMessageDialog(null,"對不起,注冊失敗\n可能是信息填寫格式不對\n或者已經(jīng)注冊"); } } } if(e.getActionCommand()=="幫助"){ JOptionPane.showMessageDialog(null,"這個注冊窗口只能是數(shù)據(jù)庫User這個表里面存在的用戶才能夠注冊,"+ "\nUser表中只添加了軟件四班的人,"+ "\n軟件四班的人可以憑自己的學號和姓名進行注冊。"+ "\n其他的人因為不是系統(tǒng)中的人,所以不能夠進行注冊。"); } }}順便提一下注冊過程中可能回出現(xiàn)的界面:這幾個界面是幫助用戶進行注冊的,提示用戶在注冊過程中出現(xiàn)的錯誤。4.3.3關于學生選課的部分學生選課部分是學生選課系統(tǒng)的一個重要的部分,是學生選課系統(tǒng)的核心,為此我們下了大工夫來做這一部分。就學生選課呢,就是先為用戶顯示出目前學生能選擇的課程,然后供用戶通過在后面打?qū)μ柕男问絹磉x擇適合自己的課。不得不說,雖然我們下了大工夫去做,單還是可能會有實現(xiàn)的不合理的地方,單基本上還是能夠滿足需求的。下面就是用戶界面和代碼:publicclassSCimplementsActionListener{ privateJTabletable; privateJScrollPanesPane; privateDefaultTableModelmodel; privateJPanelpane; privateJFramef; privateStringsid=""; privateJButtonbutton; privateStringcourse[][]; publicSC(Stringsid){ this.sid=sid; f=newJFrame("歡迎進入選課系統(tǒng)"); f.setSize(800,400); f.getGraphicsConfiguration().getDevice().setFullScreenWindow(f); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setVisible(true); f.setLayout(null); button=newJButton("確定選課"); button.setVisible(true); button.setBounds(1100,500,100,40); button.addActionListener(this); f.add(button); this.addTable(f);//添加一個表格到JFrame上面 this.yiXuankechenghao(); } publicvoidaddTable(JFramef){ Objectsc[][]=this.getObject(); Stringsx[]={"課程編號","課程名","學分","學時","選課"}; model=newDefaultTableModel(sc,sx); table=newJTable(model); TableColumntc=table.getColumnModel().getColumn(4); tc.setCellEditor(table.getDefaultEditor(Boolean.class)); tc.setCellRenderer(table.getDefaultRenderer(Boolean.class)); sPane=newJScrollPane(); sPane.setViewportView(table); pane=newJPanel(); pane.setLayout(newFlowLayout()); sPane.setBounds(200,40,800,600); f.add(sPane,BorderLayout.CENTER); f.add(pane,BorderLayout.SOUTH); } publicString[]yiXuankechenghao(){ Strings=""; try{ MySqlmysql=newMySql(); ResultSetrs=mysql.stmt.executeQuery("selectecidfromelectivewhereesid='"+sid+"';"); while(rs.next()){ s+=rs.getString("ecid")+"%"; } }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } if(s==""){ returnnull; } s=s.substring(0,s.length()-1); Stringcourse[]=s.split("%"); returncourse; } publicObject[][]getObject(){ Stringmidsc[][]=this.getCourse(); Objectsc[][]=newObject[midsc.length][5]; for(inti=0;i<midsc.length;i++){ for(intj=0;j<4;j++){ sc[i][j]=midsc[i][j]; } /*應該增加一個訪問數(shù)據(jù)庫的代碼判斷什么被選擇了*/ Strings[]=this.yiXuankechenghao(); if(s==null){ sc[i][4]=newBoolean("false"); }else{ booleanb=false; for(intj=0;j<s.length;j++){ if(s[j].equals(sc[i][0])){ b=true;//代表這門課用戶已經(jīng)選擇了 } } if(b){//這門課已經(jīng)選擇了 sc[i][4]=newBoolean("true");//設置這門課為勾表示已選擇 }else{ sc[i][4]=newBoolean("false"); } } } returnsc; } publicString[][]getCourse(){ ResultSetrs=null; Stringstr=""; try{ MySqlmysql=newMySql(); Strings="select*fromcourse;"; rs=mysql.stmt.executeQuery(s); while(rs.next()){ str+=rs.getString("cid")+"%"+rs.getString("cname")+"%"+rs.getString("credit")+"%"+rs.getString("hours")+"#"; } }catch(SQLExceptione){ e.printStackTrace(); } Stringcourse[]=str.split("#"); Stringc[][]=newString[course.length][4]; for(inti=0;i<course.length;i++){ c[i]=course[i].split("%"); } this.course=c; returnc; } @Override publicvoidactionPerformed(ActionEventarg0){ model=(DefaultTableModel)table.getModel(); intcount=model.getRowCount(); for(inti=0;i<count;i++){ if(model.getValueAt(i,4).equals(true)){ //在這里添加你要處理行的方法 Strings="insertintoelective(esid,ecid)values('"+sid+"','"+this.course[i][0]+"')"; try{ MySqlmysql=newMySql(); mysql.stmt.execute(s); }catch(SQLExceptione){ } }else{ Strings="deletefromelectivewhereesid='"+sid+"'andecid='"+this.course[i][0]+"';"; try{ MySqlmysql=newMySql(); mysql.stmt.execute(s); }catch(SQLExceptione){ } } } JOptionPane.showMessageDialog(null,"恭喜你,選課成功");}}選課部分的功能有點多,我就一一介紹了,下面就一些次要的界面進行展示:所選課程:課程表的顯示:4.3.4數(shù)據(jù)庫的設計就學生選課系統(tǒng)來說,數(shù)據(jù)庫的設計就顯得尤為的重要,這相當于人類的大腦,有一個好的數(shù)據(jù)庫設計,就會對學生選課系統(tǒng)帶來效率上的提升。下面是數(shù)據(jù)庫的代碼:ublicclassMySql{ Connectionconn=null; Statementstmt=null; ResultSetrs=null; publicMySql()throwsSQLException{ SQLs=newSQL(); conn=s.getConn(); stmt=s.getStmt(conn);// StringsqlU="insertintouser(id,name)"+// "values('201113040418','付紅桃');";// stmt.executeUpdate(sqlU); }// publicstaticvoidmain(Stringargs[])throwsSQLException{// MySqls=newMySql();// // System.out.println("運行結束");// } }classSQL{//數(shù)據(jù)庫的操作類 publicSQL(){ } publicConnectiongetConn(){//獲取數(shù)據(jù)庫的對象 Connectionconn=null; try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加載驅(qū)動 Stringurl="jdbc:sqlserver://localhost:1433;databaseName=master";//定義URL conn=DriverManager.getConnection(url,"sa","fht0527");//建立連接 }catch(Exceptione){ e.printStackTrace(); System.out.println("數(shù)據(jù)庫連接出錯"); } returnconn;//返回一個數(shù)據(jù)庫對象 } publicStatementgetStmt(Connectionconn){//獲取執(zhí)行sql語句的對象 Statementstmt=null; try{ stmt=conn.createStatement(); }catch(SQLExceptione){ e.printStackTrace(); System.out.println("獲取sql語句對象出錯"); } returnstmt; } //查詢 publicResultSetexecQuery(Stringsql,Statementstmt){ ResultSetrs=null; try{ rs=stmt.executeQuery(sql); }catch(SQLExceptione){ e.printStackTrace(); System

溫馨提示

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

評論

0/150

提交評論