概要设计说明书学院:计算机科学与技术学院班级:0491101、0491102任课老师:陶春梅组长:陈迪(2011211587)组员:詹芳祥(2011211554)吴杰(2011211568)许冶金(2011211556)何旺(2011211550)刘晓杰(2011211973)赵莹(2011211997)曾甜(2011211695)目录E.1引言 (3)E.1.1编写目的 (3)E.1.2背景 (3)E.1.3定义 (4)E.1.4参考资料 (5)E.2总体设计 (5)E.2.1需求规定 (5)E.2.1.1对功能的描述 (5)E.2.1.2对性能的规定 (5)E.2.1.3输入输出要求 (7)E.2.1.4数据管理要求 (8)E.2.1.5故障处理要求 (8)E.2.1.6其他专门要求 (8)E.2.2运行环境 (9)E.2.2.1设备 (9)E.2.2.2支持软件 (9)E.2.2.3接口 (9)E.2.2.4控制 (9)E.2.3基本设计概念和使用说明 (10)E.2.3.1设计理念 (10)E.2.3.2使用说明 (10)E.2.4结构 (10)E.2.5功能需求与程序的关系 (10)E.2.6有待改进的方面 (11)E.3接口设计 (11)E.3.1用户接口 (11)E.3.2外部接口 (23)E.3.3内部接口 (23)E.4运行设计 (25)E.4.1运行模块组合 (25)E.4.2运行控制 (25)E.4.3运行时间 (25)E.5系统数据结构设计 (25)E.5.1逻辑结构设计要点 (25)E.5.2物理结构设计要点 (26)E.5.3数据结构与程序的关系 (26)E.5.4主要代码的解释 (27)E.6系统出错处理设计 (28)E.6.1出错信息 (28)E.6.2补救措施 (29)E.6.3系统维护设计 (29)E.1引言E.1.1编写目的A.概要设计说明书的目的本文档的目的旨在推动软件工程的规范化,使设计人员遵循统一的概要设计书写规范,节省制作文档的时间,降低系统实现的风险,做到系统设计资料的规范性与全面性,以利于系统的实现、测试、维护、版本升级等。
本文档用于软件设计阶段的概要设计,它的上游(依据的基线)是需求分析规格书,它的下游是系统详细设计说明书,并为详细设计说明书提供测试的依据。
B.预期的读者该文档使用人员包括:●系统分析人员●系统设计人员●系统编码人员●系统测试人员●系统维护人员E.1.2背景A.待开发软件系统的名称记得V2.0B.任务分配及运用该软件的计算站1.E.1引言(目录)------------------------------------------------曾甜2.E.2总体设计-----------------------------------------------------詹芳祥、吴杰、陈迪3.E.3接口设计和E.4运行设计---------------------------------许冶金、何旺4.E.5系统数据结构设计------------------------------------------刘晓杰5.E.6系统出错处理设计(排版)------------------------------赵莹适用手机系统:智能手机Android2.2以上用户:喜爱写日记的android智能手机用户。
C.开发平台Java JDK Eclipse Android ADT JavaSDKE.1.3定义序号术语名称术语定义1总体结构软件系统的总体逻辑结构。
按照不同的设计方法,有不同的总体逻辑结构。
若采用传统的面向功能或面向数据的结构化设计方法,则总体逻辑结构为一树形的功能模块结构图。
若采用时尚的面向对象或面向部件(组件)的设计方法,则总体逻辑结构为部件(组件)的组装图。
2外部接口本软件系统与其它软件系统或网站之间的接口,接口设施可以是中间件。
接口描述包括:传输方式、带宽、数据结构、传输频率、传输量(兆/秒)、传输协议。
3数据结构数据结构包括:关系数据库表的结构、对象数据库表的结构、变量说明。
4概念数据模型关系数据库的逻辑设计模型,叫概念数据模型。
主要内容包括一张逻辑E--R图及其相应的数据字典。
5物理数据模型关系数据库的物理设计模型,叫物理数据模型。
主要内容包括一张物理表关系图及其相应的数据字典。
6视图在基表之上建立的一张虚表,叫视图,它具有物理表的许多性质,在授权上很有用。
7角色数据库中享有某些特权操作的用户,叫角色。
8子系统具有相对独立功能的小系统叫子系统。
一个大的软件系统可以划分为多个子系统,每个子系统可由多个模块或多个部件组成。
9模块具有功能独立、能被调用的信息单元叫模块。
模块是结构化设计中的概念。
10部件(组件)具有功能独立、能被调用的、且已包装的信息单元叫部件(组件)部件是面向对象设计中的概念。
11内部接口软件系统内部各子系统之间、各部件之间、各模板之间的接口,叫内部接口。
接口描述包括:调用方式、入口信息、出口信息等。
E.1.4参考资料1.用户需求分析报告2.数据库设计规范3.命名规范4.李刚.疯狂Android讲义[M].北京:电子工业出版社,2012.1-8445.Bruce,Eckel.Thinking in Java[M].北京:机械工业出版社,2007.1-880E.2总体设计E.2.1需求规定E.2.1.1对功能的描述首次进入应用,程序会要求用户设置一个账户及密码,只有知道该账户及密码才能浏览日记内容。
进入主界面后,能够选择写日记或者通过两种不同的方式浏览你的日记,让日记的回忆方式更加有趣。
在日记中我们还加入了百度地图接口,能够十分便捷的记录你的地点。
另外,程序的日记备份功能帮你将日记保存,即使软件丢失,日记依然能够恢复。
程序中自带日历,生日提醒的小功能,记录好友的生日后,能在第一时间给您发送生日提醒的推送,并引导您发送祝福短信。
E.2.1.2对性能的规定E.2.1.2.1灵活性a)操作方式上的变化在主界面中,你可以进行功能选择:写日记,以日记本或者日记册的方式进行查看,记录好友生日进行实时提醒。
如下图:图2-1b)运行环境的变化为了测试软件的使用情况,我们针对不同的机型进行了软件测试,下表是测试情况:2-1表c)版本更新情况品牌机型android 版本测试结果三星I9300android 4.1.1流畅运行小米2S android 4.01流畅运行魅族MX2android 4.1.1流畅运行中兴U880android 2.2流畅运行三星s5830android 2.3流畅运行HTCX920e android 4.01流畅运行索尼LT18i android 2.3流畅运行VIVOX3t android 4.2.1流畅运行目前我们已经上线的有两个版本,分别是版本1.1和版本2.0。
2.0版本相比于之前的版本1.1,我们在系统备份方面进行了优化,最大的改进是在UI界面的全面设计。
E.2.1.3输入输出要求在主界面选择写日记功能之后,你会进入如图2-2的界面:图2-2图2-3在该界面中输入标题,并在连接网络的情况下,点击定位键,然后在下面的方框中写入日记内容,最后点击右上角的图标进行操作的保留。
示例图如图2-3:想要查看日记的内容你可以选择日记本或者日记册的方式进行查看,如下图2-4,2-5:图2-4图2-5E.2.1.4数据管理要求进行了所需的数据库的建立、数据库的调优、数据库的重组、数据库的重构、数据库的安全管控、报错问题的分析和汇总和处理、数据库数据的日常备份。
E.2.1.5故障处理要求通过我们的软件测试,在版本1.1中,由于输入量较大会导致软件的崩溃,因为没有进行备份功能的设计,所以会使得数据遗失。
但是在之后改进的版本2.0中,我们实现了软件的备份功能,在软件崩溃的情况下我们仍能很好的保存数据,不会让用户有遗失数据的风险。
E.2.1.6其他专门要求a)可维护性我们在调试中或者在用户反馈中发现了软件的不足,能够及时解决问题,并在新版本中进行优化。
b)可靠性在数据存储方面,我们实现了数据的备份操作,能够有效的避免数据遗失。
c)运行环境可转换性在软件的兼容性测试中,我们在多态机型上进行了测试,最终得出了软件适应性良好的结论。
E.2.2运行环境E.2.2.1设备a)测试机型号在软件的测试中,我们在多种机型上进行了测试,分别是:三星I9300、s5830,小米2S,HTC X920e,Vivo X3t,索尼LT18i等。
b)部分测试机硬件参数三星I9300:RAM容量:1GB,ROM容量:16GB,核心数:四核;小米2S:RAM容量:2GB,ROM容量:32GB,核心数:四核;HTC X920e:RAM容量:2GB,ROM容量:16GB,核心数:四核。
c)支持的手机系统Android2.2、Android2.3、Android4.0.1、Android4.1.1、Android4.2.1。
E.2.2.2支持软件a)支持Android2.2~Android4.2.2手机操作系统,b)开发采用windows7操作系统下的Eclipse软件搭建的Android软件开发平台。
c)运行环境为Eclipse下的Android虚拟机以及Android手机。
E.2.2.3接口a)软件的定位功能使用了免费的百度地图API接口,利用数据流量进行定位。
b)软件的发送短信祝福的功能使用了系统自带的短信功能的接口进行短信发送。
c)生日提醒功能调用了系统通知的接口进行通知弹出的提醒。
E.2.2.4控制该软件是通过个人登录管理,登录时需要输入密码,以保证用户的隐私。
E.2.3基本设计概念和使用说明E.2.3.1设计理念许多人都有写日记的喜好,但是纸质的日记不能很好的保密:写久了,积累的多了也容易破损丢失。
而现代生活中,人手一部甚至多部手机的现象早已经司空见惯,智能手机的出现,智能应用的开发让我们的生活越来越便利。
因此我们开发了这个应用。
E.2.3.2使用说明1.首次进入程序有功能引导界面,并要求建立账户。
2.主界面可以进入日记的书写,日记册,日记本,生日提醒以及日历。
3.主界面右划为菜单栏,还可进入关于我们,密码修改,祝福短信的发送,日记备份还原等界面。
E.2.4结构E.2.5功能需求与程序的关系E.2.6有待改进的方面我们设计的软件正在进行实时更新,和前一个版本1.1相比,在版本2.0中我们主要修复了一些操作上的bug以及系统备份方面的优化,同时我们在界面设计上进行了全新的设计。
在接下来的版本中,我们会在界面UI以及日记本功能上进行完善。
E.3接口设计E.3.1用户接口1.Activity1.1建立和配置Activity(1)创建Activity子类(2)覆盖onCreate方法(3)用setContentView方法定义屏幕布局(4)初始化UI元素变量(5)处理UI元素变量1.2Activity的生命周期(1)Activity三种状态活动状态Activity于主屏幕的最上层,能够与用户交互暂停状态Activity失去焦点,部分界面可视,不能与用户交互停止状态Activity不可视,但保持所有的状态信息(当Activity暂停或停止状态时,系统可能由于低内存缘故会销毁该Activity,如果这样,再次打开Activity时,就会从onRestart开始,恢复以前状态)(2)Activity生命周期过程onCreate()启动Activity后,进行初始化onStart()当Activity从主屏幕显示时,调用该方法onRestart()当Activity从停止状态进入活动状态时,调用该方法onRusume()当Activity与用户交互,接受用户数据时,调用该方法。