嵌入式软件系统期末大作业.docx

上传人:wj 文档编号:1859651 上传时间:2023-05-01 格式:DOCX 页数:23 大小:876.67KB
下载 相关 举报
嵌入式软件系统期末大作业.docx_第1页
第1页 / 共23页
嵌入式软件系统期末大作业.docx_第2页
第2页 / 共23页
嵌入式软件系统期末大作业.docx_第3页
第3页 / 共23页
嵌入式软件系统期末大作业.docx_第4页
第4页 / 共23页
嵌入式软件系统期末大作业.docx_第5页
第5页 / 共23页
嵌入式软件系统期末大作业.docx_第6页
第6页 / 共23页
嵌入式软件系统期末大作业.docx_第7页
第7页 / 共23页
嵌入式软件系统期末大作业.docx_第8页
第8页 / 共23页
嵌入式软件系统期末大作业.docx_第9页
第9页 / 共23页
嵌入式软件系统期末大作业.docx_第10页
第10页 / 共23页
嵌入式软件系统期末大作业.docx_第11页
第11页 / 共23页
嵌入式软件系统期末大作业.docx_第12页
第12页 / 共23页
嵌入式软件系统期末大作业.docx_第13页
第13页 / 共23页
嵌入式软件系统期末大作业.docx_第14页
第14页 / 共23页
嵌入式软件系统期末大作业.docx_第15页
第15页 / 共23页
嵌入式软件系统期末大作业.docx_第16页
第16页 / 共23页
嵌入式软件系统期末大作业.docx_第17页
第17页 / 共23页
嵌入式软件系统期末大作业.docx_第18页
第18页 / 共23页
嵌入式软件系统期末大作业.docx_第19页
第19页 / 共23页
嵌入式软件系统期末大作业.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

嵌入式软件系统期末大作业.docx

《嵌入式软件系统期末大作业.docx》由会员分享,可在线阅读,更多相关《嵌入式软件系统期末大作业.docx(23页珍藏版)》请在冰点文库上搜索。

嵌入式软件系统期末大作业.docx

 

 

《嵌入式软件高级开发技术》

期末作业

 

姓名:

王鹏飞

学号:

S2*******1

学院:

信息学部

专业:

软件工程

班级:

软件工程2班

1.如何理解嵌入式系统的概念嵌入式系统中的软件有哪些特征

概念:

1、从硬件上理解,嵌入式系统硬件是将传统的基于CPU的外围器件,整合到CPU芯片内部。

2、从软件上理解,嵌入式系统就是在定制操作系统内核里将应用一并选入,编译后将内核下载到ROM中。

而在定制操作系统内核时所选择的应用程序组件则是完成了软件的“嵌入”。

3、从实现上理解。

把软件内核或应用文件系统等东西写入到嵌入式系统硬件平台中的ROM,就实现了一个真正的“嵌入”。

 

特征:

针对特定的实际专业领域的,基于相应的嵌入式硬件平台的,并能完成用户预期任务的计算机软件。

用户的任务可能有时间和精度的要求。

2.简述嵌入式软件开发的一般流程。

嵌入式软件开发的一般流程:

总体规划、项目立项、需求分析、系统分析、系统设计、系统实现和后续流程等7个阶段

3.什么是设计模式?

简述Adapter设计模式的原理及其在嵌入式软件中的

实现方法与技术。

设计模式(DesignPattern):

一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。

使用设计模式的目的:

为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。

设计模式使代码编写真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。

适配器设计模式(AdapterPattern)主要用于接口的转换或者将接口不兼容的类对象组合在一起形成对外统一接口,是一种结构性模式,其本质是是一个中间件,适用于类及其对象。

类适配器原理:

通过类继承实现适配,继承Target的接口,继承Adaptee的实现。

对象适配器原理:

通过类对象组合实现适配

Target:

定义Client真正需要使用的接口。

Adaptee:

其中定义了一个已经存在的接口,也是我们需要进行适配的接口。

Adapter:

对Adaptee和Target的接口进行适配,保证对target中接口的调用可以间接转换为对Adaptee中接口进行调用。

实现方式:

组合(composition)和继承(inheritance).

4.采用ROOPES方法分析、设计如下的系统(四选一):

(1)具有GPS定位和计步器功能的个人健康助手

(2)电梯控制系统

(3)(参考微信支付功能)分析设计移动支付系统

(4)(参考Mobile单车APP)分析设计基于Android的共享单车系统

需提交:

需求分析(用例模型)、对象分析(对象模型)、系统设计(类

图、包图、交互图、顺序图)。

答:

我选择分析设计基于Android 的共享单车系统

 

基于Android的共享单车系统

1总体要求

目前,自行车出行所占比例越来越大,公共自行车的管理已经开始融入互联网管理系统。

通过对公共自行车使用方式和目前存在的问题进行分析,从中提取出公共自行车的需求,再根据需求进行功能需求分析,从中得出自行车APP软件的功能需求。

然后进一步对功能设计模块进行详细设计,同时对单车APP的系统结构和数据库框架进行设计,在Android手机端为公共自行车的使用提供更加方便的解决方案。

1.1实现目标

随着互联网的快速发展和智能手机的普及使用,公共自行车的管理开始融入移动互联网,共享单车的使用需要依靠移动APP软件的支持,用户只用在安装这种APP的情况下才能租车使用。

因此,基于Android的共享单车系统利用Android手机和GPRS无线网路系统使用户可以进行快速租车,管理人员可以方便的管理公共自行车信息,具体实现目标如下:

(1)用户在安装相应的APP租车软件并且进行注册和登录后可以方便快速的使用自行车。

(2)自行车管理人员可以实时的了解自行车的位置、损坏情况及分布信息,并且在高峰时刻对自行车进行调度。

(3)用户可以利用APP软件实时的查找自行车的存放位置、使用信息和充值信息。

1.2系统框架设计

由于共享单车系统在使用过程中需要一定量的数据的存储和传输,通过网络存储数据并且传输是必然的选择;由于使用和管理的需求,在单车APP设计过程中,将APP分为两个不同的入口,即Android用户端和Android 管理端,因此,共享单车系统的框架由Android用户端和Android管理端和数据库服务器组成,并且通过Internet网络进行传输数据。

共享单车系统框架图如下:

共享单车系统框架图

(1)Android用户端利用安装在手机上的app软件发送使用单车的请求,该请求将会通过网络发送给数据库服务器,数据库服务器判断该用户是否可以使用,如果可以使用,则给单车发送开锁的指令并且修改单车的使用状态,单车开锁,用户骑行操作完成;如果不可以使用,则返回给单车app软件相应的错误提示或反馈信息。

用户骑行完成后,关闭车锁,车辆会发送给数据库服务器车锁已关闭的提示,告知数据库服务器用户骑行完毕,还车成功;数据库服务器便改变车辆的使用状态,计算使用资费,并且将信息发送至单车APP软件。

(2)Android管理端利用APP软件对单车进行用户的审核和管理,车辆的调度,查看区域车辆情况和和坏车情况、对单车进行调度、坏车保修、管理和维护管理员信息、管理个人信息等功能。

1.3开发需求

开发环境:

Windows7/10下的Androidstudio平台。

开发语言:

手机APP端采用JAVA语言进行开发,SQL语言用于数据库的调用。

运行环境:

Android版本的手机。

接口:

百度地图API,MySQL数据库的连接接口。

2需求分析

2.1确定系统的边界

用户使用装有单车APP软件的Android手机,并且在进行注册、登录和充值的情况下,在单车软件中查看附近的自行车停放位置,扫描自行车上的二维码进行开锁,骑行自行车;管理者通过APP软件进行实时监控共享自行车的位置。

由图可知,单车系统由Android客户端,Internet网络,Android管理端和数据库服务器组成。

2.2确定系统的参与者

创建系统用例的第一步是确定系统的参与者。

通过共享单车系统的功能需求,可以识别以下三种参与者:

(1)普通用户:

普通用户在下载安装共享单车APP软件后就可以利用手机号码进行注册认证,注册后可以进行登录、充值和骑行等活动,并且可以查看自己的骑行和交易信息,还可以通过单车APP上的地图查看附近自行的位置,便于寻找自行车;另外用户还可以利用APP软件对某个被私占单车进行举报和上报坏车的位置。

(2)系统管理员:

系统管理员即单车管理端管理人员,可以对单车APP软件进行维护和信息管理,在高峰时刻利用数据分析通知单车调度人员对单车的分布位置进行调整,对单车的位置进行实时的监控,将新投放的自行车的信息进行录入,处理坏车和私占单车的情况,并且解决用户在使用单车时遇到的一些软件问题。

(3)单车调度员:

在高峰时刻对管理员指定位置的车辆进行调度,并且利用单车APP软件记录调度的车辆信息。

2.3用例模型

用例模型是系统既定功能及系统环境的模型,它可以作为客户和开发人员之间的契约。

用例是贯穿整个系统开发的一条主线。

2.3.1用户交互用例模型

单车用户具有注册(用户身份认证)、登录(手机号登录和社交账号登录)、骑车、还车、查看个人用户信息(交易信息和骑行信息)、利用地图查看附近车辆位置、预约车辆和退出等功能。

用户用例如下所示:

用户用例图

用例描述:

(1)用例:

骑车还车

用例描述:

用户利用APP进行骑车和还车操作

参与者:

单车用户、车辆

前置条件:

用户已经注册审核通过并且登录单车APP软件

行为序列:

(1)用户利用单车APP扫描二维码进行租车

(2)在使用完毕后,用户将单车停放到附件指定位置并上锁

(3)单车APP根据用户使用情况进行消费结算

异常:

网路异常或用户未通过审核

取消:

用户退出APP软件,停止租车操作

后置条件:

用户必须授权相应的支付软件或绑定银行卡等支付工具,确保支付可以完成

(2)用例:

预约单车

用例描述:

用户利用APP软件进行单车预约操作

参与者:

单车用户、车辆

前置条件:

用户已经注册审核通过并且登录单车APP软件,且单车状态显示可用

行为序列:

(1)用户利用单车APP软件查看附件车辆位置和状态

(2)对状态显示可用的车辆点击预约按钮进行预约操作

(3)到单车指定位置扫描单车二维码进行骑车操作(15分钟内)

(4)单车APP对预约进行计时操作,若15分钟内预约用户未骑车,则将单车状态设置为可用状态,并将预约失信操作进行记录,并给以用户24小时禁止预约车辆的惩罚。

异常:

网路异常或单车已坏但未及时报修

取消:

用户在15分钟内点击取消操作,可以取消单车预约

后置条件:

用户信用记录良好并且周围车辆可用

(1)用例的补充说明:

单车用户进入单车APP软件,可以进行注册和登录。

单车用户在发送租车请求给单车APP软件后,单车APP软件发送开锁命令给单车,开锁后,单车返回开锁信息给单车APP软件,单车APP软件将租车信息持久化存储到数据库中,并且单车APP软件返回开锁信息给单车用户。

单车用户可以通过地图查看附近车辆,还可以发送预约请求给单车APP软件,单车软件收到预约信息后修改单车的状态,并将预约信息持久化存储到数据库中。

单车用户还可以发送管理个人信息请求给单车APP软件,单车APP软件将个人信息存储到数据库中。

单车用户和系统交互的顺序图如下所示:

用户交互顺序图

 

(2)用例的补充描述

用户进入APP软件后,进入登录提示页面。

若注册则直接进入单车APP界面,否则,进行注册。

用户在单车APP软件的可以预约、租车并且查看单车分布情况。

预约和租车使用的状态图如下所示:

用户交互状态图

 

2.3.2管理员用例模型

系统管理员拥有登录、用户信息审核、查看区域车辆情况和和坏车情况、对单车进行调度、坏车保修、管理和维护管理员信息、管理个人信息等功能。

系统管理员用例图

用例描述:

(1)用例:

查看区域车辆情况

用例描述:

系统管理员可以利用单车APP的地图功能查看指定区域的车辆情况

参与者:

系统管理员、单车APP

前置条件:

系统管理员已经登录单车APP软件

行为序列:

(1)管理员输入相对应的用户名和密码进行登录系统

(2)登录系统后,进入单车地图界面,选择指定的区域和时间段,查看单车的使用情况和位置分布

(3)系统管理员查看区域内的坏车情况并且进行统计

异常:

网路异常或单车出现故障

取消:

系统管理员退出单车APP软件

后置条件:

系统管理员必须有相应的操作权限

(2)用例:

管理员信息管理和维护

用例描述:

拥有特定权限的管理员用户对管理员信息进行管理和维护

参与者:

系统管理员、单车APP软件

前置条件:

系统管理员已经登录单车APP软件

行为序列:

(1)管理员登录单车APP软件

(2)对管理信息进行操作,添加管理员,修改管理员信息,修改管理员权限,删除管理员等

异常:

网路异常

取消:

管理员退出系统

后置条件:

管理员拥有相应的操作权限

(1)用例的补充描述:

系统管理员可以向单车APP软件发送登录和注册请求。

管理员可以向单车APP软件发送查看区域车辆信息请求,单车APP软件向数据库发送查询车辆信息,数据库返回车辆信息给单车APP软件,单车APP软件返回车辆信息给系统管理员。

系统管理员还可以对单车APP软件发送调度请求,单车APP软件收到请求后返回调度方案给调度人员,同时将调度信息存入到数据库中。

管理员还可以申请维护管理员信息,系统管理员和系统交互的顺序图如下所示:

管理员交互顺序图

(2)用例的补充描述:

系统管理员的状态变迁过程如下所示:

管理员交互状态图

2.3.3调度人员用例模型

单车调度人员可以进行单车调度、登录系统和管理个人信息等功能。

单车调度人员用例图

用例描述:

(1)用例:

单车调度

用例描述:

单车调度人员对单车进行调度

参与者:

单车调度人员、车辆

前置条件:

单车调度人员已经登录单车APP软件

行为序列:

(1)单车调度人员登录系统后,查询需要调度单车调度的位置信息、编号和数量、调度路线和调度时间

(2)单车调度人员根据相应的调度信息进行车辆调度

(3)单车调度人员调度完成后返回相应的调度信息

异常:

网路异常或调度出现问题

取消:

系统管理员取消调度操作

后置条件:

单车调度人员必须有相应的操作权限

2.4系统类图

对系统中的实体,都可以抽象出来作为一个独立的类。

根据上面的用例图和用例的补充描述,该系统识别出来的系统类图如下所示:

系统类图

3系统设计

共享单车系统分为用户端和管理员端,管理员端又分为系统管理员和调度人员。

系统管理员端使用APP软件对用户的进行实时监管和身份审核,调度人员通过管理员端的入口进行车辆调度和管理,用户端则实现登录注册,骑车还车,预约车辆,查看个人信息,查询周围车辆位置,举报私占车辆和坏车上报等功能。

3.1管理端设计

从单车管理的角度出发,管理端主要实现的功能如下:

对车辆数量、位置情况的查询和调度;对用户请求信息的审核。

功能模块图如下:

管理端功能模块图

(1)登录管理模块:

对管理员的身份信息进行登录验证,为不同权限的管理员导航不同的

管理页面,为系统管理员导航到系统管理的页面,而对调度管理员导航到调度管理页面;管理员登录后可以对用户信息进行管理和维护。

(1)查询区域车辆情况模块:

管理员选择要茶轩的区域和时间后段后,APP通过网络请求向数据库服务器发送查询请求,数据库服务器收到请求后将所查询到的区域时间段内的可借车数量、租借中的数量和位置信息等信息返回给APP,供管理员分析数据使用。

(2)查询车辆调度信息模块:

调度车辆管理员选择负责的区域后,App通过网络从数据库服务器获取分析过的调度信息,显示当前从各个自行车服务点调入、调出数量和路线信息。

调度信息定时更新。

(3)用户信息审核模块:

用户在注册后进行身份信息验证,会将申请验证的信息上传到数据库服务器上去,管理员收到服务器转发过来的申请信息后,对该信息进行审核,审核通过后,该用户就可以开始使用单车,审核信息分为学生身份验证和社会人士身份验证。

3.2用户端设计

用户是该APP的主要使用人员,用户端的主要功能为骑车还车和充值功能;用户端的功能模块如图:

用户端功能模块图

登录/退出登录模块:

用户在注册完成后,就可以使用注册的账号和密码进行登录验证,登录系统,退出系统操作。

忘记密码时可以通过接收验证码重置密码。

还可以通过社交账号直接登录。

注册/身份信息验证模块:

用户使用手机号码注册账号,通过填写密码和接收到的验证码实现账号的注册,注册完成后该用户通过网络上传到数据库服务器并且进行保存。

在注册完成后,要输入身份信息进行身份信息验证,待审核通过后就可以正常使用单车APP。

个人操作模块:

该模块包含四个子功能模块:

个人信息、我的里程、交易信息和骑行组织模块。

(1)个人信息子模块:

显示用户的账号、姓名、性别、昵称、联系方式等信息,并且用户可以对这些信息进行修改,用户还可以进行密码修改操作。

(2)我的里程子模块:

从数据库服务器中获取用户的借车次数、骑行次数、出行总里程和预约次数等并显示。

(3)骑行组织子模块:

该子模块包含三个功能。

加入组织功能实现从数据库服务器获取已成立的骑行组成列表以及相应的资料信息,用户提交申请加入的信息后,系统会给组织创建者发送待加入申请,组织创建者同意后,用户即可加入该骑行组织。

用户还可以通过创建组织功能创建一个骑行组织,管理员审核创建信息后组织创建成功,系统将该组织信息加入数据库服务器中,等待接收其他用户的加入。

群内聊天功能是用户骑行加入组织后,可以在该功能界面下与组织中的成员进行群聊。

群聊功能通过UDP协议实现。

(4)交易信息子模块:

用户可以通过该模块获取数据库中的充值记录和消费记录信息;还可以查看积分情况。

地图模块:

在APP主界面调用地图API显示用户所在区域地图,在地图上通过不同的图表显示不同种类的可借状态的共享单车的位置。

点击某单车图标后,显示该车辆的状态,位置和收费信息和预约功能按钮。

预约单车模块:

用户在通过单车APP的地图查询到附近车辆后,可以对该单车进行预约,预约成功后,该单车状态转换为“已预约”的状态,预约时间为15分钟,在10分钟内预约用户可以租借已预约的单车,如果15分钟内,预约用户未借车,并且在15分钟内也没有取消预约信息,则该预约信息自动失效,单车状态自动恢复到“可借”状态,该用户24小时内不可再次预约;并且将该用户的预约不良行为记录到数据库服务器中,根据累计不良记录的情况对用户进行相应的信用评定。

借还车模块:

用户打开单车APP软件,可以通过扫描单车上的二维码进行借车,单车借出后,单车状态改为“借出”状态,并且开始计时;在用户使用完毕后,关上车锁,APP通过手机的定位可以显示骑行的里程,路线和速度;并且显示借车的时间和费用,并将本次借车还车数据信息发送到数据库服务器进行持久化存储。

3.3数据库设计

为了提升系统的性能,减少用户租车过程中的等待时间,在数据库设计过程中采用存储过程来操作租车过程中产生的各种数据。

3.3.1数据库概念设计

实体指某类事物的集合,实体之间的关系有一对一、一对多和和多对多。

根据单车APP软件中功能模块的需求和数据采集和存储的需求,可以从中得出以下几个实体:

用户实体、管理员实体、车辆实体、供应商实体和骑行组织实体。

各实体之间的联系包括用户利用单车APP进行租车,用户创建或加入骑行组织,管理员管理车辆,管理员管理审核和管理用户、骑行组织,供应商投放车辆。

E-R图也称实体联系图,包括实体、属性和联系,是描述实体和实体、实体和属性之间联系的一种工具模型,根据上述概念设计的描述,本系统的E-R图如下所示:

系统E-R图

根据数据库概念设计和E-R图,本系统需要创建的数据库表:

用户表,借车记录表、单车车辆表、管理员表、骑行组织表、骑行记录表、供应商表、信用违规表、交易信息表。

4总结

本单车APP软件以Android手机作为载体,运行在Android环境中。

使用Androidstudio平台作为开发环境,利用Java语言进行开发,利用SQL语言进性持久化的数据存储。

实现了用户借车、还车、预约和查看周围车辆;管理员审核用户、调度车辆、维护系统的信息等基本功能。

基本满足了人民便捷用车的需求。

并且管理员还可以统计不同区域自行车的流量情况,实现对不同区域自行的投放量的定期调整;对于骑行爱好者来说,提供骑行里程记录和骑行组织和交流等功能,迎合了自行车骑行的潮流。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2