




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
[14]。支持Windows/Linux/Unix等主流的操作系统,支持与Java、C#等多种开发语言相结合,正适合用在移动智能终端的APP开发上。经济可行性分析本系统主要面向个人用户,采用成熟的Android开发方案,开发技术拥有大量的第三方教学资源,无需花费相关的培训费用,且后期维护成本低,方便快捷。系统业务流程分析物品收纳APP主要是让用户能够方便快捷的记录物品的收纳信息,同时也能够高效和方便的查看物品的收纳信息,提高用户的生活效率,减少用户在物品收纳方面的烦恼。物品收纳APP的总体业务流程图如下图3-1所示:(放大版见附录)图3-1总体业务流程图
系统用例分析添加物品功能分析:添加物品的用例图如图3-2所示:图3-2添加物品用例图添加物品具体用例描述表如表3-1所示:表3-1添加物品用例描述表用例名称:添加物品参与者:用户简要说明:用户添加收纳物品前置条件:用户开启手机并进入本APP基本事件流:用户进入应用程序“添加物品”界面;用户编辑物品信息;用户选择物品收纳时间。其他事件流:用户选择默认物品,无需拍照后置条件:用户添加物品成功补充说明:无搜索功能分析:搜索的用例图如图3-3所示:图3-3搜索用例图搜索具体用例描述如表3-2所示:表3-2搜索用例描述表用例名称:搜索参与者:用户简要说明:用户根据关键字搜索想要查看的物品信息前置条件:用户开启手机并进入本APP基本事件流:用户进入应用程序“首页”界面;用户点击搜索按钮;用户输入关键词进行搜索。后置条件:用户搜索物品收纳记录成功补充说明:无收纳记录功能分析:收纳记录的用例图如图3-4所示:图3-4收纳记录用例图收纳记录具体用例描述如表3-3所示:表3-3收纳记录用例描述表用例名称:收纳记录参与者:用户简要说明:用户可以查看所有的物品收纳记录前置条件:用户开启手机并进入本APP基本事件流:用户进入应用程序“更多”界面;用户查看全部收纳记录;用户可长按收纳记录删除收纳记录;用户可点击对应记录栏查看编辑对应收纳记录。其他事件流:用户点击时间分类按钮,查看对应时间段的物品收纳记录后置条件:用户查看收纳记录成功补充说明:无清空物品记录功能分析:清空物品记录的用例图如图3-5所示:图3-5清空物品记录用例图清空物品记录具体用例描述如表3-4所示:表3-4清空物品记录用例描述表用例名称:清空物品收纳记录参与者:用户简要说明:用户可以一键清空所有的物品收纳记录前置条件:用户开启手机并进入本APP基本事件流:用户进入应用程序“设置”界面;用户选择清空所有物品收纳记录;用户确认删除所有物品收纳记录。后置条件:清空所有物品收纳记录成功补充说明:无查看图表分析功能分析:查看图表的用例图如图3-6所示:图3-6查看图表分析用例图查看图表分析的具体用例描述如表3-5所示:表3-5查看图表分析用例描述表用例名称:查看图表分析参与者:用户简要说明:用户可以查看物品收纳数据的图表分析前置条件:用户开启手机并进入本APP基本事件流:用户进入应用程序“首页”界面;用户选择查看图表分析;其他事件流:用户点击时间分类按钮,查看对应时间段的物品收纳记录图表分析后置条件:查看图表分析成功补充说明:无导出物品收纳数据功能分析:导出物品收纳数据的用例图如图3-7所示:图3-7导出收纳数据用例图导出物品收纳数据具体用例描述如表3-10所示:表3-10导出收纳数据用例描述表用例名称:导出物品收纳数据参与者:用户简要说明:用户可以导出物品收纳数据前置条件:用户开启手机并进入本APP基本事件流:用户进入应用程序“设置”界面;用户选择导出物品收纳数据;后置条件:导出物品收纳数据成功补充说明:无系统架构设计系统功能结构设计概述本系统主要使用场景是个人用户记录自身物品存放信息,辅助场景为用户查看并编辑自己的物品存放信息,故本系统功能主要分为创建物品收纳场景、记录及编辑物品收纳信息两部分,在记录物品信息的基础上,辅以查看物品收纳信息、查询及分析物品收纳信息、编辑物品收纳信息、删除物品收纳信息等功能。功能设计添加物品收纳场景:用户可以根据自身需求填写不同的物品收纳场景。记录物品收纳信息:用户可以快速记录物品的收纳信息、数量、备注等信息。删除物品收纳信息:用户在记录下物品收纳信息后,根据自身的情况,可以删除掉自己不再需要的物品收纳信息。查看物品收纳信息:用户在记录下物品收纳信息后,可以在场景列表查看某一场景中的物品收纳情况,也可以在物品收纳记录页面查看全部物品收纳信息,支持按收纳时间分类查看。搜索物品收纳信息:用户在记录下物品收纳信息后,可以利用搜索功能快速准确的找到自己想要寻找的物品收纳信息,包括物品名称查询及物品备注信息查询,支持模糊搜索。物品收纳信息图表分析:用户在记录下物品收纳信息后,系统会自动根据每天的收纳记录创建物品收纳记录表,用户可以据此了解每个月自己的收纳趋势。导出备份数据:用户可以一键导出个人的物品收纳信息,方便用户在更换智能设备后能够继续使用之前的物品收纳信息,保证了用户的使用体验。数据库设计数据库逻辑设计数据库通用的设计方法包括E-R模型、第三范式法、抽象语法设计等,根据前面进行过的系统需求分析还有系统用例分析的结果,故本系统采用了更加适合的E-R(实体联系)模型数据库设计方法,选用了关系型数据库来实现本系统的信息存储功能。实体型、属性、联系是实体联系模型的组成元素,本系统的实体型有物品收纳场景、物品收纳记录、默认物品,根据它们的属性和联系设计实体图及整体E-R图分别如下图4-1、图4-2所示:图4-1实体图图4-2整体E-R图把实体转换为关系模式:收纳场景关系模式为:收纳场景(场景编号,场景名称,场景图片编号)。物品收纳记录关系模式为:物品收纳记录(记录编号,物品名称,物品图片名称,物品备注,物品数量,记录时间,年,月,日,存放场景编号)。默认物品关系模式为:默认物品(物品编号,物品名称,物品选中时图片编号,物品未选中时图片编号,存放场景编号)数据库物理设计场景表存储各种存放物品的场景的信息,场景信息的加载、编辑及删除都要通过本张表来操作和实现,设计如下表4-1所示:表4-1场景表字段名类型字段说明是否为空备注cidinteger场景编号否主键,自增cnamevarchar场景名字否cimageidinteger场景图片编号否物品收纳记录表存储每一笔物品收纳记录的信息,主要用于物品收纳相关信息的收集、分析以及计算,物品信息的添加、提取、维护以及删除都需要通过本张表来操作和实现,设计如下表4-2所示:
表4-2物品收纳记录表字段名类型字段说明是否为空备注widinteger物品编号否主键,自增wnamevarchar物品名称否wimageidinteger物品图片编号否beizhuvarchar备注否shulianginteger物品数量否timevarchar时间否yearinteger年否monthinteger月否dayinteger日否cidinteger场景编号否外键默认物品表存储默认物品的信息,包括物品编号,物品名称、物品图片等信息,默认物品信息的提取需要通过本张表来实现,设计如下表4-3所示:表4-3默认物品表字段名类型字段说明是否为空备注typeidinteger默认物品编号否主键typenamevarchar默认物品名称否timageidinteger物品选中状态图片编号否simageidinteger物品未选中状态图片编号否系统详细设计添加物品功能模块实现用户在首页点击“添加物品”按钮进入物品添加界面,在添加物品界面填写物品信息后确定添加物品记录。界面设计首页如图5-1所示,添加物品页面如图5-2所示,时间弹窗如图5-3所示:图5-1首页图图5-2添加物品界面图图5-3时间弹窗图核心代码:获取当前时间核心代码:SimpleDateFormatsdf=newSimpleDateFormat("yyyy年MM月dd日HH:mm");Stringtime=sdf.format(date);获取用户输入的时间核心代码:*获取输入的小时和分钟*/Stringhour=hourEt.getText().toString);Stringminute=minuteEt.getText().toString();获取用户输入的备注信息核心代码:publicStringgetEditText(){returnet.getText().toString().trim();}搜索功能模块实现用户在首页点击“搜索”按钮进入搜索界面,在搜索框输入物品名称或者备注关键词后点击查询图表,系统显示符合条件的查询结果。界面设计搜索界面如图5-4所示:图5-4搜索界面图功能实现核心代码根据用户输入信息获取匹配数据核心代码:Stringsql="select*fromshounatbwherebeizhulike'%"+"%'orwnamelike'%"+"%'";收纳记录功能模块实现用户点击“收纳记录按钮”,查看所有收纳记录,用户可以在右上角点击时间图表查看对应时间段内的记录,长按记录可以删除记录。界面设计收纳记录界面如图5-5所示,删除物品记录页面如图5-6所示,时间选择框如图5-7所示:图5-5收纳记录界面图图5-6删除物品记录页面图图5-7时间选择框图功能实现核心代码获取记录数据核心代码:Stringsql="selectsum()fromwjilutbwhereyear=?andmonth=?";删除指定记录数据库执行核心代码:inti=db.delete("wjilutb","id=?",newString[]{id+""});清空物品记录功能模块实现用户可以使用清空所有记录功能一键删除所有的物品收纳记录信息。界面设计清空物品收纳记录界面如图5-8所示:图5-8清空物品收纳记录界面图功能实现核心代码删除所有物品收纳记录数据核心代码:Stringsql="deletefromwjilutb";图表分析功能模块实现用户可以在首页点击“图表分析”模块进入图表分析界面,用户通过右上角的时间选择功能可以选择查看对应时间段的物品收纳记录图表信息,在图表视图下方可以查看对应的物品收纳信息。界面设计首页界面如图5-9所示,图表分析界面如图5-10所示,时间选择界面如图5-11。图5-9首页图图5-10图表分析界面图图5-11时间选择界面图功能实现核心代码柱状图核心代码:(详细代码见附录二)导出物品收纳数据功能模块实现用户可以一键导出数据备份界面设计导出数据备份界面如图5-12所示:5-12导出收纳数据界面图功能实现核心代码导出数据文件核心代码:FiledbFile=newFile(Environment.getDataDirectory()+"/data/com.shouna/databases/shouna.db");Filefile=newFile(Environment.getExternalStorageDirectory0)."beifen.db");系统测试系统测试环境测试环境如表6-1所示:表6-1测试环境表集成开发工具AndroidStudio硬件环境模拟AMD虚拟机(PIXEL)+真机调试(MEIZUPRO6PLUS)Android版本Android5.1(API22)+Android7.0(API24)测试用例本章主要进行物品收纳APP的测试,目的是检查系统是否存在Bug等问题,若存在问题则及时修复,保证系统能正常运行,避免用户在使用过程中出现闪退、无法正常使用等情况。系统测试用例:用户在编记录物品、搜索、查看图表分析、查看收纳记录、清空记录、导出数据等功能的测试用例如表6-2所示。表6-2测试用例表测试用例输入或操作预计结果测试结果添加物品记录用户点击添加物品并编辑信息跳转至添加物品界面并成功添加记录添加物品记录成功自定义记录时间用户在添加物品时点击时间栏弹出日历和时间弹窗自定义记录时间成功删除物品记录用户长按某一物品记录并选择删除物品记录询问用户是否删除并在确认后删除记录删除物品收纳记录成功搜索用户点击搜素图表并输入搜索信息显示包含用户输入关键词的物品记录搜索信息成功查看图表分析用户点击查看图表分析跳转至图表分析界面并显示相关数据显示图表分析成功查看收纳记录用户点击收纳记录查看所有收纳记录跳转至收纳记录界面并显示所有收纳记录显示收纳记录成功按月份分类显示记录用户点击分类图表并选择想要查看的时间段弹出时间选择窗口并显示对应时间段内的收纳记录信息显示收纳记录成功清空所有记录用户点击清空所有记录按钮询问用户是否确认清空记录并在用户确认后清空记录清空所有记录成功导出数据备份用户点击导出数据备份按钮询问用户是否确认并在用户确认后导出数据备份导出数据备份成功总结与展望总结本课题的研究内容是解决用户在物品收纳方面的遇到的问题,利用计算机技术和移动智能终端的普及性和便捷性,满足用户在物品收纳方面的记录便捷、查询高效、携带方便等需求,基于Android的物品收纳APP有利于提高用户的生活效率,减少用户在物品收纳方面遇到的烦恼。在研发过程中,我遇到过很多问题,设计UI界面、编写逻辑和功能代码时有一些技术是在学校学习的时候没有学习过的,有一些技术虽然学习过,但因为开发经验的缘故导致开发效率低下,在这段时间里,我有过熬夜修改项目Bug的煎熬时刻,也有过绞尽脑汁思考功能逻辑却始终不得要领的痛苦经历,甚至一度因为怀疑自己的能力而心情失落,但好在我还是很快调整了过来,凭借着互联网上的技术博客、学习视频以及开发文档,我逐渐掌握了开发Android项目的经验,学习到了更多对项目开发有用的技术。虽然说依旧还有很多问题需要解决,但我会坚持下去,一步一个脚印,最终走到终点。最后,经过自己长期的坚持和努力以及在老师和同学的鼓励和帮助下,终于成功完成了“基于Android的物品收纳APP”的课题。通过本次课题研发经历,我认识到了坚持的重要性,很多问题只要花时间去研究是可以解决的,只要不放弃,那么项目开发的能力就会逐渐提高,以下是我在开发过程中的一些感悟和经验:遇到问题的时候不要轻易放弃,长时间解决不了的问题代表解决问题的方向错了,一定要多与人交流,只有不断的交流和实践才能快速进步。在开发前要先规划好需要开发的功能和逻辑,这样后面开发的时候才不会出现逻辑和需求上的矛盾而导致需要推翻重来,所谓磨刀不误砍柴工。展望由于我的能力以及时间有限,本次课题还不够完美,还有一些功能和设计是可以优化的。主要体现在下面两个地方:UI设计还不够美观,代码还不够简洁,。图表分析模块还可以提供更多的分析数据和图表类型。因此,在未来我要学习更多代码优化方面的知识和经验,不断完善自己的项目和开发的能力。参考文献何东.基于Java语言的安卓软件开发研究[J].通讯世界,2020,27(04):62-63.黄明月.基于安卓系统的APP开发技术[J].电子技术与软件工程,2018(08):56.于中天.基于Android的校园聊天软件的设计与实现
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生物梳理 长句类规范作答模板
- 鸟类饲养项目可行性研究报告(目录)
- 2025年中国儿童药品行业未来发展趋势分析及投资规划建议研究报告
- 碳酸钙干燥设备行业行业发展趋势及投资战略研究分析报告
- 小学解方程知识点能力提升知识总结500题
- 2025年动物毛行业深度研究分析报告
- 鲨鱼保健食品项目可行性研究报告
- 小学解方程应用题500题
- 2021-2026年中国喹诺酮类药行业市场调研及投资战略规划报告
- 年产xx千米漆包线项目立项报告-图文
- 第十八届“地球小博士”全国地理知识科普竞赛题库(附答案)
- 第13课《 扩音系统的控制》说课稿 2023-2024学年 浙教版六年级下册信息科技
- 高校国有资产管理的三个维度与内部控制
- 2025甘肃省事业单位联考招聘(3141人)高频重点提升(共500题)附带答案详解
- JJF 1176-2024(0~2 300) ℃钨铼热电偶校准规范
- 8.4+同一直线上二力的合成课件+2024-2025学年人教版物理八年级下册
- 2024年河北省邢台市公开招聘警务辅助人员(辅警)笔试专项训练题试卷(2)含答案
- 家政公司服务员考试题库单选题100道及答案解析
- 人工智能:AIGC基础与应用 课件 实训项目九 使用度加创作工具和剪映进行智能化短视频创作
- 《日影的朝向及长短》课件
- 中职普通话教师教案模板
评论
0/150
提交评论