物联网应用开发论文.docx
《物联网应用开发论文.docx》由会员分享,可在线阅读,更多相关《物联网应用开发论文.docx(29页珍藏版)》请在冰豆网上搜索。
物联网应用开发论文
.
工商学院
信息工程学院
项目名称:
日程管理
学生姓名:
崔倍倍
学号:
13406057
班级:
13物联本2
指导教师:
凤麟
.
页脚..
.
2016年6月18日.
页脚..
.
摘要
随着科技时代的发展变迁,人们的生活变得快捷便利,但是随之而来的是人们的生活方式和生活习惯也变的越来越丰富,每天需要做的事情逐渐增多,当我们忙于工作可能无暇顾及家庭,没有了合理的时间安排不仅使我们的生活变得慌乱,工作的效率也大打折扣。
因此,该系统是结合日常生活安排的实际情况、以实际应用为开发背景、经过实际的需求分析、采用在PC端对Android开发环境的模拟技术而开发出来的基于Android系统的一个手机应用。
本文运用软件工程原理和软件开发方法,对本应用进行了概要设计和详细设计。
该应用操作简便、界面友好、灵活、实用、安全,可以满足不同类型的人们对个人日程的要求,尤其是在该应用中,用户之间交互性的实现更是对传统日程安排的一大突破。
本文详细介绍了日程安排平台在Android系统上开发的设计背景,设计思路以及实现方法,着重说明了该应用的创新点、突破点、用户的体验要求和应用的实际运行情况。
围绕该应用的实际使用情况来对该应用进行分析设计,对在开发的过程中采用数据流程图、ER图以及程序流程图进行了详细的说明。
由于这是一个交互式的应用,用户可以在上面浏览、分享大家.
页脚..
.
的时间安排心得、经验,与志同道合的朋友进行交流,使得该应用的开发对个人的时间管理有着很重要的意义。
关键词:
android、软件工程、日程安排、交互性
.
页脚..
.
1绪论...............................................................................................................................1
1.1选题背景及意义..............................................................................................1
1.2论文结构............................................................................................................1
2需求分析.......................................................................................................................2
2.1系统功能需求分析..........................................................................................4
2.2系统非功能需求分析.....................................................................................4
2.3系统数据分析...................................................................................................4
2.4数据字典............................................................................................................5
3系统设计.......................................................................................................................6
3.1概要设计............................................................................................................6
3.2数据概念模型与关系模型设计....................................................................6
3.2.1系统E-R图............................................................................................6
3.2.2概念模型转换关系模型......................................................................6
3.3详细设计............................................................................................................7
3.3.1欢迎界面................................................................................................7
3.3.2查询界面................................................................................................8
3.3.3日程安排的主界面...............................................................................9
3.3.5日程修改功能......................................................................................10
3.3.6删除日程功能......................................................................................11
3.3.7查看日程功能......................................................................................11
4系统实现.....................................................................................................................11
5系统测试.....................................................................................................................21
6总结.............................................................................................................................23
参考文献..........................................................................................................................26
.
页脚..
.
.
页脚..
.
1绪论
1.1选题背景及意义
时间管理是一项生活中必不可少项目,人们为了生活中的安排,经常弄得头昏眼花,而且导致工作、学习效率大打折扣,失去了时间的自主性,没有了合理的时间安排,事情繁忙的工作者就像迷航的船找不到灯塔在茫茫大海中飘荡,在这种情况下,日程管理APP顺应而生。
与此同时,随着信息行业的飞速发展,Android系统在各个系统平台上的优势也日趋凸显。
与传统的手机系统平台不同,Android系统采用开源的模式,使得很多人可以自行开发手机软件并共享,从而也就使得这个平台可以使用的用户更多;再者,Android系统反应速度快,操作更简单,这也使得该系统的应用可以得到更广泛的推广。
在这种前提下,开发一种基于Android系统的物联网移动应用,对方便人们安排时间、提高时间利用质量有着非常重要的意义。
1.2论文结构
本文首先续写了论文的摘要,对本文的设计目的并对整体的文章做了相应的描述,又通过绪论分别表达了选题的背景及意义,其次用需求分析写出该项目的设计需求,而后对系统功能需求和系统的非功能需求进行了详细的分析,使读者能了解该项目的功能及其优缺点,通过数据流图和数据字典将整个项目的使用方法客观的显示在用户的面前。
.
页脚..
.
展行E-R途进型设计分别用关后分析了数据概念模型与系模然进能个功该项目的每,应功能做了详细的设计对并示,对系统的相每,将行了注释进现部分对项目的代码说行了详细的明,在系统实,行系个统运测试部分将整统了段代码的作用进行详细的阐述,系得心以及设计过程文式的方展现,最后对本的截功对每个能通过图结。
详细的总进行了分析2需求需求分析的定义:
所谓需求分析,是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。
可以说,在软件工程当中的“需求分析”就是确定要计算机“做什么”,要达到什么样的效果。
可以说需求分析是做系统之前必做的。
在软件工程中,需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、围、定义和功能时所要做的所有的工作。
需求分析是软件工程中的一个关键过程。
在这个过程中,系统分析员和软件工程师确定顾客的需要。
只有在确定了这些需要后,他们才能够分析和寻求新系统的解决方法。
需求分析阶段的任务是确定软件系统功能。
在软件工程的历史中,很长时间里人们一直认为需求分析是整个软件工程中最简单的一个步骤。
但在近十年,越来越多的人认识到,需求分析是整个过程中最关键的一个部分。
假如在需求分析时分析者们未能正确地认识到顾客的需要的话,那么最后的软件实际上不可能达到顾客的需要,或者软件项目无法在规定的时间里完工。
.
页脚..
.
需求分析的原因:
需求分析就是分析软件用户的需什么。
如果投入大量的人力,物力、财力、时间,开发出的软件却没人要,那所有的投入都是徒劳。
如果费了很大的精力,这种返工是让人最后却不满足用户的要求,从而要重新开发过,开发一个软件,的软件,而你在forlinux。
比如:
用户需要一个(相信大家都有体会)痛心疾首的而想当然的认忘了向用户询问这个问题,软件开发前期忽略了软件的运行环境,的软件。
当你千辛万苦地开发完成向用户提交时才发现forwindows为是开发出了问题,那时候你是欲哭无泪了,恨不得找块豆腐一头撞死。
需求分析之所以重要,就因为他具有决策性、方向性、策略性的作用,他在软件开发的过程中具有举足轻重的地位,大家一定要对需求分析具有足够的重视。
在一个大型软件系统的开发中,他的作用要远远大于程序设计
充分了解原系统工需求分析的任务是通过详细调查现实世界要处理的对象,确定对系统的作概况,明确用户的各种需求然后在此基础上确定新系统的功能。
通虽然功能需对软件系统的一项基本需求,但却并不是唯一的需求,综合要求,常对软件系统有下述几方面的综合要求。
功能需求1.性能需求2.3.可靠性和可用性需求出错处理需求4.接口需求5.约束6..
页脚..
.
逆向需求7.8.将来可能提出的要求需求分析需要用到如下工具:
RationalRose,PowerDoidsd,EnterpriseArchitect
需求分析2.1系统功能
(1)添加功能:
对将要完成的日程进行安排添加容、时间、类型等。
(2)查询功能:
通过已经添加的日程容、时间、类型查询相关的日程。
(3)删除功能:
删除不需要或者已经完成的日程安排。
(4)修改功能:
修改输入错误或者需要完善的日程。
)查看功能:
查看已经添加的日程安排。
(5
析需求分2.2系统非功能、确度更速响应度很有优势、结果准户
(1)性能需求:
用在精使用时更低。
行运时资源消耗量。
较高使用时故障可预测性
(2)可靠需性求:
用户强。
的软件适用能力很(3)易用求性需:
用户对于。
私格的密保护可的以获得很多授权,并有严户性(4)安全需求:
用实可现。
要需较高的配置便环束行(4)运环境约:
软件系统运行境不设件及硬以外种多类型的部接口应能发待口部(5)外接:
开的功适备。
析分数系2.3统据.
页脚..
.
查看日程新增日程
修改日程
过主界删除日库是是否被选选择日程
程图流系统数据2图-1
字典2.4数据过中法,处理程过的关系。
在SA方和达据数字典表了数据处理则数据中述树来描。
系统的定或定于借常活处程的理动常助判表判。
描典据助借数字来述.
页脚..
.
收据的数进行详细数据描述的集合,是数据字典是系统中各类地要的占有很重,在数据库设计中析集和数据分所获得的主要成果处储和数据存结构、数据流、包。
数据字典通常括数据项、数据位。
分六个部程、外部项等理过
计系统设3
计概要设3.1
面界入主欢迎界面进通统的欢迎界面,当用户过首先设计了系,安排日的容的程适配器调取数据库里出后,会显示通过Listview、、修改开、删除菜单,分别实现打和设该项目置了上下文菜单选项面界布局显示相应的功设的置,点击需要的能后会询添加和查按钮果。
的界面效达以及会到计模型设与据概念模型关系3.2数图统E-R3.2.1系
图R系统E-3图-1
型模转型换关系模概3.2.2念
日期类型.
页脚..
.
内时
添加日程
数据库
查看日程
时间内容
日期类型
模型图关模概念型转换系图3-2
计细设3.3详界面欢3.3.1迎示显局的,之后对该布布景图面欢迎界以一个片为背添加了局面界迎置件听过后效停秒达,时停设置留间到几的留果通监事设欢.
页脚..
.
的跳转,使其跳转到下一个日程安排的显示界面。
3.3.2查询界面
该系统的查询界面,首先添加了XML文件设置该界面的布局,在该布局中添加了Edittext控件用来显示查询的容,而后在数句库中添加相应的查询代码,结合listview适配器显示查询到的整条数据,并单独显示在另一个界面。
开
选择查
查询内容
显示数据
结束
.
页脚..
.
图3-3查询流程图
3.3.3日程安排的主界面
主界面用于显示所有的添加了数据容,以列表的方式对用户进行呈现,当用户添加了日程就会在该页面显示已经添加的安排,在该页面还可以完成对日程任务的修改、删除和查看等功能。
在该页面添加了上下文菜单对所要完成的功能进行操作。
能加功日程添3.3.4
日程添加界面是由Eidttext、Spinner、时间选择控件等组成的界面,通过LieanLyout线性布局将这些控件组合到一起,在JAVA文件中添加各个控件的事件监听,并将所有控件中的输入容连接到数据库,最后通过点击该界面的“添加”按钮保存输入的数据,将
开始
获取的容保存到数据库,与此同时添加跳转的事件,在触发结束后添加程安排的主界面显示所有跳转页成面的跳,最终转到日添加的日完程安排数据。
内容类型日期时间
结束
.
页脚..
.
图3-4日程添加流程图
3.3.5日程修改功能
修改界面与添加界面类似,但是该界面是由对话框的方式呈献给用户的,也是在布局中添加了线性布局,并在该布局中设置了四个Eidttext控件,与添加界面不同的是该界面的文本中是连接数据库容并获取其中的容到相应的位置,用户可选择需要修改的部分直接修改,最后触发修改按钮后,在数据库中更新了修改后的数据,并在修改结束后跳转到主界面显示修改后的信息。
开始
选择修改数据
输入修改内容
完成
.
页脚..
.
图3-5日程修改数据流程图
3.3.6删除日程功能
删除界面相对来说简单很多,只需在主界面选择要删除的数据,并通过上下文菜单长按那条数据,在显示删除选项后,选择删除,该条数据就会从连接的数据表中被删除,同时在主界面也会去掉该条数据。
能程功3.3.7查看日查看功能是为用户提供日程遗忘后的提醒功能,当用户想要查看某条类型的数据时,只需长按该条数据,选择打开,就会显示该任务的容以及时间日期等信息。
4系统实现
主界面的核心代码:
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_guan);
mydb=newMydbOpen(context,%user1.db,null,1);//参数showList(select*fromuserss);.
页脚..
.
registerForContextMenu(getListView());
getListView().setOnItemLongClickListener(new
OnItemLongClickListener(){
@SuppressWarnings(%unchecked)
@Override
publicbooleanonItemLongClick(AdapterView
>
views,Viewarg1,intp,longarg3){
//TODOAuto-generatedmethodstub
HashMaphm=(HashMapObject>)views.getItemAtPosition(p);
uid=hm.get(%uid).toString();
returnfalse;
}
});
}
publicvoidshowList(Stringsql){//TODOAuto-generatedmethodstub
SimpleAdapter(context,
adp=new
SimpleAdapter
.
页脚..
.
mydb.showUserList(sql,null),R.layout.activity_guan,new
String[]{%uid,%uname,%uage,%uq,%us},new
int[]{R.id.uidtv,R.id.unametv,R.id.uagetv,R.id.uqtv,R.id.ustv});
getListView().setAdapter(adp);
}
publicbooleanonContextItemSelected(MenuItemitem){
if(item.getItemId()==itemId1)
{
AlertDialog.Builderbuilder=newBuilder(context);
LayoutInflaterinf=getLayoutInflater();
updView=inf.inflate(R.layout.update,
(ViewGroup)findViewById(R.id.updlayout));
builder.setView(updView);
畢汩敤?
敳呴瑩敬尨修改用户);
Cursor
cur=mydb.getReadableDatabase().rawQuery(select*from
usersswhereuid=?
newString[]{uid});
cur.moveToNext();
Stringname=cur.getString
(1);
Stringage=cur.getString
(2);
.
页脚..
.
Stringq=cur.getString(3);
Strings=cur.getString(4);
unetupd=(EditText)updView.findViewById(R.id.unetupd);
uagetupd=(EditText)updView.findViewById(R.id.uagetup
d);
uqpd=(EditText)updView.findViewById(R.id.uqpd);
uspd=(EditText)updView.findViewById(R.id.uspd);
unetupd.setText(name);
uagetupd.setText(age);
uqpd.setText(q);
uspd.setText(s);
畢汩敤?
敳側獯瑩癩?
瑵潴?
修改,newOnClickListener()
{
@Override
int
voidpubliconClick(DialogInterfacedialog,
which){
//TODOAuto-generatedmethodstub