《《软件工程》自考02333重点难点汇集1083.docx》由会员分享,可在线阅读,更多相关《《软件工程》自考02333重点难点汇集1083.docx(86页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软件工程串讲讲义 应考指导一、课程介绍1、课程性质软件工程是是全国高等教教育自学考试试计算机及应应用(独立本本科段)的一一门专业课。 软件工程是研研究软件开发发的一门课程程,其主要内内容包括:软软件开发所需需要的过程、活活动和任务,以以及这些活动动和任务的组组织、实施和和管理。2、指定教材本课程指定教材材为软件工工程,全国国高等教育自自学考试指导导委员会组编编,王立福主主编,机械工工业出版社出出版,20111年版。新版教材与20000年版相相比,无论是是内容还是内内容的组织,都都有了很大的的变化。整个个知识体系、章章节安排、内内容选取都不不一样,这是是考生一定要要注意的。新新版教材的内内容组织
2、特点点主要体现在在:基于对软件开发发本质的认识识,讲解软件件工程的两大大技术问题:一是开发逻逻辑,二是开开发途径。开发逻辑涉及软软件生存周期期过程、软件件生存周期模模型(有关过过程、活动和和任务的组织织框架)以及及项目软件生生存周期的规规划与监控。开发途径涉及结结构化方法和和面向对象方方法,以及支支持软件评估估所需要的软软件测试技术术等。3、章节体系本课程共有8章章:第1章:回答什什么是软件开开发的本质第2章:软件需需求与软件需需求规约第3章:结构化化方法第4章:面向对对象方法-UUML第5章:面向对对象方法-RRUP第6章:软件测测试。第7章:软件生生存周期过程程及管理第8章:集成化化能力成
3、熟度度模型CMMMI二、考情分析1. 历年真题的分布布情况由于教材刚刚经经过改版,新新教材刚经过过2011年年10月、22012年001月、20012年100月三次考试试。 通过对对2011年年10月、22012年001月这两次次真题的分析析,各章所占占分值的分布布情况如下表表所示: 年 份章名、题型2011-1002012-011一、绪论(单项项、填空题)3分3分二、软件需求与与软件需求规规约911三、结构化方法法(单、填、简简答、综合)25分25分四、面向对象方方法-UMLL(单、填、简简答)11分11分五、面向对象方方法-RUPP(单、填、简简答)12分12分六、软件测试(单单、填、简答
4、答、综合)25分23分七、软件生存周周期过程及管管理(单、填填、简)10分10分八、集成化能力力成熟度模型型CMMI55从上面的统计数数据可以看出出:主要的分分值分布在第第3章和第66章,分别占占到总分的225%左右。第第1章和第88章的考核知知识点相对较较少。2. 题型分析本课程的考试题题型分为:(1) 单项选择题,共共15小题,每每小题2分,共共30分(2) 填空题,共200个空,每空空1分,共220分(3) 简答题,共6小小题,每小题题5分,共330分(4) 综合应用题,共共2题,每题题10分,共共20分3. 复习方法(1)以教学大大纲为准绳。自自学考试的原原则是:考试试范围既不超超出大
5、纲又不不超出教材范范围。所以考考生一定根据据教学大纲规规定的考试内内容和考核要要求,认真学学习教材,要要全面、系统统了解教材中中的基本概念念、基本知识识。(2)有的放矢矢。在学习的的过程中,为为了达到“事半功倍”,要学会“舍”。要用有限限的时间去抓抓重点,对重重点内容要进进行深入细致致的学习。(3)注意学习习方法,理论论联系实际,注注重理解重视理论联系实实际,训练并并逐渐提高运运用所学理论论分析和解决决实际案例的的能力。考生生应当注意在在全面系统学学习教材的基基础上,尽可可能多地了解解和分析实际际案例,以便便更深刻地领领会教材的内内容,提高分分析和解决实实际问题的能能力。(4)合理安排排时间,
6、抓住住学习重点根据实际情况自自己安排,利利用平时空余余时间观看网网络课件,形成基本的的了解。接下下来认真地做做一些练习题题,不清楚的的地方再回过过头去看看书书,并注意对对不同的知识识点进行比较较,加深印象象。第一章 绪论论复习建议:本章内容较少,主主要是让大家家了解软件工工程的提出的的背景-软件件危机以及软软件工程研究究的内容。考试题目类型主主要是单项选选择题、填空空题,题量在在3%5%之间。第一节 软件工工程概念的提提出与发展1. 软件危机(1) 速度:软件的发发展水平远远远滞后于硬件件的发展水平平,生产率低低下,软件制制造仍然是一一种人工集约约生产方式(2) 质量:软件的质质量低下,不不能
7、满足用户户的需求、适适应性差(3) 成本:软件开发发成本居高不不下软件开发的速度度、软件制品品的质量、软软件开发成本本是软件工程程的三个核心心问题。2. 软件工程的发展展(1)20世纪纪60800年代瀑布模型;过程程化语言;支支持工具(2)20世纪纪80年代今软件复用技术;软件生产管管理;面向对对象语言(3)近几年软件复用技术:构件技术、平平台技术、需需求工程技术术、领域分析析技术、应用用集成技术等等。第二节 软件开开发的本质1. 软件软件=程序+文文档2. 软件开发的本质质:“映射”,即实现问问题空间的概概念和处理逻逻辑到解空间间的概念和处处理逻辑之间间的映射。3. 系统建模运用所掌握的知知
8、识,通过抽抽象,给出系系统的一个结结构。4. 模型模型是一个抽象象。模型是在在特定意图下下所确定的角角度和抽象层层次上对物理理系统的描述述,通常包含含对该系统边边界的描述、对对系统内各模模型元素以及及它们之间关关系的语义描描述。5. 系统模型的类型型(1) 概念模型:描述述软件是什么么(2) 软件模型:实现现概念模型的的软件解决方方案。包括设设计模型、实实现模型和部部署模型。第二章 需求获获取复习建议:正确定义问题,是是解决问题的的基础。需求获取是软件件开发的第一一步,它的工工作质量决定定了整个软件件开发工作的的成败,因此此本章的内容容是考核的重重点内容。考核的题目类型型主要有:单单项选择题、
9、填填空题、简答答题,分值在在10%左右右。内容以基本概念念、基本原理理为主。第一节 需求与需求获取取1. 需求的定义一个需求是有关关一个“要予构造”的陈述,描描述了待开发发产品/系统统功能能力、性性能参数或其其它性质。2. 需求的基本性质质(1) 必要的(2) 无歧义的(3) 可测的(4) 可跟踪的(5) 可测量的3. 需求的分类 (1) 功能需求,是整整个需求的主主体。(2) 非功能需求:性性能需求、外外部接口需求求、设计约束束和质量属性性需求。能够区分哪些是是功能需求,哪哪些是性能需需求。4. 接口需求的类别别(1) 用户接口(2) 硬件接口(3) 软件接口(4) 通信接口(5) 内存约束
10、(6) 运行(7) 地点需求5. 设计约束需求(1) 法规政策(2) 硬件限制(3) 与其它应用的接接口(4) 并发操作(5) 审计能力(6) 控制功能(7) 高级语言要求(8) 握手协议(9) 应用的关键程度度(10) 安全和保密6. 质量属性(1) 可靠性(2) 存活性(3) 可维护性(4) 用户友好性7. 需求发现的技术术(1) 自悟(2) 交谈(3) 观察(4) 小组会(5) 提炼第二节 需求规规约(SRSS)1. 需求规约的定义义 是一个软件/产产品/系统所所有需求陈述述的正式文档档,它表达了了一个软件/产品/系统统的概念模型型。2. 需求规约的基本本性质 (1) 重要性和稳定性性程
11、度:对需需求进行分级级(2) 可修改的(3) 完整的:没有被被遗漏的需求求(4) 一致的:不存在在互斥的需求求3. 需求规约的格式式IEEE标准8830-19998(IEEEE 19998)描述述的需求规格格说明书模板板。4. 需求规约(规格格说明书)的的表达(1) 非形式化的需求求规约(2) 半形式化的需求求规约(3) 形式化的需求规规约5. 需求规约的作用用 (1) 需求规约是软件件开发组织和和用户之间一一份事实上的的技术合同书书,是产品功功能及其环境境的体现(2) 需求规约是一个个管理控制点点(3) 对于产品/系统统的而设计,需需求规约是一一个正式的、受受控的起始点点(4) 需求规约是创
12、建建产品验收计计划和用户指指南的基础第三章 结构化化方法复习建议:自顶向下,逐步步求精。本章是整个课程程的重点内容容,其基本思思想、基本原原理和基本方方法是软件工工程理论体系系中最经典的的内容,考核核题型涉及单单项选择题、填填空题、简答答题、综合应应用题所有题题目类型,占占分值25%左右。建议考生在牢记记基本概念、基基本原理的基基础上,对综综合应用题多多下工夫,多多做练习。第一节 结构化化需求分析1. 需求分析面临的的挑战(1) 问题空间理解(2) 人与人之间的通通信,“有效沟通”(3) 需求的变化性2. 结构化分析中的的基本术语及及表示方法(1) 数据流 (2) 加工(3) 数据存储(4)
13、数据源和数据潭潭3. 数据流图DFDD图 用于建立系统功功能模型。是一种描述数据据变换的图形形化工具,其其中包含的元元素可以是数数据流、数据据存储、加工工、数据源和和数据潭等。4. 建模过程(绘制制流程图的过过程)自顶向下、功能能分解(1) 建立系统环境图图(2) 0层图:从0层层图开始对流流程图中的要要素编号(3) 1层图(4) 【例题】绘制数数据流程图(22008年110月真题)41.某个学生生成绩管理系系统的部分功功能如下:(1)基本信息息管理:教务务管理人员输输入或修改学学期教学执行行计划、学生生名单和教师师名单;(2)学生选课课:学生根据据教学执行计计划进行选课课;(3)分配任课课教
14、师:教务务管理人员为为符合开课条条件的课程分分配教师,并并打印任课通通知单给教师师;(4)成绩管理理:每门课程程的教师在考考试评分结束束后将考试成成绩交给教务务管理人员,教教务管理人员员输入、维护护成绩,系统统可生成成绩绩单(发给学学生)、成绩绩统计分析表表(发给教务务管理人员)。请根据要求画出出该问题的分分层数据流图图(要求画出出顶层和0层层数据流图)。【解析】顶层图:只包含含数据源/数数据潭以及相相关的数据流流和一个处理理。成绩单学生成绩成绩管理系统学生教师选课信息任课通知单成绩单顶层图任课通知单教师学生成绩单成绩录入选课信息任课安排学生选课基本信息处理 学期教学执行计计划 学学生名单 学
15、生选课结结果 教师信息息0层图要注意的问题: 黑洞(blacck holle),即只只有输入而没没有输出。只有输出而没没有输入。灰洞(graay holle),即输输入不足以产产生输出。灰灰洞是经常也也是不易被察察觉的错误。加工处理只用用来表示数据据的处理和变变化,避免将将计算机命令令作为处理。数据流必须起起于且/或止止于处理,即即每一个数据据流必须有一一个处理与之之有关,数据据流不能起于于数据存贮且且止于一个数数据源/数据据潭或另一个个数据存贮;也不能起于于某个实体且且止于另一个个数据源/数数据潭或数据据存贮。5. 数据字典定义数据流程图图中所有数据据流和数据存存储的数据结结构。顺序结构:+
16、选择结构:|重复结构: 子界:m.nn6. 加工的描述 (1) 判定表判断表(Deccisionn Tablle)也称为为决策表,是是一个二维表表,它说明了了每一种条件件组合所产生生的结果。该表分为四个象象限(quaadrantts)。a) 左上限代表所有有的条件b) 左下限代表可能能的结果c) 右上限代表每一一种条件的取取值(用Y和和N来表示)d) 右下限用X表示示所对应的条条件组合所产产生的结果【例题】画出顾顾客购货的折折扣政策的决决策表。 销售商商在给顾客的的折扣时,要要考虑付款日日期和交易额额这两个因素素。若付款日日期在10天天以内(含110天),则则当交易额超超过¥10,000时,给
17、给予5的折折扣;当交易易额在¥5,000到¥10,0000之间(含含¥5,0000)时,给给予3的折折扣;当交易易额低于¥55,000时时,没有折扣扣。若付款日日期超过100天,则无论论交易额多少少,均不给任任何折扣。【解析】(2) 判定树判断树 (Deecisioon Treee)也称为为决策树,是是用来描述在在一组不同的的条件下,决决策的行动是是根据不同条条件及其取值值来选择的处处理过程。业业务规则的描描述通常可以以使用判断树树这一过程描描述工具。【例题】画出顾顾客购货的折折扣政策的决决策树。 销售商商在给顾客的的折扣时,要要考虑付款日日期和交易额额这两个因素素。若付款日日期在10天天以内
18、(含110天),则则当交易额超超过¥10,000时,给给予5的折折扣;当交易易额在¥5,000到¥10,0000之间(含含¥5,0000)时,给给予3的折折扣;当交易易额低于¥55,000时时,没有折扣扣。若付款日日期超过100天,则无论论交易额多少少,均不给任任何折扣。解析:(3) 结构化语言【例题】用结构构化语言表达达:顾客购货货的折扣政策策。销售商在给顾客客的折扣时,要要考虑付款日日期和交易额额这两个因素素。若付款日日期在10天天以内(含110天),则则当交易额超超过¥10,000时,给给予3的折折扣;当交易易额在¥5,000到¥10,0000之间(含含¥5,0000)时,给给予2的折折
19、扣;当交易易额低于¥55,000时时,没有折扣扣。若付款日日期超过100天,则无论论交易额多少少,均不给任任何折扣。IF 付款日期期在10日以以上 折扣扣=0ELSE IF 交易额=100000 折扣=3% ELSSE IF交易额额=5000 折扣=2% ELSE 折扣=07. 需求验证(1) 验证每一个需求求满足5个性性质(2) 验证需求规格说说明书满足44个性质第二节 结构化化设计分为总体设计和和详细设计1. 总体设计的任务务把系统的功能需需求分配到一一个特定的软软件体系结构构中。2. 表达软件体系结结构的工具(1)模块结构构图(2)层次图(3)HIPOO图3. 模块结构图 结构图(Str
20、ructurre Chaart)是对对软件总体结结构的一种图图形描述,它它显示了软件件的层次结构构、组织和通通讯。也就是是说,在结构构图中,显示示了软件是由由哪些模块组组成的,这些些模块按照什什么样的层次次结构组织在在一起以及模模块之间通过过什么接口联联系在一起。结构图也称之为为控制结构图图、模块结构构图或系统结结构图。(1) 模块符号(2) 模块调用关系(3) 模块间的数据传传递(4) 模块间的控制信信息传递(5) 循环调用结构(6) 选择调用结构(7) 数据存储4. 层次图层次图中一个矩矩形框代表一一个模块,框框间的连线表表示调用关系系(位于上方方的矩形框所所代表的模块块调用位于下下方的矩
21、形框框所代表的模模块)。5. HIPO图HIPO图是美美国IBM公公司发明的“层次图加输输入/处理/输出图”的英文缩写写。为了使HHIPO图具具有可追踪性性,在H图(即层次图)里除了顶层层的方框之外外,每个方框框都加了编号号。H图+IPO图图6. 总体设计步骤将DFD图映射射为设计层面面的模块及模模块调用。(1) 变换流(Traansforrm Floow)。基于于变换流的数数据流程图是是一个线性的的顺序结构,由由输入臂、输输出臂和变换换中心三部分分组成。其中中变换中心使使系统数据发发生本质的变变化,输入臂臂将物理输入入变换成逻辑辑输入,而输输出臂则将逻逻辑输出变换换成物理输出出。(2) 事务
22、流(Traansacttion FFlow)。事事务流的数据据流程图中有有一个事务处处理中心,它它将输入分为为许多相互平平行的加工路路径,然后根根据输入的属属性,选择某某一加工路径径。如下图所所示。业务中心完成以以下任务: 接收事务(即即输入数据); 分析每个事务务并确定它的的类型; 根据事务的类类型选取一条条活动通路。【例题】控制结结构图的绘制制根据数据计算的的数据流图:输入数据数据求解打印输出画出以转换为中中心的控制结结构图。【解析】这是一一个典型的以以“转换为中心心”结构的分解解,可以转化化为:数据计算打印输出数据求解输入数据总结:任何处理理都可以划分分为两种转换换类型之一:以转换为中中
23、心的分解和和以业务为中中心结构的分分解。【例题】产生固固定资产资料料数据流程图图如下,做出出以业务为中中心的模块控控制结构图。【解析】这是以业务为中中心的处理,根根据模板,可可以转化为:报表制作报表调度报表类型固定资产卡片资产变动表折旧汇总表固定资产明细表7. 模块执行一个特殊任任务的一个过过程以及相关关的数据结构构。模块通常常由两部分组组成:模块接接口和模块体体。8. 模块化“分而治之”和和“抽象”。把一个待开发的的软件分解成成若干个简单单的、具有高高内聚低耦合合的模块,这这一过程称为为模块化。模块化是系统设设计基本原理理/原则之一一。9. 内聚(Coheesion)是指一个模块内内部个成分
24、之之间相互关联联程度的度量量。也就是说说,凝聚是对对模块内各处处理动作组合合强度的一种种度量。很显显然,一个模模块的内聚越越大越好。(1)偶然凝聚聚 可维维护性最差 (2)逻辑凝聚聚(3) 时间凝聚(4)过程内聚聚(5)通信内聚聚(6)顺序凝聚聚(7)功能凝聚聚 可维护性性最好 10. 模块耦合耦合(couppling)是对两个模模块之间联接接程度的一种种度量。模块块间的依赖程程度越大,则则其耦合程度度也就越大;反之,模块块间的依赖程程度越小,则则其耦合程度度也就越小。很显然,为了使使软件具有较较好的可维护护性和可修改改性,模块间间的关联程度度即耦合程度度应越小越好好。因为耦合合程度越小,表表
25、明模块间的的独立程度越越大,这样在在修改一个模模块时,对其其它模块的影影响程度就越越小,从而使使模块的修改改工作局限于于一个最小范范围之内。(1) 内容耦合(2) 公共耦合(3) 数据耦合(4) 控制耦合(5) 标记耦合原则是:尽量用用数据耦合,少少用控制耦合合,限制公共共耦合的范围围,避免使用用内容耦合。11. 启发式规则高内聚、低耦合合。(1) 改进软件结构,提提高软件独立立性。模块分分解(2) 模块规模适中(3) 力求深度、宽度度、扇出、扇扇入适中。深度:表示其控控制的层数。宽度:同一层次次上模块总数数的最大值。扇出:一个模块块直接控制的的下级模块的的数目。扇入:有多少个个上级模块直直接
26、调用它。原则:顶层模块块扇出比较大大,中间层模模块扇出较小小,底层模块块具有较大的的扇入。(4) 尽量使模块的作作用域在其控控制域内。模块的控制域:这个模块本本身以及所有有直接或间接接从属它的模模块的集合。模块的作用域:受该模块内内一个判断所所影响的所有有模块的集合合。(5) 尽力降低模块接接口的复杂度度(6) 力求模块功能可可以预测12. 详细设计具体描述模块结结构图中的每每一模块,即即给出实现模模块功能的实实施机制,包包括一组例程程和数据结构构。13. 结构化程序设计计方法一种基于结构的的编程方法,即即采用顺序结结构、选择结结构和重复结结构进行编程程,其中每一一结构只允许许一个入口和和一个
27、出口。三种基本的控制制结构:(a) 顺序结结构,先执行行A再执行BB;(b) IF-THEN-ELSE型型选择(分支支)结构;(c)DO-WWHILE型型循环结构14. 详细设计工具(1) 程序流程图程序流程图:程程序流程图又又称为程序框框图,它是历历史最悠久使使用最广泛的的描述过程设设计的方法,然然而它也是用用得最混乱的的一种方法。(2) 盒图(N-S图图)出于要有一种不不允许违背结结构程序设计计精神的图形形工具的考虑虑,Nasssi和Shnneiderrman提出出了盒图,又又称为N-SS图。(a) 顺序;(b) IIF-THEEN-ELSSE型分支;(c) CCASE型多多分支;(d)
28、循环;(e) 调调用子程序AA (3) PAD图PAD是问题分分析图(Prroblemm Anallysis Diagrram)的英英文缩写,自自1973年年由日本日立立公司发明以以后,已得到到一定程度的的推广。它用用二维树形结结构的图来表表示程序的控控制流,将这这种图翻译成成程序代码比比较容易。下下图给出PAAD图的基本本符号。(4) 类程序设计语言言PDLPDL也称为伪伪码,它是用用正文形式表表示数据和处处理过程的设设计工具。PDL具有严格格的关键字外外部语法,用用于定义控制制结构和数据据结构;另一一方面,PDDL表示实际际操作和条件件的内部语法法通常又是灵灵活自由的,以以便可以适应应各种
29、工程项项目的需要。因因此,一般说说来PDL是是一种“混杂”语言,它使使用一种语言言(通常是某某种自然语言言)的词汇,同同时却使用另另一种语言(某某种结构化的的程序设计语语言)的语法法。可以作为注释工工具直接插在在源程序中间间。15. 设计规约完整准确地描述述满足需求规规约所要求的的所有功能模模块,以及伴伴随功能模块块而出现的非非功能机制。设计规约包括概概要设计规约约和详细设计计规约。(1) 概要设计规约指明高层软件体体系结构。 系统环境 软件模块的结构构 模块描述 文件结构和全局局数据文件的的逻辑结构 测试需求(2) 详细设计规约 各处理过程的算算法 算法所涉及的全全部数据结构构的描述【例题】
30、根据下下列变换型的的数据流图,设设计出初始软软件结构图。题40图【答案】主控模块F9f5F9f5输出模块G变换模块输入模块输入A输入B变换C变换D变换E变换F【解析】这是一一个典型的变变换型数据流流程图,将其其转换为模块块控制图时,第第一层可以分分解为三个模模块:输入模模块、变换模模块、输出模模块。每一模模块还可以继继续分解。第四章 面向对对象方法UMML复习建议:以不变应万变。统一建模语言(UUnifieed Moddelingg Langguage,UUML)UML是目前流流行的建模语语言,特别是是在网站开发发中广泛应用用。UML涉及很多多的图,每一一种图都有不不同的图形符符号、作用,在在
31、什么情况下下用何种图来来描述是本章章的重点内容容。考核题目类型包包括单项选择择题、填空题题、简答题,分分值在10%15%之间间。需要考生生掌握各种UUML图的作作用。面向对象建模过过程的步骤:(1) 需求获取a) 建立用况(usse casse)模型和和用况场景(2) 需求分析a) 建立活动图和状状态图b) 类图(建立域模模型)c) 顺序图(实现用用况)(3) 编写需求规格说说明书(4) 需求验证第一节 UMLL术语表1. 对象(objeect)对象(objeect)是系系统中用来描描述客观事物物的一个实体体。一个对象象由一组属性性和对这组属属性进行操作作的一组方法法组成。 对象只描述客客观事
32、物本质质的与系统目目标有关的特特征。 对象之间通过过消息通信,一一个对象通过过向另一个对对象发送消息息激活某一个个功能。2. 类类(Classs)是具有相相同属性、操操作、关系和和语义的一组组对象的集合合,它为属于于该类的全部部对象提供了了同一的抽象象描述,其内内部包括属性性和服务两个个主要部分。类有超类(Suupercllass)和和子类(Suubclasss)之分。(相对而言)对对象与类的关关系犹如程序序设计语言中中变量和类型型的关系。对对象是类的实实例(Insstancee)。类在类图上使用用包含三个部部分的矩形来来描述,如下下图4-1所示。最最上面的部分分显示类的名名称,中间部部分包含
33、类的的属性,最下下面的部分包包含类的操作作(或者说方法)。 图4-1:类图图中的示例类类对象3. 属性对象或类的属性性(attrributees)描述了了对象的具体体特征。属性性有属性名和和属性值(或或称属性状态态)。每条属性可以包包括属性的可可见性、属性性名称、类型型、缺省值和和约束特性。UML规定类的的属性的语法法为:可见性属性名名 :类型型 = 缺省省值性质质串可见性:pubblic(+) 、prrotectted(#)、pprivatte(-)、包包内的()4. 类的操作通常也被称为功功能,但是它它们被约束在在类的内部,只只能作用到该该类的对象上上。操作名、返返回类型和参参数表组成操操
34、作界面。UML规定操作作的语法为:可见性 操作名名 (参数表表) : 返返回类型 性质串例如:+取客户户地址(客户户名:字符串串):字符串串5. 接口接口是操作的一一个集合,其其中每个操作作描述了类、构构件或子系统统的一个服务务。(1) 采用具有分栏和和关键字的的矩形符号来来表示(2) 采用小圆圈和半半圆圈来表示示6. 协作协作是一个交互互,涉及交互互的三要素:交互各方、交交互方式以及及交互内容。7. 用况(use case)/用况对一组动作序列列的描述,系系统执行这些些动作应产生生对特定参与与者有值的、可可观察的结果果。8. 主动类至少具有一个进进程或线程的的类。能够启启动系统的控控制活动,
35、并并且其对象的的行为通常与与其它元素行行为并发的。表示方法:两条条竖线。9. 构件系统设计中的一一种模块化部部件,通过外外部接口隐藏藏了它的内部部实现。10. 制品系统中包含物理理信息的、可可替代的物理理部件。11. 节点节点是在运行时时存在的物理理元素,通常常表示一种具具有记忆能力力和处理能力力的计算机资资源。12. 关联(Assoociatiion)关联反映了类和和类之间的静静态关系。关关联在模型中中,特别是在在永久业务对对象模型中是是最基本的关关系。链(link)是是对象之间具具有特定语义义关系的抽象象。(1) 关联名(2) 导航(3) 角色(4) 可见性(5) 多重性:多重性性(Mul
36、ttipliccity)定定义了与一个个对象/类相联系的的对象/类出现一次次,该对象/类可能出现现的最小和最最大的数目。(6) 限定符(7) 聚合:一个类是是另一类的一一部分。(8) 组合:是聚合的的一种特殊形形式(9) 关联类(10) 约束13. 泛化/继承继承:特殊类(子子类)的对象象拥有其一般般类(超类)的的全部属性与与服务,称作作特殊类对一一般类的继承承(Inheeritannce) 。利利用继承(iinheriitancee),子类可可以继承父类类的属性和方方法。子类父类也可分分别叫做特殊殊类一般类类、子类超超类、派生类类基类等。继承反映了类之之间的一种联联系或结构:一般-特殊殊结构
37、,也称称分类结构(CClassiificattion SStructture),是是由一组具有有继承关系的的类所组成的的结构。仅由由一些单继承承关系的类形形成的结构又又称作层次结结构(Hieerarchhy Strructurre);由一一些存在多继继承关系的类类形成的结构构又称作网格格结构(Laatticee Struucturee)。 14. 多态性(Pollymorpphism)是指一般类中定定义的属性或或服务被特殊殊类继承之后后,可以具有有不同的数据据类型或表现现出不同的行行为。这使得得同一属性或或服务名在一一般类及其各各个特殊类中中具有不同的的语义。多态是指用同一一界面形式表表示不同
38、对象象类中的不同同实现的能力力。多态性的实现基基于两个基本本原理:封装装和泛化。多态性实现的方方法:(1)泛化(2)定义一个个抽象类接口类 15. 细化细化是类目之间间的语义关系系,其中一个个类目规约了了保证另一类类目执行的契契约。用空心三角形的的虚线表示。16. 依赖依赖是一种使用用关系,用于于描述一个类类目使用另一一类目的信息息和服务。用有向虚线段表表示。17. 包包是模型元素的的一个分组,一一个包本身可可以被嵌套在在其它包中,并并且可以含有有子包和其它它类型的模型型元素。第二节 UMLL的模型表达达格式图形化工具。图的类别:(一)结构图(1)对象结构构建模类图和对象象图(2)应用结构构建
39、模包图、构件件图、部署图图、组合结构构图(二)行为图对象交互建模顺序图、协协作图(通信信图、交互综综述图、定时时图)、状态态图(状态机机)对象行为建模用况图、活活动图1. 类图任何系统都需要要从两方面进进行描述:结结构信息和行行为信息。系系统的组成表表达了系统各各组成要素之之间的联系,称称为结构;这这些组成要素素的执行逻辑辑称为行为。在在面向对象方方法中,系统统的结构信息息是通过类图图(classs diaagram)来来描述的;而而系统行为信信息则通过用用况图、交互互图(包括顺顺序图和协作作图)和状态态图来描述的的。也就是说说,前者说明明了系统的组组成部分是什什么,而后者者则说明了系系统做什
40、么。类图(classs diaagram)表表达了系统的的静态结构信信息,即系统统是由哪些类类组成的,这这些类之间的的关系是什么么。类图显示系统各各个部分以及及怎样将它们们组装起来;但却不能模模拟组装后系系统的工作情情况。构造类图的三个个关键问题是是:(1) 系统中有哪些需需要关心的类类?(2) 这些类是如何描描述的?(3) 这些类之间的联联系是什么?创建一个系统的的类图,要涉涉及4方面的的工作:(1) 模型化化待建系统中中的概念,形形成类图中基基本元素(2)模型化待待建系统中的的各种关系,形形成该系统的的初始关系。(3)模型化系系统中的协作作,给出该系系统的最终类类图。(4)模型化逻逻辑数据
41、库模模式2. 用况图(usee casee 图) 用况是对一个参参与者(acctor)使使用系统的一一项功能时所所进行的交互互过程的一个个文字描述序序列。用况是系统、子子系统或类 与 外部的的参与者(aactor)交交互的动作序序列的说明,包包括可选的动动作序列和会会出现异常的的动作序列。用况图(Usee Casee Diaggram)是是指反映活动动者,系统边边界所封闭的的用况,及活活动者与用况况之间,用况况与用况之间间关系的一种种图。6个模型元素:(1) 主题(2) 用况(3) 参与者: 系统用户: 是是最常见的一一种角色。是是直接使用系系统的人。 另一个系统:如如DSS可作作为MIS的的
42、一个活动者者。补货系统统可作为定单单处理系统的的活动者。 时间:当经过一一定时间触发发系统中的某某个事件时,时时间就成了角角色。例如定定期的某些业业务处理工作作。(4) 关联(5) 泛化(6) 依赖3. 状态图对象或者类的整整体行为的某某些规则所能能适应的对象象或类的状况况、情况、条条件、形式或或生存周期。仅仅当对象的行行为规则不同同时,才称对对象处于不同同的状态。 在由对象的的全部属性的的属性值集合合所构成的笛笛卡儿乘积中中的每一个等等价集合(即即,使对象的的服务呈现相相同行为规则则的属性值的的集合)称之之为对象的一一种状态。 例如,对象象发票(innvoicee)可以根据据其付款的情情况分
43、为三个个状态:未付付款(unppaid)、部部分付款(ppartlyy paidd)以及付清清款(fullly paaid)。状态图(staate chhart ddiagraam)使用状状态、事件和和转换来记录录对象在其生生命周期中所所历经的状态态序列。 对象的初始始状态是图中中任何事件都都未对该对象象起作用时的的状态。 状态代表对对象生命周期期中的某一瞬瞬间。 转换表明作作为对事件的的响应结果,对对象将从一种种状态转换到到另一种状态态并执行某个个动作。 触发状态转转换的事件在在状态转换字字符串中命名名。双击一个个状态转换,除除事件签名以以外,还可用用字符串为其其加注临界条条件、动作表表达式
44、等标签签。4. 顺序图顺序图(seqquencee diaggram)表表示了对象之之间传送消息息的时间顺序序,也就是对对象之间的交交互顺序,这这些交互是指指在场景或用用况的事件流流中发生的。每每一个对象(类类)用一条生生命线来表示示即用垂直直线代表整个个交互过程中中对象的生命命期。生命线线之间的箭头头连线代表消消息。顺序图中的基本本元素包括: 活动者,指指用况中的活活动者。 对象,指在在用况中的内内部对象。 生命线:在在顺序图中的的一个对象下下面的竖线,用用以显示这个个对象的生命命期。时间从从上到下流过过。生命线实实际上显示了了消息的顺序序,在生命线线之上的消息息比在它之下下的消息先发发生。在生命命线中的棒形形方框表示的的是活动生命命线,用以强强调一个对象象只有在一个个场景的部分分中处于活动动状态。 消息,指场场景内由事件件流定义的内内部事件成为为在对象和活活动者或其他他