软件工程课程实践-需求规格说明书

1.引言

1.1编写目的

需求规格说明书是指在研究用户要求的基础上,完成可行性分析和投资效益分析以后,由软件工程师或分析员编写的说明书。它详细定义了信息流和界面,功能需求,设计要求和限制,测试准则和质量保证要求。它的作用是作为用户和软件开发人员达成的技术协议书,作为着手进行设计工作的基础和依据,系统开发完成以后,为产品的验收提供了依据。

本需求的编写时为了研究利用数据库做个人基金管理系统软件的开发途径和应用方法。同时它也是进行项目策划、概要设计和详细的基础,是维护人员进行内部维护,信息更新,验收和测试的依据。

1.2项目背景

本项目的名称:基金管理系统。
随着当今社会的快速发展,人们的生活日益美好。在吃穿无忧的情况下,人们逐渐注重个人理财,其中基金就是理财产品的一种。基金的收益平稳,风险较低,受到了大多数人的青睐,但是大部分的消费者并不懂专业数据管理与分析,对个人基金也没有合理的规划。本系统的开发由此而来,用于解决基金用户日常的基金管理和数据分析,让用户可以合理规划自己的基金。

1.3定义

HTML: HTML的全称为超文本标记语言,是一种标记语言。它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形、动画、声音、表格、链接等。

CSS: CSS为HTML标记语言提供了一种样式描述,定义了其中元素的显示方式。CSS在Web设计领域是一个突破。利用它可以实现修改一个小的样式更新与之相关的所有页面元素。

JavaScript:JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。

SpringBoot:Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

MySQL:MySQL是一个关系型数据库管理系统。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

Mybatis:目前为止最为简单的持久层框架之一,小巧并且简单易学。mybatis本身专注于SQL语句本身。它将SQL语句写在xml文件之中,几乎是彻底将程序代码与SQL语句隔离开,耦合度相当低。因此在SQL语句的编写上它相当的灵活。可以随时根据业务的要求变更SQL语 句而不需要动源程序。

1.4参考资料

  • 项目经核准的计划任务书、合同或上级机关的批文
  • 项目开发计划

2.任务概述

2.1目标

⑴数据表格和统计图表结合分析,方便用户管理个人基金;
⑵提高信息的准确性和信息的安全;
⑶改进管理和服务;
⑷良好的人机交互界面,操作简便。

2.2运行环境

  • 软件环境:Windows 10系统
  • 开发工具:

前端框架与开发工具: HTML,JavaScript,Jquery,Semantic,Apache ECharts,WebStrom

后端框架与开发工具:Spring boot,Mybatis,IDEA

数据库技术与开发工具:MySQl,Navicat

  • 该基金管理系统采用BS结构,采用semantic+Springboot+MyBatis技术框架进行开发与搭建的。

2.3条件与限制

必须在保证各硬件设备.软件系统齐备的情况下,资金充足,人员齐备,各方面互相配合,齐心协力,共同完成。

3.数据描述

3.1静态数据

  • 基金市场:(基金代码,日期,基金简称,单位净值,日增长率)
  • 投资者表:(用户ID号,邮箱,性别,电话,年龄,密码,昵称,属性,血型)
  • 个人基金:(编号,用户ID号,拥有时间,基金代码,基金名称,拥有时净值,拥有份额)
  • 购入交易:(编号,用户ID号,基金代码,购入时间,购入净值,购入份额)。
  • 抛售交易:(编号,用户ID号,基金代码,购入时间,购入净值,抛售时间,抛售净值,盈利,抛售份额)
  • 密保信息:(用户ID号,问题1编号,问题1答案,问题2编号,问题2答案,问题3编号,问题3答案)

3.2动态数据

  • 输入数据:
  • 用户注册信息表单
  • 用户登录信息表单
  • 修改个人信息
  • 当日基金查询请求
  • 过往基金情况按日查询请求
  • 过往基金情况按代码查询请求
  • 过往基金情况按简称查询请求
  • 基金购买请求
  • 基金抛售请求
  • 用户购买记录查询
  • 用户抛售记录查询
  • 用户基金情况查询
  • 输出数据:
  • 用户注册结果
  • 用户登录结果
  • 修改个人信息结果
  • 当日基金查询请求结果
  • 过往基金情况按日查询请求结果
  • 过往基金情况按代码查询请求结果
  • 过往基金情况按简称查询请求结果
  • 基金购买请求结果
  • 基金抛售请求结果
  • 用户购买记录查询结果
  • 用户抛售记录查询结果
  • 用户基金情况查询结果

3.3数据库介绍

  • 数据库名称:MySQL
  • 数据库类型:关系型数据库管理系统
  • 数据库介绍:

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型和大型网站的开发都选择 MySQL 作为网站数据库。

3.4数据词典

  • 注册请求=用户名+密码
  • 注册结果=[注册成功|用户名已被使用|密码长度不足]
  • 登录结果=[登录成功|用户不存在|密码错误]
  • 登录信息=用户名+密码
  • 修改个人信息 = 用户ID号+邮箱+性别+电话+年龄+昵称+属性+血型
  • 修改个人信息结果 = [修改成功|修改失败|服务器出问题]
  • 当日基金查询 = 日期
  • 当日基金查询结果 = {基金代码+日期+基金简称+单位净值+日增长率}
  • 以往基金按日查询 = 日期
  • 以往基金按日查询结果 = {基金代码+日期+基金简称+单位净值+日增长率}
  • 以往基金按代码查询 = 基金代码
  • 以往基金按代码查询结果 = {基金代码+日期+基金简称+单位净值+日增长率}
  • 以往基金按简称查询 = 基金简称
  • 以往基金按简称查询结果 = {基金代码+日期+基金简称+单位净值+日增长率}
  • 基金购买请求 = 用户ID + 基金代码 + 购买日期 + 购买份额
  • 基金购买结果 = [购买成功|购买失败|服务器出现问题]
  • 基金抛售请求 = 用户ID + 基金代码 + 抛售日期 + 抛售份额
  • 用户购买记录查询 = 用户ID
  • 用户购买记录查询结果 = {基金代码+购入时间+购入净值+购入份额}
  • 用户抛售记录查询 = 用户ID
  • 用户抛售记录查询结果 = {基金代码+购入时间+购入净值+抛售时间+抛售净值+盈利+抛售份额}
  • 用户基金情况查询 = 用户ID
  • 用户基金情况查询结果 = {拥有时间+基金代码+基金名称+拥有时净值+拥有份额}

3.5数据采集

4.功能需求

4.1功能划分

 

4.2功能描述

序号

功能

功能说明

备注

1

用户注册

用户可以在注册界面,通过表单验证注册个人的用户账号

2

用户登录

用户使用注册的账号进行用户的登录操作

3

用户信息的展示与修改

在用户管理功能模块,用户可以看到数据库已有的用户的相关信息,并且可以编辑个人的信息

4

用户安全管理

这里完善的安全中心,我们可以通过原密码修改密码,邮箱修改密码,设置密保问题,通过密保问题修改密码

5

用户注销登录

这里可以注销我们的账号,切换别的账号。

6

每日基金查询功能

我们可以通过基金代码进行精确地查询,查看基金的各项指标

7

每日基金排序功能

我们这里加入了基金的表格的排序功能,我们可以根据各个字段进行排序

8

每日基金购买功能

用户的基金购买,在我们选中我们想要购买的基金后,我们购买相应的份额。

9

过往基金的按日查询功能

我们可以选择过往的日期,查询当天所有基金的各个字段的状况

10

过往基金的按类查询功能

我们可以输入基金的代码,查询该基金直至今日的所有情况

11

过往基金的简称查询功能

我们可以输入基金的简称,查询该基金直至今日的所有情况

12

基金查询的所有功能的图标展示

以上三种过往基金信息的查询,我们加入了可视化图表的方式,方便用户观察和对比

13

基金管理的抛售功能

在该模块我们可以进行基金的抛售,我们可以根据盈利情况进行基金的抛售,选择抛售的份额,这里我们对用户份额的抛售进行了限制,如不可超过已拥有的份额,不可为小数或者非正数。

14

基金管理的查询功能

用户可以查询自己所拥有的某一种基金的情况

15

购买记录功能

在该模块我们加入用户功能记录的记录功能,方便用户查询

16

抛售记录

这里我们可以看到我们抛售的记录,其抛售时间精切到分秒,也可以看到我们抛售的份额,抛售时的净值以及盈利情况。

17

基金统计的图标分析

这里我们结合可视化图形的形式,进行数据的展示,这里我们分为三张图表,基金统计表,通过饼状图的展示,我们可以看到各项基金份额占比。盈利统计表,这里我们可以看到已盈亏,持仓盈亏,总盈亏的各项数据对比与展示。收支统计表,这里我们可以看到我们已收入,待收入,总收入,总支出等数据的显示和对比。

4.3 用况图

5.性能需求

5.1数据精确度

该软件的输入、输出数据精度的要求是要准确无误的,不可以出现不符合软件设计数据标准的数据,可能包括传输过程中的精度不能发生变化。具体的数据精度如下表所示:

数据名称

数据精度要求

单位净值

小数(保留小数点后三位)

日增长率

百分数(保留小数点后两位)

日期

YYYY-MM-DD (日期精确到天)

购买或抛售时间

精确到分钟数

购买或者抛售份额

正整数

盈亏

小数点后两位

5.2时间特性

  • 响应时间不能太慢,影响用户的使用,大约在4ms-8ms之间
  • 更新处理时间:必须可以对所录入的数据快速的处理,及时地更新数据,保证数据的可靠性

5.3适应性

满足运行环境在允许操作系统之间的安全转换和与其他应用软件的独立运行要求。

6.运行需求

6.1用户界面

  • 易理解性:

界面上呈现的所有元素,包括文本信息、数据表示、状态呈现、菜单、按钮、超链接等,应贴近用户的业务领域,并且具有简洁、明确、自然、直观等特性;界面中屏幕(sereen)之间的跳转关系应简单、自然。

  • 易操作性:

用户对软件系统的命令可以通过简单、直观的方式来完成;为提高用户的工作效率,界面应尽量减少用户的操作次数和输人信息量。

  • 灵敏性:

界面必须在合理的时间内对用户操作做出响应,对耗时较长的内部处理过程必须提供及时的进度反馈,保持用户与界面间的不间断的双向沟通。

  • 一致性:

为降低用户的记忆负担,界面应在整个软件系统范围内保持显示风格、操作方式的一致性并符合业界规范(例如用 Cul+C 快捷键来实现复制功能)。

  • 容错性:

界面设计应以降低用户的误操作机率为目标,但必须容忍用户的误操作,即对所有可能造成损害的动作,必须在用户确认后才进行;允许用户对尽可能多的界面操作反悔(undo):在用户误操作后系统具备适当的恢复能力。

  • 人性化:

在适当的时机出现用户怡好需要的帮助信息或建议:在任何情况下用户均能简易地理解软件系统的当前状态和响应信息,并能清晰地了解自己的操作行为的前因后果,不致因界面跳转而迷失;界面的布局和色彩应使用户感觉舒适、自然。

6.2软件接口

前后端数据传送以及服务器和浏览器的数据传输,数据流量有一定的限制,但不可过小

6.3故障处理

  • 将用户所在界面强制返回到主界面
  • 分功能查找定位故障点
  • 修复故障
  • 重新引导界面
  • 通知用户故障修复

7.其它需求

  • 适应性:‎当需求发生某些变化时,该软件对这些变化的适应能,如操作方式上的变化,运行环境的变化,同其他软件的接口的变化等等。
  • 可维护性:系统易于维护,开发文档完整,源代码注释清晰合规
  • 安全保密:对于用户的私密信息进行安全的加密,对于后端维护人员不可见
  • 可移植行:采用移植性较好的代码以及框架进行开发

  • 19
    点赞
  • 210
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RockLis

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值