3-图书管理系统-需求分析阶段

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

软件工程实践工作任务回顾•在前面工作中,我们完成了领域分析,交付了以下工作产品:–领域类图–业务用例图–业务流程活动图•我们的关注点在通过用户访谈,了解用户的实际业务情况。为需求分析收集必要信息。软件工程实践图书管理系统——需求分析阶段(1)软件工程实践•从业务需求到系统需求软件工程实践今天的工作任务1.完成系统用例建模.2.完成系统流程建模.提交内容1.系统用例图2.系统流程活动图领域分析需求分析设计编码测试交付可行性研究我们的进度,在这里软件工程实践工作任务1:完成系统用例建模交付的工作产品:系统用例图领域分析需求分析设计编码测试交付可行性研究我们的进度,在这里软件工程实践用例之间的三种关系•1.泛化关系(Generalization):一个用例可以被特别列举为一个或多个子用例,这被称为用例泛化。•2.包含关系(Include)一个用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为作为自身行为的一部分,这被称作包含关系。•3.扩展关系(Extend):一个用例也可以被定义为基础用例的增量扩展,这称作扩展关系,扩展关系是把新行为插入到已有用例的方法。软件工程实践扩展关系•扩展关系是从扩展用例到基本用例的关系,它说明为扩展用例定义的行为如何插入到为基本用例定义的行为中。它是以隐含形式插入的,也就是说,扩展用例并不在基本用例中显示。在以下几种情况下,可使用扩展用例:•a.表明用例的某一部分是可选的系统行为(这样,您就可以将模型中的可选行为和必选行为分开);•b.表明只在特定条件(如例外条件)下才执行的分支流;超期赔偿图书归还(from系统分析)图书馆工作人员(from系统分析)extend软件工程实践泛化关系•泛化关系:用例可以被特别列举为一个或多个子用例,这被称做用例泛化。当父用例能够被使用时,任何子用例也可以被使用。如在下图中,订票是电话订票和网上订票的抽象。客户订票电话订票网上订票软件工程实践图书管理系统——业务用例1:借阅管理对应系统用例:借阅管理•进一步分析借阅管理。•在业务用例“借阅管理”的业务流程中,有两个动作状态——办理借阅证和借阅证遗失补办。•在本系统中,应该提供相应的两种操作给用户,因此,得到系统用例“新办借阅证”和“补办借阅证”。这两个系统用例是系统用例“借阅管理”的泛化用例。领域分析需求分析设计编码测试交付可行性研究我们的进度,在这里软件工程实践系统用例“借阅管理”及其扩展用例“新办借阅证”和“补办借阅证”图示领域分析需求分析设计编码测试交付可行性研究我们的进度,在这里系统用例“借阅管理”图示借阅管理图书馆工作人员新办借阅证补办借阅证软件工程实践图书管理系统——业务用例2:图书管理对应系统用例:图书管理•进一步分析图书管理。•在业务用例“图书管理”的业务流程中,有三个动作状态——图书入库和图书报废处理和图书遗失处理。•在本系统中,应该提供相应的三种操作给用户,因此,得到系统用例“新增图书”、“删除图书”、“修改图书信息”。这三个系统用例是系统用例“图书管理”的泛化用例。•图示表示如下:领域分析需求分析设计编码测试交付可行性研究我们的进度,在这里软件工程实践系统用例“图书管理”及其扩展用例“新增图书”、“删除图书”和“修改图书信息”图示领域分析需求分析设计编码测试交付可行性研究我们的进度,在这里系统用例“图书管理”图示图书管理图书馆工作人员新增图书修改图书信息删除图书软件工程实践图书管理系统——业务用例3:图书借阅对应系统用例:图书借阅•系统用例“图书借阅”是对业务用例“图书借阅”的系统实现。•图书馆工作人员,只是要输入学生借阅证编号和图书编号就可以将借阅信息登记到系统中的“借阅信息表”。领域分析需求分析设计编码测试交付可行性研究我们的进度,在这里软件工程实践图书管理系统——业务用例4:图书归还对应系统用例:图书归还•系统用例“图书归还”是对业务用例“图书归还”的系统实现。•图书馆工作人员,只是要输入图书编号就可以将系统中的“借阅信息表”的对应信息进行显示,点击归还后可以将该图书对应的借阅信息删除。领域分析需求分析设计编码测试交付可行性研究我们的进度,在这里软件工程实践新增系统用例——“登录”和“注销”•为了保证该系统的使用安全,系统需要为图书馆工作人员提供两个操作“登录”和“注销”,其中,系统用例“登录”是所有其他系统用例的包含(include)用例,而其他系统用例是“注销”的包含(include)用例。•而这两个系统用例并没有对应的业务用例。•由此可见,业务用例描述的是用户的实际业务情况。而系统用例描述的是系统为用户的操作。•每一个业务用例都必须在系统用例中找到对应。领域分析需求分析设计编码测试交付可行性研究我们的进度,在这里软件工程实践完整的系统用例图领域分析需求分析设计编码测试交付可行性研究我们的进度,在这里删除图书新增图书修改图书信息新办借阅证补办借阅证图书管理借阅管理图书归还图书借阅登录includeincludeinclude图书馆工作人员注销includeincludeincludeincludeinclude软件工程实践总结:UML图形的视角•在过去三次课的学习和工作任务完成中,大家可以发现,同一种UML图形可以反映不同的视角。•用例图的视角:•视角1:站在用户的角度看待用户的业务情况——业务用例图•视角2:站在用户的角度看待系统的功能——系统用例图领域分析需求分析设计编码测试交付可行性研究我们的进度,在这里软件工程实践工作任务2:完成系统流程建模交付的工作产品:系统流程活动图领域分析需求分析设计编码测试交付可行性研究我们的进度,在这里软件工程实践学习情境:系统流程建模•同业务流程活动图一样,系统流程活动图是为了描述每一个系统用例的执行情况和操作流程的。领域分析需求分析设计编码测试交付可行性研究我们的进度,在这里软件工程实践系统用例“图书借阅”的流程建模活动图——图书借阅领域分析需求分析设计编码测试交付可行性研究我们的进度,在这里图书借阅系统流程活动图开始输入借阅证编号输入图书登录号点击借阅显示该学生当前借阅情况结束学生借阅情况包括:书名,借阅时间,归还时间,图书登录号,ISBN软件工程实践系统用例“图书归还”的流程建模活动图——图书归还领域分析需求分析设计编码测试交付可行性研究我们的进度,在这里图书归还系统流程活动图开始输入图书登录号显示该图书当前借阅情况点击归还结束该图书当前借阅情况包括:图书登录号,书名,ISBN,借阅人姓名,借阅时间,归还时间软件工程实践系统用例“登录”的流程建模活动图——登录领域分析需求分析设计编码测试交付可行性研究我们的进度,在这里登录系统流程活动图开始输入用户名输入密码权限验证权限验证是否通过进入系统主界面返回登录界面结束通过验证未通过验证软件工程实践系统用例“注销”的流程建模活动图——注销领域分析需求分析设计编码测试交付可行性研究我们的进度,在这里注销系统流程活动图开始结束点击注销提示确认注销关闭系统界面返回主界面确定注销取消注销软件工程实践系统用例“补办借阅证”的流程建模活动图——补办借阅证领域分析需求分析设计编码测试交付可行性研究我们的进度,在这里补办借阅证系统流程活动图开始输入学生学号显示学生信息点击补办显示新的借阅证信息显示当前借阅情况结束包括:借阅证编号,学号,姓名,性别,专业,班级有借阅书籍未还软件工程实践这样做就够了吗?不是。系统用例必须要得到用户的反馈和确认。•准备进行第二次用户访谈:•如果在绘制系统活动图的过程中,发现有些信息并不是很清楚的话,就要考虑进行再次访谈了,例如:在补办借阅证的分支中,是否应该增加催还图书的通知。•访谈的问题,围绕着在建模过程中所发现的遗漏信息。•访谈之后,可能会进一步修改系统用例和系统流程活动图。•这是一个迭代的过程。一次又一次访谈和修改。领域分析需求分析设计编码测试交付可行性研究我们的进度,在这里软件工程实践课程小结•本次课中,用到以下知识1.用例建模:用例图2.活动图领域分析需求分析设计编码测试交付可行性研究我们的进度,在这里软件工程实践图书管理系统——需求分析阶段(2)软件工程实践今天的工作任务1.完成非功能需求描述。2.完成用例描述(又叫用例规约)。3.完成需求规格说明书。提交内容1.用例描述文档(又叫用例规约)2.软件需求规格说明书领域分析需求分析设计编码测试交付可行性研究我们的进度,在这里软件工程实践工作任务1:完成非功能需求描述领域分析需求分析设计编码测试交付可行性研究我们的进度,在这里软件工程实践用户需求的层次领域分析需求分析设计编码测试交付可行性研究我们的进度,在这里系统必须满足客户工作所需要的功能系统要有一定的可靠性、安全性和可维护性系统要保持可扩展的接口,要能与旧系统、外部系统、异构系统打交道系统是业界领先的个性化功能性需求非功能性需求软件工程实践非功能性需求的几个方面•可靠性•可用性•有效性•可移植性领域分析需求分析设计编码测试交付可行性研究我们的进度,在这里软件工程实践可靠性——安全性、事务性、稳定性(续)•可靠性可以从安全性、事务性和稳定性三方面来衡量。•安全性与用户业务内容相关。如果开发的软件是信息安全级别很高的,如政府机构的办公文件,那么相应的安全性需求也会很高;•另外,对于软件运行的环境来说,如果是一个运用于广域网的软件,如淘宝网,那么相应的安全级别就要高,反之,如果是仅仅运用与局域网,或者是一个单机软件,那么安全性要求就比较低。领域分析需求分析设计编码测试交付可行性研究我们的进度,在这里软件工程实践可靠性——安全性、事务性、稳定性•事务性指的是保障系统的ACID能力。•A——Atomicity原子性:在任何操作出现错误的情况下,构成事务的所有操作效果必须被撤销,例如:取钱不成功的话,要保证用户帐号的金额不会被扣掉。•C——Consistency一致性:一个事务应该保护所有定义在数据上的不变的属性,例如数据库管理系统中的完整性约束。•I——Isolation隔离性:在同一个环境中可能有多个事务并发执行,而每一个事务都应表现为独立执行。例如数据库管理系统中的锁机制。•D——Durability持久性:一个被完成的事务效果应该是持久的。•事务的重要性在分布式系统和集成性系统中尤为重要。在小型系统中,事务性一般通过数据库本身的事务处理机制来保障,但在分布式系统、集成应用系统中,由于系统中可能存在多个异构数据库,仅仅靠数据库本身的事务处理就远远不够了,这时应借助第三方事务中间件来保障。在大型应用中,都会通过购买专用服务器来提供相应的事务处理机制,不需要自己编程来实现事务处理。领域分析需求分析设计编码测试交付可行性研究我们的进度,在这里软件工程实践可靠性——安全性、事务性、稳定性(续)•稳定性•稳定性由故障的频率、严重性、可恢复性、可预见性、准确性和平均故障间隔时间等一些指标构成。•判断软件是否失效的判断依据有:系统死机、系统无法启动、不能输入输出或显示记录、计算数据有错等。领域分析需求分析设计编码测试交付可行性研究我们的进度,在这里软件工程实践可用性•容易学习–客户需要多长时间来掌握软件的使用?•使用效率–客户需要多长时间、执行多少次操作来完成一个关键任务?•记忆性–当客户离开再次回来时,他的工作是否能够被记忆下来以便继续执行?•错误恢复–当系统出现故障时,客户是否能从故障中恢复他已经完成的工作?•主观满意度–客户在使用软件过程中是否感到愉悦?领域分析需求分析设计编码测试交付可行性研究我们的进度,在这里软件工程实践有效性——性能、可伸缩性、可扩展性•性能包括速度、并发性、吞吐量、响应时间、资源占用率等一些指标。•可伸缩性指的是当向系统增加资源时的性能改善,例如提高CPU的主频率,内存容量等。•可扩展性指的是系统系统界别的扩展性,包括资源扩展性,应用可扩展性和技术升级可扩展性。领域分析需求分析设计编码测试交付可行性研究我们的进度,在这里软件工程实践可移植性•通常可移植性都是软件针对平台而言的

1 / 62
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功