(整理)软件工程

(整理)软件工程

ID:41739667

大小:1.14 MB

页数:37页

时间:2019-08-31

(整理)软件工程_第1页
(整理)软件工程_第2页
(整理)软件工程_第3页
(整理)软件工程_第4页
(整理)软件工程_第5页
资源描述:

《(整理)软件工程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、软件工稈(重点)软件开发方法1、软件工程三个要素:方法、工具和过程。2、结构化方法(StructuredMethod):结构化方法学是一个以数据为中心的思想体系(借书业务流程)3、结构化方法基本要点:自顶向下、逐步求精•通过把一个复杂问题的求解过程分阶段进行,而且这种分解是自顶向下,逐层分解,使得每个阶段处理的问题都控制在人们容易理解和处理的范围内•分层业务流程图•模块化设计、结构化编码。4、结构化方法缺点:与人类思维不完全一致的方式,导致生产出来的软件系统的可读性、可理解性、可复用性不高。5、面向对象方法:以对象为中心的方法。面向对象二对象+分

2、类+继承+消息通信(1)接口(Interface):"方法声明(MethodSignature)的集合。(2)客户对象、服务对象以及消息传递•对象通过发送消息互相通信。•客户对象(ClientObject):发送消息并请求服务。•服务对象(ServerObject):提供服务并返回结果。(重点)软件过程模型13.1瀑布模型(结构化)•一种基于里程碑的、阶段性的过程模型•文档是每个阶段的成果体现・每阶段需要评审・输入输出・简单易理解易操作适合项目特征:•需求稳定、变化很小且开发人员能够一次性获取全部需求的项目;・软件开发人员具有丰富经验,对于应用领

3、域非常熟悉;•软件项目本身的风险很低。•缺点:1>不接受需求模糊、变更;2、错误发现太迟;3、开发进度缓慢;4、中间成果难利用;5、抗风险能力弱13.2快速原型模型(需求变更)•用户熟悉的是业务但不懂得开发的技术,而开发者熟悉具体的开发方法、工具等技术内容而不明白相关的业务流程。•用户和开发者在试用或演示原型过程中加强沟通和反馈,通过反复评价和改进原型,减少双方的误解,降低缺陷引入的儿率,降低由于需求不明确带来的开发风险和提高软件质量,获取到用户真正的需求。•快速原型模型要求对系统进行简单和快速的分析,快速构造一个软件原型。・原型侧重需求,不考虑

4、采用的技术和工具适合项目特征:•对现有或同类软件产品进行升级或功能完善;・开发人员和用户交流困难,需求获収困难;・开发人员对技术熟悉或把握性不大;•具有支持快速开发的工具。缺点:1、易造成进度延误和超预算;2、需要快速建立原型的工具;3、易造成设计混乱1.3.3增量模型(多版本开发)软件由构件组成,增加构件形成新版本•适合的项目特征:•待开发系统能够被模块化;•软件产品可以分批次交付;・软件开发人员对应用领域不熟悉,或一次性开发的难度很大;・项目管理人员把握全局的水平很高;•有多版本需求•缺点:1有需求风险:模糊、新需求;2技术更新;3开发资源跟

5、不上•当前主流模型:原型进化;螺旋;统一过程;敏捷原型进化模型:•迭代次数为2:快速原型・迭代次数大于2:原型进化模型・原型作为产品一部分,多次迭代后实现最终产品•原型模型可以在一定程度上降低风险,但对有些风险也无能为力。需要专业的风险评估人员。1.3.4螺旋模型(降低风险)・螺旋模型即是一种引入了风险分析与规避机制的过程模型,是瀑布模型、快速原型方法和风险分析方法的有机结合。・螺旋模型用螺旋线表示软件项FI的进行情况,其中,螺旋线中的每个回路表示软件过程的一个阶段。最里面的回路与项目可行性有关,接下来的一个回路与软件需求定义有关,而再下一个回路

6、则与软件系统设计有关,以此类推。•适合项目特征:・大型项目・存在需求、设计及非技术等多种风险•有充足的资源•缺点:总会存在没被发现的风险;需要专业的风险评估技术或机构;复杂13.5喷泉模型(面向对象)・典型的面向对象生命周期模型•迭代:向下箭头•无缝:圆圈重叠,面向对彖各阶段无明显边界1.3.6统一软件开发过程(RUP)(完美、完整)・RUP(RationalUnifiedProcess)是Rational公司提出的基于UML的一种面向对象软件开发过程模型。•基本思想:迭代式开发、管理需求、使用基于构件的体系结构、UML可视化建模、验证软件质量、

7、控制软初始】介段:建立业务模世,定义最终产品视图,并几确定项目的范围。件变更祐化价段:设计并确定系统的体系结构,制定项冃计划,确定资源需求。・可综合使用多种过程模型方法•二维的生命周期模型•9个核心工作流・4个连续的阶段•适合的项目特征:・大型软件;用户需求无法明确或经构建介段:开发出所冇构件和应用程序,把它们集成为客户尙耍的产品,并且洋尽地测试所右功能。移交价段:把开发出的产品提交给用户使用。常变更;较高管理水平的项目团队缺点:复杂;对团队要求高;增量模型:在每一个新的发布中逐步增加功能直到构造全部功能。迭代模型:一开始提交一个完整系统,在后续

8、发布屮补充完善各子系统功能。个体和交互胜过过程和工具13.6敏捷过程与极限编程(以人为本)・敏捷的优势:精确;质量;速度;丰厚的投资回报

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

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

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