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