中英互译软件工程设计
- 引言部分
1.1 目的
该文档的目的是描述中英互译软件工程系统的概要设计,主要内容包括系统功能简介、系统结构设计、系统接口设计、模块设计和界面设计等。
本文档预期的读者包括设计人员、开发人员、项目管理人员、测试人员。
1.2 范围
1.2.1 系统目标
开发一个支持学生使用的中英互译软件,满足学生日常生活学习中的翻译和阅读问题。
1.2.2 主要软件需求
该系统主要功能包括:
l 识别输入的是中文还是英文并判断接下来的翻译方向
l 支持选择三种翻译的翻译引擎
l 准确的翻译中文与英文
1.2.3 软件设计约束、限制
软件支持鼠标、键盘的物理结构。
1.3 缩写
无。
1.4 术语
无。
1.5 参考资料
【1】软件概要设计文档格式标准【S】.GB 856D-1988
【2】窦万峰.软件工程方法与实践【M】.北京:机械工业出版社,2009.
1.6 版本信息
具体版本信息如表B-1所示。
表B-1 具体版本信息
修改编号 |
修改日期 |
修改后版本 |
修改位置 |
修改内容概述 |
1 2 3 |
2018-5-2 2018-6-1 2018-6-19 |
1.0 2.0 3,0 |
全部 Translator win |
完成第一次编写 新增了两个引擎 制作了gui界面 |
2.数据设计
本部分主要描述软件所涉及的外部数据的结构描述。
本部分主要描述软件所涉及的外部数据的结构描述.
中英翻译系统涉及的主要数据结构如下:
输入字符:输入字符位中文或英文,其数据结构是字符串
原语言和目标语言:原语言和目标语言有中英语言,其数据结构是一个枚举类
3.体系结构设计
3.1数据和控制流复审
4.界面设计
主界面:
这个界面能够输入文本,并且选择要使用的翻译引擎,显示翻译结果.
5.接口设计
本部分主要描述模块接口参数和类型等.
5.1 外部接口设计
5.1.1 外部数据接口
该系统没有外部数据接口
5.1.2 外部系统或设备接口
该系统仅仅有硬件的接口要求,鼠标与键盘是USB连接
5.2内部接口设计规约
5.2.1 内部模块接口调用关系
系统总模块 win():void.
1.1输入数据
J 5.getSelectedItem().toString()
1.2检测输入语言
judge.Judge(j6.getText())
1.3调用翻译工厂
factory.get("google").trans(LANG.EN, LANG.ZH, "hello world"))
1.4 初始化网络请求
HttpPostParams();
HttpGetParams();
HttpMimeParams();
1.5添加数据
Params.put("from", langMap.get(from))
.put("to", langMap.get(targ))
.put("query", query)
.put("transtype", "translang")
.put("simple_means_flag", "3");
1.6发送请求
String baseUrl = "http://....";String strResponse = Params.send2String(baseUrl);
1.7接受响应
String baseUrl = "http://....";InputStream is = Params.send2InputStream(baseUrl);
1.8数据解析
tring ParseJsonString(String jsonString)
5.2.1 接口数据结构
数据结构主要有TFactory,Translator
6.模块过程设计
略
7.需求交叉索引
*输入功能 :1.1输入数据
*翻译:1.2检测输入语言 1.3调用翻译工厂
*发送接受网络请求: 1.4 初始化网络请求 1.5添加数据
1.6发送请求 1.7接受响应
*获得翻译结果 1.8数据解析
8.测试部分
本部分描述测试的原则与方法,以及测试策略和计划。
针对主要功能优先测试,以黑盒测试技术为主、白盒测试技术为辅来设计测试用例。
8.1测试方针
面对面结对编程系统采用自顶向下和自底向上混的集成测试策略。其中0、1、2、1-1、
8.2集成策略
1.2,1.3,1.4,1.5,1.6模块采用自顶向下的策略进行测试。其他模块采用自底向上的策略进行测试。
8.3特殊考虑
特别注意鼠标、键盘的稳定性,建议进行压力测试。