当前位置:文档之家› 新浪微博bada SDK

新浪微博bada SDK

新浪微博bada SDK
新浪微博bada SDK

软件工程课程设计报告

——新浪微博客户端

组员:

目录

一、绪论 (4)

1.1开发背景 (4)

1.2开发环境 (4)

二、项目概述 (4)

2.1现状描述 (4)

2.2目标 (5)

2.3任务分工 (5)

三、需求分析 (5)

3.1需求概述 (5)

3.2功能概述 (6)

3.4非功能性需求 (7)

3.4.1 性能需求 (7)

3.4.2 属性 (7)

四、概要设计 (8)

4.1构架 (8)

4.2主要功能 (8)

五、详细设计 (9)

5.1功能结构设计 (9)

5.2流程图 (10)

5.2.1登录流程图 (10)

5.2.2业务流程图 (11)

5.2.3我的信息流程图 (12)

5.4界面及功能描述 (13)

5.4.1登陆界面: (13)

5.4.2我的首页 (14)

5.4.3我的信息 (15)

5.4.4搜索管理 (16)

5.4.5发表微博 (17)

5.4.6资料查看 (18)

5.4.7我的收藏 (19)

六、编码 (20)

6.1显式微博列表菜单https://www.doczj.com/doc/967741983.html,p (20)

6.2登录表单https://www.doczj.com/doc/967741983.html,p (24)

6.3添加微博的表单https://www.doczj.com/doc/967741983.html,p (27)

6.4一个微博Tweet.cpp (30)

6.5整个应用Weibo.cpp (32)

七、测试 (34)

7.1测试目的及范围 (34)

7.1.1、版本1(web浏览) (34)

7.1.2、版本2(手机应用) (34)

7.2功能测试用例 (34)

7.2.1版本1(web浏览) (34)

7.2.2版本2(手机应用) (36)

7.4测试截图 (37)

7.4.1版本1(weibo浏览) (37)

7.4.2版本2(手机应用) (39)

八、收获及体会 (40)

九、参考资料 (40)

一、绪论

1.1开发背景

新浪微博是一个由新浪网推出,提供微型博客服务的类Twitter网站。用户可以通过网页、WAP页面、手机短信、彩信发布消息或上传图片。新浪可以把微博理解为“微型博客”或者“一句话博客”。您可以将您看到的、听到的、想到的事情写成一句话,或发一张图片,通过电脑或者手机随时随地分享给朋友,一起分享、讨论。您还可以关注您的朋友,即时看到朋友们发布的信息。

目前用户可以通过网页、WAP网,手机短信彩信、手机客户端(包括NOKIA S60系统、iPhone(iOS系统)、谷歌Android系统、Windows Phone系统)、SWISEN、MSN绑定等多种方式更新自己的微博。每条微博字数限制为140字,提供插入单张图片、视频地址、音乐功能。

1.2开发环境

系统开发环境:bada SDK2.0.4

文档开发工具:Microsoft office 下的Word、Visio、Project、rose等

系统开发语言:C++

运行平台:Windows xp及以上

二、项目概述

2.1现状描述

2010年初,新浪微博推出API开放平台。虎年伊始,百度百科也推出了“分享到新浪微博”的新功能。细心的科友可以发现,在百科词条页的下方,新增了“分享到新浪微博”的按钮。

根据2010年官方公布数据显示,新浪微博每天发博数超过2500万条,其中有38%来自于移动终端。每天发布微博数量超过两千五百万条,微博总数累计超过20亿条。是目前国内最有影响力、最受瞩目的微博运营商。新浪微博是一个由新浪网推出,提供微型博客服务的类Twitter网站。用户可以通过网页、WAP页面、手机短信、彩信发布消息或上传图片。新浪可以把微博理解为“微型博客”或者“一句话博客”。您可以将您看到的、听到的、想到的事情写成一句话,或发一张图片,通过电脑或者手机随时随地分享给朋友,一起分享、讨论。您还可以关注您的朋友,即时看到朋友们发布的信息。

目前用户可以通过网页、WAP网,手机短信彩信、手机客户端(包括NOKIA S60系统、iPhone(iOS系统)、谷歌Android系统、Windows Phone系统)、SWISEN、MSN绑定等多种方式更新自己的微博。每条微博字数限制为140字,提供插入单张图片、视频地址、音乐功能。2010年初,新浪微博推出API开放平台。虎年伊始,百度百科也推出了“分享到新浪微博”的新功能。细心的科友可以发现,在百科词条页的下方,新增了“分享到新浪微博”的按钮。

根据2010年官方公布数据显示,新浪微博每天发博数超过2500万条,其中有38%来自于移动终端。每天发布微博数量超过两千五百万条,微博总数累计超过20亿条。是目前国内最有影响力、最受瞩目的微博运营商。

2.2目标

基于bada平台开发一个方便使用、界面友好的新浪微博客户端,用以方便客户随时用一句话随意记录生活,用手机随时随地发微博,随时随地分享身边的新鲜事儿。但是由于时间关系,我们只开发前面的

2.3任务分工

任务负责人

需求分析

功能设计

用例图

流程图

构架图

界面设计

编码

测试

文档编写

文档修改

三、需求分析

3.1需求概述

此次程序设计任务是bada SDK平台下的新浪微博客户端设计,程序将在bada SDK模拟器中进行调试。

此次程序设计用户界面要求较为友好,由于针对的用户为bada智能手机用户,因此程序的操作全部可以通过输入笔完成操作。

新浪微博客户端数据库设计要求合理,其中包括用户账号,用户密码,用户获取的授权码钥匙和用户获取的授权码密码等信息。在设计完成后,要求程序能够实现新浪微博的登录功能。而且,程序还必须能够实现对对新浪微博首页信息的获取,用户资料,好友资料,发表微博,用户的关注,用户的粉丝,转发微博,评论微博,收藏微博,我发表的微博等。

最后,新浪微博获取信息要具有较高的执行效率。此程序设计要求需要在c++环境下开发。

对于一个桌面客户端,针对的是广大的用户,首先要从用户的角度出发,思考哪些是用户所需要的内容,哪些是用户最关心的内容,哪些是最吸引用户的内容等。对于客户端的功能。新浪微博首页URL: https://www.doczj.com/doc/967741983.html,/?,首先以web页面所提到的功能为基础,在实现了web页面的部分功能或者全部功能后,后续版本再进行插件的开发,扩展更多的微博应用,充分利用微博所提供的用户关心网络,满足用户的需求,探索更多的有价值的插件。

用户

登录收藏微博

发表微博

转发微博

评论微博

用户首页

我的信息

个人资料

搜索

<>

<>

<>

<><>

<>

<><><>

3.1用例图

3.2功能概述

微博

我的首页信息我的资料

我的收藏搜索浏览微博

转发收藏

评论@我

评论

私信

查看

修改

浏览的微博

搜人

搜博

回复删除

收到发出转发

删除

评论查看资料

关注取消

浏览他人信息

浏览他人信息

查看资料

关注取消

我的微博

3.2功能图

新浪微博客户端JAVA版,主要实现了下面的功能:

1. 用户OAuth登陆

2. 用户界面UI的设计,微博icon的设计

2. 获取用户的信息并在首页上显示

3. 用户首页微博列表

4. 随机用户微博列表

5. 关注用户微博列表

6. @我列表

7. 用户收到的评论列表

8. 用户粉丝列表以及用户最新的一条微博信息

9. 用户所有微博列表

10. 页面翻页功能(默认返回每页20条微博信息)

11. 登陆未读消息提醒,提示音设置

12. 用户登陆后,即时消息提醒

13. 搜索新用户,并且可以加关注

14. 可以取消关注过的某个用户

15. 用户个人设置,包括个人信息修改

16. 发文字微博,发图片微博,发文字加图片的微博信息

17. 对获取到的所有用户的微博消息的评论数、转发数的显示。

18. 刷新首页数据

19. 关于/帮助,主要介绍了应用的一些功能和使用方法

3.4非功能性需求

3.4.1 性能需求

1)精度需求

在精度需求上,根据使用需求,在各项数据的输入,输出及传输过程中,可以满足各种精度的需求。

2)时间需求

在软件方面,响应时间,更新处理时间都比较快且迅速,完全满足用户要求。

3)灵活性

当用户需求,如操作方式,运行环境,结果精度,数据结构与其他软件接口等发生变化时,设计的软件要做适当调整,灵活性非常大。

4)故障处理

内部故障处理:在开发阶段可以随即修改数据库里的相应内容。

外部故障:对编辑的程序进行重装载时,第一次装载认为错,修改。第二次运行,在需求调用时出错,有错误提示,重试。

3.4.2 属性

1)保密性

本软件作为手机应用程序,它的规模比较小,但是需要保密技术,先顶一个程序中某些区域的规约,给不同的模块分配不同的功能。

2)可维护性

本软件的组成程序组构较为简单,直观意义上较独立。

四、概要设计

4.1构架

微博

我的首页信息我的资料

我的收藏

搜索

浏览微博

转发

收藏

评论

@

改浏览的微博

搜人搜

转发删除

评论

浏览他

人信息

浏览他

人信息

我的

微博

4.2主要功能

发布功能:用户可以像博客、聊天工具一样发布内容

转发功能:用户可以把自己喜欢的内容一键转发到自己的微博(转发功能是对twitter RT 功能的改良,保留原帖,避免在传播过程中被篡改)转发时还可以加上自己的评论。转发后所有关注自己的用户(也就是自己的粉丝),能看见这条微博,他们也可以选择再转发,加入自己的评论,如此无限循环,信息就实现了传播。

关注功能:用户可以对自己喜欢的用户进行关注,成为这个用户的关注者(即“粉丝”),那么该用户的所有更新内容就会同步出现在自己的微博首页上。关注的上限是2000人。

评论功能:用户可以对任何一条微博进行评论。(这是基于中国用户习惯而设置的特殊功能,之后Yahoo Meme 和Google Buzz也都有了评论功能)

搜索功能:用户可以用两个#号之间,插入某一话题。像这像,#某一话题XXX#,则发出的微博,可以点击这个,自动搜索微博上所有的包含有“某一话题XXX”的相关微博。可以展开讨论,实现信息的聚合。

私信功能:用户可以点击私信,给新浪微博上任意的一个开放了私信端口的用户发送私信,这条私信将只被对方看到。实现私密的交流。

五、详细设计

由于考虑到时间问题,我们详细设计部分分为两个版本进行设计:

版本1:一个专门的微博客户端浏览器。此版本包括全部的微博功能。

版本2:基于bada的手机应用程序。此版本只有最基本的登录与浏览并发表微博两大功能。我们的功能、流程部分还是按照版本1进行介绍。

5.1功能结构设计

新浪微博

登录搜索

信息管理

我的首页其他应用

登录注

@

5.2流程图 5.2.1登录流程图

输入帐号密

点击进入

验证登录成功登录失败

结束

开始

N

Y

5.2.2业务流程图

我的主页

新浪微博

登录

退出浏览微博我的主页

其他页面

选择其他是否继续评论收藏@N

Y

操作继续

Y

N 是否继续

N

Y

5.2.3我的信息流程图

评论我的私信@我的

结束

我的信息

我的评论收到的评论

我的微博删除阅读点击进入点击进入点击进入点击进入

回复评论

回信回复评论

5.4界面及功能描述

5.4.1登陆界面:

登陆界面主要有输入账号、密码,同时也可设置登录状态,如自动登录或者其他,有登录按钮,输入账号和密码点击登录即可。(界面分为2种,版本1在左边,版本2在右边)

版本1:(web浏览)版本2:(手机应用)

进入首页可以看到他人发布的微博、图片、昵称,也可以写自己的微博,同时也能点击查看我的信息和资料,以及其他一些功能。

版本1:(web浏览)版本2:(手机应用)

我的信息包括我的私信、我的评论、@我的等等管理,可以进行回复以及删除等功能。版本1:(web浏览)版本2:(手机应用)

私信管理:评论管理:@我的管理:

5.4.4搜索管理

搜索一般分为搜用户和搜微博,搜到之后可以对人进行资料查看、关注,对微博进行收藏、评论、转发等。

版本1:(web浏览)版本2:(手机应用)

5.4.5发表微博

微博的主要功能就是发微博,我们设计了热词的快速搜索,方便用户;同时也能插入话题、表情、图片等。

版本1:(web浏览)版本2:(手机应用)

5.4.6资料查看

主要功能:

1、查看他人的头像、昵称、和一些基本信息,同时也可以浏览他人所发布的微博,以及发布微博的时间,自己也可以给予评论或者收藏。

2、查看自己的资料信息,并进行修改。

版本1:(web浏览)版本2:(手机应用)

5.4.7我的收藏

查看我收藏的微博,并进行删除、回复、转发等功能。

版本1:(web浏览)版本2:(手机应用)

六、编码

6.1显式微博列表菜单https://www.doczj.com/doc/967741983.html,p

#include"TweetsForm.h"

using namespace Osp::Base;

using namespace Osp::Base::Collection;

using namespace Osp::Ui;

using namespace Osp::Ui::Controls;

using namespace Osp::Io;

using namespace Osp::Graphics;

using namespace Osp::App;

TweetsForm::TweetsForm(void) :

__lvTweets(null), __db(null), __alTweets(null) {

}

TweetsForm::TweetsForm(Database* db) :

__lvTweets(null), __db(db), __alTweets(null) {

}

TweetsForm::~TweetsForm(void) {

if (__alTweets != null) {

delete__alTweets;

}

}

bool TweetsForm::Initialize() {

Construct(L"IDF_TWEETS");

return true;

}

result TweetsForm::OnInitializing(void) {

result r = E_SUCCESS;

Header* header = GetHeader();

header->AddActionEventListener(*this);

__lvTweets = static_cast

(GetControl(L"IDC_TWEETLIST"));

if (null != __lvTweets) {

__lvTweets->SetItemProvider(*this);

__lvTweets->AddListViewItemEventListener(*this);

RefreshTweets();

相关主题
文本预览
相关文档 最新文档