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. 创建Android项目时出错——No resource found that matches the given name 'Theme.AppCompat.Light'

    创建Android项目时出错,error: Error retrieving parent for item: No resource found that matches the given nam ...

  2. 线程池的使用ExecutorService

    private ExecutorService executorService = Executors.newFixedThreadPool(5); // 引入线程池来管理多线程 private vo ...

  3. VC++ 中简单操作MP3音乐的方法,小结

    #include <windows.h> #include <stdio.h> #include <mmsystem.h> #include <shellap ...

  4. 分布式HBase-0.98.4环境搭建

    fesh个人实践,欢迎经验交流!Blog地址:http://www.cnblogs.com/fesh/p/3804072.html 本文有点简单,详细版本请参见<分布式Hbase-0.98.4在 ...

  5. scala 学习: case class

    case class: 1.定义为case class 的类在实例化时,可以不使用new 关键字. case class People(name:String, age:Int) val zhangs ...

  6. phpmyadmin

    下载地址:https://www.phpmyadmin.net/ 详情:http://baike.baidu.com/link?url=OIngLv0mpiYTZl_sCEmryWkHgUYqZeHr ...

  7. Bridge(桥接)-对象结构型模式

    1.意图 将抽象部分与它的实现部分分离,使它们都可以独立地变化. 2.动机 在抽象类与它的实现之间起到桥梁作用,使它们可以独立地变化. 3.适用性 不希望在抽象和它的实现部分之间有一个固定的绑定关系. ...

  8. 常见算法是js实现汇总(转载)

    常见算法是js实现汇总 /*去重*/ <script> function delRepeat(arr){ var newArray=new Array(); var len=arr.len ...

  9. Photoshop 使用曲线

    曲线表示的是图像的明度, 通过信息办的 HSB 信息可以看到调整曲线时整个图像明度的变化 曲线的左下角表示图片的暗部, 右下角表示图片的高光部 而曲线本身的纵坐标则表示这个部分的明度, 例如将曲线的左 ...

  10. LeetCode(一)

    数据流的中位数 class MedianFinder { private Queue<Integer> maxHeap = new PriorityQueue(new Comparator ...