软件工程实践.ppt

上传人:sccc 文档编号:5635895 上传时间:2023-08-04 格式:PPT 页数:29 大小:787.55KB
返回 下载 相关 举报
软件工程实践.ppt_第1页
第1页 / 共29页
软件工程实践.ppt_第2页
第2页 / 共29页
软件工程实践.ppt_第3页
第3页 / 共29页
软件工程实践.ppt_第4页
第4页 / 共29页
软件工程实践.ppt_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《软件工程实践.ppt》由会员分享,可在线阅读,更多相关《软件工程实践.ppt(29页珍藏版)》请在三一办公上搜索。

1、软件工程实践,软件学院高海昌,2,内容,1.概述2.软件过程和生命周期3.项目管理4.需求工程5.软件设计6.软件实现7.软件测试8.软件交付,3,软件开发过程,IEEE给过程下的定义:过程描述了针对一个给定目标的一系列操作步骤,操作步骤说明有哪些操作以及按照何种方式来执行操作。软件开发过程应该明确定义以下元素:(1)过程中所执行的活动及其顺序关系。(2)每一个活动的内容和步骤。(3)团队人员的工作和职责,4,软件开发过程,软件开发一共包括七个过程:获取过程供应过程开发过程操作过程维护过程管理过程支持过程,5,软件开发过程模型,常见的软件开发过程模型包括:瀑布模型快速原型模型增量模型迭代模型螺

2、旋模型RUP(Rational Unified Process),6,瀑布模型,要求软件项目的开发严格按照软件生命周期的方式进行特点:分阶段阶段间有因果关系评审允许反馈,7,瀑布模型,优点:严格规范软件开发过程,克服了非结构化的编码和修改过程的缺点强调文档的作用,要求每个阶段都要仔细验证缺点:各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,中间提出的变更要求很难响应早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果,8,快速原型模型,允许在需求分析阶段对软件的需求进行初步的分析和定义,9,快速原

3、型模型,优点:不需要需求预先完备定义支持用户参与软件项目的开发过程缺点:需要多次迭代,无法预知次数,给项目管理带来困难快速建立起来的系统结构加上连续的修改可能会导致产品质量低下,10,增量模型,与瀑布模型类似,但软件系统是被增量式地一块块开发的,11,增量模型,优点:各模块可以并行开发较好地适应需求的变化,用户可以不断地看到所开发软件的可运行中间版本重要功能被首先交付,从而使其得到最多的测试缺点:容易退化为边做边改的方式,从而使软件过程的控制失去整体性,12,迭代模型,通过多次逐步的迭代,建立软件系统,每次迭代都是一个相对独立的软件过程,13,迭代模型,优点:能够较好地适应需求难以确定、不断变

4、更的软件系统的开发缺点:迭代次数难以事先确定,增加了过程管理的复杂度,14,螺旋模型,结合了瀑布模型、快速原型模型和迭代模型的思想,并引入了风险分析活动。每个循环迭代都包含4个阶段:制定计划风险分析设计实施用户反馈,15,螺旋模型,优点:以风险驱动开发过程,强调可选方案和约束条件从而支持软件的重用关注于早期错误的消除,将软件质量作为特殊目标融入产品开发之中缺点:要求许多客户接受和相信风险分析并做出相关反应是不容易的,往往适应于内部的大规模软件开发需要软件开发人员具备风险分析和评估的经验,否则将会带来更大的风险,16,RUP模型,RUP(Rational Unified Process)统一软件

5、过程。由 Ivar Jacobson的 The Objectory Approach 和 The Rational Approach 发展而来,是一个文档化的软件工程产品,所有RUP 的实施细节及方法导引均以Web文档的方式呈现。RUP又是一套软件工程方法框架,各个组织可根据自身的实际情况,以及项目规模对RUP进行裁剪和修改,以制定出合乎需要的软件工程过程。,17,RUP模型,在RUP中,软件开发生生命周期根据时间和RUP的核心工作流划分为二维空间。,时间维从组织管理的角度描述整个软件开发生命周期,是RUP的动态组成部分。核心工作流从技术角度描述RUP的静态组成部分。,18,RUP模型,RUP

6、有九个核心的工作流:业务建模(Business Modeling):理解待开发系统的组织结构及其业务运作,确保所有参与人员对待开发系统有共同的认识需求分析(Requirements):定义系统功能及用户界面,使客户知道系统的功能,开发人员知道系统的需求,为项目预算及计划提供基础。分析与设计(Analysis and Design):把需求分析的结果转化为实现规格。实现(Implementation):定义代码的组织结构、实现代码、单元测试、系统集成。测试(Test):校验各自子系统的交互与集成。确保所有的需求被正确实现并在系统发布前发现错误。发布(Deployment):打包、分发、安装软件,

7、升级旧系统;培训用户及销售人员,并提供技术支持。制定并实施beta测试。配置管理(Configuration and Change Management):跟踪并维护系统所有产品s的完整性和一致性。项目管理(Project Management):为计划、执行和监控软件开发项目提供可行性的指导;为风险管理提供框架。环境(Environment):为组织提供过程管理和工具的支持。,19,RUP模型,在时间维上,为了能够方便地管理软件开发过程,监控软件开发状态,RUP把软件开发周期划分为若干Cycles,每个Cycle生成一个产品的新的版本。每个Cycle都依次由四个连续的阶段(phase)组成:

8、起始阶段(Inception):定义最终产品视图、商业模型并确定系统范围。演化阶段(evaluation):设计及确定系统的体系结构,制定工作计划及资源要求。构造阶段(construction):构造产品并继续演进需求、体系结构、计划直至产品提交。提交阶段(Transition):把产品提交给用户使用。,20,RUP模型特点,具有迭代式的增量开发、使用实例驱动、以软件体系结构为核心三个鲜明特点,这使得RUP非常适宜于开发复杂、技术难度大、需求多变、高风险的项目。又是可裁剪的软件开发过程框架,各组织可以根据自身及项目特点对RUP进行裁减,在某些情况下RUP甚至可以蜕化为瀑布式开发模型。,21,各

9、种软件过程模型的特点,22,定义软件过程,在实施软件项目之前,必须定义或者选择一个适合于该软件项目的软件过程,23,步骤1,选择合适的软件过程模型,需要考虑:软件开发组织和软件项目的特征软件项目的风险软件项目是否需要预先向用户展示原型需要多少经验和技巧来成功地使用软件过程模型软件开发组织和软件项目组人员的经验和能力技术的成熟度,24,步骤2,确定和描述软件开发活动,需要从以下几个方面予以定义和描述:名称:说明软件开发活动的名称任务:说明该软件开发活动的任务输入:说明实施该活动所必需的输入u,即开展活动所需满足的前提条件输出:说明该活动实施完成之后所产生的结果实施:说明如何实施该活动,25,步骤

10、,确定和描述软件开发活动间的关系:执行时序关系:描述软件开发活动之间执行时间的先后关系逻辑依赖关系:一个软件开发活动的执行需要其他软件开发活动实施所产生的结果,26,步骤,文档化软件过程全面:包含软件项目开发所需要的所有软件活动可操作:各个软件开发活动应易于实施简洁、易于理解:不包含无意义的软件开发活动,描述简洁,易于理解易于改进:能够不断对软件开发活动进行改进和提高,27,步骤,评审软件过程是否全面是否正确和准确是否符合软件开发组织和软件项目的特点描述是否简洁、直观,易于理解是否易于改进,28,步骤,认可、发布和培训,29,任务,针对所选案例,根据第二章(过程模型及生命期)所学内容,参考教材97页的例子,撰写所开发项目的开发过程模型。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号