软件工程复习总结--最新《软件工程》学科复习总结★第一部分:软件工程概述第一章软件工程概述1、软件工程的定义及其概念☐软件工程是①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,即将工程化应用于软件开发和管理之中,②对①中所选方法的研究。
2、软件生命周期模型(三个阶段、八个步骤)☐三个阶段:定义、开发、维护☐八个步骤:(定义阶段)问题定义、可行性研究、需求分析;(开发阶段)总体设计、详细设计、编码与单元测试、综合测试;(维护阶段)运行维护。
3、软件过程模型中模型举例☐瀑布模型、快速原型化模型、增量模型、螺旋模型、RUP(Rational统一过程)☐Rational Unified Process,RUP 统一软件开发过程补充:☐瀑布模型(传统瀑布模型、带信息反馈的瀑布模型)☐快速原型化模型☐增量模型☐螺旋模型☐喷泉模型4、软件工程方法学的三要素(1)过程:获取高质量软件所需要的一系列任务框架(活动)、任务完成顺序、以及质量保证点和项目管理------做什么;(2)方法:过程中规定各项任务中采取的技术方法------如何做;(3)工具:为方法应用提供自动或半自动支持环境★第二部分:统一建模语言(UML)第三章类图1、类图的概念及作用(补充)☐概念:类图是描述类、协作(类或对象间的协作)、接口及其关系的图。
类图是逻辑视图的重要组成部分,用于对系统的静态结构建模,涉及到具体的实现细节。
☐作用:类图常用来描述业务或软件系统的组成、结构和关系。
☐表示方法:类名、属性、方法2、按照关系的性质,关联分为哪四种,其图形如何表示?☐关联分为:包含、泛化、依赖、实现四种☐包含⏹聚合:类之间的一种整体与部分的关系体现了一种层次结构,整体类位于⏹组合:是一种特殊形式的聚合(强聚合),聚合中的每个部分只能属于一个整体;表示类之间整体和部分的关系。
整体与部分具有相同的生存期。
(组合的图形)◆举例:☐泛化:表示两个类元间“一般”与“特殊”的关系。
对应面向对象编程语言中类与类之间的继承◆☐依赖:软件开发中,往往会设计一些公用类,供别的类调用,如果这些公用类出问题了,那调用这些公用类的类都会因此而出问题;两个元素之间的一种关系,其中一个元素(提供者)的变化将影响另一个元素(客体),或向它提供所需信息;显示一个类引用另一个类。
(依赖的图形)◆举例:你很爱你老婆,没有你老婆你活不下去,可以这样表示☐实现:表达一种说明元素与实现元素之间的关系;类和接口之间的关系是实现关系,表示类实现接口提供的操作;显示一个类引用另一个类。
(实现的图形)◆举例:FriendList类对接口UserBehavior中方法的实现3、关联的语法☐关联有名称、角色、多重性、导航性、约束、限定符等语法☐关联名:描述关联的作用;通常使用动词或动词短语;◆举例:☐角色:关联两端的类可以某种角色参与关联;通常使用名词或名词短语;◆ 举例:☐多重性:某个类有多少个对象可以和另一个类的单个对象关联; ◆ 举例:☐导航性:用箭头显示导航性;描述源对象通过链接访问目标对象; ◆ 举例:4、关联的递归关系☐ Windows 操作系统中有文件夹和文件,文件夹里也有文件夹,用类图表达出文件夹和文件的关系。
(自包含)第四章用例图(画图)1、用例图的概念,它由哪几部分构成? ☐ (1)用户模型视图也称为用例图,它从用户的角度来描述系统功能,并指出各功能的操作者。
用例图是捕获用户需求的强有力工具,它描述了系统应该实现什么样的功能(2)用例图是外部参与者所能观察到的系统功能的模型图,它将系统、子系统和类的行为可视化(3)用例图是获取需求的直接方法(4)用例图还是软件测试人员进行测试的指导☐ 用例图由三部分构成:参与者、一组(个)用例、关系2、用例图的四种基本关系及其图形☐ 用例图的四种基本关系为:关联、包含、扩展、泛化☐关联(association):描述参与者与用例之间的关系;用单向箭头,表示谁启动用例;每个用例都有角色启动,除包含和扩展用例;◆举例:☐包含(include):是指两个用例之间的关系。
其中一个用例(基本用例,base use case)的行为包含了另一个用例(包含用例,inclusion use case)的行为。
◆举例:☐扩展(extend):一个用例可以被定义为基础用例的增量扩展,称作扩展关系。
扩展关系是把新的行为插入到已有用例中的方法。
基础用例即使没有扩展用例也是完整的。
一般情况下基础用例的执行不会涉及扩展用例,只有特定条件发生,扩展用例才被执行。
◆举例:☐泛化(generalization):一个用例和其几种情形的用例间构成泛化关系。
往往父用例表示为抽象用例。
任何父用例出现的地方子用例也可出现。
◆举例:3、什么是用况规约?☐所谓规约,就是业务规则的规格说明。
针对每一个用况,都应该有一个用况规约文档与之相对应,以描述该用况的细节内容。
每一个用况的用况规约,都应该包含以下内容(1) 用况名称(Use Case Name).用况的名称一般由“动词+名词”构成,简单说明“做什么”。
(2) 简要说明(Brief Description).简要介绍该用况的作用和目的。
(3) 前置条件(Previous Condition).系统在执行该用况前必须处在的状态。
(4) 事件流(Flow of Event) 描述该用况所有可能的场景,它包括基本流和备选流。
⏹基本流:描述该用况在正常情况下的场景。
⏹备选流:描述用况执行过程中一场情况或突发情况。
(5) 用况场景(Use Case Scenario).包括成功场景和失败场景,场景主要由基本流和备选流组合而成。
(6) 特殊需求(Special Requirement).描述与该用况相关的非功能性需求(性能、可靠性、可用性和可扩展性等)以及涉及约束(所使用的操作系统、开发工具等)。
(7) 后置条件(Post Condition).系统在执行完该用况之后应该处在的状态。
4、实例:“修改密码”的用况规约⏹用况名称:修改密码⏹参与者:多个求职者⏹简要说明:求职者为了密码安全且方便使用,修改了密码⏹前置条件:1、求职者已经登录网上求职招聘系统2、求职者输入旧密码3、求职者输入新密码⏹基本事件流:1、求职者鼠标单击“修改密码”按钮2、系统出现一个对话框,显示“密码修改成功”3、求职者单击“确定”按钮4、用况结束⏹其他事件流A1:在单击“修改密码”按钮之间,求职者随时可以按“清空”按钮,文本框清空,可以重新填写内容。
⏹异常事件流E1:1、系统出现一个对话框,显示“旧密码输入错误”2、求职者单击“确定”按钮3、返回到修改密码页面,旧密码文本框被清空⏹异常事件流E2:1、系统出现一个对话框,显示“密码要设在6~10位之间”2、求职者单击“确定”按钮3、返回到修改密码页面,新密码文本框被清空⏹异常事件流E3:1、系统出现一个对话框,显示“旧密码输入错误3次”2、系统自动将该用户注销3、系统返回到首页⏹后置条件:求职者的密码被重置,再次登录时必须使用新密码第五章顺序图(画图)(交互图)1、顺序图的概念和作用:☐定义:顺序图也称为时序图,它描述了系统中,对象间通过消息进行的交互,它强调了消息在时间轴上的先后顺序。
☐作用:顺序图常用来描述用例的实现,它表明了由哪些对象,通过消息相互协作来实现用例的功能,在顺序图中,标识了消息发生交互的先后顺序。
2、顺序图的组成要素有哪些?(对象和消息是主要内容)☐顺序图中的元素包括对象、生命线、控制焦点、消息。
消息表示了对象间的通讯,生命线表示了对象的生存期, 控制焦点表示对象正在执行一些活动。
☐对象:顺序图中对象的符号和对象图中对象所用的符号一样。
将对象置于顺序图的顶部意味着在交互开始的时候对象就已经存在了,如果对象的位置不在顶部,那么表示对象是在交互的过程中被创建的。
☐消息⏹消息是从一个对象到另一个或者几个其他对象的信息传递,简单地说,消息就是对象与对象、参与者与参与者,或者对象与参与者之间的某种通信方式。
⏹消息可以是一个信号或一次操作调用,收到消息即为事件。
可以有两种消息,一种是从发送者向接收者发送信号,另一种是由调用者调用接收者的操作⏹对象之间的协作通过相互发送消息实现3、在UML中,将对象之间的消息分为哪几种类型?☐在UML中,将对象之间的消息分为五种类型:调用、返回、发送、创建和销毁。
☐调用(call):这是最常用的一种消息,它表示调用某个对象的一个操作(通常格式为“对象名.成员方法”)。
可以是对象之间的调用,也可以是对象本身的调用(局部调用)。
☐返回(return ):返回表示被调用的对象向调用者返回一个值。
在UML 的交互图中,将采用如虚线箭头线来表示,在箭头线上应标明返回值。
☐ 发送(Send ):发送是指向对象发送一个信号。
信号和调用不同,它是一种事件,用来表示各对象间进行通信的异步激发机制。
☐ 创建(Create )和销毁(Destroy ):也就是创建和销毁一个对象。
创建对象通常是利用构造方法来实现的,对象一创建,生命线就开始;生命终止符号用一个较大的叉形符号表示。
4、实例:自动锁车系统中,“锁车”用例的顺序图5、实例:“登录”用例顺序图(MV 模式)第八章活动图(不画图)1、活动图的概念及作用☐ 概念:活动图是描述系统或业务的一序列活动构成的控制流,它描述了系统从一种活动转换到另一种活动的整个过程。
☐ 作用:活动图常用来描述业务或软件系统的活动轨迹,描述了系统的活动控制流程。
用活动图可以对业务过程、工作流和用例实现进行建模。
2、活动图中的语法(组成元素)☐ 初始节点和终点、活动结点、转换、分支与监护条件、分岔与汇合3、活动图与流程图的区别☐活动图有分岔、汇合与并发,可以选择多个执行。
流程图只有分支,只能选一个执行。
流程图没有标识泳道,流程图使用范围比活动图小。
★第三部分:数据库设计第九章数据库设计1、候选码和主码的概念☐候选码(Candidate key)若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码。
☐主码(Primary key):若一个关系有多个候选码,则选定其中一个为主码2、关于对范式的理解⏹第一范式(1NF,每一列都是不可分割的基本数据项)⏹第二范式(2NF,消除部分子函数依赖,即属性完全依赖于主键)⏹要求实体的属性完全依赖于主关键字。
所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体。
⏹第三范式(3NF,消除传递依赖,即属性不依赖于其它非主属性] )⏹要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。
例如,存在一个部门信息表,其中每个部门有部门编号(dept_id)、部门名称、部门简介等信息。