欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    软件工程复习资料(自己).doc

    • 资源ID:51999291       资源大小:34KB        全文页数:5页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件工程复习资料(自己).doc

    Ch1 软件工程学概述软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。它包含两个方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。什么是软件工程:是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护他。软件生命周期的8个阶段及其任务1、问题定义:回答“要解决的问题是什么?”通过对客户的访问调查,系统分析员扼要地写出关于问题性质、工程目标和工程规模的书面报告,经过讨论和必要的修改之后这份报告应该得到客户的确认;2、可行性研究:回答“对于上一阶段所确定的问题有行得通的办法吗?”任务是研究问题的范围,搜索这个问题是否值得去解,是否有可行的解决方法;3、需求分析:确定“为了解决这个问题,目标系统必须做什么”,主要是确定目标系统必须具备哪些功能。任务有用正式文档准确记录对目标系统的需求(规格说明书);4、总体设计(概要设计):回答“概括的说,应该怎样实现目标系统?”解决问题的策略及目标系统中应包含的程序,和确定程序由哪些模块组成以及模块间的关系;5、详细设计(模块设计):把解法具体化,设计出程序的详细规格说明,回答“应该怎样具体地实现这个系统”;6、编码和单元测试:任务是写出正确的容易理解、容易维护的程序模块;7、综合测试:任务是通过各种类型的测试(及相应的调试)使软件达到预定的要求;8、软件维护:任务是通过各种必要的维护活动使系统持久地满足用户的需要。有四类维护活动:改正性维护,适应性维护,完善性维护,预防性维护。软件过程模型瀑布模型、快速原型、螺旋模型(比较三者的优缺点)瀑布模型:优点是可强迫开发人员采用规范的方法,严格地规定了每个阶段必须提交的文档,要求每个阶段交出的所有产品都必须经过质量保证小组的仔细检查;缺点是由文档驱动。快速原型:优点是有助于保证用户的真实需要得到满足。螺旋模型:优点是对可选方案和约束条件的强调有利于已有软件的重用,减少了过多测试或测试不足所带来的风险,维护只是模型的另一个周期,在维护和开发之间并没有本质的区别;缺点是它靠风险驱动。面向对象软件开发采用的喷泉模型Ch2 可行性分析可行性分析的三个方面技术可行性经济可行性操作可行性数据流图的四种成分1、符号:4种基本符号:正方形(或立方体)表示数据的源点或终点;圆角矩形(或圆形)代表变换数据的处理;开口矩形(或两条平行横线)代表数据存储;箭头表示数据流;2、例子;3、命名:(1)为数据流(或数据存储)命名;(2)为处理命名;4、用途:利用它作为交流信息的工具,作为分析和设计的工具。可行性研究报告的内容Ch3 需求分析需求分析的任务1、确定对系统的综合要求:功能需求,性能需求,可靠性和可用性需求,出错处理需求,接口需求,约束,逆向需求,将来可能提出的要求;2、分析系统的数据要求;3、导出系统的逻辑模型;4、修正系统开发计划。需求规格说明书:通常用自然语言完整、准确、具体地描述系统的数据要求、功能需求、性能需求、可靠性和可用性需求、出错处理需求、接口需求、约束、逆向需求、将来可能提出的要求。Ch5 总体设计总体设计:也称为概要设计或者是初步设计设计原理模块化、抽象、逐步求精、模块独立(耦合和内聚)模块化:把程序划分为独立命名且可独立访问的模块。每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。逐步求精:为了能集中精力解决主要问题而尽量推迟对问题细节的考虑。模块独立:是模块化、抽象、信息隐藏和局部化概念的直接结果。由两个定性标准度量:耦合衡量不同模块彼此间互相依赖(连接)的紧密程度;内聚衡量一个模块内部各个元素彼此结合的紧密程度。耦合、内聚的种类耦合:(由低到高)数据耦合、控制耦合、特征耦合、公共环境耦合、内容耦合;设计原则为尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围,完成不用内容耦合;内聚:(由弱到强)低内聚分为偶然内聚、逻辑内聚、时间内聚;中内聚分为过程内聚、通信内聚;高内聚分为顺序内聚、功能内聚信息流的类型变换流和事务流交换流:信息沿输入通路进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换成外部形式离开软件系统。事务流:数据沿输入通路到达一个处理T,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行。处理T为事务中心,它完成任务为:(1)接受输入数据(事务),(2)分析每个事务以确定它的类型,(3)根据事务类型选取一条活动通路。Ch6 详细设计结构化程序设计如果只允许使用顺序、IF-THEN-ELSE型分支和DO-WHILE型循环这3种基本控制结构,则称为经典的结果程序设计;如果除了上述3种基本控制结构之外,还允许使用DO-CASE型多支结构和DO-UNTIL型循环结构,则称为扩展的结构程序设计;如果再允许使用LEAVE(或BREAK)结构,则称为修正的结构程序设计。过程设计工具(图形、图表和语言)程序流程图盒图(N-S图)PAD图(问题分析图)判定树、判定表PDL(过程设计语言)Ch7 实现软件测试的目标:为了发现程序中的错误。测试步骤单元测试(模块测试)、集成测试(系统测试)、确认测试(验收测试)、平行运行测试方法白盒(结构测试)黑盒(功能测试)白盒测试技术逻辑覆盖(语句、条件、判定、判定/条件、条件组合、路径)黑盒测试技术等价类划分边界值分析错误推测Ch8 维护什么是软件维护:就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。软件维护活动的分类:四类:为了纠正在使用过程中暴露出来的错误而进行的改正性维护,为了适应外部环境的变化而进行的适应性维护,为了改进原有的软件而进行的完善性维护,为了改进将来的可维护性和可靠性而进行的预防性维护。文档分类(用户文档和系统文档)及作用 文档分为两类:用户文档和系统文档;用户文档主要描述系统功能和使用方法;系统文档描述系统设计、实现和测试等各方面的内容。软件可靠性的概念Ch9 面向对象方法学基本概念对象、类、实例、消息、方法、属性、封装、继承、多态、重载、对象:是由描述该对象属性的数据以及可以对这些数据施加的所有操作封装在一起构成的统一体。类:是对具有相同属性和行为的一个或者多个对象的描述,通常这个描述也包括对怎样创建该类的新对象的说明。实例:是由某个特定的类所描述的一个具体的对象。消息:是要求某个对象执行在定义它的那个类中所定义的某个操作的规格说明。通常一个消息由3部分组成:接收消息的对象,消息选择符(消息名),零个或多个变元。方法:是对象所能执行的操作,也就是类中所定义的服务。在c+语言中把方法称为成员函数。属性:是类中所定义的数据,它是对客观世界实体所具有的性质的抽象。在c+语言中把属性称为数据成员。封装:是信息隐藏,通过封装对外界隐藏了对象的实现细节。继承:是子类自动地共享基类中定义的数据和方法的机制。多态性:是指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象。在c+语言中,多态性是通过虚函数来实现的。重载:有两种:函数重载是指在同一作用域内的若干个参数特征不同的函数可以使用相同的函数名字;运算符重载是指同一个运算符可以施加于不同类型的操作数上面。类图类之间的关系(关联、组合、共享、泛化)面向对象的三种模型对象模型(类图)、动态模型(状态图)、功能模型(DFD)Ch11 面向对象设计面向对象设计准则:模块化;抽象;信息隐藏;弱耦合;强内聚;可重用。软件重用:代码重用,设计结果重用,分析结果重用。子系统交互方式(两种):客户-供应商关系、平等伙伴关系Ch13 软件项目管理软件配置管理SCM的概念软件配置项:计算机程序、描述计算机程序的文档、数据CMM作用:指导软件机构通过确定当前的过程成熟度并识别出对过程改进起关键作用的问题,从而明确过程改进的方向和策略。五个等级(从低到高):初始级(1级),可重复级,已定义级,已管理级,优化级(5级)。题型选择 20%填空 20%名词解释 30%问答 30%选择题(20%):软件设计中划分模块的一个准则是()C、高内聚低耦合Jackson设计方法是由英国的M.Jackson提出的,它是一种面向( )的软件设计方法。 C、数据结构试判断下列叙述中,哪个是正确的()c、事务分析和变换分析的设计步骤是基本相似的()是用户和设计交换最频繁的方法。A、原型化方法软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是() C、软件开发工具和软件开发的环境下列语言中哪个语言是低级语言() D、汇编语言软件测试的目的是() D、尽可能多的发现软件系统中的错误使用白盒测试方法时,确定测试数据应根据()和指定的覆盖标准。 A、程序的内部逻辑软件维护工作的最主要部分是() C、完善性维护PDL是()语言。 B、伪码式对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。C、封装软件生命周期中所花费用最多的阶段是() D、软件维护需求分析中开发人员要从用户那里了解()A、软件做什么测试的关键问题是() D、如何选择测试用例()是将系统化的、规范化的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。D、软件工程方法学()意味着一个操作在不同的类中可以有不同的实现方式。A、多态性单元测试的测试用例主要根据()的结果来设计。D、详细设计随着软硬件环境变化而修改软件的过程是() B、适应性维护在白盒测试技术测试用例的设计中,()是最弱的覆盖目标。A、语句覆盖结构化程序设计的一种基本方法是() C、逐步求精法不适合作为科学工程计算的程序设计语言是() D、Prolog只有单重继承的类层次结构是()层次结构。 C、树型面向对象的开发方法中,()将是面向对象技术领域内占主导地位的标准建模语言。 C、UML语言瀑布模型本质上是一种() A、线性顺序模型软件维护产生的副作用,是指() C、因修改软件而造成的错误软件详细设计的主要任务是确定每个模块的() A、算法和使用的数据结构软件结构图的形态特征能反映程序重用率的是() C、扇入为了提高模块的独立性,模块内部最好是() C、功能内聚软件结构图中,模块框之间若有直线连接,表示它们之间存在()A、调用关系“软件危机”是指() C、软件开发和维护中出现的一系列问题具有风险分析的软件生命周期模型是() C、螺旋模型数据流图(DFD)中的每个数据处理至少需要() D、一个输入数据流和一个输出流下列哪个阶段不属于软件生存周期的三大阶段() C、编码阶段需求分析是() A、软件开发工作的基础原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要( ) B、完整的生命周期软件维护中,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程测称为()A、改正性维护一般来说,投入运行的软件系统中有错误()A、不是不可以理解的填空题(20%):软件生存周期一般可以划分为: 、 、 、 、 、 和 。基于软件的功能划分,软件可划分为 、 、 三种。可行性研究应从 、 、 、法律可行性和开放方案可行性等方面研究。系统流程图是描绘 的传统工具,它的基本思想是用图形符号以 形式描绘系统里面的每个部件。数据流图的基本四种成分:数据输入的源点和数据输出汇点、 、 、 。结构化分析方法是面向 进行需求分析的方法,它使用 与 来描述。 是自动地共享类、子类和对象中的方法和数据的机制。软件详细设计工具可分为3类: 、 和 。为了在软件开发过程中保证软件的质量,主要采用下述措施: 、复查和管理复审、 。大型软件测试包括 、 、 和 四个步骤。为了便于对照检查,测试用例应由 和预期的 两部分组成。软件结构是以 为基础而组成的一种控制层次结构。如果知道软件的规格说明书描述的程序功能,那么就可以采用 进行测试。当A模块调用B模块时,若两个模块之间传递的是数值型参数,则这两个模块的耦合方式是 。软件概要设计关键的一步是 ,它直接影响下一阶段详细设计和编码的工作。数据流图中的箭头表示 ,椭圆或圆形表示 ,矩形表示 。软件开发是一个 过程,而软件测试是一个 的过程。按数据流的类型,面向数据流的设计方法有两种设计策略,它们是 和 。数据流图仅反映系统必须完成的逻辑功能,所以它是一种 模型。软件结构中的 表示软件的控制层数,它往往能够粗略地标志一个系统的大小和复杂程度。用户界面的 是用户界面设计最重要的也是最基本的目标。常见的软件概要设计方法有三大类: , 。 和 共同构成系统的逻辑模型。软件测试的方法有 和 。单元测试一般以 为主, 为辅。成本估计方法主要有 、 和 三种类型。名词解释 (30%)1、什么是软件工程?是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护他。2、耦合性和内聚性有几种类型?其耦合度、内聚强度的顺序如何?耦合:(由低到高)数据耦合、控制耦合、特征耦合、公共环境耦合、内容耦合;设计原则为尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围,完成不用内容耦合;内聚:(由弱到强)低内聚分为偶然内聚、逻辑内聚、时间内聚;中内聚分为过程内聚、通信内聚;高内聚分为顺序内聚、功能内聚简述需求分析工作可以分成哪四个方面?软件需求分析的有哪三个基本原则? (1)需求分析阶段分成四个方面:对问题的识别、分析与综合、制定规格说明和评审。 (2)三个基本原则:必须能够表达和理解问题的数据域和功能域;必须按自顶向下、逐步分解的方式对问题进行分解和不断细化;要给出系统的逻辑视图和物理视图。什么是黑盒测试法、白盒测试法? (1) 黑盒测试法是把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据,产生正确的输出信息。 (2) 白盒测试法是把程序看成装在一个透明的百盒子里面,测试者要完全知道程序的结构和处理算法,它按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作。简述结构化程序设计方法的基本特点。 (1)尽可能少用goto语句的程序设计方法;(2)每个代码块都单入单出;(3)使用控制结构:顺序、选择和循环+Do_UNTIL和Do_CASE;(4)自顶向下逐步求精。衡量模块独立性的两个定性标准是什么?这两个标准的定义分别是什么?在我们的软件设计中,关于模块独立性我们追求的目标是什么?(1)衡量模块独立性的两个定性标准是耦合和内聚;(2)耦合是指对一个软件结构内不同模块彼此之间相互依赖(连接)的紧密程度;而内聚则标志一个模块内部各个元素彼此结合的紧密程度;(3)在我们的软件设计中,关于模块独立性我们追求的目标是高内聚低耦合。问答题(30%):

    注意事项

    本文(软件工程复习资料(自己).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开