1、1. 引言 21.1 编写目的 21.2 项目风险 21.3 预期读者和阅读建议 21.4 产品范围 21.5 参考文献 22. 综合描述 32.1 产品的状况 32.2 产品的功能 32.3 用户类和特性 32.4 运行环境 32.5 设计和实现上的限制 32.6 假设和约束 43. 外部接口需求 43.1 用户界面 43.2 软件接口 43.3 通讯接口 43.4 天气信息显示和获取 43.5 天气预警提示 53.6 系统配置功能 53.7 用户交互需求 54. 其它非功能需求 54.1 性能需求 54.2 安全措施需求 54.3 安全性需求 54.4 软件质量属性 64.5 业务规则 6
2、4.6 用户文档 65. 词汇表 61. 引言1.1 编写目的 为用户提供一个显示天气预报的软件,可以根据用户需求关注几个城市,以及用图标动画表示各城市对应的的气象信息,可以简洁的表示出“晴、雨、雪”和“高温”等气象信息。支持用户向“天气预报”系统所在的手机上发送恶劣天气提示,同时用户也可以根据自身需求设置获取天气预报的城市,设置更新时间,也可设置城市关键字,并保存用户自己的信息在数据库中,另外设有恢复默认设置功能。1.2 项目风险 (项目风险识别是指找出影响项目目标顺利实现的主要风险因素,并识别出这些风险究竟有哪些基本特征、可能会影响到项目的那些方面。 ) 联网收费视用户电话运营商的收费标准
3、决定 手机或者无线信号不好时,可能无法连接或更新天气情况1.3 预期读者和阅读建议 预期读者:会使用已经安装安卓系统智能手机的用户 阅读建议:读者应通过该文档可以了解相关项目的需求分析、使用注意事项以及可能存在的风险1.4 产品范围 使用安卓 2.3 以上系统的智能手机1.5 参考文献 Android 应用程序开发 清华大学出版社 2010 版2. 综合描述2.1 产品的状况 Android 是一种以 Linux 为基础的开放源代码操作系统,主要使用于便携设备。目前尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“ 安致”。Android 操作系统最初由 Andy Rubin 开发,最初主
4、要支持手机。2005 年由 Google 收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他数码领域上。我们开发的相关项目正是一个在安卓平台上开发的软件,可以用这个软件来实现用户在一些简单的手持设备如手机或者平板电脑等上面及时的了解到用户所在城市或者用户关注城市的天气预报并提供预警提示。2.2 产品的功能 天气信息显示和获取 天气信息提示功能 系统配置功能2.3 用户类和特性 新安卓平台用户:安卓新用户可以使用软件来了解用户所在城市或者关注城市的天气预报,并可以选择是否使用提示服务。 熟悉安卓平台用户:熟悉安卓平台用户可以了解用户所在城市或者关注城市的天气预报,并可以选择是否使用提
5、示。除此之外,还可以选择对相关软件的系统按自己的喜好进行配置并保留自己的个性化系统配置。 安卓软件开发者:安卓软件开发者(喜好者)可以通过相关的开源代码来了解软件运行的原理,还可以根据自己喜好加以修改。2.4 运行环境 软件需要在支持安卓系统的可移动设备中正确安装才能正常运行。安卓版本需在 2.3 及以上,同时建议用户如果是在手机移动设备使用的话,需确保手机支持 GPS 与联网服务。2.5 设计和实现上的限制 Eclipse 是开发相关应用软件的首选集成开发环境,安卓开发环境首先需要安装支持 java 应用软件运行的 java 开发软件包(即 JDK) ,然后安装集成开发环境Eclipse,最
6、后安装 Android SDK 的 Eclipse 的 ADT 插件。 Android SDK 和 Eclipse 的 ADT 插件是必须使用的。 软件支持高效、快速的数据存储方式,包括快速数据存储方式SharedPreferences、文件存储和轻量级关系数据块 SQLite,可软件可以使用适合的方法对数据进行进程保存和访问。2.6 假设和约束 软件必须在安卓系统下才可以正常运行,若需要获取天气更新,需确保用户的智能手机支持联网服务。3. 外部接口需求 用户的手持设备支持联网服务,信号和网络状态良好。3.1 用户界面 显示查询城市的天气详细情况 显示天气动画效果以及声音效果 显示主要菜单选项
7、3.2 软件接口 软件提供轻量级的进程间通信机制 Intent,实现跨进程组件通信。 访问硬件的 API 库函数3.3 通讯接口 HTTP 协议:有多种接口可以调用你可以用 Java 类库封装的 HttpConnection 或者用 Apach 的开源项目的 HttpGet 或者 HttpPost ,服务器端 需要 编写 Serlvet 来响应客户端的请求。 Sokcet : 就是 服务器端 不断监听 双方约定好的端口号,客户端通过服务器IP 去请求连接,连接成功后,得到 Socket 的输入输出流,直接操作即可。3.4 天气信息显示和获取 功能描述:需有一个显示天气情况的用户界面,全国热门城
8、市可以直接查询天气(如:杭州、上海、宁波等 3-5 个城市) ,以及用图标表示各城市对应的气象信息,表示出“晴、雨、雪”和“气温”简洁气象信息。 输入输出信息: 输入:当触摸某一城市对应的气象图标时,显示该城市当天的温度、湿度、风向和雨雪详细天气信息,并预报该城市后面几天的气象信息。 输出:气象信息的获取,从 Google 上获取天气预报信息,这些天气数据是通过后台服务获取的,这个后台服务可以按照一定时间间隔,并将各城市的天气信息保存到 SQLite 数据库中。3.5 天气预警提示 功能描述:基于恶劣特殊天气情况,用户可以设置向自己手机系统上发送恶劣天气提示消息,并在消息中包含用户指定的关键字
9、,则可以将保存在后台服务中的天气情况,再通过消息通知回复给用户。 输入输出信息: 输入:用户自定义自己关注的城市 输出:天气软件向手机系统发出消息通知3.6 系统配置功能 功能描述:用户可以设置当前城市,以及感兴趣的几个城市,获取这些城市的气象信息;可设置气象信息更新的时间间隔;可设置是否开启特殊天气消息通知;可设置各特殊天气状态对应的关键字,并将这些信息保存在数据库中。 系统可以恢复默认设置。3.7 用户交互需求 功能描述:本软件包含三个主要的用户界面:显示天气预报的用户界面,显示软件设置的用户界面,自定义添加城市的用户界面。4. 其它非功能需求4.1 性能需求 在安卓系统的移动设备上,当系
10、统至少有 20 M 的空闲资源时4.2 安全措施需求 用户使用相关软件获取天气情况时,可能因联网而产生费用,当用户设备有多个软件进行时,可能会导致软件不响应,此类情况用户可以长按挂机键直接退出软件,4.3 安全性需求 用户可以选择是否使用 GPS 服务,同时使用 GPS 服务或者联网时可能导致用户的隐私信息泄露4.4 软件质量属性 5.4.1 对用户重要的属性: 有效性 效率 灵活性 完整性 操作性 可靠性 健壮性 可用性 5.4.2 对开发者重要的属性: 可维护性 可移植性 可重用性 可测试性4.5 业务规则 只有用户在安卓系统的智能手机上方可使用软件。4.6 用户文档 软件概要设计说明书 软件需求分析说明书 软件需求分析说明书5. 词汇表 Android SDK:Android Software Development Kit 安卓软件开发工具包,是google 公司为了提高安卓应用软件开发效率、减少开发周期而提供的辅助开发工具、开发文档和软件范例。 ADT:Android Development Tools,是 Eclipse 集成开发环境的定制插件。为开发安卓应用程序提供了一个强大的、完整的开发环境,可以快速建立安卓工程,用户界面和基于 Android API 的组件,还可以使用 Android SDK 提供的工具进行程序调试,对 apk 文件进行签名等等。