第一周

1.概念

1.1软件工程的定义:

(1)将系统化、规范化、可度量的方法应用与软件的开发、运行和维护的过程,即将工程化应用于软件中。

(2)对(1)中所所述方法的研究。

也即:

软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过实践考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。

1.2从“人月神话”中理解software crisis、COCOMO 模型

(1)software crisis:指落后的软件生产方式无法满足软件日益增长的需求,导致软件开发、运行、维护过程中出现一系列严重问题,主要有如下几种问题

  • 软件开发的成本日益增长
  • 软件开发进度难以控制
  • 用户对”已完成“系统不满意的现象经常发生
  • 软件产品的质量不可靠
  • 软件的可维护程度低
  • 软件开发生产率跟不上硬件的发展和人们需求的增长

(2)COCOMO模型:构造性成本模型。它是一种精确、易于使用的,基于模型的成本估算方法。从本质上说是一种参数化的项目估算方法,参数建模是把项目的某些特征作为参数,通过建立一个数字模型预测项目成本。

    根据不同层次的复杂性可以分为三个层次:

·基本模型 (Basic Model): 是一个静态单变量模型,它用一个以已估算出来的源代码行数 (LOC) 为自变量的函数来计算软件开发工作量。 
·中间模型 (Intermediate Model):则在用 LOC 为自变量的函数计算软件开发工作量的基础上,再用涉及产品、硬件、人员、项目等方面属性的影响因素来调整工作量的估算。 

·详细模型 (Detailed Model) :包括中间 COCOMO 模型的所有特性,但用上述各种影响因素调整工作量估算时,还要考虑对软件工程过程中分析、设计等各步骤的影响。

1.3软件生命周期

·从时间角度,把整个周期划分为若干个阶段

·划分的原则:各阶段的任务彼此间尽可能相对独立,同一个阶段各项任务的性质尽可能相同,从而降低每个阶段任务的复杂性,简化不同阶段之间的联系,有利于软件开发过程的组织管理。受软件规模、性质、种类、开发方法等因素的影响。

·典型划分GB8567(4个时期7个阶段):

1)软件分析时期:问题定义、可行性研究、需求分析

2)软件设计时期:总体设计、详细设计

3) 编码与测试时期:编码、测试

4) 运行与维护时期

1.4按照 SWEBok 的 KA 划分,本课程关注哪些 KA 或 知识领域?

  • Software requirements 
  • Software design 
  • Software construction 
  • Software engineering models and methods 

1.5解释 CMMI 的五个级别。例如:Level 1 - Initial:无序,自发生产模式。

  • Level 1 - Initial 初始级:软件过程是无序的,对过程几乎没有定义,成功与否取决于个人努力,管理是反应式的
  • Level 2 - Managed 管理级:开发过建立项目管理过程监督费用、进度和功能特性。制定必要过程纪律,可以重复早些的类似项目成功经理
  • Level 3 - Defined 定义级:已经量软件管理和工程两方面的过程文档化、标准化,并综合成组织软件的标准软件过程。所以项目均通过批准的标准软件过程来开发和维护,软件产品的生产在软件开发过程是可见的
  • Level 4 - Quantitatively Managed 量化管理级: 分析软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解和控制。管理有一个做出结论的客观依据,管理能够在定量的范围内预测性能
  • Level 5 - Optimizing 优化管理级:量化反馈和先进的新思想、新技术促使过程不断改进

1.6用自己语言简述 SWEBok 或 CMMI (约200字)

CMMI全称是Capability Maturity Model Integration,即能力成熟度模型集成,计划把现在所有现存实施的和即将被发展出来的各种能力成熟度模型集成到一个框架中去,为改进一个组织的各种过程提供了一个单一的集成化框架。帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。CMMI主要关注点就是成本效益、明确重点、过程集中和灵活性四个方面。CMMI主要分为初始级,可管理级,已定义级,量化管理级,优化管理级五个等级。

2.解释 PSP 各项指标及技能要求

2.1阅读《现代软件工程》的 PSP: Personal Software Process 章节

2.2按表格 PSP 2.1, 了解一个软件工程师在接到一个任务之后要做什么,需要哪些技能,解释你打算如何统计每项数据? 

Personal Software Process Stages技能要求
计划熟悉开发流程,有规划能力
估计这个任务需要多少时间对整个项目以及各个阶段有大致的时间观
开发编程能力
需求分析分析用户需求的能力
生成设计文档(设计软件的框架)软件结构设计能力,表达能力,设计工具的使用
设计复审 (和同事审核设计文档)协同合作能力
代码规范 (为目前的开发制定合适的规范)代码规范方面的知识
具体设计设计能力
具体编码编程能力
代码复审审查debug能力
测试(自我测试,修改代码,提交修改)测试能力
报告表达能力
测试报告表达能力
计算工作量计算能力
事后总结, 并提出过程改进计划总结能力,自我反省完善自我的自觉

如何统计每项数据

1.项目/任务有多大? 
    衡量项目的大小,计算在实际产品中写了多少代码
2.花了多少时间? 
    计算实际花在项目上的时间。 
3.质量如何? 
    主要是看测试出的不合要求地方,包括性能(不仅仅是bug)
4.是否按时交付? 
    看每个阶段是否按时完成。



内容概要:本文是一篇关于使用RandLANet模型对SensatUrban数据集进行点云语义分割的实战教程,系统介绍了从环境搭建、数据准备、模型训练测试到精度评估的完整流程。文章详细说明了在Ubuntu系统下配置TensorFlow 2.2、CUDA及cuDNN等深度学习环境的方法,并指导用户下载和预处理SensatUrban数据集。随后,逐步讲解RandLANet代码的获取运行方式,包括训练、测试命令的执行参数含义,以及如何监控训练过程中的关键指标。最后,教程涵盖测试结果分析、向官方平台提交结果、解读评估报告及可视化效果等内容,并针对常见问题提供解决方案。; 适合人群:具备一定深度学习基础,熟悉Python编程和深度学习框架,从事计算机视觉或三维点云相关研究的学生、研究人员及工程师;适合希望动手实践点云语义分割项目的初学者进阶者。; 使用场景及目标:①掌握RandLANet网络结构及其在点云语义分割任务中的应用;②学会完整部署一个点云分割项目,包括数据处理、模型训练、测试性能评估;③为参相关竞赛或科研项目提供技术支撑。; 阅读建议:建议读者结合提供的代码链接和密码访问完整资料,在本地或云端环境中边操作边学习,重点关注数据格式要求训练参数设置,遇到问题时参考“常见问题解决技巧”部分及时排查。
内容概要:本文详细介绍了三相异步电机SVPWM-DTC(空间矢量脉宽调制-直接转矩控制)的Simulink仿真实现方法,结合DTC响应快SVPWM谐波小的优点,构建高性能电机控制系统。文章系统阐述了控制原理,包括定子磁链观测、转矩磁链误差滞环比较、扇区判断及电压矢量选择,并通过SVPWM技术生成固定频率PWM信号,提升系统稳态性能。同时提供了完整的Simulink建模流程,涵盖电机本体、磁链观测器、误差比较、矢量选择、SVPWM调制、逆变器驱动等模块的搭建参数设置,给出了仿真调试要点预期结果,如电流正弦性、转矩响应快、磁链轨迹趋圆等,并提出了模型优化扩展方向,如改进观测器、自适应滞环、弱磁控制和转速闭环等。; 适合人群:电气工程、自动化及相关专业本科生、研究生,从事电机控制算法开发的工程师,具备一定MATLAB/Simulink和电机控制理论基础的技术人员。; 使用场景及目标:①掌握SVPWM-DTC控制策略的核心原理实现方式;②在Simulink中独立完成三相异步电机高性能控制系统的建模仿真;③通过仿真验证控制算法有效性,为实际工程应用提供设计依据。; 阅读建议:学习过程中应结合文中提供的电机参数和模块配置逐步搭建模型,重点关注磁链观测、矢量选择表和SVPWM调制的实现细节,仿真时注意滞环宽度开关频率的调试,建议配合MATLAB官方工具箱文档进行参数校准结果分析。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值