容器的安全管理[8]。
Tomcat开始由杰姆斯邓肯戴维森一个servlet的参考而实现,杰姆斯是Sun公司的软件架构师。后来他帮助开源项目,Sun系统公司在其中起到了关键作用,把tomcat捐赠给Apache软件基金会。Apache Ant一个构建软件自动化工具的开发成为作为一个开放源代码项目的Tomcat创作的一个副产品。
戴维森最初希望该项目能成为开放源代码。因为许多开源项目有O'Reilly的书籍,他们的封面上的展示和动物有关,他也在想自己项目的动物名称。他想出了Tomcat(公猫),一个可以保护自己的代表动物,虽然Tomcat已经使用另一个O'Reilly的标题。当O'Reilly他们介绍Tomcat的书封面上出现了一只三脚猫,他希望看到的一个动物图标也终于被实现了。
2.4 平台简述
2.4.1 Android平台
安卓是一种移动操作系统(操作系统),该系统以linux核为核心,最初由谷歌公司开发,主要为触摸屏移动设备而设计,如智能手机和平板电脑。Android的用户界面主要是基于直接操作,使用触控手势松散地对应于真实世界的行为,如滑动、轻触、戳、操纵屏幕上的对象,通常还伴有输入文字的虚拟键盘。除了触摸屏设备外,谷歌还为汽车开发了Android Auto,为手表开发了Android Wear,为电视开发了Android TV,而且每个都拥有独享的用户界面。安卓在笔记本电脑、游戏机、数码相机和其他电子产品中也有不同的应用。
安卓系统现在有所有操作系统的任何种类的最大的安装占有量。自从2013以来,安卓一直是平板电脑上最好的销售系统,在智能手机上,它也占有绝对支配地位。
最初安卓由Android, Inc.开发,在2005被谷歌收购,2007年开放手机联盟成立了,包括谷歌在的85家企业,涉足硬件制造、软件开发、电信运营领域,共同研发和升级安卓系统,使得这个原本并不算成熟的系统迅速成长起来。从2008年首款安卓手机问世,到2011年,安卓系统仅用了3年就超过了盛极一时的塞班系统,问鼎全球第一系统的宝座。截止到2015年,安卓已经拥有14亿个月活跃用户,并且在一项调查中显示超过71%的移动客户端开发者表示曾经使用过安卓系统开发应用,40%的职业移动应用开发者把安卓作为优先目标平台,同时苹果的ios占有率为37%[9]。
安卓在定制低成本高科技设备操作系统是十分流行。拥有很大的开源社区和数目庞大
的开发爱好者,安卓系统增加了很多先进功能,甚至有高级用户将安卓操作系统的先进特性移至到其他系统之。同时,由于Android没有集中的更新系统大多数Android设备无法获得安全更新:研究2015得出结论,几乎90%的Android手机在使用过但由于缺乏更新和支持未打补丁的安全漏洞。尽管安卓的源代码发布拥有谷歌的开源许可证书,但是绝大多数的安卓设备最终是以一种开源和专有组合起来的方式发货的。甲骨文公司最近起诉谷歌公司,认为其安卓系统中侵害了java的软件著作权索要天价赔款,但是诉讼中美国法院认为其系统尚未构成抄袭,谷歌获得了此次诉讼的胜利。
2.5 需求分析
2.5.1 菜谱系统的需求分析
随着网络化步伐进一步加快,各行各业都在进行网络化改革。互联网成功创业的案例层出不穷,一方面人们对于互联网的依赖性与日俱增,另一方面企业家们也开始对这种新颖的商业模式产生浓厚兴趣。但是由于技术手段的受限,开发时间受限,开发人力受限,开发经费不明确,管理经验不足等种种原因不少企业家更倾向于观望,持保守态度,踌躇不前。因此,总的来说,大多数的传统企业家,对虚拟经济持观望态度,或者处于长期考察的阶段。
建立一个优秀完整的系统之前,全面完备的系统分析是必不可少的。只有做好系统分析,才能指导项目良好地长期发展。而本设计优良的系统分析是建立在优良的需求分析之上的。
得益于良好的系统分析,本项目可以按计划有序进行,有秩序地逐步完成。假若没有进行完整的系统分析,却试图通过编程调试来完成需求,必然会导致编程思路混乱,新增功能时和原有功能冲突,严重扰乱系统逻辑,拖慢开发进度,此时再进行系统分析恐怕为时已晚,成品的质量恐怕也是难以恭维。项目的进度一旦严重落后,开发人员的心难免也会产生波动,更加影响开发的质量,拖慢开发进度,甚至导致版本倒退,这也正是软件危机的一种具体呈现。所以想要规避这种结果,做好系统分析必不可少。明确系统的功能目的在系统分析时是首要的,考虑实现手段在此时则相对占次要地位。只有明确系统的功能,最后问题才课能迎刃而解。
紧接着,是本文的核心。一个系统必然少不了用户和管理员的模型。用户是数据操作的主体,对数据库进行主要操作,包括登陆,注册,查询,评论收藏。管理员主要负责维护系统,主要职责包括维护菜谱的时效性,维护系统的稳定,可以进行用户的删除,评论
的删除,收藏的删除等操作。
菜谱系统在性能上应满足以下需求:
(1) 界面友好: 用户无需培训就可以自发完成注册,浏览,收藏,评论等核心操作。页面布局合理美观,信息一目了然,功能键按照常见的顺序排列,放置在醒目,合理的位置。尽量让用户感受到所见即所得,用户体验优先。管理员对表的增删查改操作都应该直观且高效。
(2) 交互及时: 控件应该是响应式或是具备响应式控件的特点,每次操作都有相关的提示或者变化效果,以便用户了解自己操作的情况。远程操作后应该有操作成功或者失败的提示,删除等危险操作时应该给予警告以防误触。
(3) 系统应该为新的功能保留接入的空间,即具有优良的扩展性。
(4) 系统运转之后应该可以长期稳定地维持运转,并在遭遇突发事件后有能力恢复系统的正常运行。
表2-1 需求表
主要属性 正确性 健壮性 性能效率 易用性 安全性 可扩展性 兼容性
具体需求 按照需求既无遗漏也不越界正确无误地完整执行程序。 亦可称为鲁棒性,即程序拥有容错能力和回复能力。 在拥有良好网络环境的情况下,响应时间不应该超过3秒。 技术开发文档语言朴素平实并且没有歧义。 关键性数据的传输与存贮应在成熟的加密协议下进行 进行新功能的开发时不会对原有功能产生破坏 新版本的软件应该对旧版本程式给予支持 2.5.2 可行性分析
在因特网上,我们往往需要通过留言来进行跨时间的交流,这是一种典型的交互式设计。最常见的形式就是网络用户需要与网页的拥有者或者维护者互通信息,或者游客与游客之间相互交流时,可以在一个特定的区域贴文章或者意见看法。
本系统后台数据库采用MySQL,该数据库系统在安全性、准确性和成本方面有的较大优势;前台采用来自Oracle公司的Java语言作为开发基础,可以无缝的连接MySQL数据库[10]。
本系统的架构是基于Android + Servlet + MySQL 框架开发而成的,采用B/S架构,优点有成本低,建设快,维护方便等等。在实际运行时,本设计在功能模块化的指导思想下,较好地达成了目标,也为今后的扩充功能保留了充足的空间,既方便又灵活。
综合以上几点总结分析,本次毕业设计选定安卓做为食谱系统的平台。
第三章 系统设计
系统设计又称概要设计,是为一个系统定义结构,组件,模块和接口等以满足的需求过程。系统设计作为系统理论的应用,在其分析与架构上和一些工程学科有所重叠。
3.1 功能模块的划分
本系统主要分为前端后端两个部分六个模块,前端作为客户端拥有登录模块,注册模块,浏览模块,收藏模块,评论模块;后端作为管理系统拥有登陆模块和管理员模块。
3.2 模块的功能设计
登录模块:用户键入账户名和密码,与后台数据库比对
浏览模块:用户可以浏览所有的菜谱条目,并对菜谱条目详细信息进行浏览 收藏模块:用户能够收藏所选菜谱 评论模块:用户能够评论指定菜谱
管理模块:管理员能够增加最新菜谱,管理用户,评论以及收藏。
3.3 数据库的设计
数据库结构设计 (Database Design)就是指按照需求,规划每个数据对象之间互相的关联关系,并使数据库中表对象结构规划统一。此过程是在某一具体的数据库管理系统之下,如本设计中所使用的是JDBC,以完成数据库的规划与建立的[11]。 3.3.1 需求分析
首先,我们要对用户做调调研,整合优化他们的数据使用情况和业务需求,以初步确定数据规模,种类还有长度。然后根据这些基础,建立起一个系统的需求,以供建立数据使用。
对于菜谱系统来说主要实体首先是菜谱本身,菜谱表自动生成一个编号作为主键以供其他模块使用。菜谱本身还需要一些其他的容信息诸如做法,图片,分类,配料等等。此系统另一个主要实体是用户。同样用户需要一个自动生成的编号作为主键,用户还需要保存用户名,密码,注册时间等信息。在这两表的基础之上,用户的收藏,评论操作都是以用户表,菜单表的主键作为外键引用,并且自动生成编号作为主键。
通过已知的数据模型对数据模式进行设计,最后完成的符合需求的E-R图(实体-关系模型)如图3-1:
相关推荐: