软件复用技术在校园导航中的研究与应用
发布时间:2022-01-04 22:37
软件复用技术是互联网时代下软件开发领域的产业延伸,是一种用于提升软件生产率、工作效率、可靠性以及稳定性的关键性技术。同时,作为解决软件危机和拓展软件应用范围的可靠途径,软件复用技术在近些年受到的研究人员的广泛关注,并诞生了大量优秀的研究成果。其中,组件化连接技术成为目前软件复用技术研究的热点方向,其具备扩充软件功能与增强软件灵活性的强大能力,并充分的将项目整体功能进行模块化区分,极大的方便了软件系统的后期维护,是一种行之有效的软件功能迁移和拓展的手段。本文以组件化连接技术为重点研究对象,采用目前流行的开源Android路由框架ARouter为工具,以中北大学为研究实例,设计并实现了一款专门用于校园应用场景的地图导航系统。在功能方面,该软件系统充分的利用了ARouter的优势,极大的简化了软件应用页面跳转的方法,进一步实现系统内部模块间的高内聚与低耦合。在定位算法方面,以卡尔曼滤波器为基础,改进了传统的GPS定位算法,经实验仿真,改进后的算法极大的提升了导航定位的精度。综上,本文核心内容主要包含组件化连接技术的应用与导航定位算法的改进两个方面,所设计的软件系统拓展了传统导航软件的应用场景...
【文章来源】:中北大学山西省
【文章页数】:64 页
【学位级别】:硕士
【部分图文】:
组件化结构
中北大学学位论文8图2-4MVC架构Figure2-4MVCarchitecture标准的MVC架构的工作流程如图2-5所示。(1)View接受用户的交互请求;(2)View将请求转交给Controller;(3)Controller操作Model进行数据更新;(4)数据更新之后,Model通知View数据变化;(5)View显示更新之后的数据[19]。其工作流程图图2-5MVC工作流程图Figure2-5MVCworkflowchartMVC各部分的作用如下:(1)Model:用于封装与应用业务逻辑和数据处理方法相关的数据;(2)View:渲染页面;(3)Controller:控制器是M和V之间的连接器,负责处理相关的业务逻辑。View/ControllerLayerModelLayerActivityFragmentViewWidgetAPIClientDBHelperSharedPreferencesAPIServerSQLiteModelViewControllerUserControllerModelView(3)Forwardsto
中北大学学位论文18图3-3不同组件模块之间通过路由通信Figure3-3Communicationbetweendifferentcomponentmodulesthroughrouting组件化可以使业务组件相互独立、互不相关,各个业务组件依赖于应用程序外壳工程,从而形成一个具有完整业务功能的应用程序,由于组件开发模式中业务组件的代码量远远少于完整项目的代码量,所以可以大大减少编译运行所需要的时间,组件化架构如图3-4所示。图3-4组件化架构图Figure3-4Componentarchitecturediagram模块A模块B模块D模块C路由转发主工程主工程:除了一些全局配置和主Activity之外,不包含任何业务代码。也可以成为空壳APP。各层次职责清晰独立,可以方便与主工程进行拆出绑定与组合绑定。业务组件组件A组件B组件C组件D组件E组件F组件G其他不同组件之间使用路由进行通信。功能组件组件1组件2组件3组件4基础公共组件基础组件:支撑上层业务组件运行的基础业务服务1.在基础组件库中主要有:网络请求、图片加载、通信机制、工具类和一些base基类2.基础公共组件一直是library形式组件,被业务组件依赖3.在基础组件library中,build.gradle引用公共的第三方开源库,比如官方库业务组件需要依赖下面的功能组件主工程需要依赖下面的业务组件组件模式与集成模式相互切换:切换成application组件,即可与app主工程解绑,此时调试编译只会运行单独的组件模块。
【参考文献】:
期刊论文
[1]基于Android软件开发组件化研究[J]. 殷涛,崔佳冬. 计算机应用与软件. 2019(09)
[2]军用软件组件化设计方法研究[J]. 邵刚. 微处理机. 2019(04)
[3]基于组件化的数据可视化系统设计与实现[J]. 江婷,林嘉琦,马建雄,高齐琦. 智能物联技术. 2019(01)
[4]基于路由模式的前端框架设计与改进[J]. 陈辰,王萌,程旭. 电脑知识与技术. 2018(12)
[5]计算机软件复用技术探讨[J]. 朱海泉. 数码世界. 2017(12)
[6]基于卷积神经网络的鲜茶叶智能分选系统研究[J]. 高震宇,王安,刘勇,张龙,夏营威. 农业机械学报. 2017(07)
[7]Android系统架构及应用程序开发研究[J]. 赵静. 自动化与仪器仪表. 2017(01)
[8]基于物联网的智能校园导航系统的设计与实现[J]. 刘红,饶超,龚黄兵,叶世平,朱玲. 上海电机学院学报. 2016(06)
[9]软件工程需求与质量保证研究[J]. 赵伟. 无线互联科技. 2016(20)
[10]软件复用技术的发展探析[J]. 李芳颂,王锋,高晓峰,丛庆. 信息化建设. 2016(07)
硕士论文
[1]基于广播/通信混合架构的高效数据分发技术研究[D]. 姚越越.上海交通大学 2018
[2]基于iOS平台的图片分享应用软件优化方案的设计与实现[D]. 汤奇.东南大学 2018
[3]基于构件的软件复用技术的研究与应用[D]. 张富为.中北大学 2018
[4]基于Android平台的手机导航系统的设计与实现[D]. 聂静静.电子科技大学 2018
[5]精准扶贫信息系统移动端设计与实现[D]. 李柏楠.中南民族大学 2018
[6]基于AngularJS的前端开发框架的设计与应用[D]. 王少丽.大连海事大学 2018
[7]基于Android平台的动态加载技术的研究与实现[D]. 李俊晨.北京邮电大学 2017
[8]Web前端工程组件化的分析与改进[D]. 戴翔宇.吉林大学 2016
[9]基于软件构件技术的电子商务平台研究及应用[D]. 吴奕莹.吉林大学 2015
[10]基于软件复用技术的CAPP系统的设计和实现[D]. 宗忆陈.吉林大学 2004
本文编号:3569184
【文章来源】:中北大学山西省
【文章页数】:64 页
【学位级别】:硕士
【部分图文】:
组件化结构
中北大学学位论文8图2-4MVC架构Figure2-4MVCarchitecture标准的MVC架构的工作流程如图2-5所示。(1)View接受用户的交互请求;(2)View将请求转交给Controller;(3)Controller操作Model进行数据更新;(4)数据更新之后,Model通知View数据变化;(5)View显示更新之后的数据[19]。其工作流程图图2-5MVC工作流程图Figure2-5MVCworkflowchartMVC各部分的作用如下:(1)Model:用于封装与应用业务逻辑和数据处理方法相关的数据;(2)View:渲染页面;(3)Controller:控制器是M和V之间的连接器,负责处理相关的业务逻辑。View/ControllerLayerModelLayerActivityFragmentViewWidgetAPIClientDBHelperSharedPreferencesAPIServerSQLiteModelViewControllerUserControllerModelView(3)Forwardsto
中北大学学位论文18图3-3不同组件模块之间通过路由通信Figure3-3Communicationbetweendifferentcomponentmodulesthroughrouting组件化可以使业务组件相互独立、互不相关,各个业务组件依赖于应用程序外壳工程,从而形成一个具有完整业务功能的应用程序,由于组件开发模式中业务组件的代码量远远少于完整项目的代码量,所以可以大大减少编译运行所需要的时间,组件化架构如图3-4所示。图3-4组件化架构图Figure3-4Componentarchitecturediagram模块A模块B模块D模块C路由转发主工程主工程:除了一些全局配置和主Activity之外,不包含任何业务代码。也可以成为空壳APP。各层次职责清晰独立,可以方便与主工程进行拆出绑定与组合绑定。业务组件组件A组件B组件C组件D组件E组件F组件G其他不同组件之间使用路由进行通信。功能组件组件1组件2组件3组件4基础公共组件基础组件:支撑上层业务组件运行的基础业务服务1.在基础组件库中主要有:网络请求、图片加载、通信机制、工具类和一些base基类2.基础公共组件一直是library形式组件,被业务组件依赖3.在基础组件library中,build.gradle引用公共的第三方开源库,比如官方库业务组件需要依赖下面的功能组件主工程需要依赖下面的业务组件组件模式与集成模式相互切换:切换成application组件,即可与app主工程解绑,此时调试编译只会运行单独的组件模块。
【参考文献】:
期刊论文
[1]基于Android软件开发组件化研究[J]. 殷涛,崔佳冬. 计算机应用与软件. 2019(09)
[2]军用软件组件化设计方法研究[J]. 邵刚. 微处理机. 2019(04)
[3]基于组件化的数据可视化系统设计与实现[J]. 江婷,林嘉琦,马建雄,高齐琦. 智能物联技术. 2019(01)
[4]基于路由模式的前端框架设计与改进[J]. 陈辰,王萌,程旭. 电脑知识与技术. 2018(12)
[5]计算机软件复用技术探讨[J]. 朱海泉. 数码世界. 2017(12)
[6]基于卷积神经网络的鲜茶叶智能分选系统研究[J]. 高震宇,王安,刘勇,张龙,夏营威. 农业机械学报. 2017(07)
[7]Android系统架构及应用程序开发研究[J]. 赵静. 自动化与仪器仪表. 2017(01)
[8]基于物联网的智能校园导航系统的设计与实现[J]. 刘红,饶超,龚黄兵,叶世平,朱玲. 上海电机学院学报. 2016(06)
[9]软件工程需求与质量保证研究[J]. 赵伟. 无线互联科技. 2016(20)
[10]软件复用技术的发展探析[J]. 李芳颂,王锋,高晓峰,丛庆. 信息化建设. 2016(07)
硕士论文
[1]基于广播/通信混合架构的高效数据分发技术研究[D]. 姚越越.上海交通大学 2018
[2]基于iOS平台的图片分享应用软件优化方案的设计与实现[D]. 汤奇.东南大学 2018
[3]基于构件的软件复用技术的研究与应用[D]. 张富为.中北大学 2018
[4]基于Android平台的手机导航系统的设计与实现[D]. 聂静静.电子科技大学 2018
[5]精准扶贫信息系统移动端设计与实现[D]. 李柏楠.中南民族大学 2018
[6]基于AngularJS的前端开发框架的设计与应用[D]. 王少丽.大连海事大学 2018
[7]基于Android平台的动态加载技术的研究与实现[D]. 李俊晨.北京邮电大学 2017
[8]Web前端工程组件化的分析与改进[D]. 戴翔宇.吉林大学 2016
[9]基于软件构件技术的电子商务平台研究及应用[D]. 吴奕莹.吉林大学 2015
[10]基于软件复用技术的CAPP系统的设计和实现[D]. 宗忆陈.吉林大学 2004
本文编号:3569184
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3569184.html