《[精]6-图书管理系统-需求分析阶段》由会员分享,可在线阅读,更多相关《[精]6-图书管理系统-需求分析阶段(74页珍藏版)》请在金锄头文库上搜索。
1、,软件工程与UML 图书管理系统 需求分析阶段,林琳 Email: ,Beyond Technology,上周工作任务回顾,在上周工作中,我们完成了领域分析,交付了以下工作产品: 领域类图 业务用例图 业务流程活动图 我们的关注点在通过用户访谈,了解用户的实际业务情况。为需求分析收集必要信息。,活动图的分支与分叉,分支与合并表示条件式的行为 汇合与分叉表示并行式的行为,分支与合并,汇合与分叉,图书管理系统第7周第1次课,从业务需求到系统需求,今天的工作任务,完成系统用例建模. 完成系统流程建模.,提交内容,系统用例图 系统流程活动图,工作任务1:完成系统用例建模 交付的工作产品:系统用例图,用
2、例之间的三种关系,1. 泛化关系(Generalization):一个用例可以被特别列举为一个或多个子用例,这被称为用例泛化。 2. 包含关系(Include)一个用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为作为自身行为的一部分,这被称作包含关系。 3. 扩展关系(Extend):一个用例也可以被定义为基础用例的增量扩展,这称作扩展关系,扩展关系是把新行为插入到已有用例的方法。,扩展关系,扩展关系是从扩展用例到基本用例的关系,它说明为扩展用例定义的行为如何插入到为基本用例定义的行为中。它是以隐含形式插入的,也就是说,扩展用例并不在基本用例中显示。在以下几种情况下,可使用扩展用例
3、: a.表明用例的某一部分是可选的系统行为(这样,您就可以将模型中的可选行为和必选行为分开); b.表明只在特定条件(如例外条件)下才执行的分支流;,泛化关系,泛化关系:用例可以被特别列举为一个或多个子用例,这被称做用例泛化。当父用例能够被使用时,任何子用例也可以被使用。如在下图中,订票是电话订票和网上订票的抽象。,图书管理系统 业务用例1:借阅管理 对应系统用例:借阅管理,进一步分析借阅管理。 在业务用例“借阅管理”的业务流程中,有两个动作状态办理借阅证和借阅证遗失补办。 在本系统中,应该提供相应的两种操作给用户,因此,得到系统用例“新办借阅证”和“补办借阅证”。这两个系统用例是系统用例“借
4、阅管理”的泛化用例。,系统用例“借阅管理”及其扩展用例“新办借阅证”和“补办借阅证”图示,系统用例“借阅管理” 图示,图书管理系统 业务用例2:图书管理 对应系统用例:图书管理,进一步分析图书管理。 在业务用例“图书管理”的业务流程中,有三个动作状态图书入库和图书报废处理和图书遗失处理。 在本系统中,应该提供相应的三种操作给用户,因此,得到系统用例“新增图书”、“删除图书”、“修改图书信息”。这三个系统用例是系统用例“图书管理”的泛化用例。 图示表示如下:,系统用例“图书管理”及其扩展用例“新增图书”、“删除图书”和“修改图书信息”图示,系统用例“图书管理” 图示,图书管理系统 业务用例3:图
5、书借阅 对应系统用例:图书借阅,系统用例“图书借阅”是对业务用例“图书借阅”的系统实现。 图书馆工作人员,只是要输入学生借阅证编号和图书编号就可以将借阅信息登记到系统中的“借阅信息表”。,图书管理系统 业务用例4:图书归还 对应系统用例:图书归还,系统用例“图书归还”是对业务用例“图书归还”的系统实现。 图书馆工作人员,只是要输入图书编号就可以将系统中的“借阅信息表”的对应信息进行显示,点击归还后可以将该图书对应的借阅信息删除。,新增系统用例“登录”和“注销”,为了保证该系统的使用安全,系统需要为图书馆工作人员提供两个操作“登录”和“注销”,其中,系统用例“登录”是所有其他系统用例的包含(in
6、clude)用例,而其他系统用例是“注销”的包含(include)用例。 而这两个系统用例并没有对应的业务用例。 由此可见,业务用例描述的是用户的实际业务情况。而系统用例描述的是系统为用户的操作。 每一个业务用例都必须在系统用例中找到对应。,完整的系统用例图,总结:UML图形的视角,在过去三次课的学习和工作任务完成中,大家可以发现,同一种UML图形可以反映不同的视角。 用例图的视角: 视角1:站在用户的角度看待用户的业务情况业务用例图 视角2:站在用户的角度看待系统的功能系统用例图 活动图的视角也一样,你能给出我们所学过的活动图的视角吗?,工作任务2:完成系统流程建模 交付的工作产品:系统流程
7、活动图,学习情境: 系统流程建模 对应章节:第8章,同业务流程活动图一样,系统流程活动图是为了描述每一个系统用例的执行情况和操作流程的。,系统用例“图书借阅”的流程建模 活动图图书借阅,图书借阅系统流程活动图,系统用例“图书归还”的流程建模 活动图图书归还,图书归还系统流程活动图,系统用例“登录”的流程建模 活动图登录,登录系统流程活动图,系统用例“注销”的流程建模 活动图注销,注销系统流程活动图,系统用例“补办借阅证”的流程建模 活动图补办借阅证,补办借阅证系统流程活动图,这样做就够了吗?不是。系统用例必须要得到用户的反馈和确认。,准备进行第二次用户访谈: 如果在绘制系统活动图的过程中,发现
8、有些信息并不是很清楚的话,就要考虑进行再次访谈了,例如:在补办借阅证的分支中,是否应该增加催还图书的通知。 访谈的问题,围绕着在建模过程中所发现的遗漏信息。 访谈之后,可能会进一步修改系统用例和系统流程活动图。 这是一个迭代的过程。一次又一次访谈和修改。,完成实验3和实验4,实验报告书写注意:,实验: 三,注意:实验报告每个同学都要完成,当节课做,下课时课代表收上来交给老师电子版程序也由课代表收齐后发给老师,实验报告书写注意:,实验名称:系统用例建模系统用例图 目的与要求: 掌握用例建模技术 通过使用Rose工具,绘制用例图。 实验内容: 1)对图书馆管理系统的需求捕获信息进行分析,得出系统的
9、用例模型。 2)使用Rational Rose完成图书馆管理系统的用例图。,实验报告书写注意:,实验方法与步骤: 打开rose工具,新建一个模型,命名为:学号姓名-实验3,如:7317110101兰维海实验3 完成图书馆管理系统的图设计:单击浏览器中的Use Case View。在弹出菜单中选择【NewUse Case Diagram】,输入框图的名称:实验3,按照所给的示例,将元素拖放到设计窗口中。完成设计之后。点击【save】保存设计图。,实验报告书写注意:,实验: 四,注意:实验报告每个同学都要完成,当节课做,下课时课代表收上来交给老师电子版程序也由课代表收齐后发给老师,实验报告书写注意
10、:,实验名称:系统流程建模系统活动图 目的与要求: 掌握系统行为建模技术,利用活动图来描述业务流程 通过使用Rose工具,绘制活动图。 实验内容: 1)对图书馆管理系统的活动进行分析。 2)使用Rational Rose完成图书馆管理系统的活动图。,实验报告书写注意:,实验方法与步骤: 打开rose工具,打开已有的模型“图书管理系统”,另存为:学号姓名-实验4,如:7317110101兰维海实验4 完成图书馆管理系统的活动图设计:单击某个用例右键,在弹出菜单中选择【NewActivity Diagram】,输入活动图的名称:实验4,按照所给的示例,将元素拖放到设计窗口中。完成设计之后。点击【s
11、ave】保存设计图。,课程小结,本次课中,用到以下知识 用例建模:用例图教材第5章 活动图教材第8章,8.1节,图书管理系统第7周第2次课,今天的工作任务,完成非功能需求描述。 完成用例描述(又叫用例规约)。 完成需求规格说明书。,提交内容,用例描述文档(又叫用例规约) 软件需求规格说明书,工作任务1:完成非功能需求描述,用户需求的层次,功能性需求,非功能性需求,非功能性需求的几个方面,可靠性 可用性 有效性 可移植性,可靠性安全性、事务性、稳定性(续),可靠性可以从安全性、事务性和稳定性三方面来衡量。 安全性与用户业务内容相关。如果开发的软件是信息安全级别很高的,如政府机构的办公文件,那么相
12、应的安全性需求也会很高; 另外,对于软件运行的环境来说,如果是一个运用于广域网的软件,如淘宝网,那么相应的安全级别就要高,反之,如果是仅仅运用与局域网,或者是一个单机软件,那么安全性要求就比较低。,可靠性安全性、事务性、稳定性,事务性指的是保障系统的ACID能力。 AAtomicity原子性:在任何操作出现错误的情况下,构成事务的所有操作效果必须被撤销,例如:取钱不成功的话,要保证用户帐号的金额不会被扣掉。 CConsistency一致性:一个事务应该保护所有定义在数据上的不变的属性,例如数据库管理系统中的完整性约束。 IIsolation隔离性:在同一个环境中可能有多个事务并发执行,而每一个
13、事务都应表现为独立执行。例如数据库管理系统中的锁机制。 DDurability持久性:一个被完成的事务效果应该是持久的。 事务的重要性在分布式系统和集成性系统中尤为重要。在小型系统中,事务性一般通过数据库本身的事务处理机制来保障,但在分布式系统、集成应用系统中,由于系统中可能存在多个异构数据库,仅仅靠数据库本身的事务处理就远远不够了,这时应借助第三方事务中间件来保障。在大型应用中,都会通过购买专用服务器来提供相应的事务处理机制,不需要自己编程来实现事务处理。,可靠性安全性、事务性、稳定性(续),稳定性 稳定性由故障的频率、严重性、可恢复性、可预见性、准确性和平均故障间隔时间等一些指标构成。 判
14、断软件是否失效的判断依据有:系统死机、系统无法启动、不能输入输出或显示记录、计算数据有错等。,可用性,容易学习 客户需要多长时间来掌握软件的使用? 使用效率 客户需要多长时间、执行多少次操作来完成一个关键任务? 记忆性 当客户离开再次回来时,他的工作是否能够被记忆下来以便继续执行? 错误恢复 当系统出现故障时,客户是否能从故障中恢复他已经完成的工作? 主观满意度 客户在使用软件过程中是否感到愉悦?,有效性性能、可伸缩性、可扩展性,性能包括速度、并发性、吞吐量、响应时间、资源占用率等一些指标。 可伸缩性指的是当向系统增加资源时的性能改善,例如提高CPU的主频率,内存容量等。 可扩展性指的是系统系
15、统界别的扩展性,包括资源扩展性,应用可扩展性和技术升级可扩展性。,可移植性,通常可移植性都是软件针对平台而言的。软件应该能够适应更多种平台。 在软件开发过程中,应当使用成熟的,公开支持的标准,尤其是大厂商所支持的标准,来确保系统不丧失软件环境的可移植性。,总结一下,可靠性 可用性 有效性 可移植性,安全性、事务性、稳定性,容易学习,使用效率,记忆性,错误恢复,主观满意度,性能、可伸缩性、可扩展性,获取非功能需求,可以用一个调查表的形式来获取非功能需求。 调查表内容如下:,获取非功能需求,获取非功能需求,工作任务2:完成用例描述,用例描述,用例图只是简单地用图描述了一下系统,但对于每个用例,我们
16、还需要有详细的说明,这样就可以让别人对这个系统有一个更加详细的了解,这时我们就需要写用例描述。 对于用例描述的内容,一般没有硬性规定的格式,但一些必须或者重要的内容还是必须要写进用例描述里面的。用例描述一般包括:简要描述(说明)、前置(前提)条件、基本事件流、其他事件流、后置(事后)条件等等。,用例描述模板一,简要描述:对用例的角色、目的的简要描述; 前置条件:执行用例之前系统必须要处于的状态,或者要满足的条件; 基本事件流:描述该用例的基本流程,指每个流程都“正常”运作时所发生的事情,没有任何备选流和异常流,而只有最有可能发生的事件流; 其他事件流:表示这个行为或流程是可选的或备选的,并不是总要总要执行它们; 异常事件流:表示发生了某些非正常的事情所要执行的流程; 后置条件:用例一旦执行后系统所处的状态。,用例描述示例,用例名称:网站公告发布 用例标识号:202 参与者:负责人 简要说明: 负责人用来