系列文章目录

系统架构设计师:

第一部分 企业信息化战略与实施
第二部分 软件工程
第三部分 软件架构设计



前言

软件工程


提示:以下是本篇文章正文内容,下面案例可供参考

一、软件开发方法

在这里插入图片描述
在这里插入图片描述

结构化法:

  • 用户至上
  • 严格区分工作阶段,每阶段有任务和成果
  • 强调系统开发过程的整体性与全局性
  • 系统开发过程工程化,文档资料标准化
  • 自顶向下,逐步分解(求精)

原型法:

  • 适用于需求不明确的开发
  • 包括抛弃型原型和进化型原型

面向对象方法:

  • 更好的复用性
  • 关键在于建立一个全面、合理、统一的模型
  • 分析、设计、实现三个阶段,界限不明确

面向服务的方法:

  • SO方法有三个主要的抽象级别:操作、服务、业务流程
  • SOAD分为三个层次:基础设计层(底层服务构件)、应用结构层(服务之间的接口和服务级协定)和业务组织层(业务流程建模和服务流程编排)
  • 服务建模:分为服务发现、服务规约和服务实现三个阶段

1.软件开发模型

在这里插入图片描述
在这里插入图片描述
瀑布模型:
在这里插入图片描述
迭代与增量:
在这里插入图片描述

增量模型与螺旋模型:
增量模型与螺旋模型
螺旋模型以原型模型为基础 + 瀑布模型,考虑到了风险

V模型 和 喷泉模型:
在这里插入图片描述
构建组装模型:

在这里插入图片描述
快速应用开发模型(RAD):

在这里插入图片描述
统一过程(RUP):

在这里插入图片描述
敏捷方法:
在这里插入图片描述
在这里插入图片描述

敏捷方法
敏捷开发方法:
在这里插入图片描述

  • XP(Extreme Programming,极限编程)在所有的敏捷型方法中,XP是最引人瞩目的。它源于Smalltalk圈子,特别是Kent Beck和Ward Cunningham在20世纪80年代末的密切合作。XP在一些对费用控制严格的公司中使用,已经被证实是非常有效的。
  • Cockburn的水晶系列方法,水晶系列方法是由Alistair Cockburn提出的。它与XP方法一样,都有以人为中心的理念,但在实践上有所不同。Alistair考虑到人们一般很难严格遵循一个纪律约束很强的过程,因此,与XP的高度纪律性不同,Alistair探索了用最少纪律约束而仍能成功的方法,从而在产出效率与易于运作上达到一种平衡。也就是说,虽然水晶系列不如XP那样的产出效率,但会有更多的人能够接受并遵循它。
  • 开放式源码,这里提到的开放式源码指的是开放源码所用的一种运作方式。开发式源码项目有一个特别之处,就是程序开发人员在地域上分布很广,这使得它和其他敏捷方法不同,因为一般的敏捷方法都强调项目组成员在同一个地点工作。开放源码的一个突出特点就是查错排障的高度并行性,任何人发现了错误都可以将改正源码的“补丁”文件发给维护者。然后由维护者将这些“补丁”或是新增的代码并入源码库。
  • SCRUM。SCRUM已经出现很久了,像前面所论及的方法一样,该方法强调这样一个事实,即明确定义了的可重复的方法过程只限于在明确定义了的可重复的环境中,为明确定义了的可重复的人员所用,去解决明确定义了的可重复的问题。
  • Goad的功用驱动开发方法(FDD-Feature Driven Development)FDD是由Jeff De Luca和大师Peter Gpad提出来的。像其他方法一样,它致力于短时的迭代阶段和可见可用的功能。在FDD中,一个迭代周期一般是两周。在FDD中,编程开发人员分成两类:首席程序员和“类”程序员(class owner)。首席程序员是最富有经验的开发人员,他们是项目的协调者、设计者和指导者,而“类”程序员则主要做源码编写。
  • ASD方法:ASD(Adaptive Software Development)方法由Jim Highsmith提出,其核心是三个非线性的、重叠的开发阶段:测测、合作与学习。
    在这里插入图片描述
    逆向工程:
    在这里插入图片描述

净室软件工程:

  • 净室即无尘室、洁净室。也就是一个受控污染级别的环境
  • 使用盒结构规约(或形式化方法)进行分析和设计建模,并且强调将正确性验证,而不是测试,作为发现和消除错误的主要机制。
  • 使用统计的测试来获取认证被交付的软件的可靠性所必需的出错率信息

二、需求工程

概述:

  1. 软件需求是指用户对系统在功能、行为、性能、设计约束等方面的期望
  2. 软件需求是指用户解决问题或达到目标所需的条件或能力,是系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或能力,以及反映这些条件或能力的文档说明。
    在这里插入图片描述

1.需求获取

在这里插入图片描述

2.需求分析 SA

在这里插入图片描述
数据流图 DFD
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
答题技巧:
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

状态转换图 STD
状态转换图STD
实体关系图 E-R图
实体关系图E-R图
面向对象分析(OOA):

在这里插入图片描述
在这里插入图片描述

OOA-UML:

在这里插入图片描述
用例图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

类图与对象图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

顺序图:
在这里插入图片描述

通信图(协作图):
在这里插入图片描述

状态图:
在这里插入图片描述
在这里插入图片描述
活动图:
在这里插入图片描述
在这里插入图片描述

定时图:
在这里插入图片描述

构件图与包图:
在这里插入图片描述

部署图:

在这里插入图片描述

OOA-UML-4+1视图:
在这里插入图片描述
在这里插入图片描述

3.需求定义

在这里插入图片描述

4.需求验证

在这里插入图片描述

5.定义需求基线

在这里插入图片描述

6.需求跟踪

在这里插入图片描述

7.需求变更管理过程

在这里插入图片描述

三、软件系统建模

在这里插入图片描述
在这里插入图片描述

四、系统设计

1.人机界面设计

在这里插入图片描述

2.软件设计

在这里插入图片描述

3.结构化设计

在这里插入图片描述
在这里插入图片描述

4.面向对象设计

1.基本过程:
在这里插入图片描述
2.设计原则:
在这里插入图片描述
3.设计模式:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
3.1创建型模式:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.2结构型模式:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.3行为型模式:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、软件测试

1.测试类型

在这里插入图片描述

2.测试用例设计

在这里插入图片描述

3.测试阶段

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.面向对象的测试

在这里插入图片描述

六、软件调试

在这里插入图片描述
在这里插入图片描述

七、系统运行与软件维护

1.系统转化计划

1 遗留系统演化策略:
在这里插入图片描述
2 新旧系统的转换策略:
在这里插入图片描述
3 数据转换与迁移:
在这里插入图片描述

2.维护

在这里插入图片描述


总结

系统架构设计师 软件工程内容

Logo

开源、云原生的融合云平台

更多推荐