软件工程知识和题目2.doc

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程知识和题目2

软件工程基础 1.软件工程的基本概念 (1)定义:软件是程序、数据与相关文档的集合。软件包括系统软件和应用软件 (2)软件工程的基本思想是软件开发中,应用工程化原则进行软件开发,并将这个思想贯穿在软件开发的整个过程中。 软件工程的3要素:方法、工具和过程 (3)软件的生命周期:从软件定义、开发、使用、维护到报废为止的整个过程。 分三阶段:设计阶段、开发阶段、维护阶段 包括:问题定义、可行性分析、需求分析、总体设计、详细设计、编码、测试和维护 问题定义:确定开发的任务 可行性分析:确定问题的可行性 需求分析:对用户要求进行分析,明确目标系统要做什么 总体设计:把软件功能转化为所需要的体系结构,即如何解决问题。 详细设计:怎样具体的解决问题 2.结构化分析方法 (1)结构化分析(SA)是面向数据流进行需求分析的方法 SA方法的基本思想正是运用了分解和抽象两个基本手段,采用:自顶向下,逐步分解的分析思路。 (2)数据流图 基本图形符号: 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是:需求分析 (3)数据字典 在结构化分析的数据流图中,利用数据字典对其中的图形元素进行确切解释。 3.软件设计 (1)概要设计(总体设计) ◆包括两个主要阶段:系统设计(确定具体的实现方案)和结构设计(确定每个系统的模块组成及模块间的关系) ◆模块之间联系越紧密,其耦合性就越强,模块的独立性就越差; 一个模块内个要素联系越紧密,则它的内聚性就越高。 模块划分原则:高内聚低耦合 (2)详细设计 ◆结构化程序设计的要点:采用自顶向下、逐步求精的程序设计方法,一个程序只有一个入口和一个出口。 ◆详细设计的常用工具:程序流程图、盒图、PAD和PDL (3)软件测试目的 ◆软件测试的目的是尽可能多的发现程序中的错误。 ◆软件测试方法:静态测试和动态测试(黑盒测试法和白盒测试法) 黑盒测试包括:等价分析法、边值分析法、因果图法和错误推测法 白盒测试法测试的原则之一就是保证所测模块中的每一个独立的路径至少执行一次。 (4)程序调试 分为静态调试和动态调试 调试的目的:改正错误 经调试后还必须进行再测试 (5)软件维护 软件维护就是在软件已经交付使用以后,为改正错误或满足新的需求而修改软件的过程。 例题精选: 1. 分析的结果是产生需求规格说明书。 2. 软件详细设计的主要任务是确定每一个模块的算法和使用的数据结构。 3. 进行单元测试时,常用的方法时采用白盒测试,辅以黑盒测试。 4. 软件工程的出现是由于软件危机的出现,人们提出了软件工程学的原理设计软件。 5. 数据字典是各类数据描述的集合,通常包括4个部分:数据项、数据流、数据存储和数据加工。 软件工程基础知识 2.4.1 主要知识点 软件工程是计算机软件的一个重要分支,主要应掌握软件工程的基本原理以及软件设计与测试方法。 2.4.1.1软件生存周期各阶段的任务 软件生存周期指出由软件定义、软件开发和软件维护等阶段组成的全过程。 (1)软件定义阶段 软件定义阶段主要解决软件要做什么的问题,也就是要确定软件的处理对象、软件与外界的接口、软件的功能、软件的性能、软件的界面以及有关的约束和限制。软件定义阶段通常可分成系统分析、软件项目计划和需求分析等阶段。系统分阶析的任务是确定待开发软件的总体要求和适用范围,以及与之有关的硬件和支撑软件的要求,该阶段所生产的文档可合并在软件项目计划阶段的文档(项目计划书)中。软件项目计划的任务是确定待开发软件的目标,对其进行可行性分析,并对资源分配、进度安排等做出合理的计划,该阶段所产生的文档有可行性分析报告和项目计划书。需求分析的任务是确定待开发软件的功能、性能、数据和界面等要求,从而确定系统的逻辑模型。该阶段产生的文档是需求规格说明书。 (2)软件开发阶段 软件开发阶段主要解决软件怎么做的问题,包括数据结构和软件结构的设计、算法设计、编写程序和测试,最后得到可交付使用的软件。软件开发阶段通常可分成软件设计、编码、软件测试等阶段。软件设计通常还可分成概要设计和详细设计。概要设计的任务是模块分解,确定软件结构、模块的功能和模块的接口,以全国数据结构的设计。详细设计的任务是设计每个模块的实现细节和局部数据结构。设计阶段产生的文档有设计说明书,它也可分为概要设计说明书和详细设计说明书。编码的任务是用某种程序语言为每个模块编写程序,产生的文档有程序清单。软件测试的任务是发现软件中的错误,并加以纠正,产生的文档有软件测试计划和软件测试报告。 (3)软件维护 软件维护任务就是为使软件适应外界环境的变化,进一步实现软件功能的扩充和质量的改善而修改软件。该阶段产生的文档有维护计划和维护报告。 2.4.1.2软件开发模型 用不同的方式将软件生存周期中所有开发活动组织起来,形成不同的软

文档评论(0)

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

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

1亿VIP精品文档

相关文档