软件工程的3要素都是什么?

如题所述

软件工程的三要素是方法、工具和过程。

软件工程方法为软件开发提供了 “如何做” 的技术,软件工具为软件工程方法提供了自动的或半自动的软件支撑环境; 过程是为了获得高质量的软件所需要完成的一系列任务框架,它规定了完成各项任务的工作步骤。

软件工程的目标是在给定成本、进度的前提下,开发出具有适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性、可移植性、可追踪性、可互操作性和满足用户需求的软件产品。追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。

展资料:

软件工程的特点:

1、可理解性:系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制系统软件复杂性,并支持软件的维护、移植或重用。

2、可维护性:软件交付使用后,能够对它进行修改,以改正潜伏的错误,改进性能和其它属性,使软件产品适应环境的变化等。软件维护费用在软件开发费用中占有很大的比重。可维护性是软件工程中一项十分重要的目标。

3、可重用性:把概念或功能相对独立的一个或一组相关模块定义为一个软部件。可组装在系统的任何位置,降低工作量。

4、可移植性:软件从一个计算机系统或环境搬到另一个计算机系统或环境的难易程度。

5、可追踪性:根据软件需求对软件设计、程序进行正向追踪,或根据软件设计、程序对软件需求的逆向追踪的能力。

参考资料来源:百度百科-软件工程

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-26
软件工程包括三个要素:方法、工具和过程。 软件工程方法为软件开发提供了“如何做”的技术。它包括了多方面的任务,如项目计划与估算、软件系统需求分析、数据结构、系统总体结构的设计、算法过程的设计、编码、测试以及维护等。 软件工具为软件工程方法提供了自动的或半自动的软件支撑环境。目前,已经推出了许多软件工具,这些软件工具集成起来,建立起称之为计算机辅助软件工程(CASE)的软件开发支撑系统。CASE将各种软件工具、开发机器和一个存放开发过程信息的工程数据库组合起来形成一个软件工程环境。 软件工程的过程则是将软件工程的方法和工具综合起来以达到合理、及时地进行计算机软件开发的目的。过程定义了方法使用的顺序、要求交付的文档资料、为保证质量和协调变化所需要的管理、及软件开发各个阶段完成的里程碑。 软件工程是一种层次化的技术。 任何工程方法(包括软件工程)必须以有组织的质量保证为基础。全面的质量管理和类似的理念刺激了不断的过程改进,正是这种改进导致了更加成熟的软件工程方法的不断出现。支持软件工程的根基就在于对质量的关注。本回答被网友采纳
第2个回答  2013-12-19
软件工程的三要素:工具,方法和过程。然而所有的一切都是为了规范人员的分工和行为,提高生产效率,进而降低成本。

软件架构师的工作主要围绕这个三要素进行。

1. 工具评估(包括开发平台,开发语言,开发工具以及Frameworks)

A. 用好的工具提高生产效率,使人关注于有效工作内容,从而减少不必要的工作量,降低成本。特别对于分工合作下的团队开发尤为重要。典型的分工是流水线式的,一步接着一步。减少上一个环节的工作量,可以提前下一个环节。
B. 用好的工具保证质量——另外一种生产效率。
保证质量有利于减少工作上的反复,尤其是用于测试的工作量。提高生产效率的同时也可以保证士气。

2. 开发方法

解决问题的办法就是分开而治。要被分解问题域是:数据(模型),计算和流程;而如何分解的问题便是架构师的任务,流行的有OOD和AOSD两种。在大比例结构中必需考虑的是:抽象分层,技术分层以及模块划分。抽象分层(包括模型,计算以及流程的抽象)以及模块划分是基于业务的纵向以及横向分解,我们也称之为解耦。而技术分层则是对于业务逻辑的技术分类,分类本身还可能涉及到平台的技术限制。所有分解都涉及到上下文的边界建立—不仅仅是业务逻辑的区分同时也是技术的区分。

分解问题必需考虑人为的因素,降低分解后的知识学习阻力,保持知识的内聚以及有效的组织是保证分解成功的关键。这些工作将有效保证开发人员不做出破坏系统边界的行为。
考核分解的有效性:保证开发的效率。分解的目的是降低解决问题的难度,从而提高生产效率,如果分解方案增加了系统适应变化的时间,那么分解方案可能是错误的。

3. 过程选择

选择的过程,最重要的是让问题及早暴露(降低成本),尽早让用户使用(创造价值).
敏捷开发就是要让问题更快的暴露,让功能更快的实现,从而早早进入下一个循环。

另外还有文档,文档是过程的一个重要产物。文档也是保证知识传递的媒介。有软件开发而没有详尽的文档,无疑工作只是做了一半。在问题分解情况下的开发角色分为三种:开发者,使用者以及维护者。开发者写的文档给后两者看,而最最关键的则是写给使用者的文档。
第3个回答  2021-08-11
软件工程学的主要内容是软件开发技术和软件工程管理。 软件开发技术包含软件工程方法学、软件工具和软件开发环境;软件工程管理学包含软件工程经济学和软件管理学。 专业简介是计算机领域发展最快的学科分支之一,国家非常重视软件行业的发展,对软件人才的培养给予了非常优惠的政策。本专业培养掌握计算机软件基本理论知识,熟悉软件开发和管理技术、能够在计算机软件领域中从事软件设计、开发和管理的高级人才。 主修课程该专业除了学习公共基础课外,还将系统学习离散数学、数据结构、算法分析、面向对象程序设计、现代操作系统、数据库原理与实现技术、编译原理、软件工程、软件项目管理、计算机安全等课程,根据学生的兴趣还可以选修一些其它选修课。 毕业去向除考取国内外名牌大学研究生外,主要毕业去向是计算机软件专业公司﹑信息咨询公司﹑以及金融等其它独资、合资企业。 培养目标本专业培养适应社会发展需求,德、智、体、美全面发展,具有扎实的计算机应用理论和知识基础,掌握软件工程领域的前沿技术和软件开发方法,具有较强的实践能力和创新精神,具备较强的软件项目的系统分析、设计、开发和测试能力,能够按照工程化的原则和方法从事软件项目开发和管理的应用型人才。