[架构之路-151]-《软考-系统分析师》- 8-软件工程-1-图示产品全生命周期与软件全生命周期

目录

第8章 软件工程

前言

1、 软件工程的矩阵模型

2、 软件工程的生命周期模型

3、软件开发活动知识体系:

 8 . 1 软件生命周期(时间维度)

1. 软件生存周期的三大过程

2. 软件生命周期10个阶段各阶段的任务(时间维度)

附录:产品全生命周期

1. 一般产品什么周期

2. 项目生命周期在产品生命周期中的

3. 一般项目生命周期

4. 初创产品/项目什么周期流程

5. 产品在市场上的存活生命周期流程

6. 企业什么周期模型


第8章 软件工程

前言

        软件工程是指应用计算机科学数学管理科学等原理,以工程化的原则和方法来
解决软件问题的工程,其目的是提高软件生产率、提高软件质量、减低软件成本 。

        IEEE对软件工程的定义是:将系统的、规范的、可度量的工程化方法应用于软件开发、运行
和维护的全过程及上述方法的研究。
        软件工程由方法、工具和过程三个部分组成:

  • 软件工程方法是完成软件工程项目的技术手段,它支持整个软件生命周期;
  • 软件工程使用的工具是人们在开发软件的活动中智力和体力的扩展与延伸,它自动或半自动地支持软件的开发和管理,支持各种软件文档的生成
  • 软件工程中的过程贯穿于软件开发的各个环节(生命周期),管理人员在软件工程过程中,要对软件项目开发的质量、进度、成本进行评估、管理和控制,包括人员组织、计划跟踪与控制、成本估算、质量保证和配置管理等。

1、 软件工程的矩阵模型

  • 横轴X(时间):是软件的生命周期:需求分析=》架构设计=》编程实现=》测试=》版本发布=》部署运行
  • 纵轴Y1维度/视角:软件开发活动不同什么周期阶段,有不同的开发活动,包括需求规格、设计文档、编码、测试规范、测试用例等活动。
  • 纵轴Y2维度/视角:业务业务领域技能活动,不同的业务领域,所需要的技能不同,但在不同的开发阶段,对业务领域知识的要求不同,越是靠近前端,如需求分析阶段,对业务领域的技能要求越多,越是后端,如编程实现,对业务领域的技能要求越少,对计算机的技能要求越高。
  • 纵轴Y3维度/视角:项目管理活动质量、进度、成本进行评估、管理和控制,包括人员组织、计划跟踪与控制、成本估算、质量保证和配置管理。
  • 纵轴Z1维度/视角:辅助开发工具,不同的活动,辅助不同的软件工具,以提升效率,如Gitee, Python等。
  • 纵轴Z1维度/视角:辅助业务工具,不同的活动,辅助不同的软件工具,以提升效率。如L1的仿真工具。
  • 纵轴Z3维度/视角:辅助管理工具,不同的活动,辅助不同的软件工具,以提升效率。

2、 软件工程的生命周期模型

[架构之路-151]-《软考-系统分析师》- 8-软件工程-1-图示产品全生命周期与软件全生命周期_第1张图片

3、软件开发活动知识体系:

[架构之路-151]-《软考-系统分析师》- 8-软件工程-1-图示产品全生命周期与软件全生命周期_第2张图片

 8 . 1 软件生命周期(时间维度)

        软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程称为软
件生命周期或生存周期。

        一个完整的软件项目开发的生命周期是以需求(要做什么)为出发点,从提出软件开发计划的那一刻开始,直到软件在实际应用中完全报废为止。软件生命周期的提出是为了更好地管理、维护和升级软件,其中更大的意义在于管理软件开发的步骤和方法。
        目前,划分软件生命周期阶段的方法有许多种,软件规模、种类、开发方式和幵发
环境,以及开发时使用的方法论都影响软件生命周期阶段的划分。对软件生命周期各阶
段进行划分,必须遵循一条基本的原则,那就是各阶段的任务应尽可能地相对独立,同
一阶段各项任务的性质应尽可能地相同,从而达到降低每个阶段任务的复杂度,减少不
同阶段任务之间的联系,有利于软件工程的组织和管理。        

1. 软件生存周期的三大过程

        在国家标准《信息技术软件生存周期过程( G B / T 8566—2007)》标准中,将软件
生存周期中可能执行的活动分为5 个基本过程9 个支持过程7 个组织过程。每个生
存周期过程划分为一组活动,每一项活动进一步划分为一组任务。

(1) 第一大过程:开发活动的5个基本过程。

基本过程供各主要参与方在软件生存周期期间使用,主要参与方是发起或完成软件产品开发、运行或维护的组织。

基本过程分为获取过程、供应过程、幵发过程、运作过程和维护过程

  • 获取过程是指为获取系统、软件产品或软件服务的组织(即需方)而定义的活动;
  • 供应过程是指为向需方提供系统、软件产品或软件服务的组织(即供方)而定义的活动;
  • 开发过程是指为定义并开发软件产品的组织(即幵发方)而定义的活动,包括需求分析、设计编码、集成、测试和与软件产品有关的安装和验收等活动;
  • 运行过程是指为在规定的环境中为其用户提供运行计算机系统服务的组织(即操作方)而定义的活动;
  • 维护过程是指为提供维护软件产品服务的组织(即维护方)而定义的活动。也就是对软件的修改进行管理,使它保持合适的运行状态,包括软件产品的迁移和退役。

(2) 第二大过程:开发活动9 个支持过程。

支持过程作为一个有机组成部分支持其他过程,以便取得软件项目的成功,并提高软件项目的质景。

支持过程包括文档编制过程、配置管理过程、质量保证过程、验证过程、确认过程、联合评审过程、审核过程、问题解决过程和易用性过程,根据需要,支持过程可被其他过程应用和执行。

  • 文档编制过程是指为记录生存周期过程所产生的信息而定义的活动;
  • 配置管理过程是指定义配置管理活动;
  • 质量保证过程是指为客观地保证软件产品和过程符合规定的需求以及己建立的计划而定义的活动,联合评审、审核、验证和确认可以作为质量保证技术使用;
  • 验证过程是指根据软件项目需求,按不同深度(为需方、供方或某独立方)验证软件产品而定义的活动;
  • 确认过程是指(为需方、供方或某独立方)确认软件项目的软件产品而定义的活动;
  • 联合评审过程是指为评价一项活动的状态和产品而定义的活动,该过程可由任何两方应用,其中一方(评审方)以联合讨论会的形式评审另一方(被评审方);
  • 审核过程是指为判定符合于需求、计划和合同而定义的活动,该过程可由任何两方应用,其中一方(评审方)审核另一方(被评审方)的软件产品或活动;
  • 问题解决过程是指为分析和解决问题(包括不合格)而定义的活动,不论问题的性质或来源如何,它们都是在实施开发、运作、维护或其他过程期间暴露出来的;
  • 易用性过程是指为易用性专业人员而定义的活动。

(3) 第三大过程:管理活动7 个组织管理过程。

组织过程可被某个组织用来建立和实现由相关的生存周期过程和人员组成的基础结构并不断改进这种结构和过程。应用它们通常超出特定的项目和合同的范围,但是,这些特定项目和合同的经验教训有助于改善组织状况。

组织过程包括管理过程、基础设施过程、改进过程、人力资源过程、资产管理过程、重用大纲管理过程和领域工程过程。

  • 管理过程是指为生存周期中的管理(包括项目管理)而定义的基本活动;
  • 基础设施过程是指为建立生存周期过程基础结构而定义的基本活动;
  • 改进过程是指为某一组织建立、测量、控制和改进其生存周期过程而定义需要执行的基本活动;
  • 人力资源过程是指为给组织或项目提供拥有技能和知识的员工而定义的活动;
  • 资产管理过程是指为组织的资产管理人员而定义的活动;
  • 重用大纲管理过程是指为组织的复用大纲主管而定义的活动;
  • 领域工程过程是指为领域模型、领域架构的确定及该领域资产的开发和维护而定义的活动。 

备注:

从这里可以感受到,信息系统分析的目标和重心、聚焦点是如何提升组织和企业的管理效率,而不是如何开发一个目标系统。

2. 软件生命周期10个阶段各阶段的任务(时间维度)

根据国家标准 G B / T 8566—2007,软件生命周期可以划分为可行性研究、需求分析、概要设计、详细设计、实现、组装测试、确认测试、使用、维护、退役10个阶段,各自分别对应于软件生存周期的基本过程,如图8-1所示。

[架构之路-151]-《软考-系统分析师》- 8-软件工程-1-图示产品全生命周期与软件全生命周期_第3张图片

 (1) 可行性研究和项目开发计划。

通过分析用户提出的软件开发要求,确定软件项目的性质、目标和规模,得出可行性研究报告。如果可行性研究的结果是可行的,就要制订详细的项目开发计划。这两个活动通常被整合在一起进行,在实际工作中通常把它们归类到同一个阶段中。

(2) 需求分析(What)

需求分析工作是软件生命周期中重要的一步,也是决定性的一步。

只有通过需求分析,才能把软件功能和性能的总体概念描述为具体的软件需求规格说明,从而奠定软件开发的基础。

(3) 概要设计(How)

根据软件需求规格说明书建立软件系统的总体模块结构模块间的关系,定义各功能模块接口,设计全局数据库或数据结构,规定设计约束,制定组装测试计划

(4)详细设计。

将各模块要实现的功能用相应的设计工具详细描述出来。

(5) 实现。

写出正确的、易理解的和易维护的程序模块。

程序员根据详细设计文档将详细设计转化为程序,完成单元测试。

( 6 ) 组装测试(集成测试)。

将经过单元测试的模块逐步进行组装和测试。

(7) 确认测试。

测试系统是否达到了系统需求,按照规格说明书的规定,由用户(或在用户积极参与下)对系统进行验收。必要时,还可以再通过现场测试或并行运行等方法对系统进行进一步的测试。

(8) 使用。

将软件安装在用户确定的运行环境中,测试通过后移交用户使用。在软件的使用过程中,客户和维护人员必须认真收集发现的软件错误,定期或阶段性地撰写软件问题报告和软件修改报告。

(9) 维护。

通过各种必要的维护活动使系统持久地满足用户的需要。

(10) 退役。

终止对软件产品的支持,软件停止使用。

附录:产品全生命周期

1. 一般产品什么周期

[架构之路-151]-《软考-系统分析师》- 8-软件工程-1-图示产品全生命周期与软件全生命周期_第4张图片

2. 项目生命周期在产品生命周期中的

[架构之路-151]-《软考-系统分析师》- 8-软件工程-1-图示产品全生命周期与软件全生命周期_第5张图片

3. 一般项目生命周期

[架构之路-151]-《软考-系统分析师》- 8-软件工程-1-图示产品全生命周期与软件全生命周期_第6张图片

[架构之路-151]-《软考-系统分析师》- 8-软件工程-1-图示产品全生命周期与软件全生命周期_第7张图片

[架构之路-151]-《软考-系统分析师》- 8-软件工程-1-图示产品全生命周期与软件全生命周期_第8张图片

[架构之路-151]-《软考-系统分析师》- 8-软件工程-1-图示产品全生命周期与软件全生命周期_第9张图片

[架构之路-151]-《软考-系统分析师》- 8-软件工程-1-图示产品全生命周期与软件全生命周期_第10张图片

[架构之路-151]-《软考-系统分析师》- 8-软件工程-1-图示产品全生命周期与软件全生命周期_第11张图片

4. 初创产品/项目什么周期流程

[架构之路-151]-《软考-系统分析师》- 8-软件工程-1-图示产品全生命周期与软件全生命周期_第12张图片

5. 产品在市场上的存活生命周期流程

[架构之路-151]-《软考-系统分析师》- 8-软件工程-1-图示产品全生命周期与软件全生命周期_第13张图片

[架构之路-151]-《软考-系统分析师》- 8-软件工程-1-图示产品全生命周期与软件全生命周期_第14张图片

[架构之路-151]-《软考-系统分析师》- 8-软件工程-1-图示产品全生命周期与软件全生命周期_第15张图片

6. 企业什么周期模型

[架构之路-151]-《软考-系统分析师》- 8-软件工程-1-图示产品全生命周期与软件全生命周期_第16张图片

死亡才是必然与规律.
不同的是时间与时机.
贵族企业,走向衰败是必然趋势,但处于最高位,且离终点有较长的距离。
初创企业,上升是必然的趋势,但处于最低位,离死亡终点也最近。
当一个人的职业周期小于企业的生命周期,且落在企业的上升期,这是幸运的。

你可能感兴趣的:(架构之路,软件工程,架构,系统架构,系统分析师)