首页 > 其他分享 >作为嵌入式/软件开发工程师你需要知道的东西

作为嵌入式/软件开发工程师你需要知道的东西

时间:2024-06-08 18:22:55浏览次数:23  
标签:编码 软件开发 工程师 软件设计 软件产品 嵌入式 软件工程 软件

大型软件开发的基本素养

中国科学技术大学软件开发规范

软件开发规范(试行版) (ustc.edu.cn)

 

清华软件工程样张

标题 (tup.com.cn)

软件工程这个概念,并将其定义为“为了经济地获得可靠的和能在实际机器上高效运行的软件,而建立和使用的健全的工程规则”

(1)将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件。

Guide to the Software Engineering Body of Knowledge(2004)中,软件 工程知识体系划分为以下10个知识领域。

(1)软件需求(softwarerequirements)。

(2)软件设计(softwaredesign)。

(3)软件构造(softwareconstruction)。

(4)软件测试(softwaretesting)。

(5)软件维护(softwaremaintenance)。

(6)软件配置管理(softwareconfigurationmanagement)。

(7)软件工程管理(softwareengineeringmanagement)。

(8)软件工程过程(softwareengineeringprocess)。

(9)软件工程工具和方法(softwareengineeringtoolsandmethods)。

(10)软件质量(softwarequality)。

软件生命周期主要包括以下阶段。

可行性研究:主要目的是定义问题,确定软件的开发目标和分析其可行性,制订初步的 开发计划。

需求分析:在确定软件开发可行的情况下,对目标软件系统需要解决的问题和需要实 现的功能进行详细分析,形成需求规格说明书。

软件设计:根据需求分析的结果,对整个软件系统进行设计,分为概要设计和详细设 计。

概要设计旨在建立系统的总体架构,详细设计关注每个子系统和模块的内部实现细节。

形成的软件设计说明书将为后续编码实现提供依据。

编码实现:根据软件设计说明书,将设计结果转换成计算机可运行的程序代码。在编码实现过程中必须要制订统一、符合标准的编码规范,以保证程序的可读性、易维护性,提高程序的运行效率和整个系统的稳定性。

软件测试:主要目的是发现软件产品中存在的缺陷,进而保证软件产品的质量。可以划分为单元测试、集成测试、系统测试和验收测试。

运行与维护:软件产品交付后,随着用户需求的增长或改变,以及市场环境的变化,软件产品的功能需要不断完善。为了保证软件产品的正常运行,需要进行一定的维护。

 

函数设计的最佳实现

The best practice

Coding Best Practices and Guidelines for Better Code | DataCamp

 

软件工程

 

项目管理

 

标签:编码,软件开发,工程师,软件设计,软件产品,嵌入式,软件工程,软件
From: https://www.cnblogs.com/asandstar/p/18238828

相关文章

  • 嵌入式Linux系统编程 — 3.1 Linux系统中的文件类型
    目录1Linux系统中的文件类型简介2普通文件2.1什么是普通文件2.2普通文件分类3 目录文件4 字符设备文件和块设备文件4.1什么是设备文件4.2查看设备文件的方法:5 符号链接文件(link)5.1什么是符号链接文件5.2如何查看和创建符号链接文件6 管道文件7 套接......
  • 嵌入式Linux系统编程 — 1.5 文件描述符详解
    目录1文件描述符简介1.1文件描述符特点1.2标准文件描述符1.3文件描述符的生命周期2 fcntl()函数2.1fcntl()函数简介2.2复制文件描述符(F_DUPFD)2.3获取/设置文件状态标志(F_GETFL/F_SETFL)1文件描述符简介文件描述符(FileDescriptor)是Linux和UNIX系统编......
  • RT-Thread和Infineon主持的嵌入式网络应用开发沙龙
    主题会议由RT-Thread&&Infineon共同主持,PSoc62开发板现场演示从0到1搭建智能数据网关RT-Thread介绍rt-thread社区负责人郭占鑫郭工介绍RT-Thread英飞凌合作伙伴介绍英飞凌产品负责人介绍英飞凌的产品动态、分享未来的一些嵌入式技术发展方向以及应用案例技术分享(钩子函......
  • 嵌入式代码优化技巧
    内存管理技巧1.C/C++工程应尽量避免深拷贝,尽量用浅拷贝(指针或者引用),如果指针需要频繁拷贝,用智能指针是一种不错的选择2.启用内存池管理线程的内存开销,事先在堆里边分配好,然后快速使用避免复杂的浮点运算1.复杂的浮点运算尽量避免,有些芯片是不支持硬件双精度浮点数的,比如全志T3......
  • 知乎(1-5期)-AI大模型全栈工程师培养计划,做ChatGPT浪潮中顶尖的超级个体
    知乎(1-5期)-AI大模型全栈工程师培养计划,做ChatGPT浪潮中顶尖的超级个体一.前言:1.AI形式目前人工智能和大模型一定是前景非常广阔的赛道,现在陆续出现的模型训练岗,模型技术岗,像有些大厂已经开始不再招聘JAVA开发,所以关于大模型的岗位一定是雨后春笋的喷发2.程序员自身的发展......
  • 新品发布 | 飞凌嵌入式RK3576核心板,为AIoT应用赋能
    为了充分满足AIoT市场对高性能、高算力和低功耗主控日益增长的需求,飞凌嵌入式全新推出基于RockchipRK3576处理器开发设计的FET3576-C核心板!集成4个ARMCortex-A72和4个ARMCortex-A53高性能核,内置6TOPS超强算力NPU,为您的AI应用赋能。核心板采用板对板连接方式,可插拔式设计便......
  • LLM大语言模型算法特训,带你转型AI大语言模型算法工程师
    LLM大语言模型算法特训,带你转型AI大语言模型算法工程师 LLM(大语言模型)是指大型的语言模型,如GPT(GenerativePre-trainedTransformer)系列模型。以下是《LLM大语言模型算法特训,带你转型AI大语言模型算法工程师》课程可能包含的内容:1.深入理解大语言模型:课程可能会介绍大......
  • SpaceX 首席火箭着陆工程师 MIT论文详解:非凸软着陆最优控制问题的控制边界和指向约束
    上一篇blog翻译了LarsBlackmore(LarsBlackmoreisprincipalrocketlandingengineeratSpaceX)的文章,SpaceX使用CVXGEN生成定制飞行代码,实现超高速机载凸优化。利用地形相对导航实现了数十米量级的导航精度,着陆器在着陆过程中成像行星表面并将特征与机载地图匹配......
  • 嵌入式Linux系统编程 — 2.1 标准I/O库简介
    目录1标准I/O库简介1.1 标准I/O库简介1.2 标准I/O和文件I/O的区别2 FILE指针3标准I/O库的主要函数简介4 标准输入、标准输出和标准错误4.1标准输入、标准输出和标准错误概念4.2示例程序5 打开文件fopen()5.1 fopen()函数简介5.2 新建文件的权限5.3......
  • 嵌入式Linux中的录音降噪方案
    降噪不仅只能从硬件入手,本文为您介绍一种嵌入式Linux中的录音降噪方案。该方案完全依靠软件实现,最大程度上降低投入。1. 工具下载SoX(Sound eXchange)是一个开源的音频处理工具,它可以用来读取、转换和处理各种音频文件。SoX的源代码主要由C语言编写,它包含了大量的音频处理算法......