1、67张坤鹏88王文凯79郑四林 第一章项目介绍选题:鉴于本次课程设计的目的是通过一些实际的例子,培养学生分析和解决实际问题的能力,培养学生综合应用基本概念、基本原理和技术方法的能力,真正做到学以致用,使课本上抽象的理论、方法与具体的实践应用相结合,所以我们组选择了安卓通讯录这个课题。背景:Android本意词是指“机器人”, 同时也是Goole于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,Android是一种基于Linux的自由及开放源代码的操作系统,Android以其自由开放源代码的特点而成为最热门的智能手机。 在这个信息化的时代,手机已成为继固话之后最为通俗的交流
2、工具,“通讯”成了生活的必需品,这就有了系统下人与人之间的多样联系方式手机通讯录。传统通讯录以纸张为载体,将需要记录的联系人一一人登记在册,包括地址、联系方式等,再在需要时进行翻阅查询。手机通讯录,在手机系统下,占用手机相对很小的空间,系统的记录联系人的联系方式及其他信息,不仅突破了各种条件的舒服,减轻了机主的负担,更方便了使用者的通讯。综上所述,手机通讯录管理系统是一个高效、实时、绿色环保的管理系统。然而现在很多通讯录外观花哨、功能单一或形同虚设。针对以上各种弊端,我们通过需求分析等着手设计一款简单方便的通讯录。项目:本项目的设计工作如下:选题、分组、任务划分,需求建模(需求基本描述,用例图
3、和用例描述),系统分析(查找分析类,序列图和活动图),系统设计(功能设计程序流程图,数据库设计,界面设计原型图)。 本项目使用eclipse开发平台,并连接使用SQlite数据库编写。分为后台数据库的建立和维护,以及前端应用程序的开发两个部分,主要包括添加、删除、修改联系人姓名、电话、住址等。组员分工: 需求分析(用例描述):系统分析(时序图、协作图、类图):张坤鹏 郑四林 王文凯 王浩系统设计(数据库、界面设计):整理总结:第二章需求分析 基本功能需求 (1) 用户通过联系人功能可以保存联系人的详细信息,可以对联系人进行编辑、删除,可以根据索引条件搜索联系人。 (2) 用户可以选择联系人拨打
4、电话或发短信。 (3) 用户通过个人中心可以设置自己的详细信息,这样方便其他人了解自己,也可以将具有相同名字的联系人合并。 系统用例分析 图1显示了联系人功能模块的用例。包括了查看联系人详细信息,编辑联系人信息,新建联系人,打电话,发短信,对选中的联系人,可以对其进行删除的操作。用户还可以进行联系人搜索,这样方便用户快速找到想找的联系人信息。打电话发短信查看联系人搜索联系人编辑联系人删除联系人手机用户新建联系人人图1 电话薄模块用例图 图2为个人中心模块中设置个人详细信息子模块的用例。该模块的功能就是用户设置自己的个人基本信息。设置个人信息图2 设置个人信息模块用例图 图3显示了联系人导入导出
5、的用例图。该模块的功能就是联系人的导入与导出。导入联系人导出联系人图3 联系人导入导出第三章系统分析与设计 一个好的系统设计的步骤决定了程序是否能按照设计者的目的按时完成,是否能在规定的时间内按照设计者的要求高质量的完成程序必要的功能。并且按照标准的设计步骤对程序进行调试,测试,以及后期的优化完善,使程序更加具有健壮性和可用性。通过对通讯录功能、系统模块、用户需求方面进行全方位的分析制定开发流程。 通讯录设计根据手机功能调查显示,近十成消费者都会使用手机通讯录功能,随着手机通讯录功能的不断加强与完善,手机通讯录的意义,已不仅仅像电话薄一样显示电话号码,而是向着个性化、人性化的方向发展。通讯录从
6、无到有,从英文到中文,经历了十几年的发展历程,今后的发展趋势就是从通讯录发展为名片夹,也就是在一个联系人之下有手机号码、固话号码、公司、住址、邮箱、备注等内容。手机通讯录扮演着与用户直接交互并且提供服务的重要角色,它需要提供良好的用户体验,方便用户操作,接收用户的操作并把这些操作转换成相应的命令,采用用户活动的方式完成各个服务的逻辑流程。其功能主要包括增加、删除、编辑联系人,查找联系人,菜单功能,导入导出功能。 增加、删除、编辑联系人点击通信录界面中的增加按钮,进入增加联系人界面。输入联系人的基本信息,并可根据用户需求增加个性化信息如头像、姓名、手机号码、办公室电话、家庭电话、职务职称、单位名
7、称、地址、邮政编码、Email、其他联系方式、备注这些信息,单击确认返回主界面。点击通信录中一个已存在的联系人,进入联系人编辑界面,可修改联系人的资料或进行删除联系人操作,完成后退回到主界面。对列表中联系人的标记,点击menu键弹出功能界面上的删除按键也可进行删除。还可以在菜单上选择删除全部联系人来清空通讯录。在删除联系人的过程中,系统将提示用户是否继续操作,若放弃操作,则联系人信息将继续保存。 查找联系人 用户点击menu键打开底部菜单框,底部菜单框为查询联系人提供入口,进入通讯录的缺省页面为联系人列表,在列表中看到所有联系人的姓名、电话信息排列,用户点击查找按键输入联系人基本信息,通讯录显
8、示所有符合查询条件的联系人列表,用户选择一个联系人进入联系人基本信息页面进行其他操作;查询完成,用户按返回键返回主界面。菜单功能通过对menu按键的点击,显示底部菜单框,包含有增加、查找、删除、菜单、返回功能,菜单按键则包含显示所有、删除所有等实用功能。 系统功能图采用标准的开发流程确定系统具有用户管理功能,联系人增删改功能,通讯功能,查找功能,备份等功能。系统功能图如图4所示。增加查找删除菜单导入联系人列表退出修改更多图4系统功能图开始选择功能编辑搜索发信息新建更新数据库选中条目输入搜索条件结束输入新联系人信息后保存显示搜索结果图5系统运行流程通过对系统的功能结构的分析,设计后系统运行流程是
9、系统运行后用户将进入通讯录主界面,可以看到联系人,增加联系人。通过点击MENU界面的增加功能选项可以新增联系人,通过查找按钮可以对联系人进行姓名、号码的操作,通过选择联系人并点击删除键可以对联系人进行删除操作,通过菜单功能可以显示所有联系人、删除所有联系人、并备份SD卡功能。系统的运行流程如图5所示。 时序图 下面是新建联系人的时序图下面是修改联系人的时序图下面是查询联系人的时序图下面是删除联系人的时序图下面是拨打电话的时序图下面是发短信的时序图 协作图下面是新建联系人的协作图下面是查询联系人的协作图下面是修改联系人的协作图下面是删除联系人的协作图下面是打电话的协作图下面是发短信的协作图 类图
10、下面是设计的类图: 数据库设计 Android数据库概述Android自带了SQLite数据库,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。 数据库表详细设计对系统所需功能需求分析通过了设计确定了系
11、统数据库中表的设计,该系统有一张表电话薄表,下面为表的详细设计。表1字段名类型是否可为空是否为主键描述usernameString否用户名_idint无mobilePhone是联系电话officePhone办公电话familyPhone家庭电话position职务职称company公司address住址email电子邮件otherContact备注imageId头像图片名 为了实现联系人在数据库中的增加,删除,查找等操作,使用操作数据库的核心类。使用SQLiteOpenHelper的子类来完成创建、打开数据库及各种对数据库的操作。数据库的类继承函数,显示了数据库类的继承关系。 界面设计界面布局
12、 Android的资源文件保存在/res的子目录中。其中/res/drawable/目录中保存的是图像文件,/res/values目录中保存的是用来自定义字符串和颜色的文件,/res/xml目录中保存的是XML格式的数据文件。所有在程序开发阶段可以被调用的资源都保存在这些目录中,在对界面进行绘制时要考虑到不同手机屏幕大小可能不一样,应尽量兼容大多数手机屏幕尺寸,使之显示无障碍。 在通讯录中最主要的功能操作,也就是联系人的添加操作的功能,在联系人增加界面中点击保存按钮实现对联系人信息的保存。首先在user类中定义了一个user函数从表单中获取数据,建立数据库帮助类,打开数据库并将user保存到数
13、据库中,已实现的增加界面如图所示。第四章总结通过本次课程设计,我们在实际的例子中学习了如何分析并设计一款软件,加强了我们的分析和解决实际问题的能力,在综合应用基本概念、基本原理和技术方法上取得了不小的进步。在参与设计的过程中我们遇到了很多困难和误区,还有不少不一致的意见,最终我们取长补短达成了共识,这让我们意识到设计一款软件并不是那么容易,要充分考虑到各种可能情况,并尽力做到最好。这次课程设计给我们的学习很大启发,让我们认识到以后步入工作掌握软件项目文档的写作是多么的重要。在以后的学习中,我们将继续认真研究,本着学以致用的原则,使课本上抽象的理论、方法与具体的实践应用相结合,为开发更多优秀的软件打好基础。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1