《软件需求工程》PPT课件.ppt
《《软件需求工程》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《软件需求工程》PPT课件.ppt(57页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、理解用例n用例是黑盒?白盒?n用例是相邻系统与系统的交互。涉众代表/用户与系统直接交互的对象 其他计算机系统(“参与者”)外部事件(如:满足 特定时间)11.抽象层次抽象层次是面向对象方法中极其重要且非常是面向对象方法中极其重要且非常难以把握的技巧;难以把握的技巧;2.要想建立好模型,就需学会站在不同的抽象要想建立好模型,就需学会站在不同的抽象层次考虑问题。层次考虑问题。3.抽象层次越高,被屏蔽(或者说封装)的信抽象层次越高,被屏蔽(或者说封装)的信息也就越多,信息量越少也就越容易理解和息也就越多,信息量越少也就越容易理解和处理。处理。抽象层次2统一过程一般抽象层次31.什么时候选择什么样的层
2、次以及总共什么时候选择什么样的层次以及总共抽象多少层?抽象多少层?-用例粒度用例粒度2.抽象层次与边界的选择总是相生相伴抽象层次与边界的选择总是相生相伴-边界边界抽象层次相关的问题41.一切都是对象;一切都是对象;2.对象都是独立的;对象都是独立的;3.对象都具有原子性;对象都具有原子性;4.对象都是可抽象的;对象都是可抽象的;5.对象都有层次性。对象都有层次性。对象分析方法52.参与者(参与者(actor):l定义:定义:actor是在系统之外与系统交互的是在系统之外与系统交互的某人或某事物。如图所示:某人或某事物。如图所示:UML核心元素参与者参与者位于边位于边界之外;界之外;参与者参与者
3、可以非可以非人。人。6l发现参与者:参与者的一个重要来源是涉众,从涉众中找发现参与者:参与者的一个重要来源是涉众,从涉众中找出那些出那些直接对系统发出动作直接对系统发出动作,或,或直接从系统中接收反馈直接从系统中接收反馈的的涉众。在查找参与者的过程中,可以询问以下问题以帮助涉众。在查找参与者的过程中,可以询问以下问题以帮助确定参与者:确定参与者:谁负责提供、使用或删除信息?谁负责提供、使用或删除信息?谁将使用此功能?谁将使用此功能?谁对某个特定功能感兴趣?谁对某个特定功能感兴趣?在组织中的什么地方使用系统?在组织中的什么地方使用系统?谁负责支持和维护系统?谁负责支持和维护系统?系统有哪些外部资
4、源?系统有哪些外部资源?其他还有哪些系统将需要与该系统进行交互?其他还有哪些系统将需要与该系统进行交互?UML核心元素7l参与者一定是参与者一定是直接直接并且并且主动地主动地向系统发出向系统发出动作并动作并获得反馈获得反馈的,否则就不是参与者。的,否则就不是参与者。UML核心元素8业务主角(业务主角(busuness actor):是参与者的一个):是参与者的一个构造类型,特别用于定义业务的参与者,在需求构造类型,特别用于定义业务的参与者,在需求阶段使用。业务主角是与业务系统有着交互的人阶段使用。业务主角是与业务系统有着交互的人和事物,他们用来确定业务范围。业务主角的特和事物,他们用来确定业务
5、范围。业务主角的特殊性在于它针对的是业务人员而非计算机用户。殊性在于它针对的是业务人员而非计算机用户。业务工人(业务工人(business worker):处于系统边界):处于系统边界内,被动地参与了业务的执行过程。业务工人不内,被动地参与了业务的执行过程。业务工人不是参与者。是参与者。UML核心元素9l参与者与其他成员的关系参与者与其他成员的关系参与者与涉众(项目干系人、相关方):参与者参与者与涉众(项目干系人、相关方):参与者是涉众代表,是涉众代表,他们的要求就是系统需求的来源;他们的要求就是系统需求的来源;参与者与用户(参与者与用户(user):用户是系统的使用者。):用户是系统的使用者
6、。用户是参与者的代表,或者说是参与者的实例或用户是参与者的代表,或者说是参与者的实例或代理。并非所有的参与者都是用户。代理。并非所有的参与者都是用户。参与者与角色(参与者与角色(role):角色是参与者的职责,):角色是参与者的职责,角色是一个抽象的概念,从众多参与者的职责中角色是一个抽象的概念,从众多参与者的职责中抽象出相同的那一部分,将其命名形成一个角色。抽象出相同的那一部分,将其命名形成一个角色。一个角色代表了系统的一类职责。由于一个用户一个角色代表了系统的一类职责。由于一个用户可以代理多个参与者,因此一个用户可以拥有多可以代理多个参与者,因此一个用户可以拥有多个职责,也就是可以被指定多
7、个角色。个职责,也就是可以被指定多个角色。UML核心元素10l参与者、涉众、和角色的关系参与者、涉众、和角色的关系UML核心元素113.用例(用例(Use Case)l基本概念:官方文档对用例是这样定义的:用例定基本概念:官方文档对用例是这样定义的:用例定义了一组用例实例,其中每个实例都是系统所执行义了一组用例实例,其中每个实例都是系统所执行的一系列操作,这些操作生成特定主角可以观测的的一系列操作,这些操作生成特定主角可以观测的值。值。l一个完整的用例定义由参与者、前置条件、场景、一个完整的用例定义由参与者、前置条件、场景、后置条件构成。如图所示:后置条件构成。如图所示:UML核心元素12l用
8、例的特征:用例的特征:用例是相对独立的。用例是相对独立的。UML核心元素13l用例的特征:用例的特征:用例的执行结果对参与者来说是可观测的和有意用例的执行结果对参与者来说是可观测的和有意义的。义的。UML核心元素14l用例的特征:用例的特征:这件事必须由一个参与者发起。不存在没有参与这件事必须由一个参与者发起。不存在没有参与者的用例,用例不应该自动启动。者的用例,用例不应该自动启动。UML核心元素15l用例的特征:用例的特征:用例必然是以动宾短语形式出现的。用例必然是以动宾短语形式出现的。UML核心元素16l用例的特征:用例的特征:一个用例就是一个需求单元、分析单元、设计单一个用例就是一个需求
9、单元、分析单元、设计单元、开发单元、测试单元。下图展示了用例如何元、开发单元、测试单元。下图展示了用例如何驱动软件开发活动。驱动软件开发活动。UML核心元素17一个大系统和一个很小的系统用例粒度会有较大差一个大系统和一个很小的系统用例粒度会有较大差别。别。不论粒度如何选择,必须把握的原则是在同一个需不论粒度如何选择,必须把握的原则是在同一个需求阶段,所有用例的粒度应该是同一个量级的。求阶段,所有用例的粒度应该是同一个量级的。用例粒度的大小不是从用例包含的步骤的多少来判用例粒度的大小不是从用例包含的步骤的多少来判断的,粒度与边界有关。断的,粒度与边界有关。UML核心元素18l用例的获得:发现用例
10、的前提条件是发现参与者。用例的获得:发现用例的前提条件是发现参与者。获取用例的准备工作:获取用例的准备工作:UML核心元素参与者是位参与者是位于系统边界于系统边界之外的;之外的;参与者对系参与者对系统有着明确统有着明确的期望和明的期望和明确的回报要确的回报要求;求;参与者的期参与者的期望和回报要望和回报要求在系统边求在系统边界之内。界之内。19l用例的获得:可以通过以下问题引导业务代表:用例的获得:可以通过以下问题引导业务代表:您对系统有什么期望?您对系统有什么期望?您打算在这个系统里做些什么事情?您打算在这个系统里做些什么事情?您做这件事的目的是什么?您做这件事的目的是什么?您做完这件事情有
11、一个什么样的结果?您做完这件事情有一个什么样的结果?l在此过程中需要确保:在此过程中需要确保:一个明确的有效的目标才是一个用例的来源。一个明确的有效的目标才是一个用例的来源。一个真实的目标应当完备地表达主角的期望。一个真实的目标应当完备地表达主角的期望。一个有效的目标应当在系统边界内,由主角发动,一个有效的目标应当在系统边界内,由主角发动,并具有明确的后果。并具有明确的后果。UML核心元素20用例与功能21用例与功能n这个事物是什么?n这个事物能做什么?n人们能够用这个事物做什么?22理解用例与功能练习n请分别从功能角度和用例角度出发描述我们所熟悉的电视。n从功能角度出发,对电视的描述是能开关
12、,能显示节目,可以调频道,可以调声音,以上四者是独立的;n从用例角度出发,对电视的描述是有一个人要观看电视节目的用例,要完成这个用例,第一步需要先打开开关,调到自己喜欢的频道,如果声音不合适,可以调节一下,以上三者是因人的需求而相关起来的。23UML核心元素用例n如何理解目标与步骤的误区?假设邮局是一个目标系统,作为寄信人这样一个参与者,对邮局有着寄信的愿望。以完整目标作为用例:24UML核心元素用例n如何理解目标与步骤的误区?假设邮局是一个目标系统,作为寄信人这样一个参与者,对邮局有着寄信的愿望。如果以完成这个完整目标的步骤作为用例:25 例:有这样一个需求:例:有这样一个需求:“客户提出要
13、建立的客户提出要建立的系统界面很友好,在每个页面上都要有操作提系统界面很友好,在每个页面上都要有操作提示。示。”不存在没有参与者的用例26 例:例:“每天自动统计网页访问量,生成统计每天自动统计网页访问量,生成统计报表,并发送至管理员信箱。报表,并发送至管理员信箱。”这个需求的参这个需求的参与者是谁?与者是谁?参与者可以非人27UML核心元素边界n边界在UML图符里的定义只是一个简单的矩形框,矩形框的四个边决定了边界的内外。n边界本质上是面向对象方法的一个很重要的概念,与封装的概念师出同源。n系统边界是看不到的,与其说是系统边界,倒不如说是需求的集合。28UML核心元素边界n边界决定视界边界决
14、定视界n边界决定抽象层次边界决定抽象层次n灵活使用边界灵活使用边界n边界是无形的边界是无形的29事件驱动的用例 现在我们讨论将工作划分为用例的万无一失的方法,并继续探索构建最好产品之路。30项目启动项目启动业务事件业务事件清单清单网罗知识网罗知识风险风险承担者承担者上下文上下文范围范围编写规格编写规格说明书说明书为需求为需求作原型作原型想法和需要想法和需要潜在需求潜在需求潜潜在在需需求求做试验的需求做试验的需求已经建立起来已经建立起来的工作范围的工作范围可能太大可能太大31预测和调度预测和调度道路除冰的道路除冰的工作工作气象站气象站气象气象预报局预报局道路工程道路工程热像图热像图提供者提供者卡
15、车车库卡车车库32如何发现最合适的用例?一、理解工作 我们今天研究的任何领域的工作都有太大而难于理解的我们今天研究的任何领域的工作都有太大而难于理解的趋势。趋势。当我们说当我们说“工作工作”的时候,并不是仅仅指计算机系统,的时候,并不是仅仅指计算机系统,不管是现有系统还是期望的系统。我们指的是开展业务不管是现有系统还是期望的系统。我们指的是开展业务的整个系统。的整个系统。因为该工作的范围很大,如果试图从整体上来处理它,因为该工作的范围很大,如果试图从整体上来处理它,不仅是我们这些作为系统分析师和设计者的人不能理解不仅是我们这些作为系统分析师和设计者的人不能理解该工作,我们的顾客和用户也会没有机
16、会来向我们解释该工作,我们的顾客和用户也会没有机会来向我们解释工作。工作。通过发现工作更小的、更专门的部分,我们有更好的机通过发现工作更小的、更专门的部分,我们有更好的机会来发现用户,用户是这部分工作的专家。会来发现用户,用户是这部分工作的专家。33如何发现最合适的用例?我们需要将工作划分为小一些的部分。出于需求收集和系统分析我们需要将工作划分为小一些的部分。出于需求收集和系统分析我们需要将工作划分为小一些的部分。出于需求收集和系统分析我们需要将工作划分为小一些的部分。出于需求收集和系统分析的需要,我们寻找符合以下条件的部分:的需要,我们寻找符合以下条件的部分:的需要,我们寻找符合以下条件的部
17、分:的需要,我们寻找符合以下条件的部分:是是是是“自然的自然的自然的自然的”部分部分部分部分-它们是工作的明显的部分;它们是工作的明显的部分;它们是工作的明显的部分;它们是工作的明显的部分;与工作的其他部分的连接数目最少;与工作的其他部分的连接数目最少;与工作的其他部分的连接数目最少;与工作的其他部分的连接数目最少;有一个明确定义的范围;有一个明确定义的范围;有一个明确定义的范围;有一个明确定义的范围;有一些规则来定义它们的范围;有一些规则来定义它们的范围;有一些规则来定义它们的范围;有一些规则来定义它们的范围;有可以描述和量化的边界;有可以描述和量化的边界;有可以描述和量化的边界;有可以描述
18、和量化的边界;可以使用业务专家熟悉的名称来命名,业务专家指客户、顾可以使用业务专家熟悉的名称来命名,业务专家指客户、顾可以使用业务专家熟悉的名称来命名,业务专家指客户、顾可以使用业务专家熟悉的名称来命名,业务专家指客户、顾客和用户;客和用户;客和用户;客和用户;它们的存在可以很容易地确定;它们的存在可以很容易地确定;它们的存在可以很容易地确定;它们的存在可以很容易地确定;用户知道;用户知道;用户知道;用户知道;我们可以确定一个或多个用户,他们是这部分工作的专家。我们可以确定一个或多个用户,他们是这部分工作的专家。我们可以确定一个或多个用户,他们是这部分工作的专家。我们可以确定一个或多个用户,他
19、们是这部分工作的专家。34如何发现最合适的用例?二、用例和它们的范围 这个工作的范围必须包括预期的参与者和他要做的工作,也包括这个工作的范围必须包括预期的参与者和他要做的工作,也包括工作的相邻系统的知识。在我们为工作建立了一个令人满意的范工作的相邻系统的知识。在我们为工作建立了一个令人满意的范围之后,再将它分解为较小的部分。从这些部分中我们来确定用围之后,再将它分解为较小的部分。从这些部分中我们来确定用例。我们可以采取以下步骤:例。我们可以采取以下步骤:首先,建立工作的范围。首先,建立工作的范围。确定围绕工作的相邻系统。确定围绕工作的相邻系统。确定工作与相邻系统之间的联系。确定工作与相邻系统之
20、间的联系。从联系开始,识别影响工作的业务事件。从联系开始,识别影响工作的业务事件。研究对业务事件的响应。研究对业务事件的响应。确定组织对事件能作出的最好响应。确定组织对事件能作出的最好响应。确定产品在响应中的角色。确定产品在响应中的角色。确定产品的用例。确定产品的用例。针对每个用例导出需求。针对每个用例导出需求。35如何发现最合适的用例?三、工作 工作是客户的业务活动。工作是客户的业务活动。不管这种活动是什么不管这种活动是什么-不管它是商务的、科学的、工程的,或不管它是商务的、科学的、工程的,或其他形式的其他形式的-我们打算构建自动化产品将是一个有助于工作我们打算构建自动化产品将是一个有助于工
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件需求工程 软件 需求 工程 PPT 课件
限制150内