二级公共基础软件工程解说.ppt

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3 章 软件工程基础 3.1 软件工程的基本概念(一) 1、计算机软件 计算机软件是包括程序、数据及相关文档的完整集合。 软件的特点包括:1)软件是一种逻辑实体;而硬件是一种物理实体;2)软件的生产与硬件不同,它没有明显的制作过程;3)软件在运行、使用期间不存在磨损、老化问题;4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题;5)软件复杂性高、成本昂贵;6)软件开发涉及诸多的社会因素。 2、软件按功能分为应用软件、系统软件、支撑(工具)软件。要能区分所给的软件属于上述哪类。 3、软件危机的主机表现: 传统软件开发成本难以控制 进度不可预计 软件系统的质量和可靠性很差 软件系统不可维护 软件开发生产率的提高赶不上硬件的发展和应用需求的增长 1968年提出软件工程,试图用工程化的方法来开发软件,从而解决或缓解软件危机 4、软件工程的3要素 方法:完成软件工程项目的技术手段; 工具:支持软件的开发、管理、文档生成; 过程:支持软件开发的各个环节的控制、管理。 软件工程过程的4种基本活动: P:软件规则说明; D:软件开发; C:软件确认; A:软件演进; 3.1 软件工程的基本概念(二) 3.1 软件工程的基本概念(三) 5、软件周期 软件产品从提出、实现、使用维护到停止使用退役的过程 6、软件工程的目标和基本原则 目标:在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。 基本目标:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发软件易于移植;需要较低的费用;能按时开发、及时交付使用。 基本原则:抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。 软件工程的理论和技术性研究的内容主要包括:软件开发技术和软件工程管理。 软件开发技术包括:软件开发方法学、开发过程、开发工具和软件工程环境。 软件工程管理包括:软件管理学、软件工程经济学、软件心理学等。 软件管理学包括人员组织、进度安排、质量保证、配置管理、项目计划等。 3.2 结构化分析方法(一) 结构化方法的核心和基础是结构化程序设计理论 1、需求分析方法 结构化需求分析方法 面向对象的分析方法 从需求分析建立的模型特性分静态分析和动态分析。 结构化分析方法的实质:着眼于数据流、自顶向下逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。 3.2 结构化分析方法(二) 2、结构化分析的常用工具: 数据流图(DFD): 描述数据处理过程的工具,是需求理解的逻辑模型的图形表示。主要图形元素如下: 2、结构化分析的常用工具: 数据字典: 判定树 判定表 3.2 结构化分析方法(三) 3、软件需求规则说明书是需求分析阶段的最后成果 3.3 结构化设计方法(一) 软件设计的基本目标:确定系统的物理模型,用比较抽象概括的方式确定目标系统如何完成预定的任务。设计阶段是开发阶段最重要的步骤。 软件设计包括: 结构设计:定义系统各主要部件间的关系; 数据设计:将分析时创建的模型转化为数据结构的定义; 接口设计:描述软件内部、软件和协作系统间及软件与用户间如何通信; 过程设计:把系统结构部件转换成软件的过程描述。 从工程管理角度分为概要设计和详细设计。 软件设计的一般过程:软件设计是一个迭代的过程;先进行高层次的结构设计;后进行低层次的过程设计;穿插进行数据设计和接口设计。 1、衡量软件模块独立性 高内聚、低耦合 2、软件设计 概要设计 教材P16知识点 详细设计 常用工具: 图形工具(程序流程图、N-S图、PAD图) 表格工具(判定表) 语言工具(PDL) 3.3 结构化设计方法(二) 3.4 软件测试 软件测试定义:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。 1、软件测试:是为发现错误而执行程序的过程。 软件测试方法:静态测试和动态测试。 静态测试:不实际运行软件,通过人工进行。包括代码检查、静态结构分析、代码质量度量; 动态测试:通过计算机测试,包括白盒测试、黑盒测试。 2、白盒测试: 3、墨盒测试:方法有等价类划分法、边界值分析法、错误推测法、因果图法。 4、软件测试过程: 单元测试:对模块的正确性检验的测试; 集成测试:是测试和组装软件的过程; 验收测试:验证软件功能和性能是否满足需求规则说明书的要求; 系统

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档