软件工程复习06:敏捷流程

作者:非妃是公主
专栏:《软件工程》
个性签:顺境不惰,逆境不馁,以心制境,万事可成。——曾国藩

在这里插入图片描述

专栏地址

软件工程专栏地址

专栏系列文章

软件工程复习01:软件工程概述

软件工程复习02:个人技术

软件工程复习03:个人软件流程

软件工程复习04:两人合作

软件工程复习05:团体软件流程

软件工程复习06:敏捷流程

软件工程复习07:软件需求

软件工程复习08:典型用户和场景

软件工程复习09:项目管理

软件工程复习10:软件设计与实现

软件工程复习11:软件测试

软件工程复习12:软件质量

软件工程复习13:软件发布

1.了解敏捷流程产生的背景

有几个原因导致敏捷在互联网时代出现:

  • 最初的软件(20世纪六七十年代)的顾客都是大型研究机构、军方、美国航空航天局、大型股票交易公司,他们需要通过软件系统来搞科学计算、军方项目、登月项目、股票交易系统等超级复杂的项目。这些项目对功能的要求非常严格,对计算的准确度要求相当高。
  • 20 世纪八九十年代,软件进入桌面软件时代,开发周期明显缩短,各种新的方法开始进入实用阶段。但是软件发布的媒介还是软盘、CD、DVD,做好一个发布需要较大的经济投入,不能频繁更新版本。
  • 互联网时代,大部分的服务是通过网络服务器端实现,在客户端有各种方便的推送(Push)渠道。一般消费者成为主要用户。网络的传播速度和广度,使得知识的获取变得更加容易,很多软件服务可以由一个小团队来实现。同时,技术更新的速度在加快,用户需求的变化也在加快,开发流程必须跟上这些快速变化的节奏。于是敏捷就产生了。

2.理解敏捷流程和传统做法的区别

从 2001 年开始,一些软件界的专家开始倡导“敏捷”的价值观和流程,他们肯定了当时流行做法(传统做法)的价值(左列),但是强调敏捷的做法(右列)更能带来价值。

在这里插入图片描述

3.理解敏捷流程的原则

Agile Principles (set 1)

  • Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
    尽早并持续地交付有价值的软件以满足顾客需求。

  • Welcome changing requirements, even late in development. Agile
    processes harness change for the customer’s competitive advantage.
    敏捷流程欢迎需求的变化, 并利用这种变化来提高用户的竞争优势。

  • Deliver working software frequently, from a couple of weeks to a
    couple of months, with a preference to the shorter timescale.
    经常发布可用的软件,发布间隔可以从几周到几个月,能短则短

Agile Principles (set 2)

  • Business people and developers must work together daily throughout the project.
    业务人员和开发人员在项目开发过程中应该每天共同工作
  • Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
    以有进取心的人为项目核心,充分支持信任他们。
  • The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
    无论团队内外,面对面交流始终是最有效的沟通方式。

Agile Principles (set 3)

  • Working software is the primary measure of
    progress.
    可用的软件是衡量项目进展的主要指标。
  • Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
    敏捷流程应能保持可持续的发展。领导、团队和用户应该能按照目前步调持续合作下去。
  • Continuous attention to technical excellence and good design enhances agility.
    只有不断关注技术和设计才能越来越敏捷。

Agile Principles (set 4)

  • Simplicity–the art of maximizing the amount of work not done–is essential.
    保持简明 - 尽可能简化工作量的技艺 - 极为重要。
  • The best architectures, requirements, and designs emerge from self-organizing teams.
    只有能自我管理的团队才能创造优秀的架构, 需求和设计。
  • At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
    时时总结如何提高团队效率, 并付诸行动。

4.理解SCRUM的角色以及流程

SCRUM的角色:

SCRUM is an iterative, incremental methodology for project management often seen in agile software development. Roles the “ScrumMaster”, who maintains the processes (project manager) the “Product Owner”, who represents the stakeholders and the business the “Team”, a cross-functional group carrying out the actual analysis, design, implementation, testing, etc.

SCRUM流程:

  • 第一步:
    找出完成产品需要做的事情 — Product Backlog. 产品负责人领导大家对于这个Backlog中的条目进行分析,细化,理清相互关系,估计工作量,等工作。每一项工作的时间估计单位为“天”。
  • 第二步:
    决定当前的冲刺(Sprint)需要解决的事情 — Sprint Backlog。整个产品的实现被划分为几个互相联系的冲刺(Sprint)。产品订单上的任务被进 一步细化了,被分解为以小时为单位(参见 WBS工作划分的办法)。如果一个任务的估计时间太长(如超过 16 个小时),那么它就应该被进一步分解。订单上的任务是团队成员根据自己的情况来认领。 团队成员能主导任务的估计和分配,他们的能动性得到较大的发挥。
  • 第三步:
    冲刺(Sprint)。团队按照backlog 任务执行,在冲刺阶段,外部人士不能直接打扰团队成员。一切交流只能通过 Scrum 大师(Scrum Master)来完成。
  • 第四步:
    得到软件的一个增量版本,发布给用户。 然后在此基础上又进一步计划增量的新功能和改进。

5.敏捷和计划驱动的适用范围

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: CSDN是一个知名的技术社区网站,其中包含了丰富的软件工程课程复习题资源。在CSDN网站上,可以通过输入关键词"软件工程"来搜索相关的复习题。 关于软件工程复习题,涵盖了软件开发的各个方面,包括需求工程、软件设计、软件测试等内容。这些复习题不仅可以帮助学生复习课堂所学知识,还可以帮助工程师巩固自己的软件开发技能。 CSDN网站上的软件工程课程复习题以题目形式呈现,学生和工程师可以根据自己的需要选择适合的复习题进行练习。每个复习题都会有对应的答案和解析,学生可以通过对比答案来检验自己的理解和掌握程度。 此外,CSDN还提供了相关的学习资料和教程,帮助学习者更好地理解、应用软件工程的知识。通过阅读这些资料,学习者可以更全面地了解软件工程领域的最新动态和发展趋势,提高自己的专业技能。 总的来说,CSDN网站上的软件工程课程复习题资源丰富多样,不仅能够帮助学生复习课堂知识,还能够帮助工程师提高软件开发技能。通过在CSDN上进行复习题的练习和学习资料的阅读,可以帮助学习者更好地掌握软件工程的核心概念和方法,为未来的学习和工作打下坚实的基础。 ### 回答2: 在CSDN网站上搜索“软件工程”课程复习题,可以找到许多关于软件工程课程的复习题目。这些复习题目涉及了软件工程课程的各个方面,包括软件工程基本概念、软件开发过程、需求分析与规格说明、软件设计与实现、软件测试与维护等内容。 复习题目不仅帮助学生巩固课程知识,还可以帮助学生了解常见的软件工程问题和解决方法。这些题目可能包括选择题、填空题、简答题等类型,涵盖了软件工程的重要知识点和常见问题。 对于学生来说,完成这些复习题目可以帮助他们回顾课程知识,查漏补缺,提高对软件工程概念和原理的理解和掌握程度。此外,复习题还能帮助学生培养分析问题和解决问题的能力,为应对课程考试做好准备。 总而言之,在CSDN网站上找到的“软件工程”课程复习题目是学生复习软件工程课程知识的有益资源。学生通过做这些复习题,可以检验自己对软件工程课程的掌握情况,提高学习效果。同时,这些题目也为教师提供了一个参考,可以用于设计课程作业、测试以及考试题目。 ### 回答3: 在csdn.net网站上,我们可以找到很多关于"软件工程"课程的复习题。 "软件工程"是计算机科学的一个重要分支,涵盖了软件开发的各个方面,包括需求分析、设计、编码、测试和维护等。通过复习题,我们可以巩固所学知识,提高对该课程内容的理解和应用能力。 在csdn.net中搜索"软件工程"课程复习题,我们可以看到许多相关文章和教程。这些文章可能包含不同的主题,比如软件项目管理、软件质量保证、软件架构设计等。复习题通常是以问题和答案的形式给出,可以帮助我们回顾和巩固课程的重点知识。 在阅读复习题时,我们可以尝试自己先回答问题,再对照文章中的答案进行对比。这样可以帮助我们评估自己对该课程内容的理解程度,并找出自己的薄弱知识点。如果对某个问题答案不确定或不理解,可以通过与其他同学交流、请教老师或参考其他教材来解决疑惑。 通过解答复习题,我们可以深入理解"软件工程"课程的核心概念和原理,提高解决实际软件开发问题的能力。此外,在csdn.net上还可以找到很多其他有关"软件工程"的资源,如博客、论坛和教学视频等,这些资源也可以作为我们复习和学习的参考资料。 总之,在csdn.net上搜索"软件工程"课程复习题,可以帮助我们全面复习该课程的知识点,提高对软件开发过程和方法的理解,为将来的实践和学习打下坚实的基础。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cherries Man

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值