我做的项目是:基于Android应用《玩转英语》
娄老师,我会用我的方式按照软件工程的五个阶段:需求分析、总体设计、详细设计、编码测试、运行维护来做这个项目,争取五周内完成,到时候交一份报告给您。
1.项目背景
如今,英语在人们的工作,学习中显得越来越重要了,而手机词典软件的出现无疑带来了极大的便利,遇到生疏的英语单词,现在只要拿起手机就能轻松解决。以前人们用最简单的辞典,在众多的资料中翻阅、查找,费时、费力,而且应用性非常差。设计这么一个玩转英语系统,使得用户可以便捷,快速的进行操作,同时也达到了稳定,准确的目的。基于Android的玩转英语程序的设计可以进一步扩大学习英语的途径,让广大公众能够随时随地方便且快捷地认识与记忆英语查词,以提高自身的英语水平。本软件提供从初次记忆查词到熟记查词的所有功能,帮助大家科学学习。当您初次使用本软件记忆查词后,系统会自动为您制定学习复习计划,帮助您科学快速地完成记忆查词的过程。软件提供测试功能,帮助您自我检测学习状态。更好地发挥了Android技术对移动互联网的现实性作用。
据市场研究公司IDC称,2013年上季度Android手机全球份额达75%。成为最大智能手机系统。今年第一季度,全球Android智能手机出货量上升至1.621亿台,高于去年同期的9030万台;市场份额为75%,高于去年同期的59.1%。其他操作系统的表现则要平稳很多。Android越来越引起人们的关注和追捧。移动通信和互联网成为当今世界发展最快、市场潜力最大、前景最诱人的两大业务,它们的增长速度都是任何预测家未曾预料到的,所以移动互联网可以预见将会创造经济神话。移动互联网的优势决定其用户数量庞大,截至2012年9月底,全球移动互联网用户已达15亿。
Android是一种以Linux为基础的开放源码操作系统,采用Linux内核,主要使用于便携设备。开放手机联盟(OHA)成员可以任意使用和修改安卓的SDK软件包。系统的开源性使其具有良好的拓展性,一方面,为众多移动应用开发者提供了良好的系统性平台,有利于移动应用的集合;另一方面,终端厂商可以针对自身的特殊需要“定制化开发”。与此相比,尽管2010年2月,塞班基本完成开源工作,但由于代码臃肿,用户界面设计缺失,塞班的开源并无实际意义,错失发展良机。因此,基于Android的玩转英语程序开发,也是现代移动互联网时代下催生的人们生活中不可或缺的一个产物。
我们认为,安卓操作系统发展迅猛主要得益于免费、开源和良好产业运作策略,这三点为安卓在智能手机市场赢得更多的发展机遇。系统的免费让更多的厂商加入,推动了份额的上升;代码的开源让更多的开发者进入应用开发;应用的丰富吸引了更多用户选择,这也是谷歌值得众多厂商学习的地方。此外,谷歌通过OHA联合众多厂商进行系统研发,不断更新版本,将系统应用推广到更多的终端产品中,确保用户体验持续改善。
3G互联网时代下,移动应用越来越多,Android 4.2.2更新包于2013年2月11日发布,未来采用Android系统手机越来越多。不仅仅在于手机,在任何移动设备上,都可以采用Android开发移植到终端设备上,例如电视、冰箱、空调、洗衣机等。将这些设备计入互联网,我们可以通过手机实时知道各个设备的状态,也可以控制它们工作。总之,Android 将带给我们更加智能、便捷、现代的生活。从而,Android应用的开发,将会越来越庞大,需求将会越来越丰富。开发玩转英语手机软件和其他应用将会越来越普遍,Android将会越来越壮大。
需求分析
1、 功能性需求分析
在软件设计之前,我们要做的工作就是对电子词典的流程,操作等,做出详细的调查,从而更加了解项目所需实现的功能。根据用户查单词和记忆单词的要求和记录所查生词的习惯,玩转英语软件实现后所达到的功能有:
(1)每日一句
将100个精美句子和翻译导入数据库,然后每次打开程序随机显示一句,让用户可以随时随地学好英语。
(2)查词
实现单词或词组的查词功能,提供中英文释义。
(3)翻译
实现中英文句子互译,方便用户学习。
(4)生词本
实现用户保存生词到生词本的功能,添加重点生词方便用户复习。当再次点击生词本中的单词时,再次跳回到查询该单词的界面,方便二次查询。
2、 非功能性需求分析
软件产品的非功能需求常被人们忽视。所谓非功能性需求,是指软件产品为满足用户业务需求而必须具有且除功能需求以外的特性。事实上,软件铲平的非功能性需求不仅决定产品的质量,还在很大程度上影响产品的功能需求。本项目涉及的非功能需求有:
(1)低资源消耗
手机设备CPU及内存资源相对有限,要求程序节省单词查询和翻译时所用时间以及对CPU的占用,从而节省对手机硬件资源的占用,提高程序运行的流畅度。
(2)易用性
易用性是与一组规定或者潜在的用户为使用其软件所需做的努力和对这样的使用所作的评价有关的一组属性。具体包括:
• 易理解性:与用户为人质逻辑概念即其应用范围所花的努力有关的软件属性。
• 易学习性:与用户为学习软件应用所花的努力有关的软件属性。
• 易操作性:与用户为操作和运行控制所花的努力有关的软件属性。如带首字母筛选功能的下拉列表等。
3、系统模块划分与操作流程图
模块划分
根据功能性需求,系统模块划分为:每日一句模块、查词模块、翻译模块、生词本模块。对应的模块图如图:
系统模块图
各模块主要功能详细介绍如下:
(1)每日一句
先将100个精美语句与翻译从Excle表导入数据库,在程序开始执行的第一个页面显示该语句,可方便用户随时随地学习英语。
(2)查词
1)输入所查单词或词组
用户在所给的EditText文本框中输入所要查询的单词或词组。
2)查询结果显示
当用户输入所要查询的单词或词组后,单击翻译按钮会显示查询结果,如果输入单词时英文会显示对应的汉语意思以及英式和美式发音,如果输入的是汉语词语会显示对应的英文单词。
3)添加到生词本
完成所查的单词和词组后,单击保存到生词本按钮用户可将所查单词和词组存入生词本,方便记忆和学习。
(3)翻译
该模块提供中英文互译,在文本框输入所要查询的中文或英文句子,点击翻译按钮,程序通过调用有道翻译API对所输句子进行翻译,然后将返回结果用JSON解析显示出来。
(4)生词本
1)删除
单击生词本的删除按钮,可将生词本中存入的单词会词组删除掉。
2)再次查询
单击生词本中的某个单词可再次跳到查询该单词的界面,方便用户再次查询该单词或词组。
系统操作流程图
该软件的操作流程图如图所示:
系统操作流程图
还有就是数据库的设计,现在正在设计中,我会选用一个轻量级的数据库(sqlite数据库),下次实验报告会完成这个内容,我觉得连接数据库很关键,也是个难点,给自己加油!!!
新增内容:
每周计划:
1.第一周
搭建android环境,基本完成需求分析和数据库的设计
2.第二周
完成总体设计,根据功能画出模块图
3.第三周
完成详细设计,将每个模块的功能编码实现
4.第四周
基本实现项目功能,完成系统的测试(包括程序的调试,具体模块的测试)
5.第五周
撰写实验报告,力求规范合理
界面建模效果图如下: