Spec模板
Spec模板
一、概述
1、项目背景 图书馆在正常运营中面对大量书籍、读者信息以及两者间相互联系产生的借书信息、还书信息。现有的人工记录方法既效率低又错误过多,大大影响了图书馆 的正常管理工作。因此需要对书籍资源、读者资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,有利用管理效率的提高
2、使用范围
在学校图书馆内部的现有局域网这个网络环境下,信息由各用户在规定的权限下在各自的工作站上录入,信息上网后各用户可查询,调用,达到信息 共享。
3. 功能分析
(1) 读者信息的制定、输入、修改、查询,包括种类、性别、借书数量、借书期限、备注。
(2) 书籍基本信息制定、输入、修改、查询,包括书籍编号、类别、关键词、备注。
(3) 借书信息制定、输入、修改、查询,包括书籍编号、读者编号、借书日期、借书期限、备注。
(4) 还书信息制定、输入、修改、查询,包括书籍编号、读者编号、还书日期、还书期限、备注。
(5) 有条件、多条件查询各种信息. 4.实验内容
根据SUDA的图书管理系统开发进度,在完成对系统的需求建模,得到用例模型后,应针对每个用例进行业务分析,说明其具体的业务流程,现系统分析部指派您完成该项任 务。
要求:
(1)确定图书管理系统的用例。
(2)绘制图书管理系统的用例图。
(3)对图书管理系统的用例进行描述 。 5.实验步骤
确定系统涉及的总体信息
|
参与者 |
借阅者: |
图书馆管理员: |
系统管理员: |
|
操作 |
借书 |
书籍借出处理 |
增加书目 |
|
还书 |
书籍归还处理 |
删除或更新书目 |
|
|
书籍预定 |
预定信息处理 |
增加书籍 |
|
|
减少书籍 |
|||
|
增加借阅者帐户信息 |
|||
|
删除或更新借阅者帐户信息 |
|||
|
书籍信息查询 |
|||
|
借阅者信息查询 |
确定系统的参与者
借阅者、图书馆管理员、系统管理员。
确定系统的用例
(1) 借阅者请求服务的用例
① 登录系统
② 查询自己的借阅信息
③ 查询书籍信息
④ 预定书籍
⑤ 借阅书籍
⑥ 归还书籍
(2) 图书馆管理员处理借书、还书等的用例
① 处理书籍借阅
② 处理书籍归还
③ 删除预定信息
(3) 系统管理员进行系统维护的用例
① 查询借阅者信息
② 查询书籍信息
③ 增加书目
④ 删除或更新书目
⑤ 增加书籍
⑥ 删除书籍
⑦ 添加借阅者帐户
⑧ 删除或更新借阅者帐户

用例图

过程描述:
(1)图书馆管理员输入登录信息,系统识别信息的有效性;
(2)登录成功后,收到借书请求;
(3)判断该书是否被预定,如果没被预定,或预定者是该借阅者,确认该借书请求,
(4)修改该借阅者的借阅信息(已借书籍、可借书籍数、借阅日期等),以及该书的借阅信息(有无借完、馆藏剩余量等);
(5)退出系统,系统刷新修改后的的书籍列表。
异常事件流处理:
(1)登录信息有效性检查失败,允许图书管理员重新输入(3次机会)。
(3)确认借书请求时失败,所选书籍被其他人预订,系统提示不能借出。
图书馆管理员处理还书的书面用例类似。
实验心得:
经过本次试验,初步掌握了spec模板的书写,熟悉用例图的基本功能和使用方法,掌握如何使用建模工具绘制活动图方法。根据SUDA的图书管理系统,针对每个用例进行业务分析,确定图书管理系统的基本用例,绘制图书管理系统的用例图,并对图书管理系统的用例进行描述,对图书管理系统的功能有了更清晰的了解,对UML建模语言的理解更深一步。
Spec模板的更多相关文章
- 排球积分规则功能说明书(spec)
排球规则: 由技术性规定.非技术性规定和场地设备要求等方面的内容组成的.每场比赛仍为五局三胜,前四局每局先得25分为胜,第五局先得15分者为胜.当出现24平或14平时,要继续比赛至领先2分才能取胜. ...
- k8s配置文件模板
一,deployment Deployment为Pod和Replica Set下一代Replication Controller)提供声明式更新 1,配置示例 apiVersion: apps/v1 ...
- 编译wiredtiger rpm包
1.安装rpm-build 使用rpmbuild打包rpm包前,首先安装rpmbuild: yum install rpm-build -y 2.创建打包文件目录 mkdir -p /root/r ...
- [administrator] rpmbuild
rpmbuild 1. rpm是什么 RPM = RPM Package Manager = Redhat Package Manager https://en.wikipedia.org/wiki ...
- k83 svc
一,deployment Deployment为Pod和Replica Set下一代Replication Controller)提供声明式更新 1,配置示例 apiVersion: apps/v1 ...
- CentOS系统制作RPM包
打包编译好的命令,即可直接安装使用 #使用yum可解决依赖问题 [root@localhost ~]# yum -y localinstall *.rpm 一.使用fpm工具直接打包. Fpm安装 f ...
- Kubernetes 入门与安装部署
一.简介 参考:Kubernetes 官方文档.Kubernetes中文社区 | 中文文档 Kubernetes 是一个可移植的.可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自 ...
- Vue.js——60分钟webpack项目模板快速入门
概述 browserify是一个 CommonJS风格的模块管理和打包工具,上一篇我们简单地介绍了Vue.js官方基于browserify构筑的一套开发模板.webpack提供了和browserify ...
- Vue.js——60分钟browserify项目模板快速入门
概述 在之前的一系列vue.js文章,我们都是用传统模式引用vue.js以及其他的js文件的,这在开发时会产生一些问题. 首先,这限定了我们的开发模式是基于页面的,而不是基于组件的,组件的所有代码都直 ...
随机推荐
- 8.8 CSS知识点1
什么是CSS CSS(Cascading Style Sheet) 层叠样式表 CSS3在CSS2的基础上增加了很多强大的新功能,目前主流浏览器都支持CSS3大部分功能.为了更好的向前兼容,不同的浏览 ...
- 循序渐进Python3(六) -- 初识内置变量、反射、递归
#python用下划线作为变量前缀和后缀指定特殊变量.稍后我们会发现, #对于程序来说,其中的有些变量是非常有用的,而其他的则是未知或者无用的. #我们总结一下Python中下划线的特殊用法 ...
- 《机器学习实战》学习笔记——第2章 KNN
一. KNN原理: 1. 有监督的学习 根据已知事例及其类标,对新的实例按照离他最近的K的邻居中出现频率最高的类别进行分类.伪代码如下: 1)计算已知类别数据集中的点与当前点之间的距离 2)按照距离从 ...
- a==null和a.equals("null")的区别
equals 是值比较,==是比较内存 A==B,比较句柄,就是比较变量A,B的地址存放的东西,比如int A=0;String B="bbbb";那么变量A的地址方的就是0,B的 ...
- linux 无法解压过大文件解决
[root@vmbbak yum]# unzip RHEL_5.7\ x86_64\ DVD-1.zip error: Zip file too big (greater than 429495910 ...
- 用python监控Linux,CPU,内存,硬盘
#!/usr/local/bin/python3.5 #coding:utf-8 import mailll, linecache, re, socket, os, time hostname = s ...
- deep learning
今天跑一个模型,程序都没变,就配置文件变了.但是总是很快就显示loss为nan. 检查配置文件还是不行,把其中loss改为0还是不行.最后搁置了一下,再回头对比一下电脑上的和服务器上的,发现一个配置文 ...
- 【教程】手把手教你如何利用工具(IE9的F12)去分析模拟登陆网站(百度首页)的内部逻辑过程
[前提] 想要实现使用某种语言,比如Python,C#等,去实现模拟登陆网站的话,首先要做的事情就是使用某种工具,去分析本身使用浏览器去登陆网页的时候,其内部的执行过程,内部逻辑. 此登陆的逻辑过程, ...
- XE3随笔8:关于乱码
以下例子都会出现乱码, 虽然都可以有变通的方案, 但如果不乱码就太好了! unit Unit1; interface uses Windows, Messages, SysUtils, Varia ...
- 【erlang】执行linux命令的两种方法
os.cmd(Cmd) os模块提供了cmd函数可以执行linux系统shell命令(也可以执行windows命令).返回一个Cmd命令的标准输出字符串结果.例如在linux系统中执行os:cmd(& ...