2019-03-30 软件工程基础知识

考察重点:主要学习计算机软件、软件过程模型、软件开发方法、软件开发环境、软件项目管理、软件风险管理、软件度量管理。

软件工程基础.png

软件生存周期

  1. 可行性分析与项目开发计划。
    目的:确定软件的开发目标及其可行性。
    产生:有可行性分析报告、项目开发计划。
  2. 需求分析
    目的:确定软件系统要做什么,确定软件系统的功能、性能、数据和界面等要求,从而确定系统的逻辑模型。
    产生:软件需求说明书。
  3. 概要设计
    目的:把确定的各项功能需求转换成需要的体系结构。
    产生:概要设计说明书。
  4. 详细设计
    目的:对每个模块的功能进一步详细、具体的描述。
    产生:详细设计文档。
  5. 编码
    目的:把每个模块的控制结构转换成计算机可接受的程序代码,即写成某种特定程序设
    计语言表示的源程序清单。
    产生:源码。
  6. 测试
    目的:是保证软件质量的重要手段。
    产生:软件测试计划、测试用例、测试报告。
  7. 维护

能力成熟度模型(CMM)

1)初始级:过程不可预测且缺乏控制。
2)已管理级:过程为项目服务。
3)已定义级:过程为组织服务。
4)定量管理级:过程已度量和控制。
5)优化级:集中过程改进。

软件过程模型

  1. 瀑布模型
    优点:容易理解、成本低、强调开发的阶段性早期计划及需求调查和产品测试。
    缺点:客户必须要准确地表达他们的需要;在开始的两个或三个阶段中,很难评
    估真正的进度状态;项目快结束时,出现大量的集成与测试工作;项目结束之前,不能演示系统
    的能力。
  2. 增量模型
    优点:可交付的第一个版本所需要的成本和时间很少,开发由增量表示的小系统所承担的风险不大,由于很快发布了第一个版本,因此可减少用户需求的变更。同时,它也具有瀑布模型所有的优点。
    缺点:若没有对用户的变更要求进行规划,那么产生的初始增量可能会造成后来增量的不稳定;若需求不像早期思考的那样稳定和完整,那么一些增量就可能需要重新开发或重新发布;管理发生的成本、进度和配置的复杂性可能会超出组织的能力。
  3. 演化模型
    1.原型模型 快速交付
    2.螺旋模型 强调风险
  4. 喷泉模型
    适用于面向对象的开发方法
  5. 基于构件的开发模型
  6. 形式化方法模型
  7. 统一过程模型

1.以下关于进度管理工具甘特图的叙述中,不正确的是D
A.能清晰地表达每个任务的开始时间、结束时间和持续时间
B.能清晰地表达任务之间的并行关系
C.不能清晰地确定任务之间的依赖关系
D.能清晰地确定影响进度的关键任务
解:甘特图
优点:能清晰地描述每个任务从何时开始、到何时结束及各个任务之间的并行性。
缺点:不能清晰地反映出每个任务之间的依赖关系,难以确定整个项目的关键所在,也不能反映计划中有潜力的部分。

  1. 系统交付用户使用后,为了改进系统的图形输出而对系统进行修改的维护行为属于C维护。
    A.改正性 B.适应性 C.改善性 D.预防性
    解:
    (1)改正性维护是指改正在系统开发阶段已发生而系统测试阶段尚未发现的错误。
    (2)适应性维护是指使应用软件适应信息技术变化和管理需求变化而进行的修改。
    (3)完善性维护是指为了扩充功能和改善性能而进行的修改,主要是指对已有的软件系统增加一些在系统分析和设计阶段中没有规定的功能与性能特征。
    (4)预防性维护是指为了改进应用软件的可靠性和可维护性,为了适应未来的软件、硬件环境的变化,应主动增加预防性的新功能,以使应用系统可以适应各类变化而不被淘汰。

你可能感兴趣的:(2019-03-30 软件工程基础知识)