总结1221
软件构造
软件构造实验作业
实验名称:
班级:信2105-2 学号: 20213849 姓名: 王宇轩
实验一:百度机器翻译SDK实验
一、实验要求
调用百度机器翻译接口,实现中英文转换
二、实验步骤
任务一:
下载配置百度翻译Java相关库及环境(占10%)。
1,创建应用,获取key
2,安装并导入工具类
3,调用百度翻译接口并将自己的key复制上去
任务二:
了解百度翻译相关功能并进行总结,包括文本翻译-通用版和文本翻译-词典版(占20%)。
百度翻译依托海量的互联网数据资源和领先的机器翻译技术,上线全球首个互联网神经网络翻译系统,支持200多个语种互译,覆盖4万多个语言方向,日均响应千亿字符翻译请求,致力于帮助用户跨越语言鸿沟。
文本翻译通用版是百度翻译依托领先的自然语言处理技术推出的在线文本翻译服务,可支持中、英、日、韩等200+语言互译,100+语种自动检测。
词典版在文本翻译-通用版的基础上,提供词典资源和语音合成资源。词典资源 词典分中英词典,由于每个词属性不同,词典结果不一定包含所有部分。 如源语言为中文,词典数据包括:拼音、词性、中文释义、英文释义、近义词等资源。 如源语言为英文,词典数据包括:英文释义、中文释义、音标、核心词汇类别等。
任务三:
完成百度翻译相关功能代码并测试调用,要求可以实现中文翻译成英文,英文翻译成中文(占30%)。
任务四:
完成百度翻译GUI相关功能代码并测试调用,要求可以实现中文翻译成英文,英文翻译成中文(占30%)。
1,中译英
2,英译中
三、实验总结
1,完成了一个基于百度机器翻译api接口的翻译小程序界面,实现了汉译英以及英译汉的功能,可以翻译单词和语句。
2,通过本次实验,学习和了解了相关接口的调用、功能实现以及GUI界面的简单设计,简单实践了GUI相关技术的应用。
3,本次实验制作的小程序界面仍然过于简陋,功能较少,对于GUI相关技术的使用还不是很熟练,希望在后续的学习中可以加强完善。
实验二:百度图像增强与特效SDK实验
一、实验要求
完成一个基于百度图像增强与特效接口的小程序,可以实现相应的功能。
二、实验步骤
任务一:
下载配置百度图像增强与特效的Java相关库及环境(占10%)。
1,创建应用获取API
2,下载SDK
3,安装导入工具类
4,调用百度图像增强与特效接口
任务二:
了解百度图像增强与特效相关功能并进行总结(占20%)。
百度图像增强与特效相关的功能主要涉及到百度的PaddlePaddle深度学习框架和一些相关的图像处理技术。
以下是百度图像增强与特效相关的功能概述:
PaddlePaddle深度学习框架:
百度的深度学习框架 PaddlePaddle 提供了丰富的图像处理工具和模型,使开发者能够轻松进行图像增强和特效处理。
PaddlePaddle支持图像处理任务的端到端深度学习解决方案,包括图像分类、目标检测、语义分割等。
风格迁移:
风格迁移是一种图像特效技术,它允许将一种图像的艺术风格应用于另一种图像。百度的PaddlePaddle框架可能提供了相应的模型和工具用于风格迁移。
超分辨率:
超分辨率技术通过提高图像的分辨率,使图像更加清晰。百度可能提供了一些深度学习模型用于超分辨率图像处理。
图像去噪和增强:
百度可能提供了用于去噪和增强图像的深度学习模型和算法。
GAN(生成对抗网络)应用:
生成对抗网络是一种强大的图像生成技术,可以用于创造逼真的图像。百度可能在图像特效领域使用了GAN来生成具有艺术性质的图像。
任务三:
完成图像增强GUI相关功能代码并测试调用,要求上传自己的模糊照片进行图像增强(占30%)。
任务四:
完成图像特效GUI相关功能代码并测试调用,要求上传自己的照片进行图像特效(占30%)。
三、实验总结
1,通过连接百度图像api接口,实现了人像动漫化以及图像增强的相关功能,并设计了GUI界面。
2,更加深入的了解了百度云服务的相关接口以及GUI相关技术知识的使用。
3,设计的GUI界面仍然相当简单,难以把握并处理更加复杂的功能界面,需要之后的学习中继续加强。
实验三:JFinal极速开发框架实验
一、实验要求
根据参考资料,学习JFinal极速开发框架的使用并如下任务:
二、实验步骤
任务一:
了解Maven及其使用方法,总结其功能作用(占20%)
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用Maven 的比例在持续增长。Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来简化构建过程。当时有一些项目(有各自Ant build文件),仅有细微的差别,而JAR文件都由CVS来维护。于是希望有一种标准化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一种简单的方式在多个项目中共享JARs。
任务二:
学习JFinal框架,基于Maven建立JFinal工程,并对JFinal框架功能进行总结介绍(占30%)
1,下载安装maven
Maven下载地址:https://maven.apache.org/download.cgi
2,解压
3,创建本地仓库 命名:repository
修改conf目录下的settings.xml,将地址保存到本地仓库
4,配置环境变量
在Path中添加 %MAVEN_HOME%\bin
5,测试
任务三:
基于JFinal完成一个简单的学生信息管理系统(要求实现学生信息的增删改查)(占40%)
删除
修改
增加
三、实验总结
这次实验接触了新的框架,使用新的开发框架jfinal,刚开始接很不熟悉,用了很大的力气才将项目导入进来,后来想通过命令进行打包和运行,但是一直报错,这个以后会再尝试。刚开始运行项目的时候,没有注意到_MappingKit写学生的信息,就一直报错。通过学习博客项目,最后完成了这次学生信息管理系统,过程很不是很顺利但是成功了。通过这次作业我收获了一种新的框架的使用方法,了解到了jfinal框架的结构,丰富了自己的知识。
大作业:
题目来源:“软件杯”程序设计大赛
写清题目要求:
|
赛题简介:介绍整个赛题的实现目标、实用价值、涉及技术和整体要求 |
实现支持人脸识别的会议签到系统,方便参会人员高效签到,提高会议签到的安全性。采用深度学习进行模型训练以提高识别准确率,需要设计并优化相关的人脸识别算法 |
|
赛题业务场景:描述赛题相关的真实企业业务背景。从真实场景中,适当简化或者提炼出适合比赛的赛题场景 |
会议签到功能作为会议场景中重要的一个环节,需要拥有便捷性、安全性、高效性等。系统应提供基本的会议管理功能,包括会议申请、参会人管理等,参会人信息可以预先通过人脸或照片进行录入,录入成功后,参会人即可进行人脸识别签到。重点关注同一个人在不同条件下的识别情况以及采用深度学习算法后的识别效果提升。 能够模拟建会,包含参会人员人脸录入,人脸识别签到过程等。 |
|
基本功能要求 |
1、支持基本的会议管理功能,包括会议申请、开始会议、会议签到、结束会议等。 2、支持参会人信息管理,参会人信息可以预先进行人脸录入或照片录入。 3、会议开始后,参会人可以通过人脸识别进行签到,签到成功后系统可及时变更参会人员签到状态,如签到失败,也可通过手动签到等其它方式进行补签。 4、会议结束后,可以对参会人签到情况进行统计,包括签到人数、签到方式等。 5、其它可拓展的会议相关功能 |
|
非功能性要求 |
1、可支持一定的参会人并发签到。 2、人脸识别准确率高于70%。 3、人脸识别响应速度小于5s。 |
|
实现条件:开发环境、实验平台、开发语言、数据库、编译器、涉及硬件等实现条件 |
开发语言采用Java,数据库采用mysql,可使用电脑自带的摄像头进行图像采集。 (2022.4.1更新)允许采用python等语言进行模型的训练,参会端除了使用pc外也可使用安卓、ios。如采用pc形式,该系统属于B/S架构,通过浏览器访问参会;如采用安卓,ios等移动端,需要另外开发移动端app。 |
|
测试数据或平台:提供给参赛者的测试环境和测试数据 |
可采用百度、阿里、腾讯等的人脸识别sdk |
|
开发所需设备及设备指标需求说明 |
使用现有的普通PC开发即可 |
|
文档及其他要求 |
提供完整的软件开发文档以及使用说明书 |
|
各评分项及大致占比 |
1、会议管理功能(10%) 2、参会人员管理功能(10%) 3、人脸识别签到功能(50%) 4、深度学习优化人脸识别效果(30%) |
|
初赛作品提交要求 |
1、可运行程序包 2、项目源码 3、相关文档(要求见上文“文档及其他要求”) 4、演示视频(7分钟以内) |
附上官网赛题地址:http://www.cnsoftbei.com/plus/view.php?aid=701
测试计划:测试目标
1.确保软件系统能够满足用户需求,并且功能正确稳定;
2.确保软件系统可以顺利部署上线,并且性能和安全符合预期。
测试内容
单元测试
1.针对各个功能模块实现自动化单元测试,确保代码质量稳定可靠;
2.针对各个函数的输入输出进行完整覆盖测试;
3.对注册、登录、人脸录入、人脸识别打卡等核心功能模块进行测试。
集成测试
1.确保各个功能模块之间的互相调用关系正确无误;
2.对数据存储、API接口、第三方库等进行集成测试。
性能测试
1.针对服务器的并发访问量进行压力测试;
2.模拟不同规模的用户同时使用系统,观察系统响应时间以及处理能力;
3.测试系统的容错性和稳定性。
安全测试
1.对用户注册信息、人脸数据、打卡记录等关键数据进行加密存储测试;
2.对系统进行漏洞扫描和安全攻击模拟测试,以确保系统安全性。
测试计划
1.阶段一:单元测试。在开发各个功能模块时,对每个函数进行单元测试,保证代码质量和功能的正确性。
2.阶段二:集成测试。在开发完成各个功能模块后,对不同模块之间的接口和调用关系进行集成测试,确保代码和模块的互相兼容。
3.阶段三:性能测试。在系统完成基本开发后,进行并发压力测试,测试系统的处理能力和稳定性。
4.阶段四:安全测试。对系统进行漏洞扫描和攻击模拟测试,并加强系统的安全性。
5.阶段五:验收测试。在整个系统开发完成并且完成部署上线前,进行全部功能的综合测试,以确保系统符合用户需求。
软件概要计划说明书:
软件名称:人脸打卡系统
开发者:说的道理团队
版本号:2.0
目标用户:企业、学校等需要打卡管理的机构
功能概述:
本软件旨在提供一种便捷、快速的打卡解决方案,支持用户注册以及录入人脸信息,支持用户使用人脸识别打卡,管理员可以进行打卡查询,删除用户注册信息。
主要模块:
用户管理模块
该模块包括用户注册、登录、修改个人信息、上传人脸照片等功能。用户注册时需填写基本信息(如姓名、工号/学号、部门/班级等),并上传清晰的人脸照片,系统将对照片进行处理,并提供反馈信息。
打卡模块
该模块提供用户使用人脸识别打卡的功能,系统将自动识别用户身份,查询其最近一次打卡记录,若符合规定时间范围内打卡,则成功打卡并记录时间,否则提示打卡失败。
管理员模块
该模块提供管理员对用户信息、打卡记录的管理功能,管理员可查询指定时间范围内的打卡记录,查看某一用户的打卡情况,以及删除用户注册信息。
数据库模块
该模块用于存储用户信息、打卡记录等数据,包括用户基本信息、打卡时间。
技术实现:
本软件使用人脸识别技术实现打卡功能,采用深度学习框架Tensorflow搭建人脸识别模型,利用OpenCV库进行图像处理和特征提取。同时,借助MySQL数据库管理系统存储用户信息和打卡记录等数据。
总结:
人脸打卡系统是一款方便快捷的打卡解决方案,能够有效提高企业和学校等机构的管理效率,并且通过人脸识别技术对打卡过程进行自动化处理,减少了人为操作的风险,具有很好的实用价值。
软件详细计划说明书:
软件名称:人脸识别打卡系统
一、引言
人脸识别技术在现代生活中得到了广泛应用,其中之一是考勤管理。为了方便企业和组织进行考勤管理,本软件应运而生。该软件可以实现用户注册、人脸信息录入、人脸识别打卡等功能。同时,管理员可以查询打卡记录并删除用户注册信息。
二、功能需求
用户注册功能: 用户可以通过输入姓名、性别、手机号等信息注册账号,并上传自己的人脸照片。
人脸信息录入功能: 用户登录后可以对已上传的人脸照片进行信息录入,包括添加备注等功能。
人脸识别打卡功能: 用户通过人脸识别进行打卡,系统会自动记录打卡时间、位置等信息。
打卡记录查询功能: 管理员可以查询指定时间段内的打卡记录,包括打卡时间。
删除用户注册信息功能: 管理员可以删除指定用户的注册信息及其所有打卡记录。
三、模块设计
用户模块: 包括用户注册、登录、修改密码等功能。
人脸信息管理模块: 包括人脸信息上传、信息录入、修改、删除等功能。
考勤打卡模块: 包括人脸识别打卡、打卡记录查询等功能。
管理员模块: 包括管理员登录、用户信息管理、打卡记录查询及删除等功能。
四、界面设计
用户登录界面: 用户输入账号和密码,点击“登录”按钮进入系统。
用户注册界面: 用户填写注册信息,包括姓名、用户名等,并上传人脸照片。
人脸信息录入界面: 用户在已上传的人脸照片上添加备注等信息。
人脸识别打卡界面: 用户通过摄像头进行拍照打卡。
打卡记录查询界面: 管理员可以选择时间段查询指定用户的打卡记录。
用户信息管理界面: 管理员可以浏览、修改、删除用户注册信息。
五、数据结构设计
用户表:用于存储用户注册信息,包括姓名、性别、手机号、账号、密码等。
人脸信息表:用于存储用户上传的人脸照片及其相关信息。
打卡记录表:用于存储用户的打卡记录,包括打卡时间、位置等信息。
六、技术选型
人脸识别算法: 本软件采用百度库中的人脸识别算法。
数据库: 本软件采用手机数据库进行数据存储。
前端开发: 本软件采用xml等前端技术进行开发。
后端开发: 本软件采用java作为后端开发语言。
七、安全性设计
数据库安全: 对数据库中的用户密码进行加密存储,使用MD5等加密算法保障用户信息安全。
账号安全: 保证每个账号只能由一个用户使用,并设置密码复杂度要求,增加账号安全性。
权限管理: 管理员可以查看和删除用户信息,但不能修改用户注册信息,保障用户信息的安全性。
项目开发计划:
阶段一:需求分析和设计(2周)
任务列表
确定项目范围和目标
收集用户需求并分析
设计软件系统架构和功能模块
编写技术规格文档
交付成果
项目范围和目标定义文档
用户需求分析报告
软件系统架构和功能模块设计文档
技术规格文档
阶段二:开发和测试(4周)
任务列表
构建用户注册功能模块
构建人脸录入功能模块
构建人脸识别打卡功能模块
构建管理员查询和删除用户信息功能模块
编写自动化单元测试和集成测试
进行性能测试和负载测试
交付成果
用户注册功能模块代码
人脸录入功能模块代码
人脸识别打卡功能模块代码
管理员查询和删除用户信息功能模块代码
自动化测试用例和测试报告
性能测试和负载测试报告
阶段三:部署和上线(2周)
任务列表
部署软件到生产环境
进行线上测试和验证
上线软件并提供技术支持
交付成果
部署脚本和文档
线上测试和验证报告
软件正式上线
阶段四:维护和优化(长期)
任务列表
固定时间对系统进行监控和维护
收集用户反馈,持续改善软件体验
优化系统性能和安全性
交付成果
持续的系统监控和维护报告
改善软件体验的升级版本
提高系统性能和安全性的升级版本
需求规划说明书:
引言
本文档旨在描述一款基于人脸识别技术的打卡系统的需求规格。该打卡系统支持用户注册以及录入人脸信息,支持用户使用人脸识别打卡,管理员可以进行打卡查询,删除用户注册信息等操作。该软件将会被应用在公司或学校等场合。
总体描述
该打卡系统分为两个角色:用户和管理员。用户可以通过注册、录入人脸信息并进行人脸识别打卡;管理员可以查询打卡记录、删除用户注册信息等。
功能需求
3.1 注册功能
用户可以通过注册功能创建自己的账号,需要输入以下信息:
用户名
登录名
3.2 录入人脸信息功能
用户可以在注册后,通过录入人脸信息功能上传自己的面部图片,并进行人脸数据采集。
3.3 人脸识别打卡功能
用户可以通过人脸识别打卡功能完成每日打卡操作,需要进行如下步骤:
系统进行人脸识别验证,确认用户身份
用户确认打卡时间
系统记录用户的打卡记录
3.4 查询打卡记录功能
管理员可以通过查询打卡记录功能查看用户的打卡记录,包括打卡时间和地点等信息。
3.5 删除用户注册信息功能
管理员可以通过删除用户注册信息功能,删除指定用户在系统中的注册信息。
非功能需求 4.1 可用性 该打卡系统需要具备较高的可用性,确保用户能够正常使用并完成相关操作。
4.2 安全性
该打卡系统需要具备较高的安全性,确保用户信息不被泄露,同时防止非法人员进行恶意攻击。
4.3 易维护性
该打卡系统需要具备较高的易维护性,便于管理员进行日常运维工作。
总结 本文档描述了一款基于人脸识别技术的打卡系统的需求规格。该系统能够满足用户进行注册、录入人脸信息并进行人脸识别打卡的需求,同时管理员可以查询打卡记录、删除用户注册信息等。该系统需要具备较高的可用性、安全性和易维护性。

浙公网安备 33010602011771号