毕业设计(论文)
开 题 报 告
1 选题的背景和意义
随着计算机软件技术的发展,软件的规模和复杂度不断增加,软件开发中的问题也不断出现,导致开发的软件往往成本高、效率低。具体体现在:
(1) 紧密性:软件组成部分相互联系紧密,很难将各组成部分分解成为重用组件。
(2) 僵化性:对软件中部分软件进行改动,都会导致软件其他部分的改变。
(3) 复杂性:建立软件中的各部分之间紧密的联系,会导致软件结构变得复杂。
(4) 冗余性:设计中包含可以使用单一的抽象进行统一的重复的结构。
(5) 不一致性:复杂的软件结构会影响软件运行速度;会导致数据或处理不一致。
(6) 晦涩性:很难阅读、理解,没有很好的表现出意图。
因此,如何提高软件开发的可维护性、可扩展性和可复用性,能够很好的应对需求的变化,做到“随需而变”,是解决上述软件问题和提高软件生产效率和质量的有效途径。
1.1 选题的背景
随着Web技术的日益成熟,基于B/S模式的多层Web体系结构得到了广泛的应用。但是,开发Web应用系统面临着许多复杂的问题,例如,程序可复用程度低、系统过分依赖运行平台以及维护工作繁琐等不足。因此,如何提高软件系统的可维护性、可扩展性和可复用性是面向对象技术所要解决的核心问题。
近年来,Web程序逐渐成为主流,而在Java世界中更是如此。虽然JSP/Servlet可以很好地完成Web程序,但它们并不适合开发更大的Web程序。因此,各种用于辅助开发的框架大量涌现,目前最著名的有Struts、Hibernate和Spring。这三个框架分别在各自的领域中发挥着作用,如果将它们组合起来使用,效果更为明显。
1.2 国内外研究现状及发展趋势
在Web服务端,20##年以后出现了几种主要的技术融合方式,越来越多的Web开发环境开始支持MVC设计模型,为开发者提供了全套的开发框架。
Struts,作为MVC框架的一个最成功的实现,它被业界广泛使用,具有庞大的用户基础,并且主流的开发工具(如JBuilder、Eclipse等等)对Struts的支持也非常完备。另一方面,数据库对象关系映射(Object Relational Mapping,ORM)技术不仅完成了对Java数据库连接(Java Database Connectivity,JDBC)的轻量级封装,并且在数据库移植方面更是做到了令人满意的效果。此外,Spring是一个服务于所有层面的应用框架,允许开发者根据需要选择使用它的部分模,Spring的核心是IoC(控制反转)和AOP(面向切面编程),很容易实现Bean的装配和事务管理等特性;同时它对不同的数据访问技术提供了统一的接口。Spring + Hibernate + Struts已成为Java开发的主流体系。
基于J2EE的轻量级框架作为传统EJB架构的替代品,发展非常迅速。轻量级框架所采用的依赖注入(IoC)、面向接口编程(AOP)逐渐发展为面向对象的主流开发方法,对软件开发产生了重大影响。目前,基于Web应用的轻量级框架主要朝着3个层面发展:表示层,典型代表是Struts、Webworks、JSF;业务层,典型代表是Spdng、Hivemind、PicoContainer;数据持久层,典型代表是Hibernate、iBatis。它们完全涵盖了应用程序的所有方面,轻量级J2EE框架技术的研究也成为了国内外研究的热点之一。
2 研究的基本内容
本次毕业设计主要研究的内容包括:
(1) 选择以及搭建系统的体系结构;
(2) 研究Struts框架、Spring框架和Hibernate框架的特点以及具体的应用,并整合三种框架开发一个图书馆管理系统;
(3) 分析图书馆管理系统中数据对象,并进行类图设计;
(4) 实现任务书中指定的图书馆管理系统功能,前台包括读者登录注册、搜索图书信息、续借图书以及阅读图书馆信息;后台包括用户身份验证、图书管理、读者管理以及系统管理员管理。
2.1 基本框架
图书馆管理系统需要实现的功能包括前台功能和后台功能(如图2.1和图2.2所示)。
图2.1 系统前台用例图
图2.2 系统后台用例图
系统各用例说明如下所示:
(1) 验证读者身份、验证图书管理员身份以及验证系统管理员身份
系统提供各用户的入口,用户登录后,才能执行权限范围内允许的各项操作。验证用户身份后,系统应进行判断并给出相应的提示信息或登录失败信息。
(2) 借阅图书馆信息与搜索图书信息
为读者提供信息搜索服务。读者无须身份验证就可以搜索图书和图书馆信息。
(3) 修改读者个人信息
在验证读者身份后,读者可以修改自己的个人信息,并进入读者已借图书页面。
(4) 续借图书
当读者成功登录后,会进入显示读者已借图书页面,同时该书的续借权限将取消。
(5) 管理图书信息、维护图书信息与添加图书信息
图书管理员登录成功后,可以进入管理信息页面,包括删除、修改或添加信息。
(6) 管理图书分类、维护图书分类与添加图书分类
图书管理员登录成功后,可以进入管理图书分类页面。包括删除、修改或添加图书分类信息。
(7) 管理读者信息、删除读者信息与添加读者信息
图书管理员登录成功后,可以进入管理读者信息页面,管理员对读者只能进行添加和删除操作,修改个人信息只能由读者自己操作。
(8) 管理读者类型、维护读者类型以及添加读者类型
图书管理员登录成功后,可以对读者类别进行删除、修改和添加操作。
(9) 管理图书借阅、借阅图书、归还图书、提醒到期图书与查阅借书历史
图书管理员登录成功后,可以查阅读者和图书借阅信息,并提醒用户及时归还到期图书。
(10) 管理管理员信息、添加图书管理员和系统管理员信息、维护图书管理员和系统管理员信息
系统管理员拥有这几个用例的使用权限。具体的实现过程与管理图书信息、维护图书信息以及添加图书信息这组用例类似。
图书馆管理系统共有9个实体:读者实体reader_t、读者类型实体readertype_t、图书管理员实体operator_t、系统管理员实体admin_t、图书实体book_t、图书分类实体booktype_t、图书编号实体bacrcode_t、借还书实体borrow_t以及图书馆liberInfo_t实体。系统中主要实体之间的联系如图2.3所示。
2.2 研究的重点和难点
系统主要研究的重点和难点包括:
(1) 将系统设计分成三层:表示层、业务逻辑层以及数据层,利用HSS架构中各个框架进行设计与实现,并实现框架之间的无缝隙连接;
(2) 明确系统中需要处理的数据对象,并进行类图设计和对象设计;
(3) 进行数据库设计,包括数据库概念设计、逻辑设计以及物理设计。
2.3 拟解决的关键问题
系统拟解决的关键问题包括:
(1) 通过配置XML文件,实现SSH中三个框架的整合;
(2) 确定类之间的联系方式,并进行类设计和消息设计;
(3) 采用UML实现系统的整个设计过程。
图2.3 系统中实体之间关联关系示意图
3 研究的方法及措施
采用面向对象方法,包括:
(1) 面向对象分析:论域分析和应用分析。论域分析建立大致的系统实现环境,而应用分析则根据特定应用的需求进行分析。
(2) 面向对象设计:系统设计、对象和类设计以及消息设计。系统设计主要是体系结构设计和软件结构设计;对象和类设计是定义系统类及类之间的关系;消息设计则是使用对象间的协作和对象-关系模型设计消息模型。
(3) 面向对象编程:利用一种或多种面向对象语言,具体实现软件各项功能。
4 预期成果
此次毕业设计预期结果为《基于SSH框架的图书馆管理系统论文》以及图书馆管理系统源代码。
5 研究工作进度计划
毕业设计必须在教学16周内完成:
(1) 第1周~第4周:了解和收集与课题相关的材料信息,完成开题报告、文献综述和外文翻译电子稿,并进行开题报告答辩;
(2) 第5周~第8周:进行面向对象设计,包括体系结构设计、软件结构设计以及数据库设计;
(3) 第9周~第12周:进行面向对象编程,完成实现软件各个功能的源代码编写;
(4) 第13周~第14周:进行面向对象测试,完成软件各个功能的集成测试,并进行系统优化;
(5) 第15周~第16周:编写毕业设计论文,进行论文答辩。
论文的书写可以穿插在系统开发过程中。
第二篇:图书馆管理系统开题报告
Wuhan Polytechnic University Industrial &Commercial College
本科毕业论文(设计)
开题报告书
题 目: 图书馆管理系统的设计与实现 系 部: 信息工程系
专业年级: 计科0801
姓 名: 学号:
指导老师: 职 称: 讲师
二○一一 年 十一 月 十五 日
武汉工业学院工商学院本科毕业论文(设计)开题报告书
学院(系):信息工程系