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

上传人:hs****ma 文档编号:555903009 上传时间:2024-01-08 格式:DOC 页数:5 大小:73.50KB
返回 下载 相关 举报
软件工程复习资料(自己).doc_第1页
第1页 / 共5页
软件工程复习资料(自己).doc_第2页
第2页 / 共5页
软件工程复习资料(自己).doc_第3页
第3页 / 共5页
软件工程复习资料(自己).doc_第4页
第4页 / 共5页
软件工程复习资料(自己).doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《软件工程复习资料(自己).doc》由会员分享,可在线阅读,更多相关《软件工程复习资料(自己).doc(5页珍藏版)》请在金锄头文库上搜索。

1、Ch1 软件工程学概述软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。它包含两个方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。什么是软件工程:是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护他。软件生命周期的8个阶段及其任务1、问题定义:回答“要解决的问题是什么?”通过对客户的访问调查,系统分析员扼要地写出关于问题性质、工程目标和工程规模的书面报告,经过讨论和必要的修改之后这份报告

2、应该得到客户的确认;2、可行性研究:回答“对于上一阶段所确定的问题有行得通的办法吗?”任务是研究问题的范围,搜索这个问题是否值得去解,是否有可行的解决方法;3、需求分析:确定“为了解决这个问题,目标系统必须做什么”,主要是确定目标系统必须具备哪些功能。任务有用正式文档准确记录对目标系统的需求(规格说明书);4、总体设计(概要设计):回答“概括的说,应该怎样实现目标系统?”解决问题的策略及目标系统中应包含的程序,和确定程序由哪些模块组成以及模块间的关系;5、详细设计(模块设计):把解法具体化,设计出程序的详细规格说明,回答“应该怎样具体地实现这个系统”;6、编码和单元测试:任务是写出正确的容易理

3、解、容易维护的程序模块;7、综合测试:任务是通过各种类型的测试(及相应的调试)使软件达到预定的要求;8、软件维护:任务是通过各种必要的维护活动使系统持久地满足用户的需要。有四类维护活动:改正性维护,适应性维护,完善性维护,预防性维护。软件过程模型瀑布模型、快速原型、螺旋模型(比较三者的优缺点)瀑布模型:优点是可强迫开发人员采用规范的方法,严格地规定了每个阶段必须提交的文档,要求每个阶段交出的所有产品都必须经过质量保证小组的仔细检查;缺点是由文档驱动。快速原型:优点是有助于保证用户的真实需要得到满足。螺旋模型:优点是对可选方案和约束条件的强调有利于已有软件的重用,减少了过多测试或测试不足所带来的

4、风险,维护只是模型的另一个周期,在维护和开发之间并没有本质的区别;缺点是它靠风险驱动。面向对象软件开发采用的喷泉模型Ch2 可行性分析可行性分析的三个方面技术可行性经济可行性操作可行性数据流图的四种成分1、符号:4种基本符号:正方形(或立方体)表示数据的源点或终点;圆角矩形(或圆形)代表变换数据的处理;开口矩形(或两条平行横线)代表数据存储;箭头表示数据流;2、例子;3、命名:(1)为数据流(或数据存储)命名;(2)为处理命名;4、用途:利用它作为交流信息的工具,作为分析和设计的工具。可行性研究报告的内容Ch3 需求分析需求分析的任务1、确定对系统的综合要求:功能需求,性能需求,可靠性和可用性

5、需求,出错处理需求,接口需求,约束,逆向需求,将来可能提出的要求;2、分析系统的数据要求;3、导出系统的逻辑模型;4、修正系统开发计划。需求规格说明书:通常用自然语言完整、准确、具体地描述系统的数据要求、功能需求、性能需求、可靠性和可用性需求、出错处理需求、接口需求、约束、逆向需求、将来可能提出的要求。Ch5 总体设计总体设计:也称为概要设计或者是初步设计设计原理模块化、抽象、逐步求精、模块独立(耦合和内聚)模块化:把程序划分为独立命名且可独立访问的模块。每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。逐步求精:为了能集中精力解决主要问题而尽量推迟对问

6、题细节的考虑。模块独立:是模块化、抽象、信息隐藏和局部化概念的直接结果。由两个定性标准度量:耦合衡量不同模块彼此间互相依赖(连接)的紧密程度;内聚衡量一个模块内部各个元素彼此结合的紧密程度。耦合、内聚的种类耦合:(由低到高)数据耦合、控制耦合、特征耦合、公共环境耦合、内容耦合;设计原则为尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围,完成不用内容耦合;内聚:(由弱到强)低内聚分为偶然内聚、逻辑内聚、时间内聚;中内聚分为过程内聚、通信内聚;高内聚分为顺序内聚、功能内聚信息流的类型变换流和事务流交换流:信息沿输入通路进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中

7、心,经加工处理以后再沿输出通路变换成外部形式离开软件系统。事务流:数据沿输入通路到达一个处理T,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行。处理T为事务中心,它完成任务为:(1)接受输入数据(事务),(2)分析每个事务以确定它的类型,(3)根据事务类型选取一条活动通路。Ch6 详细设计结构化程序设计如果只允许使用顺序、IF-THEN-ELSE型分支和DO-WHILE型循环这3种基本控制结构,则称为经典的结果程序设计;如果除了上述3种基本控制结构之外,还允许使用DO-CASE型多支结构和DO-UNTIL型循环结构,则称为扩展的结构程序设计;如果再允许使用LEAVE(或BREAK)

8、结构,则称为修正的结构程序设计。过程设计工具(图形、图表和语言)程序流程图盒图(N-S图)PAD图(问题分析图)判定树、判定表PDL(过程设计语言)Ch7 实现软件测试的目标:为了发现程序中的错误。测试步骤单元测试(模块测试)、集成测试(系统测试)、确认测试(验收测试)、平行运行测试方法白盒(结构测试)黑盒(功能测试)白盒测试技术逻辑覆盖(语句、条件、判定、判定/条件、条件组合、路径)黑盒测试技术等价类划分边界值分析错误推测Ch8 维护什么是软件维护:就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。软件维护活动的分类:四类:为了纠正在使用过程中暴露出来的错误而进行的改正

9、性维护,为了适应外部环境的变化而进行的适应性维护,为了改进原有的软件而进行的完善性维护,为了改进将来的可维护性和可靠性而进行的预防性维护。文档分类(用户文档和系统文档)及作用 文档分为两类:用户文档和系统文档;用户文档主要描述系统功能和使用方法;系统文档描述系统设计、实现和测试等各方面的内容。软件可靠性的概念Ch9 面向对象方法学基本概念对象、类、实例、消息、方法、属性、封装、继承、多态、重载、对象:是由描述该对象属性的数据以及可以对这些数据施加的所有操作封装在一起构成的统一体。类:是对具有相同属性和行为的一个或者多个对象的描述,通常这个描述也包括对怎样创建该类的新对象的说明。实例:是由某个特

10、定的类所描述的一个具体的对象。消息:是要求某个对象执行在定义它的那个类中所定义的某个操作的规格说明。通常一个消息由3部分组成:接收消息的对象,消息选择符(消息名),零个或多个变元。方法:是对象所能执行的操作,也就是类中所定义的服务。在c+语言中把方法称为成员函数。属性:是类中所定义的数据,它是对客观世界实体所具有的性质的抽象。在c+语言中把属性称为数据成员。封装:是信息隐藏,通过封装对外界隐藏了对象的实现细节。继承:是子类自动地共享基类中定义的数据和方法的机制。多态性:是指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象。在c+语言中,多态性是通过虚函数来实现

11、的。重载:有两种:函数重载是指在同一作用域内的若干个参数特征不同的函数可以使用相同的函数名字;运算符重载是指同一个运算符可以施加于不同类型的操作数上面。类图类之间的关系(关联、组合、共享、泛化)面向对象的三种模型对象模型(类图)、动态模型(状态图)、功能模型(DFD)Ch11 面向对象设计面向对象设计准则:模块化;抽象;信息隐藏;弱耦合;强内聚;可重用。软件重用:代码重用,设计结果重用,分析结果重用。子系统交互方式(两种):客户-供应商关系、平等伙伴关系Ch13 软件项目管理软件配置管理SCM的概念软件配置项:计算机程序、描述计算机程序的文档、数据CMM作用:指导软件机构通过确定当前的过程成熟

12、度并识别出对过程改进起关键作用的问题,从而明确过程改进的方向和策略。五个等级(从低到高):初始级(1级),可重复级,已定义级,已管理级,优化级(5级)。题型选择 20%填空 20%名词解释 30%问答 30%选择题(20%):软件设计中划分模块的一个准则是()C、高内聚低耦合Jackson设计方法是由英国的M.Jackson提出的,它是一种面向( )的软件设计方法。 C、数据结构试判断下列叙述中,哪个是正确的()c、事务分析和变换分析的设计步骤是基本相似的()是用户和设计交换最频繁的方法。A、原型化方法软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是() C

13、、软件开发工具和软件开发的环境下列语言中哪个语言是低级语言() D、汇编语言软件测试的目的是() D、尽可能多的发现软件系统中的错误使用白盒测试方法时,确定测试数据应根据()和指定的覆盖标准。 A、程序的内部逻辑软件维护工作的最主要部分是() C、完善性维护PDL是()语言。 B、伪码式对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。C、封装软件生命周期中所花费用最多的阶段是() D、软件维护需求分析中开发人员要从用户那里了解()A、软件做什么测试的关键问题是() D、如何选择测试用例()是将系统化的、规范化的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过

14、程三个要素。D、软件工程方法学()意味着一个操作在不同的类中可以有不同的实现方式。A、多态性单元测试的测试用例主要根据()的结果来设计。D、详细设计随着软硬件环境变化而修改软件的过程是() B、适应性维护在白盒测试技术测试用例的设计中,()是最弱的覆盖目标。A、语句覆盖结构化程序设计的一种基本方法是() C、逐步求精法不适合作为科学工程计算的程序设计语言是() D、Prolog只有单重继承的类层次结构是()层次结构。 C、树型面向对象的开发方法中,()将是面向对象技术领域内占主导地位的标准建模语言。 C、UML语言瀑布模型本质上是一种() A、线性顺序模型软件维护产生的副作用,是指() C、因

15、修改软件而造成的错误软件详细设计的主要任务是确定每个模块的() A、算法和使用的数据结构软件结构图的形态特征能反映程序重用率的是() C、扇入为了提高模块的独立性,模块内部最好是() C、功能内聚软件结构图中,模块框之间若有直线连接,表示它们之间存在()A、调用关系“软件危机”是指() C、软件开发和维护中出现的一系列问题具有风险分析的软件生命周期模型是() C、螺旋模型数据流图(DFD)中的每个数据处理至少需要() D、一个输入数据流和一个输出流下列哪个阶段不属于软件生存周期的三大阶段() C、编码阶段需求分析是() A、软件开发工作的基础原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要( ) B、完整的生命周期软件维护中,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程测称为()A、改正性维护一般来说,投入运行的软件系统中有错误()A、不是不可以理解的填空题(20%):软件生存周期一般可以划分为: 、

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号