软件工程作为指导计算机软件开发和维护的学科,其核心在于运用工程的概念、原理、技术和方法,结合经过时间考验的管理技术与当前最优质的技术方法,目的是经济地开发高质量软件并有效维护。软件工程的本质特性表现在其对于大型程序构造的关注、控制复杂性的中心课题、软件的易变性、开发效率的重要性、团队合作的关键性、对用户的支持以及产品创造背后的文化差异。由于软件工程的目的在于为高质量软件开发提供科学体系框架,因此它从技术和管理两方面研究开发和维护方法,以求从源头上消除软件危机。软件工程方法学包含了一整套管理和开发技术方法的集合,目前以传统方法学和面向对象方法学最为广泛。软件工程技术由方法、工具和过程三大要素组成,并根据其涉及学科的广泛性分为软件开发技术、软件项目管理技术和软件质量管理技术三大分支。 软件工程的基本原理包括严格按生命周期计划管理、坚持进行阶段评审、实行严格的产品控制、采用先进程序设计技术、确保结果可审查、开发团队成员应少而精以及承认改进实践的必要性。软件工程的基本开发原则涉及模块化、抽象和信息隐蔽、模块高内聚低耦合、确定性、一致性和完备性。构成软件工程的基本元素还包括了控制和质量保证,其中控制指的是规模、成本、复杂性的控制等。 软件过程是为了获得高质量软件产品,在工具支持下,由软件人员完成的一系列工程活动,而软件生命周期则是指软件从孕育到诞生、成长、成熟、衰亡的整个过程。软件生命周期模型则描述了软件生命中各个阶段的工作内容以及它们之间的关系,常见的模型包括瀑布模型、螺旋模型、迭代模型和敏捷模型等。软件工程认为,软件危机是由于软件本身的特性以及开发和维护方法不当导致的一系列严重问题,如成本和进度估计不准确、用户不满意、产品质量不可靠、维护困难、文档资料缺失等,其中软件不同于硬件,管理和控制开发过程难度较大,且随着规模增加复杂性呈指数级上升,这些问题共同导致了软件危机。 解决软件危机需要技术措施和组织管理措施的结合,采用工程化的原则和方法组织软件开发是摆脱软件危机的一个主要出路。此外,软件的定义包括程序、数据和文档三部分,这表明软件是包含各种信息和处理逻辑的综合体系。软件工程还探讨了如何早期发现并改正错误,强调错误是难免的,关键在于虚心接受、认真对待工作,以降低错误发生的机会。


































剩余40页未读,继续阅读


- 粉丝: 4
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- account-0.34.7-beta-javadoc.jar
- tock-nlp-build-model-worker-on-aws-batch-23.3.4-sources.jar
- h2o-genmodel-ext-mojo-pipeline-3.42.0.2.jar
- sparkling-water-examples_2.11-3.30.0.2-1-2.1-scaladoc.jar
- account-jvm-1.5.22-javadoc.jar
- codebuild-jvm-1.3.91.jar
- kotlinx-uuid-core-android-debug-0.0.25-sources.jar
- ihs-reader-0.6.5-javadoc.jar
- wisp-deployment-2024.09.04.181246-5fa440d.jar
- connect-0.17.9-beta-all.jar
- cloudsearchdomain-jvm-1.4.2.jar
- clouddirectory-0.15.2-beta.jar
- cloudtraildata-jvm-1.0.22-javadoc.jar
- redwood-flexbox-macosx64-0.4.0-metadata.jar
- databasemigrationservice-jvm-0.17.1-beta-sources.jar
- backupgateway-1.0.57-javadoc.jar


