软件工程课程设计报告范例
- 格式:doc
- 大小:980.00 KB
- 文档页数:33
软件工程课程设计报告题目基于cv的人脸识别匹配学院:信息科学技术学院专业:计算机科学与技术班级: XXX班姓名:王XXX学号: 202415612546报告内容(1)课程设计要求要求:(1)设计背景:随着科技的不断发展,人工智能技术在各个领域得到了广泛的应用。
人脸识别技术作为一种生物特征识别技术,具有高安全性、便捷性和实用性等特点,已逐渐成为现代社会中不可或缺的一部分。
为了提高人脸识别的准确性和实时性,本设计要求基于计算机视觉库(OpenCV)开发一套人脸识别匹配系统。
(2)对采集到的人脸图像进行预处理;(3)提取人脸特征;(4)进行人脸识别匹配;(5)输出识别结果;(6)训练自己的识别图集;(2)相关人工智能方法阐述和数据集(1)利用OpenCV库中的Haar级联分类器,通过加载预训练模型来快速且有效地检测图像中的正面人脸。
在人脸识别的应用中,OpenCV库提供了一系列强大的工具和算法。
我首先采用了Haar级联分类器来检测图像中的面部区域。
这种方法通过加载预训练的Haar级联模型,能够有效地识别图像中的正面人脸。
Haar级联分类器是一种基于机器学习的方法,它通过训练大量的正面和负面图像来创建一个能够识别特定目标的模型。
这个模型是一系列级联的弱分类器,每个分类器都基于图像的Haar特征,即图像中相邻区域的亮度差异。
级联设计允许快速排除非面部区域,从而提高检测效率。
(2)我们使用OpenCV库对灰度图像进行多尺度扫描,通过缩放和进行像素分析,以适应不同尺寸和距离的面部,从而提高人脸识别的准确性。
我运用OpenCV库中的函数对灰度图像进行多尺度扫描,以检测不同大小的面部。
这种多尺度扫描方法通过对图像进行缩放和像素扫描,来查找可能的面部区域。
一旦找到潜在的匹配,它就会使用更复杂的分类器来确定是否真的是一个面部。
这种方法能够适应不同距离和不同尺寸的面部,从而提高识别的准确性。
(3)在人脸识别过程中,提取面部ROI并转换为灰度图像是为了减少计算量,集中处理与人脸相关的关键信息,并加速识别过程。
软件工程课程设计报告.doc一、课程目标知识目标:1. 让学生掌握软件工程的基本概念、原理和方法,理解软件生命周期各阶段的目标和任务。
2. 使学生了解软件需求分析、设计、编码、测试和维护等环节的相关知识。
3. 帮助学生掌握软件项目管理的方法和技巧,了解软件质量保证与评价标准。
技能目标:1. 培养学生运用软件工程方法进行问题分析、设计和实现的能力。
2. 提高学生团队协作和沟通能力,能够撰写规范的技术文档。
3. 培养学生运用软件工具进行项目管理和开发的能力。
情感态度价值观目标:1. 培养学生严谨、认真、负责的工作态度,养成良好的编程习惯。
2. 激发学生对软件工程的兴趣,鼓励学生积极参与课堂讨论和实践操作。
3. 培养学生的创新意识和解决问题的能力,使其具备持续学习和适应发展的素质。
课程性质:本课程为专业必修课,旨在让学生全面了解软件工程的理论体系,培养实际软件开发能力。
学生特点:学生已具备一定的编程基础,具有较强的逻辑思维能力,但缺乏实际项目经验。
教学要求:结合学生特点,注重理论与实践相结合,强调动手能力和团队协作能力的培养。
通过本课程的学习,使学生能够独立完成中小型软件项目的开发。
二、教学内容1. 软件工程基本概念:软件、软件工程、软件生命周期、软件过程模型等。
2. 需求分析:需求获取、需求分析、需求规格说明书编写。
3. 软件设计:总体设计、详细设计、设计模式、UML建模。
4. 编码与实现:编程规范、编码技巧、版本控制、调试方法。
5. 软件测试:测试基础、测试策略、测试级别、自动化测试。
6. 软件维护:维护类型、维护策略、软件演化。
7. 软件项目管理:项目管理概念、进度控制、风险管理、团队协作。
8. 软件质量保证:质量标准、质量保证方法、评审与审计。
9. 实践环节:以小组为单位,完成一个中小型软件项目的开发。
教学大纲安排:第1周:软件工程基本概念第2周:需求分析第3周:软件设计第4周:编码与实现第5周:软件测试第6周:软件维护第7周:软件项目管理第8周:软件质量保证第9-16周:实践环节教学内容关联教材章节:第1章:软件工程概述第2章:需求分析第3章:软件设计第4章:编码与实现第5章:软件测试第6章:软件维护与演化第7章:软件项目管理第8章:软件质量保证与评价实践环节:结合全书内容,进行实际项目操作。
软件工程课程设计报告书1. 引言本报告书是针对软件工程课程设计的项目开发过程中所进行的详细记录和总结。
软件工程课程设计是为了培养学生实际运用软件工程知识和方法进行软件开发的能力,通过实际动手的项目开发过程,使学生加深对软件工程原理和方法的理解和掌握。
本次课程设计的项目选题为xxxx。
2. 项目需求分析2.1 用户需求对于本项目的用户来说,他们希望能够通过这个软件解决某个问题,提供某种服务或者实现某个功能。
2.2 功能需求在进行需求分析的过程中,我们展开了和用户的多次交流,收集到了用户的需求,并对这些需求进行了整理和归纳。
根据这些需求,我们将系统的功能需求进一步细化。
•功能1:xxxxxx•功能2:xxxxxx•…2.3 非功能需求除了功能需求外,系统还存在着一些非功能需求,这些需求对于系统的性能、可用性、安全性等方面有要求。
在需求分析的过程中,我们对这些非功能需求进行了分类和描述。
•性能需求:xxxxxx•可用性需求:xxxxxx•安全性需求:xxxxxx•…3. 系统设计3.1 架构设计在系统设计阶段,我们根据需求分析的结果,进行系统的架构设计。
我们选择了某某架构作为本系统的基本架构,并对各个模块的功能和交互进行了详细的说明。
3.2 数据库设计在系统设计中,我们还进行了数据库的设计。
通过对系统的数据进行建模,设计出符合系统需求的数据库表结构,并定义了各个表之间的关系。
3.3 界面设计在系统设计中,我们还进行了界面的设计。
通过分析用户的操作方式和操作习惯,我们设计了简洁、直观并且易于使用的界面。
4. 开发过程4.1 开发环境在开发过程中,我们使用了xxxxxx作为开发环境,并列出了所需的开发工具和技术栈。
4.2 开发计划在开发过程中,我们根据项目的需求和资源的限制,制定了详细的开发计划。
我们将项目分解为多个子任务,并为每个子任务设定了起止时间和负责人。
4.3 功能实现在开发过程中,我们通过迭代、增量的方式逐步实现系统的各个功能。
软件工程课程设计目录一. 课程设计开题报告 (3)二. 需求分析 (9)三. 动态图和静态类图 (16)动态图 (16)用况描述 (20)静态类图 (22)四. 概要设计 (23)五. 详细设计 (31)六. 测试分析报告 (40)需求分析说明书一.网站设计的功能要求网站设计的总目标是: 在计算机网络, 数据库和先进的开发平台上, 利用现有的软件, 配置一定的硬件, 开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的网站, 目的在于解决当前世界面临的世界饥饿问题呼吁更多的人来关注问题, 早日解决全世界人民的温饱问题。
根据可行性研究的结果和客户的要求, 分析现有情况及问题, 采用Client/Server 结构, 将网站的设计分为两个方面的内容:客户端, 服务器端。
下面分析各个子系统的功能需求:客户端流程图:服务器端流程图1. 客户端子系统:在客户端的功能实现上, 可以分为以下几个部分:[1]用户访问网站:用户可以通过网络搜索到网站, 进入网站的主页面, 在主页面里可以选择接下来的功能, 包括浏览网页, 注册用户, 用户登陆, 发表留言[2]用户浏览网页:用户可以通过主页面, 找到自己感兴趣的新闻, 或者查看当前最新消息及浏览次数最多的新闻, 进行浏览及找到自己需要的新闻。
[3]用户注册:用户可以通过进入主页面后选择注册用户, 请用户输入自己的邮箱及密码, 如果通过系统检查, 则系统提示用户注册成功。
注册后用户登陆后可以享受注册用户的功能。
[4]用户登陆:用户进入主页面后可以选择用户登陆, 用户输入自己的邮箱和密码, 系统检测无误后会自动提示登陆成功。
登陆后用户可以享受一些注册用户的功能, 例如对所看到的新闻发表自己的评论。
[5]用户发表留言:这一功能要在用户登陆的基础上完成, 当用户登陆成功后, 用户再浏览网页就会出现用户对新闻发表自己的看法, 用户发表留言后, 系统会提示留言是否成功。
软件课程设计实验报告(3篇)【导语】软件课程设计试验报告怎么写出亮点?整理了3篇优秀的《软件课程设计试验报告》通用版范文,有规范的开头结尾写法和标准的书写格式。
是您写出深受大家欢迎的综合报告抱负参考模板,盼望对您有所关心。
【第1篇】软件课程设计试验报告一、目的、要求通过该课程设计要使同学树立起剧烈的工程化意识,用工程化思想和方法开发软件。
切实体会出用软件工程的方法开发系统与一般程序设计方法的不同之处,同学在对所开发的系统进行软件方案、需求分析、设计的基础上,实现并测试实际开发的系统。
通过一系列规范化软件文档的编写和系统实现,使同学具备实际软件项目分析、设计、实现和测试的基本力量。
二、主要内容要求同学把握软件工程的基本概念、基本方法和基本原理,为将来从事软件的研发和管理奠定基础。
每个同学选择一个小型软件项目(内容参照《计算机综合实践指导》,宋雨等编著,清华高校出版社出版),根据软件工程的生命周期,完成软件方案、需求分析、软件设计、编码实现、软件测试及软件维护等软件工程工作,并按要求编写出相应的`文档。
详细的方法可以选用传统的软件工程方法或者面对对象的方法,开发环境和工具不限。
三、进度方案略四、设计成果要求1.至少提交4个文档,包括软件方案、软件需求规格说明书、软件设计说明书、软件测试方案,要求文档格式规范、规律性强(可参考《计算机综合实践指导》中给出的要求及格式)、图表规范;2.独自实现了系统的某些功能,基本达到了要求的性能,经过了测试,基本能运行。
五、考核方式(1)提交的文档规范,工作量大,文档规律性强、正确,按《计算机综合实践指导》标准考核(附《软件工程课程设计》试验报告评分表)占60%(2)系统验收、讲解、答辩占25% (3)考勤占15%软件课程设计试验报告【第2篇】应用软件课程设计报告计算机是一门技术性、工程性和应用性很强的学科,教育部高等学校计算机科学与技术教学指导委员会的进展战略讨论报告中也指出:计算机专业的人才应当被分为科学型、工程型、应用型三类,而绝大多数应当是工程型和应用型的。
软件工程课程设计报告引言软件工程是一门涵盖软件开发、维护和管理等方面的学科。
在软件工程课程中,学生将学习使用现代软件工程方法和工具进行软件开发和项目管理。
本报告旨在介绍我在软件工程课程设计中所进行的项目,并总结我在这个过程中所获得的经验和教训。
项目背景项目需求分析在软件工程课程设计中,我选择了一个基于Web的在线商城项目作为我的项目。
该项目的主要目标是创建一个全功能的电子商务网站,用户可以注册、登录、浏览商品、下订单等。
网站管理员可以管理商品、订单和用户信息。
通过实现这个项目,我希望能够提升我的Web开发和项目管理技能。
项目范围和目标该项目的范围涵盖了用户注册、登录、浏览商品、下订单、查看订单信息、管理商品和用户等功能。
项目的目标是创建一个用户友好、功能完善、安全可靠的电子商务网站。
系统设计技术选择在系统设计过程中,我选择了以下技术:1.前端开发:HTML、CSS、JavaScript、Vue.js2.后端开发:Node.js、Express.js3.数据库:MongoDB系统架构整个系统采用了经典的三层架构,包括表现层、业务逻辑层和数据访问层。
前端页面使用HTML、CSS和JavaScript编写,并利用Vue.js框架进行组件化开发。
后端使用Node.js和Express.js开发RESTful API,处理业务逻辑并与数据库交互。
数据库采用MongoDB存储用户、商品和订单等信息。
数据库设计包括了用户、商品和订单等数据模型的定义。
用户数据模型包括用户ID、用户名、密码等字段。
商品数据模型包括商品ID、名称、价格、库存等字段。
订单数据模型包括订单ID、用户ID、商品ID、数量、总价等字段。
通过定义这些数据模型,我能够更好地组织和管理系统的数据。
系统实现前端实现在前端实现过程中,我首先使用HTML和CSS构建了页面的基本结构和样式。
然后,我使用JavaScript和Vue.js框架实现了页面的交互功能。
软件工程课程设计报告摘要:本报告旨在分析和总结软件工程课程设计的过程和结果。
通过对课程设计的详细说明,包括需求分析、系统设计、编码实现、测试和维护等环节,展示了一个完整的软件工程项目的生命周期。
通过这个过程,我深入了解了软件工程的理论和实践,并且提升了自己的技能和能力。
本报告将对我在这个课程设计项目中获得的经验和教训进行总结和反思。
第一章:引言1.1 研究背景和目的在现代社会中,软件已经成为各行各业的核心要素之一。
软件工程作为一门学科,旨在帮助开发人员和团队有效地组织和管理软件项目,以满足用户需求和提高软件质量。
本课程设计旨在通过一个实际的项目,让学生们学习和实践软件工程的基本理论和方法。
1.2 课程设计目标本课程设计的目标是让学生们通过一个完整的软件工程项目,从需求分析到维护的全过程,深入了解和掌握软件工程的基本概念、原理和方法。
通过实际操作,学生们将提高软件开发能力,并培养团队合作和沟通的能力。
第二章:需求分析2.1 项目背景和目标我选择了一个在线购物平台的设计项目作为课程设计的主题。
该项目旨在开发一个用户友好、功能完善的电子商务平台,以便用户能够方便地浏览、搜索和购买商品。
2.2 需求收集和分析通过市场调研、用户访谈和竞品分析等方法,我们确定了以下功能需求:用户注册和登录、商品浏览和搜索、购物车管理、订单生成和支付等。
通过用例图和活动图的设计,我们对系统的功能和交互过程进行了详细描述。
第三章:系统设计3.1 架构设计基于需求分析阶段的结果,我们选择了一个三层架构来设计我们的系统。
这个架构包括展示层、业务逻辑层和数据访问层,以实现系统的松耦合和可扩展性。
3.2 模块设计根据系统的功能需求,我们将系统划分为几个独立的模块,如用户管理模块、商品管理模块、订单管理模块等。
每个模块都有特定的功能和接口,并且可以独立开发和测试。
第四章:编码实现4.1 技术选择在编码实现阶段,我们选择了一些流行的开发技术和工具,如Java 语言、Spring框架、MySQL数据库等。
软件工程设计报告(例子)软件工程设计报告(例子)1. 引言软件工程设计报告是对软件项目进行详细设计的文档。
本报告将介绍一个虚构的软件项目的设计过程,以提供一个示例来说明软件工程设计的步骤和方法。
2. 背景本项目是一个在线图书商城系统,旨在为用户提供方便快捷的图书购买和阅读体验。
用户可以通过该系统浏览图书、下订单、进行支付和阅读等操作。
3. 需求分析在开始设计前,我们进行了需求分析阶段的工作。
通过与用户进行交流和讨论,我们明确了以下关键需求:用户注册和登录图书浏览和搜索下订单和支付在线阅读4. 架构设计在架构设计阶段,我们选择了采用三层架构来实现系统功能。
这包括以下三个层次:表示层:负责与用户交互,展示图书信息、处理用户输入业务逻辑层:负责处理用户请求,进行订单处理和支付等操作数据访问层:负责与数据库交互,包括用户信息、图书信息和订单信息的存取5. 数据库设计为了支持系统的功能,我们设计了以下几个数据库表:用户表:用于存储用户信息,包括用户名、密码和等图书表:用于存储图书信息,包括书名、作者、价格和库存等订单表:用于存储订单信息,包括订单号、用户ID、图书ID 和订单状态等6. 模块设计系统的模块设计包括以下几个关键模块:用户管理模块:负责用户的注册、登录和信息修改等功能图书管理模块:负责图书的浏览、搜索和详情展示等功能订单管理模块:负责订单的、支付和状态处理等功能阅读管理模块:负责在线阅读功能的实现7. 接口设计为了实现系统的各个模块间的通信,我们设计了以下几个接口:用户接口:包括用户注册、登录和信息修改等接口图书接口:包括图书浏览、搜索和详情展示等接口订单接口:包括订单、支付和状态处理等接口阅读接口:包括图书在线阅读和翻页等接口8.通过本报告,我们详细介绍了一个在线图书商城系统的软件工程设计过程。
从需求分析到架构设计、数据库设计、模块设计和接口设计,我们展示了软件工程设计的主要步骤和方法。
希望这个示例能够对读者理解软件工程设计的过程有所帮助。
软件工程课设总结报告5篇(实用版)编制人:______审核人:______审批人:______编制单位:______编制时间:__年__月__日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的实用资料,如工作计划、述职报告、心得体会、发言稿、申请书、作文、工作总结、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor.I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, our store provides various types of practical materials for everyone, such as work plans, job reports, reflections, speeches, application forms, essays, work summaries, and other materials. If you want to learn about different data formats and writing methods, please stay tuned!软件工程课设总结报告5篇总结报告的书写,可以让职场人的工作模式不断更新,完成一篇总结报告,可以有利于我们反思工作中的问题,下面是本店铺为您分享的软件工程课设总结报告5篇,感谢您的参阅。
西安科技大学软件工程课程设计报告题目:学生学籍管理管理系统班级:软件工程1202班学号: 1208010205 姓名:张艳乐李倩魏楠楠王青枝2015年1月目录1绪论 (1)2 需求规格说明书 (1)3 总体设计说明书 (1)4 数据库设计说明书 (8)5详细设计说明书 (9)6系统实现 (11)7测试分析报告 (23)8总结 (34)参考文献1.绪论1.1 选题目的及意义学校的现代化管理中,学生的学籍管理是必不可少的一部分。
学籍管理的内容对于学校的管理是关重要的,所以,学籍管理系统必须要为用户提供必要的信息和快捷的查询功能。
该学生学籍馆管理系统应用软件可以有效地解决高等院校对学生学籍的管理问题,在该系统中,不仅可以对学生的基本信息进行管理,还可以在教师管理页面中为学生添加成绩,以及方便管理员进行管理等功能。
友好的人机交互模式,清晰简明的图形界面,高效安全的操作使得我们对成千上万的信息的管理得心应手。
该学生学籍管理系统采用面向对象方法学的思想,前台采Java程序设计语言编写界面,后台访问SQLsever数据库的模式进行实现。
1.2 系统概述本系统通过JDBC-ODBC桥实现前后台数据的联系,基本上实现了一个学生学籍管理系统所具备的基本功能,本系统把使用者分为三类:管理员、教师,学生,针对三类用户分别设计了各自的主界面,以便更好的实现信息的隐藏性,管理员可以对这个系统进行所有的操作,教师负责录入学生的成绩,学生可以进行查询自己的信息。
1.32.需求规格说明对软件需求完全理解对于软件开发工作的成功是至关重要的,需求说明的任务是发现、规范的过程,有益于提高软件开发过程中的能见度,便于对软件开发过程中的控制与管理,便于采用工程方法开发软件,提高软件的质量,便于开发人员、维护人员、管理人员之间的交流、协作,并作为工作成果的原始依据,并且在向潜在用户传递软件功能、性能需求,使其能够判断该软件是否与自己的需求相关。
西安科技大学软件工程课程设计报告题目:图书馆管理系统班级:软件工程**学号: **********姓名: *******2013年1月目录1绪论 (1)2 可行性研究报告 (1)3 需求规格说明书 (4)4 总体设计说明书 (7)5 数据库设计说明书 (8)6 详细设计说明书 (9)7 系统实现 (11)8测试分析报告 (23)参考文献1.绪论1.1 选题目的及意义随着计算机技术的快速发展,人们对用计算机代替手工管理信息的需求越来越强烈,越来越多的计算机软件如雨后春笋般的应用于人们生产生活的各个领域,为人们提供各种各样的便利。
本图书馆管理系统应用软件可以有效地解决高等院校、中小学图书馆由于藏书量增大而带来的管理问题,图书馆管理员可以更好地管理学校图书馆藏书信息,学生可以更方便地享受借书还书的服务,为更有效地学习知识提供有利的保证。
对于我来说,选择这个题目作为课程设计的题目有以下两个原因:一是因为自从上大学以来,每当在图书馆借书的时候,我都会留心观察一下图书馆管理员的那台计算机上显示的内容,久而久之,就对本系统的基本流程越来越了解,做好一个软件的前提是必须对这个软件的功能和原理非常熟悉,相比别的题目,我对这个题目更加了解;二是本学期通过学习Java程序设计和Oracle数据库课程,我觉得这个题目虽然没有那么难(涉及算法的内容很少),但也不是轻而易举就能完成的,所以我想挑战一下自己,看看自己的实现能力到底怎么样,因此决定用面向对象方法学的思想,前台用Java程序设计语言编写界面,访问Oracle数据库中的数据,完成本系统。
1.2 系统概述本系统通过JDBC-ODBC桥实现前后台数据的联系,基本上实现了一个图书馆管理系统所具备的基本功能,本系统把使用者分为三类:超级管理员、普通管理员、读者,对三种用户分别设计了各自的主界面,以便更好的实现信息的隐藏性,超级管理员可以进行这个系统所有操作;管理员只能执行超级管理员的基本功能,查看自己的信息;读者只能查看自己的信息,对自己当前借书进行挂失和续借两种操作,查询图书馆的藏书。
2.可行性研究报告2.1 编写目的本报告编写目的在于研究图书馆管理系统应用软件是否可行,指出本软件开发所使用的方法和手段,并对该软件前景进行分析。
本报告的预期读者是:高等院校、中小学图书馆管理人员、程序设计人员、以及对图书馆管理系统感兴趣的爱好者。
2.2 相关背景工程名称:图书馆管理应用软件工程产品名称:高校图书馆管理系统应用软件工程的组织者:西安科技大学计算机学院软件工程系产品用户:高校图书馆、中小学图书馆;产品的生产者:西安科技大学计算机学院软件工程062班袁震;产品设计者:西安科技大学计算机学院软件工程062班袁震;2.3 可行性研究的前提本图书管理系统在功能上要求完成以下基本功能:a).读者、管理员登陆;b).借书;c).还书;d).续借;e).图书挂失;f).历史记录查询;g).新书入库;h).读者登记及修改个人信息;本系统在性能上力争达到响应时间短,具有一定的容错能力,力争减少由用户直接输入数据,绝大多数据的输入都用可以选择的形式让用户进行选择。
本系统预计有如下输出:a).登陆成功显示:成功则进入主界面;失败则重新输入;都要给出相应的提示;b).借书成功显示:显示借书是否成功,如成功,记录插入数据库,失败说明错误原因,返回借书界面;c).还书成功显示:显示还书是否成功,如成功,修改数据库多项记录,失败说明错误原因,返回主界面;d).续借成功显示:显示续借是否成功,如成功,修改数据库记录,失败则说明错误原因,返回主界面;e).图书挂失成功显示:成功则提示用户需要赔偿的价钱,并禁止该用户再借书,直到交了罚款为止;f).历史记录查询:管理员可以查询所有记录,用户只能查询自己的借还书记录;显示这些记录;g).新书入库成功显示:显示新书入库是否成功,成功则向数库插入数据,失败给出错误提示,返回主界面;h).读者登记成功显示:显示读者是否成功注册,成功则向数据库插入数据,失败给出提示,返回主界面;i).修改个人信息成功显示:显示个人信息是否成功修改,成功则修改数据库中的数据,失败则给出错误提示,返回主界面;本系统预计有如下数据输入:a).登陆系统时需要输入用户名和密码,选择用户类型;用户名、密码、和用户类型均为字符型;b).借书时需要选择用户编号和书的编号,均为字符型;c).还书时需要选择用户名和书的名字,均为字符型;d).续借时,需要选择书的编号,为字符型;e).挂失时,需要选择书的编号,为字符型;f).新书入库时,需要输入书的编号、名字、类别、价格、当前剩余藏书量、入库日期;其中入库时期为系统当前时间,价格为双精度浮点型,当前剩余藏书量为整型,其余均为字符型;g).读者登记时,需要输入读者的编号、名字、密码、当前最大可借书量,当前状态(0或1),0为未激活,1为激活;其中当前最大可借书量为整型,其余为字符型;h).修改个人密码时,需要提供一次原密码和两次新密码;均为字符型;本系统基本系统模型如图2-1所示:图1-1图书管理系统基本系统模型通过图1-1.,我们可以发现该系统的数据源是读者和图书馆管理员;读者处理的事务只有修改个人密码、续借、图书挂失,其余事务均由图书馆管理员来处理;数据终点是读者,意味着所有处理最后都要由读者确认,这种确认可以是某种操作,也可以是管理员的一句提示。
本系统的完成期限为16天(即2008年12月22日到2009年1月7日)。
2.4 目标本图书管理系统的主要开发目标为:a).实现图书管理的便捷程度;b).在完成数据库连接的基础上,适当提高查询速度和访问效率;c).在完成基本功能的基础上,减少代码量,提高工作效率;2.5 进行可行性研究的方法本系统可行性研究是通过走访大学图书馆的方式进行的,通过走访西安科技大学图书馆和陕西航天职工大学图书馆,对两校现有图书管理系统进行调查、了解,分析得出本系统应实现的基本功能,本系统根据两校图书馆管理系统进行相应的模仿的基础上,添加了一些自己的功能。
2.6 评价尺度本系统在评价时应从以下几个方面进行分析:开发时间要尽量短;各个功能实现代码要尽量少;访问数据库的效率要尽量高;用户使用过程中容错能力要很强;2.7 对现有系统的分析通过对西安科技大学图书馆管理系统的分析,由于该系统是专业软件公司所为,基本上没有什么太大的问题,就是有时候会出现响应时间过长的问题,原因可能是访问数据库效率过低,所以本系统着重提高访问数据库效率的问题,在功能上尽量模仿上述系统。
因此有必要对现有系统进行修改。
现有系统的主要工作为处理借还书,新书入库,读者登记,读者信息修改,读者挂失等业务。
现有系统最大局限性就是响应时间过慢,数据存储能力不足,由于使用时间很长,源代码无法找到,所以需要对该系统进行重新设计,以适应社会的需要。
2.8 所建议使用的系统本图书管理系统采用面向对象的分析方法进行分析,然后用面向对象的设计方法进行设计,最后用面向对象语言Java进行实现,后台数据库使用Oracle,连接方式为JDBC-ODBC。
Java中GUI程序设计本身就是界面程序设计,用它设计出来的界面不但美观,而且使用方便,使用者只需点几次鼠标,就能根据提示进行正确的操作,实现了图书管理的便捷程度;由于Java代码重用性非常好,加上本系统部分代码我可以用别的程序代码稍微做一些修改就可以实现功能,因此可以实现降低代码量的目的;Oracle数据库是目前市场上通用数据库之一,查询速度本身就非常多,再加上我会在代码中尽量避免多表连接查询和处理语句的使用,所以可以真正起到提高查询效率的目的。
本系统局限性可能来自以下几个方面:a).界面不美观;b).部分功能无法实现;c).访问效率很低;d).容错性不够;对于a),我觉得我们应该注意力放在功能及代码的效率上,而不是去追求一个优秀的界面,对于界面,只要能看得过去就行;对于b),我尽量避免这个的发生,因为它是一个程序员水平的标尺,尽可能的用自己最大努力做出尽可能多的功能是我的目标;对于c),尽量减少多表连接操作的次数,应该就可以尽可能的提高访问效率了。
对于d),这个是需要大量测试才能发现的,由于时间关系,不可能把所有的情况考虑完全,只能尽可能多地去考虑周全点,尽可能的把所有问题都考虑到。
2.9 技术条件方面的可行性按照目前的技术水平,本系统的功能目标是可以达到的,该系统的功能是可以实现的,在规定的期限内,本系统可以开发完成。
2.10 法律方面的可行性由于这个系统只供学习研究使用,不涉及任何商业行为,因此,该系统从法律方面是可行的。
2.11 使用方面的可行性本图书管理系统是为学校图书馆开发的,从学校图书馆日常流程的角度来看,是可以使用该软件系统的;经过我们的调查,我们发现学校图书馆管理人员是有一定的计算机操作水平的,经过短期的培训,是可以熟练掌握本系统的使用细则的。
2.12 结论由上面的内容我们可以得到如下研究结论:本图书馆管理系统可以立即开始进行。
3.需求规格说明书对软件需求完全理解对于软件开发工作的成功是至关重要的,需求说明的任务是发现、规范的过程,有益于提高软件开发过程中的能见度,便于对软件开发过程中的控制与管理,便于采用工程方法开发软件,提高软件的质量,便于开发人员、维护人员、管理人员之间的交流、协作,并作为工作成果的原始依据,并且在向潜在用户传递软件功能、性能需求,使其能够判断该软件是否与自己的需求相关。
3.1 编写目的为开发人员,维护人员,客户之间提供共同的协议而创立基础,对图书馆管理系统软件功能的实现做一全面的描述;本说明书预期读者为客户、业务或需求分析人员、测试人员、文档编写者、项目管理人员;3.2 任务概述本图书管理系统仅供学习、研究之用,应用目标是让使用该软件的用户感觉轻松、愉快的完成本系统的各个功能模块,给以客观公正的评价。
本软件的灵感来源于本人长期使用本校的图书馆管理系统,对其结构和功能有了一定的了解,所以就产生了自己模仿一个的想法。
由于本软件是模仿其他类似软件开发的,所以只能供学习、研究之用。
|本软件终端用户应该是图书馆管理人员,各个年龄层次的读者。
对于图书馆管理人员来说,应该对这个软件的流程很熟悉,所以本软件在设计时尽量追求可操作性和简洁大方的人机界面的设计,力求尽量减少用户直接输入性东西,大量使用可选框。
对于读者,本软件将为其设计更加方便的界面,尽量不使用直接输入性信息,追求操作的最简单化。
由于本软件只供学习和研究之用,所以不存在预期使用周期。
3.3 需求规定通过对学校图书馆管理系统的使用和跟有关人员的访谈,我初步认为该系统应该有以下功能约定:1).每个读者最多在借数目为5;2).每种书只剩一本时,禁止外借;3).读者编号是10位数字,初始密码和编号相同,提示读者修改密码;4).管理员编号是5位数字,初始密码和编号相同,提示管理员修改密码;5).当读者挂失图书且未缴纳罚款时,禁止该读者借阅续借和挂失其他图书,直到罚款交齐为止;6).尽可能多的用可选项代替文本框,减少人为输入错误发生的概率;7).当可选项为编号时,为了方便查阅详细信息,设置按钮显示其详细信息;8).读者界面应该显示读者当前在借图书的详细信息;9).为了方便读者查询,应该提供多种查询图书的方式;10).图书挂失后,读者应该缴纳三倍书价的罚款作为赔偿;11).修改密码时,应提供原密码作为验证,两次输入新密码;12).用户登陆时,需根据用户身份,进入各自的主界面;通过对以上功能约定的分析,我将这个系统分为以下11个模块,它们分别是登陆模块、添加管理员、读者、书籍信息模块、借书模块、还书模块、续借模块、图书挂失模块、挂失处理模块、修改个人密码模块、删除操作记录、读者信息模块,查询图书模块等等。