- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
全国计算机二级vfp_软件工程
第3章 软件工程基础 3.1软件的定义与软件特点 计算机软件由两部分组成:一是机器可执行的程序和数据。二是机器不可执行,与软件开发,运行,维护,使用等有关的文档。 软件:与计算机系统操作有关的计算机程序,规程,规则以及可能有的文件,文档及数据 软件的组成:与硬件相互依存的一部分,是开发人员开发的,包括程序,数据与相关文档的集合 软件的分类: 应用软件:应用领域专用的软件 系统软件:接近硬件的一层,管理计算机资源 支撑软件(工具软件):介于系统和应用软件之间。支撑其它软件的开发和维护的软件。 软件的作用 是用户与硬件之间的接口,是计算机系统的指挥者 软件危机与软件工程 软件危机泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 主要是: 软件本身的特点,如复杂高,规模庞大等 人们对软件开发和维护有许多错误认识和做法,对软件认识不足。 主要原因:对软件开发和维护方法不正确 软件工程 软件工程的概念源自于软件危机。 软件工程:应用于计算机软件的定义,开发和维护的一整套方法,工具,文档,实践标准和工序。 软件工程包含三个要素:方法,工具和过程。 软件工程的原则: 抽象:分层次,自项向下,逐层细化 信息隐蔽:采用封装技术,模块的细节隐藏起来 模块化:有助于信息隐蔽和抽象,有助于表示复杂的系统 局部化 确定性 一致性 完备性 可验证性 软件工程过程 软件工程过程是为了获得高质量软件所需要完成的一系列任务的框架,规定了完成各项任务的工作步骤。 软件工程过程:把输入转化为输出的一组彼此相关的资源和活动。 软件生命周期 软件从提出,实现,维护到停止使用退役的过程称为软件生命周期。 软件生命周期分为3个时期共8个阶段: 软件定义期:问题定义,可行性研究,需求分析 软件开发期:概要设计,详细设计,实现和测试 软件维护期: 运行和维护 3.2结构化分析方法 需求分析方法 需求分析:用户对目标软件系统在功能,行为,性能,设计约束等方面的期望。任务是发现需求,求精,建模和定义需求的过程 需求分析阶段的工作: 需求获取:了解用户当前所处的情况,各方面需求. 需求分析:对获取的需求进行分析,综合.给出解决方案,逻辑模型 编写软件需求说明书:为用户,分析人员之间提供交流 需求评审:复审,验证需求可行性,完整,有效性 需求分析的方法: 结构化分析方法:面向数据流的方法SA,面向Jackson方法JSD,面向数据结构的结构化系统开发方法DSSD。 面向对象的方法OOA:包括一套概念原则,过程步骤,表示方法,提交文档等规范要求。 结构化分析方法(structure analysis) 是结构化程序设计在软件需求分析阶段的运用。 SA是面向数据流进行需求分析的方法,采用自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具。建立系统的逻辑模型。 结构化分析常用工具: 数据流图DFD:以图形的方式描绘数据流动和处理的过程。 数据字典:是结构化分析方法的核心。对所用与系统相关的数据元素的一个有组织的列表,定义的集合。 = 表示等于 {…|…}表示或 ** 表示注释 .. 表示连接符 判定表:有些加工的逻辑用语言形式不容易表达清楚,而用表的形式则一目了然。 判定树:与判定表没有本质区别,可以用判定表表示的加工逻辑都能用判定树表示。 结构化方法开发过程: 计划:分析用户的需求,分析开发系统的可行性 开发:分析,设计和实施, 需求分析:确定用户对软件系统的功能性和非功能性的全部需求,并以需求规格说明书的形式表达。 总体设计:建立总体结构,子系统划分,提出软件结构图 详细设计:确定选定软件结构图中每个模块的内部过程和结构 编码 测试 运行 软件需求规格说明书: 是需求分析阶段的最后成果。 结构化设计方法: 软件设计:是一个把软件需求转换为软件表示过程 软件设计分为:概要设计(总体设计)和详细设计 软件设计的基本原理: 抽象: 模块化: 信息隐蔽 模块独立性:独立的子功能,与其他模块联系最少 独立性使用耦合性和内聚性两个定性度量。 内聚性是度量一个模块功能强度的一个相对指标 耦合性是用来度量模块之间的相互联系程序 较优秀的软件,应尽量做到高内聚,低耦合, 概要设计基本任务: 设计软件系统结构: 数据结构和数据库设计 编写概要设计文档 评审 概要设计常用的工具是结构图sc,也称程序结构图 面向数据流的设计方法: 数据流的类型:变换型和事务型 3.3.3 详细设计:主要确定每个模块具体执行过程。也叫过程设计 说细设计的常用工具有: 图形工具:程序流程图、N-S、PAD和HIPO 表格工具:判定表 语言工具:PDL(伪代码) 程序流程图PFD N_S图 用方框代替传统的流程图。 PAD(proble
文档评论(0)