《软件工程》课程设计实验报告书new_第1页
《软件工程》课程设计实验报告书new_第2页
《软件工程》课程设计实验报告书new_第3页
《软件工程》课程设计实验报告书new_第4页
《软件工程》课程设计实验报告书new_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录1 绪 论11.1 概述11.1.1 问题的提出11.1.2 本课题的意义11.2 开发环境与工具介绍12 系统需求分析与设计22.1 用户需求分析22.1.1 用户需求22.1.2 系统功能需求22.1.3 系统性能需求22.1.4 数据分析22.2 功能模块图及分模块功能描述22.2.1 系统的功能模块图22.2.2 系统功能模块简介22.3 数据库设计22.3.1 系统E-R图22.3.2 数据库逻辑结构设计23 系统实施33.1 建立数据库33.2 数据库连接33.3 主要模块实施33.3.1 登录模块的开发33.3.2 个人信息模块开发33.3.3 项目信息模块开发33.3.4

2、用户管理信息模块开发33.3.5 鉴定结果信息模块开发33.3.6 单位信息模块开发33.4 系统测试33.4.1 软件测试的对象33.4.2 软件测试的结果3总 结5参考文献6附录:部分源代码7i1 绪 论当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,计算机被广泛应用于B/S系统环境。计算机的好处在于它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了安全性。对于复杂的信息管理,计算机能够充分发挥它的优越性。软件工程可以帮助我们更好的优化我们的软件。1.1 概述安徽工业大学计算机学院科研信息管理系统涵盖计算机学院教师的个人信息及项目、经费、论文、专利、

3、专著、获奖、成果转化等与科研相关的所有信息,具有数据输入、修改、制表、导出、链接、查询、统计、排序、计分等功能。以人为对象、或以项目和成果为对象都可进行查看统计等各项操作,人员库与项目成果库互相关联,从任何一个点切入皆可看到相关的全局,形成统一的、集中的管理模式。该系统主要模块包括:个人信息管理,项目(纵向项目、横向项目)信息管理,论文信息管理,获奖成果管理,专利信息管理,鉴定成果管理,著作信息管理,成果转化管理,统计决策管理,系统设置等。我们尝试做简单的科研管理系统,使用mvc三层架构实现更好的封装。1.1.1 问题的提出 按照试验要求,完成简单的科研管理系统。1.1.2 本课题的意义 让我

4、们对数据库的的创建有了更高的要求,对表之间的联系有更家敏感,在试验进行中更加熟悉sql语言。对java.swing 包中的控件使用的更加灵活高效。尤其感触最深的事,学会了用工厂模式进行生产,mvc架构进行封装。从数据到可视化界面有不一样的认知和体会。1.2 开发环境与工具介绍开发环境:Windows7,jdk_1_7开发语言:java开发工具:Eclipse222 系统需求分析与设计2.1 用户需求分析2.1.1 用户需求能够快速的实现查看,申请项目,论文等功能2.1.2 系统功能需求a) 个人信息录入b) 项目的增,删,改,差c) 项目的鉴定,评测,和成果转化d) 权限的管理e) 一些相关统

5、计查询f) 打印和报表功能(有待实现)2.1.3 系统性能需求(1) 系统操作简单,使用方便。(2) 数据存储安全。2.1.4 数据分析 系统中角色有:管理员,教师员工2.2 功能模块图及分模块功能描述2.2.1 系统的功能模块图 2.2.2 系统功能模块简介 (1) 系统设置:设置系统登陆人员相关信息,包括登陆权限、使用相关模块的设置,操作数据库的粒度(读写数据)的权限等;(2) 帮助:帮助用户操作系统各功能,既有总体的帮助,也有各模块具体的帮助。 (3) 系统模块部分:系统模块围绕教师科研信息展开,对项目、经费、论文、专利、专著、获奖、成果转化等提供实用、先进化的网络信息管理。每一块子系统

6、均有信息录入、查询及统计模块并进行相应的权限设置,录入、查询及统计均需权限验证。统计决策管理子系统查询统计各类科研信息,并对相关数据统计汇总,结果以表格或图形方式呈现给用户,以提供辅助决策支持。2.3 数据库设计2.3.1 系统E-R图 2.3.2 数据库逻辑结构设计 1.Emp table (个人信息表)字段名称数据元素名称字段类型字段长度键值EmpName姓名Varchar28Sex性别Varchar22Birthday出生年月DateEmpID工号Varchar28PKInstitute所属研究所Varchar220Degree最后学位Varchar24Title职称Varchar210

7、Job在校职务Varchar220Jobcategory岗位类别Varchar220Onposition在岗情况Varchar22Parttimejob兼职职务Varchar220Experience访问合作经历Varchar250MajorResearch主攻科研方向Varchar250OtherResearch其他专长方向Varchar220Businessphone办公电话Varchar213Telephone家庭电话Varchar213Mphone移动电话Varchar211EmailemailVarchar220Workaddress办公地点Varchar250Fax传真Varcha

8、r2202.Verticalproject table(纵向项目信息表) 字段名称数据元素名称字段类型字段长度键值Vproname项目名称Varchar230ProID项目编号Varchar28PKFinancialID财务编号Varchar28Protype项目类别Varchar210FKProstarttime立项时间DateProendtime结题时间DateFinancialsupport经费来源Varchar220Promoney立项金额Number(10,2)Moneyreached到款金额Number(10,2)Undertakeunit承接单位Varchar23FKCounte

9、rpartfunding配套经费Number(10,2)Fundreachcondition资金到款情况Varchar250fundscondition经费校内外转拨情况Varchar250Leadcondition牵头情况Varchar210Cooperationcondition校内外合作情况Varchar2103.Horizontalproject table(横向项目信息表)字段名称数据元素名称字段类型字段长度键值Hproname合同名称Varchar230Protype合同类别Varchar210FKProID合同编号Varchar28PKFinancialID财务编号Varchar

10、28Undertakeunit承接单位Varchar250buyername买方名称Varchar250Prostarttime立项时间DateProendtime结题时间DateResigndate签定日期DateFinancialsupport经费来源Varchar250Promoney合同金额Number(10,2)Moneyreached到款金额Number(10,2)Fundreachcondition资金到款情况Varchar250fundscondition经费校内外转拨情况Varchar250Leadcondition牵头情况Varchar210Cooperationcondi

11、tion校内外合作情况Varchar2104.Thesis table(论文信息表) 字段名称数据元素名称字段类型字段长度键值Thesistitle题名Varchar230Periodical期刊Varchar220Volumepage期卷页Varchar23WarehousingNO入库号Varchar28PKPapertype论文类别Varchar210FKIndexed收录情况Varchar22FKSubordinateunits所属单位Varchar230hiringandpublishedstate录用与发表状态Varchar220Networkquerylink网络查询链接Varc

12、har2205.Reward table(获奖信息表)字段名称数据元素名称字段类型字段长度键值AchievementID成果编号Varchar28PKAchievementType成果类型Varchar22FKRewardYear获奖年度Varchar26Rewardtype获奖分类Varchar28Rewardlevel获奖等级Varchar236.Patent table(专利信息表)字段名称数据元素名称字段类型字段长度键值Patentname专利名称Varchar230PatentID专利号Varchar28PKPatenttype专利类型Varchar23FKPatentstate专利

13、状态Varchar247.Identification table(鉴定成果信息表)字段名称数据元素名称字段类型字段长度键值AchievementID成果编号Varchar230FKAchievementType成果类型Varchar22FKRegistrationNO登记号Varchar28PKIdentificationtime鉴定时间Varchar26Levelofidentification鉴定水平Varchar2108.Book table(著作信息表)字段名称数据元素名称字段类型字段长度键值Bookname著作名称Varchar230BookID著作编号Varchar28PKBoo

14、ktype著作类别Varchar23FKPublishedunits出版单位Varchar230PublishedNO出版版号Varchar220Publishedtime出版时间Varchar269.AchievementTransformation table(成果转化表)字段名称数据元素名称字段类型字段长度键值AchievementID成果编号Varchar230FKAchievementType成果类型Varchar22Conversiontime转化时间Varchar26TransfereeType受让方类型Varchar24Transfereename受让方名称Varchar250

15、10.Topic table(课题信息表)字段名称数据元素名称字段类型字段长度键值TopicNO课题代码Varchar23PKTopicname课题名称Varchar23011.Thesislevel table (论文级别)字段名称数据元素名称字段类型字段长度键值LevelNO级别代码Varchar23PKLevelName级别名称Varchar23012.Embody table (收录级别)字段名称数据元素名称字段类型字段长度键值EmbodyNO级别代码Varchar23PKEmbodyName级别名称Varchar23013.Verticalclient table(纵向委托单位)字段

16、名称数据元素名称字段类型字段长度键值VerticalclientNO纵向单位代码Varchar23PKVerticalclientName纵向单位名称Varchar23014.Userinfo Table:用户表字段名称数据元素名称字段类型字段长度键值UserName用户名VARCHAR215PKUserPassword用户密码VARCHAR215UserIdentify用户权限VARCHAR21015.Unit table:所在单位(院系)字段名称数据元素名称字段类型字段长度键值UnitNO单位代码VARCHAR23PKUnitname单位名称VARCHAR23015.Achievement

17、 table:成果类型字段名称数据元素名称字段类型字段长度键值AchievementNO成果代码VARCHAR23PKAchievementName成果名称VARCHAR23016 Participant table:参与表字段名称数据元素名称字段类型字段长度键值EmpID教师员工VARCHAR23FKProID项目编号VARCHAR230FKWorkloadPercent完成百分比VARCHAR250DutyNO职责代码VARCHAR23FKRemarks备注VARCHAR310017 Duty table:职责字段名称数据元素名称字段类型字段长度键值DutyNO职责代码VARCHAR23P

18、KDutyName职责名称VARCHAR2303 系统实施3.1 建立数据库 3.1.1创建数据库表的SQL部分语句1.个人信息表CREATE TABLE EMP(EMPNAMEVARCHAR2(8),SEXVARCHAR2(2),BIRTHDAYDATE,EMPIDVARCHAR2(8),INSTITUTEVARCHAR2(20),DEGREEVARCHAR2(4),TITLEVARCHAR2(10),JOBVARCHAR2(20),JOBCATEGORYVARCHAR2(20),ONPOSITIONVARCHAR2(2),PARTTIMEJOBVARCHAR2(20),EXPERIENCE

19、VARCHAR2(50),MAJORRESEARCHVARCHAR2(50),OTHERRESEARCHVARCHAR2(20),BUSINESSPHONEVARCHAR2(13),TELEPHONEVARCHAR2(13),MPHONEVARCHAR2(11),EMAILVARCHAR2(20),WORKADDRESSVARCHAR2(50),FAXVARCHAR2(20);2.横向项目表CREATE TABLE HORIZONTALPROJECT(HPRONAMEVARCHAR2(30),PROTYPEVARCHAR2(10),PROIDVARCHAR2(8),FINANCIALIDVAR

20、CHAR2(8),UNDERTAKEUNITVARCHAR2(50),BUYERNAMEVARCHAR2(50),PROSTARTTIMEDATE,PROENDTIMEDATE,RESIGNDATEDATE,FINANCIALSUPPORTVARCHAR2(50),PROMONEYNUMBER (10,2),MONEYREACHEDNUMBER (10,2), FUNDREACHCONDITION VARCHAR2(50),FUNDSCONDITIONVARCHAR2(50),LEADCONDITIONVARCHAR2(10),COOPERATIONCONDITIONVARCHAR2(10);

21、3.2 数据库连接public class DB protected static Connection con=null; /申明的连接对象protected static String dbUser =;/数据库用户名protected static String dbpwd =;/数据库密码protected static String url = jdbc:oracle:thin:222.195.38.23:1521:ORADB1;/连接URLprotected static String driver=oracle.jdbc.driver.OracleDriver; /驱动类类名st

22、atic try if(con=null)Class.forName(driver);/注册驱动con=DriverManager.getConnection(url,U109074038 , K109074038);/获得连接对象 catch(ClassNotFoundException ae)/捕获驱动类无法找到的异常ae.printStackTrace();catch (SQLException e) /捕获SQL异常/ TODO: handle exceptione.printStackTrace();3.3 主要模块实施3.3.1 登录模块的开发1.登录界面主界面:2.相关代码pub

23、lic Entry() JPanel pnBasic = new JPanel();pnBasic.setLayout(null);JLabel lbAccount = new JLabel(帐号:,JLabel.CENTER);lbAccount.setBounds(65,33,54,15);JLabel lbPassword = new JLabel(密码:,JLabel.CENTER);lbPassword.setBounds(65,74,54,15);final JTextField textAccount = new JTextField(dj);textAccount.setBou

24、nds(125,30,190,21);final JPasswordField textPassword = new JPasswordField(djlove);textPassword.setBounds(125,71,190,21);final JButton btnSubmit = new JButton(登录);btnSubmit.setBounds(100,160,69,23);JButton btnCancer = new JButton(取消);btnCancer.setBounds(210,160,69,23);/RadioButtonradioBtndministrator

25、 =new JRadioButton(管理员);radioBtndministrator.setBounds(100,110,69,23);radioBtnckbManager = new JRadioButton (教职工);radioBtnckbManager.setBounds(210,110,100,23);group = new ButtonGroup();group.add(radioBtnckbManager);group.add(radioBtndministrator);pnBasic.add(lbAccount);pnBasic.add(textAccount);pnBas

26、ic.add(lbPassword);pnBasic.add(textPassword);pnBasic.add(btnSubmit);pnBasic.add(btnCancer);pnBasic.add(radioBtnckbManager);pnBasic.add(radioBtndministrator);/密码框加入触发器textPassword.addKeyListener(new KeyAdapter() public void keyPressed(final KeyEvent e)if(e.getKeyCode()=10)btnSubmit.doClick(););/登录按钮加

27、入触发器btnSubmit.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stubString strAccount=textAccount.getText();String StrPassword=textPassword.getText();if(radioBtndministrator.isSelected()String id=DB.getSelect(strAccount, StrPasswor

28、d,管理员);if(id!=null)JOptionPane.showMessageDialog(getContentPane(), 用户验证成功,信息提示框,JOptionPane.WARNING_MESSAGE);setVisible(false);new MainFrame();elseJOptionPane.showMessageDialog(getContentPane(), 用户验证失败,信息提示框,JOptionPane.WARNING_MESSAGE);else if(radioBtnckbManager.isSelected()String id=DB.getSelect(s

29、trAccount, StrPassword,教职工);if(id!=null)JOptionPane.showMessageDialog(getContentPane(), 用户验证成功,信息提示框,JOptionPane.WARNING_MESSAGE);setVisible(false);new MainFrame1();elseJOptionPane.showMessageDialog(getContentPane(), 用户验证失败,信息提示框,JOptionPane.WARNING_MESSAGE);else JOptionPane.showMessageDialog(getCon

30、tentPane(), 请选择你的身份,信息提示框,JOptionPane.WARNING_MESSAGE););setContentPane(pnBasic);setBounds(100,100,403,256);setTitle(生产管理系统登录);setVisible(true);3.3.2 个人信息模块开发个人信息插入3.3.3 项目信息开发项目信息插入3.3.4用户信息模块开发3.3.5鉴定成果模块开发3.3.6 单位信息模块开发 3.4 系统测试3.4.1 软件测试的对象同寝室室友。3.4.2 软件测试的结果系统运行正常,能够实现基本的对数据库中数据进行增加、删除、修改、查询等功能

31、,但对数据库中数据的维护还很不完善,目前只是实现了部分的功能。总 结软件工程这门课的教材是纯英文的,课程也是中英文结合教学的,上课的时候的确听的有点懵懂,一直当成英语课来上的。但是课程设计我们(和同学一起)花了一个星期的时间来玩成,虽然现在还没有完成,直到昨天我还发现表的设计有地方不合理。但是从数据库的创建 ,到UI界面的美化和设计,到用mvc架构的封装,一步一步的走过了,在遇到问题和用各种方法解决它们。我的确有了进步,sql语句更加熟练了,重复的数据也知道如何使用office来简单话,更重要的事这一次学会了用三层价格进行封装。我们会在接下来的一段时间里,把科研管理系统完成,我相信这次试验会让

32、我们积累很多。参考文献1 Java学习手册:电子工业出版社2 数据库系统及应用:中国科学技术大学出版社3 Oracle10 数据库最佳入门:机械工业出版社附录:部分源代码/数据操作接口public interface VerticalProjectUIAbstract /数据插入public void save();/根据主键查询 true:能查到 false:不能public boolean searchResult(String str);/修改主键外的值public void Revise();/删除主键和相关信息public void delete();/控制层private Vert

33、icalProjectUIAdd verticalProjectUIAdd;private VerticalProjectBus verticalProjectBus;private VerticalProjectUIServise verticalProjectUIServise;public VerticalProjectUIAdd getVerticalProjectUIAdd() return verticalProjectUIAdd;public void setVerticalProjectUIAdd(VerticalProjectUIAdd verticalProjectUIAd

34、d) this.verticalProjectUIAdd = verticalProjectUIAdd;public VerticalProjectBus getVerticalProjectBus() return verticalProjectBus;public void setVerticalProjectBus(VerticalProjectBus verticalProjectBus) this.verticalProjectBus = verticalProjectBus;public VerticalProjectUIServise getverticalProjectUIServise() return verticalProjectUIServise;public void setverticalProjectUIServise(VerticalProjectUIServise verticalProjectUIServise) this.verticalProjectUIServise = verticalProjectUIServise;Overridepublic boolean searchResult(String

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论