《软件工程》总结——第七章

本章的主要内容是面向对象分析

分析的概念

  分析类

在分析对象模型中,分析类是概念层次上的内容,用于描述系统中较高层次的对象。从软件的功能需求来看,分析类可以划分为:1. 实体类:表示系统存储和管理的永久信息;2. 边界类:表示参与者与系统之间的交互;3. 控制类:表示系统在运行过程中的业务控制逻辑。

分析活动

首先,开发人员进一步理解最初的用例模型和词汇表,识别出系统的分析类;其次,通过建立系统的顺序图发现可能遗漏的对象类,并定义分析类的重要属性和行为,确定分析类之间的关系,从而得到进一步细化的分析模型;最后,开发人员和用户一起检查模型,保证模型的正确、一直、完整和可行。分析过程是一个循环渐进的过程,识别分析类和细化分析模型不是一蹴而就的,需要多次的循环迭代出现。

识别分析类

识别边界类

通常,一个参与者与一个用例之间的交互或通信关联对应一个边界类。边界类收集来自参与者的信息,这些信息可以被实体类和控制类使用。识别边界类应注意以下问题:1. 边界类应关注于参与者与用例之间交互的信息或者响应的事件,不要描述窗口组件等界面的组成元素;2. 在分析阶段,力求使用用户的术语描述界面;3. 边界类实例的生命周期不限于用例的事件流,如果两个用例同时与一个参与者交互,那么它们有可能会共用一个边界类,以便增加边界类的复用性。

识别控制类

控制类负责协调边界类和实体类,通常在现实世界中没有对应的事物,它负责接收边界类的信息,并将其分发给实体类。控制类与用例存在着密切的关系,他在用例开始执行时创建,再用例结束时取消。识别控制类应当注意以下问题:1. 当用例比较复杂时,特别是在产生分支事件流的情况下,一个用例可以有多个控制类;2. 在有些情况下,用例事件流的逻辑结构十分简单,这时没有必要使用控制类,边界类可以实现用例的行为,例如,MiniLibrary 系统中的用例“登陆”就属于这种情况;3. 如果不同用例半酣的任务之间存在着比较密切的联系,则这些用例可以使用一个控制类,其目的是复用相似部分以便降低复杂性。通常情况下,应该按照一个用例对应一个控制类的方法识别出多个控制类,在分析这些控制类找出它们之间的共同之处。

识别实体类

实体类通常是用例中的参与对象,对应着现实世界中的“事物”。识别实体类需要开发人员进一步理解应用领域,可以通过分析用例描述和词汇表等发现备选的实体对象。启发分析人员发现实体类的因素包括以下几点:人员、组织、物品、设备、时间和表格。识别实体类开发应该注意的问题如下:1. 实体类的识别质量很大程度上取决于分析人员书写文档的风格和质量;2. 自然语言是不精确的,因此在分析自然语言描述时,应该尽量使描述文档中的一些措辞规范化,以弥补这种不足;3. 在自然语言描述中,名词可以对应类、属性或同义词等多种类型,开发人员需要花费大量的时间进行筛选。

定义交互行为

顺序图可以将用例和分析对象联系在一起,实现将用例的行为分配到所识别的分析类中,并且帮助开发人员发现和补充前面遗漏的分析类。顺序图可以结合一下步骤绘制:1. 列出启动该用例的参与者;2. 列出启动用例时参与者使用的边界对象;3. 列出管理该用例的控制对象;4. 根据用例描述的所有流程,按时间顺序列出分析对象之间进行消息访问的序列。绘制用例图需要注意一下问题:1. 用例的事件流包含一个基本流和若干个备选流,通常对于基本流和每一个备选流都要分别绘制一个顺序图;2. 在备选流过于简单的情况下,可以将其与基本流合并在一个顺序图中;3. 在一个事件序列过于复杂的情况下,应该考虑在时间维度上将其分为多个顺序图;4. 在顺序图中,实体对象一般不访问边界对象和控制对象。

建立分析类图

定义关系和属性

对于每一个分析类,可以从以下方面考虑并发现分析类的属性:1. 按照一般常识,找出对象的某些属性,如人员的姓名、性别等;2. 认真研究问题域,找出对象的某些属性,如商品的条形码和学生的学生号等;3. 根据系统责任的要求,找出独享的某些属性;4. 考虑对象需要系统保存和管理的信息,找出对象的相应属性,如“课程”需要保存和管理的信息;5. 对象为了在服务中实现其功能,需要增设一些属性;6. 识别对象需要区别的状态,考虑是否需要增加一个属性来区别这些状态;6. 确定属性表示整体与部分结构和是实例连接。

      分析模型应用

分析模型是描述在系统业务领域发现的通用部分,提高复合性和一致性。

评审分析模型

1. 检查“正确性”的问题列表;2. 检查“完整性”的问题列表;3. 检查“一致性”的问题列表;4. 检查“一致性”的问题列表。

时间: 2024-10-20 12:33:44

《软件工程》总结——第七章的相关文章

软件工程 六、七章读书笔记

第六章 在第六章中主要是介绍了Scrum的方法论,在此方法的理论中,其原则主要强调了一个团队的互动互助的开发过程,重点强调了在一个项目里,一个团队是如何通过沟通产生进步,且这个沟通绝不是说有通信便可称之为“沟通”了,而是要有面对面的实时交流,虽然现在的通讯方式早已变得十分强大,但面对面的沟通仍是最有效率的交流方式,故而在此基础上又提出了一个新的团队合作活动——“每日立会”,这是在Sprint中我认为是十分有效的一个活动,将问题摆在明面上,大家互相了解各自的进度,一起解决项目中的问题,持续更新团队

软件工程概论第七章--面向对象分析

本章主要讲了面向对象分析,从分析的概念.识别分析类.定义交互行为.建立分析类图和评审分析模式几个方面展开讲述.面向对象分析模型由三个独立模型,功能模型.分析对象模型.动态模型. 分析的概念中主要讲了分析类与分析活动,分析类用于描述系统中较高层次的对象,从软件功能需求来看能划分为实体类.边界类和控制类.分析活动把需求获取阶段产生的用例和场景转换成分析模型. 识别分析类讲了识别边界类.识别控制类.识别实体类三个方面,识别边界类,通常一个参与者与一个用例之间的交互或通信关联对应一个边界类.识别控制类,

《软件工程》第七章随笔

面向对象分析模型包括功能模型,分析对象模型,动态模型.分析类可以按对象在系统中所承担的行为按照其作用和变化影响程度划分为实体类,边界类和控制类3种类型. 边界类:一个参与者与一个用例之间的交互或通信关联对应一个边界类. 控制类:负责协调边界类和实体类,负责接收边界类,分发给实体类. 实体类:是用例中的参与对象,对应现实. 构建顺序图可以将用例和分析对象联系在一起.分析交互行为后,建立分析类图,可以更清晰更直观的表达分析类之间的关系.

软件工程概论第七章

面向对象分析 分析的概念主要有分析类,和分析活动其中分析类中的主要有实体类,边界类,和控制类.知道了分析类主要类型,怎样识别分析类,边界类通常 一个参与者和一个用例之间的交互或通信关联对应一个边界类.控制类负责协调边界类和实体类,通常现实世界没有对应的事物,他负责接受边界类的 信息转发给实体类.实体类通常是用例中参与的对象对应现实世界的事物. 定义交互行为主要是利用顺序图.在分析对象交互行为之后,开发人员就要建立分析类图,即定义分析类之间的关系和分析类型的属性,文中还介绍了 联系点分析模式.分析

《软件工程》第七章总结

面向对象的分析模型由三个独立的模型组成:功能模型(由用例和场景表示).分析对象模型(由类图和对象图表示).动态模型(由状态图和顺序图表示). 从软件的功能需求来看,分析类可以划分为实体类.边界类.控制类. 需求分析的重点在于理解系统本身,它将需求获取阶段产生的用例和场景转换成分析模型. 一个参与者与一个用例之间的交互或通信关联对应一个边界类. 控制类与用例存在密切的关系,一个用例对应一个控制类. 顺序图可以结合一下步骤进行绘制:列出启动该用例的参与者.列出启动用例时参与者使用的边界对象.列出管理

现代软件工程 第七章 练习与讨论

7.7  移山开发方法——比TFS敏捷更精简 几个软件学院的学生来请教阿超,同学们自豪地说,我们要用全套TFS敏捷开发模式开发项目! 真的?阿超不敢相信. 同学: 对!我们要用全5个工作项类型 – 任务.缺陷.场景.风险.服务质量需求. 阿超: 你们有多少实战项目的经验?哦,都没有.这么说这是你们第一个真正的实用项目,我建议你们先忘记这么多工作项类型,把时间花在写代码上好了. 同学: 可是老师要我们上敏捷开发模式呀? 阿超: 当敏捷模式变成强迫,那还能敏捷到哪儿去呢?如果你们非用不可,我建议你们

软件工程—第七章

第七章—面向对象分析 分析类是概念层次上的内容,用于描述系统中较高层次的对象,分析类可分为实体类.边界类.控制类.实体类用于描述必须存储的信息及其相关行为(需要长久的保存),两种表示方法:1.构造型<<entity>>的类形式2.图表形式.边界类用于描述外部参与者与系统之间的交互.控制类用于描述一个用例所具有的事件流控制行为. 那么怎么识别这些分析类呢?通常一个参与者与一个用例之间的交互或通信关联对应一个边界类.控制类与用例存在着密切的关系,在用例开始执行时创建,在用例结束时取消.

第四次作业:读软件工程课本五点五、六、七章感想与疑问

第五点五章 这一部分,本来在上一次就已经有过一次浏览,不过也真的只是浏览而已,哈哈,因为介绍了很多模型,看完后,又忘了,现在说要记住这些东西,对于我来时真的不是件容易的事,也可能觉得现在还没有用到这些东西吧,我曾几何时也在课堂上听老师杜给我们说过一些关于软件过程模型的东西,当时隐约记得介绍了八种模型,而重点要掌握的是瀑布模型,快速原型模型,Rational统一过程rup,微软模型.其实我是想知道我们在以后做一个软件时,是不是用期中的一个模型就可以了啊?还是说可以多个模型一起用?但是多个模型一起用

软件工程概论总结第七章

第七章  面向对象分析  分析类   在分析对象模型中,分析类是概念层次上的内容,用于描述系统中较高层次的对象. 实体类:表示系统存储和管理的永久信息: 边界类:表示参与者与系统之间的交互: 控制类:表示系统在运行过程中的业务控制逻辑. 分析活动  需求分析的重点在于理解系统本身,它将需求获取阶段产生的用例和场景转换成分析模型. 识别分析类 识别边界类 通常,一个参与者与一个用例之间的交互或通信关联对应一个边界类.边界类收集来自参与者的信息,这些信息可以被实体类和控制类使用. 识别控制类  控制

软件工程——理论、方法与实践 第七章

第七章 需求分析阶段的核心是产生一个准确的.完整的.一致的和可验证的系统模型,称为分析模型.主要讲 1.分析的概念:分析类和分析活动,类包括边界类.控制类和实体类. 2.识别分析类:通常需要充分理解系统内部的行为,分为识别边界类.控制类.实体类. 3.定义交互行为,讲了顺序图可以将用例和分析对象联系在一起,还有顺序图的绘制步骤. 4.建立分析类图:在分析了对象之间的交互行为之后,开发人员需要建立分析类图,即定义分析类之间的关系和分析类的属性,以MiniLibrary系统为例讲解了实体类之间的关系