中科院探究生院-经典软件工程课件样板资料文档.pptVIP

  • 1
  • 0
  • 约2.34千字
  • 约 22页
  • 2019-06-09 发布于湖北
  • 举报

中科院探究生院-经典软件工程课件样板资料文档.ppt

中科院探究生院-经典软件工程课件样板资料文档

第一章 软件工程概念 软件由计算机程序、数据及文档组成。 软件的特点 抽象性 软件生产无明显制造过程 无磨损性 对计算机硬件依赖性 软件的手工开发方式 软件本身复杂性 软件的高成本 软件的概念 软件与硬件、数据库、人、过程等共同构成计算机系统。 软件种类可以从六个方面进行划分: 按功能分类 应用软件 系统软件 支撑软件 按规模分类 微型 小型 中型 大型 甚大型 极大型 按工作方式分类 分时软件 实时软件 交互式软件 批处理式软件 按服务对象分类 项目软件 产品软件 按使用频度分类 一次性使用软件 频繁使用软件 按失效影响分类 高可靠性软件 一般可靠性软件 每一类软件在管理方面要求程度不同。 软件的发展 软件的发展经历了三个阶段 程序设计阶段 — 50至60年代 程序系统阶段 — 60至70年代 软件工程阶段 — 70年代以后 软件工程概念的出现源自软件危机。 软件工程定义 软件工程定义为“运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必须的相关文档资料。” 软件工程学定义为 “建立并使用完善的工程化原则, 以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。” 软件工程包括三个要素:方法、工具和过程。 软件工程的目标 软件工程需要解决的问题主要有:软件成本、软件可靠性、软件维护、软件生产率和软件复用。 软件工程需要达到的基本目标: 付出较低的开发成本 达到要求的软件功能 取得较好的软件性能 开发的软件易于移植 需要较低的维护费用 能按时完成开发,及时交付使用 软件工程过程 ISO 9000定义:软件过程是把输入转化为输出的一组彼此相关的资源和活动。 从软件开发的观点看,它就是使用适当的资源(包括人员、硬软件工具、时间等),为开发软件进行的一组开发活动,在过程结束时将输入(用户要求)转化为输出(软件产品)。 软件工程过程定义了: 方法使用的顺序、 要求交付的文档资料、为保证质量和适应变化所需要的管理、软件开发各个阶段完成的里程碑 软件工程过程包含四种基本的过程活动: Plan 软件规格说明 Do 软件开发 Check 软件确认 Action 软件演进 软件生存期 软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为软件的生存期 软件生存期包含三个阶段:软件定义、软件开发及软件运行维护。 软件生存期模型是软件工程思想的具体化,是跨越软件生存期的系统开发、运行、维护所实施的全部活动和任务的过程框架。 软件生存期模型 常用的软件生存期模型有 瀑布模型 演化模型 螺旋模型 增量模型 喷泉模型 智能模型 瀑布模型 各项活动按自上而下,相互衔接的固定次序,如同瀑布逐级下落。每项活动均处于一个质量环(输入-处理-输出-评审)中。 演化模型 先开发一个“原型”软件,完成部分主要功能,展示给用户并征求意见,然后逐步完善,最终获得满意的软件产品。 螺旋模型 螺旋模型 螺旋模型将瀑布模型与演化模型结合起来,并且加入两种模型均忽略了的风险分析。 螺旋模型沿着螺线旋转,自内向外每旋转一圈便开发出更完善的一个新版本。 制定计划 确定软件目标,选定实施方案,弄清项目开发的限制条件; 风险分析 分析所选方案,考虑如何识别和消除风险; 实施工程 实施软件开发 客户评估 评价开发,提出修正建议。 增量模型 把软件产品分解成一系列的增量构件,在增量开发迭代中逐步加入。 每个构件由多个相互作用的模块构成,并且能够完成特定的功能。 增量开发方法的新演进版本叫做 “极限程序设计(eXtreme Programming)”。 喷泉模型 体现了迭代和无间隙的特性。 系统某个部分常常重复工作多次,相关对象在每次迭代中随之加入演进的软件成分。 无间隙是指在各项开发活动,即分析、设计和编码之间不存在明显的边界。 喷泉模型是对象驱动的过程。 智能模型 智能模型是基于知识的软件开发模型,它把瀑布模型和专家系统综合在一起。 该模型在各个开发阶段都利用了相应的专家系统来帮助软件人员完成开发工作。 为此,建立了各个阶段的知识库,将模型、相应领域知识和软件工程知识分别存入数据库。以软件工程知识为基础的生成规则构成的专家系统与包含应用领域知识规则的其他专家系统相结合,构成该应用领域的开发系统。 软件工程原则 在软件开发过程中必须遵循的软件工程原则有: 抽象与自顶向下、逐层细化 信息隐蔽和数据封装 模块化 局部化 确定性 一致性和标准化 完备性和可验证性 软件工程的基本原理 软件工程的基本原理有: 按软件生存期分阶段制定计划并认真实施; 坚持进行阶段评审; 坚持严格的产品控制; 使用现代程序设计技术; 明确责任,使得工作结果能够得到清楚的审查; 用人少

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档