当前位置:文档之家› 设计说明书

设计说明书

[项微距离] 设计说明书[V1.0(版本号)][年月日]目录1.引言 (3)2.总体设计 (3)3.系统结构 (4)4.模块设计说明 (5)5.接口设计 (6)6.运行设计 (10)7.成员具体分工情况 (11)1.引言1.1编写目的可行性研究的目的是为了对问题进行研究,以最小的代价在最短的时间内确定问题是否可解。

经过对此项目进行详细调查研究,初拟系统实现报告,对软件开发中将要面临的问题及解决方案进行初步设计及合理安排。

1.2背景软件名称:微距离项目提出者:全组成员项目开发者:胡昌武、岳才资、郑跃强、李肖、杜燕昭用户:手机为安卓系统的任何人本项目是客户端建立在android系统上,通过AndroidSDK为开发工具,服务器在PC 端实现,通过J2EE实现。

采用SQL数据库。

1.3参考资料《疯狂android讲义》李刚电子工业出版社。

以及百度百科,论坛,微博等。

2.总体设计2.1 项目简介:本系统实现让成为好友的人在能够得到彼此的即时地址,并且反馈到地图上,让用户直观的看到对方的位置。

2.2 系统结构:采用C/S架构,服务器和基于移动设备的软件2.3 功能模块:服务器模块、数据库模块、安卓软件模块、地图模块、网络模块2.4 项目图解:图2.12.5 项目流程图图2.2 3.系统的结构软件结构:4.模块设计说明4.1.模块1:系统登录4.1.1.模块描述本模块负责管理用户登录信息。

4.1.2.功能能输入用户名和密码,检查是否匹配,匹配则进入系统,否则返回重新输入。

4.1.3.输入项[给出对每一个输入项的特性。

]用户名:需要输入服务器中现有的用户名;密码:需要输入对应的密码。

4.1.4.设计方法(算法)与服务器建立连接,将用户名和密码发送到服务器进行验证,通过返回的结果判断登录是否成功。

4.1.5.流程逻辑4.1.6.限制条件需要与服务器牌同一局域网中,未连网下尝试登录会闪退。

4.1.7.尚未解决的问题[说明在本模块的设计中尚未解决而设计者认为在系统完成之前应解决的问题。

]尚未实现用户注册功能,也无法处理与服务器不同网络时的连接问题。

4.2.模块2:好友模块4.2.1.模块描述本模块负责管理用户的好友。

4.2.2.功能能显示已添加的好友,并能添加新好友。

4.2.3.设计方法(算法)从服务器获取好友列表逐一显示,添加时将好友名称加入列表并同步至服务器。

4.2.4.尚未解决的问题添加好友没有验证功能。

4.3.模块3:消息收发模块4.3.1.模块描述[给出对该基本模块的简要描述,主要说明安排设计本模块的目的意义,并且,还要说明本模块的特点。

]本模块负责处理与好友间的通信以及定位请求。

4.3.2.功能能够向好友发送消息,接收好友发送的消息,发送和接收定位请求。

4.3.3.设计方法(算法)将消息发送到服务器,并通过服务器发送到对方。

4.3.4.限制条件需要双方同时打开界面才能收发消息。

4.4.模块4:定位模块4.4.1.模块描述本模块负责定位以及将双方位置显示在地图上。

4.4.2.功能能够定位自己的位置,发送给对方,或者接收对方的位置,并将两人的位置显示在同一张地图上。

4.4.3.性能拥有定位系统(GPS等)4.4.4.设计方法(算法)调用高德地图API进行定位以及显示。

4.4.5.接口调用高德地图API。

5.接口设计5.1用户接口[说明将向用户提供的命令和它们的语法结构,以及相应的回答信息。

]命令:输入用户名和密码;回答信息:成功则进入用户界面失败则程序停止运行;代码如下://获取用户和密码eridText = (EditText) findViewById(R.id.formlogin_userid);this.pwdText = (EditText) findViewById(R.id.formlogin_pwd);//正在登录yout1 = (LinearLayout) findViewById(R.id.formlogin_layout1);//登录界面yout2 = (LinearLayout) findViewById(R.id.formlogin_layout2);Button btsave = (Button) findViewById(R.id.formlogin_btsubmit);btsave.setOnClickListener(this);Button btcancel = (Button) findViewById(R.id.formlogin_btcancel);btcancel.setOnClickListener(this);// 获取Intent传过来的用户名this.pUSERID = getIntent().getStringExtra("USERID");toString = getIntent().getStringExtra("To");ListView listview = (ListView) findViewById(R.id.formclient_listview);listview.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL);this.adapter = new MyAdapter(this);listview.setAdapter(adapter);// 获取文本信息this.msgText = (EditText) findViewById(R.id.formclient_text);this.pb = (ProgressBar) findViewById(R.id.formclient_pb);命令:添加好友;回答信息:成功添加好友,并且该好友显示在【我的好友】列表中代码如下:m Button = (Button) findViewById(R.id.button_pay);mButton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {operaGroup();}});命令:单击好友;回答信息:进入新的界面代码如下:命令:输入消息;回答信息:发送消息给好友,消息将显示在对话列表中代码如下:p ublic void onClick(View v) {// 获取text文本String msg = msgText.getText().toString();if (msg.length() > 0) {// 发送消息listMsg.add(new Msg(pUSERID, msg, TimeRender.getDate(),"OUT", 0));// 刷新适配器adapter.notifyDataSetChanged();try {// 发送消息给xiaowangnewchat.sendMessage(msg);} catch (XMPPException e) {e.printStackTrace();}} else {Toast.makeText(FormClient.this, "请输入信息", Toast.LENGTH_SHORT).show();}// 清空textmsgText.setText("");}});命令:请求好友共享位置;回答信息:对话列表中将出现“请求位置中”,好友同意则进入高德地图代码如下:// 发送消息// listMsg.add(new Msg(pUSERID, "请求位置中",// TimeRender// .getDate(), "OUT", 1));// 刷新适配器// adapter.notifyDataSetChanged();try {// 发送消息给xiaowangnewchat.sendMessage(msg);} catch (XMPPException e) {e.printStackTrace();}} else {}}}).setNegativeButton("取消",new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog,int whichButton) {alertDialog.cancel();}}).create();}public void activate(OnLocationChangedListener listener) {mListener = listener;if (mAMapLocationManager == null) {mAMapLocationManager = LocationManagerProxy.getInstance(this);/** mAMapLocManager.setGpsEnable(false);* 1.0.2版本新增方法,设置true表示混合定位中包含gps定位,false表示纯网络定位,默认是true Location* API定位采用GPS和网络混合定位方式* ,第一个参数是定位provider,第二个参数时间最短是2000毫秒,第三个参数距离间隔单位是米,第四个参数是定位监听者*/mAMapLocationManager.requestLocationUpdates(LocationProviderProxy.AMapNetwork, 2000, 10, this);}}命令:退出软件;回答信息:销毁信息,退出程序代码如下:public void onTerminate() {// TODO Auto-generated method stubif (mBMapManager != null) {mBMapManager.destroy();mBMapManager = null;}super.onTerminate();}5.2外部接口[说明本系统同外界的所有接口的安排包括软件与硬件之间的接口、本系统与各支持系统之间的接口关系。

]调用高德地图:import android.app.Activity;import android.graphics.Color;import android.location.Location;import android.os.Bundle;import android.widget.Toast;import com.amap.api.location.AMapLocation;import com.amap.api.location.AMapLocationListener;import com.amap.api.location.LocationManagerProxy;import com.amap.api.location.LocationProviderProxy;import com.amap.api.maps2d.AMap;import com.amap.api.maps2d.LocationSource;import com.amap.api.maps2d.MapView;import com.amap.api.maps2d.model.BitmapDescriptorFactory;import tLng;import com.amap.api.maps2d.model.MarkerOptions;import com.amap.api.maps2d.model.MyLocationStyle;5.3内部接口[说明本系统之内的各个系统元素之间的接口的安排。

相关主题