首页 > 其他分享 >构建之法

构建之法

时间:2024-11-27 21:33:36浏览次数:6  
标签:软件开发 工程师 单元测试 技术 软件工程 构建 软件

第一章  概论

软件工程是什么?

软件工程的核心部分(构建管理、源代码管理、软件设计、软件测试、项目管理)和用户体验、用户界面设计等组成了软件工程,而软件=程序+软件工程。

软件开发过程中的难题有5点: 1、复杂性 2、不可见性 3、易变性 4、服从性 5、非连续性

软件的其他特性:1、有许多不同的程序设计语言、软件工具盒软件开发平台。 2、存在许多不同的软件开发流程。 3、软件团队中存在许多不同的角色。 4、软件通 常可以存储在磁带上,也可以存储在CD、DVD上。

第二章  个人技术和流程

个人技术与流程与软件工程有什么关系?

软件是由多人合作完成的,不同人员的工作相互有依赖关系,所以个人技术是会影响整个软件开发的过程,个人技术主要是软件开发过程中的细节问题。在开发出软 件后,必须要经过测试才算是完成了软件,这就需要一个好的单元测试的标准——1、单元测试应该在最低的功能/参数上验证程序的正确性。 2、单元测试必须由最 熟悉代码的人(程序的作者)来写。 3、单元测试过后,机器状态保持不变。 4、单元测试要快(一个测试的运行时间是几秒钟,而不是几分钟)。 5、单元测试应该产生可重复、一致的结果。 6、独立性-单元测试的运行/通过/失败/不依赖于别的测试,可以人为构造数据,以保持单元测试的独立性。 7、单元测试应该覆盖所有代码路径。 8、单元测试应该集成到自动测试的框架中。 9、单元测试必须和产品代码一起保存和维护。

第三章  软件工程师的成长

初级软件工程师的成长:

1、积累软件开发相关的知识,提升技术技能(如对具体技术的掌握,动手能力)。例如:对Java、C/C++、C#的掌握,诊断/提高效能的技术,对设备驱动程序(Device Drive)、内核调试器(Kernel Debugger)的掌握;对于某一开发平台的掌握.

2、积累问题领域的知识和经验

第一点和第二点都可以再很多简历上都可以看到,也可以比较容易地检测出来。随着经验的增长,一个工程师可以掌握更广泛、更深入的技术和问题领域的知识。

3、对通用的软件设计思想和软件工程思想的理解。

4、提升职业技能(区别于技术技能)

职业技能包括:自我管理的能力,表达和交流的能力,与人合作的能力,按质按量完成任务的执行力,这些能力在IT行业和其他行业都很重要。

5、实际成果

绝大部分软件工程师的工作成果都是可以公开的,你参与的产品用户评价如何,市场占有率如何,对用户有多大价值?你在其中起了什么作用?行胜于言,这些实际的工作成果,是最重要的评价标准。

标签:软件开发,工程师,单元测试,技术,软件工程,构建,软件
From: https://www.cnblogs.com/yuanshitianzun123/p/18573149

相关文章

  • 项目打包构建优化
    项目打包构建优化优化项目:vue3-elm-master方法查找并诊断性能瓶颈构建速度分析:影响构建性能和开发效率.speed-measure-webpack-plugin构建体积分析:影响页面访问性能webpack-bundle-analyzer构建性能优化常用方法:通过多进程加快构建速度thread-loader通过......
  • 高校宿舍节能用电现状及智慧监管平台构建
    0引言在节能减排的大背景下,高校通过精细化宿舍用电管理,提升师生的节能节电意识等举措,能够显著提高电能资源的使用效率,并有效预防火灾等安全事故,确保师生的人身安全。因此,当前亟需加强对智慧监管平台的研究与应用,确保节能节电措施得到严格执行,以推动高校的可持续发展。1高......
  • 构建与计算:使用递归实现表达式的二叉树解析器
    ✅作者简介:2022年博客新星第八。热爱国学的Java后端开发者,修心和技术同步精进。......
  • 【Unity 插件】MiniMonsters - Turn Based Monster Battles快速构建回合制怪物对战游
    MiniMonsters-TurnBasedMonsterBattles是一款专为Unity开发者设计的插件,旨在帮助开发者快速构建回合制怪物对战游戏。该插件提供了一整套完整的系统,包括怪物战斗逻辑、技能系统、回合制战斗管理等功能,使得开发者能够专注于游戏内容的创作,而不需要从零开始编写复杂的战......
  • 使用 Django 构建支持 Kubernetes API 测试连接的 POST 接口
    文章目录使用Django构建支持KubernetesAPI测试连接的POST接口功能需求使用kubectl获取Token命令解析输出示例完整代码实现KubernetesAPI客户端类功能说明Django接口视图关键点解析路由配置接口测试请求示例响应结果成功错误优化建议1.安全性2.错误......
  • 从头开始构建一个大型语言模型《Build a Large Language Model (From Scratch)》附PDF
    通过从头开始构建一个大型语言模型,了解如何创建、训练和调整大型语言模型(LLMs)!一、构建大型语言模型(从头开始)在《构建大型语言模型(从头开始)》中,你将了解如何LLMs从内到外工作。在这本富有洞察力的书中,畅销书作家塞巴斯蒂安·拉施卡(SebastianRaschka)将指导你逐步创建......
  • 网络规划毕业设计:基于思科的中小型企业/校园网络构建:VLAN、OSPF、ACL与DHCP的配置实施
    内容概要:本文详细介绍了如何在中小型企业/校园的网络环境中配置VLAN(虚拟局域网)分割不同部门或业务,设置OSPF动态路由以便跨子网通信,利用ACL(访问控制列表)进行内外网间的安全控制以及部署DHCP为网络内的设备自动分配IP地址。具体的操作命令包括show命令查看配置状态,ping命令测......
  • 如何构建和发布 npm 包到 GitHub Package Registry?
    如何构建和发布npm包到GitHubPackageRegistry?发表于 2023/12/19  更新于 2023/12/23作者 小王爷4分钟阅读本文将指导您在GitHubPackages上构建和发布npm到GPR。npm:全称NodePackageManager,NodeJs包管理和分发的工具。GPR:全称GitHubPackageRegi......
  • 用 Vue2 打造防诈骗问答系统:完整代码与项目实战 Vue2 实现交互式问答页面:单选、多题切
    以下是构建一个防诈骗测试页面的完整代码实现,包含单选题功能,并可记录用户选择的答案,所有功能均基于Vue2实现:完整代码<!DOCTYPEhtml><htmllang="zh"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initia......
  • 构建目录树结构
    //示例节点结构constnodes=[{id:1,parentId:null,name:'Root'},{id:4,parentId:2,name:'Grandchild1'},{id:5,parentId:2,name:'Grandchild2'},......