软件过程及其模型

软件过程及其模型

ID:46976894

大小:1.49 MB

页数:42页

时间:2019-12-02

软件过程及其模型_第1页
软件过程及其模型_第2页
软件过程及其模型_第3页
软件过程及其模型_第4页
软件过程及其模型_第5页
资源描述:

《软件过程及其模型》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第2章软件过程及其模型2.1软件过程概述2.2软件生命周期2.3敏捷软件过程2.4软件工程实践2.5软件过程模型2.6能力成熟度模型2.1软件过程概述什么是软件过程?与软件生产(开发)相关的活动。规定科学、有效的软件过程可以提高软件生产效率和软件质量。2.1软件过程概述2.1.1软件过程框架包含两个方面的内容:一是组织及管理框架,包括实现软件过程改进活动时所涉及的角色与职责;项目经理、系统分析员、程序员、测试员、文档管理员……二是技术及工具框架,包括实现过程活动自动化,以及为实现不同角色和职责提供支持时所需的设备与工具。软件、硬件、开发模式、……框架是一个十分重要的概念,通常其中

2、的角色既可以为过程活动的执行提供帮助与指导,还可以为过程活动的实施与监控提供工具与渠道。2.1.2软件过程模型软件过程是整个软件生命周期中一系列有序的软件生产活动的流程。为了能高效地开发一个高质量的软件产品,通常把软件生命周期中各项开发活动的流程用一个合理的框架——开发模型规范描述。这就是软件过程模型,或者称为“软件生命周期模型”。软件过程模型从一个特定的角度表现一个过程,一般使用直观的图形标识软件开发的过程。主要根据软件的类型和规模,特别是软件的开发方法及开发环境等多种因素确立过程模型。典型代表:瀑布模型、螺旋模型、面向对象模型等。2.2软件生命周期软件生命周期可划分为定义、开

3、发和运行3个大的阶段,进一步可细分为6个阶段,每个阶段有明确的任务,使规模大、结构复杂且管理复杂的软件开发变得容易控制和管理。(1)问题的定义及规划:在该阶段软件开发人员与客户进行需求交流,确定软件的开发目标及其可行性。(2)需求分析:在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。(3)软件设计:该阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,以及数据库设计等。(4)程序编码:该阶段是将软件设计的结果转换成计算机可运行的程序代码。(5)软件测试:在软件设计完成后要经过严密的测试,以便发现软件在整个设计过程中存在的问题并加以纠正。(6)软件

4、维护:这是软件生命周期中持续时间最长的阶段。2.3敏捷软件过程敏捷方法说明开发项目是一个学习的体验。没有谁能在完全理解所有需求之后才开始项目,即使是顾客也一样。2.3.1敏捷软件过程敏捷方法的两大特征:对“适应性”的强调和对“人”的关注。2.3敏捷软件过程2.3.1敏捷软件过程敏捷开发提出了以下12条原则。(1)开发人员最优先要做的是通过尽早且持续地交付有价值的软件从而使客户满意。(2)即使到了开发的后期,也欢迎改变需求,敏捷过程利用变化为客户创造竞争优势。(3)经常性地交付可以工作的软件,交付的间隔可以从几个星期到几个月,交付的时间间隔越短越好。(4)在整个项目开发期间,业务人

5、员和开发人员必须天天都在一起工作。(5)围绕被激励起来的个体构建项目为开发人员提供所需的环境和支持,并且信任他们能够完成工作。2.3.1敏捷软件过程(6)在团队内部,最具有效果并富有效率的传递信息的方法就是面对面的交谈。(7)工作的软件是首要的进度度量标准。(8)敏捷过程提倡可持续的开发速度,责任人、开发人员和用户应该能够保持一个长期且恒定的开发速度。(9)不断地关注优秀的技能和好的设计会增强敏捷能力。(10)简单是最根本的。(11)最好的构架、需求和设计出自于组织团队。(12)每隔一定时间团队会在如何才能更有效地工作方面进行反省,然后相应地对自己的行为进行调整。2.3.2极限编

6、程极限编程(eXtremeProgramming)是敏捷软件开发中的一种方法。具有强沟通、简化设计和迅速反馈等特点。一般适合于规模小、进度紧、需求不稳定、开发小项目的小团队。观点:软件需求的不断变化是很自然的,是不可避免的,应欣然接受。极限是指对比传统的项目开发方式,XP强调把列出的每个方法和思想做到极限并做到最好。优点:轻量型、灵活;专家协作开发方式。重视客户反馈。2.3.2极限编程极限编程的核心有4个要点:交流、简单、反馈和勇气,它们构成了极限编程的精髓。1.交流(1)开发人员与客户的交流(2)开发人员之间的交流(3)开发人员与管理人员的交流2.简单(1)设计简单(2)编码简

7、单(3)注释简单(4)测试简单3.反馈(1)客户对软件的反馈(2)测试代码对功能代码的反馈4.勇气接受任务的勇气。2.3.3结对编程1.什么是结对编程结对编程是一个非常直观的概念,简单的说是指两位程序员肩并肩地坐在同一台计算机前,面对同一个显示器,使用同一个键盘和同一个鼠标一起工作。他们一起分析,一起设计,一起写测试用例,一起编码,一起单元测试,一起集成测试,一起编写文档等。基本上所有的开发环节都面对面、平等、互补地进行开发工作,并且这两人的角色可以随时交换。2.结对编程的发展历

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。