本文档围绕软件工程基础概述展开,核心分析了当前软件开发的核心缺陷,明确了软件工程的核心概念、目标、过程与原则,并简要介绍了 UML 统一建模语言,最终对软件及软件工程核心框架做了整体梳理,具体核心内容如下:
一、当前软件开发中存在的核心缺陷
- 缺陷修复成本悬殊:项目发布后发现并修复 Bug 的成本,是需求和设计阶段的一百倍,前期把控缺陷的重要性极高。
- 大量重复劳动:软件项目中 40%-50% 的人力消耗在可避免的重复劳动上,其中 80% 的此类劳动源于 20% 的缺陷,核心诱因是草率的需求定制、象征性的案例设计与开发。
- 缺陷分布高度集中:约 80% 的缺陷来自 20% 的模块,半数模块几乎无缺陷;90% 的软件停工期由 10% 的缺陷导致;同时约 40%-50% 的用户程序存在重大缺陷。
- 评审与规范的重要性:同行评审可发现 60% 的缺陷,有针对性的评审比无导向评审多发现 35%;个人行为规范化能将缺陷注入率降低 75%。
- 高可靠性开发的成本与价值:开发高可靠性软件的单源代码指令成本,比低可靠性软件高出近 50%,但对运行和维护成本要求高的项目,该投入具备高性价比。
- 缺陷集中的核心原因:一是模块本身过于复杂,二是开发人员能力、责任心与质量意识不足,后者是更主要的问题,需由技术骨干攻坚复杂模块,提升开发人员整体素养。
二、软件工程的核心概念
软件工程(SE)是研究应用工程化方法构建和维护有效、实用、高质量软件的学科,核心是结合经检验的管理技术与当下最优的技术方法,从管理、过程、技术三个维度解决软件研发问题,其框架可概括为目标、过程、原则三大核心。
1. 软件工程的核心目标
以工程化方法为核心,实现七大目标:满足软件功能要求、保障良好的软件性能、控制较低的开发成本、提升软件可移植性、降低软件维护难度与费用、按时完成开发并交付使用,最终实现提高软件质量与生产率、降低开发成本、构建满足用户需求的软件系统的整体目标。
2. 软件工程过程
指软件生命周期涉及的一系列相关步骤,核心是生产满足需求且达成工程目标的软件产品,主要包含开发过程、运作过程、维护过程,覆盖分析、设计、编码、测试、支持等所有软件工程活动。
3. 软件工程的遵循原则
为达成核心目标,软件开发的设计、支持、管理环节需遵循六大原则:选取适宜的软件开发模型、采用合适的软件开发方法、提供高效的开发支撑环境、重视开发过程的管理、建设高素质的软件开发团队。
三、UML 统一建模语言简介
- 核心定义:UML 是定义良好、易于表达、功能强大的图形语言,用于软件密集型系统建模,支持从需求分析开始的面向对象软件开发全过程。
- 核心组成(UML1.4):包含 9 种核心图,各有其核心用途:用例图(业务建模、需求捕获、测试依据)、类图(描述类及类间关系)、对象图(描述对象及对象间关系)、构件图(描述构件及依赖关系)、部署图(描述构件节点部署)、顺序图(强调时间顺序的交互)、协作图(强调对象协作的交互)、状态图(描述类的状态及转换)、活动图(工作流程建模)。
- 实际应用:一般系统常用类图生成程序代码,嵌入式系统则常用状态图生成程序代码。
四、核心总结
- 计算机软件是程序、数据、文档的总和,其中程序含源程序与目标程序,数据是程序访问的信息结构,文档是描述软件全生命周期的文字与图表资料。
- 软件工程的核心是工程化方法的应用,其框架围绕目标、过程、原则展开,三者相互支撑,共同实现高质量软件的研发与维护。
- 软件开发的核心痛点是前期缺陷把控不足、人员素养不均等问题,需通过规范流程、强化评审、优化团队、借助 UML 等工具提升开发效率与质量。

1685

被折叠的 条评论
为什么被折叠?



