2020年中级数据库系统工程师考试笔记10—系统开发和运行知识

9 系统开发与运行知识

本章的数据流图是下午必考题,进度管理的甘特图和pert图基本是每年选择必考,其他的知识点多看看多记记。

9.1 本章考点

在这里插入图片描述

9.2 软件工程基础知识

在这里插入图片描述

9.2.1 软件生存周期

  软件生存周期包括可行性分析与项目开发计划、需求分析、总体设计、详细设计、编码和单元测试、综合测试及维护阶段。

1.可行性分析与项目开发计划:确定软件的开发目标及可行性,可行性分析的任务不是具体解决问题,二是研究问题的范围,探索这个问题是否值得去解,是否有可行的解决办法。该阶段的参与人员应该有项目负责人、用户和系统分析师。

2.需求分析:确定地确定软件系统必须做什么,确定软件系统的功能、性能、数据和界面等要求,从而确定系统的逻辑模型。

3.概要设计:开发人员需要将确定的功能需求转换成相应的体系结构,主要参与人员有系统分析师和软件设计师。

4.详细设计:对每个模块完成的功能进行具体描述,不是编写程序,二是设计出程序的详细规格说明,该说明应该包含必要的细节,是程序要开药根据他们写出实际的程序代码,主要参与人员有软件设计师和程序员。

5. 编码和单元测试:把每个模块的控制结构转换成计算机可接受的程序代码,即写成某种特定程序设计语言表示的源程序清单,并仔细测试编写出的每一个模块。

6.综合测试:通过各种类型的测试使软件达到预定的要求,最基本的测试是集成测试和验收测试。

7.维护:维护阶段是软件生存期中时间最长的阶段,该阶段的关键任务是通过各种必要的维护活动使系统持久的满足用户的需要。

9.2.2 软件生存周期模型

  常见的软件生存周期模型有瀑布模型、演化模型、螺旋模型和喷泉模型等。

1.瀑布模型:将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型,它包括需求分析、设计、编码、测试、运行和维护。
在这里插入图片描述

  • 是一种理想化模型,以文档为驱动、适合于软件需求很明确的软件项目的模型。
  • 优点:容易理解,管理成本低;强调开发的阶段性早期计划及需求调查和产品测试;
  • 缺点:客户必须能够完整、正确和清晰地表达他们的需要,在开始的两个或三个阶段中,很难评估真正的进度状态;当接近项目结束时,出现了大量的集成和测试工作;直到项目结束之前,都不能演示系统的能力。

2.增量模型:采用随着日程时间的进展而交错的线性序列,每一个线性序列产生软件的一个可发布的“增量”。

  • 优点:具有瀑布模型的所有优点,第一个可交付版本所需要的成本和时间很少,开发由增量表示的小系统所承担的风险不大;由于很快发布了第一个版本,因此可以减少用户需求的变更,运行增量投资,即在项目开始时,可以仅对一个或两个增量投资。
  • 不足:如果没有对用户的变更要求进行规划,那么产生的初始增量可能造成后来增量的不稳定;如果需求不像早期思考的那样稳定和完整,那么一些增量就可能需要重新开发,重新开发管理发生的成本、进度和配置的复杂性,可能会超过组织的能力。

3.演化模型:针对事先不能完整定义需求的软件开发,是在快速开发一个原型的基础上,根据用户在使用原型的过程中提出的意见和建议对原型进行改进,获得原型的新版本。

  • 优点:任何功能一经开发就能进入测试,以便验证是否符合产品需求,可以帮助引导出高质量的产品要求。
  • 不足:如果不加控制的让用户接触开发中尚未稳定的功能,可能对开发人员及用户都会产生负面影响。

4.螺旋模型:将瀑布模型和演化模型结合起来,加入了两种模型均忽略的风险分析,弥补了这两种模型的不足。

  每个螺旋周期分为4个工作步骤:

(1)制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件;
(2)风险分析:分析评估所选方案,考虑如何识别和消除风险;
(3)实施工程:实施软件开发和验证;
(4)客户评估:评价开发工作,提出修正建议,制定下一步计划。
在这里插入图片描述

  特点:以小的分段来构建大型系统,设计灵活,可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值