版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1需求模版框架需求模版框架n产品限制条件产品限制条件-适用于项目与产品的限制与适用于项目与产品的限制与局限局限1.产品的目标产品的目标2.客户、顾客和其他的风险承担者客户、顾客和其他的风险承担者3.产品的用户产品的用户4.需求限制条件需求限制条件5.命名标准和定义命名标准和定义6.相关事实相关事实7.假定假定2需求模版框架需求模版框架n功能需求功能需求-产品的功能产品的功能1.产品的范围产品的范围2.功能与数据需求功能与数据需求3需求模版框架需求模版框架n非功能需求非功能需求-产品的品质产品的品质1.观感需求观感需求2.易用性需求易用性需求3.性能需求性能需求4.操作需求操作需求5.可维护性和
2、可移植性需求可维护性和可移植性需求6.安全性需求安全性需求7.文化与政策需求文化与政策需求8.法律需求法律需求4需求模版框架需求模版框架n项目问题项目问题-适用于构建产品的项目适用于构建产品的项目1.开放式问题开放式问题2.商业上架式软件解决方案商业上架式软件解决方案3.新问题新问题4.任务任务5.迁移迁移6.风险风险7.费用费用8.用户文档用户文档9.后续版本需求后续版本需求5项目启动项目启动 一、一、在这个阶段,我们要找出对项目我们真正知道些什么? 二、并开始对项目尽早进行度量。6项目启动阶段主要目的项目启动阶段主要目的通过收集通过收集各种信息各种信息,确保确保项目可行项目可行,且,且资金
3、充足资金充足。7项目启动阶段图示项目启动阶段图示项目启动项目启动领域领域知识知识可重用可重用的需求的需求网罗知识网罗知识客户客户客户客户的的想法想法产品的产品的战略计划战略计划主要风险和主要风险和初始费用初始费用上下文上下文范围图范围图业务目标业务目标8项目启动阶段提交的产物项目启动阶段提交的产物 1、产品的目的;、产品的目的; 2、客户;、客户; 3、顾客;、顾客; 4、风险承担者;、风险承担者; 5、用户;、用户; 6、限制条件;、限制条件; 7、名称;、名称; 8、相关事实和假定;、相关事实和假定; 9、工作的范围;、工作的范围; 10、估算的费用;、估算的费用; 11、风险;、风险;
4、12、继续或终止的决定。、继续或终止的决定。9项目案例项目案例 IceBreaker项目运用各种数据来精确预测何时道路将结冰。然后它安排调度并派出卡车,在道路变得危险之前用除冰物质(一种盐类化合物)来处理道路。10IceBreaker气象站 该设备将气象和道路表面情况数据传送到产品的另一部份,在那里预测道路何时将结冰,然后派出卡车,用除冰物质处理路面。 11 IceBreaker气象站12产品目标应具备什么?大家一致同意的;大家一致同意的;清晰的;清晰的;无歧义的;无歧义的;可度量的。可度量的。13如何得到产品目标?需要从一份需要从一份用户问题用户问题或或项目背景的描述项目背景的描述开始。开始
5、。推荐格式:推荐格式: 1.产品的目标产品的目标1a.该项工作的用户问题或背景该项工作的用户问题或背景内容:内容:对引发任务的工作和情况的描述,同时也应描述用户对引发任务的工作和情况的描述,同时也应描述用户希望用提交的软件来完成的工作。希望用提交的软件来完成的工作。动机:动机:这项说明为该项目提供了合法的理由。这项说明为该项目提供了合法的理由。考虑:考虑:您应该考虑用户的问题是否严重,是否应该解决和为您应该考虑用户的问题是否严重,是否应该解决和为什么应该解决。什么应该解决。14案例背景描述(IceBreaker项目)15目标来自于-问题的解决方案问题问题解决方案解决方案优势优势可度量的可度量的
6、优势优势16案例项目目标的得出IceBreaker项目的背景描述,我们发现:项目的背景描述,我们发现:问题问题是:是: “因为道路结冰而引起的道路交通事故因为道路结冰而引起的道路交通事故”,问题的问题的解决方案解决方案是:是: “处理路面以防止结冰(如果道路已经结冰处理路面以防止结冰(如果道路已经结冰,理所当然是使冰融化),理所当然是使冰融化)。”因此,我们可以说因此,我们可以说产品的目标产品的目标是:是: “精确预报道路结冰时间并分派除冰卡车。精确预报道路结冰时间并分派除冰卡车。”17案例项目目标的业务优势因此,我们得出该产品的因此,我们得出该产品的业务优势业务优势是:是: “通过预报道路结
7、冰情况来减少道路事故。通过预报道路结冰情况来减少道路事故。”这个优势是可度量的吗?这个优势是可度量的吗?18 案例项目目标的得出是的。产品的成功可以通过事故数量的减少来度量,是的。产品的成功可以通过事故数量的减少来度量,在这些事故中,道路结冰是一个因素。在这些事故中,道路结冰是一个因素。度量度量: “因结冰而发生的事故数将低于冬季发生的事故因结冰而发生的事故数将低于冬季发生的事故数的数的15%。”19目标的合理性 “因结冰而发生的事故数将低于冬季发生的事故因结冰而发生的事故数将低于冬季发生的事故数的数的15%。”其中,其中,20目标的可行性21目标的可达成性22目标目标: “在冬季道路养护支出
8、上节省费用。在冬季道路养护支出上节省费用。”优势:优势: “减少除冰和道路养护的费用。减少除冰和道路养护的费用。”度量:度量: “除冰费用将在目前道路处理费用的基础上降低除冰费用将在目前道路处理费用的基础上降低25%,并对道路造成的损伤将降低,并对道路造成的损伤将降低50%。”23小结:目标的以下方面24 1.产品的目标产品的目标1a.该项工作的用户问题或背景(已完成)该项工作的用户问题或背景(已完成)1b.产品的目标产品的目标内容:内容:用一句话或很少的几句话来说明用一句话或很少的几句话来说明“我们希望该产品做什么?我们希望该产品做什么?”换言之,即开发该产品的真正原因。换言之,即开发该产品
9、的真正原因。动机:动机:项目如果没有一个表述清晰、易于理解的目标,就会容易项目如果没有一个表述清晰、易于理解的目标,就会容易迷失在产品开发的沙漠中。产品必须提供某种业务优势。典型的迷失在产品开发的沙漠中。产品必须提供某种业务优势。典型的优势是产品会增加组织在市场中的价值,减少运作的成本,或提优势是产品会增加组织在市场中的价值,减少运作的成本,或提供更好的顾客服务。不管是哪种优势,都应该是可度量的。开发供更好的顾客服务。不管是哪种优势,都应该是可度量的。开发该产品的优势或好处必须有某种客观的度量,首先它让您能确定该产品的优势或好处必须有某种客观的度量,首先它让您能确定该产品是否值得,其次让您能确
10、定提交的产品是否达到目标。该产品是否值得,其次让您能确定提交的产品是否达到目标。例子:例子:“我们希望对顾客通过电话下订单订购我们的产品做出立即我们希望对顾客通过电话下订单订购我们的产品做出立即和完整的响应。和完整的响应。”这个目标的度量将会表达为由于更好的响应带来这个目标的度量将会表达为由于更好的响应带来的营业额的增长,或顾客满意度调查中分数值的上升。的营业额的增长,或顾客满意度调查中分数值的上升。25请评价下面的这条业务目标26保持跟踪目标27谁为它付钱:28谁为它付钱:29谁为它付钱:30谁为它付钱:3132用户:理解他们33风险承担者和顾问34其他风险承担者35 2.客户、顾客和其他风
11、险承担者客户、顾客和其他风险承担者2a.客户是为开发付费的人,并将成为所提交产品的拥有者客户是为开发付费的人,并将成为所提交产品的拥有者内容:内容:这一项必须给出客户的姓名。有多个姓名是允许的,但是这一项必须给出客户的姓名。有多个姓名是允许的,但是如果姓名超过三个,本项就会失去意义。如果姓名超过三个,本项就会失去意义。动机:动机:客户最终将接受该产品,因此必须对提交的产品满意。如果客户最终将接受该产品,因此必须对提交的产品满意。如果产品是作为内部使用来开发的,客户和顾客的角色由相同的人来担产品是作为内部使用来开发的,客户和顾客的角色由相同的人来担当。如果您无法找到一个客户的姓名,那么也许您就不
12、应该构建该当。如果您无法找到一个客户的姓名,那么也许您就不应该构建该产品。产品。考虑:考虑:当为外部用户构建一个软件包或产品时,有时客户是市场部当为外部用户构建一个软件包或产品时,有时客户是市场部门。在这种情况下,来自于市场部门的一个人必须作为客户,并记门。在这种情况下,来自于市场部门的一个人必须作为客户,并记下姓名。下姓名。36 2.客户、顾客和其他风险承担者客户、顾客和其他风险承担者2b.顾客是将花钱购买该产品的人顾客是将花钱购买该产品的人内容:内容:对内部使用的开发来说,顾客就是最终将决定是否接受该对内部使用的开发来说,顾客就是最终将决定是否接受该产品的人,这通常是将部署该产品的部门经理
13、。给出此人的姓名。产品的人,这通常是将部署该产品的部门经理。给出此人的姓名。注意这可能与客户相同。对于大量上市销售的产品,顾客是那些注意这可能与客户相同。对于大量上市销售的产品,顾客是那些将从货架上购买产品的人。在这种情况下,应该以足够详细的方将从货架上购买产品的人。在这种情况下,应该以足够详细的方式定义目标顾客的特征,这样需求分析师可以想象顾客并据此形式定义目标顾客的特征,这样需求分析师可以想象顾客并据此形成需求。请注意,对于某些大量上市销售产品的开发工作来说,成需求。请注意,对于某些大量上市销售产品的开发工作来说,市场部门可能作为代理顾客,在这种情况下,应该确保市场人员市场部门可能作为代理
14、顾客,在这种情况下,应该确保市场人员尽可能地像最终顾客一样给出详细的描述。尽可能地像最终顾客一样给出详细的描述。动机:动机:顾客的角色将决定是否购买该产品,或是否部署它。构建顾客的角色将决定是否购买该产品,或是否部署它。构建的产品必须满足顾客的目标,同时也要满足客户的限制条件。即的产品必须满足顾客的目标,同时也要满足客户的限制条件。即使您的顾客是工作在客户组织中其他部门的人,他们还是有权决使您的顾客是工作在客户组织中其他部门的人,他们还是有权决定用还是不用新产品。定用还是不用新产品。37 2.客户、顾客和其他风险承担者客户、顾客和其他风险承担者2c.其他风险承担者其他风险承担者内容:内容:其他
15、一些人或组织的名称,他们或者受到产品的影响,或其他一些人或组织的名称,他们或者受到产品的影响,或者需要他们提供输入信息以便构建产品。者需要他们提供输入信息以便构建产品。例如:风险承担者可能包括:经理或项目;业务主题方面的专家;例如:风险承担者可能包括:经理或项目;业务主题方面的专家;技术人员;系统开发者;市场人员;产品经理;测试和质量保证技术人员;系统开发者;市场人员;产品经理;测试和质量保证人员;审查员,诸如安全审查人员或审计人员;律师;易用性专人员;审查员,诸如安全审查人员或审计人员;律师;易用性专家;您所处行业的专业人员。家;您所处行业的专业人员。同时也请检查上下文范围图中每个相邻系统。
16、在您收集需求的活同时也请检查上下文范围图中每个相邻系统。在您收集需求的活动中,可能需要有人对相邻系统做一些讲解。动中,可能需要有人对相邻系统做一些讲解。动机:动机:风险承担者对产品有要求。不能找齐所有的风险承担者会风险承担者对产品有要求。不能找齐所有的风险承担者会导致遗漏需求。导致遗漏需求。38 3.产品的用户产品的用户3a.产品的用户产品的用户内容:内容:产品的潜在用户或操作员的列表。针对每种类型的用户提产品的潜在用户或操作员的列表。针对每种类型的用户提供以下信息:供以下信息:用户分类用户分类如学校里的儿童、公路工程师,项目经理等;如学校里的儿童、公路工程师,项目经理等;用户工作的任务用户工
17、作的任务总结用户的职责;总结用户的职责;主题相关的经验主题相关的经验用户在业务方面的知识。按照新手、熟练工或用户在业务方面的知识。按照新手、熟练工或专家来评定;专家来评定;技术经验技术经验描述用户在相关技术方面的经验,按照新手、熟练工描述用户在相关技术方面的经验,按照新手、熟练工或专家来评定。或专家来评定。其他用户特征其他用户特征描述任何可能对产品需求和最终设计产生影响的描述任何可能对产品需求和最终设计产生影响的其他特征。描述诸如以下问题:身体能力其他特征。描述诸如以下问题:身体能力/障碍;智利能力障碍;智利能力/障碍;障碍;对工作的态度;对技术的态度;教育程度;语言技能;年龄段;性对工作的态
18、度;对技术的态度;教育程度;语言技能;年龄段;性别等。别等。39 3.产品的用户产品的用户3a.产品的用户产品的用户动机:动机:用户是为了完成工作而与产品交互的人。您越了解用户,用户是为了完成工作而与产品交互的人。您越了解用户,就越可能提交适合用户工作方式的产品,符合用户的隐喻和偏好。就越可能提交适合用户工作方式的产品,符合用户的隐喻和偏好。当您在确定产品的易用性需求时,应该考虑这些对用户的描述。当您在确定产品的易用性需求时,应该考虑这些对用户的描述。例子:例子:用户的来源可能很广,有时甚至想象不到。考虑您的用户用户的来源可能很广,有时甚至想象不到。考虑您的用户可能是办公室职员、商店店员、经理
19、、接受过专门训练的操作员;可能是办公室职员、商店店员、经理、接受过专门训练的操作员;普通公众;随意的用户;过路人;文盲;手工艺人;学生;测试普通公众;随意的用户;过路人;文盲;手工艺人;学生;测试工程师;外国人;儿童;律师;远程用户;用过电话线或因特网工程师;外国人;儿童;律师;远程用户;用过电话线或因特网使用该产品的人,救险工作人员等,几乎任何人都可以成为用户。使用该产品的人,救险工作人员等,几乎任何人都可以成为用户。40 3.产品的用户产品的用户3b.对用户设的优先级对用户设的优先级内容:内容:在每类用户后面附上一个优先级,这区别了用户的重要性在每类用户后面附上一个优先级,这区别了用户的重
20、要性和优先地位。按以下优先级划分用户:和优先地位。按以下优先级划分用户:关键用户关键用户这些用户是对产品的后续成功至关重要的。给由这这些用户是对产品的后续成功至关重要的。给由这类用户提出的需求更高的优先级;类用户提出的需求更高的优先级;次要用户次要用户他们将使用该产品,但他们的意见对产品的长期成他们将使用该产品,但他们的意见对产品的长期成功并无影响。如果次要用户的需求和关键用户的需求发生冲突,功并无影响。如果次要用户的需求和关键用户的需求发生冲突,应该优先考虑关键用户的需求。应该优先考虑关键用户的需求。不重要用户不重要用户这类用户的优先级是最低的。这包括不常用的、这类用户的优先级是最低的。这包
21、括不常用的、未授权的和没有技能的用户,以及误用了该产品的用户。(这种未授权的和没有技能的用户,以及误用了该产品的用户。(这种类型的用户所占的百分比,目的是评估对这类用户要考虑多少)类型的用户所占的百分比,目的是评估对这类用户要考虑多少)41 3.产品的用户产品的用户3b.对用户设的优先级对用户设的优先级动机:动机:如果认为某些用户对产品或组织更重要,那么应该写明,如果认为某些用户对产品或组织更重要,那么应该写明,因为这会影响您设计该产品的方式。例如:您需要知道,是否有因为这会影响您设计该产品的方式。例如:您需要知道,是否有一个很大的顾客曾经特别询问过该产品,并且如果他们得不到想一个很大的顾客曾
22、经特别询问过该产品,并且如果他们得不到想要的东西,结果会造成严重的业务损失。要的东西,结果会造成严重的业务损失。某些用户可能被列为对产品没有重要影响,这表示这些用户会使某些用户可能被列为对产品没有重要影响,这表示这些用户会使用该产品,但在产品中的没有被赋予利益。换言之,这些用户不用该产品,但在产品中的没有被赋予利益。换言之,这些用户不会抱怨,也不会对产品作出什么贡献。来自于这些用户的任何特会抱怨,也不会对产品作出什么贡献。来自于这些用户的任何特殊需求都只有较低的设计优先级。殊需求都只有较低的设计优先级。42需求限制条件43 4.需求限制条件需求限制条件4a.解决方案的限制条件解决方案的限制条件
23、内容:内容:此处明确了限制条件,它们规定了解决问题必须采取的方此处明确了限制条件,它们规定了解决问题必须采取的方式。您可以认为它们的指令性的解决方案。仔细描述该解决方案,式。您可以认为它们的指令性的解决方案。仔细描述该解决方案,以及测试是否符合的度量标准。如果可能,您应该解释使用该解以及测试是否符合的度量标准。如果可能,您应该解释使用该解决方案的原因。决方案的原因。动机:动机:动机是确定必须成为最终产品一部分的限制条件。出于某动机是确定必须成为最终产品一部分的限制条件。出于某些原因,您的客户、顾客或用户可能有一些设计偏好。如果不满些原因,您的客户、顾客或用户可能有一些设计偏好。如果不满足这些偏
24、好,您的解决方案将不会被接受。足这些偏好,您的解决方案将不会被接受。例子:例子:“产品必须使用目前的双向无线电系统与卡车中的驾驶员产品必须使用目前的双向无线电系统与卡车中的驾驶员通信。通信。”、”产品必须使用产品必须使用Windows NT操作系统操作系统”、”产品必须产品必须是一个手持设备。是一个手持设备。”44 4.需求限制条件需求限制条件4a.解决方案的限制条件解决方案的限制条件考虑:考虑:我们希望定义一个边界,在此边界范围内我们可以解决问我们希望定义一个边界,在此边界范围内我们可以解决问题。请注意,任何人如果有在某项技术方面的经验,都会倾向于题。请注意,任何人如果有在某项技术方面的经验
25、,都会倾向于以该项技术的角度看需求。这种倾向性导致人们出于错误的原因以该项技术的角度看需求。这种倾向性导致人们出于错误的原因强加一些解决方案限制条件,假定限制条件很容易就潜入到需求强加一些解决方案限制条件,假定限制条件很容易就潜入到需求规格说明书中。如果您强加了一些限制条件,带来的危险性就是规格说明书中。如果您强加了一些限制条件,带来的危险性就是您将失去得到问题的最佳解决方案的自由。解决方案限制条件应您将失去得到问题的最佳解决方案的自由。解决方案限制条件应该只限于那些绝对不可能商榷的解决方案。该只限于那些绝对不可能商榷的解决方案。45 4.需求限制条件需求限制条件4b.实现环境实现环境。此处描
26、述产品将被实施的技术环境和物理环境,。此处描述产品将被实施的技术环境和物理环境,包括自动的、机械的、组织的和其他设备。这包括了非人力相邻包括自动的、机械的、组织的和其他设备。这包括了非人力相邻系统。系统。4c.伙伴应用。伙伴应用。此处描述那些不属于产品的一部分的应用程序,但此处描述那些不属于产品的一部分的应用程序,但产品必须与这些应用程序协作。产品必须与这些应用程序协作。4d.商业上架销售软件。商业上架销售软件。此处描述实现产品需求必需使用的此处描述实现产品需求必需使用的COTS。4e.预期的工作场地环境。预期的工作场地环境。此处描述用户工作和使用该产品的工作此处描述用户工作和使用该产品的工作
27、场地。此处描述任何可能对产品设计产生影响的工作场地特征。场地。此处描述任何可能对产品设计产生影响的工作场地特征。4f.开发者构建该产品需要多长时间。开发者构建该产品需要多长时间。最后期限或商业机会的时限最后期限或商业机会的时限。4g.该产品的财务预算是多少。该产品的财务预算是多少。以金钱的形式或可得资源的形式说以金钱的形式或可得资源的形式说明。明。46词汇表-数据字典的基础47词汇表48词汇表49 5.命名标准和定义命名标准和定义定义项目中使用到的所有术语,包括同义词。定义项目中使用到的所有术语,包括同义词。内容:内容:一个字典,包括在需求规格说明书中使用的所有名称的含一个字典,包括在需求规格
28、说明书中使用的所有名称的含义。这个字典应该使用您的组织或行业使用的标准名称。这些名义。这个字典应该使用您的组织或行业使用的标准名称。这些名称也应该反映出在工作领域中当前使用的术语。该字典包括项目称也应该反映出在工作领域中当前使用的术语。该字典包括项目中用到的所有重要名称。请仔细地选择名称,以避免传达不同的中用到的所有重要名称。请仔细地选择名称,以避免传达不同的、不期望的含义。为每个名字写下简明扼要的定义,这些定义必、不期望的含义。为每个名字写下简明扼要的定义,这些定义必须经过相应的风险承担者同意。须经过相应的风险承担者同意。动机:动机:名称十分重要,它们能反映含义。如果定义得好,可以省名称十分
29、重要,它们能反映含义。如果定义得好,可以省掉数小时的解释。在项目的这个阶段注意名称将有助于尽早澄清掉数小时的解释。在项目的这个阶段注意名称将有助于尽早澄清误解。在需求阶段得到的字典将在整个项目中使用并不断补充。误解。在需求阶段得到的字典将在整个项目中使用并不断补充。例子:例子:除冰卡车除冰卡车在冬季,将除冰物质散布到道路上的运输工具在冬季,将除冰物质散布到道路上的运输工具50ATM案例的数据词典(供参考):案例的数据词典(供参考):n账户:某银行的单个账户,交易要依靠账户来进账户:某银行的单个账户,交易要依靠账户来进行。账户可以有许多不同的种类,例如经常账户行。账户可以有许多不同的种类,例如经
30、常账户和储蓄账户。一个客户可以持有多个账户。和储蓄账户。一个客户可以持有多个账户。nATM:允许客户使用现金卡作为身份证明来进:允许客户使用现金卡作为身份证明来进行交易的柜台。行交易的柜台。ATM与客户进行交互,收集交与客户进行交互,收集交易信息,给中心计算机发送交易信息进行校验和易信息,给中心计算机发送交易信息进行校验和处理,给用户支付现金。我们假定处理,给用户支付现金。我们假定ATM不需要不需要独立于网络运转。独立于网络运转。n银行:拥有客户账户的金融机构,发放现金卡,银行:拥有客户账户的金融机构,发放现金卡,通过通过ATM网络授权访问帐户。网络授权访问帐户。51设定范围52设定范围53影
31、响范围设定的因素:产品目标和其他限制条件54影响范围设定的因素:感兴趣的领域55背景描述56设定工作上下文范围57设定工作上下文范围58 8.产品的范围产品的范围内容:内容:上下文范围图确定了为了构建该产品您需要调查的工作。上下文范围图确定了为了构建该产品您需要调查的工作。请注意这包括的范围超出了目标产品。如果我们不了解产品将支请注意这包括的范围超出了目标产品。如果我们不了解产品将支持的工作,就很少有机会构建能与它的环境无缝集成的产品。上持的工作,就很少有机会构建能与它的环境无缝集成的产品。上下文范围图说明了需要理解的其他主题相关的领域(系统、人下文范围图说明了需要理解的其他主题相关的领域(系
32、统、人和组织)。相邻系统与工作上下文范围之间的接口说明了为什么和组织)。相邻系统与工作上下文范围之间的接口说明了为什么我们对相邻系统有兴趣。我们对相邻系统有兴趣。动机:动机:动机是清楚地定义我们打算研究的工作的边界。工作活动动机是清楚地定义我们打算研究的工作的边界。工作活动与相邻系统之间的信息流精确地定义了工作系统的职责和相邻系与相邻系统之间的信息流精确地定义了工作系统的职责和相邻系统的职责。统的职责。59卡车车库卡车车库预测和调度预测和调度道路除冰的道路除冰的工作工作气象站气象站气象气象预报局预报局道路工程道路工程热像图热像图提供者提供者60该产品的成本会是多少?61风险62风险63继续还是
33、终止?64启动会议替代方案65小结66用例-需求获取的有效方法67建模公式681.整个软件过程就是用例驱动的。用例驱动软件生产整个软件过程就是用例驱动的。用例驱动软件生产过程是非常有道理的。过程是非常有道理的。2.要解决问题领域就要归纳出所有必要的要解决问题领域就要归纳出所有必要的抽象角度抽象角度(用例(用例),为这些用例描述可能的特定),为这些用例描述可能的特定场景场景,并找,并找到实现这些场景的到实现这些场景的事物、规则、行为事物、规则、行为。再换个说法,。再换个说法,如果我们找到的那些事物、规则、行为实现了所有如果我们找到的那些事物、规则、行为实现了所有必要的用例,那么问题领域就解决了。
34、总之,必要的用例,那么问题领域就解决了。总之,实现实现用例是必须做用例是必须做的工作,一旦用例实现了,问题领域的工作,一旦用例实现了,问题领域就解决了。这就是就解决了。这就是用例驱动方法的原理用例驱动方法的原理。用例驱动69只见树木 不见森林。UML。(建模)。70。UML。系统软件过程软件过程站在软件过程的角度站在软件过程的角度71为什么需要UML?提到UML我们必须先搞清楚一个问题72你赞同以下哪几种说法?1.面向对象是现代科学发展到一定程度才出现的研究成果;面向对象是现代科学发展到一定程度才出现的研究成果;2.面向过程和面向对象都是一种软件技术;面向过程和面向对象都是一种软件技术;3.面
35、向过程和面向对象是一个古已有之的认识论的问题;面向过程和面向对象是一个古已有之的认识论的问题;4.世界的本质是由对象组成的,平时看上去相互无关的独立对象世界的本质是由对象组成的,平时看上去相互无关的独立对象 在不在不同的驱动力下和规则下体现出不同的运动过程;同的驱动力下和规则下体现出不同的运动过程; 5.世界的一切都不是孤立的,它们相互紧密联系在一起,缺一不可,世界的一切都不是孤立的,它们相互紧密联系在一起,缺一不可,相互影响,相互作用,并形成一个个具有严格因果律的小系统,而相互影响,相互作用,并形成一个个具有严格因果律的小系统,而更小的系统组成了更大的系统,所有小系统之间的联系也是紧密不更小
36、的系统组成了更大的系统,所有小系统之间的联系也是紧密不可分割的。可分割的。6.面向对象方法具有更强大的抽象能力。面向对象方法具有更强大的抽象能力。7.UML是面向对象方法的具体化和符号。是面向对象方法的具体化和符号。8.学习学习UML的过程就是掌握面向对象思想和方法的过程。的过程就是掌握面向对象思想和方法的过程。9.相对学习相对学习UML符号而言掌握它们背后的方法和思想是更为重要的;符号而言掌握它们背后的方法和思想是更为重要的;10. 面向过程和面向对象都是人们认识世界的方法。面向过程和面向对象都是人们认识世界的方法。11. 面向对象就是指使用一系列面向对象程序设计语言的软件开发方法。面向对象
37、就是指使用一系列面向对象程序设计语言的软件开发方法。 73。UML。系统面向对象还是面向过程?软件过程软件过程74什么是面向对象?(Object Oriented,简称OO) 面向对象软件开发方法描述和理解问面向对象软件开发方法描述和理解问题域的基本思想是,对问题域进行自然分题域的基本思想是,对问题域进行自然分割,以更接近人类思维的方式建立问题域割,以更接近人类思维的方式建立问题域模型,从而使生产出的软件尽可能直接地模型,从而使生产出的软件尽可能直接地描述现实世界,具有更好的可维护性,能描述现实世界,具有更好的可维护性,能适应用户需求的变化。适应用户需求的变化。75什么是面向对象?(Objec
38、t Oriented,简称OO) 面向对象建模与设计面向对象建模与设计是使用真实世界是使用真实世界的概念模型来思考问题的一种方法。其基的概念模型来思考问题的一种方法。其基本元素是本元素是“对象对象”。 对象既包含数据结构,又包含行为。对象既包含数据结构,又包含行为。对于理解问题、与应用领域专家交流、建对于理解问题、与应用领域专家交流、建模企业级应用、编写文档、设计程序和数模企业级应用、编写文档、设计程序和数据库来说,面向对象模型都非常有用。据库来说,面向对象模型都非常有用。76什么是面向对象?(Object Oriented,简称OO) 对于软件来说,面向对象这个术语的意对于软件来说,面向对象
39、这个术语的意思是,把软件组织成一系列离散的、合并思是,把软件组织成一系列离散的、合并了数据结构和行为的对象。了数据结构和行为的对象。 77OO方法的几个特征 1.标识:意指数据被量化成称为对象(object)的离散的、可辨识的实体。 在真实世界中,对象只是一种简单的存在,但在编程语言中,每个对象都有一个唯一的句柄,借助这个句柄就可以引用对象。 78OO方法的几个特征 2.分类:指的是有着相同的数据结构(属性)和行为(操作)的对象被分组为一个类。 类(class)是什么?答:A)是一种抽象;B)是单个对象组成的无限集合; 79每个对象都是该类的一个实例(instance) 自行车对象自行车对象
40、抽象成-自行车类自行车类Mike的自行车属性属性Brian的自行车 车架尺寸Mary的自行车 车轮尺寸 齿轮数 材料操作操作 变速 移动 修理80再一个例子 多边形对象多边形对象 抽象成-多边形类多边形类属性属性 顶点 边界颜色 填充颜色 操作操作 绘制 擦除 移动81OO方法的几个特征 3.继承:指的是多个类基于一种分层关系,共享类间属性和操作(合称特征)。父类(super-class)拥有子类(subclass)要精炼和详细指定的通用信息。子类不需要重复其父类的特征。 82OO方法的几个特征 4.多态:是指对于不同的类来说,相同的操作会有不同的动作。操作是对象执行或被执行的一个过程或转换。
41、 83 OO主题 有几个主题在OO方法中无处不在。尽管这几个主题并不是OO系统所特有的,但OO系统对他们的支持却极为出色。84 OO主题-1.抽象 抽象(抽象(abstraction)使我们可以专注于应)使我们可以专注于应用程序最本质的那些方面,同时忽略细节。这意用程序最本质的那些方面,同时忽略细节。这意味着在确定如何实现功能之前,要先关注对象是味着在确定如何实现功能之前,要先关注对象是什么,做了什么。使用抽象机制,可以避免不成什么,做了什么。使用抽象机制,可以避免不成熟的细节承诺。对于熟的细节承诺。对于OO开发来说,抽象的能力是开发来说,抽象的能力是最重要的一项技能。最重要的一项技能。85
42、OO主题-2.封装 封装(封装(encapsulation)将对象的外部因素)将对象的外部因素(可以被其他对象访问)与内部实现细节(其他对(可以被其他对象访问)与内部实现细节(其他对象不可见)分离开来。封装阻止程序的组成部分过象不可见)分离开来。封装阻止程序的组成部分过于依赖,如果那样的话,很小的变化也会引起巨大于依赖,如果那样的话,很小的变化也会引起巨大的涟漪效应。的涟漪效应。 封装不是封装不是OO语言所特有的,但将数据结构和行语言所特有的,但将数据结构和行为组织在一个实体中,这样的封装比以前的语言为组织在一个实体中,这样的封装比以前的语言-例如例如Fortran、Cobol和和C更干净、更
43、有力。更干净、更有力。86 OO主题-3.共享 OO方法有利于不同层次上的共享。方法有利于不同层次上的共享。继承数据结构和行为使得子类可以共享通继承数据结构和行为使得子类可以共享通用代码。通过继承完成共享是用代码。通过继承完成共享是OO语言的语言的一个主要的优点。比节省代码量更重要的一个主要的优点。比节省代码量更重要的是概念的清晰性,认识到不同的操作实行是概念的清晰性,认识到不同的操作实行的实际上都是相同的事。这样就减少了必的实际上都是相同的事。这样就减少了必须理解和分析的不同情形的数量。须理解和分析的不同情形的数量。87 OO主题-4.强调对象的本质 OO方法强调对象是什么,而不是如何使用方
44、法强调对象是什么,而不是如何使用它。对象的用法依赖于应用程序的细节,经常会它。对象的用法依赖于应用程序的细节,经常会在开发过程中发生变化。随着需求的演化,对象在开发过程中发生变化。随着需求的演化,对象提供的特征会比使用它的方法来得更加稳定,因提供的特征会比使用它的方法来得更加稳定,因此,构建在对象结构上的软件系统最终也会比较此,构建在对象结构上的软件系统最终也会比较稳定。与功能分解方法学相比,稳定。与功能分解方法学相比,OO开发在数据开发在数据结构上投入了较大精力,而较少关注过程结构。结构上投入了较大精力,而较少关注过程结构。88 OO主题-5.协同(synergy) 标识、分类、多态和继承都
45、是标识、分类、多态和继承都是OO语言的特语言的特色。这些概念中的每一个都可以分开使用,但结色。这些概念中的每一个都可以分开使用,但结合在一起,它们就会互相促进,互为补充。强调合在一起,它们就会互相促进,互为补充。强调对象的基本特性会迫使开发者更加仔细和深入地对象的基本特性会迫使开发者更加仔细和深入地思考对象是什么,做了些什么。这与关注重心只思考对象是什么,做了些什么。这与关注重心只在数据和操作上的用法相比,前者所生成的最终在数据和操作上的用法相比,前者所生成的最终系统会更加干净、更加通用和更加健壮。系统会更加干净、更加通用和更加健壮。89 关于OO开发有效性的证据 OO开发工作开始于开发工作开
46、始于GE研发中心的内部应研发中心的内部应用程序。开发者用用程序。开发者用OO来开发编译器、图形、用来开发编译器、图形、用户界面、数据库、户界面、数据库、oo语言、语言、CAD系统、元模型、系统、元模型、控制系统以及其他一些应用。控制系统以及其他一些应用。OO模型还被用于模型还被用于评述结构不良、难以理解的程序。评述结构不良、难以理解的程序。 自从自从20世纪世纪90年代中期以来,年代中期以来,OO从从GE扩展扩展到了全世界。现在,到了全世界。现在,OO不能被认为是一种时髦不能被认为是一种时髦的或是一种纯理论的方法了,它已经是计算机科的或是一种纯理论的方法了,它已经是计算机科学和软件工程的主流。
47、学和软件工程的主流。901.抽象层次抽象层次是面向对象方法中极其重要且非常是面向对象方法中极其重要且非常难以把握的技巧;难以把握的技巧;2.要想建立好模型,就需学会站在不同的抽象要想建立好模型,就需学会站在不同的抽象层次考虑问题。层次考虑问题。3.抽象层次越高,被屏蔽(或者说封装)的信抽象层次越高,被屏蔽(或者说封装)的信息也就越多,信息量越少也就越容易理解和息也就越多,信息量越少也就越容易理解和处理。处理。抽象层次91统一过程一般抽象层次921.什么时候选择什么样的层次以及总共什么时候选择什么样的层次以及总共抽象多少层?抽象多少层?-用例粒度用例粒度2.抽象层次与边界的选择总是相生相伴抽象层
48、次与边界的选择总是相生相伴-边界边界抽象层次相关的问题931.视图是视图是UML建模中另一个非常重要的概念;建模中另一个非常重要的概念;2.视图用于组织视图用于组织UML元素,表达出模型某一方面的含义,元素,表达出模型某一方面的含义,视图的准确应用是建立好模型的一个重要组成部分;视图的准确应用是建立好模型的一个重要组成部分;3.目标对象的每一个属性都是它的一个视图。例如:汽车的目标对象的每一个属性都是它的一个视图。例如:汽车的大小、重量、外观、性能、安全等。大小、重量、外观、性能、安全等。4.只有将必要的方面都用视图展现出来,观察者才会真正理只有将必要的方面都用视图展现出来,观察者才会真正理解
49、这个事物。解这个事物。5.UML里定义了用例图、类图、对象图、包图、活动图等里定义了用例图、类图、对象图、包图、活动图等不同的视图。不同的视图。何谓视图?941.观察者会抱怨视图给出的信息不是很清晰;观察者会抱怨视图给出的信息不是很清晰;2.希望从更多的角度来查看事物的信息。希望从更多的角度来查看事物的信息。3.这就引出了视图中另一个被很多人忽视的概念这就引出了视图中另一个被很多人忽视的概念- 视角视角给出事物所有属性的视图就足够了吗?951.不同的人或者同一个人出于不同的目的会对不同的人或者同一个人出于不同的目的会对同一个信息从不同的角度来审视和评估;同一个信息从不同的角度来审视和评估;2.
50、不同的角度展示了同样信息的不同认知角度不同的角度展示了同样信息的不同认知角度以便于理解。例如:汽车的外观视图。以便于理解。例如:汽车的外观视图。视角:是人们观察事物的角度961.适当的视角适当的视角给给适当的人。适当的人。2.软件干系人很多,有客户、系统分析员、架构软件干系人很多,有客户、系统分析员、架构师、设计师、开发人员、测试人员、项目经理师、设计师、开发人员、测试人员、项目经理等,他们对同样信息的审视角度是不同的。等,他们对同样信息的审视角度是不同的。3.错误的选择视角常常导致需求改来改去难以确错误的选择视角常常导致需求改来改去难以确定。定。恰当的视角971.为特定的信息选择正确的视图;
51、为特定的信息选择正确的视图;2.为特定的干系人展示正确的视角。为特定的干系人展示正确的视角。也就是要经常思考下面两个问题:也就是要经常思考下面两个问题:1.应该为哪些软件信息绘制哪些视图?应该为哪些软件信息绘制哪些视图?2.应该为哪些干系人展示哪些视角?应该为哪些干系人展示哪些视角?视图和视角对建立一个好的模型很重要981.一切都是对象;一切都是对象;2.对象都是独立的;对象都是独立的;3.对象都具有原子性;对象都具有原子性;4.对象都是可抽象的;对象都是可抽象的;5.对象都有层次性。对象都有层次性。对象分析方法99对象的独立性100对象分析方法总结1011.构造类型(构造类型(stereot
52、ype)2.参与者参与者3.用例用例4.边界边界5.业务实体业务实体6.包包7.分析类分析类8.设计类设计类9.关系关系10.组件组件11.节点节点UML核心元素1021.构造类型(构造类型(stereotype):l也称为版型、类型。也称为版型、类型。l概念:是对一个概念:是对一个UML元素基础定义的扩展,在元素基础定义的扩展,在同一个元素基础定义的基础上赋予特别的含义,同一个元素基础定义的基础上赋予特别的含义,使得这个元素适用于特定的场合。例如:用例使得这个元素适用于特定的场合。例如:用例的构造类型有的构造类型有“业务用例业务用例”、“业务用例实现业务用例实现”等;等;“类类”有有“边界类
53、边界类”、“实体类实体类”、“控控制类制类”等。等。l意义:构造类型只是意义:构造类型只是UML的一种扩展手段,是的一种扩展手段,是在建模的不同阶段区分视图的不同点。例如:在建模的不同阶段区分视图的不同点。例如:“业务用例业务用例”就是专门应用在业务建模场合的。就是专门应用在业务建模场合的。构造类型也可以自己定义。构造类型也可以自己定义。UML核心元素1032. 参与者(参与者(actor):l定义:定义:actor是在系统之外与系统交互的是在系统之外与系统交互的某人或某事物。如图所示:某人或某事物。如图所示:UML核心元素参与者参与者位于边位于边界之外;界之外;参与者参与者可以非可以非人。人
54、。104l发现参与者:参与者的一个重要来源是涉众,从涉众中找发现参与者:参与者的一个重要来源是涉众,从涉众中找出那些出那些直接对系统发出动作直接对系统发出动作,或,或直接从系统中接收反馈直接从系统中接收反馈的的涉众。在查找参与者的过程中,可以询问以下问题以帮助涉众。在查找参与者的过程中,可以询问以下问题以帮助确定参与者:确定参与者:谁负责提供、使用或删除信息?谁负责提供、使用或删除信息?谁将使用此功能?谁将使用此功能?谁对某个特定功能感兴趣?谁对某个特定功能感兴趣?在组织中的什么地方使用系统?在组织中的什么地方使用系统?谁负责支持和维护系统?谁负责支持和维护系统?系统有哪些外部资源?系统有哪些
55、外部资源?其他还有哪些系统将需要与该系统进行交互?其他还有哪些系统将需要与该系统进行交互?UML核心元素105l参与者一定是参与者一定是直接直接并且并且主动地主动地向系统发向系统发出动作并出动作并获得反馈获得反馈的,否则就不是参与的,否则就不是参与者。者。UML核心元素106业务主角(业务主角(busuness actor):是参与者的一):是参与者的一个构造类型,特别用于定义业务的参与者,在需个构造类型,特别用于定义业务的参与者,在需求阶段使用。业务主角是与业务系统有着交互的求阶段使用。业务主角是与业务系统有着交互的人和事物,他们用来确定业务范围。业务主角的人和事物,他们用来确定业务范围。业
56、务主角的特殊性在于它针对的是业务人员而非计算机用户。特殊性在于它针对的是业务人员而非计算机用户。业务工人(业务工人(business worker):处于系统边界):处于系统边界内,被动地参与了业务的执行过程。业务工人不内,被动地参与了业务的执行过程。业务工人不是参与者。是参与者。UML核心元素107l参与者与其他成员的关系参与者与其他成员的关系参与者与涉众(项目干系人、相关方):参与者参与者与涉众(项目干系人、相关方):参与者是涉众代表,是涉众代表,他们的要求就是系统需求的来源;他们的要求就是系统需求的来源;参与者与用户(参与者与用户(user):用户是系统的使用者。):用户是系统的使用者。
57、用户是参与者的代表,或者说是参与者的实例或用户是参与者的代表,或者说是参与者的实例或代理。并非所有的参与者都是用户。代理。并非所有的参与者都是用户。参与者与角色(参与者与角色(role):角色是参与者的职责,):角色是参与者的职责,角色是一个抽象的概念,从众多参与者的职责中角色是一个抽象的概念,从众多参与者的职责中抽象出相同的那一部分,将其命名形成一个角色。抽象出相同的那一部分,将其命名形成一个角色。一个角色代表了系统的一类职责。由于一个用户一个角色代表了系统的一类职责。由于一个用户可以代理多个参与者,因此一个用户可以拥有多可以代理多个参与者,因此一个用户可以拥有多个职责,也就是可以被指定多个角色。个职责,也就是可以被指定多个角色。UML核心元素108l参与者、涉众、和角色的关系参与者、涉众、和角色的关系UML核心元素1093. 用例(用例(Use Case)l基本概念:官方文档对用例是这样定义的:用例定基本概念:官方文档对用例是这样定义的:用例定义了一组用例实例,其中每个实例都是系统所执行义了一组用例实例,其中每个实例都是系统所执行的一系列操作,这些操作生成特定主角可以观测的的一系列操作,这些操作生成特定主角可以观测的值。值。l一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 模拟试题一及答案
- 莲子深加工建设项目可行性研究报告
- 专题19+主题范文引领-【同步作文课】2024-2025学年七年级语文上册单元写作深度指导(统编版2024)
- 模块二 第3讲 冠词
- 武汉市2026年高三3月份模拟考试语文试题含解析
- 东盟跨境数字火龙果输华包装厂注册线上年审定位核查-基于越南平顺省台账实证
- 保山市隆阳区2025届数学四下期末学业水平测试模拟试题含答案
- ISOIEC 15944-162023 信息技术.业务操作视图.第16部分ISOIEC 15944业务操作视图标准及其IT实现中确定的一套统一规则和指南标准立项发展报告
- 国民经济-运动休闲针织服装制造行业(2025年)分析报告
- 国民经济-烟叶复烤行业(2025年)分析报告
- 2026贵州能源集团有限公司第一批综合管理岗招聘41人(公共基础知识)测试题附答案解析
- DB61∕T 1399-2020 公共机构能耗定额
- 建筑装饰基本知识培训课件
- 成都设计咨询集团有限公司2025年社会公开招聘(19人)笔试参考题库附带答案详解(10套)
- 医院智慧管理分级评估标准体系(试行)-全文及附表
- T/CAQI 40-2018直饮水水站安全技术要求
- 涉密文件印制协议书
- IVUS相关知识考核试题及答案
- 班组培训与人才培养方案
- DB14-T 3223-2024 产业规划类专利导航项目质量要求
- GB/T 18281.1-2024医疗保健产品灭菌生物指示物第1部分:通则
评论
0/150
提交评论