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模板的更多相关文章

  1. 排球积分规则功能说明书(spec)

    排球规则: 由技术性规定.非技术性规定和场地设备要求等方面的内容组成的.每场比赛仍为五局三胜,前四局每局先得25分为胜,第五局先得15分者为胜.当出现24平或14平时,要继续比赛至领先2分才能取胜. ...

  2. k8s配置文件模板

    一,deployment Deployment为Pod和Replica Set下一代Replication Controller)提供声明式更新 1,配置示例 apiVersion: apps/v1 ...

  3. 编译wiredtiger rpm包

    1.安装rpm-build 使用rpmbuild打包rpm包前,首先安装rpmbuild: yum install rpm-build -y 2.创建打包文件目录 mkdir  -p  /root/r ...

  4. [administrator] rpmbuild

    rpmbuild 1.  rpm是什么 RPM = RPM Package Manager = Redhat Package Manager https://en.wikipedia.org/wiki ...

  5. k83 svc

    一,deployment Deployment为Pod和Replica Set下一代Replication Controller)提供声明式更新 1,配置示例 apiVersion: apps/v1 ...

  6. CentOS系统制作RPM包

    打包编译好的命令,即可直接安装使用 #使用yum可解决依赖问题 [root@localhost ~]# yum -y localinstall *.rpm 一.使用fpm工具直接打包. Fpm安装 f ...

  7. Kubernetes 入门与安装部署

    一.简介 参考:Kubernetes 官方文档.Kubernetes中文社区 | 中文文档 Kubernetes 是一个可移植的.可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自 ...

  8. Vue.js——60分钟webpack项目模板快速入门

    概述 browserify是一个 CommonJS风格的模块管理和打包工具,上一篇我们简单地介绍了Vue.js官方基于browserify构筑的一套开发模板.webpack提供了和browserify ...

  9. Vue.js——60分钟browserify项目模板快速入门

    概述 在之前的一系列vue.js文章,我们都是用传统模式引用vue.js以及其他的js文件的,这在开发时会产生一些问题. 首先,这限定了我们的开发模式是基于页面的,而不是基于组件的,组件的所有代码都直 ...

随机推荐

  1. 8.8 CSS知识点1

    什么是CSS CSS(Cascading Style Sheet) 层叠样式表 CSS3在CSS2的基础上增加了很多强大的新功能,目前主流浏览器都支持CSS3大部分功能.为了更好的向前兼容,不同的浏览 ...

  2. 循序渐进Python3(六) -- 初识内置变量、反射、递归

    #python用下划线作为变量前缀和后缀指定特殊变量.稍后我们会发现,   #对于程序来说,其中的有些变量是非常有用的,而其他的则是未知或者无用的.   #我们总结一下Python中下划线的特殊用法  ...

  3. 《机器学习实战》学习笔记——第2章 KNN

    一. KNN原理: 1. 有监督的学习 根据已知事例及其类标,对新的实例按照离他最近的K的邻居中出现频率最高的类别进行分类.伪代码如下: 1)计算已知类别数据集中的点与当前点之间的距离 2)按照距离从 ...

  4. a==null和a.equals("null")的区别

    equals 是值比较,==是比较内存 A==B,比较句柄,就是比较变量A,B的地址存放的东西,比如int A=0;String B="bbbb";那么变量A的地址方的就是0,B的 ...

  5. linux 无法解压过大文件解决

    [root@vmbbak yum]# unzip RHEL_5.7\ x86_64\ DVD-1.zip error: Zip file too big (greater than 429495910 ...

  6. 用python监控Linux,CPU,内存,硬盘

    #!/usr/local/bin/python3.5 #coding:utf-8 import mailll, linecache, re, socket, os, time hostname = s ...

  7. deep learning

    今天跑一个模型,程序都没变,就配置文件变了.但是总是很快就显示loss为nan. 检查配置文件还是不行,把其中loss改为0还是不行.最后搁置了一下,再回头对比一下电脑上的和服务器上的,发现一个配置文 ...

  8. 【教程】手把手教你如何利用工具(IE9的F12)去分析模拟登陆网站(百度首页)的内部逻辑过程

    [前提] 想要实现使用某种语言,比如Python,C#等,去实现模拟登陆网站的话,首先要做的事情就是使用某种工具,去分析本身使用浏览器去登陆网页的时候,其内部的执行过程,内部逻辑. 此登陆的逻辑过程, ...

  9. XE3随笔8:关于乱码

    以下例子都会出现乱码, 虽然都可以有变通的方案, 但如果不乱码就太好了! unit Unit1; interface uses   Windows, Messages, SysUtils, Varia ...

  10. 【erlang】执行linux命令的两种方法

    os.cmd(Cmd) os模块提供了cmd函数可以执行linux系统shell命令(也可以执行windows命令).返回一个Cmd命令的标准输出字符串结果.例如在linux系统中执行os:cmd(& ...