基于Linux平台上的外文文献阅读软件--需求分析及软件设计

lovelyluu 2022-01-09 19:28:13

1 项目概述

Windows/MacOS平台上,可以借助知云文献阅读器等软件实现英文文献的翻译、阅读和批注,Linux平台却缺乏该类软件。项目目标使用Qt框架,调用百度、有道、谷歌等翻译接口,实现一个围绕翻译功能展开的PDF阅读工具。

2 需求分析

2.1 功能需求

1.用户可以注册登录
2.用户可以使用软件翻译pdf文件
3.用户可以编辑文件
4.用户可以管理页面

2.2 非功能需求

1.软件的翻译速度
2.软件的翻译接口数量

3 建模

3.1 用例建模

3.1.1 抽象用例

从上述的功能性需求分析中可以提取出以下抽象用例:注册账号、登录软件、编辑文件、管理页面、翻译文件。

3.1.2 高层用例

高层用例需要在抽象用例的基础上划分边界,可以得到以下表格:

开始状态终止状态
用户点击注册按钮软件返回注册成功或失败
用户点击登录按钮软件返回登录成功或失败
用户点击编辑按钮软件返回编辑后的文件
用户点击翻译按钮软件返回翻译后的文件
用户点击管理按钮软件页面返回变大或变小的效果

3.1.3 用例图

img

3.1.4 拓展用例

用户登录的拓展用例

用户系统
用户点击登录按钮显示正在登陆中
等待检查用户名和密码是否正确
得到是否登录成功的结果返回登录成功或失败

翻译文件的拓展用例

用户系统
用户点击翻译按钮系统调用翻译接口
得到翻译后的文件返回翻译后的文件

3.2 业务领域建模

业务领域建模的步骤如下:
1.收集应用业务领域的信息。聚焦在功能需求层面,也考虑其他类型的需求和资料;
2.头脑风暴。列出重要的应用业务领域概念,给出这些概念的属性,以及这些概念之间的关系;
3.给这些应用业务领域概念分类。分别列出哪些是类、哪些属性和属性值、以及列出类之间的继承关系、聚合关系和关联关系。
4.将结果用 UML 类图画出来。
其中,第一步在需求分析中已经基本完成,本文主要简述业务领域概念分类和UML类图

3.2.1 业务领域概念分类

用户可以调整文件在软件界面的显示大小

用户和界面都是名词是类或属性,由于用户可以单独存在,所以用户是类,但是界面必须依赖软件才能存在,所以是属性,同时调整是及物动词表示的是关联关系

3.2.2 UML图

img

4 软件设计方案

在项目中采取了三层架构,按照界面层、业务逻辑层、数据访问层划分整个业务应用

4.1 界面层

界面层主要负责主要对用户的请求接受,以及数据的返回,为客户端提供应用程序的访问。在本工程实践中,界面层主要包括显示注册、登录、翻译、编辑、调整等功能的按钮。

4.2 业务逻辑层

业务逻辑层主要包括主要负责对数据层的操作。也就是说把一些数据层的操作进行组合。在本工程实践中,业务逻辑层主要负责将软件所要实现功能的各个函数。

4.3 数据访问层

数据访问层主要看数据层里面有没有包含逻辑处理,实际上它的各个函数主要完成各个对数据文件的操作。而不必管其他操作。在本工程实践中数据访问层主要负责实现针对数据的增添、删除、修改、更新、查找等操作。

作者:341

...全文
714 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN-Ada助手 2023-01-13
  • 打赏
  • 举报
回复
您可以前往 CSDN问答-软件工程 发布问题, 以便更快地解决您的疑问

571

社区成员

发帖
与我相关
我的任务
社区描述
软件工程教学新范式,强化专项技能训练+基于项目的学习PBL。Git仓库:https://gitee.com/mengning997/se
软件工程 高校
社区管理员
  • 码农孟宁
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧