![](https://img-blog.csdnimg.cn/2bd037ccddee4b05b58961fd28c75891.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
软件工程笔记
文章平均质量分 87
本专栏是软件工程核心知识点总结,适用于期末考试,考研等
快乐江湖
专注人工智能领域和优质计算机学习笔记创作
展开
-
软件工程学习笔记
【专栏必读】王道考研408操作系统万字笔记(有了它不需要你再做笔记了):各章节内容概述导航和思维导图【专栏必读】王道考研408数据结构万字笔记(有了它不需要你再做笔记了):各章节内容概述导航和思维导图【专栏必读】王道考研408计算机组成原理万字笔记(从学生角度辅助大家理解):各章节导航及思维导图【README】Linux系统编程必读:本专栏内容提要以及系统调用接口总结C++学习【专栏必读】数据库系统概论第五版(王珊)专栏学习笔记目录导航注意:可看视频介绍:本专栏笔记全部纯手打,内容以.原创 2022-02-05 21:01:06 · 47742 阅读 · 32 评论 -
(软件工程复习核心重点)第十二章软件项目管理习题
选择题填空题功能点技术信息域特性有输入项数输出项数查询数主文件数外部接口数一个任务集合包括一组软件工程工作任务里程碑可交付的产品名词解释软件项目管理:管理是通过计划、组织和控制等一系列活动,合理地配置和使用各种资源,以达到既定目标的过程。软件项目管理先于任何技术活动之前开始,并且贯穿于软件的整个生命周期之中。软件项目管理过程从一组项目计划活动开始,而制定计划的基础是工作量估算和完成期限估算代码行技术:代码行技术依据以往开发类似产品的经验和历史数据,估计实现一个功能所原创 2022-03-05 15:51:41 · 2279 阅读 · 0 评论 -
(软件工程复习核心重点)第十二章章软件项目管理
文章目录一:估算软件规模(1)代码行技术(2)功能点技术二:工作量估算三:进度计划(1)甘特图(Cantt图)(2)工程网络四:人员组织五:质量保证六:软件配置管理七:能力成熟度模型软件项目管理: 通过计划、组织和控制等一系列活动,合理地配置和使用各种资源,以达到既定目标的过程一:估算软件规模(1)代码行技术根据以往开发经验和开发数据,估算实现一个功能所需要的源代码行数优点: 代码是所有项目都有的“产品”,容易计算代码行数缺点:源代码为软件配置的一个部分,用来衡量整个软件规模不太合理不同语原创 2022-01-08 14:49:50 · 2514 阅读 · 0 评论 -
(软件工程复习核心重点)第一章软件工程概论-第一节:软件和软件危机
文章目录一:什么是软件二:软件分类(1)基于软件功能划分(2)基于软件规模划分三:软件发展的阶段(1)程序设计阶段(2)程序系统阶段(3)软件工程阶段一:什么是软件软件:计算机程序、文档、运行程序所必须的数据、方法和规则。也即软件=程序+文档+数据方法和规则在文档中说明(README),在程序中实现二:软件分类(1)基于软件功能划分基于软件功能,可以将软件划分为如下三类:系统软件: 与计算机硬件紧密配合使计算机各个部件与相关软件及数据能够协调、高效工作的软件。比如操作系统支撑软件: 协助原创 2021-12-29 20:56:05 · 13956 阅读 · 11 评论 -
(软件工程复习核心重点)第一章软件工程概论-第二节:软件工程
软件工程:采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,经济的开发出高质量的软件并维护它。原创 2021-12-30 20:02:54 · 8031 阅读 · 1 评论 -
(软件工程复习核心重点)第一章软件工程概论-第三节:软件生命周期
文章目录一:软件定义(1)问题定义(2)可行性研究(3)需求分析二:软件开发(1)总体设计(2)详细设计(3)编码和单元测试(4)综合测试三:软件维护运行维护一:软件定义(1)问题定义问题定义:弄清用户要解决什么问题(2)可行性研究可行性研究:确定问题是否可行(3)需求分析需求分析:为了解决这个问题,系统需要具备怎样的功能二:软件开发(1)总体设计总体设计:设计软件结构,确定程序由哪些模块组成以及模块间的关系(2)详细设计详细设计:针对每个模块,设计详细规格说明,确定算法和数据结构原创 2021-12-30 20:17:49 · 6519 阅读 · 0 评论 -
(软件工程复习核心重点)第一章软件工程概论-第四节:软件过程及相关模型
文章目录一:软件过程概念二:主要模型(1)瀑布模型A:定义B:特点C:优缺点D:改进的瀑布模型(2)快速原型模型A:定义B:优缺点(3)增量模型A:定义B:优缺点C:风险更大的增量模型(4)螺旋模型A:定义B:优缺点(5)喷泉模型(6)其他模型一:软件过程概念软件过程:是为了获得高质量软件所需要完成的一系列任务框架。通常用软件生命周期模型来描述软件过程。常见模型有:瀑布模型快速原型模型增量模型螺旋模型喷泉模型其他模型二:主要模型(1)瀑布模型A:定义瀑布模型:将软件生命周期的各项原创 2021-12-30 21:07:54 · 8452 阅读 · 1 评论 -
(软件工程复习核心重点)第二章可行性研究-第一节:可行性研究基本介绍
文章目录(1)可行性研究的目的(2)可行性研究的本质(3)可行性研究的过程(1)可行性研究的目的可行性研究的目的:用最小的代价在最小的时间内确定问题是否可以被解决(2)可行性研究的本质可行性研究的本质:系统分析和设计过程的大大压缩和简化,在较高层次上以较为抽象的方式进行系统的分析和设计过程(3)可行性研究的过程...原创 2021-12-30 21:37:43 · 14139 阅读 · 0 评论 -
(软件工程复习核心重点)第二章可行性研究-第三节:数据流图
文章目录一:数据流图的定义(DFD)二:数据流图的特点三:数据流图的符号(1)符号(2)注意(了解)四:数据流图示例(1)示例1A:首先从题目中提取四种成分B:画数据流图(2)示例2一:数据流图的定义(DFD)数据流图:描述信息流和数据从输入到输出所经受的变换。没有任何具体物理部件,只是描绘数据在软件中流动和被处理的逻辑过程二:数据流图的特点数据流图中没有具体的物理部件,只是描绘数据在软件中流动和被处理的逻辑过程数据流图是系统逻辑功能的图形表示,是分析员与用户之间极好的通信工具设计时只需考虑系原创 2022-01-08 15:33:35 · 11976 阅读 · 5 评论 -
(软件工程复习核心重点)第二章可行性研究-第四节:数据字典
文章目录一:数据流图(DFD)(1)定义(2)符号(3)数据流图画法一:数据流图(DFD)(1)定义数据流图:描述信息流和数据从输入到输出所经受的变换。没有任何具体物理部件,只是描绘数据在软件中流动和被处理的逻辑过程(2)符号(3)数据流图画法1:确定系统输入输出、源点以及终点2:画系统顶层数据流图用加工将输入输出数据连接起来,给加工、数据等命名3:自动向下分解,画出分层数据流图将加工细分成几个数据流图表示...原创 2021-12-31 16:30:45 · 6915 阅读 · 0 评论 -
(软件工程复习核心重点)第三章需求分析-第一节:需求分析相关概念
文章目录一:需求分析相关概念二:需求分析的任务(1)确定对系统的综合要求(2)分析系统的数据要求(3)导出系统的逻辑模型(4)修正系统开发计划三:与用户沟通获取需求的方法(1)访谈(2)面向数据流自动向下求精(3)简易的应用规格说明技术(4)快速建立软件原型四:分析建模与规格说明(1)模型(2)模型分类一:需求分析相关概念暂略二:需求分析的任务(1)确定对系统的综合要求功能要求:系统必须提供的服务功能性能要求:系统必须满足的约束条件(如响应速度、安全性等)可靠性和可用性需求:可靠性定量、可用性原创 2021-12-31 18:42:40 · 6460 阅读 · 1 评论 -
(软件工程复习核心重点)第三章需求分析-第二节:实体联系图(ER图)
文章目录一:实体联系图(E-R图)(1)定义(2)符号表示(3)示例二:状态转换图(1)定义(2)表示方式一:实体联系图(E-R图)(1)定义使用实体联系图可以建立数据模型,利用E-R图描绘的数据模型称之为E-R模型实体: 描述的数据对象属性: 描述数据对象的性质联系: 描述数据对象之间的交互方式其中联系有一对一一对多多对多(2)符号表示(3)示例一个学生可选修多门课,一门课有若干学生选修;一个教师可讲授多门课,一门课只有一个教师讲授;学生选修一门课,产生成绩;学生的属原创 2021-12-31 19:22:52 · 6877 阅读 · 0 评论 -
(软件工程复习核心重点)第三章需求分析-第三节:状态转换图
文章目录一:定义(了解)二:符号表示一:定义(了解)状态转换图(状态图) :通过描绘系统的状态及引起系统状态转换的事件来表示系统的行为。状态图还提供了 行为建模机制,指明了作为特定事件的结果系统将做哪些动作状态 :状态是任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。状态规定了系统对事件的响应方式。系统对事件的响应,既可以是做一个(或一系列)动作,也可以是仅仅改变系统本身的状态,还可以是既改变状态,又做动作状态有初态、终态和中间状态一张状态图只能有一个初态,而终态可以没有也可以有原创 2022-01-09 15:12:39 · 6386 阅读 · 0 评论 -
(软件工程复习核心重点)第三章需求分析-第四节:其他图形工具
文章目录一:层次方框图二:Warnier图三:IPO图一:层次方框图用树形结构的一系列矩形框描绘数据的层次结构优点:随着结构的逐步精细,对数据结构的描绘也越来越详细二:Warnier图用树形结构描绘信息的层次结构优点:可以表明信息的逻辑组织;可以表明某类信息出现的条件或者是否重复出现⊕(异或)表明一类信息或一个数据元素在一定条件下才出现,而且这个符号上、下方的两个名字所代表的数据只能出现一次圆括号中的数字指明了这个名字代表的信息类在这个数据结构中重复出现的次数三:IPO图原创 2021-12-31 19:40:41 · 4145 阅读 · 0 评论 -
(软件工程复习核心重点)第三章需求分析-第五节:验证软件需求
文章目录一:验证需求正确性的四个方面二:验证软件需求的方法三:用于需求分析的软件工具一:验证需求正确性的四个方面一致性:所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾完整性:需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能现实性:指定的需求应该能用现有1的硬件和软件技术可以实现有效性:必须证明需求是正确有效的,确实能解决用户面对的问题二:验证软件需求的方法验证一致性:自然语言描述需求、形式化语言描述需求、使用软件工具验证验证现实性:参照开发经验验证完整性和有效原创 2021-12-31 19:54:51 · 4531 阅读 · 0 评论 -
(软件工程复习核心重点)第四章总体设计-第一节:总体设计基本概念和设计过程
文章目录一:总体设计的概念(1)定义(2)主要任务二:设计过程(1)系统设计阶段1:设想供选择的方案2:选取合理的方案3:推荐最佳方案(2)结构设计阶段4:功能分解5:设计软件结构6:设计数据库7:制定测试计划8:书写文档9:审查和复查一:总体设计的概念(1)定义总体设计的基本目的就是回答“系统应该如何实现”这个问题,又称为概要设计或初步设计(2)主要任务1:确定系统中每个程序由哪些模块组成以及这些模块相互间的关系2:划分出物理元素。包括程序、文件、数据库、文档等二:设计过程设计过程包括系统原创 2022-01-02 15:09:00 · 7227 阅读 · 0 评论 -
(软件工程复习核心重点)第四章总体设计-第二节:设计原理
文章目录一:模块化(1)模块(2)模块化二:抽象三:逐步求精(1)定义(2)MIller法则:注意力集中在(7 ±\pm± 2)四:信息隐藏和局部化五:模块独立(1)定义(2)耦合A:定义B:分类(3)内聚A:定义B:分类软件设计目标一:模块化(1)模块模块:能够单独命名,由边界元素限定的程序元素的序列,是构成程序基本构件(2)模块化模块化:把程序划分成独立命名且可以独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能以满足用户的需求二:抽象抽象:抽出事物原创 2022-01-02 15:37:45 · 5344 阅读 · 0 评论 -
(软件工程复习核心重点)第四章总体设计-第三节:启发规则
文章目录一:启发规则(1)改进软件结构提高模块独立性(2)模块规模应该适中(3)深度、宽度、扇入和扇出应适当(4)模块的作用域应该在控制欲之内(5)力争降低模块接口的复杂程度(6)设计单入口单出口的模块(7)模块功能应该可以预测二:描绘软件结构的图形工具(1)层次图和HIPO图(2)结构图三:面向数据流设计方法(结构化设计方法SD)(1)数据流分类A:变换流B:事物流(2)变换分析一:启发规则(1)改进软件结构提高模块独立性(2)模块规模应该适中(3)深度、宽度、扇入和扇出应适当深度:表示软件结原创 2022-01-02 16:25:22 · 7588 阅读 · 0 评论 -
(软件工程复习核心重点)第四章总体设计-第四节:描绘软件结构的图形工具
文章目录一:层次图和HIPO图二:结构图(1)定义(2)符号A:基本符号B:特殊符号一:层次图和HIPO图层次图用于描绘软件的层次结构,其中一个矩形框代表一个模块,方框间的连线表示调用关系而不像层次方框图那样表示组成关系层次图很适于在自顶向下设计软件的过程中使用。通常用层次图作为描绘软件结构的文档最顶层的方框代表正文加工系统的主控模块,它调用下层模块完成正文加工的全部功能;第二层的每个模块控制完成正文加工的一个主要功能,第二层的模块又可以调用下一层的模块完成具体的工作HIPO图本质就是层原创 2022-01-11 20:01:24 · 6858 阅读 · 2 评论 -
(软件工程复习核心重点)第五章详细设计-第三节:过程设计工具
文章目录一:详细设计目的及任务(1)目的(2)任务二:结构化程序设计(1)经典控制结构(2)扩充的控制结构(3)修正的结构程序设计三:人机界面设计(1)重要性(2)四个问题(3)设计指南A:一般交互指南(全局性)B:信息显示指南C:数据输入指南四:过程设计工具一:详细设计目的及任务(1)目的确定怎样具体地实现所要求的系统。得出对目标的精确描述(2)任务过程设计:设计软件体系结构中所包含的每个模块的实现算法数据设计:设计软件数据结构接口设计:设计软件内部各模块之间的接口二:结构化程序设计原创 2022-01-04 14:45:13 · 8628 阅读 · 0 评论 -
(软件工程复习核心重点)第五章详细设计-第五节:程序复杂度的定量度量
文章目录一:价值(了解)二:McCabe方法(1)流图A:定义B:把程序流程图映射为流图C:PDL翻译为流图(2)环形复杂度A:定义B:计算方法三:Halstead方法(了解)(1)定义(2)方法一:价值(了解)把程序的复杂程度乘以适当数可估算出软件中错误的数量以及开发需要的工作量定量度量的结果可以用来比较两个不同的设计或两个不同算法的优劣程序的定量的复杂程度可以作为模块规模的精确限度二:McCabe方法(1)流图A:定义流图实质上是“退化了的”程序流程图,它仅仅描绘程序的控制流程,完全原创 2022-01-12 20:02:57 · 8350 阅读 · 0 评论 -
(软件工程复习核心重点)第六章实现和测试-第一节:编码
文章目录一:定义二 :程序设计语言的选择(1)重要性(了解)(2)适宜的程序语言的优点(3)程序设计语言的选择标准A:理想标准B:实际标准三:编码风格(1)程序内部的文档A:定义B:命名规则C:注释规则D:程序清单布局规则(2)数据说明(3)语句构造A:原则B:使语句简单明了的规则(4)输入输出(5)效率A:程序运行时间B:存储器效率C:输入输出效率一:定义编码是把软件设计结果翻译成用程序设计语言书写的程序,是对设计的进一步具体化,因此程序的质量主要取决于软件设计的质量二 :程序设计语言的选择(1)原创 2022-01-13 16:18:01 · 3568 阅读 · 0 评论 -
(软件工程复习核心重点)第六章实现和测试-第二节:软件测试基础
文章目录一:软件测试的目标(了解)二:软件测试准则(了解)三:软件测试方法(1)黑盒测试(功能测试)(2)白盒测试四:软件测试步骤(1)单元测试(模块测试)(2)子系统测试(3)系统测试(4)验收测试(确认测试)(5)平行运行一:软件测试的目标(了解)测试是为了发现程序中的错误而执行程序的过程好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案成功的测试是发现了至今为止尚未发现的错误的测试软件测试的根本目标是尽可能多地发现并排除软件中潜藏的错误,最终把一个高质量的软件系统交给用户使用二:原创 2022-01-13 18:37:35 · 11606 阅读 · 0 评论 -
(软件工程复习核心重点)第六章实现和测试-第三节:单元测试
文章目录一:概述二:测试重点(了解)(1)模块结构(2)局部数据结构(3)重要的执行通路(4)出错处理通路(了解)(5)边界条件三:测试方法(1)代码审查A:定义(了解)B:流程C:优点(了解)D:与计算机测试的关系(2)计算机测试(了解)一:概述单元测试集中检测软件设计的最小单元一模块,它和编码属于软件过程的同一个阶段。在编写出源程序代码并通过了编译程序的语法检查之后,就可以用详细设计描述作指南,对重要的执行通路进行测试,以便发现模块内部的错误。单元测试主要使用白盒测试技术,而且对多个模块的测试可以并原创 2022-01-14 15:40:52 · 3358 阅读 · 0 评论 -
(软件工程复习核心重点)第六章实现和测试-第四节:集成测试
文章目录一:概念(1)方法分类(2)非渐增测试的缺点(了解)(3)渐增测试的优点(了解)二:渐增式测试策略(1)自顶向下集成A:定义B:步骤(了解)C:结合策略(了解)①:深度优先②:宽度优先D:优缺点(2)自底向上集成A:定义B:步骤(了解)C:案例D:优缺点三:回归测试(1)定义(2)方法(了解)(3)回归测试集(了解)一:概念(1)方法分类非渐增测试: 先分别测试每个模块,再把所有模块按设计要求放在一起结合成所要的程序渐增测试: 把下一个要测试的模块同已经测试好的那些模块结合起来进行测试,测试原创 2022-01-14 18:40:00 · 3878 阅读 · 0 评论 -
(软件工程复习核心重点)第六章实现和测试-第五节:确认测试
文章目录一:概念二:确认测试的范围(了解)(1)要求(2)结果三:软件配置复查(了解)(1)目的(2)要求四:Alpha测试Beta测试(1)Alpha测试(2)Beta测试一:概念确认测试也称为验收测试,它的目标是验证软件的有效性验证: 为了保证软件正确的实现某个特定要求而进行的一系列活动确认:为了保证软件确实满足了用户需求而进行的一系列活动软件有效性:如果软件的功能和性能如同用户所合理期待的那样,软件就是有效的二:确认测试的范围(了解)(1)要求必须有用户积极参与,或者以用户为主进原创 2022-01-14 19:09:36 · 2270 阅读 · 0 评论 -
(软件工程复习核心重点)第六章实现和测试-第六节:白盒测试
文章目录一:逻辑覆盖(1)定义(2)分类二:控制结果测试(1)基本路径测试A:定义(了解)B:步骤(了解)(2)条件测试(了解)A:关系表达式B:条件错误的类型C:条件测试的优点(3)循环测试(了解)A:定义B:分类一:逻辑覆盖(1)定义逻辑覆盖是对一系列测试过程的总称, 这组测试过程逐渐进行越来越完整的通路测试(2)分类语句覆盖:选择足够多的测试数据,被测试程序中的每条语句至少执行一次判定覆盖:不仅每个语句至少执行一次,而且每个判定的每种可能的结果都应该至少执行一次条件覆盖:不仅每个语句至少原创 2022-01-15 19:02:58 · 3645 阅读 · 0 评论 -
(软件工程复习核心重点)第六章实现和测试-第七节:黑盒测试
文章目录一:概念(1)目的(2)适用性(3)设计测试方案时需要考虑的问题(了解)(4)测试用例的标准二:技术方法(1)等价类划分法A:定义B:目的C:流程①:划分数据的等价类②:根据等价类设计测试方案D:规则(了解)(2)边界值分析法(3)错误推测(了解)一:概念(1)目的功能不正确或遗漏了功能界面错误数据结构错误或外部数据库访问错误性能错误初始化和终止错误(2)适用性白盒测试在测试过程的早期阶段进行,黑盒测试主要用于测试过程的后期(3)设计测试方案时需要考虑的问题(了解)怎样测原创 2022-01-15 19:50:30 · 3064 阅读 · 0 评论 -
(软件工程复习核心重点)第六章实现和测试-第八节:调试
文章目录一:实现(编码)(1)语言选择(2)编码风格A:程序内部的文档B:数据说明C:语句构造D:输入输出E:效率二:软件测试基础(1)软件测试的目标(2)软件测试准则(3)测试方法一:实现(编码)软件生命周期中的编码和测试统称为实现(1)语言选择选择适宜的程序设计语言是减少编程的难度,减少程序测试量,容易维护的实现基础(2)编码风格A:程序内部的文档包括恰当的标识符,适当的注解和程序的视觉组织B:数据说明C:语句构造D:输入输出E:效率主要包括处理机时间存储器容量二:软件原创 2022-01-05 19:02:33 · 2703 阅读 · 0 评论 -
(软件工程复习核心重点)第七章软件维护-第一节:软件维护的概念和特点
文章目录一:软件维护的概念(1)定义(2)分类二:软件维护的特点(1)结构化维护和非结构化维护差别巨大(2)维护的代价高昂(了解)(3)维护存在很多问题(了解)一:软件维护的概念(1)定义软件维护是在软件已经交付使用后,为了改正错误或满足新的需要而修改软件的过程,是软件生命周期的最后一个阶段,其基本任务是保证软件在一个相当长的时期能够正常运行(2)分类改正性维护:诊断和改正错误的过程(17%~21%)适应性维护:为了和变化了的环境适当地配合而进行的修改软件的活动(18%~25%)完善性维护:为原创 2022-01-16 20:26:14 · 4298 阅读 · 0 评论 -
(软件工程复习核心重点)第七章软件维护-第三节:软件可维护性
文章目录一:软件维护的概念(1)定义(2)分类二:软件维护的特点(1)结构化维护和非结构化维护差别巨大(2)维护的代价高昂(3)维护的问题很多三:软件维护过程四:软件可维护性(1)定义(2)决定软件可维护性的因素五:预防性维护(1)定义(2)原因(必要性)六:软件再工程过程(软件再工程)(1)库存目录分析(2)文档重构(3)逆向工程(4)代码重构(5)数据重构(6)正向工程一:软件维护的概念(1)定义是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程(2)分类改正性维护:诊断和改原创 2022-01-06 14:38:39 · 3598 阅读 · 0 评论 -
(软件工程复习核心重点)第八章面向对象方法学-第一节:面向对象方法学概述
注意:本章是面向对象的内容,而C++又是一个很经典的面向对象语言,所以本节介绍时会引入C++相关知识。如需深入了解C++,可移步C++学习专栏文章目录一:要点(1)基本原则(2)定义(3)要点二:优点一:要点(1)基本原则面向对象方法学的出发点和基本原则,是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,使描述问题的问题空间(问题域)与实现解法的解空间(求解域)在结构上尽可能一致(2)定义面向对象方法是一种以数据或信息为主线,把数据和处理相原创 2022-01-17 21:06:27 · 4302 阅读 · 0 评论 -
(软件工程复习核心重点)第八章面向对象方法学-第二节:面向对象的概念
文章目录一:对象(Object)(1)对象的形象表示(2)对象的定义(3)对象的特点二:类三:实例四:消息五:方法六:属性七:封装(1)定义(2)特点八:继承(1)定义(2)特点(3)继承的优点(了解)九:多态性(1)多态(2)优点十:重载一:对象(Object)(1)对象的形象表示下图形象地描绘了具有3个操作的对象。图9-1形象地描绘了具有3个操作的对象。面向对象方法学中的对象是由描述该对象属性的数据以及可以对这些数据施加的所有操作封装在一起构成的统一体。对象可以作的操作表示它的动态行为(2)对原创 2022-01-18 21:12:09 · 2779 阅读 · 0 评论 -
(软件工程复习核心重点)第八章面向对象方法学-第三节:面向对象建模之对象模型
文章目录一:概念(1)定义(2)工具二:类图的基本符号(1)定义类A:表示B:命名规则(2)定义属性(3)定义服务三:表示关系的符号(1)关联A:定义B:关联的角色C:普通关联①:定义②:表示D:限定关联①:定义②:表示③:意义E:关联类①:定义②:表示(2)聚集(它是关联的特例)A:共享聚集B:组合聚集(3)泛化(本质就是继承)A:普通泛化①:抽象类②:具体类B:受限泛化①:定义②:约束(4)依赖和细化A:依赖关系B:细化关系一:概念(1)定义对象模型表示静态的、结构化的系统的数据性质。它是对模拟客原创 2022-01-19 20:31:42 · 12264 阅读 · 1 评论 -
(软件工程复习核心重点)第八章面向对象方法学-第四节:面向对象建模之动态模型和功能模型
文章目录一:面向对象方法学概述(1)定义(2)思想方法与原则(3)要点(4)优点二:面向对象概念(1)对象(Object)A:定义B:两个基本要素C:特点(2)类(class)(3)实例(4)消息(5)方法(6)属性(7)封装(8)继承A:父类、子类、超类B:单继承多继承C:继承的优点(9)多态性(10)重载三:面向对象建模四:对象模型五:动态模型六:功能模型一:面向对象方法学概述(1)定义按人类习惯的思维方法,以现实世界中客观存在的对象为中心来思考和认识问题(2)思想方法与原则抽象分类继承原创 2022-01-07 15:07:41 · 8382 阅读 · 1 评论 -
(软件工程复习核心重点)第九章面向对象分析-第一节:面向对象分析的基本过程和需求陈述
文章目录一:面向对象分析的基本过程(1)定义(2)3个子模型与5个层次A:3个子模型B:5个层次①:主题②:7 ±\pm± 2原则③:面向对象分析顺序④:建模要点二:需求陈述(1)内容(2)书写规范一:面向对象分析的基本过程(1)定义面向对象分析:就是抽取和整理用户需求并建立问题域精确模型的过程(2)3个子模型与5个层次A:3个子模型面向对象建模得到的模型包含系统的三个要素:静态结构(对象模型):解决任一问题,都需要从客观世界实体及实体间相互关系抽象出极有价值的对象模型交互次序(动态模型)原创 2022-01-23 20:13:57 · 4081 阅读 · 0 评论 -
(软件工程复习核心重点)第九章面向对象分析-第二节:面向对象分析之建立对象模型
文章目录一: 基本概念(1)对象模型(2)先建立对象模型的原因(3)信息来源(4)典型的建模步骤二:确定类与对象一: 基本概念(1)对象模型面向对象分析的首要工作就是建立问题域的对象模型。对象模型表示静态的、结构化的系统的数据性质。它是对模拟客观世界实体的对象以及对象彼此间的关系的映射,描述了系统的静态结构。对象模型为建立动态模型和功能模型,提供了实质性的框架(2)先建立对象模型的原因静态数据结构对应用细节依赖较少,比较容易确定当用户的需求变化时,静态数据结构相对来说比较稳定(3)信息来源原创 2022-01-24 06:12:28 · 4764 阅读 · 0 评论 -
(软件工程复习核心重点)第九章面向对象分析-第三节:面向对象分析之建立动态模型和功能模型
文章目录一:建立动态模型(1)概念A:适用性B:步骤(2)编写脚本A:定义B:目的C:内容D:方法(3)设想用户界面A:重要性B:目的C:方法(4)画事件跟踪图A:必要性B:步骤①:确定事件(5)画状态图A:定义B:适用性C:方法(6)审查动态模型二:建立功能模型(1)定义(2)画出基本系统模型图(3)画出功能级数据流图(4)描述处理框功能A:要点B:分类一:建立动态模型(1)概念A:适用性对于仅存储静态数据的系统来说,动态模型并没有什么意义在开发交互式系统时,动态模型却起着很重要的作用收集输原创 2022-01-25 19:58:54 · 6337 阅读 · 0 评论 -
(软件工程复习核心重点)第十章面向对象设计-第一节:面向对象设计的基本概念与准则
文章目录一:面向对象设计概念(1)定义(2)设计与分析的关系(3)分类二:面向对象的设计准则(1)模块化(2)抽象(3)信息隐藏(4)低耦合A:交互耦合B:继承耦合(5)高内聚A:服务内聚B:类内聚C:一般一特殊内聚(6)可重用一:面向对象设计概念(1)定义设计是把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程。从面向对象分析到面向对象设计是一个逐渐扩充模型的过程,即面向对象设计就是用面向对象观点建立求解域模型的过程(2)设计与分析的关系分析结果可以直接映射成设计结果,而原创 2022-01-25 20:51:27 · 2349 阅读 · 0 评论 -
(软件工程复习核心重点)第十章面向对象设计-第二节:启发规则和软件重用
文章目录一:启发规则(1)设计结果应该清晰易懂(2)一般一特殊结构的深度适当(3)设计简单的类(4)使用简单的协议(5)使用简单的服务(6)把设计变动减至最小二:软件重用(1)概述A:重用B:软件成分重用的级别①:代码重用②:设计结果重用③:分析结果重用C:典型的可重用软件成分(2)类构件A:可重用软件构件特点B:类构件的重用方式一:启发规则(1)设计结果应该清晰易懂保证设计结果应该清晰易懂的主要因素如下用词一致:应该使名字与它所代表的事物–致,而且应该尽量使用人们习惯的名字。不同类中相似服务的名原创 2022-01-28 20:12:00 · 3405 阅读 · 0 评论