面向对象设计中软件度量学:回顾与热点
- 格式:pdf
- 大小:657.82 KB
- 文档页数:8
1、简述结构化范型和面向对象范型的要点,并分析它们的优缺点。
答:结构化范型要点:结构化范型也称生命周期方法学,属于传统方法学。
传统的软件开发方法大部分采用瀑布模型。
这种模型要求每一阶段都以前一阶段形成的文档为基础完成工作。
每一阶段将要完成时,都要求开发人员进行验证或确认。
瀑布模型要求在软件产品生成之前对用户需求进行尽可能精确的、完全的刻画。
但要完成这种任务相当困难。
优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度.缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化时,开发出的软件往往不成功;而且维护起来仍然很困难。
面向对象范型四个要点:(1)面向对象的软件系统是由对象组成的,软件中的任何元素都是对象,复杂的软件对象由简单的软件对象组合而成。
(2)所有对象划分成各种对象类,每个对象都定义了一组数据和一组方法。
(3)按照子类(派生类)和父类(基类)的关系,把若干个对象类组成一个层次结构的系统(类等级)。
在派生类中对某些特性又做了重新描述,则在派生类中的这些特性将以新描述为准,也就是说,低层的特性将屏蔽高层的同名特性。
(4)对象彼此之间仅能通过传递消息互相联系。
面向对象范型主要优点(1)按照人类习惯的思维方法,对软件开发过程所有阶段进行综合考虑;(2)软件生存期各阶段所使用的方法、技术具有高度的连续性;(3)软件开发各个阶段有机集成,有利于系统的稳定性】6、非渐增式测试与渐增式测试有什么区别?答:【区别:1、非渐增式测试方法把单元测试和集成测试分成两个不同的阶段,前一阶段完成模块的单元测试,后一阶段完成集成测试。
而渐增式测试往往把单元测试与集成测试和在一起,同时完成。
2、非渐增式需要更多的工作量,因为每个模块都需要驱动模块和桩模块,而渐增式利用已测试过的模块作为驱动模块或桩模块,因此工作量较少。
渐增式可以较早的发现接口之间的错误,非渐增式最后组装是才发现。
第一章软件工程学概述第一节软件危机1.为了消除软件危机,20世纪60年代后期形成了新学科:计算机软件工程学。
2.软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
(这些问题不是不能运行的软件才仅仅具有的,几乎所有的软件都不同程度存在这些问题。
)3.软件危机包含两个方面的问题:1.如何开发软件,以满足对软件日益增长的需求。
2.如何维护数量不断膨胀的已有软件。
4.产生软件危机的原因(page4—图1.1)1.一方面与软件本身的特点有关2.另一方面也和软件开发与维护的方法不正确有关。
5.软件不同于一般程序,它的一个显著特点是:“规模庞大”。
6.软件开发流程:1. 问题定义:(确定要求解决的问题是什么)2. 可行性研究:(决定该问题是否存在一个可行的解决办法)3. 需求分析:(深入具体的了解用户需求)进入开发时期:对软件设计概要设计详细设计编写程序(全部工作量10%—20%)测试交付使用7.软件产品的配置:包括:程序、文档、数据8.软件危机的一些典型表现:1.对软件开发成本和进度的估计常常不准确2.用户对“已完成的”软件系统不满意的现象经常发生3.软件产品的质量往往靠不住4.软件常常是不可维护的5.软件通常没有适当的文档资料。
6.软件成本在计算机系统总成本中所占的比例逐年上升。
7.软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
第二节软件工程1.软件工程定义软件工程是:把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;2. 软件工程方法学包含3个要素:方法、工具和过程。
3. 软件工程方法学: 1. 传统方法学2. 面向对象方法学4. 面向对象方法学的4个特点:(1)把对象(object)作为融合了数据及在数据上的操作行为的统一的软件构件。
(2)把所有的对象都划分成类(class)。
(3)按照父类(基类)与子类(派生类)的关系,把若干个相关类组成一个层次结构的系统(也成为类的等级)。
适用专业:考试时间:90分钟一、单项选择题(每小题2分,共计40分)1、软件工程方法学包括的三个要素是()A.方法、工具和过程 B.对象、过程和方法C.分析、设计和编程 D.开发、维护和工程2、软件生命周期由()三个时期组成。
A.概要设计、详细设计和系统实现 B.可行性分析、系统设计和编码C.定义、开发和运行维护 D.分析、设计和测试3、在软件生命周期模型中,属于文档驱动的是()A.瀑布模型 B.快速原型模型 C.增量模型 D.喷泉模型4、结构化分析实质上是一种()的活动。
A.访问用户 B.创建快速原型 C.产生决策 D.创建模型5、以下()不是模块。
A.过程 B.程序 C.函数 D.对象6、所谓信息隐藏是指隐藏模块的()A.接口部分 B.实现细节 C.源代码 D.一切信息7、以下说法错误的是()A.测试不能证明程序是正确的 B.测试不能证明程序中没有错误C.成功的测试是指发现程序的所有错误 D.测试是为了发现程序中的错误8、面向对象方法的要素是()A.对象、类、数据类型和算法 B.对象、类、继承和消息C.对象、基类、派生类和继承 D.对象、父类、子类和继承9、在用面向对象观点建立的模型中()是最基本、最重要、最核心的模型。
A.对象模型 B.动态模型 C.功能模型 D.操作模型10、用“自底向上”方式建立继承关系是指( )A.把现有类细化成更具体的子类 B.从现有类泛化出更抽象的父类C.从较高的层次推导出较低的层次 D.从较低的层次抽象出较高的层次11、软件危机出现于(),为了解决软件危机,人们提出了用()的原理来设计软件,这是软件工程诞生的基础。
A.50年代末 B.60年代初 C.60年代末 D.70年代初A.运筹学 B.工程学 C.软件学 D.软件学 E.数字12、初始化模块和结束模块从块内联系看,被称为()模块。
A.过程内聚B.功能内聚C.时间内聚D.逻辑内聚13、下列耦合度表示中,最弱的耦合形式是()A、特征耦合B、公共耦合C、数据耦合D、数据结构14、PAD(Problem Analysis Diagram)图是一种()工具。
《软件工程》课程教学大纲一、课程简介二、课程目标三、课程学习内容与方法(一)理论学习内容及要求4567(二)实验学习内容及要求89四、课程考核(一)考核内容与考核方式(二)成绩评定1.平时成绩评定(1)课堂表现(30 分):理论和实验学习课堂,利用学习通平台课堂签到、互动答题、选人、主题讨论等课程活动的参与情况自动评分,辅以课堂纪律保持情况手动评分。
(2)在线作业(30分):各知识模块利用学习通平台发布在线作业,根据作业完成情况进行评分。
(3)阶段性测验(40分):利用学习通平台在线题库选题组卷在线考试,或手动组卷线下测验,或验收软件项目建模成果等方式进行评分。
2. 实验完成情况(100分):根据学生对实验任务的完成情况和完成质量,以及报告内容的格式和详略情况进行评分,再辅以对小组分工情况抽问回答情况进行评分修正。
3.期末成绩评定期末考核主要考察学生对软件工程的基本概念、软件过程及过程模型的理解。
可以根据软件项目实际合理选择合适的过程模型,组织软件开发活动,能很好的使用面向对象方法开展软件需求和设计建模及文档编写,能熟练使用UML建模软件工具设计模型图表示模型信息,能组织或高效的参与软件开发团队,能与包括用户/客户在内的软件相关角色进行沟通和协作。
考核方式闭卷考试。
3.总成绩评定总成绩由平时成绩、实验成绩和期末考试成绩构成。
总成绩(100%)=平时成绩(20%)+实验成绩(20%)+期末考试成绩(60%)4.课程目标考核方式评分标准考核项目评分标准90-100分80-90分70-80分60-70分0-60分课堂表现理论课上严格遵守课堂纪律,按要求完成课堂练习且正确率高。
积极主动参与课堂讨论,讨论表述的论点正确有新意,有自己的见解,能体现良好的职业道德、职业使命感和社会责任感。
实验课不迟到早退,遵守机房管理规范、爱护实验设备,课上积极与老师互动,实验室项目按时提交。
理论课上遵守课堂纪律,按要求完成课堂练习且正确率比较高。
1.软件危机的概念,内容,原因及消除的途径;软件危机的概念:软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题;概括地说,软件危机包含两方面问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件;软件危机产生的原因:软件本身的复杂性、难衡量的特点;2.软件开发与维护的方法不正确;消除软件危机的途径:1对计算机软件应当有一个正确的认识;2应当有组织、有计划、通过严格的管理手段进行软件的开发;3及时总结软件开发的成功技术和方法并加以推广;4开发和使用更好的软件工具;总之,为了解决软件危机,既要有技术措施,又要有必要的组织管理措施;2.软件工程的定义,基本原理;定义:软件工程是指导计算机软件开发和维护的一门工程学科;基本原理:软件工程的7条基本原理:1用分阶段的生命周期计划严格管理2坚持进行阶段评审3实行严格的产品控制4采用现代程序设计技术5结果应能清楚地审查6开发小组的人员应该少而精7承认不断改进软件工程实践的必要性3.软件工程方法学的基本概念、内容;基本概念:把在软件生命周期全过程中使用的一整套开发和管理技术方法的集合成为软件工程方法学,也称为范型;软件工程方法学包含3个要素:方法、工具和过程;内容:目前使用得最广泛地软件工程方法学,分别是传统方法学和面向对象方法学;传统方法学也称为生命周期方法学或结构化范型;4.软件生命周期的具体内容,每一个阶段的任务是什么结合具体的工程例子来理解做软件项目主要分那几个个阶段;①问题定义:确定要求解决的问题是什么②可行性研究:决定该问题是否存在一个可行的解决办法③需求分析:深入了解用户的要求,在要开发的目标系统必须做什么问题和用户取得完全一致的看法;④概要设计:概括回答怎样实现目标系统;概要设计又叫逻辑设计、总体设计、高层设计;⑤详细设计:把解法具体化,设计出程序的详细规格说明;详细设计也叫模块设计、底层设计;⑥编码和单元测试:编写程序的工作量只占软件开发全部工作量的10%-20%;⑦综合测试:软件测试的工作量通常占软件开发全部工作量的40%-50%;⑧软件维护:软件维护的费用通常占软件总费用的55%-70%;①②③为软件定义时期,④⑤⑥⑦为软件开发阶段;④⑤为系统设计,⑥⑦为系统实现;5.理解几个典型软件过程的内容及其优点与缺点:瀑布模型、增量模型、快速原型模型、螺旋模型、喷泉模型等;瀑布模型内容:瀑布模型是带“反馈环”的;优点:1可强迫开发人员采用的规范的方法结构化技术;2严格地规定了每个阶段必须提交的文档;3要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证;缺点:瀑布模型是由文档驱动的;1开发过程一般不可逆,否则代价太大;2实际的项目开发过程很难严格按照模型进行;3客户往往很难清楚地给出所有需求,而该模型却要求如此;4软件的实际情况必须到项目开发的后期客户才能看到,这要求客户有足够的耐心;快速原型模型是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集;不带反馈环优点:软件产品的开发基本上是线性顺序进行的;1可以得到比较良好的需求定义,容易适应需求的变化;2有利于开发与培训的同步;3开发费用低、开发周期短且对用户更友好;缺点:1客户与开发者对原型理解不同;2准确的原型设计比较困难;3不利于开发人员的创新;增量模型也称为渐增模型;使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试;优点:在较短时间内可以向用户提交可完成部分工作的产品,逐步增加产品功能可以使用户有比较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击;1人员分配灵活,刚开始不用投入大量资源;2如果核心产品很受欢迎,则可增加人力实现下一增量;3可先发布部分功能给客户,对客户起到镇定剂的作用;缺点:1并行开发构件有可能遇到不能集成的风险,软件必须具备开放式的体系结构2增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而使软件过程失去整体性;螺旋模型的基本思想是使用原型及其他方法来尽量降低风险;理解这种模型的一种简便方法是把它看做在每个阶段之前都增加了风险分析过程的快速原型模型;优点:1设计上的灵活性,可以在项目的每个阶段进行变更;2以笑得分段来构建大型系统,使成本计算变得简单容易;3客户始终参与每个阶段的开发,保证项目不偏离正确的方向一击项目的可控性;4随着项目的推进,客户始终掌握项目的最新信息,从而他能够和管理层有效地交互;缺点:1采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标示风险,势必造成重大损失;2过多的迭代次数会增加开发成本,延迟提交时间;喷泉模型:喷泉模型与传统的结构化生存期比较,具有更多的增量和迭代性质,生存期的各阶段可以相互重叠和多次反复,而且项目的整个生存期中还可以嵌入子生存期;就像水喷上去又可以落下来,可以落在中间,还可以落在底部;6.了解可行性研究中的任务和过程;用最小的代价在尽可能短的时间内确定问题是否能够解决;不是解决问题,而是确定问题是否值得去解决;可行性研究的根本任务:对以后的行动方案提出建议;实质:一次大大压缩简化了的系统分析和设计;任务:1.初步确定项目的规模,目标,约束和限制;2.在澄清了问题定义之后,分析员应该导出系统的逻辑模型;3.从系统逻辑模型出发,探索若干种可供选择的主要解法即系统实现方案;4.对每种解决方法都要研究它的可行性;技术可行性、经济可行性、操作可行性过程:1.复查系统规模和目标访问关键人员,描述目标系统的限制和约束;2.研究目前正在使用的系统:现有系统的问题;3.导出新系统的高层逻辑模型;4.进一步定义问题;5.导出和评价供选择的解法;6.推荐行动方针;7.草拟开发计划;8.书写文档提交审查;7.掌握系统流程图的概念和方法,会从具体的案例中抽象出系统流程图p388.掌握数据流图的概念和方法,会从具体的案例中画出0层数据流图和功能级数据流图P409.掌握数据字典的内容、方法、用户和实现p47内容:数据字典由4类元素定义组成;1数据流;2数据流分量即数据元素;3数据存储;4处理;定义数据的方法:数据字典中的定义就是对数据自顶向下的分解;由数据元素组成数据的方式只有下述3种基本类型:顺序选择重复用途:作为分析阶段的工具;实现:P4910.了解成本/效益分析方法p50货币的时间价值投资回收期:就是使累计的经济效益等于最初的投资费用所需的时间纯收入:整个生存周期之内的累计经济效益折成现在值-投资;投资回收率:现在的投资额P和估算出的将来每年的收益Fn,假设系统的使用寿命为n年;11.了解需求分析过程中任务是什么.p471.确定对系统的综合要求功能需求;指定系统必须提供的服务性能需求;指定系统必须满足的定时约束或容量约束可靠性和可用性需求;应定量指定出错处理需求;指环境错误,非系统本身的错误;2.分析系统的数据要求接口需求;常见的接口需求有:用户接口需求、硬件接口需求、软件接口需求、通信接口需求; 约束;常见的约束有:精度;工具和语言约束;设计约束;应该使用的标准;应该使用的硬件平台;逆向需求;说明软件系统不应该做什么;将来可能提出的要求;3.导出系统的逻辑模型;用数据流图、实体-联系图、状态转换图、数据字典和主要的处理算法描述这个逻辑模型;4.修正系统开发计划;用数据流图、实体-联系图、状态转换图、数据字典和主要的处理算法描述这个逻辑模型;12.理解面向数据流自顶向下逐步求精的方法和意义;p59结构化分析方法就是面向数据流自顶向下逐步求精进行需求分析的方法;通过可行性研究已经得出了目标系统的高层数据流图,需求分析的目标之一就是把数据流和数据存储定义到元素级;方法:为了达到这个目标,通常从数据流图的输出端着手分析,这是因为系统的基本功能是产生这些输出,输出数据决定了系统必须具有的最基本的组成元素;意义:1对数据流图细化之后得到一组新的数据流图,不同的系统元素之间的关系变得更清楚了; 2对这组新数据流图的分析追踪可能产生新的问题,这些问题的答案可能又在数据字典中增加一些新条目,并且可能导致新的或精化的算法描述;3随着分析过程的进展,经过提问和解答的反复循环,分析员越来越深入具体地定义目标系统,最终得到对系统数据和功能要求的满意了解;13.理解分析及建模的意义,需求分析中应该建立哪三种模型有哪些工具来帮助建立这些模型14.需求分析需要建立三种模型:1.数据模型:实体-联系图E-R数据对象即实体之间的关系2.功能模型:数据流图DFD系统对数据进行变换的功能3.行为模型:状态转换图系统的各种状态行为模式及状态之间的转换15.掌握实体关系E-R图的概念,内容和实现方法,能结合具体实例建立实体关系图;P6216.掌握状态图的概念,内容,实现方法和作用;p6517.掌握层次方框图、warnier图、IPO图的概念,内容和作用p6818.有穷状态机的概念和内容;Petri的概念;P77有穷状态机:状态集、输入集、转换函数、初始态、终态集Petri:P8219.总体设计是做什么总体设计的过程是怎样的P9120.总体设计的目标是将需求分析阶段定义的系统模型转换成相应的软件结构,以规定软件的形态及各成分间的层次关系、界面及接口要求;总体设计通常由两个过程组成:系统设计阶段,确定系统的具体实现方案;结构设计阶段,确定软件结构;典型的设计过程包括:1.设想选择的方案2.选取理想的方案3.推荐最佳方案4.功能分解5.设计软件结构6.设计数据库7.制定测试计划8.书写文档9.省查和复审21.掌握软件设计的几个设计原理,理解他们的内容和意义;p941模块化就是把程序划分成独立命名且可独立访问的;2抽象;3逐步求精;4信息隐藏和局部化;5模块独立;它有两个定性标准度量:内聚和耦合;22.掌握耦合和内聚的概念和内容,理解这些原理对设计有哪些指导意义;耦合:耦合是对一个软件结构内不同模块之间互连程度;内聚:内聚标志着一个模块内各个元素彼此结合的紧密;耦合是影响软件复杂程度的一个重要因素;设计时力争做到高内聚,并且能够辨认出低内聚的模块,有能力通过修改设计提高模块的内聚程度并且降低模块间的耦合程度,从而获得较高的模块独立性;23.耦合包含了哪些类型每个类型的具体内容是什么由低到高24.1非直接耦合:就是没有耦合;2数据耦合:就是参数传递耦合,它属于低级别耦合;3标记耦合:标记耦合指两个模块之间传递的是数据结构;4控制耦合:它属于中级别耦合,比如调度程序与进程之间的耦合,就是控制耦合;5外部耦合:属于高级别耦合6公共耦合:指通过一个公共数据环境相互作用的那些模块间的耦合;7内容耦合:属于最高级别耦合,例如,一个模块利用分支或跳转技术,转入到另一个模块中去执行,就是内容耦合;25.启发性规则的内容及部分概念;1.改进软件结构提高模块独立性2.模块规模应该适中3.深度、宽度、扇出和扇入都应适当4.模块的作用域应该在控制域之内5.力争降低模块接口的复杂程度6.设计单入口单出口的模块7.模块功能应该可以预测26.层次图、HIPO图和结构图的内容;p10227.掌握面向数据流的设计方法,怎样用变换分析法基于数据流图设计出软件总体结构了解其中涉及到的概念,结合例子理解具体是怎么做的;p104概念:面向数据流的设计方法把信息流映射成软件结构,信息流决定了映射的方法,信息流有两种类型:1、信息沿输入通路进入系统,同时由外部形式变换成内部,进入系统的信息通过变换中心,经过加工处理以后再沿输出通路变换成外部形式离开软件系统;当数据流图具有这些特征时,这种信息流就叫做变换流;2、数据沿输入通路到达一个处理T,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行;这类数据流应该划为一类特殊的数据流,称为事务流;28.详细设计是做什么p117详细设计阶段的根本目标是确定应该怎样具体地实现所要求的系统,即经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某些程序设计语言书写的程序;29.什么是结构程序设计p117结构程序设计是尽可能少用GOTO语句的程序设计方法,最好仅在检测出错误时才使用GOTO语句,而且应该总是使用前向GOTO语句;30.人机界面设计问题包含哪些p1221、系统响应时间;2、用户帮助设施;3、出错信息处理;4、命令交互31.掌握设计过程中用到的工具:程序流程图的概念,内容和方法;盒图的概念、内容和方法;会结合实例使用这些工具;掌握PAD图的概念和内容;掌握判定表的概念和内容;要结合实例来掌握它们;P12432.结合Jackson图来掌握面向数据结构的设计方法;p13033.如何度量程序算法的复杂性p13634.掌握几种测试:单元测试、集成测试、确认测试、白盒测试技术和黑盒测试技术;掌握它们的概念,内容和方法;P14635.理解软件维护的定义、特点和维护过程;P189定义:在软件已交付使用之后,为了改正错误或满足新的需要而修改软件的过程;特点:1结构化维护与非结构化维护差别巨大2维护的代价高昂3维护的问题很多维护过程:1、维护组织2、维护报告3、维护的事件流4、保存维护记录5、评价维护活动;36.掌握面向对象方法学的要点,理解面向对象方法学的优点;P203四个要点:对象、类、继承、消息优点:1、与人类习惯的思维方法一致2、稳定性好3、可重用性好4、较易开发大型软件产品5、可维护性好6、掌握面向对象的概念;37.掌握面向对象的概念;P209对象对象的形象表示,对象的定义,对象的特点其他概念类,实例,消息,方法,属性,封装,继承,多态性,重载38.面向对象建模是建立哪三个模型它们的具体内容是什么P21539.1、描述系统数据结构的对象模型类图:表示静态的、结构化的系统的“数据”性质;它是对模拟客观世界实体的对象彼此间的关系的映射,描述了系统的静态结构;2、描述系统控制结构的动态模型状态转换图:动态模型表示瞬时的,行为化的系统的“控制”性质,它规定了对象模型中的对象的合法变化序列;3、描述系统功能的功能模型用例图,数据流图:功能模型表示变化的系统的“功能”性质,它指明了系统应该“做什么”,因此更直接地反映了用户对目标系统的需求;40.建立对象模型的内容是什么P235建立对象模型,需要定义一组图形符号,并且规定一组组织这些符号以表示特定语义的规则;也就是说,需要用适当的建模语言来表达模型,建模语言由记号即模型中使用的符号和使用记号的规则语义、语法和语用组成;41.掌握用UML提供的类图来建立对象模型的方法;理解类图的定义、基本符号和具体内容;类图建立对象模型的方法:1、定义类2、定义属性3、定义服务4、定义类与类之间的各种关系关联、泛化、依赖和细化;类图的定义:类图描述类与类之间的静态关系;类图是一种静态模型,它是创建其他UML图的基础;基本符号:UML中类的图形符号为长方形,用两条横线把长方形分成上、中、下3个区域下面两个区域可省略3个区域分别放类的名字、属性和服务;42.能结合实例掌握类图中类与类之间的关系:关联、泛化继承、依赖和细化;能根据实例情况正确判断出类与类之间的具体关系类型;关联:关联表示两个类的对象之间存在某种语义上的联系;泛化继承:UML中的泛化关系就是通常所说的继承关系,它是通用元素和具体元素之间的一种分类关系;具体元素完全拥有通用元素的信息,并且还可以附加一些其他信息;泛化关系指出类与类之间存在“一般-特殊”关系;泛化可进一步分成普通泛化和受限泛化;依赖:描述两个模型元素类、用例等之间的语义连接关系:其中一个模型元素是独立的,另一个模型元素不是独立的,它是依赖于独立的模型元素,如果独立的模型元素改变了,将影响依赖于它的模型元素;细化:当对同一个事物在不同抽象层次上描述时,这些描述之间具有细化关系;43.动态模型的概念、内容;P223概念:动态模型表示瞬时的、行为化的系统的“控制”性质,它规定了对象模型中的对象的合法变化序列;内容:动态模型是基于事件共享而互相关联的一组状态图的集合;44.功能模型的概念、内容和建立功能模型的方法;P224概念:功能模型表示变化的系统的“功能”性质,它指明了系统应该“做什么”,因此直接地反应用户对目标系统的需求;内容:功能模型由一组数据流图组成;用例图也是进行需求分析和建立功能模型的强有力工具;方法:创建用例模型的工作包括:定义系统,寻找行为者和用例、描述用例,定义用例之间的关系,确认模型;其中,寻找行为者和用例是关键;45.掌握用例图的概念、内容和方法;P224概念:用例图包括模型元素有系统、行为者、用例和用例之间的关系;内容:系统、用例、行为者、用例之间的关系;方法:创建用例模型的工作包括:定义系统,寻找行为者和用例、描述用例,定义用例之间的关系,确认模型;其中,寻找行为者和用例是关键;46.掌握面向对象分析的基本过程:三个子模型与5个层次;P232三个子模型:静态结构对象模型交互次序动态模型数据变换功能模型复杂问题大型系统的对象模型通常由5个层次组成:主题层、类与对象层、结构层、属性层和服务层;47.结合实例来掌握面向对象分析过程中建立对象模型的方法包含哪些步骤;P231 1.首先,系统分析员要对需求文档进行分析;发现和改正需求文档中的歧义性、不一致性,剔除冗余的内容,挖掘潜在的内容,弥补不足,从而使需求文档更完整、更准确;2.然后,是需求建模;系统分析员根据提取的用户需求,即用面向对象观点建立对象模型、动态模型和功能模型;3.最后,是需求评审;通过用户、领域专家、系统分析员和系统设计人员的评审,并进行反复修改后,确定需求规格说明;48.结合实例来掌握面向对象分析过程中建立动态模型的方法包含哪些步骤;P24749.结合实例来掌握面向对象分析过程中建立功能模型的方法包含哪些步骤;P25350.能结合实例画事件跟踪图P24951.能结合实例画类的状态图P25052.能结合实例画出0层数据流图与功能级数据流图;P42。