Skip to content

Latest commit

 

History

History
298 lines (167 loc) · 12.5 KB

Task3.md

File metadata and controls

298 lines (167 loc) · 12.5 KB

二维码生成器系统

需求分析书

1.引言

1.1编写目的

​ 本需求分析报告的目的是明确本项目的详细需求,供用户确认项目的功能和性能,和用户形成一致的理解和确认,作为进一步详细设计软件的基础。确认后通过对本项目开发过程中的各个流程进行规范,产生描述完整、清晰与规范的文档,确定软件需要实现哪些功能,所要完成的工作以便于开发人员的后续开发。同时也对系统深入描述软件的功能和性能,确定软件设计的约束和软件同其它系统元素的接口细节,定义软件的其它有效性需求 。

1.2项目风险

  • 开发过程中如果有开发人员离职或缺席,有可能延迟项目的进度。
  • 开发过程中遇到实现不了的功能。
  • 开发过程中客户要求修改需求。

1.3文档约定

  • 编写文档目前主要使用的工具是Typora。
  • 文档务必保持段落格式整齐,文字字体,颜色,大小统一。
  • 务必注意中英文标点符号,文档正文一概使用中文标点符号。

1.4预期读者

​ 此需求规格说明书针对项目经理、设计人员、开发人员、用户及测试人员。本文分别介绍了产品的用户功能及运行环境,系统的功能的具体描述。

1.5产品规范

  • 文件命名规范

    • 程序文件名和目录命名均采用有意义的英文方式命名,避免使用无意义的字母,同时使用小写字母,多个词之间使用_间隔。
  • 文件存放位置

    • js存放JavaScript脚本。
    • css存放CSS文件。
    • png存放图片文件。
    • 不需要直接暴露给用户的文件,应该放在Web服务器访问不到的目录,避免因为配置问题而泄露设置信息。
  • 书写规范 

    • html,css,JavaScript等书写规范。(参考1.6)
  • 图片规范

    • 命名应用小写英文、数字、_组合,便于团队其他成员理解。
    • 图片格式仅限于gif、png、jpg等。
  • 注释规范

    • JAVASCRIPT、CSS文件注释需要标明作者、文件版本、创建/修改时间、重大版本修改记录、函数描述、文件版本、创建或者修改时间、功能、作者等信息。
  • 安全规范

    • 检查是否做了HTML代码的过滤。

    • 检查数据库操作之前变量,避免造成可能执行了预期之外的操作。

    • 检查输入数值的合法性,避免存入数据库或浴场的发生。

    • 增加访问控制

    • 确保对关键的用户操作保存了完整的用户访问记录。

    • 对于敏感的数据传输应该采用https。

1.6参考文献

2.综合描述

2.1产品的概述

​ 随着社会的不断进步,各式各样信息需要大量保存与输入,同时我们也需要对外输出许许多多的信息。如果仅仅依靠用户手动输入的方式来获取信息,毫无疑问是一种相对低效的方法。本产品主要的功能是根据用户所输入的文字或者文件信息生成其所对应的二维码,并根据其要求对二维码做出相应的修改,适应用户的需求,方便用户之间信息交流。

2.2产品的功能

  • 文本信息的二维码的生成。
  • 批量网站的二维码的生成。
  • 电子名片二维码的生成。
  • 文件分享的二维码的生成。
  • 用户可以管理自己生成的二维码。
  • 对于VIP用户提供比普通用户更加多样的服务。

2.3用户类和特性

2.3.1个人用户

​ 需求较为简单,生成的二维码信息量较少。

2.3.2企业用户

​ 需求较为复杂,信息量相较于个人用户来说更加庞大,需要根据不同的行业对二维码的内容进行设计。又因为二维码坑是用在工程中,需要按照时间,类型等多种方式对记录里进行统计,以便后续进行分析。还应当周期性地对二维码进行检测,判断是否出现异常

2.4运行环境

2.4.1客户端

​ chrome,firefox等Web浏览器。

2.4.2服务器端

​ CentOS7系统 tomcat Web服务器和 MySQL 数据库。

2.5设计和实现上的限制

  • 团队缺乏资金支持。
  • 在有限的时间内不能对整个系统做到更加详细的测试。

3.外部接口需求

3.1用户界面

​ 1.用户通过注册或者已有的账户对网站主页进行访问。

​ 2.登陆后显示用户可以进行的操作,并且要求操作可逆,其动作可以是单个的操作,或者是一个相对独立的操作序列。

​ 3.用户完成操作后在将结果显示到页面上。

​ 4.二维码生成后显示可以对其进行的操作。

​ 5.使用结束后用户可以安全退出。

3.2硬件接口

​ 可以识别二维码的各种设备,例如手机摄像头。

3.3软件接口

​ 二维码解析工具。

3.4通讯接口

​ 本软件应提供对Web浏览器的支持。

4.系统功能需求

4.1前台web页面需求说明

4.1.1功能划分
功能名称 功能简单描述 用户
注册 注册本网站的会员 网站用户
登陆 以会员的身份登陆本网站 网站用户
获取帮助 用户可以获取操作指南 网站用户
文本二维码生成 为用户输入的文字内容生成二维码 分享者
文件二维码生成 为用户上传的文件生成二维码 分享者
名片二维码生成 为用户填写的名片信息生成二维码 分享者
图片二维码生成 为用户上传的图片生成二维码 分享者
网址二维码生成 为用户输入的多个网址生成二维码 分享者
查看已生成二维码 用户查看自己已经生成的二维码 分享者
管理二维码 用户对自己的二维码进行管理 分享者
扫码 用户扫描二维码获取相关资源 被分享者
修改密码 用户修改自己的登陆密码 网站用户
4.1.2功能描述

1.注册

网站用户在使用二维码生成器网站之前需要注册会员。用户在填写账号,密码,验证码,邮箱信息后将注册本网站的会员。当账号已注册时,提示用户“账号已存在”。当密码含有非法字符时,提示“请输入有效密码”。

2.登陆

用户输入账号,用户名登陆本网站。网站将验证用户账号和密码的合法性。如果账号不存在或密码错误用户将会被提示“请输入有效账号和正确的密码”。

3.获取帮助

用户可以获取本网站的使用指南。这将使得用户对本网站的使用更容易。

4.文本二维码生成

用户输入一段文字后确认生成二维码。网站将为用户输入的文字生成二维码,并将对应的二维码显示在网页上。用户可以下载该二维码。

5.文件二维码生成

用户将需要分享的文件通过网站上传。网站将为用户上传的文件生成分享二维码,并在网页上显示对应的二维码。用户可以下载该二维码。

6.名片二维码生成

用户在名片二维码生成界面填写名片相关信息,名字,职业,学历,毕业学校等。 根据用户输入的名片信息生成二维码并显示在网页上。用户可以下载该二维码。

7.图片二维码生成

用户选择图片二维码生成并上传需要分享的图片。网站为图片生成二维码并显示在网站上供用户下载。

8.网址二维码生成

用户输入一个或者多个网址。网站为这些网址生成二维码并显示在网页中供用户下载。

9.查看已生成二维码

用户可以在网页中查看自己通过本网站生成的二维码以及它们对应的资源。用户同样可以根据选择不同的类型进行筛选,比如用户选择只查看文本类型的二维码。用户也可以根据二维码的关键字和时间查询自己生成的二维码。

10.管理二维码

用户可以通过本网站对已经生成的二维码进行管理。当用户选择隐藏二维码时,扫描该二维码的用户将得到提示消息“资源暂时不可用”。用户选择删除二维码,扫描该二维码显示“资源不存在”。用户可以将隐藏的二维码重新恢复显示。

11.扫码

用户通过摄像头对二维码进行扫描或者上传二维码图片,可以显示二维码对应的资源(文本,文件,网址,电子名片等)。

4.2后台系统管理

4.1. 1 功能划分
查看注册用户 网站管理员
管理二维码 网站管理员
功能名称 用户
二维码生成 系统
从二维码获取资源 系统
提供使用帮助 网站管理员
4.1.2功能描述

1.查看注册用户

网站管理员可以查看当前有多少用户在本网站注册,并游览它们的信息。

2.管理二维码

网站管理员可以对目前已经生成的二维码和它们对应的资源进行管理。删除二维码,隐藏二维码,显示二维码等操作均支持。

3.二维码生成

当web前端用户请求生成二维码时。系统会为用户的资源生成二维码。

4.从二维码获取资源

当用户在web前台扫描二维码时,系统寻找二维码并获取相对应的资源。

5.提供使用帮助

系统管理员在后端编辑提供给用户的网站使用指南。增加web的易用性。


5.其他非功能需求

5.1性能需求

5.1.1响应速度

web页面的加载时间应在1s以内。在用户上传文件或者输入资料后,生成二维码并显示在web网页的时间在1s以内。当用户扫描二维码或上传二维码图片时,系统可以在1.5s 内完成对二维码的解析,并查询二维码对应的资源显示在网页中。

5.1.2系统容量

web系统可以支持30个用户同时进行二维码生成或者扫描操作。因为开发采用java和mysql。系统的事务并发执行由java多线程同步机制和数据库底层对并行操作的支持实现。

5.1.3事务失败率

控制事务失败率在99%以下。项目开发使用目前已经成熟的web项目框架和数据库MySql作为数据存储支持,能够极大地降低失败率。但是由于网络和硬件原因,失败的情况是可能存在的。

5.2安全措施需求

项目为用户账户提供了一定的安全措施。在用户登陆时,系统会要求用户输入验证码。避免用户密码被暴力破解。当一定时间内用户密码被输入多次时且无法密码错误时,账号将会被锁定一段时间。

5.3安全性需求

项目同样保证了数据的安全性。只有网站管理员才能对数据进行操作,他的身份需要验证,这在一定程度上保证了数据的安全性。同时数据库本身也需要口令和密码,以及URL才能进行访问,这也为系统提供了安全性相关的支持。

5.4软件质量属性

5.4.1可扩展性

项目功能实现时采用模块化的方式。并且尽量降低它们之间的耦合,采用面向对象程序设计并用各个模块的函数接口实现数据处理和传输。当程序需要拓展时,采用继承的方法可以简单的实现拓展。系统具有良好的可拓展性。

5.4.2安全性

项目的安全性由底层数据库安全机制支持和JAVA语言的安全机制保证。所以项目具有良好的安全性。

5.4.3清晰性

清晰意味着系统易读、易理解,这个质量属性表达了人们的一种质朴的愿望。

5.4.4易用性

网站提供了清晰易懂的操作指南和简洁易于操作的UI界面,具有良好的易用性。

5.4.5性能

通常是指软件的“时间—空间”效率,而不仅是指系统的运行速度。尽量使系统的相应速度与运行快些,并且占用资源少些。

5.4.6正确性

系统能够根据用户的信息和资源正确生成二维码,当用户扫描二维码时,能精准显示二维码对应的信息或者提供对应的资源。

5.4.7健壮性

在项目中,考虑到各种异常情况并且进行异常处理。为web网站的健壮性提供良好的支持。

5.4.8可移植性

代码采用java语言开发,一次编译多次执行。可以在任何装载了java虚拟机的程序上运行。所以项目的代母具有良好的可移植性。

5.5用户文档