软件工程导论(一)软件工程概论

一:软件的概念、特点与发展

(1)软件发展的三个阶段

  • 程序设计阶段(50~60年代)
  • 程序系统阶段(60~70年代)
  • 软件工程阶段(70年代以后)

(2)软件的概念

软件:是计算机系统中与硬件相互依存的另一部分,包括程序、数据及其相关文档的完整集合

  • 数据:是使程序能够适当处理信息的数据结构
  • 程序:是能够完成预定功能和性能的可执行指令序列
  • 文档:是开发、使用和维护过程中程序所需要的图文资料

(3)软件的特点

总体来说,软件具有灵活性、可定制性、可复制性、可升级性、可移植性、抽象性和易学性等特点,这些特点使得软件具有广泛的应用和不断发展的潜力。

(4)软件危机的概念

软件危机:在计算机软件开发和维护过程中所遇到的一系列严重问题。主要包含两个方面

  • 如何开发软件,以满足日益增长的软件需求
  • 如何维护数量不断膨胀的已有软件

二:软件工程

(1)软件工程的定义

软件工程:采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,经济的开发出高质量的软件并维护它

(2)软件工程的本质特征

软件工程的本质特征可以概括为以下几点:

1.抽象性:软件工程是一种高度抽象的活动,它将复杂的现实世界问题转化为可计算的问题,并通过计算机程序实现解决方案。因此,软件工程师需要具备抽象思维和分析能力。

2.复杂性:软件工程涉及到大量的数据、复杂的业务逻辑和用户交互等,因此具有很高的复杂性。软件工程师需要了解和管理这些复杂性,以实现高质量的软件。

3.可变性:软件是可以修改的,因此软件工程师需要考虑未来的需求变化和软件的演化。软件工程师需要设计和实现软件的灵活性和可扩展性,以适应未来需求的变化。

4.基于过程的方法:软件工程是一种基于过程的方法,它将软件开发过程分解为多个阶段,并在每个阶段中采取相应的活动和控制措施。这种方法可以提高软件的质量和开发效率。

5.依赖于团队合作:软件工程涉及到大量的复杂性和可变性,因此需要多个人协同工作来完成任务。软件工程师需要具备良好的沟通能力、协作能力和领导力,以便团队能够高效地工作。

6.建立在理论基础之上:软件工程建立在计算机科学、数学、工程学和管理学等多个领域的理论基础之上。软件工程师需要了解和应用这些理论,以提高软件开发的质量和效率。

(3)基本要素

方法、工具、过程三个基本要素组成。

三:软件工程方法学

(1)概念

94bab1f6648e4b95a9fc8ff837e71e12.png

软件工程方法学:把在软件生命周期全过程中使用的一整套技术方法的集合称之为方法学,也称为泛型。软件工程方法学包含三个要素:方法、工具、过程

方法:完成软件开发各项任务的技术方法,回答“怎么做”的问题

工具:为运用方法提供的自动或半自动软件工程支撑环境

过程:是为了获得高质量软件所需要完成的一系列任务框架,回答“何时做”的问题

(2)软件定义

2.1问题定义
问题定义:弄清用户要解决什么问题

通过对客户的访问调查,系统分析员扼要地写出关于 问题性质、工程目标和工程规模的书面报告, 经过讨论和必要的修改之后这份报告应该得到客户的确认

2.2可行性研究
可行性研究:确定问题是否可行

为了回答这个问题,系统分析员需要进行一次大大压缩和简化了的系统分析和设计过程。可行性研究阶段的任务是研究问题的范围,探索这个问题是否值得去解,是否有可行的解决办法。可行性研究的结果是客户作出是否继续进行这项工程的决定的重要依据,只有投资可能取得较大效益的那些工程项目才值得继续进行下去。

2.3需求分析
需求分析:为了解决这个问题,系统需要具备怎样的功能

系统分析员必须和用户密切配合,充分交流信息,以得出经过用户确认的系统逻辑模型。用数据流图、数据字典和简要的算法表示系统的逻辑模型。这个阶段的一项重 要任务,是用正式文档准确地记录对目标系统的需求,这份文档通常称为软件需求规格说明书(SRS)。

(3)软件开发

3.1总体设计
总体设计:设计软件结构,确定程序由哪些模块组成以及模块间的关系

软件工程师应该用适当的表达工具描述每种方案,分析每种方案,推荐一个最佳方案并制定出详细计划。另一项主要任务就是设计程序的体系结构,即确定程序由哪些模块组成以及模块间的关系。

3.2详细设计
详细设计:针对每个模块,设计详细规格说明,确定算法和数据结构

详细设计阶段的任务就是把设计方案具体化,也就是回答:“应该怎样具体地实现这个系统呢?”这个阶段的任务是设计出程序的详细规格说明。在这个阶段将详细地设计每个模块,确定实现模块功能所需要的具体算法和数据结构

3.3编码和单元测试
编码和单元测试:将详细设计内容用语言实现,并测试每个模块

编码和单元测试阶段的关键任务是写出正确的、容易理解的、容易维护的程序模块。程序员把详细设计的结果翻译成用选定的高级编程语言书写的程序,编写出的每-一个模块, 并对编写好的各个模块进行测试

3.4综合测试
综合测试:通过各种类型测试使软件达到预定要求

最基本的测试是集成测试和验收测试

(4)软件生命周期

ef11291886c54715acf241e542dc6560.png

(5)软件维护

改正性维护,即诊断和改正在使用过程中发现的软件错误;
适应性维护,即修改软件以适应环境的变化;
完善性维护,即根据用户的要求改进或扩充软件使它更完善;
预防性维护,即修改软件,为将来的维护活动预先做准备。

四:软件过程

(1)定义

软件过程:是为了获得高质量软件所需要完成的一系列任务框架,它规定了完成任务的工作步骤。通常用软件生命周期模型来描述软件过程。

科学、有效的软件过程应该定义一-组适合于所承担的项目特点的任务集合。一个任务集合包括一组软件工程任务、里程碑和应该交付的产品

(2)主要模型

2.1瀑布模型​​​​​​

瀑布模型:将软件生命周期的各项活动规定为依照固定顺序连接的若干阶段工作,最终得到软件产品

a46298c7f7ef4491bfe3d44198b2a5fb.png

特点:

①阶段间具有顺序性和依懒性

必须等前一阶段的工作完成之后,才能开始后一阶段的工作;
前一阶段的输出文档是后一阶段的输入文档
只有前一阶段的输出文档正确,后一阶段的工作才能获得正确的结果
②推迟实现的观点

瀑布模型在编码之前设置了系统分析与系统设计的各个阶段,分析与设计阶段的基本任务规定,在这两个阶段主要考虑目标系统的逻辑模型,不涉及软件的物理实现。
清楚地区分逻辑设计与物理设计,尽可能推迟程序的物理实现,是按照瀑布模型开发软件的一-条重要的指导思想。
③质量保证的观点

为了保证所开发的软件的质量,在瀑布模型的每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务。
完整、准确的合格文档不仅是软件开发时期各类人员之间相互通信的媒介,也是运行时期对软件进行维护的重要依据。
越是早期阶段犯下的错误,暴露出来的时间就越晚,排除故障改正错误所需付出的代价也越高。
因此,及时审查,是保证软件质量、降低软件成本的重要措施。每个阶段结束前都要对所完成的文档进行评审,以便尽早发现问题,改正错误。

优缺点

优点:文档驱动

  • 强迫开发人员使用规范的方法
  • 严格规定了每个阶段提交的文档
  • 要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证
  • 对文档的约束,使软件维护变得容易一些,且能降低软件预算

缺点:

  • 在软件开发的初期阶段就要求作出正确的、全面的、完整的需求分析对许多应用软件来说是极其困难的
  • 在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整
  • 作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护

适用范围

  • 用户的需求非常清楚全面,且在开发过程中没有或很少变化;
  • 开发人员对软件的应用领域很熟悉;
  • 用户的使用环境非常稳定;
  • 开发工作对用户参与的要求很低。.

实际的瀑布模型

在设计阶段可能发现规格说明文档中的错误,而设计上的缺陷或错误可能在实现过程中显现出来,在综合测试阶段将发现需求分析、设计或编码阶段的许多错误。因此,实际的瀑布模型是带“反馈环”的,如下图所示(图中实线箭头表示开发过程,虚线箭头表示维护过程)。当在后面阶段发现前面阶段的错误时,需要沿图中左侧的反馈线返回前面的阶段,修正前面阶段的产品之后再回来继续完成后面阶段的任务。


 

 2.2快速原型模型

快速原型模型:快速建立可运行的程序,它完成的功能往往是最终产品功能的一个子集

快速原型模型是增量模型的另一种形式,在开发真实系统之前,迅速建造一个可以运行的软件原型 ,以便理解和澄清问题,在该原型的基础上,逐渐完成整个系统的开发工作

它允许在需求分析阶段对软件的需求进行初步而非完全的分析和定义,快速设计开发出软件系统的原型,该原型向用户展示待开发软件的全部或部分功能和性能;用户对该原型进行测试评定,给出具体改进意见以丰富细化软件需求;开发人员据此对软件进行修改完善,直至用户满意认可之后,进行软件的完整实现及测试、维护
在这里插入图片描述

特点:

抛弃策略:将原型用于开发过程的某个阶段,促使该阶段的开发结果更加完整、准确、一致、可靠,该阶段结束后,原型随之作废。探索型和实验型就是采用此策略的
附加策略:将原型用于开发的全过程,原型由最基本的核心开始,逐步增加新的功能和新的需求,反复修改反复扩充,最后发展为用户满意的最终系统,演化型快速原型就是采用此策略

快速原型模型不带反馈环,软件产品的开发基本上是线性顺序进行的

快速原型的本质是"快速"。开发人员应尽可能地建造出原型系统,以加速软件开发过程,节约软件开发成本

原型的用途是获知用户的真正需求,一旦需求确定了,原型将被抛弃

 优缺点

优点:

  • 开发的软件产品通常满足用户需求
  • 软件产品开发基本是线性过程
  • 克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险
  • 适合预先不能确切定义需求的软件系统的开发

缺点:

  • 准确原型设计困难
  • 原型理解可能不同
  • 不利于开发人员创新

适用范围

  • 对所开发的领域比较熟悉而且有快速的原型开发工具;
  • 项目招投标时,可以以原型模型作为软件的开发模型;
  • 进行产品移植或升级时,或对已有产品原型进行客户化工作时。

2.3增量模型

增量模型也称渐增模型。使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试。每个构件由多个相互作用的模块构成,并且能够完成特定的功能

使用增量模型时,第一个增量构件往往实现软件的基本需求,提供最核心的功能

把软件产品分解成增量构件时,唯一必须遵守的约束条件是,当把新构件集成到现有构件中时,所形成的产品必须是可测试的

瀑布模型或快速原型模型目标是一次就把一个满足所有需求的产品提交给用户

增量模型把整个软件产品分解成许多个增量构件,分批地逐步向用户提交产品

特点:

把瀑布模型的顺序特征与快速原型法的迭代特征相结合

将软件看作一系列相互联系的增量,在开发过程的各次迭代中,每次完成其中的一个增量

风险更大的增量模型

确定用户需求后就着手拟定第一个构件的规格说明文档,完成后规格说明组转向第二个构件的规格说明文档,同时设计组开始涉及第一个构件

使用该方法将不同的构件并行构建,可能加快工程进度,但将冒构建无法集成到一起的风险

优缺点

优点

  • 短时间内可提交完成部分功能
  • 逐渐增加产品功能,用户适应产品快
  • 以组件为单位进行开发降低了软件开发的风险。一个开发周期内的错误不会影响到整个软件系统
  • 开发顺序灵活。开发人员可以对组件的实现顺序进行优先级排序,先完成需求稳定的核心组件。当组件的优先级发生变化时,还能及时地对实现顺序进行调整

缺点

  • 增量构件划分以及集成困难
  • 容易退化为边做边改模型
  • 如果增量包之间存在相交的情况且未很好处理,则必须做全盘系统分析,这种模型将功能细化后分别开发的方法较适应于需求经常改变的软件开发过程

适用范围

增量模型适用于那些需求变化频繁、开发周期较长、需要快速交付、项目规模大,需要不断迭代和更新的项目。在这种情况下,增量模型能够帮助开发团队更好地控制项目进度,降低开发风险,提高项目的成功率和用户满意度。

实际上,在采用增量模型时,具有最高优先权的核心增量构件将会被最先交付,而随着后续构件不断被集成进系统,这个核心构件将会受到最多次数的测试。这意味着软件系统最重要的心脏部分将具有最高的可靠性,这将使得整个软件系统更具健壮性

2.4螺旋模型

螺旋模型是一种演化软件开发过程模型,它兼顾了快速原型的迭代特征以及瀑布模型的系统化与严格监控。螺旋模型最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。同时,在每个迭代阶段构建原型是螺旋模型用以减小风险的途径

螺旋模型是快速原型模型以进化的开发方式为中心,在每个项目阶段使用瀑布模型法。该模型的每一个周期都包括需求定义、风险分析、工程实现和评审4个阶段,由这4个阶段进行迭代。软件开发过程每迭代一次,软件开发又前进一个层次。用螺旋模型的软件过程如下

完整的数据模型

 

图中带箭头的点划线的长度代表当前累计的开发费用,螺旋线的角度值代表开发进度,螺旋线的每个周期对应于一个开发阶段

图中的四个象限代表了以下活动

制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件
风险分析:分析评估所选方案,考虑如何识别和消除风险
实施工程:实施软件开发和验证
客户评估:评价开发工作,提出修正建议,制定下一步计划

特点:

螺旋模型在“瀑布模型”的每一个开发阶段前引入一个非常严格的风险识别、风险分析和风险控制,它把软件项目分解成一个个小项目。每个小项目都标识一个或多个主要风险,直到所有的主要风险因素都被确定

螺旋模型强调风险分析,使得开发人员和用户对每个演化层出现的风险有所了解,继而做出应有的反应,因此特别适用于庞大、复杂并具有高风险的系统

优缺点

优点:

  • 对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标。
  • 减少了过多测试或测试不足带来的风险。
  • 维护和开发之间并没有本质区别。

缺点:

  • 风险驱动,需要相当丰富的风险评估经验和专门知识,否则风险更大。
  • 主要适用于内部开发的大规模软件项目,随着过程的进展演化,开发者和用户能够更好的识别和对待每一个演化级别上的风险
  • 随着迭代次数的增加,工作量加大,软件开发成本增加。

适用范围

螺旋模型强调风险分析,但要求许多客户接受和相信这种分析,并做出相关反应是不容易的,因此,这种模型往往适应于内部的大规模软件开发

2.5喷泉模型

喷泉模型:典型的面向对象软件过程模型。体现了迭代无缝的特性

喷泉模型是一种以用户需求为动力以对象为驱动的模型,主要用于描述面向对象的软件开发过程。该模型认为软件开发过程自下而上周期的各阶段是相互重叠和多次反复的,就像水喷上去又可以落下来,类似一个喷泉。各个开发阶段没有特定的次序要求,并且可以交互进行,可以在某个开发阶段中随时补充其他任何开发阶段中的遗漏

喷泉模型主要用于面向对象的软件项目,软件的某个部分通常被重复多次,相关对象在每次迭代中随之加入渐进的软件成分。各活动之间无明显边界,例如设计和实现之间没有明显的边界,这也称为“喷泉模型的无间隙性”。由于对象概念的引入,表达分析、设计及实现等活动只用对象类和关系,从而可以较容易地实现活动的迭代和无间隙。

特点:

典型的面向对象生命周期模型。主要用于支持面向对象开发过程。
体现了软件创建所固有的迭代和无间隙的特征。活动之间存在重叠和无缝过渡。

优缺点

优点:

        喷泉模型不像瀑布模型那样,需要分析活动结束后才开始设计活动,设计活动结束后才开始编码活动。该模型的各个阶段没有明显的界限,开发人员可以同步进行开发。其优点是可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程。

缺点:

 由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。

适用范围

 适应于面向对象的软件开发过程。

2.6V模型

RAD(Rap Application Development,快速应用开发)模型是软件开发过程中的一个重要模型,由于其模型构图形似字母V,所以又称软件开发的V模型

 特点:

  它通过开发和测试同时进行的方式来缩短开发周期,提高开发效率。V模型大体可以划分为以下几个不同的阶段步骤:需求分析、概要设计、详细设计、软件编码、单元测试、集成测试、系统测试、验收测试。对概要设计中表述的各模块进行深入分析,对各模块组合进行分析等,这一阶段要求达到伪代码级别,已经把程序的具体实现的功能,现象等描述出来。

1、需求分析
  即首先要明确客户需要的是什么,需要软件作成什么样子,需要有那几项功能,这一点上比较关键的是分析师和客户沟通时的理解能力与交互性。要求分析师能准确的把客户所需要达到的功能,实现方式,等表述出来,给出分析结果,写出需求规格说明书。
2、概要设计
  主要是架构的实现,指搭建架构、表述各模块功能、模块接口连接和数据传递的实现等项事务。
3、详细设计
  对概要设计中表述的各模块进行深入分析,对各模块组合进行分析等,这一阶段要求达到伪代码级别,已经把程序的具体实现的功能,现象等描述出来。其中需要包含数据库设计说明。
4软件编码
  按照详细设计好的模块功能表,编程人员编写出实际的代码。
5单元测试
  按照设定好的最小测试单元进行按单元测试,主要是测试程序代码,为的是确保各单元模块被正确的编译,单元的具体划分按不同的单位与不同的软件有不同,比如有具体到模块的测试,也有具体到类,函数的测试等。
6集成测试
  经过了单元测试后,将各单元组合成完整的体系,主要测试各模块间组合后的功能实现情况,以及模块接口连接的成功与否,数据传递的正确性等,其主要目的是检查软件单位之间的接口是否正确。根据集成测试计划,一边将模块或其他软件单位组合成系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。
7系统测试
  经过了单元测试和集成测试以后,我们要把软件系统搭建起来,按照软件规格说明书中所要求,测试软件其性能功能等是否和用户需求相符合,在系统中运行是否存在漏洞,等。
8验收测试
  主要就是用户在拿到软件的时候,在使用现场,会根据前边所提到的需求,以及规格说明书来做相应测试,以确定软件达到符合效果的。

优缺点

优点:

1)缩短开发周期
2)提高开发效率

缺点:

 V模型仅仅把测试过程作为在需求分析、系统设计及编码之后的一个阶段,忽视了测试对需求分析,系统设计的验证,需求的满足情况一直到后期的验收测试才被验证。
  解决的思路是,当一个软件开发的时候,研发人员和测试人员需要同时工作,测试在软件做需求分析的同时就会有测试用例的跟踪,这样,可以尽快找出程序错误和需求偏离,从而更高效的提高程序质量,最大可能的减少成本,同时满足用户的实际软件需求。

适用范围

 模式是一种传统软件开发模型,一般适用于一些传统信息系统应用的开发,而一些高性能高风险的系统、互联网软件,或一个系统难以被具体模块化的时候,就比较难做成V模式所需的各种构件,需要更强调迭代的开发模型或者敏捷开发模型。

2.7统一软件开发过程RUP

RUP(Rational Unified Process,统一软件开发过程,统一软件过程)是一个面向对象且基于网络的程序开发方法论。瑞理统一过程(RUP)是Rational软件公司(Rational公司被IBM并购)创造的软件工程方法。RUP描述了如何有效地利用商业的可靠的方法开发和部署软件,是一种重量级过程(也被称作厚方法学),因此特别适用于大型软件团队开发大型项目。

 RUP重复一系列周期,每个周期由一个交付给用户的产品结束。每个周期划分为初始、细化、构造和移交四个阶段,每个阶段围绕着6个核心工作流(业务建模、需求、分析与设计、实现、测试和部署)分别迭代。

特点:

软件开发是迭代过程,是由Use Case(用例)驱动的,以架构设计为中心的增量迭代模型。 

优缺点:

优点:

迭代和增量开发:RUP将整个软件开发过程分成多个迭代和增量,每个迭代都可以生成可执行的代码,从而降低了风险,增强了项目的可控性。

重视需求分析:RUP强调在项目开始之前进行充分的需求分析和定义,并将需求分析作为整个开发过程的核心活动之一。

重视设计和文档编写:RUP强调设计和文档编写的重要性,可以帮助开发人员更好地理解系统,并为后续开发和维护提供支持。

适应变化:RUP鼓励在整个开发过程中及时响应变化,并可以灵活地进行调整和变更。

缺点:

复杂性:RUP是一个复杂的方法,需要开发团队具备较高的技能水平和经验,否则会增加项目风险。

文档重量:RUP在每个迭代中都要求生成大量的文档,这可能会增加开发团队的工作量,并且需要花费大量时间和精力来维护这些文档。

成本高昂:RUP需要购买Rational Suite等大量的工具和软件,以及培训和支持费用等成本,这可能对小型项目或小团队不切实际。

管理复杂性:RUP需要管理大量的工作产品和迭代计划,这需要一个强大的项目管理体系来支持和管理。

适用范围

总的来说,RUP适用于大规模、复杂、要求高质量的软件开发项目,需要开发团队具备较高的技能水平和经验,并具有强大的项目管理体系来支持和管理。

2.8敏捷过程

敏捷开发是一种以人为核心,以迭代方式循序渐进开发的方法,其软件开发的过程称为“敏捷过程”。

补充

极限编程是一个轻量级的、灵巧的软件开发方法;同时它也是一个非常严谨和周密的方法。它的基础和价值观是交流、朴素、反馈和勇气;即,任何一个软件项目都可以从四个方面入手进行改善:加强交流;从简单做起;寻求反馈;勇于实事求是。XP是一种近螺旋式的开发方法,它将复杂的开发过程分解为一个个相对比较简单的小周期;通过积极的交流、反馈以及其它一系列的方法,开发人员和客户可以非常清楚开发进度、变化、待解决的问题和潜在的困难等,并根据实际情况及时地调整开发过程。

特点

以代码为核心
以人为本、循环迭代、响应变化

优缺点

优点
高质量快速交付
容易适应变化并迅速做出调整,在保证质量的前提下做到文档适量适度
缺点
依赖于程序员和开发团队的高标准自我要求

适用范围

总的来说,敏捷过程适用于那些需要快速响应变化、强调迭代开发和持续反馈、需要灵活性和自组织团队等情况。

2.9微软过程

作为另外一种适用于商业环境下具有有限资源和有限开发时间约束的项目的软件过程模式,微软过程综合了Rational 统过程和敏捷过程的许多优点,是对众多成功项目的开发经验的正确总结;另一方面,微软过程也有某些不足之处,例如对方法、工具和产品等方面的论述不如RUP和敏捷过程全面,人们对它的某此准则本身也有不同意见。在开发软件的实践中,应该把微软过程与RUP和敏捷过程结合起来,取长补短,针对不同项目的具体情况进行定制。

 特点

敏捷方法:微软过程基于敏捷方法,注重团队协作、快速反馈和快速响应变化等原则。

多层次的流程框架:微软过程提供了多层次的流程框架,包括基本、适应型和定制型三种流程,可以根据项目的特点和需求选择不同的流程。

以阶段为导向:微软过程以阶段为导向,将整个开发过程分为四个阶段:启动、计划、执行和关闭。每个阶段都有明确的目标和交付成果

  • 9
    点赞
  • 74
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
软件工程导论是考研电子信息专业的一门重要课程。根据引用和引用的内容,软件工程导论的学习可以通过以下步骤进行: 1. 下载和学习资料:可以下载引用中提到的xmind脑图和引用中提到的复试笔记。这些资料可以帮助你整理和理解软件工程导论的知识点。 2. 重点整理知识点:根据引用[1]中提到的xmind脑图,可以将软件工程导论的知识点进行整理和分类。可以根据复试笔记中的内容,将知识点分为不同的模块,如软件工程导论的基本概念、软件开发过程、软件项目管理等。 3. 学习管理信息系统和其他相关课程:引用中提到了管理信息系统和其他课程的知识点。这些课程与软件工程导论有一定的关联,学习这些课程可以帮助你更好地理解和应用软件工程导论的知识。 4. 复习编译原理、计算机网络和数据库:引用中提到了编译原理、计算机网络和数据库的知识点。这些知识点在软件工程导论中也是重要的内容,复习这些知识可以加深对软件工程导论的理解。 总之,软件工程导论的考研学习可以通过下载和学习相关资料,整理知识点,学习相关课程,并复习相关知识点来进行。这样可以帮助你更好地准备考研,掌握软件工程导论的重要知识。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [【考研整理】软件工程导论.zip](https://download.csdn.net/download/weixin_40908748/12424518)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [电子信息专业 - 考研复试笔记分享(软件工程导论-第六版 + 管理信息系统-马慧).rar](https://download.csdn.net/download/weixin_41731475/12454588)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烟雨平生9527

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值