《信息系统开发》课程设计



《《信息系统开发》课程设计》由会员分享,可在线阅读,更多相关《《信息系统开发》课程设计(42页珍藏版)》请在装配图网上搜索。
1、. 计算机科学系课程设计报告 《黔南民族师范学院图书馆管理系统》 课题组成员 姓名 学号 崔建虎 1108045102 冯灵兵 1108045138 课程名称: 信息系统开发 指导教师: 郭勇 班 级: B11计信班 专 业: 信息管理与信息系统 学 期: 2013-2014 二 O一 四 年 六 月 九 日 1概述 1.1 课题背景(课题背景及现行
2、系统存在的问题) 1.2 目的与意义 1.3 课题目标 1.4 可行性分析 1.5 进度计划 1.6 分工介绍(2人以上课题) 2 系统分析 2.1 系统调查(调查途径、方法、手段) 2.2 组织结构与职责(大系统) 2.3 专业术语(行业专业术语) 2.4 业务与数据类分析(列举出业务与数据类,主要对象的E-R图,大课题需有U-C矩阵图) 2.5 系统总体结构(画出系统总体结构图) 3 系统设计 3.1 技术方案介绍 3.1.1 开发技术平台及要求(技术特点、实际运行客户端及服务器端软硬件及网络要求等) 3.1.2 开发软件(主要与辅助软件、第三方组件、插件、控
3、件等) 3.1.3 数据库系统简介 3.2 系统开发规范(系统文件目录结构、源程序、数据库的命名统一规范) 3.3 业务流程设计(画出重要的业务流程图,至少一个) 3.4 功能设计(按子系统或模块划分的功能图表) 3.5 数据库设计(应有相应的设计表结构与关系图表) 3.6 安全设计(针对系统安全性方面的措施及技术) 3.7 代码设计(系统中主要的对象代码规范) 3.8 I/O设计(特殊的I/O设计说明) 3.8.1 输入设计:输入校验说明、特殊的输入手段与方法说明 3.8.2 输出设计:输出方式、格式、报表及图表说明 3.9 界面设计(总体要求与特色) 3.10 特殊
4、模块设计(如果有,比如一些公共类的设计说明) 4 系统实现 分小标题罗列出主要模块功能界面及关键源程序、原型截图 5 系统测试(包括测试环境、测试用例、测试结果) 5.1 单元测试(对个别特殊功能进行的测试) 5.2 集成测试(含分离客户端与服务器机器的应用环境模拟测试) 5.3 并发测试(客户/服务器模式的需进行) 5.4 平台测试(实际应用中的不同版本操作系统与浏览器兼容性测试) 6 系统评价 6.1 总体评价 6.2 存在的问题 7 总结 7.1 收获 7.2 改进的方法或思路 ―――――――――――――――――――――――――――――————————— 《
5、黔南民族师范学院图书馆管理系统》设计报告 1概述 1.1课题背景(课题背景及现行系统存在的问题) 图书馆管理系统的主要工作是对图书馆的借书、还书和更新图书以信息化的方式进行管理,最大限度的减少各个环节中可能出现的错误,有效减少因漏记、错记导致的信息错误,降低人员的工作量,及时掌握图书信息,提高对图书管理的灵活性,使图书馆能够合理控制借书,新书入库的每个关键步骤,提高图书馆的管理运行。 1.2目的与意义 提高工作效率,降低图书管理员的工作量。使图书管理员实时掌握图书的去向,图书馆图书保有量。 1.3课题目标 尽可能的开发出一个图书管理系统,对图书馆的图书进行实时
6、去向确定,图书剩余量确定。 系统要求如下: (1) 界面设计美观大方,操作方便、快捷、灵活。 (2) 实现强大的借阅、库存管理,包括图书信息、入库时间,借阅次数,本次借阅人。 (3) 能够在不同的操作系统下运行,不局限于特定的平台。 (4) 提供数据库备份和恢复功能。 提供技术支持的联系方式,可以使用邮件进行沟通,或者直接联系到技术网站。 1.4可行性分析 黔南民族师范学院图书馆是一个中型的综合性图书馆,为了更好的管理图书借阅,使图书能为更多的人所使用,特此开发一图书管理系统。 可行性研究的前提: 附加引进新书、图书受损等功能以增加管理的灵活性。 系统的功能要符合本图
7、书馆的实际情况。 管理内容比较多,涉及窗口容易混乱,应提供窗口集合操作和菜单管理。 支持数据库备份和恢复功能,提高系统安全性。 总结: 如若交给软件公司进行开发,则属于一个小的系统,很容易完成。但成本相对有点高。 1.5进度计划 支出: 根据预算,此系统大概需要6个人,为此需要支付9万元的工资及各种福利待遇,项目的安装、调试以及用户培训、员工出差费用支出需要2.5万元;在项目后期维护阶段预计需要投入2万元的资金,累计项目投入需要13.5万元。 需要3个月才能开发使用,除去系统分析,测试,确认等,程序开发需要80天的时间进行系统设计、程序编码、系统测试、程序调试和系统打包部署
8、工作。 1.6分工介绍(2人以上课题) 崔建虎进行系统的分析、系统设计、界面的分析部署等。冯灵兵进行程序编码、系统测试调试等。 2系统分析 2.1系统调查(调查途径、方法、手段) 直接参加图书馆管理业务的实践,阅读和分析现有系统的资料,发现现存系统存在的不足。 2.2组织结构与职责(大系统) 由于《图书馆管理系统》规模比较小,专业性较强,偏向于技术性,而且小组成员不多,所以最终选择职能型组织结构。 2.3专业术语(行业专业术语) OAs:办公自动化系统 TPS:事物处理系统 MIS:管理信息系统 2.4业务与数据类分析(列举出业务与数据类,主要对象的E-R图
9、,大课题需有U-C矩阵图) 通过对学校的图书馆借书、还书的调查 ,弄清了借书还书的业务流程图,如下图所示: 通过对业务流程图的细化,可得到系统的分层数据流图。 系统U/C矩阵分析 过程/数据矩阵(U/C矩阵) U/C矩阵是用来表达过程与数据两者之间的关系。矩阵中的行表示数据类,列表示过程,并以字母U(Use)和C(Create)来表示过程对数据类的使用和产生。 U/C矩阵是MIS开发中用于系统分析阶段的一个重要工具。提出了一种用关系数据库实现U/C矩阵的方法,并对其存储、正确性检验、表上作业等做了分析。 2.5系统总体结构(画出系统总体结构图) 3系统设
10、计 3.1技术方案介绍 3.1.1开发技术平台及要求(技术特点、实际运行客户端及服务器端软硬件及网络要求等) 利用Java技术进行开发,能够在Windows系统运行就行。 3.1.2开发软件(主要与辅助软件、第三方组件、插件、控件等) 基础类的:JDK、JRE 中间件:WEBSPHERE、WEBLOGIC、JBOSS、TOMCAT、RESIN等 开发工具:ECLIPSE、JBUILDER、NETBEANS、RATIONAL等 此外还有很多其它工具:如IBM WID(SOA开发)、Business Moduler 数据库:SQL server 2005 3.2
11、数据库系统简介 SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理。SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。 SQL Server 2005 数据引擎是本企业数据管理解决方案的核心。此外 SQL Server 2005 结合了分析、报表、集成和通知功能。这使您的企业可以构建和部署经济有效的 BI 解决方案,帮助您的团队通过记分卡、Dashboard、Web services 和移动设备将数据应用推向业务的各个领
12、域。 3.3业务流程设计(画出重要的业务流程图,至少一个) 3.4功能设计(按子系统或模块划分的功能图表) 用例分析图 3.5数据库设计(应有相应的设计表结构与关系图表) 依据数据库的原理,并结合以上E-R图,经过转化,即可进行数据库的物理设计。基于以上数据库的逻辑设计,考虑程序设计的简易性,本系统决定采用一个数据库,在其下创建7个数据表,其结构分别如下: 1.图书信息表 2.图书丢失登记表,其字段列表如表所示。 3. 图书归还登记表,其字段列表如表所示 4.学生信息表(tVip),其字段列表如表所示 5.管理员信息表 6.
13、 图书超期时间登记表 7.图书预约表 3.6安全设计(针对系统安全性方面的措施) 校园图书管理系统本身没有什么重要信息,存在安全风险较小。这时候我们只需装个安全软件,定期进行安全扫描即可。图书管理系统的主机应不进行互联网联网。 3.7代码设计(系统中主要的对象代码规范) 主要有六个类:登录类,图书信息表类,学生信息表类,管理员信息表类,图书归还类,图书借阅类,数据库类。部分代码分别如下 登录类: package xuyaodelei; import javax.swing.*;import java.awt.*; import java.awt.event.*
14、;import javax.swing.table.*; import javax.swing.event.*;import java.sql.*; import java.util.*;import java.util.Date; public class Login extends JFrame implements ActionListener{ private JPanel jp=new JPanel();//创建JPanel对象 private JLabel []jlArray={//创建标签组 new JLabel("用户IP"),new JLabel("端口号
15、"),new JLabel("用户名"), new JLabel("密 码"),new JLabel("") }; private JButton[] jbArray={//创建按钮数组 new JButton("学生登录"),new JButton("清空"),new JButton("管理员登录") }; private JTextField[] jtxtArray={ //创建文本框 new JTextField("127.0.0.1"),new JTextField("3306"),new JTe
16、xtField("1001") }; private JPasswordField jpassword=new JPasswordField("number1"); //创建密码框 String sql; public Login(){ jp.setLayout(null); //设置JPanel的布局管理器 for(int i=0;i<4;i++){ //对标签与按钮控件循环处理 jlArray[i].setBounds(30,20+i*50,80,25);//设置标签与按钮的大小和位置
17、 jp.add(jlArray[i]);//将标签和按钮添加进JPanel容器中 } for(int i=0;i<3;i++){//设置按钮的大小位置并为其添加事件监听器 jbArray[i].setBounds(10+i*120,230,100,25); jp.add(jbArray[i]); jbArray[i].addActionListener(this); } for(int i=0;i<3
18、;i++){//设置文本框的大小位置并为其添加事件监听器 jtxtArray[i].setBounds(80,20+50*i,180,25); jp.add(jtxtArray[i]); jtxtArray[i].addActionListener(this); } jpassword.setBounds(80,170,180,25);//设置密码框的大小位置 jp.add(jpassword);//将密码框添加进JPanel容器 jp
19、assword.setEchoChar(*);//设置密码框的回显字符 jpassword.addActionListener(this);//为密码框注册监听器 jlArray[4].setBounds(10,280,300,25);//设置用于显示登录状态的标签的大小位置 jp.add(jlArray[4]); //将标签添加进JPanel容器 this.add(jp); Image image=new ImageIcon("ico.gif").getImage();//对logo图
20、片进行初始化 this.setIconImage(image); //设置窗体的大小位置及可见性 this.setTitle("登录"); this.setResizable(false); this.setBounds(100,100,400,350); this.setVisible(true); } //实现ActionListener接口中的方法 public void actionPerformed(ActionEvent
21、e) {//事件源为文本框 String mgno=jtxtArray[2].getText().trim(); String mgIP=jtxtArray[0].getText().trim(); String port=jtxtArray[1].getText().trim(); String message=mgIP+":"+port; if(e.getSource()==jtxtArray[0]){ jtxtArray[1].requestFocus();//切换输入焦点到下一个框
22、 } if(e.getSource()==jtxtArray[1]){ jtxtArray[2].requestFocus();//切换输入焦点到下一个框 } if(e.getSource()==jtxtArray[2]) { jpassword.requestFocus();//切换输入焦点到密码框 } else if(e.getSource()==jbArray[1]){//事件源为清空按钮 //清空所有
23、信息 jlArray[4].setText(""); jtxtArray[2].setText(""); jpassword.setText(""); //将输入焦点设置到文本框 jtxtArray[2].requestFocus(); } else if(e.getSource()==jbArray[2]){//事件源为管理员登录按钮 //判断用户名和密码是否匹配 if(!mgno.mat
24、ches("\\d+")) {//如果用户名格式输入有误 JOptionPane.showMessageDialog(this,"用户名格式错误!!!","信息", JOptionPane.INFORMATION_MESSAGE); return; } if(jtxtArray[0].getText().trim().equals("")) {//如果"用户IP"文本框为空,提示 JOptionP
25、ane.showMessageDialog(this,"用户IP不能为空!!!","信息", JOptionPane.INFORMATION_MESSAGE); return; } if(jtxtArray[1].getText().trim().equals("")) {//如果"端口号"文本框为空,提示 JOptionPane.showMessageDialog(this,"用户端
26、口号不能为空!!!","信息", JOptionPane.INFORMATION_MESSAGE); return; } sql="select mgNo,password from manager where mgNo="+Integer.parseInt(mgno); try{ String mgNo=""; String password=""; jlArray[4].setText("恭喜您,登录成功!!!"
27、); new Root(mgNo); this.dispose(); } catch(Exception e1){e1.printStackTrace();} } else if(e.getSource()==jbArray[0]){//事件源为学生登录按钮 if(!jtxtArray[2].getText().trim().matches("\\d+")){ //
28、若学号格式错误,输出提示对话框 JOptionPane.showMessageDialog(this,"输入有误,学号只能为数字!!!", "消息", JOptionPane.INFORMATION_MESSAGE); return; } if(jtxtArray[0].getText().trim().equals("")){//若"用户IP"文本框输入为空,提示 JOptionPane.showMessageDialog(this,"用户IP不能为空!!!","信息",
29、 JOptionPane.INFORMATION_MESSAGE); return; } if(jtxtArray[1].getText().trim().equals("")){//若"端口号"文本框输入为空,提示 JOptionPane.showMessageDialog(this,"用户端口号不能为空!!!", "信息",JOptionPane.INFORMATION_MESSAGE); return;
30、 } //查询学号文本中所输学号是否存在于STUDENT表中 sql="select StuNO,Password from STUDENT where StuNO=" +Integer.parseInt(jtxtArray[2].getText().trim()); try{ String mgNo=""; String password=""; jlArray[4].setText("恭喜您,登录成功!!!");
31、 new StudentSystem(); this.dispose(); } catch(Exception e1){e1.printStackTrace();} } } public static void main(String[]args) { new Login(); } } 图书信息类: package xuyaodelei; import
32、javax.swing.*; import java.awt.*; import java.awt.event.*; import javax.swing.table.*; import java.sql.*; import java.util.*; import java.util.Date; public class BookManage extends JPanel implements ActionListener { private JSplitPane jsp=new JSplitPane(JSplitPane.VERTICAL_SPLIT,true);
33、 private JPanel jpt=new JPanel(); String []str1=new String [7]; String sql; DataBase db; private JLabel[] jlArray=new JLabel[] { new JLabel(" 书 号"), new JLabel(" 书 名"), new JLabel(" 作 者"), new JLabel(" 出 版 社"), new JLabel("
34、 购买日期"), new JLabel(" 已 预 约"), new JLabel(" 已 借 阅") }; private JTextField[] jtxtArray=new JTextField[] { new JTextField(), new JTextField(), new JTextField(), new JTextField(), new JTextField() }; //设置JButton按钮的文本 private JButton[] jbArray= {
35、new JButton("图书入库"),
new JButton("删除图书"),
new JButton("修改图书记录"),
new JButton("查找图书")
};
//创建标题
Vector
36、否预约");
}
//在下部子窗口中设置表格
Vector
37、"否","是"}; //创建下拉列表框 private JComboBox jcp1=new JComboBox(str); private JComboBox jcp2=new JComboBox(str); public BookManage() { this.setLayout(new GridLayout(1,1)); //设置面板的上部分为空布局管理器 jpt.setLayout(null); //设置jspt中分割条的初始位置 jsp.setDividerLocation(140); //设置分隔条的宽度 jsp.set
38、DividerSize(4); jsp.setTopComponent(jpt); jsp.setBottomComponent(jspn); for(int i=0;i<5;i++) { jpt.add(jtxtArray[i]); } for(int i=0;i<7;i++) { jpt.add(jlArray[i]); if(i<3) { jlArray[i].setBounds(15,10+30*i,100,20); jtxtArray[i].setBounds(115,10+30
39、*i,150,20); } else if(i>2&&i<5) { jlArray[i].setBounds(265,10+30*(i-3),100,20); jtxtArray[i].setBounds(375,10+30*(i-3),120,20); } else { jlArray[i].setBounds(495,10+30*(i-5),100,20); } } for(int i=0;i<5;i++) { jtxtArray[i].addActionListene
40、r(this); } this.add(jsp); jpt.add(jcp1); jpt.add(jcp2); //设置下部子窗格 jsp.setBottomComponent(jspn); jcp1.setBounds(595,10,100,20); jcp2.setBounds(595,40,100,20); //将JButton添加进jpt for(int i=0;i<4;i++) { jpt.add(jbArray[i]); jbArray[i].setBounds(150+112*i,100,11
41、2,25); } //设置监听器 for(int i=0;i<4;i++) { jbArray[i].addActionListener(this); } //设置窗体的大小位置及可见性 this.setBounds(5,5,600,500); this.setVisible(true); } public void actionPerformed(ActionEvent e){ //设置鼠标焦点 if(e.getSource()==jtxtArray[0]){ jtxtArray[1].req
42、uestFocus(); } if(e.getSource()==jtxtArray[1]){ jtxtArray[2].requestFocus(); } if(e.getSource()==jtxtArray[2]){ jtxtArray[3].requestFocus(); } if(e.getSource()==jtxtArray[3]){ jtxtArray[4].requestFocus(); } if(e.getSource()==jbArray[0]){
43、//添加图书 this.insertBook(); } if(e.getSource()==jbArray[1]){//将书号为书号框的书从书库删除 this.deleteBook(); } if(e.getSource()==jbArray[2]){//将书号为书号框的书信息进行修改 this.updateBook(); } if(e.getSource()==jbArray[3]){//查询图书信息 this.searchBook(); } }
44、 public void insertBook(){ for(int i=0;i<5;i++){//声明输入变量 str1[i]=jtxtArray[i].getText().trim(); } if(str1[0].equals("")&&str1[1].equals("")&&str1[2].equals("") &&str1[3].equals("")&&str1[4].equals("")){//当输入为空进行提示 JOptionPane.showMessageDialog(this, "图书信息不能为空!!!",
45、 "消息",JOptionPane.INFORMATION_MESSAGE); return; } if(!str1[0].equals("")&&!str1[1].equals("")&&!str1[2].equals("") &&!str1[3].equals("")&&!str1[4].equals("")){//将图书信息插入Book表 str1[5]=jcp1.getSelectedItem().toString(); str1[6]=jcp2.getSelectedItem()
46、.toString(); sql="insert into BOOK values("+str1[0]+","+str1[1]+"," + str1[2] + ", "+str1[3]+","+ str1[4]+","+str1[5]+","+str1[6]+")"; PreparedStatement ps=null; Connection ct=null; ResultSet rs=null; try { Class.for
47、Name("sun.jdbc.odbc.JdbcOdbcDriver"); ct=DriverManager.getConnection("jdbc:odbc:tushu","sa","700700"); ps=ct.prepareStatement("insert into book values("+str1[0]+","+str1[1]+"," + str1[2] + ", "+str1[3]+","+ str1[4]+","+str1[5]+","+str1[6]+")"); ps.set
48、String(1,str1[0]); ps.setString(2,str1[1]); ps.setString(3,str1[2]); ps.setString(4,str1[3]); ps.setString(5,str1[4]); ps.setString(6,str1[5]); ps.setString(6,str1[6]); ps.execu
49、teUpdate(); } catch (Exception e){} finally { try { if(rs!=null) { rs.close(); } if(ps!=null) { ps.close(); } if(ct!=null) { ct.close(); }
50、 } catch (Exception e){}
}
Vector
51、d deleteBook(){ String bookno = jtxtArray[0].getText().trim(); if(bookno.equals("")){//当书号输入为空,提示 JOptionPane.showMessageDialog(this, "书号不能为空!!!", "消息",JOptionPane.INFORMATION_MESSAGE); return; } sql="select * from RECORD where BookNO="+Integer.parseInt(bookno);
52、 db=new DataBase(); sql="delete from book where BookNO="+Integer.parseInt(bookno); } public void updateBook(){ String bookno = jtxtArray[0].getText().trim(); if(bookno.equals("")){//当书号输入为空时,进行提示 JOptionPane.showMessageDialog(this, "请输入需要更改信息图书的书号!", "消息",JO
53、ptionPane.INFORMATION_MESSAGE); return; } else{//当输入书号后的情况 for(int i=0;i<5;i++){//声明文本框输入的变量 str1[i]=jtxtArray[i].getText().trim(); } db=new DataBase(); int i=0; int flag=0; int b=Integer.parseInt(bookno); if(!str1[1].equals("")){i=i+
54、1;} if(!str1[2].equals("")){i=i+2;} if(!str1[3].equals("")){i=i+4;} if(!str1[4].equals("")){i=i+8;} switch(i){//请详细解读switch语句 case 0: JOptionPane.showMessageDialog(this,"信息不能为空!!!", "消息",JOptionPane.INFORMATION_MESSAGE); break; case 1:
55、 sql="update BOOK set BookName="+str1[1]+" where BookNO="+b; db=new DataBase(); if(flag>0){ JOptionPane.showMessageDialog(this,"恭喜你,修改成功!!!", "消息",JOptionPane.INFORMATION_MESSAGE); }break; case 2: sql=
56、"update BOOK set Author="+str1[2]+" where BookNO="+b; if(flag>0){ JOptionPane.showMessageDialog(this,"恭喜你,修改成功!!!", "消息",JOptionPane.INFORMATION_MESSAGE); }break; case 3: sql="update BOOK set BookName="+str1[1]+"
57、,"+"Author=" +str1[2]+" where BookNO="+b; if(flag>0){ JOptionPane.showMessageDialog(this,"恭喜你,修改成功!!!", "消息",JOptionPane.INFORMATION_MESSAGE); }break; case 4: sql="update BOOK set Publ
58、ishment="+str1[3]+" where BookNO="+b; if(flag>0){ JOptionPane.showMessageDialog(this,"恭喜你,修改成功!!!", "消息",JOptionPane.INFORMATION_MESSAGE); }break; case 5: sql="update BOOK set BookName="+str1[1]+","+"Publishment
59、=" +str1[3]+" where BookNO="+b; if(flag>0){ JOptionPane.showMessageDialog(this,"恭喜你,修改成功!!!", "消息",JOptionPane.INFORMATION_MESSAGE); }break; case 6: sql="update BOOK set Author="+str1[2
60、]+","+"Publishment=" +str1[3]+" where BookNO="+b; if(flag>0){ JOptionPane.showMessageDialog(this,"恭喜你,修改成功!!!", "消息",JOptionPane.INFORMATION_MESSAGE); }break; case 7: sql="update BOOK s
61、et BookName="+str1[1]+","+"Author="+str1[2] +","+"Publishment="+str1[3]+" where BookNO="+b; if(flag>0){ JOptionPane.showMessageDialog(this,"恭喜你,修改成功!!!", "消息",JOptionPane.INFORMATION_MESSAGE); }break;
62、 case 8: sql="update BOOK set BuyTime="+str1[4]+" where BookNO="+b; if(flag>0){ JOptionPane.showMessageDialog(this,"恭喜你,修改成功!!!", "消息",JOptionPane.INFORMATION_MESSAGE); }break; case 9: sql="upda
63、te BOOK set BookName="+str1[1]+","+"BuyTime=" +str1[4]+" where BookNO="+b; if(flag>0){ JOptionPane.showMessageDialog(this,"恭喜你,修改成功!!!", "消息",JOptionPane.INFORMATION_MESSAGE); }break; case 10:
64、sql="update BOOK set Author="+str1[2]+","+"BuyTime=" +str1[4]+" where BookNO="+b; if(flag>0){ JOptionPane.showMessageDialog(this,"恭喜你,修改成功!!!", "消息",JOptionPane.INFORMATION_MESSAGE); }break; case 11:
65、 sql="update BOOK set BookName="+str1[1]+","+"Author="+str1[2] +","+"BuyTime="+str1[4]+" where BookNO="+b; if(flag>0){ JOptionPane.showMessageDialog(this,"恭喜你,修改成功!!!", "消息",JOptionPane.INFORMATION_MESSAGE);
66、 }break; case 12: sql="update BOOK set Publishment="+str1[3]+","+"BuyTime=" +str1[4]+" where BookNO="+b; if(flag>0){ JOptionPane.showMessageDialog(this,"恭喜你,修改成功!!!", "消息",JOptionPane.INFORMATION_MESSAGE); }break; case 13: sql="update BOOK set BookName="+str1[1]+","+"Publishment=
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。