什么是软件开发流程?

www.wrzy668668.com
软件开发过程或生命周期是强加于软件产品开发的结构。这些过程有几种模型,每种模型都描述了在过程中发生的各种任务或活动的方法。

流程活动/步骤

软件工程过程由许多活动组成,特别是以下内容:

需求分析

提取所需软件产品的要求是创建它的第一项任务。虽然客户可能认为他们知道软件要做什么,但可能需要软件工程方面的技能和经验来识别不完整,模糊或矛盾的要求。

规格

规范是以数学上严格的方式精确描述要编写的软件的任务。实际上,尽管在应用程序开发之前经常仔细指定安全关键型软件系统,但大多数成功的规范都是为了理解和微调已经很好开发的应用程序而编写的。规范对于必须保持稳定的外部接口最重要。

软件架构

软件系统的体系结构是指该系统的抽象表示。架构关注的是确保软件系统满足产品的要求,并确保可以解决未来的需求。

履行

将设计简化为代码可能是软件工程工作中最明显的部分,但它不一定是最大的部分。

测试

软件部分的测试,特别是两个不同工程师必??须协同工作的代码,属于软件工程师。

文档

一项重要任务是记录软件的内部设计,以便将来进行维护和增强。

培训和支持

大部分软件项目都失败了,因为开发人员没有意识到,如果组织中的任何人最终都没有使用它,那么开发团队花费多少时间和计划创建软件并不重要。人们偶尔会抵制变化并避免冒险进入一个不熟悉的区域,因此作为部署阶段的一部分,为最热心的软件用户提供培训课程(建立兴奋和信心)非常重要,将培训转向中立用户与狂热的支持者混在一起,最后让组织的其他成员采用新的软件。

维护

维护和增强软件以应对新发现的问题或新要求可能比软件的初始开发花费更多的时间。不仅可能需要添加不符合原始设计的代码,而且仅仅确定软件在完成后的某个时刻如何工作可能需要软件工程师付出巨大努力。所有软件工程工作中约有60%是维护工作,但这种统计数据可能会产生误导。其中一小部分是修复错误。大多数维护都是扩展系统来做新事物,这在很多方面都可以被视为新工作。

过程模型

长达数十年的目标是找到可重复的,可预测的流程或方法,以提高生产力和质量。有些人试图将看似不守规矩的编写软件的任务系统化或形式化。其他人将项目管理技术应用于编写软件。如果没有项目管理,软件项目可以很容易地延迟交付或超出预算。由于大量软件项目在功能,成本或交付时间表方面无法满足其期望,因此有效的项目管理变得困难。

瀑布过程

最着名和最古老的流程是瀑布模型,开发人员按顺序执行这些步骤。他们陈述要求,分析它们,设计解决方案方法,为该解决方案构建软件框架,开发代码,测试,部署和维护。在每个步骤完成之后,该过程进行到下一步骤。

迭代过程

迭代开发规定,构建软件项目的初始但更大的部分旨在帮助所有利益相关者在问题或错误假设可能导致灾难之前尽早识别关键问题。迭代过程是业务开发人员的首选,因为它允许不知道如何定义他想要的客户的设计目标。

敏捷软件开发过程基于迭代开发。在此基础上,他们增加了比传统方法更放松和以人为本的观点。敏捷流程使用反馈而不是计划作为其主要控制机制。通过定期测试和发布不断发展的软件来推动反馈。

敏捷流程似乎比旧流程更有效,使用更少的程序员时间来生成更多功能,更高质量的软件,但从业务角度来看,它们没有长期规划功能的缺点。从本质上讲,他们说他们将提供最大的利益,但他们不会说明爆炸何时会发生。

极限编程,XP,是最着名的敏捷过程。在XP中,这些阶段以非常小的(或“连续”步骤)执行,与较旧的“批处理”流程相比。(故意不完整)可能需要一天或一周才能首次通过这些步骤,而不是月份或年份瀑布模型中每个完整步骤。首先,人们编写自动化测试,为开发提供特定的目标。下一步是编码(由一对程序员编写),这是在所有测试通过时完成的,程序员不能考虑所需的任何测试。设计和体系结构源于重构,并在编码后出现。设计由人员编码完成。为用户部署或演示一个不完整但功能强大的系统(至少其中一个是在开发团队)。

虽然迭代开发方法有其优势,但软件架构师仍然面临着为开发奠定坚实基础的挑战。这样的基础通常需要大量的前期分析和原型设计来构建开发模型。开发模型通常依赖于特定的设计模式和实体关系图(ERD)。如果没有这种前期基础,迭代开发可能会产生长期挑战,这些挑战在成本和质量方面都很重要。

迭代开发方法的批评者指出,这些过程对软件接收者提出了不合理的期望:他们必须具备经验丰富的软件开发人员的技能和经验。这种方法也可能非常昂贵,类似于…“如果你不知道你想要什么样的房子,让我建一个,看看你是否喜欢它。如果你不喜欢它,我们会撕掉它所有人都倒下了,又重新开始了。“现在放弃的大量建筑材料可能是缺乏先前纪律的最终结果。这种批评的问题在于,迭代编程的重点是你不要在收到收件人的反馈之前,我必须建造整个房子。

文章由深圳逻辑思维软件有限公司整理发布,转载请注明出处。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值