软考中级(软件设计师)——系统开发基础(11分以上)【主要考理论】

2022-11-30 20:29:17 浏览数 (3)

软考中级(软件设计师)——系统开发基础(11分以上)【主要考理论】


目录

软考中级(软件设计师)——系统开发基础(11分以上)【主要考理论】

开发模型(★★★★★)(必考)

瀑布模型(三个阶段且每个阶段都会有产出)

V模型

喷泉模型

原型化模型

演化模型

螺旋模型

统一过程

敏捷方法

软件开发方法(★)

XP

SCRUM

Crystal Methods

FDD

ASD

DSDM

轻量型RUP

软件开发方法

需求分析(★) 

软件设计(★★)

内聚与耦合的解析

软件测试与维护

白盒测试用例(★★★★)

McCabe复杂度计算(★★★)

软件质量保证(★)

软件过程改进(★★)

Gant图与Pert图(★★★★)

风险管理(★★★)


开发模型(★★★★★)(必考)

  1. 瀑布模型
  2. V模型
  3. 原型化模型
  4. 演化模型
  5. 虹旋模
  6. 统-过程
  7. 敏捷方法

瀑布模型(三个阶段且每个阶段都会有产出)

有测试延后的问题

V模型

问题是测试放在了编码之后。

喷泉模型

并行的问题,导致管理很难,是面向对象的。

原型化模型

对风险进行了评估,成本提升。

演化模型

螺旋模型

综合了原型化模型以及演化模型

统一过程

叫做RP,现在叫做URP

敏捷方法

这几年比较流行,敏捷开发注重【沟通】,时时反馈,4大价值观,5大原则,12大最佳实践需要看一下。

软件开发方法(★)

XP

    XP(极限编程)的思想源自 Kent Beck和Ward Cunningham在软件项目中的合作经历。XP注重的核心是沟通、简明、反馈和勇气。因为知道计划永远赶不上变化,XP无需开发人员在软件开始初期做 出很多的文档。XP提倡测试先行,为了将以后出现bug的几率降到最低。

SCRUM

    SCRUM是一种迭代的增量化过程,用于产品开发或工作管理。它是一种可以集合各种开发实践的经验化过程框架。SCRUM中发布产品的重要性高于一切。

该方法由Ken Schwaber和 Jeff Sutherland 提出,旨在寻求充分发挥面向对象和构件技术的开发方法,是对迭代式面向对象方法的改进。

Crystal Methods

    Crystal Methods(水晶方法族)由Alistair Cockburn在20实际90年代末提出。之所以是个系列,是因为他相信不同类型的项目需要不同的方法。虽然水晶系列不如XP那样的产出效率,但会有更多的人能够接受并遵循它。

FDD

    FDD (Feature-Driven Development,特性驱动开发)由Peter Coad、Jeff de Luca 、Eric Lefebvre共同开发,是一套针对中小型软件开发项目的开发模式。此外,FDD是一个模型驱动的快速迭代开发过程,它强调的是简化、实用、 易于被开发团队接受,适用于需求经常变动的项目。

ASD

    ASD(Adaptive Software Development,自适应软件开发)由Jim Highsmith在1999年正式提出。ASD强调开发方法的适应性(Adaptive),这一思想来源于复杂系统的混沌理论。ASD不象其他方法那样 有很多具体的实践做法,它更侧重为ASD的重要性提供最根本的基础,并从更高的组织和管理层次来阐述开发方法为什么要具备适应性。

DSDM

    DSDM(动态系统开发方法)是众多敏捷开发方法中的一种,它倡导以业务为核心,快速而有效地进行系统开发。实践证明DSDM是成功的敏捷开发方法之一。在英国,由于其在各种规模的软件组织中的成功,它已成为应用最为广泛的快速应用开发方法。

DSDM不但遵循了敏捷方法的原理,而且也适合那些成熟的传统开发方法有坚实基础的软件组织。

轻量型RUP

    RUP其实是个过程的框架,它可以包容许多不同类型的过程, Craig Larman 极力主张以敏捷型方式来使用RUP。他的观点是:目前如此众多的努力以推进敏捷型方法,只不过是在接受能被视为RUP 的主流OO开发方法而已。

软件开发方法

结构化方法         用户至上         严格区分工作阶段,每阶段有任务和结果         强调系统开发过程的体性和全局性         系统开发过程工程化,文档资料标准化         自项向下,逐步分解(求精) 原型法 面向对象方法         更好的复用性         关键在于建立一个全面、合理、统的模型         分析、设计、实现三个阶段,界限不明确 面向服务的方法

需求分析(★) 

这里还是比较重要的,注意多加查阅。

软件设计(★★)

分为:概要设计,项目设计,高内聚,低耦合。

内聚与耦合的解析

软件测试与维护

主要分为,静态测试与动态测试。这里比较重点,需要好好看。

有效与无效等价类,边界值分析。 

白盒测试用例(★★★★)

白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,即清楚盒子内部的东西以及里面是如何运作的。"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。"白盒"法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。

McCabe复杂度计算(★★★)

注意边和节点的数量

软件维护类型(★★★★)

适应性维护与完善性维护的理论要知道。占的比重较大。

软件质量保证(★)

六个空都需要记忆啊。

软件过程改进(★★)

项目管理基础

时间管理

Gant图与Pert图(★★★★)

双代号网络图

虚线代表虚工作,不占时间与资源。

风险管理(★★★)

1 人点赞