为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 项目书(Java程序设计)

项目书(Java程序设计)

2021-05-24 50页 doc 1MB 30阅读

用户头像

is_729658

暂无简介

举报
项目书(Java程序设计)项目书(Java程序设计)目 录项目的引入HNS软件学院随着学校规模的扩大,图书馆中传统的手工管理方式已远远不能满足与日俱增的书籍管理需要,为了提高工作效率,降低运行成本,方便读者使用,图书管理系统必须引入信息化管理方式。因此,由软件学院软件开发部组织成立一个项目小组来为图书馆开发一套图书馆管理系统。需求        在对图书馆管理的工作流进行现场考察、学习以及与图书馆工作人员进行交流后,经整理和分析后。现决定在本次项目中需要实现的功能如下:基本数据维护功能模块在这个功能模块中,提供了使用者录入、修改并进行维护基本数据的途径...
项目书(Java程序设计)
项目书(Java程序设计)目 录项目的引入HNS软件学院随着学校规模的扩大,图书馆中传统的手工管理方式已远远不能满足与日俱增的书籍管理需要,为了提高工作效率,降低运行成本,方便读者使用,图书管理系统必须引入信息化管理方式。因此,由软件学院软件开发部组织成立一个项目小组来为图书馆开发一套图书馆管理系统。需求        在对图书馆管理的工作流进行现场考察、学习以及与图书馆工作人员进行交流后,经整理和分析后。现决定在本次项目中需要实现的功能如下:基本数据维护功能模块在这个功能模块中,提供了使用者录入、修改并进行维护基本数据的途径。比如在这个模块中可以输入读者的信息、书籍的各项信息,也可以对这些信息做修改、更新。基本业务功能模块这个功能模块主要实现对读者利用图书馆借还书籍的管理,比如根据读者的借用书籍要求更新图书籍数据库系统,如果书籍已经借出,则显示借阅失败。用户每次还书也要进行数据库记录的各项更新。这个模块是整个图书馆管理系统的关键部分。数据库管理功能模块在图书管理部门,对所有的图书信息以及会员信息都要进行统一管理,书籍的借出等情况也都要进行详细的登记,以便能对整个图书管理部门的运作有全面的了解,并根据实际情况补充书源不足的部分。信息查询功能模块在对图书馆管理信息系统进行全面信息化管理的过程中,查询是一项非常重要的功能。比如用户借书信息,借还日期的信息,书籍库源情况信息,预留信息等,这项功能能使用户得到即时书籍信息,方便用户根据实际情况选择业务方式。安全/使用管理功能模块这是任何一个信息管理系统都需要的部分,图书管理系统的操作也只能由专人进行,只有图书管理部门的工作人员才能拥有权限,特别是图书的借出状况,如果没有部分,后果难以想象,可能每次登录都需要用户身份的验证。任务        经过上述对需求的收集和整理可知,这是一个普通单机版信息管理系统。目前项目组已基本完成该系统的需求分析(见后面的描述),现已进入系统设计阶段。为加快系统的开发速度,决定将系统的设计、实现和测试等任务进行分解,现指派你完成如下任务:1.为本次项目制订开发,并书写项目开发计划书;(项目计划书模板参见附录)2.根据前述需求的分析,书写需求分析报告;(需求分析报告模板参见附录)3.根据上述需求分析报告完成系统功能的详细设计(绘制各模块或方法的程序流程图),并书写详细设计书(其书写的模板见本书的附录);4.根据上述设计并结合教材所给出的部分功能代码,完成该图书馆管理系统;5.对所完成的“图书馆管理系统”进行测试工作,并为系统测试书写测试计划书和测试报告。(项目测试报告模板参见附录)项目要求  本次项目,应满足如下要求:1.必须选择JAVA语言,作为本项目的开发语言;2.以普通的流式文件作为本项目的数据库;3.系统须要有操作简便的界面;4.要求以小组的形式完成本次开发任务(建议每组四名学生);5.完成项目开发后,要求对其进行项目答辩。需求分析    一、基本数据维护功能需求基本数据维护模块的具体功能如图1.1所示。基本维护信息包括:书籍信息和用户信息等。图1.1基本数据维护模块功能需求框图1.书籍信息的增加,如图1.2所示。这个功能实现把书籍信息输入到数据库中。书籍信息包括名称、作者、ISBN、类别、状态和书项。图1.2增加书籍信息2.书籍信息的修改,如图1.3所示。这个功能实现把书籍信息修改后输入到数据库中。(前置条件:已存在书籍)图1.3修改书籍信息3.用户信息的增加,如图1.4所示。这个功能实现把读者信息输入到数据库中。读者信息包括编号、姓名、地址、城市、区号。图1.4增加用户信息4.用户信息的修改,如图1.5所示。这个功能实现把读者信息修改后输入到数据库中。前置条件:已存在读者。图1.5修改用户信息二、基本业务功能需求基本业务功能需求模块的具体功能如图2.1所示。这些功能需求基本上包括了读者要求提供的业务。图2.1基本业务功能需求框图1.借书功能需求,如图2.2所示。该功能实现的是将读者要求借出的书籍信息加入到数据库中,然后更新数据库,借出的时间段内,该书不能再借出。借出信息包括书目和借出者等。图2.2借书功能2.还书功能需求,如图2.3所示。这个功能实现读者要还的书籍的信息以及读者的姓名,重新将书籍状态设置为可用。同时更新数据库。输入信息包括书名、作者、借出的书目和借书读者的姓名。图2.3还书功能三、数据库维护功能数据库维护功能是信息管理系统不可或缺的部分,其需求如图3.1所示。图3.1数据库维护功能需求1.读者信息管理功能需求,如图3.2所示。该功能实现对读者信息的统一管理,可以增加和修改读者信息。图3.2读者信息管理功能2.书籍信息管理功能需求,如图3.3所示。该功能实现对书籍信息的统一管理,可以增加或者修改书籍的信息。图3.3书籍信息管理功能四、查询功能需求这个模块的具体功能如图4.1所示。图4.1查询功能需求框图1.读者信息查询需求,如图4.2所示。该功能实现查询读者的现有信处,除了读者的个人信息外,还有读者已经借出的书籍信息。图4.2读者信息查询功能2.书籍信息查询需求,如图4.3所示。图4.3书籍信息查询功能五、安全使用管理功能需求这个模块的具体功能如图5.1所示。安全的管理功能包括用户名以及密码验证的管理。图5.1安全管理功能需求框图项目主要涉及到的知识点1.流。用户数据是保存在文件中,并以流的方式读出/写入数据,因此该项目会涉及到流的相关知识(可以考虑使用向量对象来临时存储图书、用户信息)。2.流程图:用于描述系统中的核心算法的设计,主要用于详细设计中。如描述书籍查询、增加及修改的算法。3.文件:用户数据是保存在文件中,因此该项目会涉及到流的相关知识。4.面向对象的编程技术:本次项目中主要采用面向对象的编程技术来实现本系统。5.标准的输入/输出:主要用于系统界面的设计,要求系统具有简易的操作界面,如菜单等。本次项目中主要涉到cin和cout两个标准的输入/输出对象的使用。项目的评分标准   本次项目的主要目的是在学习完本期所有专业课程的基础上,加强高学生的程序设计能力、初步的团队协作能力以及提高学生演讲和沟通能力。因此,本次项目是从程序质量、项目文档和答辩三个方面来考核的。它们的评分比例分为:程序部分占50%;项目文档占20%;答辩占30%。具体的评分标准如下表所示:表1.1评分标准表格项目评测内容建议分数实际得分程序1.1程序能否正确运行。5~10分 1.2系统功能是否完备。(注:每少一项功能扣5分)30~60分 1.3程序是否有注释。0~10分 1.4程序变量命名是否规范。0~10分 1.5程序运行的效率比较高。0~10分 小计  按50%折算成为项目成绩  项目文档2.1文档格式是否统一、标准。5~10分 2.2是否书写项目开发计划。10~20分 2.3是否书写需求分析报告。10~20分 2.4是否书写详细设计书。10~30分 2.5是否书写操作书。0~10分 2.6文档书写通顺且没有错字、别字。0~10分 小计  按20%折算为项目成绩  项目答辩3.1语言流利、表述清楚、有条理。20~40分 3.2能正确回答评审老师的问题(注:正确回答一个问题给10分)。0~30分 3.3能制作ppt、并运用在答辩中。0~10分 3.4小组成员均能参加答辩或演讲。10~20分 小计  按30%折算为项目成绩  总计   编码规范编码规范对于程序员而言尤为重要,一个软件的生命周期中,80%的花费在于维护。几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护。编码规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的代码。常见的编码规范总结如下:1.开头注释(BeginningComments)所有的源文件都应该在开头有一个风格一致的注释,其中列出类名、版本信息、日期和版权声明等,如下:/***Classname*Versioninformation*Date*Copyrightnotice*/2.头文件和域名空间语句(includeStatements)在多数C++源文件中,第一个非注释行是包语句。在它之后可以跟引入语句。例如:importjava.io.* //使用标准输入/输出库packagelib; //使用标准命名空间3.缩进排版(Indentation)4个空格常被作为缩进排版的一个单位。4.行长度(LineLength)尽量避免一行的长度超过80个字符,因为很多终端和工具不能很好处理长度超过80个字符的行。5.换行(WrappingLines)当一个表达式无法容纳在一行内时,可以依据如下一般规则断开该行:⏹在一个逗号后面断开。⏹在一个操作符前面断开。⏹宁可选择较高级别(higher-level)的断开,而非较低级别(lower-level)的断开。⏹新的一行应该与上一行同一级别表达式的开头处对齐。⏹如果以上规则导致你的代码混乱或者使你的代码都堆挤在右边,那就代之以缩进4个空格。6.注释(Comments)Java程序有两类注释:实现注释(implementationcomments)和文档注释(documentcomments)。实现注释是那些在JAVA中见过的,使用/*...*/和//界定的注释。文档注释(被称为"doccomments")是Java独有的,并由/**...*/界定。文档注释可以通过javadoc工具转换成HTML文件。为了使程序更容易阅读,程序员应适当的在代码中添加注释。7.每行声明变量的数量(NumberPerLine)推荐一行一个声明,因为这样以利于写注释,如下:intlevel; //indentationlevelintsize; //sizeoftable不要将不同类型变量的声明放在同一行,例如:intfoo, fooarray[]; 8.避免声明的局部变量覆盖上一级声明的变量。例如,不要在内部代码块中声明相同的变量名,见下面的代码,定义了两个“count”,这种情况应避免。intcount;...myMethod(){if(condition){intcount=0;  ...}...}9.简单语句(SimpleStatements)每行至多包含一条语句,例如:argv++;    //推荐使用argv++;argc--; //不推荐使用10.复合语句(CompoundStatements)复合语句是包含在大括号中的语句序列,形如"{语句}"。复合语句的书写一般应遵守以下原则:⏹被括其中的语句应该较之复合语句缩进一个层次。⏹左大括号"{"应位于复合语句起始行的行尾;右大括号"}"应另起一行并与复合语句首行对齐。⏹大括号可以被用于所有语句,包括单个语句,只要这些语句是诸如if-else或for控制结构的一部分。这样便于添加语句而无需担心由于忘了加括号而引入bug。11.空行(BlankLines)空行将逻辑相关的代码段分隔开,以提高可读性。下列情况应该总是使用空行:⏹一个源文件的两个片段(section)之间。⏹类声明和接口声明之间。⏹两个方法之间。⏹方法内的局部变量和方法的第一条语句之间。⏹一个方法内的两个逻辑段之间,用以提高可读性。12.命名规范(NamingConventions)命名规范使程序更易读,从而更易于理解。它们也可以提供一些有关标识符功能的信息,以助于理解代码,例如,不论它是一个常量,包,还是类。标识符类型命名规则例子命名空间一个唯一包名的前缀总是全部小写的ASCII字母并且是一个顶级域名,通常是com,edu,gov,mil,net,org,或1981年ISO3166标准所指定的标识国家的英文双字符代码。包名的后续部分根据不同机构各自内部的命名规范而不尽相同。这类命名规范可能以特定目录名的组成来区分部门、项目、机器或注册名。com.sun.engcom.apple.quicktime.v2edu.cmu.cs.bovik.cheese类命名规则:类名是个一名词,采用大小写混合的方式,每个单词的首字母大写。尽量使你的类名简洁而富于描述。使用完整单词,避免缩写词(除非该缩写词被更广泛使用,像URL,HTML)。classRaster;classImageSprite;接口与类名相似。interfaceRasterDelegate;interfaceStoring;方法方法名是一个动词,采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。run();getBackground();变量除了变量名外,所有实例,包括类,类常量,均采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。变量名不应以下划线或美元符号开头。变量名应简短且富于描述。变量名的选用应该易于记忆。尽量避免单个字符的变量名,除非是一次性的临时变量。总言之,变量应遵循匈牙利命名法。charc;inti;floatmyWidth;常量类常量和ANSI常量的声明,应该全部大写,单词间用下划线隔开。staticfinalintGET_THE_CPU=1;13.变量赋值(VariableAssignments)避免在一个语句中给多个变量赋相同的值。它很难读懂。例如:fooBar.fChar=barFoo.lchar='c';14.圆括号(Parentheses)一般而言,在含有多种运算符的表达式中使用圆括号来避免运算符优先级问题,是个好方法。即使运算符的优先级对你而言可能很清楚,但对其他人未必如此。你不能假设别的程序员和你一样清楚运算符的优先级。if(a==b&&c==d)  //不推荐使用if((a==b)&&(c==d)) //推荐使用示例代码packageexamples;importjava.util.*;//引入java工具包/***@className:StudentArray*@author:JamesTang*@date:2005-01-07*@version:1.0*@descript:对象数组使用示例*/publicclassStudentArray{staticRandomrand=newRandom();//随机数产生器publicstaticvoidmain(String[]args){Studentmax=null;//入学成绩最大的学生Student[]stu;//定义学生数组对象stu=newStudent[10];//创建学生数组对象System.out.println("学号"+"\t"+"入学成绩");//显示表头//遍历数组,生成10个学生的数据for(inti=0;i方案
。最后活动:项目测试:对项目做单元测试和集成测试,针对测试报告,进一步改进。减小bug数。1.2客户资料客户名:1.3项目成果表1.3.1项目成果清单序号内容需求计划时间实际时间状态1     2  3  3     4     5     6     1.4分配任务表1.6.1….序号任务负责人1  2  3  4  5  6  7  8  9  第2章XXX系统需求规格说文件修改记录编号状态日期执笔人审核人批准人修改页码及条款1创建文档     2修改文档     3      4      2.1问题陈述为什么要开发此项目,用此项目解决什么问题2.2要达到的目标对项目的主要功能进行描述2.3具体的分析对本系统用例描述2.3.1.用户角色:用户用例:画用例图需求功能清单:表2.3.1XXXX…功能编号功能名称文中标题编号备注                    (以下是对用户用例的每一个用例的详细描述)1.注册功能描述:新的用户在第一次登陆本网站时,要先进行注册,然后由管理员根据所注册的信息对其进行授权,用户只有在获得相应的授权以后才来登录到本系统,再实现其他的功能。用例描述:图2.3.1参与者:未注册的用户。前置条件:所有未注册的用户。后置条件:提示注册是否成功。2.登录功能描述:在进入本系统之前用于判断登录者的身份和权限。用例描述:YESNO图3.2.2参与者:本网站的合法用户。前置条件:用户已注册。后置条件:登陆成功后将根据用户的不同积分和VCE币显示在住页面上。。。。。。。。。。。。。。。。。。。。。。2.3.3管理员角色:管理员用例:画用例图需求功能清单:表2.3.1功能编号功能名称文中标题编号备注                                    2.3.4管理员登陆功能描述:在进入本系统之前用于判断登录者的身份和权限。用例描述:YESNO图2.3.1参与者:本网站的合法管理员。前置条件:超级管理员已分配权限。后置条件:根据不同的权限执行不同的功能。b)普通管理员添加功能描述:超级管理员根据需求添加不同权限的普通管理员。用例描述:图2.3.2参与者:本网站的超级管理员。前置条件:超级管理员已登陆。后置条件:普通管理员添加成功。。。。。。。。。。。。。。。3)。。。。。。。。。。。。。。第3章XXX系统设计书文件修改记录编号状态日期执笔人审核人批准人修改页码及条款1创建文档     2修改文档     3      4      3.1数据库设计3.1.1实体关系图实体:画所有实体图实体关系:3.1.2数据库设计(对所有表都做如下的描述)tb-member表该表是用来储存用户详细资料的,设计如下:列数据类型是否允许为空描述userNamevarchar(10)否用户名passwordchar(16)否用户密码addressvarchar(50)否用户地址phonechar(11)否用户电话emailvarchar(20)否邮箱地址qqchar(10)否用户QQmsnvarchar(20)否用户msnpointint(4)否用户积分coinint(4)是用户VECBstateint(4)否用户冻结状态3.1.3数据流程图(功能流程图)1.用户主要数据流程图:3.2软件结构图3.2.1用户功能结构图:图3.2.13.2.2管理员功能结构图:图3.2.2…....3.3构架图图3.3.1…....3.4类图3.4.1管理员:图3.4.1…….3.5时序图3.5.1用户:1.用户注册:图3.5.12.用户登陆:图3.5.23.5.2管理员:1.超级管理员图3.5.33.6屏幕设计表3.6.1屏幕名屏幕类型描述表/使用的查询用户登陆Web页面接受用户名、密码和验证密码。tb_memberVCE教育网主界面Web页面显示网站的主要功能,及用户对网站的主要操作。-用户的搜索截面Web页面该界面主要为用户提供网站图书搜索、用户上传图书搜索和课程搜索。还为用户提供高级搜索tb_book、tb_userBook、tb_course在线图书界面Web页面主要为用户提供在线观看,和下载功能。 在线课程界面Web页面主要为用户提供在线观看功能。 用户上传图书界面Web页面为用户提供一个上传自己书籍的界面。tb_course用户手册界面Web页面为用户提供一个查看本网站的帮助。 管理员登陆Web页面接受管理员的资料,判断权限。然后给予不同管理员不同的权限。tb_admin管理员主界面Web页面该界面是管理员的所有的体现。 管理员管理界面Web页面该界面是超级管理员对普通管理员的添加,分配不同的权限。tb_admin课程管理界面Web页面该界面是课程管理员对课程信息的维护(添加、修改)。tb_course图书管理界面Web页面该界面是图书管理员对图书的维护。tb_book页面定制Web页面该界面是超级管理员对网站风格的维护。tb_website注册会员管理界面Web页面该界面是会员管理员对本网站会员的管理。 帐单管理界面Web页面该界面是超级管理员查看打印订单 留言板管理界面Web页面该界面是超级管理员对本网站留言的管理。tb_leaveMsg充值卡管理Web页面该界面是充值管理员查看充值卡和生成本网站的充值卡。tb_card第4章XXX系统安装手册文件修改记录编号状态日期执笔人审核人批准人修改页码及条款1创建文档     2修改文档     3      4      4.1功能4.2系统解决方案:4.3开发平台:4.4使用技术架构:4.5系统资源需求、配置要求:4.5.1硬件环境:Pentium4 2.8MHz以上至少512MB内存(建议使用1G内存)。至少80G硬盘(建议使用160G硬盘)。4.5.2软件环境:操作系统:Windows2000/XPServer防火墙:Netscreen服务器:WebLogic数据库:SQLServer2000通讯协议:TCP/IP浏览器:IE6.0以上版本4.6系统部署、维护要求:第5章XXX系统操作手册文件修改记录编号状态日期执笔人审核人批准人修改页码及条款1创建文档     2修改文档     3      4      5.1用户管理模块操作本模块。。。。。结束语本小组。。。。。。湖南科技职院软件学院项目设计指导记录表姓名 组号 专业 班级 项目选题 指导教师 设计阶段指导意见计划阶段2007年月日需求分析阶段2007年月日设计阶段2007年月日实现阶段2007年月日测试阶段2007年月日收尾阶段2007年月日答辩阶段2007年月日
/
本文档为【项目书(Java程序设计)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索