当前位置: 首页 > news >正文

谈谈对软件工程的理解

软件工程的核心思想在于软件不仅仅是程序,软件工程是一门强调“实践”和“工程化”的学科。软件,即程序、数据和文档**三者的集合体。这彻底改变了我过去认为“写软件就是敲代码”的狭隘观念。文档的重要性被反复强调,它是团队沟通、知识传承和项目管理的基础;而数据是软件处理的核心对象,决定了软件的价值。我明白了,软件开发是一项远超编码的复杂活动。

其次,软件工程的“工程”二字意味着系统化、规范化和规模化。开发一个简单的程序和构建一个大规模、复杂的软件系统,其方法论是截然不同的。软件工程引入了生命周期的概念,将软件从需求分析、设计、编码、测试到部署维护的整个过程进行系统化管理。这要求我们采用严谨的原则、方法和工具,以应对软件固有的复杂性、易变性和缺陷隐蔽性等挑战,确保项目不会因规模扩大而失控。

通过对开源软件部分的学习,我理解了现代软件工程的发展与开源生态密不可分。老师上课用大量篇幅介绍开源软件,从其定义、优势、许可证(如GPL和Apache)到托管平台(如GitHub)。这表明,当今的软件开发已经不是闭门造车,而是站在巨人的肩膀上。利用和贡献开源社区,不仅可以极大提高开发效率、降低成本,更是学习先进架构设计和编码规范的重要途径。开源已经成为推动软件技术创新和构建复杂系统的基石。

最后,所有工程方法和实践的最终目标是交付高质量的软件。软件质量是软件的生命线,它是一个多维度的概念,包括正确性、可靠性、健壮性、可维护性、安全性等诸多要素。尤其是华为提出的可信作为第一优先级,更凸显了在万物互联时代,软件质量对于用户、社会乃至国家安全的重要性。

经过第一节课的学习,我明白了软件工程是一门集理论、方法、工具和管理于一体的综合性工程学科。它教导我们如何以系统、严谨的工程化思想,在整个生命周期内管理和控制软件开发的复杂性,并充分利用开源生态,最终构建出满足用户需求的高质量、可信赖的软件产品。

http://www.hskmm.com/?act=detail&tid=14904

相关文章:

  • firewalld 端口流量转发
  • [PaperReading] Qwen2-VL: Enhancing Vision-Language Model’s Perception of the World at Any Resolution
  • [PaperReading] MemGPT: Towards LLMs as Operating Systems
  • 总线的性能指标
  • VoxCPM:新一代高拟真语音生成模型
  • Day20封装的初步认识
  • 完整教程:数据结构与算法-树和二叉树-二叉树的存储结构(Binary Tree)
  • 工业相机与镜头靶面尺寸的关系:从原理到选型的避坑指南 - 教程
  • Security Onion Solution
  • 时序数据库 TimechoDB V2.0.6 发布 | 新增查询写回、黑白名单等功能
  • Python精品任务-基于python的个性化音乐推荐架构的设计与实现(源码+LW+部署文档+全bao+远程调试+代码讲解等)
  • 第二篇
  • 实用指南:网站抓包怎么做?(网站抓包教程 HTTPS 抓包 浏览器抓包 服务器端流量分析 网站安全与调试)
  • EasyDSS “进度条预览”黑科技,如何重塑视频点播的交互体验?
  • 2025 年在线 Excel 协作工具:纯前端架构引领协作范式革新
  • AI重塑招聘:从筛简历到做决策,HR如何借技术提效35%?
  • 大屏适配不同分辨率
  • 直播点播之外,EasyDSS如何开辟“实时协作”第三极?它的会议功能,远比你想象的强大
  • 抖音视频关键词批量下载工具分享|分享痛点|
  • HarmonyOS动态照片,简易环境助力高效开发
  • 二叉树专题
  • IT项目管理主要做什么?-ManageEngine卓豪
  • 9.22学习笔记
  • Django 视图层
  • Kettle: pentaho-server-9.4登录问题
  • Win11/Win10/Office 永久激活
  • 列表
  • springboot~获取原注解的方法findMergedAnnotation使用场景
  • Catalan数(卡特兰数)
  • IvorySQL文档共建计划第一期!提 PR,提 Issue,赢取 Beats 耳机、机械键盘、书籍等多重好礼!