软件与系统工程标准化
阅读数:62 评论数:0
跳转到新版页面分类
工程管理
正文
一、概述
软件工程是将系统化、规范化、量化等工程化思想和技术应用到软件的设计、运行和维护的全生命周期,以提高软件开发效率和产品质量的工程学科。
总的来说,软件工程是一门纵览全局,着眼整体,综合利用适当的理论、方法和工具,协调各利益相关方的过程、活动及合方式,在技术、经济、社会要求均得以满足的情况下,寻求问题解决方案的方法性学科。
而系统工程则是一种跨学科方法,用于控制将一系列利益相关方的要求、期望、结束转化为解决方案,并在整个生存周期中支持此解决方案所需要的全部技术工作和管理工作。
二、SWEBOK
ISO/IEC TR 19759:2015《软件工程软件工程知识体系指南(SWEBOK)》将软件工程知识体系划分为15个知识域。
1、十五个知识域
2、四个主题
软件工程知识体系的15个域大致可以划分为四个主题:
(1)软件生存周期过程
按经曲瀑布模型将过程分为软件需求、软件设计、软件构造、软件测试和软件维护,其中各过程又涉及基础知识、关键活动、工作要点、方法工具等。
(2)软件工程管理
软件工程管理贯穿整个生存周期,包括软件配置、软件工程管理、软件工程过程、软件工程模型与方法和软件质量等。
(3)软件工程职业实践
由于软件产品必会作用于一些社会实践活动,这就需要对软件工程师在知识、技能、经验和道德方面提出专业的要求。分别对职业行准则、法律法规的知悉、团队合作、沟通技巧等给出要求。
(4)相关学科基础。
三、标准化
1、软件工程标准化概述
人类的标准化是为了大批量的生产,标准化也有意义于打破贸易壁垒。
软件工程标准化的核心驱动主要3个:方法论指引、过程的规范、结果的评价。方法指引是保证所有的软件工程活动都能有正确的框架结构的方法指导;过程规范是能通过规范有效的过程控制和管理产出高质量的结果;结果评价是直接面向产出衡量结果的优劣好聚好坏。
2、我国的软件工程标准化
(1)标准体系
我国的软件与系统工程领域国家标准体系分为基础、软件质量与测试、生存周期管理、工具和方法、软件文档化、IT资产管理及软件绩效与成本度量七类。
基础 |
GB/T 18492 《信息技术 系统及软件完整性级别》 GB/T 30972 《系统与软件工程 软件工程环境服务》 GB/Z 31102 《软件工程 软件工程知识体系指南》等 |
软件的质量与测试 |
GB/T 25000 "系统和软件质量要求和评价(SQuaRE)"系列标准 GB/T 15532 《计算机软件测试规范》等 |
生存周期管理 |
GB/T 8566 《系统与软件工程 软件生存周期过程》 GB/T 22032 《系统与软件工程 系统生存周期过程》 GB/T 30999 《系统和软件工程 生存周期管理 过程描述指南》等 |
工具和方法 |
GB/T 18234 《信息技术CASE工具的评价与选择指南》 GB/Z 18914 《信息技术 软件工程 CASE工具的采用指南》 GB/T 26239 《软件工程 开发方法元模型》等 |
软件文档化 |
GB/T 8567 《计算机软件文档编制规范》 GB/T 16680 《系统与软件工程 用户文档的管理者要求》 |
IT资产管理 |
GB/T 26236.1 《信息技术 软件资产管理 第1部分:》 GB/T 36328 《信息技术 软件资产管理 标识规范》 GB/T 36329 《信息技术 软件资产管理 授权管理》 |
软件绩效与成本度量 |
GB/T 18491 "信息技术 软件测量" 系列标准 GB/T 32911 《软件测试成本度量规范》 GB/T 36964 《软件工程 软件开发成本度量规范》 |
(2)软件质量模型的发展趋势
四、标准的应用
1、协议过程
规定了两个组织之间建立协议所必需的活动,帮助需方、供方等利益相关方就责任、项目和技术达成一致。
(1)获取指根据需方的要求获得产品或服务。可参考ISO/IEC/IEEE 41026 《软件工程 软件获取的推荐实践》。
(2)供给指向需方提供满足协议要求的产品或服务,可参考ISO/IEC/IEEE 12207 "软件生存周期过程"标准(对应国标GB/T 8566)和ISO/IEC/IEEE 15288 "系统生存周期过程"标准(对应国标GB/T 22032)的相应章节。
2、组织项目使用能过程
关注于如何提供所需资源来完成项目目标,从而满足组织利益方的需要和期望。组织的项目使用能过程组在战略层面关注组织内业务或事业的管理和改进、资源和资产的提供和部署、竞争或不确定情况下的风险管理。
(1)生存周期管理
帮助企业组织建立所需要的过程环境,并面向项目进行过程环境的选择、构建和使用;帮助供需双方对过程或活动的选择、协商和执行达成一致,为过程评估人员提供评估模型和依据。参考“软件与系统生存周期过程”标准及其应用指南标准等。
(2)基础设施管理
指导企业在采购、设计、研发工具和软件环境时,明确要求、改进管理、降低成本;指导供需双方或第三方开展工具或环境的一致性测主。参考“CASE工具”、“配置管理工具”、“需求工程工具”、“测试工具”及“软件工程环境服务”等标准。
(3)投资组合管理
帮助企业提高IT资源管控能力,降低IT投入成本,减少服务中断风险,支撑IT商业决策。参考“软件资产管理”标准。
(4)人力资源管理
指导教育和相关课程的定制和开发;指导个人、企业、行业、政府建立职业认证体系。
(5)质量管理
指导企业开展全生存周期的质量管理;指导开展ISO 9001在计算机软件领域的应用;为用户、第三方提供测评和评价软件产品的依赖。参考“SQuaRE”系列标准、"ISO 9001的计算机软件应用指南"标准。
(6)知识管理
指导软件开发企业在产品管理、技术管理和过程管理中开展产品线工程化实践;指导知识管理提供商开展工具方法的设计、研发和评价。参考“软件产品线工程”标准。
3、技术管理过程
用于建立和改进计划,执行计划,按照计划评估实际的成果和进展,对执行进行控制直至达成最终目标。技术管理过程组覆盖一个项目或其产品及至系统的所有技术管理,执行技术管理过程的严格与正式的程序,取决于项目的风除和复杂性。
(1)项目规划、决策管理、风除管理、配置管理、质量保障可以参考“软件与系统生存周期过程”标准的相应章节及对应的应用指南标准。
(2)项目评估和控制可参考“过程评估”标准 和“系统和软件保证”标准 ,指导过程质量的评价、改进,识别和消除过程风险。
(3)信息管理,指导软件工程过程中所需信息项的定义,规范文档内空、格式并规范其,可参考“文档编制规范”标准和“文件管理者要求”标准
(4)测量,帮助企业对软件产品和过程进行量化评估,提高项目管理成熟度和过程改进能力。可参考“软件测量过程”、“信息化绩效”、“功能规模测量”、“成本度量”等标准。
4、技术过程
定义了能够支持组织和项目功能活动,优化收益,减少技术决策和行动带来的风险,包括定义系统的需求、将需求转换为有效产品、当有需要时可以保证产品再生产的移植性、使用产品来提供所需服务、提供服务的持续性、在产品退役时进行处置。
(1)需求工程
“需求工程”标准帮助供需双方理解沟通产品特征,并有效处理需求变更,提高生产效率。
(2)设计和实现
(3)验证和确认
(4)测试
“测试规范”和“异常分类”标准指导测试过程的管控、测试技术的提升及异常的科学管理
(5)维护
“软件维护”标准指导进行软件维护的策划、明确维护任务和活动,提高软件的维护管控能力。