Sunday, May 6, 2012

C-概念阶段

 
 

商业计划书

2011年4月30日

13:49

 
 

PKRSS软件项目计划书

序号:PKRSS_2011_05_12_V02______

项目名称:PC桌面语音新闻软件PKRSS___

执行部门:___________________________

 
 

修改日志

V1.5 2011/5/4

 
 

一、 背景

开发一个能够像千千静听那样,桌面上显示透明文字,背景能够朗读的软件?最早只想播放rss源,网上有非常多的rss新闻源、笑话源、财经源……

 
 

在2010年中金store想上线前,因为store本身的问题,当时停止这个想法。

 
 

pkrss需要设计为可以让用户接受的产品。同时中金在应用软件产品方面,存在产品类别单一,同类产品版本过多的问题。

 
 


中科大迅飞在做语音云,他们在开发一款《悠听》beta版rss新闻朗读软件。

 
 


 

二、 产品简介

2.1 pkrss

这是一款能够方便自己义管理rss源的软件,它是一款多国语言的软件,借助微软TTS技术,能够将文字变成声音。

 
 

2.1.1 市场定位

运行于windows xp(建议windows vista)之上的PC桌面免费软件,可以广泛运用在世界各地,而不仅限在某一个国家或地区,它应该推荐成为每一个使用PC电脑的桌面常用绿色免安装的小软件。。。

 
 

2.1.2 用户定位

成天呆在电脑前的上班族、使用PC电脑工作的任一年龄的大众群体。

 
 

2.1.3 软件目标

在利用网上广泛存在的rss源,用户可以不打开浏览器,收听观看新闻,用户能够随时切换自定义的想要播放的源列表,心情好听新闻,心情不好听笑话。。。

 
 

2.1.4 软件内容

2.1.4.1 朗读RSS新闻:

软件暂开四个功能:"播放控制"、"桌面显示文字"、"语音朗读文字"、"本地管理rss源"

2.1.4.2 朗读文本:

含"朗读文本"、"朗读文件"。

2.1.4.3 朗读天气、生活百科

仿《优听》,启动时会朗读今日天气。

2.1.4.4 朗读网页、广播朗读

需要与中金确认有此类需求。 由于网页中文字存在不规则连续分布,需要事先确认转换表达式算法。

 
 

三、产品规划

随着产品逐渐占有市场,统计相关热门、冷门需求,制作相关收费、广告性RSS源,通过完成用户的特殊性需求,从中赢利。

 
 

3.1 可行性分析

 
 

3.1.1 目标市场分析

1、目标对象

方案所针对的目标对象:首先可以是中金的内部反馈、中金的用户正式接受,在前期方案取得成功后,可以向其它行业企业通过合作订制的方式,扩大软件影响范围。

 
 

2、目标对象的需求

●管理人员:1人,具有安排计划,沟通管理,业务代表;掌综合项目管理能力;

●需求人员:1~2人,减少漫无天日的想法;设计最简洁实用的服务;加强良好的用户体验设计能力;

●开发人员:1~2人,加强代码的简洁性;加强文档设计能力;掌握良好的软件设计能力;具有较强的优化思唯;具有白盒测试能力;减小软件规模;减少沟通成本;完善软件的健状性;

●维护人员:1~2人,其中1人主管产品发布,需要熟练掌握对软件的认知能力;加强搜集用户的反馈;满足用户的特殊性需求;指导用户使用软件;帮助用户查找订阅RSS源;帮忙记录同类软件的更新情况;

●后勤人员:1~2人,主管日常后勤、财务工作。

●其它项目组人员:暂不计,如美工,测试人员,项目配置人员。

●用户:一般大众;

●行业企业:通过订制专门的版本,利用行业企业的rss源,企业自行向用户推广;免费订制软件,热情的合作服务,加强对企业需求的挖掘,完善的配置、使用文档;加强与目标企业的合作;

 
 

3、当前人员预置

●需求人员:无

●开发人员:无

 
 

 
 

3.1.2 竞争优势分析

 
 

3.1.2.1 竞争对手分析(PC 桌面版)

GreatNews 

功能包括:左边为源,右边为网页浏览器。包含常用的源、网页等。

功能特点:本地版 免费

说明: 包含多国语言包,有各国人的反馈,网上反馈较好,网站论坛当前具有10人在线

缺点: 07年的产品,到现在已经很久没有更新了,许多源打不开。

悠听

功能包括:天气朗读、新闻资讯、中文朗读、生活百科

功能特点:本地版 免费

说明: 上市公司中科大飞讯推出rss类产品之一,具有体积小,简洁实用、用户体验良好,提供中科大的多个中文美声语音库,支持语音朗读。

缺点: 无法自由管理RSS源,可选择的RSS源全为系统提供;中文朗读只能200字;生活百科一天内无更新;只能支持中文。

rssreader

功能包括:左边为源,右边为网页源浏览器。源支持分组管理 ,右边源浏览器效果较好。

功能特点:本地版,免费,需要安装Microsoft .NET Framework 1.1

它的网站上提供多国的RSS源,使用.net framework1.1开发。

缺点:默认包含空源,需要自己添加源。

新浪阅读通

功能包括:左边为源,右上边为标题列表,右下边为内容网页浏览器。源支持分组管理 支持标记(未读/已读),右边源浏览器效果较好。允许设置代理,支持未读浏览。默认包含新浪多个RSS源。点击标题后,该条标记为已读。未读可设加粗显示。

功能特点:本地版,免费。

缺点:功能不够全面。

●firefox rss

功能包括:书签管理RSS,添加RSS后,可在菜单中显示所有RSS,可单条显示,一次打开所有RSS,多个网页打开RSS

功能特点:本地版,免费,需要FIREFOX

缺点:把浏览器弄得太复杂,影响浏览器速度。

 
 

V1.5

NVDA:

功能包括:多种语音引擎朗读,鼠标取词朗读(支持IE、FF浏览器),支持字词正则表达式替换,还有什么点亮器的硬件设置

功能特点:本地版,免费,开源

说明:(引用)NVDA是一套免費的報讀軟體,由兩位澳洲視障年輕人於2006年推出的,至今已有二十幾個國家使用,版本也一直在改進,不輸需要付費的報讀軟體


缺点:windows7改了语音引擎,不会保存。只能通过鼠标取词取数据源。

 
 

源文档 <http://briian.com/?p=5665>

 
 

七個不錯的RSS Reader 评测


3.1.2.2 解决方案优势分析:

●桌面透明文字显示效果,语音朗读文字

在工作时,一边工作、一边阅读RSS源。

●RSS源管理

能够将RSS源进行增删改、分组。支持播放分组。支持导出导源列表。

●播放非RSS内容

直接播放一段文字。

●播放多国语言语音(需先研究)

默认的只能播放系统本地语音库,应该通过服务器与外来技术实现多国语言。

 
 

3、市场前景分析

●丰富RSS阅读器种类。RSS已成为许多SNS(如FACEBOOK、微博)、博客、新闻、信息发布者们必备的资源。但助网上广泛的RSS源,利用桌面技术,从传统的桌面网页、浏览器网页模式进行,转变化桌面文字模式。

通过与新浪阅读点点通等软件,在功能上分开,打造具有自己特色的软件,实现不显示程序大窗口,就能透明集成访问新闻。满足上班族边工作、边听看RSS的迫切需求。这是两种模式上(RSS、桌面透明文字)的结合的尝试。

●带动信息传播。利用的网络资源,只有一小部分能够被需要的人所使用,人们总是要通过一些努力才能寻找到它,然后还要付出些代价。通过PKRSS的有利推广,希望每一位使用PKRSS的用户,总是能够得到丰富的资源,享受企业提供的便利信息,提高信息的使用效率。

 
 

3.2 方 案 预 算

3.2.1 PKRSS解决方案报价预测

根据项目的投资要求和整个投资项目的长期规划,本项目的规划方案可采用以下几种方案中的一种。

 
 

方案一

只能供PKRSS的单个项目。

 
 

硬件: PC电脑

软件:WINDOWS 7操作系统

固定成本:闲置web服务器,只提供小文件供人下载。不知道如何计算。

开发周期:3个月

开发人员:5~9人

平均薪资:6000元/月

开发人员费用总计:3~6万元/月

业务推广费用:0~10万元

项目经费:0~5万元

方案报价总计约为: 9~33万元

 
 

维护成本:裁减半数开发人力资源、保留业务推广费用。

 
 

方案二

在方案一的基础上集成pkrss_web项目。

 
 

方案三

如果项目未通过方案一、二,将执行开源方案,当前原型版本已提交到pkrss.sf.net,闭源。

可以接受用户的捐赠。

组织成员将由我牵头,其他人有意则加入,加入后三个月内不作为则移除。如果三个月后组织无其他成员,将施行开放源代码策略。

 
 

3.3 收益预估

原来:

软件原来直接不产生任何收益,但现在要考虑如何快速吸钱?

比如:

1.免费用户 含广告

2.收费用户 10元/月,无广告

3.广告方式:

  • 软件启动过段时间,执行倒计时十秒后,自动关闭的弹窗广告。

    可以使用网页广告,让网页智能处理逻辑。比如:当前广告发布商购买10000次/1000元的浏览量,自动切换下一个广告,实现按次算广告费。

  • 软件界面上存在一行文字广告。200元/日。
  • 播放时,每30分钟插播一行文字无语音广告。10000次/1000元的播放量。

4.数据统计

将播放次数最多的RSS源类别进行筛选,有针对性提供增加收费性RSS源,或为未来产品开发提供方向指导。

 
 

效益计算:

假设有10000名免费用户使用软件1小时/日,则产生广告收入:10000*1000/10000+200+10000*1000/10000*60/30=3200元/日*22日=70400元/月

假设有5000名收费用户使用软件,则月收费=5000元/人*10元/月=50000元/月

统计假设有15000名用户,月广告约为70400元/月+50000元/月=120400元/月。单从广告方向计算,扣除开发3个月时间,只需1~3个月可回收成本。

 
 

假设软件能够间接为中金招来潜在用户20000名,按1.5%的影响概率计算,20000*1.5%=300名用户会选择了解或购买中金的产品。

为其它项目直接提高组织过程资产,为进一步开发其它产品提供技术财产支持。

 
 

3.3 运 作 方 式

 
 

一、 市场营销

1、营销宗旨:

●直接目标:快速吸收效益,提高用户忠诚度。

●与传统媒体全方位合作,快速提高产品市场占有率。

●与网站主要消费群体紧密结合,争取整合用户数据库,转换免费用户为收费用户。

●与其它需要提供量身定制阅读器的企业合作,进一步加强企业间的合作、互信,也为提高产品市场占有率做贡献。

2、产品策略:

1) 产品定位:本软件定位于传统PC桌面软件,提出了嵌入桌面,文字透明效果,语音朗读的实用功能,填补了该类阅读器不能够同时工作边阅读的功能缺陷,使软件能够快速迎合上班族人士的需要。

2) 产品质量功能方案:对于阅读器的播放内容,可根据新需求进行快速适用完善,阅读器的播放表现,可根据新的变化来发展完善。

3) 产品品牌:利用中金现有的优势品牌,提出"PKRSS"新产品品牌,在开拓新市场同时,保持住原有市场。

3、价格策略:默认不提高收费方式,但可对特殊需要的用户,定制专门的收费方式。而不影响免费产品的推广。原有的免费产品仍可利用免费的价格策略以吸引消费者。

4、广告策略:

广告的功能很多,"pkrss"可以避免但也可以选择启动广告策略。广告策略大体包括以下内容:企业自主产品宣传、促销广 告、接收其它企业商业性广告。具体行动方案是增强创牌意识,增加软件广告收益,加大软件与企业的宣传,增强多重媒体的宣传力度。除了在中金本身公司网站贴出宣传栏位之外,还要 与各大软件发布网站机构合作,参与举办互惠互利推广活动。

二、风险及对策

pkrss风险可分为以下几类:

●政策风险:也就是指政府机构和对pkrss新闻数据源要求增加过滤的干预,限制一些非法源地址,此软件存在上线后被要求下线或过滤改造的风险。

●市场预测能力风险:如果市场预测最终结果,该软件未被用户接受,将导致项目收益为净损失状态。

●市场运作能力风险:如果软件上线后,该软件存在许多用户体验上的缺陷,将导致最络用户的净流失。竞争对手且可能快速抄袭、赶超本软件的服务功能,最终软件将处理劣势。

 
 

修改历史:

编写人员:连德亮 2011/4/30 19:55

审核人员:一审(粗) 颜明哲 2011/5/6 20:45

 
 

软件需求说明书

2011年5月1日

11:42

 
 

PKRSS软件需求说明书

序号:PKRSS_requirement_2011_05_12_______

项目名称:PC桌面语音新闻软件PKRSS________

执行部门:________________________________

 
 

1. 引言

1.1 项目名称

pkrss

windows平台PC电脑桌面软件,能够管理RSS源,桌面透明文字效果,语音朗读功能。

 
 

1.2 项目背景和内容概要

pkrss项目由连德亮发起,因自身人员组织不够,建议由中金合作提供客服、策划、测试、推广人员,及网站下载地址。

pkrss项目计划与pkrss_web项目连接,让pkrss_web项目管理源,pkrss能够直接播放。

 
 

1.3 相关资料、缩略语、定义

TTS:微软SAPI语音引擎中的一种,它负责将文本读出声音,还有一种是将声音识别成文本或其它电脑命令。


 

2.1 目标

提供一个实用的多国语音版本新闻阅读软件,能够让用户 在使用电脑的过程中,不要切换当前工作,就能得到新闻朗读的服务。

 
 

2.2 范围

得到相关项目决策人的同意,与相关服务的整合,施行以下完整软件开发过程:软件需求的探讨,设计该软件的功能,实现该项目,软件上线、维护,与其它业务的再整合,自身功能的完善。

 
 

2.3 假定条件与约束限制

假定得到相关决策人的同意,共同决策如何建立该团队;具有充沛的运作资金;

项目组成员具为专深的专业业务领域知识;项目组能够有效抵御风险,坚持项目的实施,且能够在预定的时间内完成项目工作;

项目团队在软件上线后,具有能够支撑继续完善软件的需求;

软件具有可摆放的WEB网站,具有能够与用户交互的论坛平台;能够得到有效得到相关的推广;能够切实为用户服务,得到用户的反馈;

3.业务流程

程序一打开,默认就应该在播放,不需要用户进行任何操作就能够到服务;

系统默认提供几条实用的国内与国外的rss源,且用户能够自定义管理rss源,并将它们分组;

当选择源播放时,能够从网络上下载rss数据,分条在桌面上展示;

 
 

4.数据描述

4.1 原始数据描述

a. 静态数据

 
 

b. 动态数据

  • 保存用户端rss源。 通过将系统提供的默认rss源、用户自定义的rss源进行管理,保存到用户电脑上,当用户 读取或定入rss源列表时,都能够通过它写进保存项中。
  • 保存用户设置文件。将用户对功能与界面的设定,保存到某个文件中,当这次操作完,下一次打开程序,能够继续上一次的界面设定。


 

 
 

4.2 数据流向图

 
 


 
 

 
 

 
 

4.3 数据概念模型和描述

 
 


约定:

实体集:

rss群组(名称)

rss源(名称、地址、类型)

联系:

分组管理(父子结点系统)

描述:

将rss源进行分组有效管理。一个群组能够再含多级子群组,也可以含多个rss源。rss源无子节点。

例如群组为:中国

|__财经

|__ 中金 http://rss.cnfol.com/news.xml rss

|__笑话

 
 

5.功能需求

 
 

5.1 天气预报:

方案设计:

用户打开程序时,默认

功能设计:

 
 


图5.1.1 天气预报-弹出窗口

上面的下锥形表示以下窗口:

 
 


图5.1.2 天气预报子窗口

说明:

借鉴《悠听》:当程序启时,应该使用弹出方式,弹出该窗口,当朗读文本完毕,应该关闭。
 

 
 

 
 

5.2 主窗口


图5.2.1 主窗口界面

介绍:

程序有:标题栏(最上)、菜单栏(上)、主工作区(中)、播放控件窗口(下)、标题/内容文字效果组成。

菜单栏:文件(&F)

-> 退出(&X) 点击后,直接退出程序。

设置 (&T)

-> 选项(&O) 点击后,弹出设置窗口,见<?>

 
 

主工作区:上方标签窗口、下方子工作窗口

上方标签窗口:朗读新闻、朗读文本、朗读其它

下方子工作窗口:依标签窗口不同而不同,详见:<?><?><?>

播放控件窗口:上方播放控件栏、快速链接栏

上方播放控件栏:详见:<5.3 播放控件栏>

下方快速链接栏:标题 <?> 、内容<?>、 导出声音 <?> 、隐藏上方窗口

隐藏上方窗口:点击时,收缩/恢复主工作区窗口

标题/内容文字效果:标题文字 字体较大,为rss中标题部份展示

内容文字:字体较小,为rss中内容部份展示

 
 

5.3 播放控件栏


图5.3.1 播放控件栏窗口

介绍:

提供:播放速度拖条、上一条、播放/暂停、下一条、静听、音量大小、语音引擎选择

 
 

5.4 朗读新闻版面


图5.4.1 朗读新闻版面

介绍:

含:常用列表管理、内容过滤、内容列表。

常用列表管理:

显示用户最常使用的列表,关于常用列表可以在rss管理中进行设置。系统默认需提供五个。

 
 

5.1 rss朗读界面


 

5.2 朗读文本


 

6.界面要求

6.1报表格式

6.2图形要求

1. 要求用最少的键盘及鼠标操作,达到常用功能的定位。

2.任何级别的用户,都能对软件界面一目了解,能够快速分辨软件提供的服务。

 
 

6.3输入输出要求

1.具体的输入操作,能够提供操作指引。

2.要求输入操作错误时,有错误提示。

3.软件的用户设置保存文档,能够不因为程序更新,而丢失数据、数据异常。

 
 

7.接口要求

(描述与本系统相连的系统的接口的数据格式,数据交换协议,接口功能等)

8.性能需求

8.1数据精确度

(例如,数据内部精度,外部显示精度)

8. 2数据量

8. 3时间特性要求

(根据所开发系统的特点,规定系统对时间的特性的要求。例如:

系统响应时间、界面更新处理时间、数据转换与传输时间)

9. 运行环境需求

9.1网络和硬件设备平台

(网络拓扑图及设备类型描述)

操作系统平台

数据库系统平台

10.1编程工具

10.2其它支撑软件

11. 其它专门需求

11.1安装和操作

11.2安全保密

11.3维护服务

 
 

 
 

D-开发阶段

2011年5月1日

12:07

 
 

项目计划

2011年5月1日

11:44

 
 

八、项 目 计 划

序号:

项目名称

执行部门 负责人

项目类别 [ ] 软科学研究项目 [ ] 科研开发项目 [ ] 工程推广项目

[ ] 工程开发项目 [ ] 系统集成项目 [ ] 服务项目

项目起止日期 从199 年 月 日 至199 年 月 日

项目合同额 合同号 项目代号

计划完成时间 修改时间 第 次修改

1. 项目概述

2. 项目阶段划分:

项目阶段 主要任务 人数 / 单位 起止时间 输入 / 输出

3. 项目组织

3.1 项目参加人员:

姓 名 所在部门或单位 职称/学历 技术岗位




 
 




 
 

3.2 技术岗位分配

技术岗位 人 员 人 数 负责人

需求分析员

系统设计员

程序员

测试员

配置管理员

 
 

3.3 项目组织管理说明

4. 所需环境条件:




台 实验环境所需设备 设备用途

 
 

 
 

现有设备 需增加设备

 
 

 
 




台 实验环境所需软件平台 软件用途

 
 

 
 

现有条件 需增加软件

 
 

 
 

5. 资源分配

任 务 起止时间 人 员 所需设备

6. 计划进度安排

7.项目成本预算

时间阶段 年

第1季度 年

第2季度 年

第3季度 年

第4季度

小计

合计

金额



费 设备购置费

 
 

设备名称

或代号

或细目

 
 

软件购置费

 
 

软件名称

或代号

或细目

 
 





费 差旅费

资料费

会议费

办公费

业务费

其它费

劳务费

管理费

税金

小计

所有费用合计

注: 项目成本预算细目:

1.器材费 包括:原材料费,设备购置及使用费

2.专项业务费 包括:

(1) 差旅费(旅费、出租)(含补贴)

(2) 资料费(图书费、资料费、复印费、出版费)

(3) 邮电费(市话长话费、移动通信费、上网费、邮资)

(4) 会议费(培训、鉴定费、评审会、研讨费、外事费等)

(5) 广告宣传费

(6) 业务招待费

(7) 其他(检测、外加工费、维修费、消耗品、低易品、茶话会等)

3.劳务费(工资、奖金、补贴、住房基金、退休养老金)

4.管理费 (所管费、水、电、燃料、排污)

8.风险分析和处理

项目经理签字: 部门经理签字: 大部经理签字:

 
 

项目计划控制程序

2011年5月1日

11:44

 
 

九、项目计划控制程序

1. 目的

为保证公司内项目能够有计划、按步骤地实施,资源能够得到合理地分配和有效地利

用,特制定本程序。

2. 适用范围

本程序适用于对软件开发或工程项目计划活动的控制。

3. 定义

3.1 资源:开展项目活动的人力、物力和财力的总和。

4. 职责

4.1 项目负责人负责编制和修改【项目计划】,负责组织编制项目阶段计划,负责组织

项目计划的实施。

4.2 项目组的配置管理员负责编制配置管理计划。

4.3 大部经理负责审查和批准本部门的【项目计划】和【项目中期计划】。

4.4 部门经理负责监督检查项目计划的执行和批准项目阶段计划。

5. 工作程序

5.1 项目计划编写总则

5.1.1项目负责人在接到项目后的首要任务是编制项目计划并组织相关计划的编写。项目

计划力求符合实际情况,切实能够指导项目实施的全过程。

5.1.2在项目计划阶段形成【项目计划】,若必须对【项目计划】进行修改,则修改后的

项目计划形成【项目中期计划】。【项目中期计划】可有多个,其格式同【项目计划】


5.1.3 项目负责人应采用项目管理工具辅助项目管理工作。

5.1.4 项目计划主要包括如下内容:

a. 项目定义,包括项目名称,项目目标的描述,以及与之相关的前期项目和/或其他项

目的目标及其关系描述;

b. 阶段划分,包括划分项目的工作阶段和确定各阶段的任务。

c. 项目的组织管理,包括项目组的人员构成、职责,技术岗位之间的组织的和技术的接

口,管理方法,合作方的职责;

d. 项目使用的资源,包括人,财,物的需求和分配;

e. 项目进度,包括确定各项任务所需要的资源和时间,各任务之间的关系。

f. 风险分析,分析可能使计划延期的问题及其解决办法,和相应的计划修改方案。

g. 包含如下相关计划:配置管理计划和项目阶段计划

5.2 项目的阶段划分

5.2.1 项目计划中要明确规定项目整个生存期内的工作阶段,每个工作阶段的输入和输

出项。这些工作阶段和输入/输出要求可根据项目情况,参照《配置管理程序》中的基线

要求进行适当剪裁。

5.2.2 细化并列出每个工作阶段的具体任务,任务描述和输出要求。

5.3 项目的组织和管理

5.3.1 一个软件开发项目中至少由如下技术岗位构成:

a. 需求分析员

b. 系统设计员

c. 程序员

d. 测试员

e. 配置管理员

项目计划必须明确规定每个人的技术岗位。

5.3.2 一个工程安装项目至少由如下技术岗位构成:

a. 售前工程师

b. 系统集成工程师(如果项目包含系统集成)

c. 软件工程师

d. 测试工程师

e. 配置管理员

项目计划必须明确规定每个人的技术岗位。

5.3.3 对于需要转包或部分转包的项目的管理,见《委托方控制程序》。

5.3.4项目计划需说明项目的组织管理方法,包括项目内小组如何设置,小组与技术岗位

的关系,小组之间的接口关系,项目的内部评审如何组织等。

5.4 项目的资源分配

5.4.1 人员分配

a. 规定每个技术岗位的人员数目和人员;

b. 规定项目不同阶段应投入的不同技术岗位的人员数目。

5.4.2 工作环境要求和用途

a. 说明所需硬件平台要求,包括现有的平台状况,需增加哪些硬件、配置和数量;

b. 说明网络环境要求,包括现有状况,需增加哪些设备和软件,及其数量;

c. 说明软件平台要求,包括现有状况,需增加哪些软件平台和工具,及其数量。

d. 说明以上硬件设备、软件平台、软件工具,网络设施的具体用途。

5.4.3 项目成本估算

详细列出用于人员投入,设备购置,材料消耗,差旅,会议等的各项费用预算。具体内

容和预算方法请参见中心财务部的有关规定。

5.5 项目的进度安排

5.5.1 规划各项任务的时间进度,分配完成任务所需的人员和设备;

5.5.2 用图形的方法绘制任务进度和关系图;

5.6 风险分析和处理

5.6.1分析并说明影响项目达到预期目标的可能的风险。

5.6.2说明对每种风险的解决办法。

5.8 其它相关计划的编写

5.8.1项目负责人应组织项目组内有关人员编写【配置管理计划】和【项目阶段计划】。

 
 

a. 配置管理员负责编制【配置管理计划】,具体规定参见《配置管理程序》和《配置管

理计划编写规范》。并报配置部批准。

b. 有关人员编写【项目阶段计划】,并报部门经理批准。

5.9项目计划的审核和批准

5.9.1 【项目计划】由大部经理,部门经理和项目负责人审核,由大部经理批准, 部门

经理监督执行,项目负责人实施。。

5.10 项目计划的修改

5.10.1 项目计划不应频繁修改。建议在以下情况发生时,可以修改项目计划。

a. 人员发生重大变化和调整;

b. 必要的设备得不到保证;

c. 资金长久不能到位,又没有其他解决办法;

d. 某个技术难点造成进度的较长延误;

e. 合作方和/或顾客因素造成进度的较长延误。

5.10.2批准后的项目计划的第一版本作为比较基准保存。

5.10.3修改后的项目计划要经再次审核批准,将其作为中期计划保存。

6. 引用文件

《软件配置管理程序》 (T.CX0801-A01)

《配置管理计划编写规范》 (T.ZY0802-A01)

《委托方控制程序》 (T.CX0601-A01)

《项目管理流程》 (T.ZY1502-A01)

7. 质量记录

【项目计划】 (T.JL0401-A01)

【项目中期计划】 (T.JL0402-A01)

 
 

软件开发过程控制程序

2011年5月1日

11:41

 
 

二、软件开发过程控制程序

1 目的

为保证软件产品及其文档可维护,软件开发过程得到有效控制,特制定本程序。

2 适用范围

本程序文件适用于本公司有合同的所有软件开发过程的控制活动。

3 定义

3.1 需求分析:(引用GB/T11457-1995的2.404)研究用户要求以得到系统或软件需求

定义的过程。

3.2 概要设计:(引用GB/T11457-1995的2.343)分析各种设计方案和定义软件体系结

构的过程。典型的概要设计包括计算机程序组成成分和数据的定义及构造、界面的定义

,并提出时间和规模方面的估计。

3.3 详细设计:(引用GB/T11457-1995的2.147)推敲并扩充概要设计,以获得关于处

理逻辑、数据结构和数据定义的更加详尽的描述,直到设计完善到足以能实现的地步。

 
 

3.4 设计实现:(引用GB/T11457-1995的2.229)把设计翻译成代码,然后对此代码排

除隐错的过程。它是程序的一种机器可执行形式,或者能被自动地翻译成机器可执行的

形式的某种形式的程序。

4 职责

4. 1 项目负责人:负责制订【项目计划】、协调项目内外各方的关系、控制项目进度

并保证项目计划的实施和完成。

4.2 需求分析员:作为开发方的代表,负责沟通用户和开发人员的认识和见解,明确及

准确地编写【软件需求说明书】和初步的【系统指南】。

4. 3 系统设计员:负责把软件需求变换成可表示的可实现的软件形式,为设计实现提

供可行的依据。并在设计过程中要负责编写【概要设计说明书】、【数据库设计说明书

】、【详细设计说明书】,完成【系统指南】的编写。

4. 4 程序员:按设计要求把软件的详细设计变换成可执行的源程序,进行调试。完成

相应的文档,编写【用户操作手册】。

4. 5 测试人员:负责制定测试计划,设计测试方案,测试用例,并实施测试。

4. 6 配置管理人员负责对开发库中软件配置项的管理和维护。

4 工作程序

软件开发过程主要分为项目计划、需求分析、概要设计、详细设计、设计实现、内部测

试和系统测试7个阶段。

5.1 项目计划

项目负责人负责制定项目计划。在项目计划中要对项目的目标和时间要求给出明确的定

义,要规定项目的组织和管理规则,项目的开发过程和输出要求,项目对资源的需求和

分配等,详见《项目计划控制程序》。

5.2 制定开发规范

5.2.1 在项目开始后,项目负责人要组织有关人员讨论和确定实施该项目的技术路线

,采用的开发方法论。

5.2.2 项目负责人要组织编写【XXX系统开发规范】,其中包括:

a. 阐述项目采用的技术路线;

b. 采用的软件开发方法和使用的软件辅助开发工具;

c. 制定需求分析阶段,设计阶段,编程阶段中文档编写规则,模型表示规则,命名约定

等在开发过程中需协调一致的规则。

5.2.3 【XXX系统开发规范】中的一些详细规则可在开发过程中不断完善。

5.3 需求分析

5.3.1需求分析员应通过各种方式收集和获得所开发项目的业务需求,并对获取的需求

和系统应具有的隐含需求进行分析,以建立系统的软件需求。这些需求通常包括:

a. 功能需求

b. 数据需求

c. 性能需求

d. 人机接口需求

e. 安全和保密需求

f. 网络需求

g. 和其他系统的接口需求

h. 操作、维护和安装需求

i. 一些特殊的设计限制

5.3.2需求分析员要使用【XXX系统开发规范】中规定的需求分析方法和工具清晰准确

地定义和描述这些需求。编写【软件需求说明书】,编写初步的【系统指南】。

5.3.3【软件需求说明书】得到用户确认后,提交评审。(参见《设计评审和设计更改

控制程序》)。

5.4 概要设计

5.4.1 系统设计员应建立一个高层的软件体系结构,该体系结构应体现系统的需求。

该体系结构应描述软件的顶层结构和定义其主要部分,包括:

a. 整个软件系统的层次结构;

b. 每一层次的模块结构;

c. 相关模块间的接口, 即模块间传递信息的内容、方式和协议;

d. 确定各模块在计算机网络环境下的物理分布;

a. 确定系统的数据库结构;

e. 确定本软件系统与其他外围系统接口;

f. 确定模块与系统功能间的关系;

g. 确定模块与数据库表间的关系;

h. 考虑可靠性、安全性、灵活性等方面的设计;

i. 要确定用户界面的设计风格;

j. 主要算法设计;

k. 异常处理设计。

5.4.2 描述以上设计结果,编写【概要设计说明书】、【数据库设计说明书】和修

改完善【系统指南】。

5.4.3将【概要设计说明书】和【数据库设计说明书】提交评审。(参见《设计评审和

设计更改控制程序》)

5.5 详细设计

5.5.1系统设计人员要深刻理解【概要设计说明书】,保证详细设计与概要设计相一致

,为编码提供详尽的依据。

5.5.2细化和描述每一个功能模块,确定实现各个模块功能的具体算法、内部数据结构

和外部接口方式。

5.5.3若功能模块涉及到用户界面,还要具体描绘出用户界面以及操作流程。

5.5.4编写【详细设计说明书】,修改完善【系统指南】。

5.5.5提交详细设计评审。(参见《设计评审和设计更改控制程序》)

5.6 设计实现

5.6.1程序员应严格按照详细设计的说明,保证最终程序与详细设计相一致。编码过程

中应遵循【XXX系统开发规范】的命名规则和注释等规定保证程序的清晰、易读。

5.6.2程序员要对编写的程序进行调试,使程序不仅通过编译的语法检查,而且在功能

和性能等方面达到设计的要求。

5.6.3编写【用户操作手册】,修改【系统指南】。

5.6.4 系统设计员最终完成【系统指南】。

5.7 内部测试

5.7.1项目负责人应组织系统的内部测试,内部测试由项目组内包括单元测试,集成测

试和构造测试。

5.7.2项目组内的测试员负责编写系统内部测试的【测试计划】和【测试实例】,实施

测试,填写【测试报告】。测试部提供支持。具体控制程序请参见《测试过程控制程序

》。

5.8 系统测试

5.8.1系统通过内部测试后,项目负责人应向测试部提请系统测试。

5.8.2测试部负责编写系统测试的【测试计划】,【测试实例】,实施测试,填写【测

试报告】。项目测试员提供配合。具体控制程序请参见《测试过程控制程序》。

5.9 软件配置管理过程

以上开发各个过程中产生计划、文档,程序都要纳入配置管理系统控制下。详见《软件

配置管理程序》。

6 引用文件

《项目计划控制程序》 (T.CX0401-A01)

《设计评审和设计更改控制程序》 (T.CX0403-A01)

《测试过程控制程序》 (T.CX1001-A01)

《配置管理控制程序》 (T.CX0801-A01)

7 技术文档

【XXX系统开发规范】

【软件需求说明书】

【概要设计说明书】

【数据库设计说明书】

【详细设计说明书】

【系统指南】

【用户操作手册】

8. 附录

软件生命周期各阶段要求输出的文档

阶段

文件 市场

调研 项目计划 需求分析 概要设计 详细设计 设计实现 内部测试 系统测试 工程安装

交付测试 软件维护

项目总体方案

可行性研究报告

项目计划

配置管理计划

系统开发规范

软件需求说明书

概要设计说明书

数据库设计说明书

详细设计说明书

系统指南

用户操作手册

用户培训教材

阶段

文件 市场调研 项目计划 需求分析 概要设计 详细设计 设计实现 内部测试 系统测试

工程安装 交付测试 软件维护

系统测试计划

交付测试计划

集成测试计划

构造测试计划

单元测试用例

集成测试用例

构造测试用例

系统测试用例

交付测试用例

单元测试报告

集成测试报告

构造测试报告

系统测试报告

交付测试报告

 
 

概要设计说明书

2011年5月1日

11:39

 
 

一、 概要设计说明书

1. 引言

1.1 项目名称

1.2项目背景和内容概要

(项目的委托单位、开发单位、主管部门、与其它项目的关系,与其他机构的关系等)

 
 

1.3相关资料、缩略语、定义

(相关项目计划、合同及上级机关批文,引用的文件、采用的标准等)

(缩写词和名词定义)

2. 概要设计

2.1软件体系结构

(用图来表示软件系统的总体结构框架,并对其进行描述)

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

2.3软件结构

1) 子系统划分

A) 子系统清单

B) 各子系统功能描述

2) 程序模块划分和功能分配

(包括前端程序模块和后端存储过程的划分和功能分配)

A) 子系统及程序模块清单

B) 各程序模块功能描述

C) 功能-模块对照表

D) 模块-数据实体对照表

3) 人工处理过程

(描述不能完全自动处理,需人工处理的过程。例如:在网管系统中,有些设备配置数

据的提取需要人工干预。在电信业务系统中,机线资源子系统中割接方案有些需人工输

入)

3. 软件模块的物理分布

(根据系统网络结构,描述软件模块在各个设备上的物理分布)

4. 接口设计

4.1与外系统的接口

4.2内部接口

5. 用户界面设计

(和用户交互的最终界面在《详细设计说明书》中设计解释,在此应对系统的主界

面和界面设计风格进行设计和描述)

6. 数据结构和算法设计

6.1程序中数据结构描述(描述系统中主要的数据结构和模块间共享的数据结构)

6.2 主要算法设计

7. 出错处理设计

7.1出错信息

(用一栏表的方式说明可能的出错和故障情况出现时,系统输出信息、形式和含义)

7.2出错处理措施

8. 安全保密设计

 
 

(描述安全保密方案,权限的设置,保密算法,软件的实现方法等)

 
 

 
 

 
 

 
 

数据库设计说明书

2011年5月1日

11:42

 
 

四、数据库设计说明书

1. 引言

1.1 项目名称

1.2项目背景和内容概要

(项目的委托单位、开发单位、主管部门、与其它项目的关系,与其他机构的关系等)

1.3相关资料、缩略语、定义

(相关项目计划、合同及上级机关批文,引用的文件、采用的标准等)

(缩写词和名词定义)

2. 约定

数据库中各种元素的命名约定。 例如表名,字段名的命名约定。

3. 数据库概念模型设计

3.1数据实体-关系图

3.2数据实体描述

数据实体中文名,数据库表名

数据实体描述

3.3实体关系描述

(描述每个实体间的关系)

实体1:实体2 (1:1,1:n, m:n)

关系描述:

4. 数据库逻辑模型设计

4.1实体-关系图(不含多-多关系)

4.2关系模型描述

数据库表名: 同义词(别名):

主键:

外键:

索引:

约束:

中文名称 数据属性名 数据类型 数据长度 约束范围 是否空 注解

 
 

4.3数据视图描述

(用标准SQL语言中创建数据视图的语句描述)

4.4数据库一致性设计

(用标准SQL语言中创建表的语句描述)

5. 物理实现

5.1数据库的安排

。说明是否采用分布式数据库,数据库表如何分布

。每个数据库服务器上建立几个数据库,其存储空间等安排

。数据库表的的分配方法,例如:如何创建段,或表空间

5.2安全保密设计

用户角色划分方法,每个角色的权限

 
 

数据字典

2011年4月9日

20:33

 
 

rss.xml

// 记录源的xml文件,在源设置窗口修改源后修改此文件

// type=0:root

// type=1:node

// type=2:leaf

<rss>

<item name="root" type="0">

<item name="baidu" type="1">

<item name="pe" type="2" url="xxx">

<item>


</item>

...

</item>

</rss>

 
 

Setting.xml

// 记录窗口设置的xml文件

// 每次界面上有变动时,就修改此文件

<db>

<table name="窗口名字">

<field key="" value="">

</field>

...

</table>

...

</db>

 
 

测试计划

2011年5月1日

11:46

 
 

十二、测试计划

序号:

1 概述

a 被测系统的简介

b 本计划的目的和范围

2 测试过程

a 测试的目标-----包括测试的目的,测试的类型,测试的级别

b 测试的指导方针---- 各项测试活动的分工(例如谁负责生成用于测试的可执行代码

,谁来负责具体执行各项测试);测试的步骤;测试过程需要用到的各种检查表、报表

等;测试过程中配置管理步骤。

C 评价标准-----用于判定测试用例通过与否的指导原则(例如,执行完毕并且没有系

统错误;满足性能要求;产生了预期的结果等等),以及具体的评分标准。

D 纠正错误和重新测试的步骤,填写相应的错误报告单SFR。

3 测试小结

a 测试环境要求-----外部接口的设置;准备必需的资源。

b 一个简要描述准备执行的各个测试用例

C 需求跟踪-----创建一个跟踪矩阵来描述功能需求与测试用例之间的关系。

 
 

测试过程控制程序

2011年5月1日

11:45

 
 

十一、测试过程控制程序

1 目的

通过测试,发现软件的错误,验证软件是否满足软件需求说明和各种设计说明书,为软

件的度量提供依据。

2 适用范围

适用于所有软件产品的内部测试和外部测试。

3 定义

3.1 静态分析(static analysis):不运行被测程序而对其进行分析。

3.2 单元测试 (unit testing):对可以单独测试的软件部分即单元所进行的测试。本

程序文件中将不加区分地使用单元测试和模块测试。

3.3 构造 (build):一个系统中能够满足全部或部分功能要求的某一部分。

3.4 构造测试 (build test):对一个构造的测试。

3.5 集成测试(integrated testing):对模块之间的相互接口关系的测试,一般有增

式和非增式两种方式,即一次将所有模块集成起来还是逐步集成。

3.6 系统测试(system testing):按照功能需求验证系统是否满足所规定的功能。

3.7 交付测试:显示系统在其运行环境中满足系统需求。

3.8 内部测试:由开发人员组织完成的测试活动,具体包括静态分析、单元测试、集成

测试和构造测试。

3.9 外部测试:由测试人员组织完成的测试活动,具体包括系统测试和交付测试。

3.10 结构测试(structural testing):基于程序的测试方法,通常也被称为白盒测试


3.11 功能测试(functional testing):基于需求说明/设计说明书的测试方法,通常

也被称为黑盒测试或行为测试。

4 职责

4.1 测试部负责整个外部测试过程的组织和实施,同时为内部测试提供配合和指导,具

体包括配合开发人员完成静态分析、单元测试、集成测试和构造测试;实施完成系统测

试和交付测试。

4.2 开发部负责整个内部测试过程的组织和实施,同时为外部测试提供配合和支持,具

体包括实施完成静态分析、单元测试、集成测试和构造测试;配合测试人员完成系统测

试和交付测试。

5 工作程序

5.1 测试工作流程

整个软件测试工作分为制定测试计划、测试设计与开发、测试执行和测试评估

等四个阶段。

5.1.1 制定测试计划

具体内容请参看测试计划模板。

5.1.2 测试设计与开发

根据被测试特性,设计测试用例的结构,确定每一个测试用例的执行方式(手工、自动

或半自动)、输入、期待的输出等。具体内容请参看测试用例说明。

5.1.3 测试执行

按照测试计划执行测试用例,决定测试用例的通过或失败,如果通过进行测试评估;否

则重新运行该测试用例或修改软件设计/编码/文档,然后重新进行测试,具体按照不和

格品控制程序执行。

5.1.4 测试评估

按照评价标准评价测试工作和被测软件,当发现测试工作存在问题时,应该修订测试计

划,进行重复测试,直至测试达到规定的要求。

5.2 测试生命周期和软件开发生命周期的关系。

测试阶段

开发阶段 单元测试 集成测试 构造测试 系统测试 交付测试

需求定义与分析阶段 NA NA NA 建立测试计划 建立测试计划

概要设计阶段 NA 建立测试计划 建立测试计划 更新测试计划 更新测试计划

详细设计阶段 建立确定测试计划 更新确定测试计划 更新确定测试计划 更新测试计划

更新测试计划

实现阶段 设计开发测试用例、执行测试用例 设计开发测试用例、执行测试用例 设计开

发测试用例、执行测试用例 完成测试计划、设计开发测试用例 完成测试计划、设计开

发测试用例

测试阶段 NA NA NA 执行测试用例、评估测试结果 执行测试用例、评估测试结果

5.3 测试阶段与顺序。

5.3.1 静态分析

a 适用对象

适用于新开发的和重用的代码。

b 进入条件

(1) 代码无错误地通过编译或汇编。

(2) 已经对代码进行了可能的预处理。

c 测试内容(具体内容见附录1)

(1) 检查代码和设计规格的一致性。

(2) 检查代码的标准性、可读性。

(3) 检查代码逻辑表达的正确性。

(4) 检查代码结构的合理性。

d 具体要求

(1) 由项目负责人决定是否进行静态分析。

(2) 采用代码走查和代码审查相结合的方式进行静态分析。

(3) 静态分析必须在单元测试之前进行。

(4) 审查小组由一名仲裁人(通常由项目组长担任)、程序编写者、至少一名测试人员

和一个或多个其他程序员组成,必要是可邀请其他部门的专家参加审查工作。

(5) 静态分析由开发部负责开展。

e 实施步骤

(1) 项目负责人组织审查小组。

(2) 测试人员分发代码检查单、被检查的代码以及相关的文档。

(3) 审查小组召开代码审查会,记录发现的错误,填写【静态分析错误报告】。

(4) 审查小组修正错误并决定是否再次审查。

f 分析评估

审查小组根据代码审查的错误记录来评估该程序,决定是否需要重新进行审议。【静态

分析错误报告】需交给程序编写者并同时存档。在报告中必须写明错误的类型、影响域

、位置和原因等。

g 通过准则

(1) 充分审查了所规定的代码,并且全部编码准则被遵守。

(2) 审查中发现的错误已全部修改。

5.3.2 单元测试

a 适用对象

计算机软件单元。

b 进入条件

(1) 代码无错误地通过编译或汇编。

(2) 已经对代码进行了可能的预处理,如使用lint/beautifier等进行了处理。

c 测试内容(具体内容见附录2)

(1) 模块接口-----对被测模块,信息是否能正确地流入和流出。

(2) 局部数据结构-----在模块的工作过程中,其内部的数据能否保持其完整性。

(3) 边界条件-----在边界上模块是否能正常工作。

(4) 覆盖条件------模块的运行是否达到了规定的逻辑覆盖。

(5) 出错处理-----检查模块的错误处理设施是否有效。

d 具体要求

(1) 在进行单元测试之前,由项目负责人决定是否进行静态分析。

(2) 单元测试的主要形式是结构测试。

(3) 单元测试的测试计划应该根据被测单元的性质而制订:如对系统控制单元应主要采

用结构测试;对复杂的计算单元应主要采用算法分析测试用例;对界面单元就应该测试

各种选项的组合。

(4) 语句覆盖率应达到100%。

(5) 分支覆盖率应达到85%。

(6) 单元测试由开发部负责开展。

e 实施步骤

(1) 在详细设计阶段完成单元测试计划。

(2) 建立单元测试环境,完成测试设计和开发。

(3) 执行单元测试用例,并且详细记录测试结果。

(4) 判定测试用例是否通过。

(5) 提交【单元测试报告】。

f 分析评估

根据【详细设计说明书】、单元测试结果和发现的错误信息,评价每个单元的设计与实

现。

g 通过准则

(1) 软件单元功能与设计需求一致。

(2) 软件单元接口与设计需求一致。

(3) 能够正确处理输入和运行中的错误。

(4) 在单元测试中发现的错误已经得到修改并且通过了测试。

(5) 达到了相关的覆盖率的要求。

(6) 完成软件单元测试报告

5.3.3 集成测试

a 适用对象

已经通过单元测试的软件模块。

b 进入条件

(1) 已经完成单元测试。

(2) 软件单元已经置于软件配置管理之下。

c 测试内容

(1) 软件单元之间的接口测试。

(2) 全局数据结构测试。

(3) 功能测试。

(4) 边界测试。

d 具体要求

(1) 由项目负责人决定采用非增式或增式测试方法。

(2) 当采用增式测试方法时,由项目负责人决定采用自顶而下或自底向上的的集成测试

方法。

(3) 调用对覆盖率应达到100%。

(4) 确认软件单元无错误地连接。

(5) 集成测试由开发部负责开展。

e 实施步骤

(1) 在概要设计阶段完成【集成测试计划】,并且在详细设计阶段加以细化更新。

(2) 建立集成测试环境,完成测试设计和开发。

(3) 执行集成测试用例,并且详细记录测试结果。

(4) 判定测试用例是否通过。

(5) 提交集成测试报告。

(6) 分析评估

(7) 根据【概要设计说明书】、【详细设计说明书】、集成测试结果和发现的错误信息

,评价软件结构的设计与实现。

(8) 通过准则

(9) 软件单元无错误地连接。

(10) 满足各项功能、性能要求。

(11) 能够对错误输入具有妥善的处理能力。

(12) 在集成测试中发现的错误已经得到修改并且通过了测试。

(13) 达到了相关的覆盖率的要求。

(14) 完成软件【集成测试报告】

5.3.4 构造测试

a 适用对象

已经通过集成测试的构造(build)。

b 进入条件

(1) 已经完成集成测试。

(2) 该构造可以运行在真实或仿真的环境下。

c 测试内容

测试该构造是否达到了构造功能说明中的要求,一般需要进行以下几方面的测试:

(1) 功能测试。

(2) 性能测试。

(3) 外部接口测试。

(4) 人机界面测试。

(5) 强度测试。

(6) 冗余测试。

(7) 可靠性测试。

(8) 安全性测试。

(9) 恢复测试。

d 具体要求

(1) 由项目负责人决定是否将构造测试与集成测试合并进行。

(2) 由项目负责人决定具体进行那些方面的测试,但至少应该进行功能性能测试以及可

靠性测试。

(3) 构造测试主要采用功能测试的方法。

(4) 必须编写正式的构造测试计划。

(5) 构造测试由开发部负责开展,测试部予以配合。

e 实施步骤

(1) 在概要设计阶段完成构造测试计划,并且在详细设计阶段加以细化更新。

(2) 建构造测试环境,完成测试设计和开发。

(3) 执行构造测试用例,并且详细记录测试结果。

(4) 判定测试用例是否通过。

(5) 提交构造测试报告。

f 分析评估

根据【概要设计说明书】、【详细设计说明书】、构造测试结果和发现的错误信息,评

价此次构造的设计与实现。

g 通过准则

(1) 完全执行了构造测试计划中的每个测试用例。

(2) 在构造测试中发现的错误已经得到修改并且通过了测试。

(3) 完成软件构造测试报告。

(4) 系统测试计划已经完成。

5.3.5 系统测试

a 适用对象

由开发部提供给测试部的最终系统。

b 进入条件

(1) 已经完成构造测试。

(2) 该构造可以运行在真实或仿真的环境下。

c 测试内容

测试该构造是否达到了系统需求和功能规格说明中的要求,一般需要进行以下几方面的

测试:

(1) 功能测试。

(2) 性能测试。

(3) 外部接口测试。

(4) 人机界面测试。

(5) 强度测试。

(6) 冗余测试。

(7) 可靠性测试。

(8) 安全性测试。

(9) 恢复测试。

d 具体要求

(1) 由项目负责人决定具体进行那些方面的测试,但至少应该进行功能和性能测试。

(2) 系统测试采用功能测试的方法。

(3) 必须编写正式的系统测试计划。

(4) 系统测试可以在开发环境中进行。

(5) 系统测试组组长应由高级应用专家担任。

(6) 系统测试过程中必须对用户手册进行评价,找出用户手册与实际操作结果的差异。

 
 

(7) 系统测试由测试部负责开展,开发小组予以配合。

e 实施步骤

(1) 在需求分析阶段开始准备【系统测试计划】,并且在设计阶段加以细化更新,在实

现阶段最终确定下来。

(2) 建系统测试环境,完成测试设计和开发,准备测试数据。

(3) 执行系统测试用例,并且详细记录测试结果。

(4) 判定测试用例是否通过。

(5) 提交系统测试报告。

(6) 完成交付测试计划。

f 分析评估

根据【概要设计说明书】、【详细设计说明书】、系统测试结果和发现的错误信息,评

价系统的设计与实现。

g 通过准则

(1) 完全执行了系统测试计划中的每个测试用例。

(2) 在系统测试中发现的错误已经得到修改并且通过了测试。

(3) 完成软件系统测试报告。

(4) 交付测试计划已经完成。

5.3.6 交付测试

a 适用对象

通过了系统测试的软件系统。

b 进入条件

(1) 已经完成系统测试。

(2) 用户手册已经完成。

(3) 该系统可以运行在真实的环境下。

c 测试内容

验证系统是否达到了用户需求说明中的要求,对其进行逐项测试。交付测试用例必须与

用户需求说明一一对应。

d 具体要求

(1) 交付测试小组必须包括一名需求分析人员。

(2) 交付测试必须在交付测试小组的监督下进行,由交付测试部负责开展,开发小组提

供必要的培训和支持。

(3) 必须编写正式的交付测试计划。

(4) 交付测试必须在实际运行环境中进行。

(5) 交付测试用例必须用来测试现有的已经记录的需求。

e 实施步骤

(1) 在需求分析阶段建立【交付测试计划】,并且在设计和实现阶段加以细化更新,在

实现阶段最终确定下来。

(2) 建交付测试环境,完成测试设计和开发,准备测试数据。

(3) 执行交付测试用例,并且详细记录测试结果。

(4) 对每个测试项,按照测试结果分为以下五类:

2 1级:测试项目无法评估或者无法给出完整的评估。此时必须给出原因。如果是因为该

测试项目没有说明清楚,应该修改测试计划。

2 2级:测试项目没有通过,并且不存在变通方法(workaround)。

2 3级:测试项目没有通过,但存在变通方法(workaround)。

2 4级:存在操作上的不方便。

2 5级:不存在任何问题。

(5) 向测试部提交交付测试报告。

f 分析评估

根据概要设计说明书、详细设计说明书、交付测试结果和发现的错误信息,评价系统的

设计与实现。

g 通过准则

(1) 完全执行了交付测试计划中的每个测试用例。

(2) 在交付测试中发现的错误已经得到修改并且通过了测试。

(3) 完成软件交付测试报告。

5.4 测试状态控制

5.4.1 测试状态分为:

a 未测试

b 测试通过

c 测试未通过

5.4.2 测试状态标识方式

测试状态标识方式应使用配置管理工具,在配置管理项中标识。具体参见《配置管理控

制程序》和《不合格软件项控制程序》。

6 引用的文件

《软件开发过程控制程序》 (T.CX0402-A01)

《配置管理控制程序》 (T.CX0801-A01)

《不合格软件项控制程序》 (T.CX1301-A01)

7 产生的质量记录

【代码审查检查表】 (T.JL1001-A01)

【单元测试检查表】 (T.JL1002-A01)

【测试计划】 (T.JL1003-A01)

【测试用例说明】 (T.JL1004-A01)

【测试报告】 (T.JL1005-A01)

 
 

质量记录控制程序

2011年5月1日

11:47

 
 

十五、质量记录控制程序

1 目的

对质量记录进行控制和管理,提供产品质量符合要求和质量体系有效运行的证据。

2 适用范围

本程序适用于本公司与质量体系相关的所有质量记录,包括来自分承包方的质量记

录的管理活动。

3 定义

3.1质量记录:是指为证明满足质量要求的程度或为质量体系的要素运行的有效性提供客

观证据的文件。

4 职责

4.1 质管部负责组织程序文件、作业指导书、内部技术管理文件产生的质量记录样本的

编制、审批、修订及日常检查考核工作, 负责质量记录的保存、维护、借阅和日常管理

工作。

4.2 各部门配置管理员负责本系统归口管理的质量记录的收集、临时保存及检查考核工

作。

5 工作程序

5.1 质量记录的范围

a. 与产品质量有关的记录

如顾客投诉记录、工程现场检验报告等。

b. 质量体系运行记录

内审报告、管理评审报告、人员培训记录等。

c. 来自分承包方的质量记录

委托方过程控制记录表。

5.2 质量记录的存储形式

a. 书面文字

b. 磁盘、磁带

5. 3 质量记录样本的设计、标识和修改

5.3.1 质量记录的编写按《文件和资料控制程序》执行。

5.3.2 质量记录的格式要满足程序文件的要求,适用性强,可操作,易于识别和修改


5.3. 3 质量记录由各归口管理部门根据《文件编号规定》(T.ZY0501-A01)对序号进

行编号,序号标在记录的右上角。

5.3.4 质管部每年对全公司的质量记录样本汇总并组织编制成册,发至各大部并以模

板方式存于指定目录下。

5.3.5 如果由于程序文件或内部技术管理规范的更改导致质量记录样本的更改,则更

改过程按《文件和资料控制程序》执行。如果仅修改质量记录样本时,各部门将修改的

样本报质管部,由质管部审核,管理者代表批准后,修改样本模板,并在下次发行质量

记录样本手册时更新相应质量记录样本。

5.4 质量记录的填写与传递

5.4.1 质量记录一律用计算机填写,签名除外。

5.4.2 质量记录所列各项要填写完整,如有空白,填 /。

5.4.3 需传递的质量记录应按程序文件规定的路线传递到位。

5.5 质量记录的标识,收集,编目,归档

5.5.1 各部门设专人负责对质量记录进行收集、整理、标识、编目,放于指定目录下

。质管部每月对全公司质量记录进行审查入库,统一归档存储质量记录。

5.6 质量记录的查阅和维护

5.6.1 质量记录的维护由质管部统一管理,包括定期备份、设置使用权限。

5.6.2 各相关部门按《文件和资料控制程序》(T.CX0501-A01)借阅质量记录。

5.6.3 已超过保存期限的质量记录由质管部从质量记录库中删除,并列出删 除的

质量记录清单。

6.引用文件

《文件编号规定》 (T.ZY0501-A01)

《文件和资料控制程序》 (T.CX0501-A01)

7.质量记录

8. 附录

附录A

质量记录清单

质量记录编号 质量记录名称 搜集部门 保存年限 管理人员 备注

T.JL0101-A01 管理评审报告 质管部

T.JL0301-A01 合同评审表 市场部

T.JL0302-A01 合同修改申请单 市场部

T.JL0303-A01 合同签署授权表 市场部

T.JL0406-A01 评审小组成员登记表 核心组

T.JL0407-A01 评审总结记录表 核心组

T.JL0408-A01 设计更改记录 核心组

T.JL0409-A01 开发产品文档审查报告 核心组

T.JL0410-A01 公司级设计评审申请表 核心组

T.JL0411-A01 用户测试报告和验收报告 开发部

T.JL0412-A01 项目验收会议记录 开发部

T.JL0413-A01 产品交付清单 开发部

T.JL0414-A01 用户新需求表 开发部

T.JL0501-A01 受控文件清单 总经理办

T.JL0502-A01 技术资料文件目录 总经理办

T.JL0503-A01 文件更改(更新)申请表 总经理办

T.JL0504-A01 文件发放登记表 总经理办

T.JL0505-A01 文件处理申请表 总经理办

T.JL0506-A01 资料借阅登记表 总经理办

T.JL0507-A01 文件更改记录 总经理办

T.JL0601-A01 分供方评价报告 市场部

T.JL0602-A01 合格分供方名录 市场部

T.JL0603-A01 合格分供方资格审查表 市场部

T.JL0604-A01 采购产品验证记录 市场部

T.JL0605-A01 认定的分供方名录或清单 市场部

T.JL0606-A01 分供方及其供应产品的

质量记录 市场部

T.JL0607-A01 委托方过程控制记录表 市场部

T.JL0701-A01 顾客提供产品认可报告 市场部

T.JL0702-A01 顾客提供产品验证报告 市场部

T.JL0801-A01 设计更改记录 开发部

T.JL0802-A01 软件配置状态报告 开发部

T.JL0901-A01 产品项清单 开发部

T.JL0902-A01 工程现场检验报告 开发部

T.JL0903-A01 产品修改记录表 开发部

T.JL0905-A01 部门年度生产设备

需求计划 系统部

T.JL0906-A01 公司年度生产设备需求

计划 系统部

T.JL0907-A01 计划外生产设备需求计划 系统部

T.JL0908-A01 备品备件库存表 系统部

T.JL0909-A01 设备配置、附件和文件

明细表 系统部

T.JL0910-A01 设备采购申请表 系统部

T.JL0911-A01 设备领用申请 系统部

T.JL0912-A01 设备领用表 系统部

T.JL0913-A01 设备部件领用表 系统部

T.JL0914-A01 设备外借单 系统部

T.JL0915-A01 设备使用情况检查表 系统部

T.JL0916-A01 设备台帐 系统部

T.JL0917-A01 闲置设备部件清单 系统部

T.JL0918-A01 设备报废申请表 系统部

T.JL1001-A01 代码审查检查表 开发部

T.JL1002-A01 单元测试检查表 开发部

T.JL1301-A01 软件项错误报告 开发部

T.JL1401-A01 预防措施指令单 质管部

T.JL1402-A01 纠正措施指令单 质管部

T.JL1403-A01 预防措施实施情况

综合分析报告 质管部

T.JL1501-A01 代购品接入记录 系统部

T.JL1502-A01 代购品出/入库明细帐 系统部

T.JL1503-A01 库存代购品定期检查记录 系统部

T.JL1504-A01 代购品提货申请 系统部

T.JL1505-A01 代购品交付清单 系统部

T.JL1601-A01 质量记录外借单 质管部

T.JL1701-A01 审核检查表 质管部

T.JL1702-A01 审核年度计划 质管部

T.JL1703-A01 不合格报告 质管部

T.JL1704-A01 审核报告 质管部

T.JL1705-A01 审核会议签到表 质管部

T.JL1706-A01 第 次审核实施计划 质管部

T.JL1707-A01 不合格项分布表 质管部

T.JL1801-A01 第 季度员工培训计划 综合部

T.JL1802-A01 新员工上岗培训计划 综合部

T.JL1803-A01 员工培训登记表 综合部

T.JL1901-A01 维护计划 工程部

T.JL1902-A01 用户意见征询表 工程部

T.JL1903-A01 用户意见处理通知书 工程部

T.JL1904-A01 用户意见反馈表 工程部

T.JL1905-A01 客户服务中心、技术支持中心热线服务统计表 工程部

T.JL1906-A01 培训计划 开发部

T.JL1907-A01 用户培训记录 开发部

T.JL1908-A01 用户培训反馈表 开发部

T.JL2001-A01 错误日志 开发部

T.JL2002-A01 错误统计报表 开发部

T.JL2003-A01 项目预测统计报表 开发部

 
 

 
 

E-实施阶段

2011年5月1日

12:13

 
 

详细设计说明书

2011年5月1日

11:43

 
 

六、详细设计说明书

1. 引言

1.1 项目名称

1.2项目背景和内容概要

(项目的委托单位、开发单位、主管部门、与其它项目的关系,与其他机构的关系等)

1.3相关资料、缩略语、定义

(相关项目计划、合同及上级机关批文,引用的文件、采用的标准等)

(缩写词和名词定义)

2. 程序结构

2.1程序结构图

(主要表示程序间的调用关系)

2.2程序文件清单

子系统名 程序文件名 运行平台 编程语言 简要描述

3. 程序设计说明

程序文件名 子系统名

编写者 编写日期

第 次修改 修改人 修改日期

程序名称:

程序功能描述

输入/输出项

主要数据结构

存取的数据库表和字段

调用的其它程序

调用的公共函数库或公共函数

算法

逻辑流程图

测试要点

4.用户界面设计说明

4.1用户界面图

(可制作有关用户界面图集的附录参考)

4.2用户界面与模块关系表

用户界面名称 用户界面编号 隶属的子系统 相关模块名称 简要名称

 
 

RegisterListener

2011年9月10日

14:10

 
 

 
 

name :string

args :CArgList

caller

callee

Runner

description

StateController.name.init

StateController.name:string

StateController::initState

  

mainRunner

statemachine changed state

"media say"

s:const wchar_t*

async:bool

CPkrssMediaCtrl::say

  

mainRunner

  

"media_Rss_Group changed"

"change group":string

mActiveNodeId:RssNodeId

old:RssNodeId

CPkrssRssData::setActiveGroup

CPkrssMediaNews::on_mediaGroupChanged

mainRunner

  

"media changed"

"change group":string

mMedia:IPkrssMedia*

pOldMedia:IPkrssMedia*

CPkrssMediaCtrl::setCurrentMediaObject

CWinPlayCtl::on_CWinPlayCtl_mediaChanged

CWinPlayCtlLogic::on_mediaChanged

  

mainRunner

  

rss_download_finished = "rss download finished"

mCurNodeId:RssNodeId

mDatas:IDataPool*

CWorkItemInterface_rssDownloader::onHttpNotify

  

mainRunner

  

"news list content changed"

datas:IDataPool*

mDatas:IDataPool*

CPkrssMediaNews::notifyWindowContentAdd

CWinTabNews::onListAddEvent

mainRunner

  

"news rss favorite changed"

oper:string

pNode:SRssNodeInfo*

CWinRssSrc::_notify_common_changed

CWinTabNews::onRssFavChangedEvent

mainRunner

  

  

  

  

  

  

  

 
 

类接口

2011年4月9日

21:30

 
 

IRssBase 基本上所有的类都是这个类的派生类,它又派生于CObject

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

IRssBase

2011年4月10日

11:29

 
 

class IRssBase : public CObject

{

public:

virtual ~IRssBase(){};

};

 
 

IRssSrcDlg

2011年4月10日

10:01

 
 

/*! 源设置对话框管理.

操作CDlgSrc.

*/

class IRssSrcDlg : public IRssBase

{

public:

 
 

/*! 查询是否已经为模态对话框.

@return 是或否.

*/

virtual bool is_domodal() = 0;

 
 

/*! 打开模态对话框.

*/

virtual void domodal() = 0;

 
 

/*! 单件化.

*/

static IRssSrcDlg* getSingleTon();

};

 
 

#define RssSrcDlg IRssSrcDlg::getSingleTon()

 
 

IUiData

2011年4月9日

21:36

 
 

/*! 界面数据管理.

详见:Setting.xml.

*/

class IUiData : public IRssBase

{

public:

 
 

/*! 取数据.

@param section 区域.

@param key 键.

@return 字符串数据.可能为空.

*/

virtual CString get_value(LPCTSTR section,LPCTSTR key) = 0;

 
 

/*! 设置数据.

如果section不存在,会新建它.

如果key不存在,会新建它.

如果value不存在,会新建它,否则会修改它.

@param section 区域.

@param key 键.

@param value 有效字符串数据.

*/

virtual void set_value(LPCTSTR section,LPCTSTR key,LPCTSTR value) = 0;

 
 

/*! 移除数据.

@param section 区域.

@param key 键.

*/

virtual void remove_value(LPCTSTR section,LPCTSTR key) = 0;

 
 

/*! 加载.

*/

virtual void load() = 0;

 
 

/*! 保存.

*/

virtual void save() = 0;

 
 

 
 

 
 

/*! 单件化.

*/

static IUiData* getSingleTon();

};

 
 

#define UiData IUiData::getSingleTon()

 
 

IUiDataBinder

2011年4月10日

11:28

 
 

/*! 界面数据绑定管理器.

引用:IUiData.

*/

class IUiDataBinder : public IRssBase

{

public:

enum eCtlType

{

eCtl_checkbox,

eCtl_slider,

};

 
 

/*! 绑定配置初始化.

*/

virtual void ctl_read(LPCTSTR section,LPCTSTR key,eCtlType type,HWND ctl) = 0;

 
 

/*! 绑定写入配置.

*/

virtual void ctl_write(HWND ctl) = 0;

 
 

/*! 单件化.

*/

static IUiDataBinder* getSingleTon();

};

#define UiDataBinder IUiDataBinder::getSingleTon()

 
 

测试用例说明

2011年5月1日

11:46

 
 

十三、测试用例说明

序号:

1 测试用例的具体描述(对每一个测试用例都要描述下列各项)

a 测试用例的名称

b 测试用例的目的-----该测试用例将用于验证那些功能。

C 测试方法----- 执行测试用例的具体步骤(step by step)。

D 测试用例的输入。

E 期待的输出。

F 实际的输出(此项在测试执行阶段填写)

2 回归测试的具体描述(对每一个回归测试都要描述a到f各项内容)

 
 

单元测试检查表

2011年5月1日

11:46

 
 

十四、单元测试检查表

单元名称_____________ 系统 __________________ 构造________________

任务编号_____________________________ 初次测试日期____________________

关键测试项 是 否 已纠正

 
 

1 有无任何输入参数没有使用?有无任何输出参数没有产生? [ ] [ ] [

]

2 有无任何数据类型不正确或不一致? [ ] [ ] [

]

3 有无任何算法与PDL或功能需求中的描述不一致? [ ] [ ] [

]

4 有无任何局部变量使用前没有初始化? [ ] [ ] [

]

5 有无任何外部接口编码错误?即调用语句、文件存取、

数据库错误。 [ ] [ ]

[ ]

6 有无任何逻辑路径错误? [ ] [ ]

[ ]

7 该单元是否有多个入口或多个正常的出口? [ ] [ ]

[ ]

额外测试项

8 该单元中有任何地方与PDL与PROLOG中的描述不一致? [ ] [ ] [ ]

9 代码中有无任何偏离本项目标准的地方? [ ] [ ] [ ]

10 代码中有无任何对于用户来说不清楚的错误提示信息? [ ] [ ] [ ]

 
 

11 如果该单元是设计为可重用的,代码中是有可能妨碍

重用的地方? [ ] [ ] [

]

采取的动作和说明

(请用单独的一页或多页。每一项动作必须指出所引用的问题。)

审查结果

1 如果上述11个问题的答案均为"否",那么测试通过,请在此处标记

并且在最后签名。 [ ]

2 如果代码存在严重的问题,例如多个关键问题的答案为"是",那么程序编制者纠正这

些    错误,并且必须重新安排一次单元测试。

下一次单元测试的日期:_________________________

3 如果代码存在小的缺陷,那么程序编制者纠正这些错误,并且仲裁者必须安排一次

跟踪会议。

跟踪会议的日期:_________________________

测试人签名:___________________________ 日期:_________________________

 
 

测试报告

2011年5月1日

11:45

 
 

十、测试报告

序号:

1 引言

A 编写目的

B 背景说明------被测软件系统的名称、任务提出者、开发者、用户等;指出测试

环境与实际环境的差异以及其对测试结果的影响。

2 测试概要------用表格的形式每一个测试项的标识以及内容,并且指出实际测试内

容与测试计划的差别以及更改的原因。

3 测试结果---------- 对每一个测试项的实际输出结果与预期的相比较,说明所发现

的结果。

4 对软件功能的结论---- 对每一项功能,必须说明:

A 经过测试验证的能力(capabilities)

B 查找出来的限制和缺陷(defects)。

5 分析总结

A 能力---- 经过测试验证的该软件所具有的能力。

B 限制和缺陷---- 说明经过测试证实的缺陷和限制,说明缺陷和限制对软件性能的影

响。

C 建议

n 各项修改的方法

n 各项修改的进度要求。

n 各项修改预计的工作量。

n 各项修改的负责人。

6 测试资源的消耗 ----- 总结测试工作的资源消耗,包括参加的人员、级别、数量和

时间等等。

 
 

系统指南

2011年5月1日

11:43

 
 

五、系统指南

1. 引言

1.1 编写目的

1.2 背景

2. 系统功能

2.1 系统简介

2.2 系统功能

2.3 系统特性

3. 运行环境

3.1 网络结构

3.2 硬件设备

3.3 支持软件

3.4 运行环境要求

4. 系统安装

4.1 安装准备

4.2 安装过程

4.3 系统初始化

5. 出错处理

6. 报表格式

 
 

Specification

 
 

Icon introduce


 
 

Windows introduce

 
 

1.


main setting window

[source]: it will open "rss source dialog".

[exit]: it will exit pkrss application.

[show lyric]: hide or show the lyric window controller.

[mute]:allow you close all voice volume.

[--| slider bar]:allow you control the voice volume size.

[address]:it will open the current rss source url in ie.

[content]:it will open the current rss item link url in ie.

If you click X,it will hide the main setting window,but not exit the pkrss application.

 
 

2.


 
 

lyric window

It was topmost in desktop window.you also can hide it,by uncheck[show lyric].

 
 

3.


traynotify menu

[show setting]:if you hide the [main setting window],this menu can reshow it.

[show source]:it can open [rss source window].

[show lryic]:if you hide the [lyric window],this menu can reshow it.

[exit]: exit the pkrss application.


 

4.


rss source window

Node: director(no rss item),can have child item.

Leaf:rss item,cann't have child item.

 
 

[root-tree]:all your rss source can show in here.you can select change the selected item.if that,right pane's control may also changed.

[remove item]:remove current your selected item,contain node and leaf.

[play selected]:play your current selected in left tree.if it's node,will played while childs leaf.if leaf,only play it.

[see ie ie]:if you current selected in left tree is leaf,it may open current rss source url in ie.

[operator type]:you can selected operator type.

[do]:execute current operator type.

[text]:item name.

[address]:leaf,the rss item url.

 
 

 
 

 
 

F-结束阶段

2011年5月1日

12:13

 
 

质量改进过程

2011年5月1日

11:44

 
 

七、 质量改进过程

程序文件名 质量记录

质量记录控制程序 /

生产支持过程:

程序文件名 质量记录

文件和资料控制程序 【受控文件清单】

【技术资料文件目录】

【文件更改申请单】

【文件更改记录】

【文件发放登记表】

【文件处理申请表】

【资料借阅登记表】

【受控文件丢失/损坏情况说明表】

不合格软件项控制程序 【软件项错误报告】

员工培训控制程序 【员工季度培训计划】

【培训申请表】

【员工培训登记表】

【培训考核记录】

开发生产过程:

程序文件名 质量记录

项目计划控制程序 【项目计划表】

【项目中期计划】

软件开发过程控制程序 【系统开发规范】

【软件需求说明书】

【概要设计说明书】

【数据库设计说明书】

【详细设计说明书】

【系统指南】

【用户操作手册】

设计评审和更改控制程序 【评审小组成员登记表】

【评审总结记录表】

【设计更改记录】

【开发产品文档审查报告】

【公司级设计评审申请表】

测试过程控制程序 【代码审查检查表】

【单元测试检查表】

【测试计划】

【测试用例说明】

【测试报告】

工程安装控制程序 【产品项清单】

【工程现场检验报告】

【产品修改记录表】

项目验收控制程序 【用户测试报告和验收报告】

【项目验收会议记录】

【产品交付清单】

【用户新需求表】

软件服务控制程序 【维护计划】

【用户意见征询表】

【用户意见处理通知书】

【用户意见反馈表】

【客户服务、技术支持中心热线服务统计表】

【培训计划】

【用户培训记录】

【用户培训反馈表】

 
 

 
 

附件

2011年4月12日

11:17

 
 

中科大讯飞试用效果:

 
 

http://dev.voicecloud.cn/tts.php?v_t=1

 
 

Staruml: <file://D:\work\svn\pkrss\doc\uml.uml>

 
 

《中科大讯飞Interphonic 5.0语音合成系统》(Interphonic 5.0)5.0[光盘镜像]

 
 

源文档 <http://www.verycd.com/topics/2734860/>

 
 


http://312400.5d6d.com/thread-4874-1-1.html

 
 

《科大讯飞语音合成系统 》(Interphonic)5.0云龙绿化特别版[压缩包]

 
 

源文档 <http://www.verycd.com/topics/2872327/>

 
 

 
 

发布点

2011年5月10日

15:41

 
 

www.newhua.com

 
 

www.skycn.com

 
 

pkrss运行于windows xp,vista,7之上,特性:语音播新闻,桌面歌词。与《悠听》不同于功能少,但可以自定义rss源。

Windows xp因为系统语音版本低,所以需要去搜索下载中文语音库。

 
 

pkrss is the windows pc application. it read online rss message,and present for desktop lyric form, it also can speech the text. current is orient version. it is has some bug,that can influence your usage.so if you found that, don't warry about them,i will fix it so quickly. why i release it now,because i want some one who like it.

 
 

开发文档

2011年5月4日

11:47

 
 

google api key

Sunday, October 23, 2011

11:04 PM

 
 

Sign-up for an API Key

The Google Search APIs let you put Google Search in your web pages with JavaScript. While you can use these APIs without a key, it is very useful to have one. If you have a key, we can contact you if we detect problems with your application/site.

APIs that use the Google API loader allow you to use an API key. This key allows us to contact you in the event of issues with your application. A single API key is valid within a single directory on your web server, including any subdirectories. Signing up the URL http://www.mygooglesearchssite.com/mysite, for example, will create a key usable within all URLs in the http://www.mygooglesearchssite.com/mysite/ directory.

You must have a Google Account to obtain a Google API key, and your API key is tied directly to your Google Account. You can generate multiple API keys for your account if you have multiple web sites.

You are subject to the terms of any API you load using the loader.

My web site URL:

Thanks for Signing up for a Google API key!

Your key is:

ABQIAAAASs_twnqeaRcMutVXw4VCpBQdOQukUcaAchVB1-fiosUvdcepEBRJ5f6ULFOUocd64JJnYlakTkA24w

This key is good for all URLs in this directory:

http://pkrss.sf.net

Here is an example web page to get you started:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>My Google API Application</title>

<script src="https://www.google.com/jsapi?key=ABQIAAAASs_twnqeaRcMutVXw4VCpBQdOQukUcaAchVB1-fiosUvdcepEBRJ5f6ULFOUocd64JJnYlakTkA24w" type="text/javascript"></script>

<script language="Javascript" type="text/javascript">

//<![CDATA[

 
 

google.load("search", "1");

 
 

function OnLoad() {

// Create a search control

var searchControl = new google.search.SearchControl();

 
 

// Add in a full set of searchers

var localSearch = new google.search.LocalSearch();

searchControl.addSearcher(localSearch);

searchControl.addSearcher(new google.search.WebSearch());

searchControl.addSearcher(new google.search.VideoSearch());

searchControl.addSearcher(new google.search.BlogSearch());

 
 

// Set the Local Search center point

localSearch.setCenterPoint("New York, NY");

 
 

// Tell the searcher to draw itself and tell it where to attach

searchControl.draw(document.getElementById("searchcontrol"));

 
 

// Execute an inital search

searchControl.execute("Google");

}

google.setOnLoadCallback(OnLoad);

 
 

//]]>

</script>

</head>

<body>

<div id="searchcontrol">Loading...</div>

</body>

</html>

 
 

 
 

天气

2011年5月4日

15:39

 
 

雅虎天气api介绍:http://developer.yahoo.com/weather/

利用YAHOO公开API做天气预报Web服务:http://kb.cnblogs.com/page/42993/

天气预报接口代码:http://wenku.baidu.com/view/637ed601b52acfc789ebc9be.html

android天气预报源代码:http://wenku.baidu.com/view/e2e1b923dd36a32d73758165.html

对应下载源码:http://www.winu.cn/htmls/009/123/

 
 

免费的天气预报webservice接口

默认分类 2010-06-29 08:41:04 阅读4911 评论0  字号: 订阅

1. http://www.ayandy.com/Service.asmx?wsdl

 官网:http://www.ayandy.com

 
 

2. http://www.webservicex.net/globalweather.asmx?wsdl(英文的)

example:http://www.webservicex.net/globalweather.asmx/GetWeather?CityName=dalian&CountryName=china

 
 

3. http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl

网站:http://www.webxml.com.cn/zh_cn/index.aspx ,此网站提供各种webservice接口;

java程序:

   public class WeatherUtil {   

    private static String SERVICES_HOST = "www.webxml.com.cn";   

    private static String WEATHER_SERVICES_URL = "http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx/";   

    private static String PROVINCE_CODE_URL = WEATHER_SERVICES_URL    

                                              + "getRegionProvince";   

    private static String CITY_CODE_URL = WEATHER_SERVICES_URL   

                                          + "getSupportCityString?theRegionCode=";   

    private static String WEATHER_QUERY_URL = WEATHER_SERVICES_URL   

                                              + "getWeather?theUserID=&theCityCode=";   

       
 

       
 

    private WeatherUtil(){}   

       
 

    public static void main(String[] args) throws Exception{       

        int provinceCode = getProvinceCode("辽宁");    //3119   

        int cityCode = getCityCode(provinceCode, "大连");    //974   

        List<String> weatherList = getWeather(cityCode);   

        for(String weather:weatherList){   

           System.out.println(weather);   

        }   

    }   

       
 

    public static int getProvinceCode(String provinceName){    

        Document document;   

        DocumentBuilderFactory documentBF = DocumentBuilderFactory.newInstance();   

        documentBF.setNamespaceAware(true);   

        int provinceCode = 0;   

        try{   

            DocumentBuilder documentB = documentBF.newDocumentBuilder();   

            InputStream inputStream = getSoapInputStream(PROVINCE_CODE_URL);    //具体webService相关   

            document = documentB.parse(inputStream);   

            NodeList nodeList = document.getElementsByTagName("string");    //具体webService相关   

            int len = nodeList.getLength();   

            for(int i = 0; i < len; i++){   

                Node n = nodeList.item(i);   

                String result = n.getFirstChild().getNodeValue();   

                String[] address = result.split(",");   

                String pName = address[0];   

                String pCode = address[1];   

                if(pName.equalsIgnoreCase(provinceName)){   

                    provinceCode = Integer.parseInt(pCode);   

                }    

            }   

            inputStream.close();   

        }catch(DOMException e){   

            e.printStackTrace();   

        }catch(ParserConfigurationException e){   

            e.printStackTrace();   

        }catch (SAXException e){       

            e.printStackTrace();   

        }catch(IOException e){   

            e.printStackTrace();   

        }   

        return provinceCode;   

    }   

       
 

    public static int getCityCode(int provinceCode, String cityName){      

        Document doc;   

        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();   

        dbf.setNamespaceAware(true);   

        int cityCode = 0;   

        try{   

            DocumentBuilder db = dbf.newDocumentBuilder();   

            InputStream is = getSoapInputStream(CITY_CODE_URL + provinceCode);    //具体webService相关   

            doc = db.parse(is);   

            NodeList nl = doc.getElementsByTagName("string");    //具体webService相关   

            int len = nl.getLength();   

            for(int i = 0; i < len; i++){   

                Node n = nl.item(i);   

                String result = n.getFirstChild().getNodeValue();   

                String[] address = result.split(",");   

                String cName = address[0];   

                String cCode = address[1];   

                if(cName.equalsIgnoreCase(cityName)){   

                    cityCode = Integer.parseInt(cCode);   

                }   

            }   

            is.close();   

        }catch(DOMException e){   

            e.printStackTrace();   

        }catch(ParserConfigurationException e){   

            e.printStackTrace();   

        }catch (SAXException e){   

            e.printStackTrace();   

        }catch(IOException e) {   

            e.printStackTrace();   

        }   

        return cityCode;   

    }   

       
 

    public static InputStream getSoapInputStream(String url){   

        InputStream inputStream = null;   

        try{   

            URL urlObj = new URL(url);   

            URLConnection urlConn = urlObj.openConnection();   

            urlConn.setRequestProperty("Host", SERVICES_HOST);    //具体webService相关   

            urlConn.connect();   

            inputStream = urlConn.getInputStream();   

        }catch(MalformedURLException e){   

            e.printStackTrace();   

        }catch(IOException e){   

            e.printStackTrace();   

        }   

        return inputStream;   

    }   

       
 

    public static List<String> getWeather(int cityCode){   

        List<String> weatherList = new ArrayList<String>();           Document document;   

        DocumentBuilderFactory documentBF = DocumentBuilderFactory.newInstance();   

        documentBF.setNamespaceAware(true);   

        try{   

            DocumentBuilder documentB = documentBF.newDocumentBuilder();   

            InputStream inputStream = getSoapInputStream(WEATHER_QUERY_URL + cityCode);   

            document = documentB.parse(inputStream);   

            NodeList nl = document.getElementsByTagName("string");   

            int len = nl.getLength();   

            for(int i = 0; i < len; i++){   

             Node n = nl.item(i);   

                String weather = n.getFirstChild().getNodeValue();   

                weatherList.add(weather);   

            }   

            inputStream.close();   

        }catch(UnsupportedEncodingException e){   

            e.printStackTrace();   

        }catch (DOMException e){   

            e.printStackTrace();   

        }catch (ParserConfigurationException e){   

            e.printStackTrace();   

        }catch(SAXException e){   

            e.printStackTrace();   

        } catch (IOException e){   

            e.printStackTrace();   

        }   

        return weatherList;   

    }  

4. 完全免费的带各种插件的天气预报接口(嵌入页面代码和风格可任选【12种】):

 http://service.weather.com.cn/plugin/index.shtml

 
 

源文档 <http://blog.163.com/chengwei_1104/blog/static/5364527420105298414220/>

 
 

 
 

 
 

其它语音

2011年5月4日

15:26

 
 

Ispeech.com 网站只支持美国、西欧几种语言,不支持中文

 
 

 
 

Google tts api

2011年5月4日

11:47

 
 

Google 语音API(非官方):

 
 

http://translate.google.com/translate_tts?tl=<language>&q=<content>

 
 

返回MP3数据,限制100 characters

 
 

<
lanauage>:

  

  

  

  

zh-CN

简体中文

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

 
 

<content>发送的文本,可能要URL编码,暂不清楚。但我在浏览器里发送"昨天你家发大水,发到我家家门口"OK。

 
 

google词典真人发音语音库哪里有下载

 
 

源文档 <http://wenda.tianya.cn/wenda/thread?tid=0f544456305e5408>

 
 

一些资料: http://www.google.com/support/forum/p/voice/thread?tid=0bd3a90f4b8d786d&hl=en

 
 

Google Reader API

 
 

源文档 <http://www.niallkennedy.com/blog/2005/12/google-reader-api.html>

 
 

Google Feed API

 
 

源文档 <http://code.google.com/apis/feed/>

 
 

GoogleReaderAPI  

 
 

源文档 <http://code.google.com/p/pyrfeed/wiki/GoogleReaderAPI>

 
 

Google Feed API

 
 

源文档 <http://code.google.com/apis/feed/v1/>

 
 

google r2-release : http://code.google.com/p/r2-release/wiki/GoogleReaderApi

 
 

google提供的几种读取feed的API : http://www.cnblogs.com/kuber/archive/2010/01/25/read_feed_with_google_apis.html

 
 

 
 

 
 

 
 

 
 

 
 

自动更新

2011年4月19日

15:12

 
 

举例发布2.0新版:

1.在D:\work\output\pkrss 下新建

\2.0\

2.将新文件准备到该目录下

\pkrss.exe


3.运行D:\work\output\pkAutoUpdate\pkAutoUpdate.bat

3.1 工作目录填:D:\work\output\pkrss\2.0

3.2 点击加载

3.3 在表格中,将不需要的文件名删除,其余列不管

3.4 要关闭的进程名里确认有pkrss.exe

3.5 更新后运行pkrss.exe

3.6 生成xml

 
 

  1. 将2.0\目录下有效的文件,拷贝到 SDExplorer\trunk\pkrss\2.0\下
  2. 将2.0\servertool_data.xml,拷贝到SDExplorer\trunk\pkrss

 
 

 
 

需求文档

2011年4月9日

20:59

 
 

2011/4/9 初制界面需求 lian

 
 

2.1.3

2011年4月30日

20:02

支持服务器rss源管理,不可修改

支持本地rss源管理,可修改

支持

 
 

2.0.0

2011年4月15日

14:38

 
 

家星说要歌词进度

明哲说IE打开,就要支持直接读。

做成插件扩展。

 
 

中金财经电台

 
 

= 计划 =

1.xml导入

导出

合并 相同结点标识串 或 XML过滤

2.标题下面有描述的子显示

 
 

= 已解决 =

gbk问题:http://rss.cnfol.com/stock.xml

 
 

发布时发布rss_svr.xml,默认打开rss.xml,如果不存在则打开rss_svr.xml,保存时写到rss.xml.

Setting.xml类似

 
 

1.0.0 界面需求

2011年4月9日

9:56

 
 

程序启动时

  1. 隐藏任务栏,创建托盘
  2. 加载配置文件
  3. 加载所有的rss源,如果有效源数量=0,打开源设置窗口;否则循环播放选中的源,如果选中的源无效,从第一个开始循环

     
     

播放时

  1. 创建rss数据源列表,循环数据源列表执行2,否则执行5
  2. 从网络读取当前数据,读取成功则将它解析进将要朗读的条目列表
  3. 循环将要朗读的条目列表,将文字贴进文字窗口和朗读接口
  4. 当前朗读完毕,重复2
  5. 重新执行1

     
     

说明:

  1. 切换当前播放时,需要等待上一次播放条目的完成

     
     

源设置窗口

 
 


当前窗口所有操作,立刻保存,无提示步骤。

(树)

显示所有的rss源,子节点表示源。

. 节点选中 右边remove item,play selected, see in ie 有效

.节点未选中 右边remove item, play selected,see in ie 无效

.节点切换 右边(text示例编辑框) (address示例编辑框)(type下拉列表)对应刷新

(Remove item) 移除当前选中的叶子

当有子节点时,一并删除

(player selected) 播放当前选中的节点

只在树选中节点,含自己和子节点有效源数量>0时有效。

.点击 循环播放自己和子节点的有效源,记录该节点到配置文件中

(see in ie) 在浏览器中打开该地址

只在树选中节点为有效源时有效

(text示例编辑框) 编辑名称

(address示例编辑框) 编辑地址

(type下拉列表) 选择源类型

目前只支持rss源

(add dir) 添加树节点,在树空或选中节点为非源节点时有效

.点击 树空时,新建非源主节点;

非源节点时,新建非源子节点

(add item) 添加子源节点,在树选中节点为非源节点时有效

.点击 新建源子节点

(modify item) 修改节点,在树选中节点时有效

.点击 修改该节点数据

(x)关闭按钮

.点击退出当前窗口

托盘:


(show setting)打开主设置窗口

当源设置窗口未打开,并且主设置窗口隐藏时有效,否则无效

.点击 设置主设置窗口(follow show)=选中,显示主设置窗口

(show source )打开源设置窗口

当源设置窗口未打开时有效

(show lyric)显示歌词

当歌词窗口隐藏时有效,否则无效

.点击 设置主设置窗口(show lyric)=选中,显示歌词窗口

 
 

主设置窗口


打开源设置窗口(source...)

. 点击,模态打开source setting对话框

退出程序(exit)

.点击,退出程序

鼠标在歌词上时,设置窗口自动显示(follow show)

.选中(默认) 当鼠标移到歌词上方时,会显示当前主设置窗口

.非选中 当鼠标移到歌词上方时,不会显示当前主设置窗口

设置显示歌词(show lyric)

.选中(默认) 歌词窗口显示

.非选中 歌词窗口隐藏

点击静音(slience/mute)

.选中 |--为最左边,且无效

.非选中(默认) |--有效

拖动音量(|---)

打开rss地址(address)

打开当前rss条目的页面(content)

最小化按钮 (-)

.点击 当前窗口将最小化

最大化按钮 无效

关闭按钮(x)

.点击 隐藏当前窗口

 
 

 
 

System Requirement Specification

2011年5月7日

18:38

 
 

 
 

System Specification

2011年5月7日

18:38

No comments: