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