? 《Android应用程序开发》课程 ?
天气预报软件设计
2. 综合描述
2.1 产品的状况
? Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设备。目
前尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,最初主要支持手机。2005年由Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他数码领域上。我们开发的相关项目正是一个在安卓平台上开发的软件,可以用这个软件来实现用户在一些简单的手持设备如手机或者平板电脑等上面及时的了解到用户所在城市或者用户关注城市的天气预报并提供短信服务。
2.2 产品的功能
? 天气信息显示和获取 ? 天气信息短信服务 ? 系统配置功能
2.3 用户类和特性
? 新安卓平台用户:安卓新用户可以使用软件来了解用户所在城市或者关注城市的天
气预报,并可以选择是否使用短信服务。
? 熟悉安卓平台用户:熟悉安卓平台用户可以了解用户所在城市或者关注城市的天气
预报,并可以选择是否使用短信服务之外,还可以选择对相关软件的系统按自己的喜好进行配置并保留自己的个性化系统配置。
? 安卓软件开发者:安卓软件开发者(喜好者)可以通过相关的开源代码来了解软件
运行的原理。
2.4 运行环境
? 软件需要在支持安卓系统的可移动设备中正确安装才能正常运行。安卓版本需在
1.5及以上,同时建议用户如果是在手机移动设备使用的话,需确保手机支持短信与联网服务。
2.5 设计和实现上的限制
? Eclipse是开发相关应用软件的首选集成开发环境,安卓开发环境首先需要安装支
持java应用软件运行的java开发软件包(即JDK),然后安装集成开发环境Eclipse,最后安装Android SDK的Eclipse的ADT插件。 ? Internal Use Only
? 《Android应用程序开发》课程 天气预报软件设计
? Android SDK和Eclipse的ADT插件是必须使用的。
? 软件支持高效、快速的数据存储方式,包括快速数据存储方式
SharedPreferences、文件存储和轻量级关系数据块SQLite,可软件可以使用适合的方法对数据进行进程保存和访问。
2.6 假设和约束(依赖)
? 软件必须在安卓系统下才可以正常运行,若需要获取天气更新或者是短信服务,需
确保用户的数码设备支持联网及短信服务。
3. 外部接口需求
? 用户的手机设备可以支持联网以及短信服务。
3.1 用户界面
?
3.2 软件接口
? 软件提供轻量级的进程间通信机制Intent,实现跨进程组件通信。 ? 访问硬件的API库函数
?
?
? Internal Use Only
? 《Android应用程序开发》课程 天气预报软件设计
3.3 通讯接口
? HTTP 协议:有多种接口可以调用你可以用Java类库封装的HttpConnection 或
者用Apach的开源项目的 HttpGet 或者HttpPost ,服务器端 需要 编写 Serlvet来响应客户端的请求。
? Sokcet : 就是 服务器端 不断监听 双方约定好的端口号,客户端通过服务器IP
去请求连接,连接成功后,得到Socket 的输入输出流,直接操作即可。
4. 系统功能需求
4.1 天气信息显示和获取
? 功能描述:需有一个显示天气情况的用户界面,要求用Google Map地图显示各城
市位置(如:杭州、上海、宁波等3-5个城市),以及用图标表示各城市对应的气象信息,表示出“晴、雨、雪”和“气温”简洁气象信息。 ? 输入输出信息:
? 输入:当触摸某一城市对应的气象图标时,显示该城市当天的温度、湿度、风向和
雨雪详细天气信息,并预报该城市后面几天的气象信息。
? 输出:气象信息的获取,从Google上获取天气预报信息,这些天气数据是通过后
台服务获取的,这个后台服务可以按照一定时间间隔,并将各城市的天气信息保存到SQLite数据库中。 ? ? ?
? 图4.2XXXX操作流程 ?
? 以下是具体功能分析:
4.1.1 XXXXXX
? ? ? ? ? ? ? ? ? ? ? ?
说明:
4.1.1.1 XXXXX
图4.3 XXXX 4.1.1.2 XXXXX 说明:
图4.4 XXXX
4.1.1.2 XXXX
图4.5 XXXXX
? Internal Use Only
? 《Android应用程序开发》课程 天气预报软件设计
4.1.2 XXXXXX
4.2 天气信息短信服务
? 功能描述:还需要提供基于SMS短信的天气数据服务,其他手机用户可以向“天
气预报”系统所在的手机上发送SMS短信,并在短信中包含用户指定的关键字,则可以将保存在后台服务中的天气情况,再通过SMS短信回复给用户。 ? 输入输出信息:
? 输入:用户接受到其他手机请求天气服务的SMS短信和回复的内容 ? 输出:请将内容保存在SQLite数据库中,可以浏览或删除这些信息。
4.3 系统配置功能
? 功能描述:用户可以设置当前城市,以及感兴趣的几个城市,获取这些城市的气象
信息;可设置气象信息更新的时间间隔;可设置是否回复天气信息服务短信;可设置各城市对应的关键字(如:HZ表示杭州),供短信服务使用,并以上这些信息保存在数据库中。
? 系统可以恢复默认设置。
4.4 用户交互需求
? 功能描述:本软件包含三个主要的用户界面:显示天气预报的用户界面(2个),显
示已发送SMS短信的用户界面,浏览和设置配置信息的用户界面,示意图如下(图中与文字描述不符之处,以文字描述功能为准)。
5. 其它非功能需求
5.1 性能需求
? 在安卓系统的移动数码设备上,当系统至少有20 %的空闲资源时
5.2 安全措施需求
? 用户使用相关软件获取天气情况时,可能因联网而产生费用,另外短信服务也视用户的手机运营商收费标准决定,当用户设备有多个软件进行时,可能会导致软件不响应,此类情况用户可以长按挂机键直接退出软件,
? Internal Use Only
? 《Android应用程序开发》课程 天气预报软件设计
5.3 安全性需求
? 用户可以选择是否使用短信服务,同时使用短信服务或者联网时可能导致用户的信
息泄露
5.4 软件质量属性 (评分制:满分5分)
? 5.4.1对用户重要的属性:
? 有效性
? 效率 ? 灵活性 ? 完整性 ? 操作性 ? 可靠性 ? 健壮性 ? 可用性
? 5.4.2 对开发者重要的属性:
? 可维护性
? 可移植性 ? 可重用性 ? 可测试性
5.5 业务规则
? 只有用户在安卓系统的数码设备上方可使用软件,且手机之外的设备可能不支持短
信服务
5.6 用户文档
? 软件概要设计说明书 ? 软件需求分析说明书 ? 软件需求分析说明书
6. 词汇表
? Android SDK:Android Software Development Kit安卓软件开发工具包,是google
公司为了提高安卓应用软件开发效率、减少开发周期而提供的辅助开发工具、开发? Internal Use Only
? 《Android应用程序开发》课程 天气预报软件设计
文档和软件范例。
? ADT:Android Development Tools,是Eclipse集成开发环境的定制插件。为开发
安卓应用程序提供了一个强大的、完整的开发环境,可以快速建立安卓工程,用户界面和基于Android API的组件,还可以使用Android SDK提供的工具进行程序调试,对apk文件进行签名等等。
7. 数据定义
8. 待定问题列表
? ? ?
? Internal Use Only