软件开发概述--敏捷模式

软件开发生命周期

SDLC--Software Development Life Cycle.

传统的软件开发生命周期有:

  瀑布模型:顺序进行,只有完成上一个阶段才能开启下一个阶段,将软件生命周期分为:制定计划、需求分析、软件设计、编写程序、软件测试及运行维护六个基本活动。优点是为项目提供了按阶段划分的检查点及关注点,必须为其提供模板来使分析、设计、编码、测试、支持有一个共同的指导。缺点是各个阶段划分固定,其间产生大量文档,极大地增加了工作量,用户只有等到整个过程的末期才能看到开发成果,增加了开发风险,不适应用户需求的变化。
  原型模型:建立样品,逐步求精,又称为样品模型,借用已有系统或构建样品作为原型模型,通过对样品的改进满足客户的需求。其优点是可以让开发和用户在原型上达成一致,减少设计中的错误和开发中的风险,缩短开发周期,降低成本。缺点是客户与开发者对原型的理解有差异不适合准确的原型设计,也限制了开发人员的创新。
  螺旋模型:一般系统级应用使用螺旋模型,其引入了风险分析。它是一种演化软件开发过程模型,兼顾了原型模型的迭代和瀑布模型的系统化及严格监控。优点是设计上的灵活性更易于适应客户的需求变化,客户有效的交互保证了项目的正确方向及可控性。缺点是需要具备相当丰富的风险评估经验及专门的知识,而过多的迭代会增加开发成本,延迟交付时间。

敏捷开发

敏捷开发以用户的需求进化为核心,持续迭代的方式进行开发。软件项目在构建初期切分成多个子项目,各个子项目的成果经过测试均具备可视、可集成和可运行使用的特征。敏捷的目标是提高开发效率和响应能力。

敏捷开发模型:

敏捷宣言:

  个体交互高于流程和工具
  可工作软件高于理解文档
  客户协作高于合同协商
  响应变化高于遵循计划

敏捷原则:  

  通过早期和连续型的高价值工作交付满足“客户”。
  大工作分成可以迅速完成的较小组成部门。
  识别最好的工作是从自我组织的团队中出现的,
  为积极员工提供他们需要的环境和支持,并相信他们可以完成工作。
  创建可以改善可持续工作的流程。
  维持完整工作的不变的步调。
  欢迎改变的需求,即时是在项目后期。
  在项目期间每天与项目团队和业务所有者开会。
  在定期修正期,让团队反映如何能高效,然后进行相应地行为调整。
  通过完车的工作量计量工作进度。
  不断地追求完善。
  利用调整获得竞争优势。

敏捷名词一览:

  Scrum: 橄榄球运动的一个专业术语,表示"争球"的动作,把一个开发流程的名字取名为Scrum,意味着大家要像打橄榄球一样迅速、富有战斗激情、高效的工作。  
  Scrum Team: 开发团队,主要负责软件产品在Scrum规定流程下进行开发工作,人数控制在5~10人左右,每个成员可能负责不同的技术方面,但要求每个成员必须有很强的自我管理能力,同时具有一定的表达能力,成员可以采用任何工作方式,只要能达到Sprint目标。
  Product Owner: 产品负责人,主要负责确定产品的功能和达到要求的标准,指定软件的发布日期和交付的内容,同时有权力接受或拒绝开发团队的工作成果
  Scrum Master: 流程管理员,主要负责整个Scrum流程在项目中的顺利实施和进行,以及清除挡在客户和开发之间的沟通障碍,使得客户可以直接驱动开发
  Sprint burn-down chart:Sprint燃尽图,它显示了Sprint中累积剩余的工作量,它是一个反映工作量完成状况的趋势图。
  Product backlog list:产品待办列表,指一个产品或项目期望的、排列好优先级的功能列表。
  Sprint backlog list:Sprint待办列表,Sprint任务清单,从Product backlog list中拉取出来的一部分。
  Sprint:短距离赛跑的意思,这里指一次迭代,周期为2周到1个月时间,即,我们把一次迭代的开发内容以最快的速度完成的过程称为Sprint。
  User story:用户故事,从用户的角度来描述用户渴望得到的功能。

敏捷实践

TDD--测试驱动开发:Test Drive Development,即从测试的角度来检验整个项目。其原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。其基本思路是通过测试来推动整个开发的进行,它是将需求分析、设计、质量控制量化的过程。TDD过程:明确需要完成的功能,针对该功能编写测试用例,编译不通过的测试代码,编写相应的功能代码,执行测试代码直到测试通过,对代码进行重构并保证测试通过,循环完成所有功能的开发。即 不可运行---可运行---重构。TDD原则:独立测试、测试列表、测试驱动、先写断言、可测试性、及时重构、小步前进。

BDD--行为驱动开发:Behavior Drive Development, 是对TDD的一种补充,或者说是TDD的一个分支,与测试概念相比,行为是一种更自然的开发驱动因素,考虑行为会自然而然地促使你先编写规范类,成为一个非常有效的实现驱动因素。测试驱动开发让我们明白测试先行的道理,但是并没有明确告诉我们测试什么,你写出一个测试,但它们不会告诉你应该发生什么也不会告诉你实际预期是什么,它不清楚需求到底是什么。而行为驱动开发旨在帮助开发人员确定应该测试什么。而且行为驱动开发提供了一种通用语言来避免客户与开发之间的不一致,从而实现设计与测试相结合来开发产品。

结对编程:两个程序员在一个计算机上共同工作,一个人输入代码,另一个人审查他输入的每一行代码。优点是程序员互帮互助,可以得到能力上的互补且让编程环境有效贯彻设计及增强代码和产品质量,并有效减少bug,在编程中互相讨论可能更快更有效地解决问题。缺点也很明显,编程人员习惯不同引起的麻烦,或对一个问题争吵不休,若交谈内容与工作无关,反而分散注意力导致效率低下等等。

代码重构:对软件代码做任何更动以增加可读性或简化结构而不影响输出结果。重构的目的是:持续性改进设计,帮助发现隐藏的代码缺陷,提高编程效率。一般重构方法有:封装成员变量,提取方法,一般化类型,方法重命名等。

转载于:https://www.cnblogs.com/Ribbon/p/4891958.html

内容概要:本文档详细介绍了基于直驱永磁同步发电机(PMSG)的1.5MW风力发电系统在Simulink环境下的建模与仿真全过程,涵盖了风力机空气动力学模型、PMSG电磁特性建模、不可控整流与逆变电路、直流环节、空间矢量脉宽调制(SVPWM)技术以及核心控制策略的设计。重点实现了最大功率点跟踪(MPPT)控制以提升风能捕获效率,并构建了电压外环与电流内环协同工作的双闭环控制系统,通过仿真验证了系统在不同风速条件下稳定运行的能力及动态响应性能。; 适合人群:适用于具备电力系统、电机控制理论基础及Simulink仿真操作经验的研究生、科研人员和从事新能源发电系统开发的工程技术人员;特别适合正在进行风电系统建模、控制算法研究或完成相关毕业设计的专业人士。; 使用场景及目标:①深入理解直驱式PMSG风力发电系统的整体架构与工作机理;②掌握从物理部件建模到控制策略实现的完整Simulink仿真流程;③学习并复现MPPT控制、双闭环控制等关键技术方案;④为后续开展低电压穿越、并网稳定性分析、故障诊断等高级课题提供可靠的仿真平台支撑。; 阅读建议:建议结合Matlab/Simulink软件动手实践,逐模块搭建模型,重点关注各控制环节的参数设计与调试方法,同时可参照文中提供的其他风电相关资源进行拓展学习与对比分析。
已经博主授权,源码转载自 https://pan.quark.cn/s/868afdd63918 在信息技术领域中,前端开发构成了Web应用程序构建的关键环节,而登录注册页面则是用户与网站进行互动的起始界面。"150款web登录注册页面模板(附带效果图+源码)"这一资源为前端工程师们提供了一系列预先设计的界面组件,支持他们迅速构建既美观又实用的登录及注册界面,从而有效缩减开发周期并增强工作效率。 这些模板囊括了多样化的风格和设计潮流,涵盖了扁平化设计、Material Design、渐变色彩、暗黑模式等,能够适应不同项目的特定要求。在设计中强调用户体验,通过科学的布局安排,提升了表单的便捷操作性和可辨识度,并且不忽视视觉层面的吸引力。设计师通常会关注自适应设计,保证页面在多种设备(涵盖手机、平板及桌面电脑)上均能呈现良好的视觉效果。 这些模板均配备了源代码,使得开发者得以深入探究并个性化定制每个构成部分,涉及HTML的页面构造、CSS的样式修饰以及JavaScript的交互逻辑。HTML主要承担着页面基础结构的搭建,CSS用于实现页面美化与布局控制,JavaScript则常用于处理表单验证和交互效果。对于那些精通这三种技术的开发者而言,他们可以根据个人需求对模板进行功能扩展和样式调整。 在实际部署时,登录注册页面通常需要集成基础的输入项,例如用户名、密码、电子邮箱等,并且必须重视安全性考量,诸如密码强度指引、验证码系统等。除此之外,为了优化用户体验,还可能集成记住密码、自动填充、社交平台登录(例如微信、QQ、微博)等功能。 在开发阶段,前端工程师还需关注Web标准和无障碍访问(WCAG)规范,确保页面的通用友好性,这包括视障、听障或其他有特殊需求的用户群体。具体措施涉及标...
源码直接下载地址: https://pan.quark.cn/s/9af8b9f95652 ### Multisim模型的导入和使用 ### 一、引言 随着电子设计自动化(EDA)工具的进步,Multisim已经成为电子工程师进行电路仿真、分析和设计的关键工具之一。借助Multisim,工程师们能够便捷地构建电路模型,并对电路进行仿真验证。本文将系统阐述如何在Multisim中导入并运用芯片仿真模型,这对于提升电子产品的研发效能具有显著价值。 ### 二、Multisim中构建新元器件 构建新元器件是Multisim中的核心功能,特别是对于那些需要特定模型或无法从Multisim库中直接获取的元器件来说更为关键。以下为构建新元器件的具体流程: ##### 步骤1:录入元器件信息 在Multisim中启动“Component Wizard”,即元器件向导,开始创建新的元器件。首先需要录入元器件的基本资料,包括型号、主要功能、类型等。这些资料将有助于用户更高效地管理和检索元器件。 ##### 步骤2:录入封装信息 接下来需要设定元器件的封装信息。在这一环节中,用户需要依据实际芯片的封装规格来选择适宜的引脚数量。同时,还需明确是构建单一部件元器件还是复合部件元器件。如果是复合部件元器件,则必须确保引脚数量与符号中使用的引脚数量保持一致。 ##### 步骤3:录入符号信息 在此步骤中,用户可以编辑元器件在仿真过程中的显示符号。编辑符号可以通过三种途径进行:直接编辑、从数据库中复制现有符号或复制当前符号以备将来使用。编辑符号时应注重其在电路图中的可辨识度和清晰度。 ##### 步骤4:设定管脚参数 在该步骤中,用户需要参照数据手册上的管脚顺序为每个管脚命名,并选择恰当的类型。...
代码转载自:https://pan.quark.cn/s/7b1a6710052c Vivado 2018.2 与 ModelSim 的协同仿真操作 Vivado 2018.2 是由 Xilinx 公司开发的一款用于 FPGA 设计的工具,它包含了丰富的设计和仿真功能。然而,在实际应用过程中,用户可能会遇到其自带的仿真工具运行效率不高的问题。为了提升仿真效率并简化设计验证流程,可以考虑采用第三方仿真工具 ModelSim。ModelSim 是一款性能卓越且市场应用广泛的仿真软件,接下来的内容将详细阐述如何实现 Vivado 2018.2 与 ModelSim 的联合使用。 配置 ModelSim 的安装路径 在使用 Vivado 2018.2 时,首先需要配置 ModelSim 的安装位置。用户可以通过点击 Vivado 菜单中的“Tools”——>“Settings...”选项,然后在弹出的设置界面中,选择“Tool Settings”下的“3rd Party Simulators”选项卡。在“Install Paths”区域,找到“ModelSim”条目,并在此输入或选择 ModelSim 的具体安装路径。 执行器件库编译操作 在 ModelSim 的安装目录下,创建一个名为 xilinx_lib 的子文件夹。随后,在 Vivado 菜单中通过“Tools”——>“Compile Simulation Libraries...”选项启动器件库编译流程,并设定相应的编译参数。在打开的对话框里,将仿真工具选择为“ModelSim Simulator”,保持语言和库的默认设置不变,同时指定编译器件库的存放位置和 ModelSim 可执行文件的路径。 ...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值