精华内容
下载资源
问答
  • 软件工程重点

    2013-12-02 19:45:57
    重点文档 软件工程 复习 资料 整理 分析
  • 软件工程重点总结软件工程重点总结软件工程重点总结软件工程重点总结软件工程重点总结软件工程重点总结软件工程重点总结软件工程重点总结软件工程重点总结软件工程重点总结软件工程重点总结软件工程重点总结软件工程...
  • 软件工程重点知识点

    千次阅读 2019-03-25 22:41:59
    软件工程考试重点 1.软件工程的定义: a.软件工程是一种工程形式,它运用计算机科学和数学原理,针对软件问题获得一种经济有效的解决方案。 b.用系统的、规范的、可度量的方法,开发、运行和维护软件。 2.软件...

    软件工程考试重点

    1.软件工程的定义:
        a.软件工程是一种工程形式,它运用计算机科学和数学原理,针对软件问题获得一种经济有效的解决方案。
        b.用系统的、规范的、可度量的方法,开发、运行和维护软件。
    2.软件工程的目标是高质量和高生产力。
    3.五种软件生存期模型:
        (1)、瀑布模型:
            包括问题定义、可行性研究、需求分析、概要设计、详细设计、编码、测试和维护。
            优点:
                a.提供了一个模板,模板使得分析、设计、编码、测试和维护的方法可以在该模板下有一个共同的指导。
                b.虽然有不少缺点,但比在软件开发中随意的状态要好得多。
            缺点:
                a.实际的大项目难以按照该模型给出的顺序进行,而且这种模型的迭代是间接的,容易由微小的变化造成大的混乱。
                b.在通常情况下,用户难以表达真正的需求,而这种模型却要如此,这种模型不欢迎有二义性的问题存在的。
                c.用户要等到开发周期晚期才能看到程序运行的测试版本,而在这时若发现大的错误,可能引起用户的恐慌,
                而后果也是灾难性的。
                d.采用这种线性模型,经常在过程的开始和结束时,要等到其他成员完成后,才能进行下去,有可能花在等待的时间
                比开发的时间要长,即为堵塞状态。
        
        (2)、增量模型:
            优点:
                a.人员分配灵活,刚开始不用投入大量的人力资源,当核心产品很受欢迎时,可增加人力实现下一个增量。
                b.当配备的人员不能在设定限期内完成产品时,它提供了一种先推出核心产品的途径,这样就可以先发布部分功能
                    给用户,对用户起到镇静剂的作用。
                c.具有一定的市场。
            缺点:
                a.自始至终开发者和用户纠缠在一起,直到完全版本出来。
            
        (3)、螺旋模型:
            优点:
                对于大型系统及软件的开发,这种模型是一种很好的方法。开发者和客户能够较好地对待和理解每一个演化级别上的风险。
            缺点:    
                a.需要相当的风险分析评估的技术,且成功就依赖于这种技术。
                b.显然,若存在一个没有被发现的大风险,将会出现问题,甚至可能导致演化过程失去控制。
                c.这种模型相对较新,应用不广泛,其功效需要进一步的验证。
                
        (4)、喷泉模型:
            优点:
                喷泉模型的各个阶段没有明显的界限,开发人员可以同步开发。其优点是可以提高软件项目的开发效率,节省开发时间,
                适应于面向对象的软件开发过程。
            缺点:
                由于喷泉模型在各个开发阶段是重叠的。
        (5)、变换模型:
            定义:基于形式化规格说明语言及程序变换的软件开发模型。
            优点:
                    a.形式化规约可直接作为程序验证的基础,可以尽早地发现和纠正错误,包括那些在其他情况下不能发现的错误。
                    b.开发出来的软件具有很好的安全性和健壮性,特别适合安全部门或者软件错误会造成经济损失的开发项目。
            缺点:    
                    a.开发费用高,而且需要很长的时间。
                    b.不能将该模型作为对客户通信的机制,因为客户对这些数学语言一无所知。
                    c.具有开发无缺陷软件的错误。
                    
                    
    第二章 可行性研究

    1.可行性研究三要素:
        a.经济
        b.技术
        c.管理
        
    2.四个方面可行性研究:
        a.经济可行性:
            包括成本和效益
        b.技术可行性:
            技术现状、技术潜力、生产率和风险处理、软件质量
        c.社会可行性:
            市场、政策、知识产权、道德
        d.操作可行性:
            项目的运行方式是否行得通、现有管理制度、人员素质和操作方式是否可行。
            
    3.数据流图P26
    4.系统流程图 P28


    第三章 需求分析
    1.需求的种类:
        a.功能需求:
            功能需求是指目标软件必须完成的全部功能。
        b.性能需求:
            性能需求是指目标软件系统必须满足的定时约束或容量约束。
            通常包括:响应时间、CPU的使用率、内外存的使用率、网络传送速率、磁盘容量、系统安全性、系统的吞吐量等。
        c.可靠性和可用性需求:
            可靠性需求是指软件系统在给定的时间间隔内可以成功运行的概率的度量。
            可用性需求是指软件系统在给定的时间点可以成功运行的概率的度量。
            可靠性需求强调在一段时间范围内的系统可使用性情况;可用性则强调在一个时刻点的系统可使用性情况。
        d.出错处理的需求:
            出错处理需求是指目标软件系统对环境错误应该怎样响应。
            
        e.各种接口需求:
        f.安装运行需求:
        g.未来可能提出的需求:
        h.逆向需求:
        i.约束:
        
    第四章 概要设计
    1.概要设计
        

    第五章 详细设计——怎样实现
    1.程序流程图
    2.盒图
    3.详细设计:
        3.1详细设计的任务:
            详细设计是对概要设计阶段划分出的每个模块进行明确的算法描述,即根据概要设计提供的说明文档,确定每一个
            模块的数据结构及具体算法,并选用合适的描述工具,将其清晰地表达出来。
        3.2详细设计的过程:
            a.对概要设计所确定的抽象性的数据类型进行确切的定义,确定软件各个模块采用的算法和内部数据的组织形式,
              确定对系统内部和外部模块的即可细节。
            b.确定每个模块的算法。
            c.为每个模块设计一组测试用例。
            d.编写详细设计说明书。
        
        
    第六章 编码与测试

    1.程序设计语言分为两大类:
        面向机器语言:
            面向机器语言包括机器语言和汇编语言;
        高级语言:
            高级语言分为专用语言和通用语言;
            
    2.程序设计语言的选择
        理想标准、实用标准、系统用户的要求、工程的规模、软件的运行环境、可以得到的软件开发工具、
        软件开发人员的知识、软件的可移植性要求。
    3.软件测试在软件开发过程中的体现:
        a.寻找软件错误,以便进行修正;
        b.证明软件符合要求,是可用的;
        c.验证软件是否符合用户要求;
        d.指导软件的开发过程;
        e.提供软件的相关特征;
        
    6.软件测试的分类
        按照是否需要查看代码分类:
            a.黑盒测试:
                黑盒测试是将被测软件看出一个黑盒子,只考虑系统的输入和输出,完全不考虑程序内部的逻辑结构和处理过程。
                黑盒测试的依据是开发各阶段的需求规格说明。
            b.白盒测试:
                白盒测试是将黑盒子打开,研究源代码和程序内部的逻辑结构;
        
        按照是否需要执行被测软件分类:
            a.静态测试:
                又称为静态分析,是不实际运行被测软件,而是直接分析软件的形式和结构,查找缺陷。
                主要包括对源代码、程序界面和各类文档及中间产品所做的测试。
            b.动态测试:
                又称为动态分析,是指需要实际运行被测软件,通过观察程序运行时所表现出来的状态、行为等发现软件缺陷。
                包括在程序运行时,通过有效的测试用例来分析被测程序的运行情况或进行跟踪对比,发现程序所表现的行为
                与设计规格或客户需求不一致的地方。
            c.按照测试阶段分类:
                a.单元测试:模块测试。
                b.集成测试:组装测试。
                c.确认测试:有效性测试。
                e.系统测试:验证系统是否达标。
                f.验收测试:接受测试。
            d.按照是否需要人工干预分类:
                手工测试:
                自动测试:
            e.其他测试
            
    7.软件测试的基本原则
        a.尽早地并不断地进行软件测试
        b.程序员或程序设计机构应避免测试自己的程序
        c.测试用例中不仅要有输入数据,还要有与之对应的预期结果
        d.测试用例的设计不仅要有合法的输入数据,还要有非法的输入数据
        e.在对程序进行修改之后要进行回归测试
        f.程序中尚未发现的错误的数量通常与该程序中已发现的错误的数量成正比
        h.妥善保留测试计划、全部测试用例、出错统计和最终分析报告,并把他们作为软件的组成部分之一,为维护提供方便。
        i.应当对每一个测试结果做全面的检查
        j.严格执行测试计划,排除测试的随意性。

    8.白盒测试
        8.1 白盒测试的概念
            白盒测试,又称为结构测试或逻辑驱动测试,是一种透明的测试技术,它是以程序的内部逻辑结构为基础来设计测试用例的。
        8.2 白盒测试的原则
            a.保证程序中每一独立的路径至少执行一次;
            b.保证所有判定的每一个分支至少执行一次;
            c.保证每个判定表达式中每个条件的所有可能结果至少出现一次;
            d.保证每一循环都在边界条件和一般条件至少个执行一次;
            e.验证所有内部数据结构的有效性;
        8.3 白盒测试技术
            逻辑覆盖
                逻辑覆盖,是指设计测试用例对程序的内部分支逻辑结构进行部分或全部覆盖的技术。
                逻辑覆盖由弱到强的几种覆盖技术:
                a.语句覆盖
                    语句覆盖是指设计足够多的测试用例,使程序中的每条语句至少执行一次;
                b.判定覆盖
                    判定覆盖是指设计足够多的测试用例,使每个判定的每种可能结果都至少出现一次,也就是
                    使每个判定的每个分支都至少自行一次。
                    判定覆盖也称为分支覆盖。
                c.条件覆盖
                    条件覆盖是指设计足够多的测试用例,使每个表达式中的每个条件的每种可能值都至少出现一次。
                d.判定/条件覆盖
                e.条件组合覆盖
                f.路径覆盖
            基本路径
            循环覆盖
            
        8.4 黑盒测试技术
            a.黑河测试,又称功能测试或数据驱动测试,是在已知软件产品应该具有的功能的情况下,通过测试来检验是否
            每个功能都能正常使用的测试。
            b.黑盒测试主要测试的错误类型:
                不正确或遗漏的功能;
                接口错误;
                性能错误;
                数据结构或外部数据访问错误;
                初始化或终止条件错误等。
            c.黑盒测试用例设计方法:
                等价类划分;
                边界值分析;
                因果图法;
                错误推测法;

    9.软件测试阶段
        a.单元测试
            单元测试的测试对象是经过软件设计并编码的一个个程序模块。
            单元测试的主要依据是程序代码和详细设计文档;
            单元测试可以并行进行;
        b.集成测试
            集成测试是在单元测试的基础上,按照系统设计要求把通过单元测试的单元模拟逐步组装与测试,
            最后组装成一个完整的软件系统的测试过程。
            集成测试的方式:
                非增量集成方式:将经过单元测试的所有模块一次性地全部组装起来,然后进行整体测试,最后得到所要求的的软件系统。
                增量集成方式:将经过单元测试的模块逐步组装成较大的系统,一边组装,一边测试,以便发现模块间与接口有关的问题。
                    自顶向下集成、自底向上集成。
        c.确认测试
            确认测试又称为有效性测试,任务是验证软件的功能和性能及其他特性是否与用户的要求一致。
        d.系统测试
            系统测试是指将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和
            人员等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。
            系统测试的类型:
                恢复测试:
                安全性测试:
                强度测试:
                性能测试:
        
        e.验收测试
            验收测试是软件开发结束后,软件产品投入实际应用以前进行的最后一次质量检验活动,是以用户为主,软件开发人员和质量保证人员
            也参加的测试。

    第七章 软件维护
    1.软件维护的概念:
        软件维护是指软件系统交付使用以后,为了改正软件运行错误,或者为了满足用户新的需求而加入新功能的修改软件的过程。
    2.软件维护的根据:
        软件维护主要是根据需求变化或硬件环境的变化对应用程序进行部分或全部的修改,修改时应充分利用源程序。
        修改后要填写程序登记表,并在程序变更通知书上写明新旧程序的不同之处。
    3.软件维护的内容:
        管理层面:
            配合客户的优先级,人员配置和费用估计。
        技术层面:
            对需求、系统或问题有限的理解、影响分析、测试以及可维护性的测量。
    4.软件维护的分类:
        a.正确性维护:
            正确性维护是指改正在系统开发阶段已发生而系统测试阶段尚未发现的错误。
        b.适应性维护:
            适应性维护是指使用软件适应信息技术变化和管理需求变化而进行的修改。
        c.完善性维护:
            完善性维护是指扩充功能和改善性能而进行的修改,主要是指对已有的软件系统增加
            一些在系统分析和设计阶段中没有规定的功能和性能特征。
        d.预防性维护:
            预防性维护是指为了改进应用软件的可靠性和可维护性,为了适应未来的软硬件环境的变化,应主动增加预防性的新的功能,
            以便使应用系统使用各类变化而不被淘汰。
     

    展开全文
  • 软件工程重点解答题

    千次阅读 2019-12-29 09:54:11
    第一章 软件工程概论 软件的生命周期 从软件的问题定义开始,经过开发、使用、维护直到废弃阶段的整个过程就是软件的生命周期 问题定义-可行性研究-软件分析-软件设计-软件开发-运行与维护-软件废弃 软件...

    第一章 软件工程概论

    软件的生命周期

    • 从软件的问题定义开始,经过开发、使用、维护直到废弃阶段的整个过程就是软件的生命周期
    • 问题定义-可行性研究-软件分析-软件设计-软件开发-运行与维护-软件废弃

    软件工程概念

    • 是指导软件开发和维护的工程学科
    • 核心思想是采用工程点的概念、原理、技术和方法进行软件的开发和维护,把经过实践证明是正确的管理技术与当下最好的技术结合起来,经济的开发高质量的软件并有效的维护它。

    软件工程的七大基本原理

    • 用分阶段的生命周期计划管理软件工程过程
    • 坚持在软件工程过程进行阶段评审
    • 实行严格的产品控制
    • 采用现代化的技术进行软件的设计与开发
    • 工作结果应当是能够清楚地审查的
    • 开发小组人员应少而精
    • 承认不断改进软件工程实践的必要性

    软件工程研究内容

    • 软件开发技术
    • 软件工程管理技术
    • 软件安全保护技术

    软件工程的方法学

    • 传统方法学: 采用结构化技术
    • 面向对象方法学: 采用面向对象思想

    第二章 软件计划与可行性研究

    可行性研究的任务以及方面

    • 可行研究的任务
      • 进行概要的分析与研究,初步确定软件的规模和目标,确定项目的约束和限制,进行简单的需求分析,抽象出逻辑模型 ,从逻辑模型出发,探索可供选择的方法,对每一种方法研究它的可行性
    • 方面
      • 经济可行性
      • 社会可行性
      • 技术可行性

    可行性研究的目的、步骤

    • 目的
      • 用最小的代价在最短的时间内确定问题是否能解决
    • 步骤
      • 确定系统的目标和规模
      • 研究正在运行的系统
      • 导出新系统的高层逻辑结构
      • 设计和评价可供选择的解决方案
      • 选择合适的解决方案
      • 编制可行性研究报告

    可行性研究的CASE工具

    • 系统流程图
      • 表达数据在系统各部件之间的流动情况。
    • 数据流图
      • 表达数据处理系统中信息的传递和变换过程
    • 数据字典
      • 关于数据的信息集合

    第三章 软件需求分析

    需求分析的步骤

    • 通过调查研究,获取用户的需求

    • 去除非本质因素,确定系统真正的需求

    • 描述需求,建立系统的逻辑模型

    • 写需求说明书,进行需求复审

    常用的需求方法,每种方法的思想

    • 结构化分析法

      • 基本思想是抽象和分解,采用自顶向下逐步分解的思想,直到每一个子功能足够简单
    • 原型化分析方法

      • 通过获取需求后,快速开发一个模型,进行模拟操作,来对需求进行分析
    • 面向对象分析

      • 基于面向对象的思想,以用例模型为基础

    需求分析的原则

    • 能够表达和理解问题的数据域和功能域
    • 能够对问题进行分解和不断细化,建立问题的层次结构
    • 能够描述系统的逻辑模型和物理模型

    需求分析的CASE工具

    • 层次方框图
    • Warnier图
    • IPO图:输入、处理、输出图
    • E-R图
    • 状态迁移图
    • Petri网

    第四章 软件结构设计

    软件结构设计概念及内容

    • 概念
      • 软件结构设计就是确定系统是由那些模块构成,以及模块之间的关系。
    • 内容
      • 采用某种设计方法,通过模块结构的原则,通过分解细化将一个复杂的系统分解为若干个模块,逐步、逐层的设计模块层次结构
      • 确定模块的功能,与已确定的需求建立对应关系
      • 确定模块之间的调用关系,模块之间的接口,评价模块结构的质量

    结构设计的原则

    • 降低模块的耦合性,提高模块的内聚性
    • 软件的规模应该适中
    • 选择合适的深度、宽度、扇出、扇入
    • 尽量降低模块间接口的复杂度
    • 模块的作用域应当在控制域范围之内
    • 设计单入口单出口的模块
    • 模块功能可预测

    结构化设计的图形工具

    • 层次图

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9qnFT1qo-1577591346391)(C:\Users\61768\AppData\Local\Temp\1577590192175.png)]

    • HIPO图
    • 结构图

    第五章

    详细设计的工具

    • 图形工具
      • 程序流程图
      • PAD图
      • NS图(盒图)
    • 语言工具
      • 伪码
      • PDL

    程序流程图

    在这里插入图片描述

    N-S图

    在这里插入图片描述

    PAD图

    在这里插入图片描述

    案列

    • 在一组数中求最大数”的详细设计为例,分别用传统流程图、PAD图和N-S图来描述它的软件过程

    在这里插入图片描述

    第六章 软件编码设计

    编码的工具语言

    1.面向机器语言

    • 机器语言
      • 二进制形式的指令代码。由操作数和操作码构成
    • 汇编语言
      • 符号语言,采用了一定的助记符来代替机器语言中的指令和数据

    2.高级语言

    • 通用语言
    • 专业语言

    语言特性

    1.心理特性

    • 歧义性
    • 简洁性
    • 局部性
      • 相关内容的相对集中性
    • 顺序性

    2.工程特性

    • 可移植性
      • 程序在不同机器环境下的通用性和适应性
    • 语言编译器的实现效率
    • 开发工具的支持
    • 可维护性
      • 良好的可读性和易于使用

    3.技术特性

    • 有的语言提供丰富的数据类型和复杂的数据结构
    • 很强的实时功能
    • 大量数据的增删查改

    程序设计语言的选择

    • 理论标准
      • 理想的模块化机制, 易于阅读和使用的控制结构和数据结构
      • 完善、独立的编译机制
    • 实用标准
      • 系统用户的要求
      • 工程的规模和大小
      • 软件的运行环境
      • 可以得到的软件开发工具
      • 软件开发人员的理论知识
      • 软件的可移植性要求
      • 算法和数据结构的复杂性
      • 软件的应用领域

    第七章 软件的测试

    软件测试过程模型

    • V模型
      • 需求阶段-概要设计-详细设计-编码
      • 单元测试-集成测试-系统测试-验收测试
    • W模型
      • 测试与开发并行关系,同步进行的
    • X模型
      • 提出针对单独的程序段进行相互分离的编码和测试,此后通过频繁的交接,通过集成最终合成可执行的程序
    • H模型
      • 用于改进V模型和W模型不足之处的软件测试管理模型

    软件开发过程的测试步骤

    • 单元测试
      • 也称模块测试,对模块进行正确性检验的测试,以期尽早发现各模块内部可能存在的各种错误。
    • 集成测试
      • 在单元测试的基础上将软件的多个模块或者系统前后台合并之后进行的测试
    • 系统测试
      • 基于一定的计算机硬件环境,对整个系统进行的一系列测试
    • 验收测试
      • 旨在向软件的购买者展示该软件系统满足其用户要求

    软件测试用例的设计

    测试用例的概述

    • 定义
      • 为特定的目的而设计的一组测试输入数组、执行条件和预期的输出结果
    • 设计原则
      • 测试用例的代表性
      • 测试结果的可判定性
      • 测试结果的可在现行

    白盒测试用例的设计

    • 语句覆盖
    • 判定覆盖
    • 条件覆盖
    • 判定条件覆盖
    • 条件组合覆盖
      • 所有可能的条件取值组合至少执行一次
    • 点覆盖
    • 边覆盖
    • 路径覆盖

    黑盒测试用例的设计

    • 等价类划分

      • 有效等价类
      • 无效等价类
    • 边界值分析

    • 因果图法

      • 输入之间有关系
    • 错误推测法

      • 基于经验和直觉推测程序中可能出现的错误

    软件调试概念

    • 测试发现错误后消除错误的过程

    第八章 软件维护

    软件维护的任务

    • 就是在已经交付使用之后,为了改正错误和满足新的需要而修改软件的工程

    软件维护的分类

    • 改正性维护
      • 在软件运行过程中发生异常或错误进行的维护
    • 适应性维护
      • 软件适应不断变化的环境而进行修改
    • 完善性维护
      • 在软件使用过程中,用户对软件提出新的功能与性能要求
    • 预防性维护
      • 为了改善软件将来的可维护性或可靠性

    第九章 面向对象的软件开发技术概述

    面向对象建模

    面向对象的开发模型

    • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fTFUWuMQ-1577621265547)(C:\Users\61768\AppData\Local\Temp\1577611006175.png)]

    面向对象模型

    • 对象模型
      • 描述系统的数据结构
    • 动态模型
      • 表示顺时的、行为化的系统的控制性质,描述了系统的控制结构
    • 功能模型
      • 定义系统应该做什么,表达系统的功能信息

    对象模型的5个层次

    • 主题层
    • 类-&-对象层
    • 结构层
      • 表示问题域的复杂性
    • 属性层
    • 服务层
      • 收到消息后必须执行的一些出来

    建立动态模型

    • 编写脚本
    • 从脚本提炼出事件,联系该事件与其目标对象
    • 组织事件的顺序和状态
    • 检查对象间的一致性,确保事件之间的匹配。

    建立功能模型

    • 建立基本系统模型图
    • 细化数据流图
    • 功能描述

    面向对象的设计原则

    • 模块化
    • 数据抽象和过程抽象
    • 信息隐蔽和封装
    • 高内聚和低耦合
    • 可重用
    展开全文
  • 软件工程重点总结,哈哈哈哈

    1.1 软件危机

    在计算机软件的开发和维护过程中所遇到的一系列严重问题。

    1.1.1 典型表现(考)

    开发前(成本与进度)->完成(用户,产品质量)->完成后(不可维护,文档资料)->总的问题(软件成本比例,生产率提高跟不上)

    1. 对软件开发成本和进度的估计常常很不准确
    2. 用户对“已完成的”软件系统不满意的现象经常发生(功能:完备性)
    3. 软件产品的质量往往靠不住。(质量:可靠性)
    4. 软件常常是不可维护的。
    5. 软件通常没有适当的文档资料
    6. 软件成本在计算机系统总成本中所占的比例逐年上升
    7. 软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。

    1.1.2 产生原因(考)

    • 与软件本身特点有关
    1. 软件不同于硬件,管理和控制软件开发过程相当困难。
    2. 软件不会被用坏,而是在开发时,没有测试出来的错误
    3. 软件不等于程序,软件包含程序
    4. 没有完整准确地认识到用户的要求
    5. 开发维护存在不少糊涂观念
    6. 忽略软件需求分析的重要性,忽视维护
    • 软件开发与维护的方法不正确有关
    1. 只重视程序而忽视其余配置
    2. 没有正确全面地理解用户需求
    3. 不同时期修改软件问题付出代价不同,如下图
      在这里插入图片描述

    风追云月,海吞星河

    1.1.3 消除软件危机的途径(可能不考)

    1. 对计算机软件有一个正确的认识(认识
    2. 不是某个个体的神秘劳动,而是各类员工协同配合(配合
    3. 推广总结出的技术方法,并且研究探索新的有效的技术和方法(推广,探索)
    4. 开发使用更好的软件工具

    相关ppt

    展开全文
  • 软件工程(第五版)》的重点,能帮助大家考试顺利通过
  • 1.2 软件工程 1.2.1介绍(本质特性考) 软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术...

    1.2 软件工程

    1.2.1介绍(本质特性考)

    软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。

    软件具有的本质特性(考)

    1. 软件工程关注于大型程序的构造
    2. 软件工程的中心课题是控制复杂性
    3. 软件经常变化
    4. 开发软件的效率非常重要
    5. 和谐地合作是开发软件的关键
    6. 必须有效地支持它的用户
    7. 两种背景的人创造产品这个特性与前两个特性紧密相关

    1.2.2 软件工程基本原理(考)

    使个坏,为什么要制定原理:从前面找答案。

    1. 用分阶段的生命周期计划严格管理
    2. 坚持进行阶段评审(联系后面的瀑布模型)
    3. 实行严格的产品控制
    4. 采用现代程序设计技术
    5. 结果应能清楚地审查
    6. 开发小组的人员应该少而精
    7. 承认不断改进软件工程实践的必要性

    1.2.3 软件工程方法学(这里可能走神了)

    软件工程方法学:通常把软件生命周期全过程使用的一整套技术方法成为方法学,也成为范型。
    软件工程学包含三个要素,方法,工具和过程。

    • 传统方法学(分阶段,按顺序)
      传统方法学也称为生命周期方法学或结构化范型。它采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。

    • 面向对象方法学(数据,行为封装成一个对象)
      与传统方法相反,面向对象方法把数据和行为看成是同等重要的,它是一种以数据为主线,把数据和对数据的操作紧密地结合起来的方法。

    展开全文
  • 答:软件危机:是计算机软件在它的开发和维护过程中所遇到的一系列严重问题,研制软件系统需要投入大量的人力和物力,但系统的质量却难以保证,也就是说,开发软件所需的高成本同产品的低质量之间有着尖锐的矛盾,...
  • 确定软件开发工程必须完成的总目标; 确定工程的可行性; 导出实现工程目标应该采用的策略及系统必须完成的功能; 估计完成该项工程需要的资源和成本, 并且制定工程进度表。 1.3.2 1.4 软件过程(3WH) 软件过程是...
  • 软件工程重点整理(上)

    千次阅读 2017-05-27 18:02:01
    1.软件危机: 定义、表现  定义: 软件危机是指:在计算机软件的开发和维护过程中所遇到的一系列严重问题。  概括地说,包含下述两方面问题: (1)如何开发软件,以满足对软件日益增长的需求; (2)如何维护数量...
  • 两图一字典 不是教程序! 2.3.系统流程图 系统流程图是概括地描绘物理系统的传统工具。 系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程,因此尽管系统流程图的某些符号和...
  • 如果问题没有可行的解,那么花费在这项工程上的任何时间、人力、软硬件资源和经费,都是无谓的浪费。 可行性研究的目的,就是用最小的代价在尽可能短的时间内 确定问题是否能够解决。 2.1 可行性研究的任务 可行性...
  • 2.软件测试目标,准则,方法(选择) 目标: l 测试是为了发现程序中的错误而执行程序的过程。 l 好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案。 l 成功的测试是发现了至今
  • 数据元素的描述方式 数据元素名: 类型:数字(离散值,连续值)还是,文字(编码类型) 长度: 取值范围: 相关的数据元素及数据结构:
  • 软件工程 2.1 软件工程的基本概念 考点(1)软件与软件危机  软件是由计算机程序演变而形成的一种概念,它是程序及相关文档的集合,由可执行部分和与程序和过程有关的文档资料两部分组成。  软件危机是计算机在...
  • 软件工程考试重点

    2014-12-16 15:03:31
    软件工程考试重点
  • 软件工程试题重点,客观题 软件工程试题重点,客观题
  • 软件工程导论重点

    2012-11-15 13:39:26
    软件工程导论重点,对于软件工程方面的学生会很有帮助的
  • 软件工程 第一章重点

    2020-04-14 12:23:47
    软件工程重点 第一章 软件工程概述 1.1 软件 一、软件的本质特性 1、复杂特性软件 庞大的逻辑系统。要反应业务流程的自然规律,还要集成各种各样的功能。软件的复杂性使软件产品难以理解、难以生产、难以维护、更难...
  • 软件工程复习重点

    2014-06-21 11:30:00
    软件工程课程的复习提纲,重点,基本概念汇总
  • 软件工程考试重点整理(北信科);教材版本:软件工程概论(第六版)张海藩,牟永敏编著。清华大学出版社。
  • 软件工程期末重点

    2020-12-18 19:12:43
    第一章、软件工程学概述 软件危机 软件危机: 是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 软件危机包含下述两个方面的问题: 如何开发软件,以满足对软件日益增长的需求。 如何维护数量不断膨胀...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,433
精华内容 1,373
关键字:

软件工程重点