软件工程2-史济民

软件工程2-史济民

ID:34039462

大小:741.77 KB

页数:47页

时间:2019-03-03

软件工程2-史济民_第1页
软件工程2-史济民_第2页
软件工程2-史济民_第3页
软件工程2-史济民_第4页
软件工程2-史济民_第5页
资源描述:

《软件工程2-史济民》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、上篇:传统软件工程第2章软件生存周期与软件过程第3章结构化分析与设计第2章软件生存周期与软件过程软件生存周期传统的软件过程软件演化模型形式化方法模型统一过程和敏捷过程软件可行性研究2.1软件生存周期•软件生存周期(SoftwareLifeCycle):一个软件从问题提出立项开始,直到软件产品最终退役(废弃不用)为止。•软件生存周期分为三个时期:计划、开发和维护。•整个软件生存周期划分为多个相对独立的较小阶段,给每个阶段赋予确定而有限的任务,从而降低了整个软件工程的难度,提高了软件开发生产率。典型的软件生存周期需

2、求分析软件分析软件设计编码(测试)交付测试使用维护典型的软件生存周期的主要活动软件生存周期的主要活动1.需求分析•明确需要解决的问题(从用户的视角)。•建立需求模型:描述软件的功能、性能、约束、接口等。2.软件分析•在需求模型基础上从开发人员的视角对软件进行分析。•建立与需求模型一致的分析模型:描述软件的逻辑模型。3.软件设计•将分析模型转变为设计模型。软件设计分为总体设计和详细设计两个阶段。•总体设计:确定软件的总体结构和全局性设计原则。•详细设计:确定各部件的数据结构和操作。•建立软件设计模型:考虑实现技术

3、和平台。软件生存周期的主要活动4.编码•用程序设计语言将设计文档翻译成源程序。•建立软件实现模型:包含现有软件构件包。5.软件测试•发现程序中的错误、提高软件质量•单元测试、集成测试、确认测试、系统测试6.运行维护软件过程与软件生存周期的关系•软件过程•围绕软件开发所进行的一系列活动。•软件过程模型•把软件生存周期中软件开发活动的有序流程用一个合理的框架来规范描述。•软件过程模型是一种软件过程的抽象表示法,它从一个特定的角度表现一个开发过程。•软件生存周期中的阶段和软件过程中的活动是基本一致的。2.2传统的软件

4、过程•传统的过程模型•瀑布模型•waterfallmodel•基于软件生存周期的线性开发模型•快速原型模型•rapidprototypemodel•基于原型的迭代化开发模型瀑布模型用户要求系统测试需求分析W.Royce于1970年提需求规格说明确认测试出软件分析线性开发模型与总体设计综合测试软件结构图强调软件文档详细设计每一个阶段必须完成单元测试规定的文档模块说明程序清单每一个阶段都要复审编码完成的文档图2.2瀑布模型的阶段与文档瀑布模型的阶段与文档瀑布模型•特点1.阶段的顺序性和依赖性2.推迟实现的

5、观点3.质量保证的观点•存在问题1.要求用户一开始就提出清晰完整的需求;2.要求用户需求比较稳定;3.用户的参与程度不够;4.段间移交信息时,容易产生误解。快速原型模型需求原型开发原型评价用户反馈最终系统设计最终系统实现快速原型法的过程模型快速原型模型•特点•“逼真”的原型可以使用户迅速作出反馈。•循环回溯和迭代:非线性模型。•使用快速开发工具。•原型基本上属于抛弃型原型。•注意点•要让所有涉众事先承认原型只是为定义需求服务的快速原型模型•不足(1)用户易于视原型为正式产品;(2)对于开发环境要求较多;(3)若

6、用户不能如期参与,将会不顺。132.3软件演化模型•演化开发模型:使所开发的软件在迭代中逐步完善,是渐进式的开发模型,也称为迭代化开发模型。•增量模型(incrementalmodel)•螺旋模型(spiralmodel)•构件集成模型(componentintegrationmodel)增量模型•适合用增量模型的情形:尽管早期需求较明确,但详细需求还要斟酌。不能及时准备足够人员或新硬件时。顾客希望尽早得到功能有限的软件时。•增量模型是瀑布模型的顺序特征与原型法的迭代特征相结合的产物,把软件看作一系列相互

7、联系的增量,每次迭代完成一个增量。•增量小而可用的软件。第一个增量通常是软件的核心。增量模型•注意点新增部分必须不破坏现软件系统。在设计体系结构时,必须有充分的开放性。16增量模型增量1:需求设计实现和集成交付客户增量2:需求设计实现和集成交付客户增量3:需求设计实现和集成交付客户规格说明组设计组实现和集成组增量n:需求设计实现和集成交付客户增量模型螺旋模型•特征•瀑布模型(顺序性、边开发边复审)+快速原型(迭代性)•风险分析-〉发现、控制风险•一个螺旋式周期•计划:确定目标,选择方案,选定完成目标的策

8、略•风险分析:从风险角度分析该策略•开发:启动一个开发活动•评审:评价前一步的结果,计划下一轮的工作螺旋模型•特点(1)适用于内部开发的大规模软件项目;(2)有利于已有软件的重用;(3)有助于把质量作为一个重要目标;(4)减少过多测试或测试不足的风险。19螺旋模型构件集成模型•构件集成模型主要适用于面向对象的软件开发。•面向对象的基本概念•对象Object•类Class•继承Inher

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

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

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