软件工程知识体系指南综述

软件工程知识体系指南综述*万江平,安诗芳,黄德毅(华南理工大学工商管理学院,广东广州510640)【摘要】首先许述软件工程知识体系指南的历史及其五大目标,并进一步说明了其层次结构以及相关的八个学科;详细分析了其十大知识域及其相应的各个子专题;最后探讨了我国如何应用软件工程知识的体系指南。

【关键词】软件工程;标准化;软件工程知识体系;软件工程教育随着软件产业的逐渐形成,一方面,国际软件工程标准化迅速活跃起来,另一方面,软件工程的教育也应运而生。

特别是20世纪80年代和90年代,计算机科学教育得到了突飞猛进的发展,进一步带动了软件工程教育。

不过人们发现,虽然许多院校的大纲已经从最初的以程序设计语言和编码为中心的课程设置转移到强调软件工程理论和设计上,但是直接面向"工程化"的课程和学时很少。

然而,恰恰是诸如需求建模、设计方法、体系结构设计、软件复用、软件过程、质量问题、团队组织技能之类软件工程领域的知识和技能对于商业软件的高效开发是至关重要的。

由于缺乏对于各种软件工程化实践活动和必要能力的共识,致使在软件工程化活动中出现许多棍乱现象,对软件工程知识的评价、获取和应用造成严重的不良后果。

1软件工程知识体系指南的历史1998年,美国联邦航空管理局在启动一个旨在提高该局技术和管理人员软件工程能力的项目时,发现他们找不到软件工程工程师应该具备的公认的知识结构。

他们向美国联邦政府提出了关于开发"软件工程知识体系指南"的项目建议。

美国Embry-Riddle航空大学计算与数学系的Thomas B. Hilburn 教授接受了该研究项目,并且于1999年4月完成了《软件工程知识本体结构》的报告。

该报告发布后迅速引起世界软件工程界、教育界和一些政府对建立软件工程本体知识结构的兴趣。

很快人们普遍接受了这样的认识:建立软件工程本体知识的结构是确立软件工程专业至关重要的一步;如果没有一个得到共识的软件工程本体知识结构,将无法验证软件工程工程师的资格,无法设置相应的课程,或者无法建立对相应课程进行认可的判断准则。

对建立权威的软件工程知识本体结构的需求迅速从世界各地反映出来。

1999年5月,ISO和IEC的第一联合技术委员会(ISO/IEC/JTCl )为顺应这种需求,立即启动了标准化项目一一"软件工程知识体系指南" (Guide to the Software Engineering Body of Knowledge, SWEBO K , http : II www. swebok. org/)。

美国电子电气工程师学会与美国计算机联合会联合建立的软件工程协调委员会( SECC)、加拿大魁北克大学以及美国MITRE公司(与美国SEI共同开发SW-CMM的软件工程咨询公司)等共同承担了ISO/lEC/JTCl "SWEBOK指南"项目任务。

几十个国家和地区的几百名软件工程专家先后参加了SWEBOK指南草案的三次公开审查工作,提出了几千条意见和建议。

整个SWEBQK指南项目实施过程分为三大阶段,即草人阶段、石人阶段和铁人阶段。

草人阶段产生软件工程本体知识指南的雏型,主要是为该指南确定恰当的组织结构。

2001年4月18日发布的SWEBOK 0.95版标志着石人阶段的结束。

在完成两年试用之后,启动了该指南的"铁人阶段"的编制工作。

其中铁人阶段包括O.1版(1999.2) ,0.5版 (1999. 10 ) , 0.6版( 2000.2), 0.7版( 2000.4), 0.9版 (2001. 2) ,0.95版(2001.5),1.0版(2001. 5)。

本文将讨论的是最新的2004版本。

2软件工程知识体系指南的目标SWEBOK指南的目的是为软件工程学科的范围提供一致的确认,为支持该学科的本体知识提供指导。

SWEBOK指南将软件工程学科的本体知识分为10个知识域,各种重要概念之间的区别在每个知识域描述中阐述,便于读者迅速查找感兴趣的专题。

SWEBOK指南的目标是:①促进软件工程本体知识达成世界范围的共识;②澄清软件工程与其他相关学科如计算机科学、项目管理、计算机工程以及计算机数学的关系,并且确定软件工程学科的范围;③反映软件工程这个学科内容的特征;④确定软件工程本体知识的各个专题:⑤为相应的课程和职业资格认证材料的编写奠定基础。

其目标结构图如图l所示。

SWEBOK指南项目的成果并不在于知识体系本身,而在于它是一个指南。

知识早已存在,关键是在可以表征软件工程学科特点的核心知识子集上达成共识。

为了达成这些目标,该项目是面向广大读者的。

它着眼于为公共和私营的组织或团体服务,需要对软件工程的共识来确定教育和训练的需求、岗位分类和开发绩效评估的策略,同时也向在职的软件工程师和政府官员阐明了制定认证和专业指导方针的公共策略的相关责任。

SWEBOK指南面向全世界的广大读者。

它适合于有关的公共和私营组织一一它为软件工程规定教育和培训要求、划分职业类别、拟订绩效评价政策或确定开发任务提供一致的见解;它适合于从事具体执行或管理工作的软件工程师和负责制定职业许可政策及指南的政府官员;它适合于负责规定认证规则、大学课程认可政策以及职业实践指南的职业工作者和教育工作者;它也适合于正在学习软件工程专业的学生和从事课程设置及课程内容设计的教育工作者和培训工作者。

3软件工程知识体系指南的结构SWEBOK2004版包括正文11章和四个附录。

核心部分是第二~第十一章。

为了便于阅读,对于核心部分,SWEBOK 指南在材料的组织上采用了比较一致的分层结构。

整个SWEBOK指南中包含10个本体知识域(Knowledge Areas, KA) ,每个本体知识域均用一章予以描述,并且进一步分解为若干专题,在专题描述中引用有关知识的参考材料。

涉及到了八个相关的学科:计算机工程( Computer Engineering)、计算机科学( Computer Science)、管理( Management)、数学( Mathema-tics)、项目管理(Project Management)、质量管理(Quality Ma-nagement)、软件人类工程学(Software Ergonomics)和系统工程 (System Engineering)。

知识域间的区别与相关学科间的区别对指南的目标很重要。

项目将被指定知识域及其专题,它们被看作是软件工程师的核心知识,软件工程师也应该知道相关学科的资料,但SWEBOK指南项目将不会试图去指定这些资料,而是留给其他部门和单位努力去解决,如IEEE计算机协会和计算机协会软件工程协调委员会(ACM Software Engineering Coordinating Committee)的协同合作、软件工程教育工作组( Working Group on Software Engineering Education)的研究等。

如图2所示,每个知识域的说明均包含了若干个重要的成分。

SWEBOK指南用层次的组织结构将每个知识域分解成一组可以识别的专题。

二或三层的细目分类给读者提供了一个合理的方法去找到感兴趣的专题。

指南将会用一种与主流的思想学派相兼容、与在工业和软件工程文献及标准中通用的细目分类方法相兼容的方式来处理所选择到的专题。

专题的细目分类不假定特殊的应用域、商业用途、管理哲学、开发方法等。

每个专题的说明范围将仅符合读者成功找到参考资料的需要,知识体系毕竟是在参考的资料中得到,而不是在指南本身。

指南为每个知识域确定了参考资料。

它们可能是书本的章节、参考论文或任何其他公认的权威消息的来源一一但参考资料必须用英文写成而且通常是可获得的。

我们更需要那些不是IEEE计算机协会或ACM早已拥有版权的资料,因为我们想在Internet上免费得到这些参考资料。

指南将会按Bloom 的分类学(Taxonomy of Educational Objectives: The Classification of Educational Goals, Mackay, 1956)来组织。

Bloom的分类学是众所周知并广泛使用的认知经验分类方法。

4软件工程知识体系指南的十大知识域每个知识域的选择、命名和说明均保留了对专题的注解、评审和修正。

而诸如测量、工具和标准的专题跨越了知识域却被独立地分开了,这些内容在指南的后续版本中都将要评审 (图3)。

10个知识域及与它们集成的重要专题如表l所示。

(1)软件需求(Software Requirements)。

真实世界问题而必必、须展示的特性。

软件需求的知识域包括七个子域,即软件需求基础、需求过程、需求获取、需求分析、需求规格说明、需求确认和实践考虑。

(2 )软件设计(Software Design)。

根据IEEE [ IEEE 610.12-90] ,设计既是"定义一个系统或组件的体系结构、组件、接口和其他特征的过程",又是"这个过程的结果"。

软件设计的知识域包括六个子域,即软件设计基础、软件设计关键问题、软件结构与体系结构、软件设计质量的分析与评价、软件设计符号、软件设计的策略与方法。

(3)软件构造( Software Construction)。

它指通过编码、验证、单元测试、集成测试和排错的组合,具体创建一个可以工作的、有意义的软件,其知识域包括软件构造基础、管理构造、实际考虑三个子域。

(4)软件测试(Software Testing)。

它是由在有限测试用例集合上,根据期望的行为,对程序的行为进行的动态验证组成,测试用倒是实际上无限的执行域中适当选择出来的。

软件测试包括五个子域,即软件测试基础和测试级别、测试技术、需求分析、与测试相关的度量、测试过程。

(5)软件维护(Software Maintenance)。

软件一旦投入运行,就可能出现异常,运行环境可能发生改变,用户会提出新的需求。

生命周期软件维护阶段从软件交付时开始,但是维护活动出现得还要早。

软件维护的知识域包括四个子域,即软件维护基础、软件维护的关键问题、维护过程、维护技术。

(6)软件配置管理(Software Configuration Management)。

为了系统地控制配置的变更和维护在整个系统生命周期中的完整性和可追踪性,而标志软件在时间上不同点的配置的学科。

软件配置管理包括六个子域,即软件配置管理过程管理、软件配置标志、软件配置控制、软件配置状态统计、软件配置审核、软件发行管理和交付。

(7)软件工程管理(Software Engineering Management)。

合集下载

软件工程的知识体系

软件工程的知识体系

软件工程的知识体系软件工程的知识体系1. 引言软件工程是一门研究如何以系统性的方法开发和维护软件的学科。

它涵盖了软件开发的各个方面,从需求分析到设计、编码、测试、部署和维护,旨在提高软件开发的效率和质量。

为了更好地理解和应用软件工程,建立一个完整的知识体系是至关重要的。

本文将介绍软件工程的知识体系,涵盖了该领域的主要知识点和概念。

2. 需求分析需求分析是软件开发的起点,它涉及对用户需求进行收集、分析和规范。

在需求分析阶段,软件工程师需要与用户进行充分的沟通,明确软件的功能、性能和约束条件。

需求分析的核心工作包括需求获取、需求建模和需求验证。

常用的需求分析方法包括用例图、数据流图和状态转换图等。

3. 软件设计软件设计是根据需求分析的结果,以合适的架构和设计模式来实现软件系统的过程。

它关注软件系统的结构、组件之间的关系和模块化。

常用的软件设计方法包括面向对象设计、结构化设计和数据流程设计。

软件设计的目标是实现系统的可扩展性、可维护性和可重用性。

4. 软件编码软件编码是将软件设计转化为实际的程序源代码的过程。

在软件编码阶段,开发人员需要按照设计规范和编码规范来编写代码。

编码的目标是实现软件的功能和逻辑,并保证代码的可读性和可维护性。

常用的编码语言包括C、C++、Java和Python等。

5. 软件测试软件测试是为了评估软件系统的质量和可靠性,发现并修复潜在的缺陷。

软件测试可以分为单元测试、集成测试、系统测试和验收测试等不同层次。

常用的测试方法包括黑盒测试、白盒测试和灰盒测试。

软件测试的目标是尽可能地覆盖软件的各个功能和路径,以找出潜在的错误和问题。

6. 软件部署与维护软件部署与维护是将开发完成的软件系统安装、配置和交付给用户使用的过程。

在部署阶段,软件工程师需要选择合适的部署环境,并进行相关的配置和测试。

而在维护阶段,软件工程师需要及时响应用户反馈的问题,并进行系统的修复和更新。

7. 软件质量管理软件质量管理是确保软件系统满足用户需求和相关标准的过程。

软件工程基础知识点总结(2023版)

软件工程基础知识点总结(2023版)

软件工程基础知识点总结软件工程基础知识点总结
1.软件工程概述
1.1 软件工程定义
1.2 软件工程的历史与发展
1.3 软件工程的特点和目标
1.4 软件工程的生命周期
2.软件需求工程
2.1 软件需求定义和分类
2.2 需求获取与分析
2.3 需求规格说明
2.4 需求验证和确认
3.软件设计
3.1 软件设计原则和概念
3.2 结构化设计方法
3.3 面向对象设计
3.4 软件设计工具和标记语言
4.软件开发
4.1 编码规范与规范检查
4.2 编程技术与方法
4.3 集成开发环境(IDE)和调试工具
4.4 软件测试和调试
5.软件项目管理
5.1 软件项目规划和组织
5.2 项目进度和资源管理
5.3 项目风险管理
5.4 质量管理与配置管理
6.软件工程度量与评估
6.1 软件度量概述
6.2 软件度量指标与度量方法
6.3 软件质量评估与改进
7.软件维护与演化
7.1 软件维护概述
7.2 维护过程与维护方法
7.3 软件重构与演化
8.软件工程的伦理和专业责任
8.1 软件工程的伦理问题
8.2 软件工程的专业责任
附件:
本文档涉及的法律名词及注释:
1.版权:一种法律保护措施,确保作品的原创性和独立性。

2.知识产权:指由人们的智能活动所创造的权利,包括专利权、著作权等。

3.商标:用以区别商品或服务来源的记号,被注册后获得权益
保护。

4.隐私保护:保护个人信息和隐私不被非法或未经授权的使用、泄漏、外传等。

软件工程专业知识体系

软件工程专业知识体系

软件工程专业知识体系软件工程专业是现代社会广泛应用的一门学科,涵盖了广泛的知识领域。

本文将从软件工程的基础概念、开发流程、常见技术和未来趋势等方面介绍软件工程的专业知识体系,旨在帮助读者对软件工程有一个全面的了解。

一、软件工程基础概念软件工程是一门工程学科,其目的是通过系统化的方法和过程来开发、维护和管理软件。

软件工程的基础概念包括软件开发的目标、原则和模型等。

其中,软件开发的目标是以满足用户需求为导向,同时具备高质量、低成本和高效率的特点。

软件开发的原则包括模块化、可重用性、可维护性和可测试性等。

软件开发的模型包括瀑布模型、敏捷开发和迭代开发等。

二、软件工程开发流程软件工程的开发流程是指软件从需求分析到软件交付的整个过程。

常见的软件开发流程包括需求分析、系统设计、编码、测试和部署等。

其中,需求分析阶段是对用户需求进行调研和分析,并确定软件的功能和性能要求。

系统设计阶段是根据需求分析结果,设计软件的整体架构和各个模块的详细设计方案。

编码阶段是将系统设计转化为具体的程序代码。

测试阶段是验证软件的功能和性能是否符合用户需求。

部署阶段是将测试通过的软件交付给用户并进行安装和配置。

三、常见的软件工程技术软件工程涉及到多种技术和工具的应用,以下是几种常见的软件工程技术:1. 需求工程:需求工程是对用户需求进行分析和管理的过程。

它通过需求调研、需求规格说明和需求验证等活动,确保软件开发的目标和用户需求的一致性。

2. 架构设计:架构设计是将系统进行模块化和抽象化,确定软件的整体结构和关键组件之间的相互作用。

常见的架构设计模式包括分层、客户端-服务器和面向对象等。

3. 设计模式:设计模式是软件开发中常见的解决问题的方式和思路。

常用的设计模式包括工厂模式、单例模式和观察者模式等,它们能够提高软件的可维护性和可重用性。

4. 软件测试:软件测试是验证软件是否满足预期要求的过程。

常见的软件测试方法包括单元测试、集成测试和系统测试等。

软件工程概论知识点汇总简洁范本

软件工程概论知识点汇总简洁范本

软件工程概论知识点汇总软件工程概论知识点汇总1. 软件工程概述软件工程是一门关注软件开发的学科,它涉及到软件的设计、开发、测试、维护等方面。

软件工程的目标是通过系统化的方法来开发和维护高质量的软件产品。

2. 软件开发周期软件开发周期通常包括以下阶段:需求分析:明确定义软件系统的需求和功能。

设计:设计软件系统的结构、模块和接口。

编码:根据设计文档编写程序代码。

测试:对软件进行测试以确保其正确性和稳定性。

部署:将软件部署到目标系统中。

维护:修复软件中的漏洞和缺陷,并进行功能扩展。

3. 软件工程的原则软件工程遵循以下原则:模块化:将软件系统划分为独立的模块,每个模块负责不同的功能。

可重用性:设计和开发具有可重用性的模块,以提高开发效率和软件质量。

可测试性:设计易于测试的软件模块,以便及早发现和修复问题。

可维护性:设计易于维护的软件系统,以便快速修复问题和实现功能变更。

可扩展性:设计支持功能扩展和修改的软件架构。

4. 软件工程的方法和模型软件工程采用多种方法和模型来组织和管理软件开发过程:瀑布模型:将软件开发过程划分为顺序的阶段,每个阶段有特定的输出和目标。

增量模型:将软件开发过程分为多个增量,每个增量都是一个完整的小型软件系统。

原型模型:通过快速构建原型来获取用户反馈,并不断迭代改进软件系统。

敏捷方法:强调快速迭代和响应变化,通过小团队合作开发高质量的软件。

5. 软件测试软件测试是确保软件系统质量和正确性的重要过程。

常见的软件测试方法包括:单元测试:对软件的最小单元进行测试,例如函数和方法。

集成测试:测试不同模块之间的交互和兼容性。

系统测试:对整个软件系统进行全面的测试。

验证和验证测试:验证软件是否满足用户需求和规格,验证软件是否正确实现。

性能测试:测试软件在不同负载下的性能和响应时间。

6. 软件项目管理软件项目管理涉及到以下方面:项目计划:制定项目计划,明确项目的目标、范围、时间和资源。

项目组织:建立项目团队和分配任务,确保项目成员之间的协作和沟通。

软件工程的知识体系

软件工程的知识体系

软件工程的知识体系软件工程的知识体系引言需求分析需求分析是软件工程的重要一环,它旨在明确用户对软件系统的需求和期望。

需求分析通常包含以下几个步骤:1. 用户需求获取:与用户沟通,了解他们的需求和期望。

2. 需求分析和建模:将用户需求转化为可执行的任务和功能。

3. 需求验证:验证需求是否满足了用户的期望。

系统设计系统设计是将需求分析的结果转化为可执行的软件设计方案的过程。

系统设计分为以下几个阶段:1. 总体设计:确定系统的总体结构和模块划分。

2. 详细设计:详细确定每个模块的功能和实现。

3. 数据库设计:设计系统所需的数据库结构和数据模型。

编程和实现编程和实现是将系统设计所得的方案转化为具体可运行的软件的过程。

编程过程中需要注意以下几个方面:1. 编程语言选择:根据项目需求和开发人员的经验选择适合的编程语言。

2. 编码规范:遵循统一的编码规范,提高代码的可读性和可维护性。

3. 软件测试:进行单元测试和集成测试,确保代码的质量。

软件测试软件测试是软件工程中非常重要的一步,它旨在找出软件中的缺陷和问题,以保证软件的质量。

软件测试通常包含以下几个阶段:1. 单元测试:对程序的每个单元进行测试,确保其功能的正确性。

2. 集成测试:对多个单元组合使用进行测试,确保它们之间的协作正常。

3. 系统测试:对整个系统进行测试,模拟实际使用场景。

4. 验收测试:由用户进行测试,验证系统是否满足用户需求和期望。

软件维护软件维护是软件生命周期中非常重要的一环,它包括对软件进行错误修复、功能升级和性能优化等。

软件维护的主要目标是确保软件持续运行和改进。

结论软件工程知识体系包括需求分析、系统设计、编程、测试和维护等多个方面。

通过了解和掌握这些知识,可以帮助我们开发高质量的软件产品,满足用户需求和期望。

在软件工程领域不断学习和实践是非常重要的,只有不断积累和提升才能在软件开发的道路上不断进步。

软件工程知识体系指南

软件工程知识体系指南
• ?政治家的谎言同样会改变价值分配、情感趋向 • 客户关注:测试与评估如何为客户提供真实的价 值?有什么价值与作用?
职业的特征
• 由团体通过认证而确认的课程表的初始 职业教育 • 通过自愿认证或强制许可得适应实践的 注册 • 专门的技术培养和继续职业教育 • 有职业团体的公共支持 • 承诺遵从以伦理准则形式形成的规范
处理的深度
• 普遍接受的知识:在大多数时间应用于 大多数项目,广泛的一致意见确认其价 值和效力(PMI)。USA本科毕业4年后 应参加的考试。 • 高级研究知识(根据成熟性) • 专门知识(基于应用的普遍性)
知识域分解
知识域描述结构
• 简介中给出知识域的简要定义、其范围的总体 视图、与其他知识域的关系 • 主题结构分解组成每个知识域描述的核心,它 描述了将知识域分解为子域、主题、子主题 • 每个主题或子主题:给出简要描述,一或多篇 参考文献 • 指南列出了参考文献矩阵 • 知识域描述总结与附录
– – – – – 基于测试人员直觉和经验的测试 基于规格说明的技术组成 基于代码的技术、基于错误的技术、基于使用的技术 与应用本质有关的技术 如何选择和组合适当的技术
• 测试相关的度量
– 与被测试的程序的评价有关的度量 – 与测试本身的评价有关的度量
• 测试过程包括了测试时的实际考虑和测试活动
软件质量知识域
– 如何体现本行业的特征? – 如何被其他行业认可?
SWEBOK目标
• 指南不能与知识体系本身混淆,知识体系已经 存在于已发表的文献中 • 建立软件工程知识体系指南的5个目的
– 促进世界范围内对软件工程的一致观点 – 阐明软件工程相对其他学科(计算机科学、项目管 理、计算机工程和数学等)的位置,并确立他们的 分界,分为十个知识域 – 刻画软件工程学科的内容 – 提供使用知识体系的主题 – 为开发课程表和个人认证与许可材料,提供一个基 础

软件工程综述

软件工程综述软件工程综述本文档旨在对软件工程进行综述,提供软件工程领域的详细内容。

本文档按照以下章节进行划分:1\Introduction在这一章节中,我们将简要介绍软件工程的定义、背景和重要性。

我们将介绍软件工程的发展历史以及软件工程的目标和原则。

2\Software Development Life Cycle在这一章节中,我们将详细介绍软件开发生命周期的各个阶段,包括需求分析、系统设计、编码、测试和维护。

我们将探讨每个阶段的目标、活动和交付成果。

3\Requirements Engineering在这一章节中,我们将详细介绍需求工程的过程和方法。

我们将讨论需求获取、需求分析、需求规格和需求验证的各个方面。

4\Software Design在这一章节中,我们将深入讨论软件设计的各个方面。

我们将介绍结构化设计、面向对象设计和软件架构设计等不同的设计方法。

5\Software Testing在这一章节中,我们将探讨软件测试的重要性和方法。

我们将介绍测试策略、测试计划、测试用例设计和执行、以及缺陷管理和报告。

6\Software Mntenance在这一章节中,我们将介绍软件维护的不同类型,包括预防性维护、修复性维护和适应性维护等。

我们还将讨论维护过程和最佳实践。

7\Software Configuration Management在这一章节中,我们将详细介绍软件配置管理的重要性和方法。

我们将介绍版本控制、变更管理、配置项管理和发布管理等方面。

8\Software Project Management在这一章节中,我们将深入探讨软件项目管理的各个方面。

我们将介绍项目计划、资源管理、进度控制和风险管理等内容。

9\Software Quality Assurance在这一章节中,我们将详细介绍软件质量保证的各个方面。

我们将讨论质量计划、质量度量、质量审计和质量改进等内容。

10\Software Engineering Ethics在这一章节中,我们将探讨软件工程伦理的重要性和原则。

软件工程知识体系指南综述

软件工程知识体系指南综述*万江平,安诗芳,黄德毅(华南理工大学工商管理学院,广东广州510640)【摘要】首先许述软件工程知识体系指南的历史及其五大目标,并进一步说明了其层次结构以及相关的八个学科;详细分析了其十大知识域及其相应的各个子专题;最后探讨了我国如何应用软件工程知识的体系指南。

【关键词】软件工程;标准化;软件工程知识体系;软件工程教育随着软件产业的逐渐形成,一方面,国际软件工程标准化迅速活跃起来,另一方面,软件工程的教育也应运而生。

特别是20世纪80年代和90年代,计算机科学教育得到了突飞猛进的发展,进一步带动了软件工程教育。

不过人们发现,虽然许多院校的大纲已经从最初的以程序设计语言和编码为中心的课程设置转移到强调软件工程理论和设计上,但是直接面向"工程化"的课程和学时很少。

然而,恰恰是诸如需求建模、设计方法、体系结构设计、软件复用、软件过程、质量问题、团队组织技能之类软件工程领域的知识和技能对于商业软件的高效开发是至关重要的。

由于缺乏对于各种软件工程化实践活动和必要能力的共识,致使在软件工程化活动中出现许多棍乱现象,对软件工程知识的评价、获取和应用造成严重的不良后果。

1软件工程知识体系指南的历史1998年,美国联邦航空管理局在启动一个旨在提高该局技术和管理人员软件工程能力的项目时,发现他们找不到软件工程工程师应该具备的公认的知识结构。

他们向美国联邦政府提出了关于开发"软件工程知识体系指南"的项目建议。

美国Embry-Riddle航空大学计算与数学系的Thomas B. Hilburn 教授接受了该研究项目,并且于1999年4月完成了《软件工程知识本体结构》的报告。

该报告发布后迅速引起世界软件工程界、教育界和一些政府对建立软件工程本体知识结构的兴趣。

很快人们普遍接受了这样的认识:建立软件工程本体知识的结构是确立软件工程专业至关重要的一步;如果没有一个得到共识的软件工程本体知识结构,将无法验证软件工程工程师的资格,无法设置相应的课程,或者无法建立对相应课程进行认可的判断准则。

swebok_2004软件工程知识体系指南_cracked

软件工程知识体系指南(2004版)蒋遂平翻译蒋遂平,计算机应用专业博士,国家系统分析员,CSAI专业顾问。

曾从事过数据库、虚拟现实和人脸识别等方面的研究工作,先后参与和主持了多个系统的软件开发,主要感兴趣的领域包括软件工程,图象处理和数据库。

Guide to the Software Engineering Body of Knowledge2004 Version软件工程知识体系指南是IEEE计算机学会(IEEE Computer Society)职业实践委员会(Professional Practices Committee)主持的一个项目。

®SWEBOK是IEEE的官方服务标记。

目录第1章 引言第2章 软件需求第3章 软件设计第4章 软件构造第5章 软件测试第6章 软件维护第7章 软件配置管理第8章 软件工程管理第9章 软件工程过程第10章 软件工程工具与方法第11章 软件质量第12章 相关学科知识域附录A 2004年版软件工程知识体系指南的知识域描述规范附录B 指南演化过程附录C IEEE和ISO软件工程标准到SWEBOK知识域的分配附录D 根据Bloom分类学的主题分类///////////////////////////////////////////////////////////////////第一章 指南简介尽管全世界有数百万软件开发人员,软件在我们的社会中无处不在,软件工程在最近才达到了合理的工程学科和被认可的职业的状态。

一个职业在核心知识体系上达成一致,是所有学科的关键里程碑,IEEE计算机学会认为这是软件工程向职业状态演化的关键。

本指南是在职业实践委员会的主持赞助下编写成的,它是一个被设计为达到这个一致的跨越数年的项目的一部分。

什么是“软件工程”?IEEE计算机学会将“软件工程”定义为:“(1)应用系统化的、学科化的、定量的方法,来开发、运行和维护软件,即,将工程应用到软件。

软件工程知识体系指南综述

E gn e n n ie r g i
随着软件产业 的逐 渐形成 , 方面 , 一 国际软件工 程标 准 化 迅速活跃起来 , 另一方 面 , 件工程 的教育 也应运 而生 。特别 软 是2 0世纪 8 代和 9 0年 O年 代 , 计算机 科学 教育 得 到了突 飞猛 进 的发展 , 一步带动 了软件工 程教 育 。不过 人们发 现 , g er g Sadr ;S B K( o w r nier gB d f nweg ) d ct no Sf ae e od :Sf ae ni e n ; t ad WE O Sf aeE gne n o yo o lde ;E uai f ot r t n i n t i K o w
Ov riw fGu d o S f r gn e i g B d fKn w e g e ve o i e t ot e En i e rn o y o o ld e wa
W AN Ja gpn ,AN S ifn in — ig h- g,HUANG Dey a —i ( ol eo ui sA miirt n S uhC ia U i rt ehooy, u nzo u n dn 16 0,C ia C lg e fB s es d n t i , ot hn nv syo cn l n sao e i fT g G a ghu G ag o g5 0 4 hn )
A s at h i o n s v ol o gie o h o w r nier g oyo K o lde S B K)a di i ac i b t c :T ehs r adi egas f ud eSf aeE gne n d f nw eg ( WE O r ty tf i tt t i B n s e rh— th r
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档