软件开发方法与过程
发布时间:2020-04-28
(1)软件开发过程是什么?
软件开发过程是按照软件工业化的标准定义的心之所向,所向披靡
➢ 在软件开发中必须具有的一系列过程规范; ➢ 软件开发过程是定义在软件中的软件需求、软件设计、软件编码、软件测试、软件部署的实现目标和规范化的管理方法论;
➢ 软件开发过程是保证软件工业化生产的法典; ➢ 软件开发过程做的是:定义标准和为了达到标准的路;
➢ 软件开发过程要改善的是:软件开发的效率和质量;
➢ 软件开发过程的实现最重要的是:人。 (2)大多数软件项目失败的原因:
a 不完整、不现实的项目需求
Classical software development methods have not solved software crisis.传统的软件开发方法没有能够解决软件危机。
(5)A software engineer’s job: quality a Make a working plan.制定工作计划 Quality methods take time to learn and b Carry out it.(Do their work according to practice,but it will help you in this plan按照此计划工作 you engineering career c Try his/her best to produce Establish goals → measure quality →
high-quality products.尽最大努力生产understand the process → change and reure 出高质量产品 process → measure & analyze the results →
(63 Key aspects recycle improving aQuality products 高质量产品 Identify the tasks you do bExpected costs (8敏捷软件开发宣言 cOn agreed schedule 个体和交互胜过过程和工具 (7)Summary of PSP 可以做到工具的软件胜过面面俱到的文档 PSP is a framework designed to teach 客户合作胜过合同谈判 software engineers to do better work 响应变化胜过遵循计划 Estimate and plan → track → improve 敏捷开发的原则:
1、 我们最优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意。
尽早交付具有部分功能的系统和质量系统之间具有很强的相关性
2、 即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势。
关于态度的声明,敏捷过程的参与者不惧怕变化,努力保持软件结构的灵活性。
3、 经常性地交付可以工作的软件,交付的间隔可以从几周到几个月,交付的时间越短越好。
关注的目标是交付满足客户需要的东西。它们是敏捷实践区别其他过程的特征所在。
4、 在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。
有意义的、频繁的交互,必须对软件项目进行持续不断地引导。
5、 围绕被激励起来的个人来构建项目。给他们提供所需要的环境和支持,并且信任他们能够完成工作。
人被认为是项目取得成功的最重要的因素。
6、 在团队内部,最具有效果并且富有效率的传递信息的方法就是面对面的交谈 。首要的、默认的沟通方式。 7、 工作的软件是首要的进度度量标准。
敏捷项目通过度量当前软件满足客户需求的数量来度量开发速度。
8、
敏捷过程提倡可持续的开发速度。责任人、开发者和用户应该能够保持一个长期、恒定的开发速度。不是50米短跑,而是马拉松。以快速但是可持续的速度行进。
9、 不断关注优秀的技能和好的设计会增强敏捷能力。
b 对需求的变更束手无策 c 脆弱的架构
d 采用不成熟的技术 e 测试的不充分性
f 拙劣的进度计划和评估 g 缺乏资源
h 不具备项目管理方法 i 缺少管理层的支持
(3)软件工程的三个要素:方法、工具和过程 (4)A software project failed if It is delivered late It is runs over the budget It does not satisfy the customer’s need
It is of poor quality
高的产品质量是获得高的开发速度的关键。保持软件尽可能的简洁、健壮是快速开发软件的途径。
10、 简单—使未完成的工作最大化的艺术是根本的。
不是构建华而不实的系统,更愿意采用和目标一致的最简单的方法。 11、 最好的架构、需求和设计出自于自组织的团队。
任务不是从外部分配给单个团队成员,而是分配给整个团队,然后再由团队来确定完成任务的最好方法。
12、 每隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后相应地对自己的行为进行调整。
敏捷团队会不断地对团队的组织方式、规则、规范、关系等进行调整,环境变化。
XP:
Values of XP : 价值、内容、关系
1.Communication 2.Simplicity 3.Feedback 4.Courage XP编程实际上是由这四个价值所驱动的,而不是实践所驱动的,也就是说,如果实现某些XP实践,而得不到这四个价值的话,便失去了XP编程的意义。
(1)简单和沟通之间有一种奇妙的相互支持的关系。 沟通得越多,就越清楚哪些工作需要做并能更加确信哪些工作不需要做;系统越简单,需要的沟通越少,但沟通会更加全面。
(2)沟通、简单和反馈是相互联系的;反馈越充分,沟通越容易,系统越简单,就越容易测试盒提供反馈。 (3)沟通支持勇气,因为它带来了高风险、高回报的试验的可能性;
(