图书管理系统-需求分析阶段.ppt
软件工程实践软件工程实践工作任务回顾在前面工作中,我们完成了领域分析,交付了以下工作产品:领域类图业务用例图业务流程活动图我们的关注点在通过用户访谈,了解用户的实际业务情况。为需求分析收集必要信息。软件工程实践软件工程实践图书管理系统需求分析阶段(1)软件工程实践软件工程实践从业务需求到系统需求软件工程实践软件工程实践今天的工作任务1.完成系统用例建模.2.完成系统流程建模.提交内容1.系统用例图2.系统流程活动图我们的进度,在这里软件工程实践软件工程实践工作任务1:完成系统用例建模交付的工作产品:系统用例图我们的进度,在这里软件工程实践软件工程实践用例之间的三种关系1.泛化关系(Generalization):一个用例可以被特别列举为一个或多个子用例,这被称为用例泛化。2.包含关系(Include)一个用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为作为自身行为的一部分,这被称作包含关系。3.扩展关系(Extend):一个用例也可以被定义为基础用例的增量扩展,这称作扩展关系,扩展关系是把新行为插入到已有用例的方法。软件工程实践软件工程实践扩展关系扩展关系是从扩展用例到基本用例的关系,它说明为扩展用例定义的行为如何插入到为基本用例定义的行为中。它是以隐含形式插入的,也就是说,扩展用例并不在基本用例中显示。在以下几种情况下,可使用扩展用例:a.表明用例的某一部分是可选的系统行为(这样,您就可以将模型中的可选行为和必选行为分开);b.表明只在特定条件特定条件(如例外条件)下才执行的分支流;软件工程实践软件工程实践泛化关系泛化关系:用例可以被特别列举为一个或多个子用例,这被称做用例泛化。当父用例能够被使用时,任何子用例也可以被使用。如在下图中,订票是电话订票和网上订票的抽象。软件工程实践软件工程实践图书管理系统业务用例1:借阅管理对应系统用例:借阅管理进一步分析借阅管理。在业务用例“借阅管理”的业务流程中,有两个动作状态办理借阅证和借阅证遗失补办。在本系统中,应该提供相应的两种操作给用户,因此,得到系统用例“新办借阅证”和“补办借阅证”。这两个系统用例是系统用例“借阅管理”的泛化用例。我们的进度,在这里软件工程实践软件工程实践系统用例“借阅管理”及其扩展用例“新办借阅证”和“补办借阅证”图示我们的进度,在这里系统用例系统用例“借阅管理借阅管理”图示图示软件工程实践软件工程实践图书管理系统业务用例2:图书管理对应系统用例:图书管理进一步分析图书管理。在业务用例“图书管理”的业务流程中,有三个动作状态图书入库和图书报废处理和图书遗失处理。在本系统中,应该提供相应的三种操作给用户,因此,得到系统用例“新增图书”、“删除图书”、“修改图书信息”。这三个系统用例是系统用例“图书管理”的泛化用例。图示表示如下:我们的进度,在这里软件工程实践软件工程实践系统用例“图书管理”及其扩展用例“新增图书”、“删除图书”和“修改图书信息”图示我们的进度,在这里系统用例系统用例“图书管理图书管理”图示图示软件工程实践软件工程实践图书管理系统业务用例3:图书借阅对应系统用例:图书借阅系统用例“图书借阅”是对业务用例“图书借阅”的系统实现。图书馆工作人员,只是要输入学生借阅证编号和图书编号就可以将借阅信息登记到系统中的“借阅信息表”。我们的进度,在这里软件工程实践软件工程实践图书管理系统业务用例4:图书归还对应系统用例:图书归还系统用例“图书归还”是对业务用例“图书归还”的系统实现。图书馆工作人员,只是要输入图书编号就可以将系统中的“借阅信息表”的对应信息进行显示,点击归还后可以将该图书对应的借阅信息删除。我们的进度,在这里软件工程实践软件工程实践新增系统用例“登录”和“注销”为了保证该系统的使用安全,系统需要为图书馆工作人员提供两个操作“登录”和“注销”,其中,系统用例“登录”是所有其他系统用例的包含(include)用例,而其他系统用例是“注销”的包含(include)用例。而这两个系统用例并没有对应的业务用例。由此可见,业务用例描述的是用户的实际业务情况。而系统用例描述的是系统为用户的操作。每一个业务用例都必须在系统用例中找到对应。我们的进度,在这里软件工程实践软件工程实践完整的系统用例图我们的进度,在这里软件工程实践软件工程实践总结:UML图形的视角在过去三次课的学习和工作任务完成中,大家可以发现,同一种UML图形可以反映不同的视角。用例图的视角:视角1:站在用户的角度看待用户的业务情况业务用例图视角2:站在用户的角度看待系统的功能系统用例图我们的进度,在这里软件工程实践软件工程实践工作任务2:完成系统流程建模交付的工作产品:系统流程活动图我们的进度,在这里软件工程实践软件工程实践学习情境:系统流程建模同业务流程活动图一样,系统流程活动图是为了描述每一个系统用例的执行情况和操作流程的。我们的进度,在这里软件工程实践软件工程实践系统用例“图书借阅”的流程建模活动图图书借阅我们的进度,在这里图书借阅系统流程活动图图书借阅系统流程活动图软件工程实践软件工程实践系统用例“图书归还”的流程建模活动图图书归还我们的进度,在这里图书归还系统流程活动图图书归还系统流程活动图软件工程实践软件工程实践系统用例“登录”的流程建模活动图登录我们的进度,在这里登录系统流程活动图登录系统流程活动图软件工程实践软件工程实践系统用例“注销”的流程建模活动图注销我们的进度,在这里注销系统流程活动图注销系统流程活动图软件工程实践软件工程实践系统用例“补办借阅证”的流程建模活动图补办借阅证我们的进度,在这里补办借阅证系统流程活动图补办借阅证系统流程活动图软件工程实践软件工程实践这样做就够了吗?不是。系统用例必须要得到用户的反馈和确认。准备进行第二次用户访谈:如果在绘制系统活动图的过程中,发现有些信息并不是很清楚的话,就要考虑进行再次访谈了,例如:在补办借阅证的分支中,是否应该增加催还图书的通知。访谈的问题,围绕着在建模过程中所发现的遗漏信息。访谈之后,可能会进一步修改系统用例和系统流程活动图。这是一个迭代的过程。一次又一次访谈和修改。我们的进度,在这里软件工程实践软件工程实践课程小结本次课中,用到以下知识1.用例建模:用例图2.活动图我们的进度,在这里软件工程实践软件工程实践图书管理系统需求分析阶段(2)软件工程实践软件工程实践今天的工作任务1.完成非功能需求描述。2.完成用例描述(又叫用例规约)。3.完成需求规格说明书。提交内容1.用例描述文档(又叫用例规约)2.软件需求规格说明书我们的进度,在这里软件工程实践软件工程实践工作任务1:完成非功能需求描述我们的进度,在这里软件工程实践软件工程实践用户需求的层次我们的进度,在这里功能性需求功能性需求非非功功能能性性需需求求软件工程实践软件工程实践非功能性需求的几个方面可靠性可用性有效性可移植性我们的进度,在这里软件工程实践软件工程实践可靠性安全性、事务性、稳定性(续)可靠性可以从安全性、事务性和稳定性安全性、事务性和稳定性三方面来衡量。安全性安全性与用户业务内容相关。如果开发的软件是信息安全级别很高的,如政府机构的办公文件,那么相应的安全性需求也会很高;另外,对于软件运行的环境来说,如果是一个运用于广域网的软件,如淘宝网,那么相应的安全级别就要高,反之,如果是仅仅运用与局域网,或者是一个单机软件,那么安全性要求就比较低。我们的进度,在这里软件工程实践软件工程实践可靠性安全性、事务性、稳定性事务性指的是保障系统的ACID能力。AAtomicity原子性原子性:在任何操作出现错误的情况下,构成事务的所有操作效果必须被撤销,例如:取钱不成功的话,要保证用户帐号的金额不会被扣掉。CConsistency一致性一致性:一个事务应该保护所有定义在数据上的不变的属性,例如数据库管理系统中的完整性约束。IIsolation隔离性隔离性:在同一个环境中可能有多个事务并发执行,而每一个事务都应表现为独立执行。例如数据库管理系统中的锁机制。DDurability持久性持久性:一个被完成的事务效果应该是持久的。事务的重要性在分布式系统和集成性系统中尤为重要。在小型系统中,事务性一般通过数据库本身的事务处理机制来保障,但在分布式系统、集成应用系统中,由于系统中可能存在多个异构数据库,仅仅靠数据库本身的事务处理就远远不够了,这时应借助第三方事务中间件来保障。在大型应用中,都会通过购买专用服务器来提供相应的事务处理机制,不需要自己编程来实现事务处理。我们的进度,在这里软件工程实践软件工程实践可靠性安全性、事务性、稳定性(续)稳定性稳定性由故障的频率、严重性、可恢复性、可预见性、准确性和平均故障间隔时间等一些指标构成。判断软件是否失效的判断依据有:系统死机、系统无法启动、不能输入输出或显示记录、计算数据有错等。我们的进度,在这里软件工程实践软件工程实践可用性容易学习容易学习客户需要多长时间来掌握软件的使用?使用效率使用效率客户需要多长时间、执行多少次操作来完成一个关键任务?记忆性记忆性当客户离开再次回来时,他的工作是否能够被记忆下来以便继续执行?错误恢复错误恢复当系统出现故障时,客户是否能从故障中恢复他已经完成的工作?主观满意度主观满意度客户在使用软件过程中是否感到愉悦?我们的进度,在这里软件工程实践软件工程实践有效性性能、可伸缩性、可扩展性性能包括速度、并发性、吞吐量、响应时间、资源占用率等一些指标。可伸缩性指的是当向系统增加资源时的性能改善,例如提高CPU的主频率,内存容量等。可扩展性指的是系统系统界别的扩展性,包括资源扩展性,应用可扩展性和技术升级可扩展性。我们的进度,在这里软件工程实践软件工程实践可移植性通常可移植性都是软件针对平台而言的。软件应该能够适应更多种平台。在软件开发过程中,应当使用成熟的,公开支持的标准,尤其是大厂商所支持的标准,来确保系统不丧失软件环境的可移植性。我们的进度,在这里软件工程实践软件工程实践总结一下可靠性可用性有效性可移植性安全性、事务性、安全性、事务性、稳定性稳定性容易学习,使用容易学习,使用效率,记忆性,效率,记忆性,错误恢复,主观错误恢复,主观满意度满意度性能、可伸缩性、性能、可伸缩性、可扩展性可扩展性我们的进度,在这里软件工程实践软件工程实践获取非功能需求可以用一个调查表的形式来获取非功能需求。调查表内容如下:非功能需求调查表非功能需求调查表可靠性可靠性安全性系统数据的敏感程度如何系统运行于何种环境客户组织中的信息保密程度使用人员情况事务性系统业务交叉程度如何数据精确度要求如何业务是在线的还是离线的系统集成情况如何是分布式系统还是集中式系统稳定性系统的服务能力要求如何用户的操作频率如何业务的及时性要求如何数据的重要程度如何我们的进度,在这里软件工程实践软件工程实践获取非功能需求非功能需求调查表非功能需求调查表可用性可用性界面客户的行业性质如何客户的企业文化如何客户业务的复杂程度如何使用人员的情况如何操作习惯客户之前使用过什么系统吗?客户喜欢什么样的操作风格文档要求客户需要联机文档吗?客户需求在线帮助吗?客户的计算机操作水平如何?我们的进度,在这里软件工程实践软件工程实践获取非功能需求非功能需求调查表非功能需求调查表有效性有效性性能系统的平均访问量系统的峰值访问量系统的数据流量系统的并发要求硬件环境如何可伸缩性客户业务预期的扩张速度客户数据量的扩张速度使用人数的扩张速度可扩展性系统规模会持续扩大吗?客户是否有长期系统建设计划?客户有升级系统的长期计划吗?我们的进度,在这里软件工程实践软件工程实践非功能需求调查表非功能需求调查表可移植性可移植性硬件环境客户当前的硬件环境如何客户是否有长期的硬件厂商合作伙伴客户的业务是否在快速增长软件环境客户和系统运行环境如何客户是否有长期的软件提供商开发者自己是否有长期明确的技术路线我们的进度,在这里软件工程实践软件工程实践工作任务2:完成用例描述我们的进度,在这里软件工程实践软件工程实践用例描述用例图只是简单地用图描述了一下系统,但对于每个用例,我们还需要有详细的说明,这样就可以让别人对这个系统有一个更加详细的了解,这时我们就需要写用例描述。对于用例描述的内容,一般没有硬性规定的格式,但一些必须或者重要的内容还是必须要写进用例描述里面的。用例描述一般包括:简要描述(说明)、前置(前提)条件、基本事件流、其他事件流、后置(事后)条件等等。我们的进度,在这里软件工程实践软件工程实践用例描述模板一简要描述简要描述:对用例的角色、目的的简要描述;前置条件前置条件:执行用例之前系统必须要处于的状态,或者要满足的条件;基本事件流基本事件流:描述该用例的基本流程,指每个流程都“正常”运作时所发生的事情,没有任何备选流和异常流,而只有最有可能发生的事件流;其他事件流其他事件流:表示这个行为或流程是可选的或备选的,并不是总要总要执行它们;异常事件流:异常事件流:表示发生了某些非正常的事情所要执行的流程;后置条件后置条件:用例一旦执行后系统所处的状态。我们的进度,在这里软件工程实践软件工程实践用例描述示例用例名称用例名称:网站公告发布用例标识号用例标识号:202参与者参与者:负责人简要说明简要说明:负责人用来填写和修改家教网站首页的公告,公告最终显示在家教网站的首页上。前置条件:前置条件:负责人已经登陆家教网站管理系统基本事件流:基本事件流:1 负责人鼠标点击“修改公告”按钮2 系统出现一个文本框,显示着原来的公告内容3 负责人可以在文本框上修改公告,也可以完全删除,重新写新的公告4 负责人编辑完文本框,按“提交”按钮,首页公告就被修改5 用例终止其他事件流其他事件流A1:在按“提交”按钮之前,负责人随时可以按“返回”按钮,文本框的任何修改内容都不会影响网站首页的公告异常事件流异常事件流:1 提示错误信息,负责人确认2 返回到管理系统主页面后置条件后置条件:网站首页的公告信息被修改我们的进度,在这里软件工程实践软件工程实践用例描述模板二用例编号用例编号用例名用例名用例描述用例描述参与者参与者前置条件前置条件后置条件后置条件基本路径基本路径 1,.X X X X 1,.X X X X 2.X X X X 2.X X X X扩展点扩展点2a.X X X X2a.X X X X2a1.X X X X2a1.X X X X变异点变异点补充说明补充说明软件工程实践软件工程实践图书管理系统的用例描述为每一个用例写一个用例描述。我们的进度,在这里软件工程实践软件工程实践图书管理系统的用例描述登录用例名称:登陆用例名称:登陆用例描述:本系统需要参与者输入帐号和密码进行系统登陆,该用例页面是系统起始页面。用户帐号和密码是系统默认已经分配的。参与者:图书馆工作人员。前置条件:无基本路径:1.输入帐号,密码2.点击“进入系统”3.验证用户权限,进入主界面备选流程:1.点击“重新填写”,实现重填帐号密码功能。2.输入帐号或密码不正确,重新登陆。3.进入基本路径1我们的进度,在这里软件工程实践软件工程实践图书管理系统的用例描述注销用例名称:注销用例名称:注销用例描述:图书管理员离开系统参与者:图书馆工作人员。前置条件:已经进入系统基本路径:1.点击“注销”2.提示“确认退出”3.点击确认,退出系统备选流程:1.点击取消不退出系统我们的进度,在这里软件工程实践软件工程实践图书管理系统的用例描述借阅管理用例名称:借阅管理用例名称:借阅管理用例描述:此用例用来供用户完成借阅管理工作,包括两个扩展用例“新办借阅证”和“补办借阅证”。参与者:图书馆工作人员。前置条件:图书馆工作人员已经登录我们的进度,在这里软件工程实践软件工程实践图书管理系统的用例描述新办借阅证用例名称:新办借阅证用例名称:新办借阅证用例描述:图书馆工作人员输入学生信息进行借阅证办理。参与者:图书馆工作人员。前置条件:图书馆工作人员点击“新办借阅证”基本路径:1.输入学生信息(学号,姓名,专业,班级,性别)2.点击“提交”3.显示添加的借阅证信息(借阅证编号,学号,姓名,专业,班级,性别)备选流程:1.点击“重新填写”,实现重填学生信息功能。2.进入基本路径1我们的进度,在这里软件工程实践软件工程实践图书管理系统的用例描述补办借阅证用例名称:补办借阅证用例名称:补办借阅证用例描述:图书馆工作人员输入学生信息进行借阅证补办。参与者:图书馆工作人员。前置条件:图书馆工作人员点击“补办借阅证”基本路径:1.输入学号2.点击“查询”3.显示该学生遗失的借阅证信息(借阅证编号,学号,姓名,专业,班级,性别)4.点击“补办”5.显示该学生新借阅证信息(借阅证编号,学号,姓名,专业,班级,性别)6.进入备选流程B备选流程:A:1点击“重新填写”,实现重填学号。2进入基本路径1B:如果学生有借阅图书未归还,显示当前该学生借阅情况(书名,ISBN,借阅时间,应归还时间)我们的进度,在这里软件工程实践软件工程实践图书管理系统的用例描述图书借阅用例名称:图书借阅用例名称:图书借阅用例描述:图书馆工作人员输入借阅证编号和图书登录号来完成图书借阅。参与者:图书馆工作人员。前置条件:图书馆工作人员点击“图书借阅”基本路径:1.输入借阅证编号。2.输入图书登录号。3.点击“借阅”4.显示当前借阅信息(书名,ISBN,借阅时间,应归还时间)备选流程:1.点击“重填”实现借阅证和图书登录号重新填写我们的进度,在这里软件工程实践软件工程实践图书管理系统的用例描述图书归还用例名称:图书归还用例名称:图书归还用例描述:图书馆工作人员输入图书登录号进行图书归还。参与者:图书馆工作人员。前置条件:图书馆工作人员点击“图书归还”基本路径:1.输入图书登录号2.点击“查询”3.显示该书借阅证信息(书名,ISBN,借阅时间,应归还时间)4.点击“归还”5.提示“归还成功”备选流程:1.点击重新填写,实现图书登录号重新填写我们的进度,在这里软件工程实践软件工程实践现在,请完成剩下的4个用例描述图书管理新增图书删除图书修改图书我们的进度,在这里软件工程实践软件工程实践进一步分析系统的运行环境软件系统需要在特定的硬件和软件环境下运行。其中硬件环境包括:计算机硬件系统配置软件环境包括:操作系统,其他支持的软件,如数据库管理系统。我们的进度,在这里软件工程实践软件工程实践与用户确定最后交付的内容在需求分析中,我们还需要与用户就最终交付的软件产品内容,以及产品交付形式达成一致。软件产品不仅是可以运行的程序,还包括在整个软件开发过程中产生的一系列文档以及必要的用户使用说明书。软件产品的交付可以采用光盘形式(CD,DVD),光盘介质存储比磁盘介质存储时间更持久一些。我们的进度,在这里软件工程实践软件工程实践工作任务3:完成需求规格说明书我们的进度,在这里软件工程实践软件工程实践需求规格说明书重要的过程文档当需求分析结束的时候,需要提交需求规格说明书,作为下一个阶段的依据。需求规格说明书是软件项目开发过程的重要过程文档,应该格式正确。一般需求规格说明书应该包含以下几部分内容:我们的进度,在这里软件工程实践软件工程实践一个需求规格说明书的范例需求规格说明书.doc各小组按模板完成你们的需求规格说明书。因为该文档是正式文档正式文档,因此请保证格式正确格式正确,符合要求。(可以利用计算机基础课程中学到的文档编辑知识进行文档排版)我们的进度,在这里软件工程实践软件工程实践课后作业来自经理的一封邮件各位项目组长,你们好!按照项目进度计划,我们将在10月2-3日进行需求评审工作,请各小组准备好演示ppt,主要介绍一下在主要介绍一下在最近一段工作中的情况最近一段工作中的情况(例如:如何做领域分析和需求例如:如何做领域分析和需求分析的,过程怎么样,小组分工如何,小组成员如何分析的,过程怎么样,小组分工如何,小组成员如何协作的协作的)。在评审中,需要展示你们小组的需求规格说明书!此次演示工作由分析人员完成,每个小组的演示时间为10分钟,而演示演示ppt的准备、需求规格说明书需求规格说明书的准备可能会涉及到文档人员,请项目组长做好分工,体现团队合作精神。望周知!祝好!wuyanchang 我们的进度,在这里