《软件工程实践》
软件需求说明书
小组 |
学号 |
姓名 |
QQ |
小组成员介绍 |
031502634 |
杨光海天 |
475806859 |
|
031502609 |
郭剑南 |
592366463 |
|
031502614 |
赖志平 |
1284561302 |
|
031502631 |
吴伟根 |
2605330702 |
|
031502641 |
郑珍发 |
1040477385 |
|
031502642 |
周琪文 |
275958622 |
|
031502643 |
朱晓健 |
842802496 |
|
031502644 |
邹星 |
1639437055 |
- 实验时间:2017-2018学年第一学期
- 指导老师:张栋
目录:
1、引言
1.1 编写目的
* 该文档将从项目的基本结构及功能进行描述,试图给出项目产品的大致轮廓。再深入对产品的功能,特点和实现方法进行详细的介绍,同时对用户需求进行分析。便于用户、开发人员进行理解和交流,反映出用户问题的结构,可以作为软件开发工作的基础和依据以及确认测试和验收的依据。
* 该文档的预期读者为用户,需求分析人员,程序员,测试人员及项目管理者。在阅读本文档时,首先要了解产品的功能概貌,然后可以根据自身的需要对每一功能进行适当的了解。
1.2 项目背景
* 项目任务:产品开发
* 产品名称:随心摘
* 开发团队:福州大学软工实践“阳光普照”小组
* 产品大致功能:实现从图片中提取文字并保存及其他相关功能
1.3 定义
|序号|缩写|定义|
|:--|:--|:--|
|1.|app|应用程序,Application的缩写,一般指手机软件。|
|2.|Android|Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。|
1.4 参考文献
* 1.郭霖. 第一行代码[M]. 人民邮电出版社:郭霖, 2016.
* 2.Ian, Goodfellow, /, Yoshua, Bengio. 深度学习[M]. 人民邮电出版社:Ian Goodfellow / Yoshua Bengio, 2017.
2、总体描述
2.1 开发背景及意图
* 当下生活中,每个人身边总会碰到成文材料等,无论是书中内容,或是手写稿件。我们需要将其转化为电子版,平常来说,可能需要打开WORD工具,手动键入。快速的键入过程中,难免输入出错而没注意到。如果用我们这款软件,可以迅速形成电子文档文件,方便复制粘贴等。因此我们给用户省去了大量键入工作量。
* 另外,我们在某处阅读到一段文段,心中颇有感触,截图下来,自动生成文档,并且我们APP提供随感记录功能,方便用户记录心中所感。
* 同时,在完成该项目的过程中,无论是软件的开发本身或是课程安排的附加任务,经常碰到琐碎的难处,通过与小组的沟通和合作,总会找到解决问题的方式。一次次的克服困难过程中,培养了我们的团队意识,增强了我们的实践能力,提高了我们的专业学习水平。
2.2 应用目标和作用范围
* 该软件适用人群没有任何限制,不仅仅可以提供给校园中的学生或者教师;只要是需要本软件功能的人群,均可使用。
* 该系统是一个独立的系统,但是其中的图像识别功能可以嵌入到其他软件中。
2.3 产品前景
* 我们产品的核心技术是图像识别文字,与OCR技术相近,功能强大,适用范围广,是现在比较热门的一项技术研究。
2.4 最终用户及其特点
* 1.用户进入本APP,通过拍照或从相册中选择的方法选取要摘录的文段由系统识别转化成文本形式。
* 2.用户将自己的想法感悟写下来,并选取背景图和样式以及书摘类型形成一个书摘并保存。
* 3.系统将书摘输出成一张精美图片,书摘和图片同时保存。
* 4.用户可以查看保存的书摘,并对它们进行编辑,删除等操作。
![](http://images2017.cnblogs.com/blog/890238/201710/890238-20171020214429240-1845807619.png)
2.5 使用频度
* 本软件方便用户需要图片中内容时使用,随需随用。
2.6 用户场景
* 1、背景
* (1)背景的描述:
* 吴秘书是“阳光公司”的秘书,最近由于公司招聘新员工,比较忙碌。由于投上简历的人比较多,需要一一比对,内容繁杂。于是用APP直接识别简历,读取文字,归类保存。
姓名、性别 |
职业 |
知识层次和能力 |
生活、工作情况 |
动机、目的、困难 |
典型场景 |
典型描述 |
吴xx、男 |
某公司秘书 |
大学本科,文件资料整理 |
负责资料整理,汇总及任务布置 |
希望整理资料快速,手机上容易操作,减少时间的浪费。困难:手机打字比较麻烦,没有一款软件比较简单容易的搜集信息并保存 |
孙秘书在整理多位客户资料,用手机对资料拍照,然后读取文字,归类,可以添加自己的想法,之后打包发给Boss,也可以发到电脑,进行打印。 |
简单,高效 |
- 王同学刚刚大学毕业,走入社会,想要找一份好的工作,在网上看到了一家名为“阳光公司”单位的招聘信息,于是用手机拍照,用APP导入照片读取文字信息,保存在抽屉中,方便查询。接着将写好的简历投给这家公司。
姓名、性别 |
职业 |
知识层次和能力 |
生活、工作情况 |
动机、目的、困难 |
典型场景 |
典型描述 |
王xx、男 |
无 |
大学本科,程序设计能力强 |
刚大学毕业,希望找一份好的工作 |
希望统一快速的整合可以应聘工作的单位信息,手机上容易操作,查询方便。困难:单位比较多,手机打字比较麻烦,没有一款软件比较简单容易的搜集信息并保存 |
王同学看到一家公司的招聘信息,用手机拍照,接着用这款APP从相册导入照片,读取文字信息,归类保存,方便之后查找 |
简单,高效 |
姓名、性别 |
职业 |
知识层次和能力 |
生活、工作情况 |
动机、目的、困难 |
典型场景 |
典型描述 |
朱同学,男 |
学生 |
熟练使用手机等移动端工具,会用手机学习,并记录 |
上课学习知识,记录并复习 |
在课堂上想快速记录PPT和板书,课后有条理地整理,日后能够进行复习。上课速度快,手写记录知识赶不上PPT的翻页速度,而拍PPT的照片零散而且整理需要大量时间。 |
上课时朱同学将知识点拍下,软件将知识点清楚地表示出来并记录。课后朱同学将得到的记录加以注释并整理。 |
简单,高效 |
姓名、性别 |
职业 |
知识层次和能力 |
生活、工作情况 |
动机、目的、困难 |
典型场景 |
典型描述 |
Dog发,男 |
不详 |
高学历,爱好文字,熟练使用手机等移动端工具。 |
喜欢发表和记录文字 |
想要记录下优美的文字和故事,但是有些是以图片的形式发表,有些是在实际的书本上,用手打输入太过繁琐,手机录入麻烦。 |
Dog发 在一本书上发现了一首好诗,想把诗记录在手机中,打开软件,将诗词排下,软件自动识别文字,Dog发加上一些感想,存储起来,日后方便记忆和学习。 |
简单,优雅 |
姓名、性别 |
职业 |
知识层次和能力 |
生活、工作情况 |
动机、目的、困难 |
典型场景 |
典型描述 |
杨阳羊,女 |
微博自媒体 |
熟练使用手机等移动端工具 |
在微博发表文字 |
编辑文字,以图片的形式发表,但是在平时的积累和最后的编辑发送中,文字是以文本的形式存在,发表时需要对屏幕长截图而且缺乏图案装饰。 |
杨在日常的记录中将图片进行修饰,发表时只要将图片发布。 |
一体化 |
2.7 用例图
![](http://images2017.cnblogs.com/blog/890238/201710/890238-20171020214448302-2129016720.png)
2.8 运行环境
* Android 4.0 及以上版本。
3、界面原型
- 主界面显示书摘分类文件夹;右上角搜索可在所有文件夹中查找指定书摘;左下角相册导入可从手机相册导入图片进行文字识别;文字识别按钮可拍照进行文字识别;右下角新建类型可新建文件夹;箭头隐藏功能栏。
- 进入书摘分类文件夹可查看该文件夹下的书摘。点击图片可进行书摘编辑或文本导出。
- 识别出的文字可进行编辑或字体设置;复制文字功能用于满足用户从图片种提取文字的需求;选择配图可给识别出的文字添加背景图片;选择所属类型可对形成的书摘图片进行分类;可在书摘下添加自己的感想或备注。
4、系统功能描述及验收验证标准
4.1 对功能的规定
测试功能 |
测试项 |
输入/操作 |
检验点 |
预期结果 |
完成情况 |
文字提取、书摘管理功能 |
我的书摘界面 |
|
书摘分类列表 |
列表显示正确 |
|
|
|
|
搜索书摘 |
搜索按钮完整 |
|
|
|
|
功能隐藏 |
下拉按钮完整 |
|
|
|
|
拍照功能 |
文字识别按钮完整 |
|
|
|
|
相册导入功能 |
相册按钮完整 |
|
|
|
|
新建书摘类型 |
添加按钮完整 |
|
|
|
点击搜索按钮 |
跳转功能 |
跳转到搜索界面 |
|
|
|
点击类型空白区 |
跳转功能 |
跳转到该分类的详情界面 |
|
|
|
点击文字识别按钮 |
跳转功能 |
跳转到拍照界面 |
|
|
|
点击相册导入按钮 |
跳转功能 |
跳转到本机相册界面 |
|
|
|
点击新建书摘按钮 |
跳转功能 |
显示新建书摘窗口 |
|
|
|
点击下拉按钮 |
底部隐藏功能 |
底部功能隐藏正确,下拉按钮变成上拉按钮正确 |
|
|
|
点击上拉按钮 |
底部功能显示 |
底部功能显示正确,上拉按钮变成下拉按钮正确 |
|
|
搜索界面 |
输入书摘关键字 |
筛选功能、结果显示 |
无结果提示 |
|
|
|
|
|
显示包含此关键字书摘 |
|
|
书摘分类列表 |
点击图片 |
跳转功能 |
跳转到图片详情界面 |
|
|
|
点击类型空白区 |
跳转功能 |
跳转到该分类的详情界面 |
|
|
分类详情界面 |
点击重命名 |
跳转功能 |
弹出重命名窗口 |
|
|
|
左右滑动 |
选择图片 |
图片随手势滑动选择正确 |
|
|
|
点击图片 |
跳转功能 |
跳转到图片详情界面 |
|
|
重命名界面 |
|
界面显示 |
文本输入框完整,确认取消按钮完整 |
|
|
|
输入类型名 |
编辑输入 |
可编辑修改 |
|
|
|
点击确认按钮 |
确认功能、结果显示 |
提示:“修改成功”,修改结果显示正确 |
|
|
|
|
|
错误警告提示 |
|
|
|
点击取消按钮 |
跳转功能 |
返回上一页正确 |
|
|
图片详情界面 |
|
图片的查看 |
图片显示正确,感想显示正确,文本导出按钮完整 |
|
|
|
点击文本导出 |
跳转功能 |
弹出图片中的提取文字文本 |
|
|
新建类型界面 |
|
界面显示 |
文本输入框完整,确认取消按钮完整 |
|
|
|
输入类型名 |
编辑输入功能 |
可编辑修改 |
|
|
|
点击确认按钮 |
添加功能、确认功能、结果显示 |
提示:“新建类型成功”,新建结果显示正确 |
|
|
|
|
|
错误警告提示 |
|
|
|
点击取消按钮 |
跳转功能 |
返回首页正确 |
|
|
相册导入界面 |
|
界面显示 |
跳转到本机相册界面 |
|
|
|
点击相册文件夹 |
跳转功能 |
跳转到该文件夹内 |
|
|
|
选择图片 |
选择图片 |
图片选择正确 |
|
|
|
点击确认 |
确认功能、跳转功能 |
|
|
|
拍照界面 |
|
界面显示 |
拍照按钮完整,"X"按钮完整 |
跳转到文字提取界面 |
|
|
点击"X" |
跳转功能 |
返回首页正确 |
|
|
|
点击拍照按钮 |
拍照功能,跳转功能 |
拍照成功,跳转到照片界面 |
|
|
照片界面 |
|
界面显示 |
图片显示完整正确,按钮完整 |
|
|
|
点击重拍按钮 |
跳转功能 |
跳转到拍照界面 |
|
|
|
点击下载按钮 |
保存功能 |
将图片保存到相册,该图片在相册显示正确 |
|
|
|
点击文字提取按钮 |
跳转功能,文字提取功能 |
跳转到文字提取界面 |
|
|
文字提取界面 |
|
界面显示 |
文字提取正确完整,输入框、下拉框、按钮完整 |
|
|
|
点击取消 |
跳转功能 |
返回上一页正确 |
|
|
|
点击字体设置 |
选择功能,设置功能 |
弹出字体设置框成功 |
|
|
|
选择文字 |
选择功能 |
被选文字呈高亮状态 |
|
|
|
点击复制文字 |
复制功能(复制备选文字,默认为全部) |
提示:“复制成功”, |
|
|
|
选择配图 |
选择功能,为文字选择背景图 |
图片选择正确 |
|
|
|
点击右拉按钮 |
|
|
|
|
|
选择保存类型 |
选择功能(默认为第一个分类) |
类型选择正确 |
|
|
|
点击感悟/备注输入框 |
编辑输入功能 |
输入感悟/备注成功 |
|
|
|
点击预览 |
跳转功能 |
跳转到预览界面 |
|
|
预览界面 |
|
界面显示 |
图片与背景匹配成功,按钮完整 |
|
|
|
点击确认按钮 |
跳转功能,确认功能 |
弹出自定义窗口 |
|
|
|
点击"<" |
跳转功能 |
返回上一页正确 |
|
|
自定义窗口 |
|
界面显示 |
输入框完整,按钮完整 |
|
|
|
点击输入框 |
编辑输入功能 |
可编辑修改 |
|
|
|
点击确认保存 |
确认功能,保存功能 |
提示:“保存成功”,被选类型下显示该图片正确 |
|
4.2 对性能的规定
####4.2.1 精度
* 拍摄的图片:能够基本识别其中大部分的印刷体文字,允许识别有偏差,但不能产生严重的识别错误;
* 本软件转化而来的文字型图片:能够全部识别其中文字,不会产生误差。
4.2.2时间特性需求
- 为打造好的用户体验,本软件需在一定时间内正确识别文字并反馈给用户,响应时间应在可接受范围内。
4.2.3 灵活性
- 本软件大致的功能已经基本确定,大致的方向不会发生改变,但是具体的细节部分可能会有所改动,也会根据一些调研结果和用户的需求做一些调整。一些UI可能也会根据用户的体验进行改进。在大致实现基本功能的基础上也还可以进行增量开发,进一步实现更多的功能。
4.3 其他要求
* 使用方便要求:软件的用户界面要友好易用,简介明了。
* 可修改性:在识别不准的情况下可以进行手动修正。
* 通用性:软件转化的文字图片具有一般图片的特点,能够支持一般图片的操作。
* 普适性:能够在现在主流的Android的大部分版本上运行。
* 稳定性:具有比较稳定的功能,不会经常出现闪退等大的问题。
* 可扩展性:能够方便地对该软件的功能进行扩展。