版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 哈尔滨工业大学国家示范性软件学院 2013本科程序设计实践报告项目题目: 程序设计实践综合项目 班 级: 物联网一班 项目组编号: 38 项目组成员: 姓名 学号 彭海兵 1133730104 杨浩涵 1133730103 宋俊霖 1133730115 指导教师: 郭勇 开始日期: 2014年07月7日 完成日期: 2014年07月17日 哈工大软件学院2013级本科程序设计实践报告目 录第1部分 项目开发计划1第2部分 系统需求规格说明书3第3部分 系统设计说明书8第4部分 用户使用说明书20第5部分 项目总结报告27第1部分 项目开发计划1 引言1.1 编写目的编写本项目开发计划书,旨在
2、指导项目的开发,以里程碑和时间表的方式保证项目能够按时完成,并符合用户的要求。1.2 背景本项目要设计并实现的系统名称为:“程序设计实践综合项目”,项目由软件学院教研室提出。图书馆数字化和网络化是新的发展方向,管理好藏书资料,有的放矢地不断补充新图书,让人们能更好更方便地从中获取新知识,提高技术水平,将更好地提高技术层次。要提高图书管理水平,就必须使图书管理从传统的手工管理服务模式走向计算机化。建立联机书目信息数据库,实现联机检索和资料共享是发展的第一步,开发程序设计实践综合项目软件正是为了实现这一步骤。使用计算机对图书信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、方便、准确、统
3、计精确、便于分析等。这些优点能极大地提高图书管理的水平。1.3 定义评价标准:产生评语的依据,例如阶段性考试成绩,思想表现等。2 实施计划2.1 工作任务的分解与人员分工彭海兵负责ATM功能的创建子窗口和聊天功能;宋俊霖负责创建主窗口、文件分合器和学生管理功能;杨浩涵负责数据库的搭建及ATM主要功能。2.2 进度 进度安排如表1-1所示。表1-1 项目开发进度安排日期要完成的任务77 - 7.8搭建数据库,创建主窗口。7.9 - 7.10完成ATM功能。7.11 7.12完成文件分合器和聊天功能。7.13 7.14完成学生管理功能。7.15 7.17完成文档,结束项目。2.3 关键问题 2.3
4、.1数据库的设计及连接本系统中ATM及学生管理用到了数据库。ATM中我们需要考虑管理员和普通用户的数据表该如何设计,学生管理系统中的管理员和学生的数据表该如何设计。并且在数据库的使用上,项目参与者缺乏相关经验,需要学习。2.3.2 文件操作文件分和器这一功能中要用到文件操作,这块内容接触较少,有一定难度。2.3.3 网络编程 聊天功能中涉及到文本及文件的UDP传送,这方面接触较少,开发难度大。第2部分 系统需求规格说明书1功能模块的确定1.1 编写目的本说明书描述“程序设计实践综合项目”的软件需求,目的在于明确说明系统的需求,说明系统需要实现的具体功能,系统运行所需的环境,系统对数据的输入输出
5、要求。为系统数据库结构设计、概要设计、详细设计与编码实现提供基础的指导。1.2 系统功能模块图图2-1 系统功能模块图如图2-1所示,该系统有四个功能,分别是ATM、文件分合器、聊天和学生管理。1.3 系统功能模块具体说明如图2-2所示,ATM有登陆、管理员和普通用户三大模块。管理员有查询用户信息、创建活期账号、查询ATM余额、修改密码四大功能。普通用户有查询余额、存款、取款、查询存取款明细和修改密码五大功能。图2-2 ATM功能模块图 如图2-3所示,文件分合器有文件合并和文件分割两大功能。图2-3 文件分合器功能模块图 如图2-4所示,聊天分为参数设置和开始聊天两大模块。其中,开始聊天有发
6、送、传输文件和接受文件三大功能。图2-4 聊天功能模块图如图2-5所示,学生管理有登陆、增加学生、查询学生、修改学生和删除学生五大功能。图2-5 学生管理功能模块图2 任务概述编码规范的制定2.1 目标对于任何工程项目来说,统一的施工标准都是保证工程质量的重要因素。堪称当今人类最抽象、最复杂的工程软件工程,自然更加不能例外。高品质、易维护的软件开发离不开清晰严格的编码规范。本文档详细描述使用Java进行程序设计实践综合项目开发过程中的编码规范。本规范也适用于所有在文档中出现的源码。2.2 具体编码规范2.2.1命名规则(1)JAVA源文件的命名JAVA源文件名必须和源文件中所定义的类的类名相同
7、。(2)Package的命名Package名的第一部分应是小写ASCII字符,并且是顶级域名之一,通常是com、edu、gov、mil、net、org或由ISO标准3166、1981定义的国家唯一标志码。Package名的后续部分由各组织内部命名规则决定,内部命名规则指定了各组件的目录名,所属部门名、项目名等。(3)Class/Interface的命名Class名应是首字母大写的名词。命名时应该使其简洁而又具有描述性。异常类的命名,应以Exception结尾。Interface的命名规则与Class相同。(4)常量的命名常量名的字母应全部大写,不同的单词之间通过下划线进行连接,并且名字组合应该
8、赋予含义。(5)变量的命名普通变量名的首字母小写,其它每个单词的首字母大写。命名时应该使其简短而又有特定含义,简洁明了的向使用者展示其使用意图。约定变量,是指那些使用后即可抛弃(throwaway)的临时变量。通常i、j、k、m和n代表整型变量;c、d和e代表字符型变量。(6)方法的命名方法名的第一个单词应是动词,并且首字母小写,其它每个单词首字母大写。(7)方法参数的命名应该选择有意义的名称作为方法的参数名。如果可能的话,选择和需要赋值的字段一样的名字。2.2.2样式结构 (1)缩进单位一个缩进单位为四个空格,缩进排版时以缩进一个单位为最小缩进量。不要使用制表符(Tab键),因为不同的系统对
9、它的解释不尽相同。(2)缩进和对齐当某行语句在逻辑上比下面的语句高一个层次时,该行下面的语句都要在该行的基础上缩进一个单位。若干语句在逻辑上属于同一层次时,这些语句应对齐。(3)行宽为了和linux,unix等字符界面的操作系统兼容,JAVA代码行应限制在80个字符之内,多余部分应换行。第3部分 系统设计说明书1编写目的本说明书描述“程序设计实践综合项目”的设计,目的在于明确系统的总体设计方案,定义系统的逻辑结构、数据结构、接口以及异常或出错处理方法,、编码实现与测试提供基础的指导。本说明书的预期读者为系统开发人员、系统测试人员。2 系统设计2.1 系统规定2.1.1 硬件环境软件运行所需的硬
10、件设备如表3-1所示。表3-1 系统运行所需硬件硬件要求计算机业务服务器处理器奔腾II200以上奔腾II450以上内存64MB以上256MB以上网络10/100M自适应网卡10/100M自适应网卡硬盘3G以上10G以上2.1.2 处理的功能要求本项目主要以数据文件为基础,开发“程序设计实践综合项目”。2.2 系统总体结构如图3-1所示,该系统有四个功能,分别是ATM、文件分合器、聊天和学生管理。图3-1 系统总体功能结构2.3类的设计如表3-2所示,为本系统类的设计。表3-2 系统类的设计类名属性名方法名ATMTestJFrame framestatic JMenu menu_3 static
11、 JMenu menu_4static int startboolean avoid main(String)ATMTest()void initialize()void startManager()void startUser()void addPopup(Component component,JPopupMenu popup)ChatJTextarea area1TextField nafieldJTextArea area2JButton button1JButton button2JButton button3String str1String str2String str3Stri
12、ng str4String str5String filenameString filePathString flagFileInputStream indataInt fileSizeJPanel panelChat()ConnectDataBaseString driveNameString urlString userString passwordString insqlSring upsqlString delsqlString sqlString nameConnection connResultSet rsConnection ConnectMysql()void CutConne
13、ction(Connection connection)boolean InsertSql(user user)booleanIsAdmin(String sql,String username,String password)boolean HastheSameStudent(String id)String ReturnStudentData(String sql,String id)boolean UpdateSql(String upsql)boolean DeleteSql(String delsql)CreateAccountString numString passwordStr
14、ing nameConnection connPreraredStatement statementString sql CreateAccount(String name,String password,String num)boolean insertSQl()void deconnSQl()CreateAccountFrameJFrame frameJTextField textFieldJTextField textField_1JTextField textField_2JTextField textField_3JTextFieldtextField_4String account
15、String nameString passwordString password1String password2CreateAccountFrame()void initialize()CreateStudentJFrame frameString sexString ItemJTextField textFieldJTextField textField_1JTextField textField_2JTextField textField_3JTextField textField_4JTextField textField_5CreateStudent()void initializ
16、e()CutFileString filenamelong unitSizeString targetDirInt cutFile(int BlockNum)DeleteAcountString numString passwordConnection connPreparedStatement statementPreparedStatementStatement1ResultSet rsString sqlDeleteAccount(String num,String password)boolean logOff()void deconnSQL()DeleteStudentJFrame
17、frameJTextField textFieldDeleteStudent()void initialize()GetLeftString numString passwordConnection connPraparedStatement statementResultSet rsString sqlGetLeft(String num,String password)void getBalances()void deconnSQL()GetUserJFrame frameJTextField textFieldString strGetUser()void initialize()Inp
18、utMoneyString numString passwordint balancesint inputMoneyConnection connPreparedStatement statementPreparedStatementStatement1ResultSet rsString sqlString sql2InputMoney(String num,String password,int inputMoney)void input()void deconnSQL()LogInstatic boolean astatic boolean Is()LinkFilestatic int
19、mergeNumstatic String fileString targetDirvoid linfFile(String s)LinkFileWindowJFrame frameString filePathString targetpathJTextField textFieldJTextField textField_1JTextField textField_2TextArea textAreaint countLinfFielWindow()void initialize()LoginJFrame frameboolean aJtextField textFieldJtextFie
20、ld textField_1Login()void initializa()LogInFrameJFrame frameJTextField textFieldJTextField textField_1Connection connPreparedStatementStatementSreing sqlResult rsString accountString passwordLogInFrame()void initializeLookupJFrame frameJTextField textFieldJTextField textField_1JTextField textField_2
21、String accountString passwordString leftLookup()void initialize ()static void setBalances(String a)ModifyAccountString numString passwordConnection connPreparedStatement statementPreparedStatementStatement1ResultSet rsString sqlString newPasswordModifyAccount(String num,String password,String newPas
22、sword)boolean modify()void deconnSQL()ModifyStudentJFrame frameJTextField textFieldJTextField textField_1JTextField textField_2JTextField textField_3JTextField textField_4JTextField textField_5JTextField textField_6JTextField textField_7ModifyStudent()void initialize()NewPasswordJFrame frameJTextFie
23、ld textFieldJTextField textField_1JTextField textField_2JTextField textField_3JButton btnNewButtonNewPassword()void initialize()SaveJFrame frameJTextFiled textFieldString strJLabel label_1JLabel label_2JTextField textField_1JTextField textField_2String accountString passwordSave()void initialize()Se
24、archAccounInfoStirng numString nameint balancesString idint lastDrawMoneyDate lastDrawTimeint lastInputMoneyDate lastInputMoneyTimeConnection connPreparedStatement statementResultSet rsString sqlSearchAccounInfo()boolean searchAccountInfo()void deconnSQL()SettingJFrame frameJTextField textFieldJText
25、Field textField_1JTextField textField_2JTextField textField_3JTextField textField_4String textAcceptString fileAcceptString targetIpString textSendStrng fielSendSetting()void initialize()TakeMoneyString numString passwordint balancesint drawMoneyConnection connPreparedStatement statementPreparedStat
26、ementStatement1Result rsString sqlString sql2 TakeMoney(String num,String password,int drawMoney)void takeout()void deconnSQL()userString nameString sexint ageString collegeDate dateVoid setId(String id)Void setAge(int age)Void name(String name)Void setSex(String sex)Void setCollege(String college)V
27、oid setDate(Date date)String getId()String getName()String getSex()int getAge()String getCollege() Date getDate()UserDatilString numString nameString passwordint balancesString idint lastDrawMoneyDate lastDrawTimeConnction connPreparedStatement statementResultSet rsString sqlint lastInputMoneyDate l
28、astInputMoneyTime UserDatil(String num,String password)void searchInfo()void deconnSQL()UserGetJFrame frameJTextFiled textFieldJTextFiled textField_1JTextFiled textField_2JButton buttonJLabel label_1JLabel label_2String accountString passwordString moneyUserGet()void initialize()UserLookupJFrame fra
29、meJLabel label_1JLabel label_2JLabel label_3JLabel label_4JLabel label_5JTextField textFieldJTextField textField_1JTextField textField_2JTextField textField_3JTextField textField_4JTextField textField_5String accountString passwordUserLookup()void initialize()static set(String lot,int lom,String lit
30、,int lim)UserPassword JFrame frameJTextField textFieldJTextField textField_1JTextField textField_2JTextField textField_3JLabel label_3String accountStrng oldPasswordString passwordString password1String password2UserPassword()void initialize()2.4 类之间的关系图如图3-2所示,为本系统的类图。本系统各类间皆为依赖关系。图3-2 类的关系图2.5 数据存
31、储设计如表3-3所示,为ATM用户数据设计表。如表3-4所示,为学生管理功能中的管理员数据设计表。如表3-5所示,为学生管理功能中的学生数据设计表。表3-3 ATM用户字段名称字段类型字段大小主键备注numvarchar20Y卡号passwordvarchar20N密码namevarchar20N姓名balancesint11N余额idvaarchar20N身份lastDrawMoneyint11N上次取款金额LastDrawTimedateN上次取款时间lastInputMoneyint11N上次存款金额LastInputMoneyTimedateN上次存款时间表3-4 admin字段名称字
32、段类型字段大小主键备注usernamevarchar10Y用户名passwordvarchar10N密码表3-5 student 字段名称字段类型字段大小主键备注idvarchar 10Y学号namevarchar 10N姓名sexvarchar 2N性别ageint 11N年龄birthdaydateN生日collegevarchar 20N院系4.3 尺度测试计划中的所有用例的测试输出结果与预期输出相同,测试工作通过。第4部分 用户使用说明书1 软件安装配置方法(1) 安装JRE和MySQL;(2) 双击“程序设计实践项目.jar”文件。2 系统使用说明书2.1 ATM系统ATM系统登录界
33、面如图4-1所示。用户或管理员输入账号和密码,点击确定,即可登陆成功。图4-1 ATM系统登录界面如图4-2所示,若该用户为管理员,选择相应功能。图4-2 管理员功能选择界面截图如图4-3所示,若登陆者为普通用户,选择相应功能。图4-3 普通用户功能选择截图2.2 文件分和器 单击“文件分和器”,单击“文件合并”,就会弹出如图4-4界面。File Name中可选择要合并的文件。TargetFile中选择合并后文件路径,并要添加合并后文件的文件名。图4-4文件合并截图 单击“文件分和器”,单击“文件分割”,就会弹出如图4-5界面。File Name用于选择要分割的文件(注意:选择的文件不可太小),Block Size用于选择分割后文件的大小,也可自定义文件大小。在N
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年渝中区万盛区街道办人员招聘考试备考试题及答案详解
- 2025年黑河市爱辉区中小学教师招聘笔试试题及答案详解
- 崇州市人力资源开发有限责任公司公开招聘崇州市工会社会工作者(6人)笔试模拟试题及答案详解
- 成都益民集团2026年市场化选聘中层管理人员笔试模拟试题及答案详解
- 2026年淮北市相山区街道办人员招聘考试模拟试题及答案详解
- 2026年山西省临汾市中小学教师招聘考试参考试题及答案详解
- 2026年西安市未央区街道办人员招聘考试备考试题及答案详解
- 2026年锦州市凌河区法检系统书记员招聘考试模拟试题及答案详解
- 2026年山东省青岛市中小学教师招聘笔试参考试题及答案详解
- 2026年七台河市新兴区中小学教师招聘笔试参考题库及答案详解
- 2026年广东省中考化学试卷(含答案及解析)
- 2026年全国保密教育线上培训考试题库(含标准答案)
- 2026广西来宾市机关事务管理中心招聘事业单位后勤服务控制数人员1人笔试备考题库及答案详解
- 专业护理技术操作标准规范
- (必刷)山东省大数据专业高级职称(大数据应用分析专业)考点精粹必做500题-含答案
- 市政给水管网竣工资料方案
- 2025ESTRO实践建议:放射性皮炎的管理解读
- 2026年深圳市高三语文第二次调研考试作文评分细则及标杆卷点评:粒子加速器
- 2026 氯碱电解工艺证考试练习题库 含答案
- 学校厨房安全检查制度
- 石林国有资本投资集团有限公司招聘笔试题库2026
评论
0/150
提交评论