05软件项目国标文档模板概要设计说明书GB856788.docx

上传人:b****8 文档编号:10394522 上传时间:2023-02-10 格式:DOCX 页数:24 大小:246.60KB
下载 相关 举报
05软件项目国标文档模板概要设计说明书GB856788.docx_第1页
第1页 / 共24页
05软件项目国标文档模板概要设计说明书GB856788.docx_第2页
第2页 / 共24页
05软件项目国标文档模板概要设计说明书GB856788.docx_第3页
第3页 / 共24页
05软件项目国标文档模板概要设计说明书GB856788.docx_第4页
第4页 / 共24页
05软件项目国标文档模板概要设计说明书GB856788.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

05软件项目国标文档模板概要设计说明书GB856788.docx

《05软件项目国标文档模板概要设计说明书GB856788.docx》由会员分享,可在线阅读,更多相关《05软件项目国标文档模板概要设计说明书GB856788.docx(24页珍藏版)》请在冰豆网上搜索。

05软件项目国标文档模板概要设计说明书GB856788.docx

05软件项目国标文档模板概要设计说明书GB856788

概要设计说明书

王金辉

学号:

2012150001

日期:

2015.04.22

1引言2

1.1编写目的2

1.2背景2

1.3定义2

1.4参考资料2

2总体设计2

2.1需求规定2

2.2运行环境2

2.3基本设计概念和处理流程3

2.4结构3

2.5功能器求与程序的关系3

2.6人工处理过程3

2.7尚未问决的问题3

3接口设计3

3.1用户接口3

3.2外部接口3

3.3部接口4

4运行设计4

4.1运行模块组合4

4.2运行控制4

4.3运行时间4

5系统数据结构设计4

5.1逻辑结构设计要点4

5.2物理结构设计要点4

5.3数据结构与程序的关系4

6系统出错处理设计5

6.1出错信息5

6.2补救措施5

6.3系统维护设计5

概要设计说明书

1引言

1.1编写目的

说明编写这份概要设计说明书的目的,指出预期的读者。

当今社会有很多交友软件,存在很多不安全因素,很容易泄露用户信息。

而且,没有提供近距离的交友平台。

很多同学对上课有厌烦心理,借助这款交友,同学们可以在课余时间,与他人交流,提高上课的乐趣和积极性。

现在在一个班级上课的同学都不认识,很不方便学术的交流,所以,应提供同班同学交流认识的平台。

 

1.2背景

说明:

a.待开发软件系统的名称;

b.列出此项目的任务提出者、开发者、用户以及将运行该软件的计算站(中心)。

a:

Secret

b:

项目任务提出者,梁正平老师。

开发者,王金辉也即本人

用户:

大学周边人群。

计算中心或则网络:

本人电脑搭建的服务器。

C.与其他的系统或则机构暂无来往,参考微信手机客户端的实现。

1.3定义

列出本文件中用到的专门术语的定义和外文首字母组词的原词组。

.apkfile

大意:

扩展名为apk的文件是Android应用程序包,每一个Android应用程序包含的所有代码、资源和清单文件都被编译并打包成一个文件,这个文件的名字可任意取,但扩展名必须是.apk。

例如,可以取名为myExampleAppname.apk。

为了方便起见,一个Android应用程序包文件经常被称之为一个apk。

.dexfile 

大意:

Android应用程序代码最终将会被编译成一个扩展名为dex((DalvikExecutable))的文件,我们所编写的java文件会自动地被编译成dex文件。

Action

大意:

Action是对Intent发送者所发送的intent(意图)的一种描述。

Action是被分配给intent的一个字符串。

Action可以由Android系统定义,也可以由第三方开发人员定义。

例如,对于一个网页URL使用android.intent.action.VIEW,或者在一个定制应用中使用com.example.rumbler.SHAKE_PHONE使手机震动。

Activity

大意:

Activity在应用程序里表现为一个“屏幕”,或应用程序的其中一个界面。

通常,Activity是可见的、全屏的窗口,它可以处理UI事件、执行复杂的任务。

虽然Activity通常是全屏的,但也可以设置使其浮动或透明。

adb

大意:

adb是AndroidDebugBridge的简写,即Android调试桥,它是AndroidSDK中自带的一个命令行调试应用程序。

它所提供设备浏览工具、设备上的拷贝工具和为调试转寄端口的功能。

如果你是在Eclipse下使用ADT插件进行开发,adb已经集成到你的开发环境中了。

Application

大意:

从组件的角度来看,Android应用程序是由一个或多个Activity、Service、Listener和Intentreceiver组成;从资源文件的角度来看,Android应用程序是由Java代码、xml资源文件、多媒体资源(音频、视频、其它文件等)和一个文件清单组成。

在编译过程中,这些文件被打包成一个单一的叫做应用软件包的文件中(.apk)。

ContentProvider

大意:

ContentProvider是一个数据抽象层,通过它你可以安全地将你应用程序中的数据暴露给其它的应用程序。

ContentProvider构建在ContentProvider类之上,它负责处理指定格式的查询串,并以指定的格式返回数据。

Dalvik

大意:

Dalvik是Android平台的虚拟机。

Dalvik是一个只能解释执行dex文件的虚拟机,dex文件针对存储性能和存管理进行了优化。

Dalvik是基于寄存器的虚拟机,并且能够运行经过Dalvik自带的“dx”工具转换过的Java类。

虚拟机运行在兼容Posix的操作系统上,依赖于底层的功能(如线程和低级存管理)。

Dalvik的核心类库有意做得与Java标准版非常类似,但它明显更适合小型移动设备。

DDMS

大意:

DDMS即DalvikDebugMonitorService,它是SDK自带的一个图形化的调试工具,它提供了屏幕捕捉、日志存储和进程检测的能力。

如果你在Eclipse中使用ADT插件进行开发,那么DDMS已经被集成在你的开发环境中了。

Dialog

大意:

Dialog通常以一种轻量级的浮动窗口形式呈现,一个Dialog可以只包含一个用于执行简单动作的按钮(如按钮选择)。

Dialog并不会被持久存储在历史栈中。

所有对话框类的基类是Dialog。

Drawable

大意:

Drawable是经过编译的可视化资源,可以用于背景、标题或屏幕的其他部分。

典型的情况,drawable被装载到另外一个UI元素中,例如将drawable作为背景图片。

drawable不能够接收事件,但可以分配不同的其它属性,如“状态”。

许多drawable对象是从描述图片的xml资源文件或位图文件中加载得到的。

Drawable资源被编译到android.graphics.drawable的一个子类中。

Intent

大意:

Intent是一个消息对象,你可能通过intent启动其它应用程序或其它Activity,或者通过intent与其它应用程序或Activity进行异步交流。

Intent对象是Intent的一个实例,它包含了许多方面:

您能提供什么、确定应用程序或Activity收到的意图以及处理intent时接受者做什么处理。

Intent包括:

预期执行的动作(action)、动作类别(category)、数据(data)、数据类型(MIMEType)、处理类等。

一个应用程序发送一个意图给Android系统,而不是直接给发送给其它应用程序或Activity。

应用程序能够将意图发送给目标应用程序或者将意图作为一条广播发送,该广播能够被许多应用程序轮流处理。

根据其它应用程序定义的意图过滤器,Android系统负责解决:

对于每一个意图,哪一个意图接收器最适合。

IntentFilter

大意:

应用程序的IntentFilter(意图过滤器)声明在Manifest文件中,它用于告诉系统应用程序的组件愿意接收哪种类型的意图。

通过Intentfilter,应用程序能够表达出对哪些指定的数据类型、意图的行为、URI格式等感兴趣。

当要解决某个意图,系统会对所有应用程序的全部意图过滤器进行评估,然后将意图传递给最匹配的应用程序的Activity。

BroadcastReceiver 

大意:

BroadcastReceiver是一个用于接收应用程序广播(不是发送给应用程序的Activity)的类。

系统将广播发送给所有对此广播感兴趣的广播接收器,这些广播接口器会按顺序处理该意图。

LayoutResource

大意:

布局资源是一个用于描述屏幕布局的xml文件。

ManifestFile

大意:

清单文件是每一个应用程序都必须定义的xml文件,它用于描述应用程序的包名、版本、组件(Activity、intentfilters、Services等)、引用的类库等。

Nine-patch/9-patch/Ninepatchimage

大意:

*.9.png是一种尺寸可变的位置资源,它可以用于背景图片或在设备上显示的图片。

OpenGLES

大意:

你可以使用Android提供了OpenGLES类库处理快速、复杂的3D图像。

它比Canvas对象的使用要难一些,但更适合3D应用。

android.opengl和javax.microedition.khronos.opengles两个包暴露了OpenGLES的功能。

Resources

大意:

资源可以理解为应用程序的“非编程”组件,即并不是通过编写代码产生的。

但应用程序代码可以使用特定的引用格式来使用资源。

Android系统支持大量的资源类型,最为典型的应用程序资源主要由UI字符串、UI布局组件、图像及其它媒体文件等组成。

Android应用程序使用资源来有效地支撑本地化和各种各样的设备,对于不同的手机屏幕大小、屏幕方向(横竖屏)都可以设置相应的资源。

Service 

大意:

Service运行在后台(无需任何UI界面)以开展许多持久的活动,例如:

播放音乐或者监测网络的活动。

 

 

Theme

大意:

Theme是一系列定义多种默认显示设置的参数(文字大小、背景颜色等)。

Android系统在R.style中提供了一些标准的主题(以"Theme_"开头)。

 

URIsinAndroid

大意:

Android使用URI字符串作为基本的数据请求(例如检索联系人列表)和动作请求(例如在浏览器中打开一个页面)的方式。

URI字符串可以具有不同的格式,但所有请求数据的URI都必须以“content:

//”开头。

有效的动作URI字符串会被设备上的适当的程序处理,例如,以“”开头的URI字符串会被浏览器处理。

View

大意:

View是绘制在手机屏幕上的一块矩形区域,它能够处理点击事件、键盘事件和其它交互事件。

View是大多数组件的基类,如文本框、对话框等。

Viewgroup

大意:

ViewGroup是包含一系列view的容器对象。

ViewGroup负责决定它里面包含的view显示在什么位置、占用的大小,以及在适当的时候调用每个view的方法来绘制它们自己。

有些ViewGroup是不可见的,它们仅仅用于布局,但有些ViewGroup又有固定的UI,例如滚动的列表框组件。

所有的ViewGroup都继承了ViewGroup类,并且位于android.widget包下。

Widget

大意:

Widget即组件,它是一系列View子类(UI组件、布局等)的集合,例如文本框或弹出菜单。

Widget要负责测量和绘制它本身,并且还要对屏幕事件做出反应。

所有的Widget都位于android.widget包下。

Window

大意:

在Android应用程序中,我们并不会实现或直接使用Window这个类,它是一个抽象类。

我们通常都是使用实现了Window类的Dialog和Activity类生成一个窗口(Window)。

 

1.4参考资料

列出有关的参考文件,如:

a.本项目的经核准的计划任务书或合同,上级机关的批文;

b.属于本项目的其他已发表文件;

c.本文件中各处引用的文件、资料,包括所要用到的软件开发标准。

列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。

参考:

陌陌,微信,米聊各种社交工具

参考界面的设计,以及一些系统部类关系,功能,模块,如何分类的问题。

接着是一些书籍:

参考文献

[1]AndroidAProgrammer’sGuide.Jerome(J.F.)DiMarzioDOI:

10.1036、0071599886

[2]林城.Android2.3应用开发实战[J].机械工业,2011:

17-321.

[3]超.Android经典应用程序开发[J].人力资源,2011:

5-18.

[4](美)CayS.Horstmann,GaryCornell.Java核心技术[J].机械工业,2008:

15-17.

[5]卫国,昱禹.Android与J2ME平台间即时通信的研究与实现[J].中南大学信息科学与工程学院.2008年12期:

118-120.

[6]平.Android手机访问服务器的一种数据交互方法[J].财经学院网络与现在教育技术中心,2010-09:

96-102.

[7]玉平.Java输入输出流及在开发中的应用探讨[J].市科技局,2009,(18):

35-49.

[8]亮,维.基于Android技术的界面设计与研究[D].:

建筑职业技术学院,2001.

[9]璟,平华,文亮.Android核分析[J].工业大学计算机学院实践与经验,2009:

112-115.

[10]卫国,昱禹.Android的架构与应用开发研究[J].中南大学:

信息科学与工程学院计算机系统应用2008-11:

110-112.

[11]海藩.软件工程导论(第4版)[J].:

清华大学,2006:

34-38.

[12]邝孔无,王晓敏.信息系统分析与设计(第三版)[M].清华大学,2006:

23-26.

[13]亢勇,自力,鹏,路平.面向对象的软件测试[J].测试技术学报,1999,(02):

15-23.

[14]何玉洁.数据库原理与应用教程[M].机械工业,2005.12

[15]KENARNOLD,JAMESGOSLING,DAVIDHOLMES:

JAVAPROGRAMMINGLANGUAGE[M],POSTS&TELECOMPRESS,2006:

231-235.

[16]JOHNLEWIS:

JAVASOFTWARESOLUTIONS[M].PUBLISHINGHOUSEOFELECTRONICSINDUSTRY,2007:

134-140.

 

2总体设计

2.1需求规定

说明对本系统的主要的输入输出项目、处理的功能性能要求,详细的说明可参见附录C。

数据项

说明

输入格式

是否必填

账号

用户用于登陆的身份

文本

密码

 用户自定义设置的

文本

服务器ip

不同服务器ip不同

文本

服务器端口号

 端口号一般为5222

 文本

 是

好友名称

用于查找好友,进行添加的作用

文本

2.2运行环境

简要地说明对本系统的运行环境(包括硬件环境和支持环境)的规定,详细说明参见附录C。

Window8

Openfire服务器

Spark电脑客户端

Secret手机客户端程序

设备一:

联想Z4801

设备2:

华为荣耀6

2.3基本设计概念和处理流程

说明本系统的基本设计概念和处理流程,尽量使用图表的形式。

系统设计模型概览

系统设计类图:

系统组件图

2.4结构

用一览表及框图的形式说明本系统的系统元素(各层模块、子程序、公用程序等)的划分,扼要说明每个系统元素的标识符和功能,分层次地给出各元素之间的控制与被控制关系.

2.5功能器求与程序的关系

本条用一如下的矩阵图说明各项功能需求的实现同各块程序的分配关系:

程序1

程序2

……

程序n

功能需求1

功能需求2

……

功能需求n

程序1

程序2

……

程序n

功能需求1

功能需求2

……

功能需求n

 

2.6人工处理过程

说明在本软件系统的工作过程中不得不包含的人工处理过程(如果有的话)。

暂无。

2.7尚未问决的问题

说明在概要设计过程未解决而设计者认为在系统完成之前必须解决的各个问题。

 

这个项目在考虑的过程中,主要考虑了聊天,圈子功能的实现,其他的功能暂时处于未实现阶段。

3接口设计

3.1用户接口

说明将向用户提供的命令和它们的语法结构,以及软件的回答信息。

命令

语法

信息正确

信息错误

确定

按钮点击

点击功能成功

点击功能失败

取消

按钮点击

取消功能成功

取消功能失败

登录

按钮点击

进入系统

重新登录

注册

按钮点击

注册成功

注册失败

删除

按钮点击

删除成功

删除失败

3.2外部接口

说明本系统同外界的所有接口的安排包括软件与硬件之间的接口、本系统与各支持软件之间的接口关系。

硬件接口:

手机键盘,手机摄像头,手机触摸屏。

 

软件的接口(Asmack):

 

建立连接 

XMPPConnection类用来建立到XMPP服务器的连接。

要建立SSL连接,要使用SSLXMPPConnection类。

下面是建立连接的例子:

  // 建立一个到jabber.org服务器的连接。

 

XMPPConnection conn1 = new XMPPConnection("jabber.org");  

// 通过一个特殊的端口建立一个到jabber.org服务器的连接。

 XMPPConnection conn2 = new XMPPConnection("jabber.org", 5222);  

// 建立一个到jabber.org服务器的SSL连接。

 

XMPPConnection connection = new SSLXMPPConnection("jabber.org");  

一旦您建立了一个连接,您必须通过方法XMPPConnection.login(String username, String password)使用用户名和密码登陆。

 

如果登陆成功,您可以通过创建新的Chat或GroupChat对象和其它用户聊天。

 

操作Roster  

Roster能够让您跟踪其它用户的有效性(存在)。

您可以通过使用像“朋友”和“同事”这样的组来组织用户,这样您可以发现每个用户是否在线。

 

使用XMPPConnection.getRoster()这个方法得到Roster。

通过Roster类您可以找到所有Roster登陆、他们所属的组以及每个登陆当前的存在状态。

 

读写Packet  

从客户端以XML格式发送到XMPP服务器的每个消息被称为一个“packet”。

org.jivesoftware.smack.packet包中包含了一些类,这些类封装了XMPP所允许的三个不同的基本packet类型(message, presence, 和 IQ)。

 像Chat和GroupChat这样的类提供了更高类别的构造能够自动地创建和发送packet,但是您也可以直接创建和发送packet。

 下面是一个通过改变您的presence来让别人知道您已无效,已经"out fishing"了:

  

// 创建一个新的presence. 传入false以指示我们已经无效了 

Presence presence = new Presence(Presence.Type.UNAVAILABLE); presence.setStatus("Gone fishing"); 

// 发送packet (假设已经有了一个名为"con"的XMPPConnection实例). con.sendPacket(presence); 

Smack提供两种方法读取收到的packet:

PacketListener[packet监听器]和PacketCollector[packet收集器]。

 二者都是使用PacketFilter实例来决定哪个packet应该被处理。

packet监听器用于事件样式的编程,而packet收集器有一个可以做轮询和阻塞操作的packet的结果队列。

所以,当您想对一个有可能随时到来的packet采取一些操作时,使用packet监听器;而当您想等待一个特别的packet到来时,使用packet收集器。

您可以使用XMPPConnection实例创建packet收集器和监听器。

3.3部接口

说明本系统之的各个系统元素之间的接口的安排。

4运行设计

4.1运行模块组合

说明对系统施加不同的外界运行控制时所引起的各种不同的运行模块组合,说明每种运行所历经的部模块和支持软件。

 

用户类型

登录

注册

修改

管理员

用户

 

4.2运行控制

说明每一种外界的运行控制的方式方法和操作步骤。

触控屏:

输入密码和用户名,验证码等等。

用手点击手机虚拟键盘(触控屏)从而能够达到数字英文的输入

4.3运行时间

说明每种运行模块组合将占用各种资源的时间。

响应时间:

10秒

更新时间:

10秒

信息提交时间:

10秒

5系统数据结构设计

5.1逻辑结构设计要点

给出本系统所使用的每个数据结构的名称、标识符以及它们之中每个数据项、记录、文卷和系的标识、定义、长度及它们之间的层次的或表格的相互关系。

5.2物理结构设计要点

给出本系统所使用的每个数据结构中的每个数据项的存储要求,访问方法、存取单位、存取的物理关系(索引、设备、存储区域)、设计考虑和条件。

用户

学号

添加

联系人

反馈

反馈表

发表

保存

说说

聊天记录

Id

用户id

反馈类别

跟进状态

反馈内容

反馈时间

姓名

密码

个性签名

性别

Id

用户id

联系人id

添加时间

用户id

说说内容

说说时间

用户id

联系人id

聊天时间

聊天内容

n

m

n

n

m

 

5.3数据结构与程序的关系

说明各个数据结构与访问这些数据结构的形式:

校园聊天系统需要用户的特征;添加和删除联系人,并且记录时间;说说的特征包括说说容和发表说说的时间,删除和修改功能;保存聊天记录,或删除聊天记录;地点,通过地点判断位置,从而能知道用户的位置信息;提供用户反馈,与用户沟通。

6系统出错处理设计

6.1出错信息

用一览表的方式说朗每种可能的出错或故障情况出现时,系统输出信息的形式、含意及处理方法。

可能的错误

形式

含义

处理方法

错误登录信息

边框提示

登录密码错误

重新输入

输入错误数据

边框提示

密码之类信息输入错误

重新输入

应用崩溃

边框提示

系统崩溃

重新开启应用

Gps未开启

边框提示

不能使用定位功能

开启gps定位

网络故障

无信息提示

手机暂无网络服务

 

6.2补救措施

说明故障出现后可能采取的变通措施,包括:

a.后备技术说明准备采用的后备技术,当原始系统数据万一丢失时启用的副本的建立和启动的技术,例如周期性地把磁盘信息记录到磁带上去就是对于磁盘媒体的一种后备技术;

b.降效技术说明准备采用的后备技术,使用另一个效率稍低的系统或方法来求得所需结果的某些部分,例如一个自动系统的降效技术可以是手工操作和数据的人工记录;

c.恢复及再启动技术说明将使用的恢复再启动技术,使软件从故障点恢复执行或使软件从头开始重新运行的方法。

 

首先,假如系统崩溃,那么我们可以通过在contentprovider来查找崩溃

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 动态背景

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1