软件工程期末复习-北邮讲课讲稿
软件工程期末复习指导.doc

软件工程期末复习指导软件工程课程是计算机科学与技术专业本科生的一门选修课程。
主要讨论如何运用科学的概念、理论、方法和技术来进行软件的开发、维护和管理。
课程主要内容有:软件工程概述;系统分析;需求分析;软件设计;Jackson 系统开发方法;用户界面设计;程序编码;软件测试;面向对象技术;软件质量保证;软件维护;软件工程标准和软件文档;软件项目管理与计划。
本课程选用的教材是由郑人杰主编清华大学出版社出版的《实用软件工程》第一部分各章复习要求下面按照主教材中各章次序给出每章的具体复习要求,以便指导同学们更好地进行期末复习。
第一章软件工程概述1.1 软件的概念、特点和分类(熟练掌握)1.2 软件的发展和软件危机(掌握)1.3 软件工程过程和软件生存期(掌握)1.4 软件生存期模型(了解)1.5 软件工程的基本目标(了解)第二章系统分析2.1 基于计算机的系统(了解)2.3 系统需求识别(了解)2.4 可行性研究(掌握)2.5 成本效益分析(掌握)2.6 技术分析(了解)2.7 分配与权衡(了解)2.8 系统结构的模型化(了解)2.9 系统定义与评审(了解)第三章软件需求分析3.1软件需求分析的任务(掌握)3.2需求分析的过程(掌握)3.3软件需求分析的原则(了解)3.4分析员和用户的责任(了解)3.5软件需求分析方法(了解)3.6原型化方法(掌握)3.7结构化分析方法(熟练掌握)第四章软件设计4.1软件设计的目标和任务(掌握)4.2软件设计基础(掌握)4.3模块的独立性(掌握)4.4结构化设计方法(Structure Design,SD)(掌握)4.6过程设计(熟练掌握)第五章 Jackson 系统开发(JSD)方法5.1 进程模型(了解)5.2 JSD方法的步骤(了解)5.3 实体动作分析(掌握)5.4 实体结构分析(掌握)5.5 定义初始模型(了解)5.6 功能描述(了解)第六章用户界面设计6.1用户界面应具备的特性(掌握)6.2用户界面设计的任务分析(了解)6.4界面设计的基本类型(了解)6.5数据输入界面(了解)6.6数据显示界面设计(了解)第七章程序编码7.1对软件的质量要求(掌握)7.2结构化程序设计(Structure Programming)(掌握)7.3程序设计风格(了解)7.4程序效率(了解)第八章软件测试8.1 软件测试的基础(掌握)8.2 测试用例设计(熟练掌握)8.3 白盒测试的测试用例设计(熟练掌握)8.4 黑盒测试的测试用例设计(了解)8.5 软件测试的策略(掌握)8.7 调试(了解)第九章面向对象技术9.1面向对象的概念(了解)9.3面向对象分析(Object-Oriented Analysis)(了解)第十章软件的质量保证10.1软件质量的概念(掌握)10.2软件质量的度量和评价(掌握)10.3软件质量保证(掌握)10.5质量保证的实施(了解)10.7技术评审(掌握)10.8软件可靠性(掌握)10.10软件容错技术(了解)第十一章软件维护11.1软件维护的概念(掌握)11.2软件维护活动(了解)11.3程序修改的步骤及修改的副作用(了解)11.4软件可维护性(了解)11.8软件配置管理( Software Configuration Management)(了解)第十二章软件工程标准化与软件文档12.1什么是软件工程标准(掌握)12.2软件工程标准化的意义(了解)12.4软件工程标准的层次(了解)12.8文档的作用与分类(了解)第十三章软件项目管理与计划13.1项目的管理过程(了解)13.2软件生产率和质量的度量(了解)13.4软件项目估算(掌握)13.5软件开发成本估算(了解)13.6风险分析(了解)13.7进度安排(了解)13.8 软件项目的组织与计划(了解)13.9 软件过程成熟度模型(了解)第二部分期末复习题示例1.名词解释1)模块独立性:是指软件系统中每个模块只涉及软件要求的具体子功能,而和软件系统中其他的模块接口是简单的。
2014年北邮如软件工程复习提纲

一、基本概念1、生命周期模型a)瀑布模型;b)基于瀑布模型的其他变种;c)现代模型:UP及极限编程;d)模型的由来及实际价值2、软件需求分析a)需求分析的目的b)需求分析的对象c)需求分析的难点d)需求管理的内容3、软件概要设计a)软件的结构,分层结构b)模块的耦合与内聚;c)面向对象的设计原则;d)模块的优化原则;e)模块的控制范围与作用范围;4、软件详细设计与实现a)详细设计是概要设计的延续,是编码之前的必要工作;程序流程图、NS图、PDL以及UML的活动图都是描述程序结构的方法;b)软件实现,从软工的角度需要将代码文档化,提升软件的阅读性、可维护性,为此,使用序言性注释及功能性注释提升可阅读性;5、软件测试a)软件测试的对象;b)软件测试的方法;c)软件测试流程:软件配置,测试配置d)软件测试用例:有效和无效的测试用例同样重要;e)软件测试的策略:单元测试、集成测试、确认测试及系统测试等;6、软件维护与项目管理a)软件维护的周期;b)软件维护与软件开发的关系;c)软件维护的类型;d)软件项目的定义及特点;e)软件项目成功与失败的条件;f)软件项目管理的重要过程:启动、计划、执行、监控及结束二、软件工程方法1、面向对象方法a)需求分析:最终形成“软件需求分析规格说明书”i.领域模型:1.UML类图(无方法):使用概念类描述业务背景的重要知识;2.UML活动图:描述一个或多个业务对象在业务流程中的交互过程;ii.用例模型:1.用例图:使用UML用例图描述功能需求,需要掌握基本用例与子用例之间的包含和扩展关系;2.用例说明:使用标准的格式说明用例图中每个用例的交互过程;3.系统顺序图:使用UML交互图进一步明确角色与系统之间交互的消息名称与参数;4.操作契约:明确系统顺序图中每个交互的消息进入系统后有哪些概念类被激活参与该消息的服务并返回规定的内容;这个环节是开始软件概要设计的基础。
b)概要设计:最终形成“软件概要设计说明书”,设计模型由以下两个部分构成i.系统的动态结构:也称为用例实现过程设计1.首先确定软件的基本设计结构,本课程需要大家掌握分层结构:控制器层、业务逻辑层以及数据持久化层;2.用例级别的设计过程:针对系统顺序图中的每个消息进行设计,并参考消息对应的操作契约,确定该消息进入系统后接受该消息的控制器层对象、业务逻辑层对象以及持久化层对象,以及这些对象之间的交互(确定每个消息的名称和参数)ii.系统的静态结构1.用例级别的静态结构:针对该用例已得到的所有交互图,确定每个层次的软件对象及其之间的调用关系(或者依赖关系)形成用例级别的类图(包括软件类的属性和方法);2.系统级别的静态结构:以同样的方式获得所有用例的静态结构类图,即系统级的静态结构类图iii.系统的数据模型:1.根据系统级别的静态结构类图,尤其是数据持久化层的软件类并参考领域模型的类图,可以进一步确定系统数据库对应的数据模型。
北邮软件工程课件第7章面向对象分析

一般说来,确定属性的过程包括分析和选择两个步骤。
7.3.4确定属性
属性的确定既与问题域有关,也和目标系统的任务有关。应该仅考虑与具体应用直接相关的属性,不要考虑那些超出所要解决的问题范围的属性。在分析过程中应该首先找出最重要的属性,以后再逐渐把其余属性增添进去。在分析阶段不要考虑那些纯粹用于实现的属性。
通常,在需求陈述中不会一个不漏地写出问题域中所有有关的类—&—对象,因此,分析员应该根据领域知识或常识进一步把隐含的类—&—对象提取出来。例如,在ATM系统的需求陈述中虽然没写“通信链路”和“事务日志”,但是,根据领域知识和常识可以知道,在ATM系统中应该包含这两个实体。
筛选出正确的类—&—对象
显然,仅通过一个简单、机械的过程不可能正确地完成分析工作。非正式分析仅仅帮助我们找到一些候选的类—&—对象,接下来应该严格考察每个候选对象,从中去掉不正确的或不必要的,仅保留确实应该记录其信息或需要其提供服务的那些对象。
1.分析
2.选择
认真考察经初步分析而确定下来的那些属性,从中删掉不正确的或不必要的属性。通常有以下几种常见情况。 误把对象当作属性 把链属性误作为属性 把限定误当成属性 误把内部状态当成了属性 过于细化 存在不一致的属性
图7.5 ATM对象模型中的属性
7.3.5识别继承关系
01
确定了类中应该定义的属性之后,就可以利用继承机制共享公共性质,并对系统中众多的类加以组织。
ATM打印账单,退出现金兑换卡,请储户拿走它们;储户取走账单和卡
ATM确认取款额在预先规定的限额内,然后要求总行处理这个事务;总行把请求转给分行,该分行成功地处理完这项事务并返回该账户的新余额[ZK)]
ATM问储户是否继续这项事务;储户回答“不”
北方工业大学软件工程期末复习题(含答案)讲课教案

北方工业大学软件工程期末复习题(含答案)北方工业大学《软件工程》课程期末复习题A 卷 2014年春季学期开课学院:信息工程学院考试方式:闭卷 考试时间:120 分钟班级 姓名 学号 题 号 一二三四五六七八九十总 分得 分阅卷人一.简要回答下列各问题(共40分,每个小题5分) (1) 阐述软件工程的定义。
答:是指导计算机软件开发和维护的一门工程学科;采用工程的概念、原理、技术和方法来开发和维护软件;把证明正确的管理技术和最好技术综合运用到软件开发中;研究经济地开发出高质量的软件方法和技术; 研究有效维护软件的方法和技术。
(2) 简述软件危机的原因。
答:序号 订线装缺乏软件开发的经验和有关软件开发数据的积累,使得开发计划很难制定。
软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。
软件开发过程不规范。
如,没有真正了解用户的需求就开始编程序。
随着软件规模的增大,其复杂性往往会呈指数级升高。
需要很多人分工协作,不仅涉及技术问题,更重要的是必须有科学严格的管理。
缺少有效的软件评测手段,提交用户的软件质量不能完全保证。
(3) 画出软件生存周期的瀑布模型的示意图,并简单评述其优缺点。
(4) 画出软件生存周期的增量模型的示意图,并简述其优点。
优点: 可强迫开发人员采用规范化的方法。
严格地规定了每个阶段必须提交的文档。
要求每个阶段交出的所有产品都必须是经过验证的。
1-2 瀑布模型示能在较短时间内向用户提交可完成一些有用的工作产品,即从第1个构件交付之日起,用户就能做一些有用的工作。
逐步增加产品的功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给用户组织带来的冲(5) 画出D.Ross提出的软件工程结构化分析方法的框架示意图,并解释数据字典和数据流的含义。
答:(6) 举例说明变换型和事务型流图的特点。
答:变换型流图由输入、中心变换和输出3部分组成,而且逐层展开。
如:事务型流图通常接受一项事务,根据事务处理的特点和性质,选择分派一个适当的处理单元,然后给出结果。
2014年秋季学期计算机科学与技术专业软件工程课程期末复习提纲

2014年秋季学期计算机科学与技术专业软件工程课程期末复习提纲2014年秋季学期计算机科学与技术专业“软件工程”课程期末复习提纲考试范围本次考试的范围包括如下章节:1. 软件工程概论2. 可行性分析与软件计划3.软件需求分析4. 软件结构设计6. 面向对象的软件设计方法7.详细设计8. 编码设计9. 软件测试10. 软件维护14.软件开发过程15.软件项目管理本次考试重点是第1,3,4,6,9章。
5、11、12、13章不考。
考试形式闭卷考试,满分100,时间90分钟。
考试题型填空题(20%)、选择题(30%)、判断题(10%)、简答题(30%)、建模题(10%) 其中,75%的题目属于理解记忆题,25%的题目属于应用问题。
如何复习以下列复习重点中的各个知识点为线索,以视频教学课件和PPT 课件内容为基础,结合教材学习理解各个概念、原理和方法。
2014年11月中旬请到课程论坛下载本年度考试的“软件工程课程期末串讲与例题分析”PPT,作为考试前的最终复习资料。
复习重点第1章:软件工程概论1.计算机系统的发展,主要是软件工程时代的特征。
2.软件危机概念,软件危机的表现,软件危机产生的原因,解决软件危机的方法。
3.软件的概念,软件工程概念。
4.生命周期各阶段及其基本任务5.软件开发模型,主要掌握瀑布模型,了解原型模型。
第2章:可行性分析与软件计划1.可行性分析的内容,可行性分析的步骤。
2.软件的成本估算,包括估算计量单位和成本估算方法,理解静态单变量模型和COCOMO模型。
第3章:软件需求分析1.需求分析的任务2.结构化分析方法●机构化分析方法的基本思想。
●结构化分析方法的三种工具,数据流图,数据字典,加工说明的定义●数据流图,掌握数据流图中的基本符号,要求给出一个需求能够画出多层数据流图。
●数据字典,掌握数据字典有哪些条目,不要求每个条目的具体内容●加工说明,加工说明的3种描述工具3.原型化分析方法●原型化方法的产生●原型化方法的定义●原型的分类第4章:软件结构设计1.结构设计的任务2.模块化设计原理●软件工程设计原理●抽象与分解●信息隐蔽和信息局部化3.模块独立性●模块独立性概念●耦合与内聚的概念,耦合与内聚的种类,耦合内聚与模块独立性的关系4.面向数据流的方法●设计表达工具:软件结构图●变换型结构与事务型结构的组成特点●结构化设计的过程●变换型分析与设计●事务型分析与设计第6章:面向对象的软件开发技术1.面向对象的基本概念,包括,面向对象,对象,类,封装,继承,消息,多态2.面向对象的开发模式3.UML的概念,用例图、类图、时序图、活动图的使用第7章:详细设计1.结构化程序设计2.详细设计工具(程序流程图与盒图,PAD图之间的转化,判定表)第8章:编码设计1.程序设计语言的特性2.选择程序设计语言的标准第9章:软件测试1.测试的有关概念●测试的定义●Myers测试的目的(3点)●测试的对象2.静态测试方法与动态测试方法3.两种常用的测试方法●白盒测试的概念●白盒测试的各种测试方法(逻辑覆盖测试法、基本路径测试法)●黑盒测试的概念●黑盒测试的各种测试方法(等价分类法、边界值分析法、错误猜测法)4.软件测试的步骤,软件测试的5个阶段。
北邮软件工程课件第章统建模语言UML (一)

北邮软件工程课件第章统建模语言UML (一)北邮软件工程课程中的第一章节是关于统一建模语言(UML)的基本概念和应用。
在软件开发过程中,UML是一种非常流行的语言,可以帮助开发人员更好地理解系统,设计出高质量的软件系统。
UML是一种用于描述、构造和文档化系统中的多个角色、行为和结构的图形化语言。
它为软件设计提供了一个标准的可视化建模方式,可以用不同的方法和工具来实现,例如流程图、用例图、类图、活动图等。
通过使用UML,开发人员可以很容易地表达和交流它们在设计和实现软件系统中的需求。
在软件开发中,UML最基本重要的就是类图。
类图是用于描述软件系统中类之间的静态关系的一种UML图形工具。
而在类图中,类由名称、属性和方法组成,并且可以描述类之间的继承、关联等关系。
类图是软件设计中必不可少的一部分,因为它能够帮助开发人员建立一个统一的、共享的概念模型,以便在软件设计人员之间协作开发和沟通。
除了类图外,UML还提供了其他很多种图形方式来描述软件的不同组成部分及其关系,如用例图、活动图、时序图等。
用例图描述了系统上发生的动作和事件,以及与这些动作和事件相关的人员、系统或物件之间的关系。
活动图则用于描述从进入系统到完成任务的整个活动过程。
时序图则是用于描述在时间轴上事件之间的相对顺序,并且显示组成部分之间的相对顺序。
UML是一种非常流行的建模语言,用于软件开发中的很多方面。
通过使用UML,开发人员能够更好地理解系统并设计高质量的软件系统。
在设计和实现软件系统时,UML是一个必不可少的工具,它提供了标准的可视化建模方式,可以帮助开发人员更好地表达和交流需求。
北邮软件工程课件第四篇软件项目管理第10章计划

10.3 进度计划
项目管理者的目标是定义全部项目任务,识别出 关键任务,跟踪关键任务的进展状况,以保证能及时 发现拖延进度的情况。为了做到这一点,管理者必须 制定一个足够详细的进度表,以便监督项目进度,并
软件项目的进度安排是一项活动,它通过把工作 量分配给特定的软件工程任务,并规定完成各项任务 的起、止日期,从而将估算的工作量分布于计划好的 项目持续期内。
10.1 度量软件规模 10.2 工作量估算 10.3 进度计划 10.4 小结
10.1 度量软件规模
10.1.1 代码行技术是比较简单的定量估算软件规模的方 法。这种方法根据以往开发类似产品的经验和历史数 据,估计实现一个功能需要的源程序行数。当有以往 开发类似项目的历史数据可供参考时,用这种方法估 计出的数据还是比较准确的。把实现每个功能需要的 源程序行数累加起来,就得到实现整个软件需要的源
在工程网络中用箭头表示作业(例如,刮旧漆,刷 新漆,清理等),用圆圈表示事件(一项作业开始或结 束)。注意,事件仅仅是可以明确定义的时间点,它并 不消耗时间和资源。作业通常既消耗资源又需要持续 一定时间。图10.3是旧木板房刷漆工程的工程网络。 图中表示刮第1面墙上旧漆的作业开始于事件1,结束 于事件2。用开始事件和结束事件的编号标识一个作业, 因此“刮第1面墙上旧漆”是作业1—2
· · · · · · 应用系统的复杂程度。
当开发实时嵌入式软件时,典型值是P=2000;对 于电信和系统软件来说,P=10000;对于商业系统应用, P=28000。适用于当前项目的生产率参数,可以从历史
应该注意,软件方程式有两个独立的变量:①对 软件规模的估算值(用LOC表示);②以月或年为单位的
2
FP
(1) Albrecht & Gaffney
软件工程期末总结复习提纲完美版

《软件工程》复习大纲1软件与软件工程1. 1 软件的基本看法(比方,软件的定义、文档、软件的特点等)简单地说,软件由程序和文档两部分组成,一是机器能够执行的程序及相关的数据,二是机器不能够执行的文档,软件的两种宽泛定义:①软件是与计算机系统操作相关的程序,规程、规则及任何与之相关的文档和数据。
②软件是程序以及开发,使用和保护程序所需要的文档,包括机器运行所需要的各种程序及相关资料。
程序:为认识决某一问题而按早先设计的功能和性能要求执行的指令系列,也许说,用程序设计语言描绘的适合于计算机办理的语句序列。
数据:使程序能正常控制信息的数据构造。
文档:描绘程序、数据和系统开发以及使用的各种图文资料。
它拥有永久性并能供人或机器阅读。
软件的基本特点:·①计算机软件产品是一种逻辑产品部件而不是物理产品部件。
·②软件产品的生产主若是研制,是经过人们的智力活动,把知识与技术转变为信息的一种产品。
·③软件拥有“复杂性” ,其开发和运行常碰到计算机系统的限制。
而且,软件投入使用后,仍需要进行保护,这就带来软件保护复杂性的问题。
·④软件不存在磨损,物理上不会老化,但存在软件退化问题。
·⑤软件成本昂贵,其开发方式当前还没有完满挣出手工生产方式。
1. 2 软件危机的看法软件危机是指在软件开发和保护过程中所碰到的一系列严重问题。
【由于软件的规模越来越大,复杂度不断增加,软件需求量增大。
而软件开发过程是一种高密集度的脑力劳动,软件开发的模式及技术不能够适应软件发展的需要。
致使大量质量低质的软件涌向市场,有的开销大量人力财力,而在开发过程中就夭折。
】“软件危机”主要表现在两个方面:(1)软件产质量量低质,甚至开发过程就夭折;(2)软件生产率低,不能够满足需要。
1. 3 软件工程学的看法 (定义 )、研究的内容(三要素)1993 年 IEEE定义:(1)把系统化的、规范化的、可胸襟的路子应用于软件开发、运行和保护的过程,也就是把工程化应用于软件中;(2)研究( 1)中提到的路子。
软件工程期末复习

软件工程期末复习第一章概述1、软件工程方法学的三个要素:方法、工具和过程2、目前广泛使用的软件工程方法学是传统方法学(结构化范型)和面向对象方法学3、软件生命周期分成哪几个阶段?软件定义、软件开发、运行维护(软件维护)3个时期软件定义分为3各阶段:问题定义、可行性研究和需求分析软件开发:总体设计、详细设计、编码和单元测试、综合测试(系统设计和系统分析)4、典型的生命周期模型包括瀑布模型、快速原型模型、螺旋模型、喷泉模型、RUP等第二章可行性研究1、可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决3种解法的可行性:技术可行性、经济可行性、操作可行性2、什么是系统流程图?它包括哪些符号?基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件。
处理(能改变数据值或数据位置的加工或部件)输入输出(表示输入或输出)连接换页连接数据流3、什么是数据流图?它包括哪些符号?(符号:正方形、圆角矩形、开口矩形、箭头)4、数据流图为什么要分层?在一张数据流图中包含多少个元素合适?一般来说,如果一张数据流图中包含的处理多于9个,人们就难于领会它的含义,因此数据流图应该分层,并且在功能级数据流图细化后得到的处理超过9个时,应该采用画分图的方法,也就是把每个主要功能都细化为一张数据流分图,而原有的功能级数据流图用来描绘系统的整体逻辑概貌。
5、什么是数据字典?它的用途是什么?它包括哪四类元素的定义?(元素定义:数据流、数据流分量(即数据元素)、数据存储、处理)6、成本估计的三种技术代码行技术、任务分解技术、自动估计成本技术第三章需求分析1、需求分析的基本任务是什么?主要包括哪几项?(任务是深入描述软件的功能和性能,确定软件设计的约束和软件同其他系统元素的接口细节,定义软件的其他有效性需求,借助于当前系统的逻辑模型导出目标系统逻辑模型,解决目标系统“做什么”的问题)主要包括:确定对系统的综合要求、分析系统的数据要求、导出系统的逻辑模型、修正系统开发计划。
软件工程复习-课件整理(修改版)

英文版《软件工程》教学内容回顾2014下(下述问题仅是课件中的主要部分回顾,问题答案以课件为主要参考) Chapter01Chaoter02针对本章描述的每一种过程模型,讨论使用该模型的优点和缺点分别是什么?//在所有的软件开发过程模型中,你认为哪些过程给予你最大的灵活性以应对需求的变Chapter03如何计算软件项目活动图的关键路径?(习题2,3)冗余时间?最早和最迟开始时间软件项目组织的基本结构?(101页)Chapter04需求作为一个工程,其确定需求的过程是什么?(144页图4.1)什么是功能性需求和非功能性需求/质量需求?Chapter05什么是软件体系结构?设计模式?设计公约?设计?概念设计?技术设计?(223-224Chapter06OO有几个基本特征?如何使用高级语言实现这些基本特//征?了解并使用高级语言的熟悉用例图的组成和画法,用例的几个要素的含义,掌握用例图的实例解析方法(294页)熟悉类图中各个类之间的基本关系分类(303-305)熟悉类图等的组成和画法(300-308页)了解UML其他图的基本用途。
Chapter07Chapter08单元测试:检查集成的系统是否按照需求中指定的那样执行它的功能黑盒白盒方法的分类,各种覆盖方法等。
(课件和补充课件)考虑如何面对一个命题,设计和给出测试用例的问题。
(课件)------课堂练习的测试题目和讲解内容Chapter09功能测试的基本指导原则?(431)注意:每一章节的开头中,大的概念性问题是如何引入的?,其讨论请见课件。
试卷答题须知:1.软件工程课程出题覆盖范围比较广泛,考察手段有灵活和多样化特点。
2.有考察学生软件工程运用能力的题目存在,难题占的分数很少。
其他很多是送分的题目。
3.有难度的题目占极少部分,可以根据时间安排,先回答别的题目。
北邮软件工程硕士 复习资料 工程硕士辅导内容

1.1.3计算机工作原理
指令:让计算机完成某个操作所发出的指令 或命令。由操作码和操作数组成。一台计算 机的指令集合称为指令系统。 不同计算机指令系统也不同,目前包括复杂 指令集计算机(CISC:Complex Instruction Set Computer)和精简指令集计算机(RISC :Reduced Instruction Set Computer)两种。
26
工作界面: 都包含标题栏、菜单栏、工具栏、滚动条、 状态栏等。 Word还包含标尺区和文本区。 Excel还包含编辑栏、工作表、工作表标签、 标签拆分框等。 PowerPoint还包含大纲区、工作区、备注区 和视图切换区等。
27
Office中基本概念 文本与段落:文本输入过程中,只需要在一段文 字结束后按回车即可,成为一个段落。 模板:Word为常用文本类型(如简历、报告)创 建了参考的格式文档,称为模板。 向导:通过一系列对话框提示用户填充所需要的 内容,称为向导。 样式:为了使文章结构清晰,Word中设定了多个 级别的标题,称为样式,还可以自定义样式。 文档:用Word编辑好的文档内容进行保存,生成 一个.doc的文件,即可成为一个文档。 扩展名:用来表示文件类型的文件后缀名。
9
程序:一系列指令组成的有序集合称为程序。 计算机执行程序也就是执行这一系列指令。 当计算机执行某个程序时,首先将该程序的 指令调入内存,之后从内存中逐条读取指令 到CPU中执行。 CPU处理指令的过程为:取指令、分析指令、 执行指令。可以分为两个周期:取指周期和 执行周期。
10
1.1.4计算机软件系统
15
例如:将100.345转换成二进制 2 100 2 50 ……0 低 2 25 ……0 2 12 ……1 2 6 ……0 2 3 ……0 2 1 ……1 0 ……1 高 整数部分为:1100100
北邮软件工程

一、判断题(共8道小题,共40.0分)1.大部分软件开发项目首先设法满足一些企业的需要。
A.正确B.错误知识点: 第一章软件工程介绍学生答[A;]案:得分: [5] 试题分值: 5.0提示:2.在大多数软件系统中,变更是不容易的,除非该系统在设计改变初衷A.正确B.错误知识点: 第一章软件工程介绍学生答[A;]案:得分: [5] 试题分值: 5.0提示:3.所谓“新经济”的笼罩在90年代的商业和金融死亡,不再影响的企业和软件工程师的决定。
A.正确B.错误知识点: 第一章软件工程介绍学生答[B;]案:得分: [5] 试题分值: 5.0提示:4.一般来说,我们不能既弱化软件过程又创造高品质的最终产品。
A.正确B.错误知识点: 第二章过程综述学生答案:[A;]得分: [5] 试题分值:5.0提示:5.过程技术工具允许软件组织通过跳过不重要的活动来压缩时间表。
A.正确B.错误知识点: 第二章过程综述学生答案:[B;]得分: [5] 试题分值:5.0提示:6.在动态系统开发方法(方法DSDM)提出一个基于Pareto原则(这种情况下,如果交付整个应用系统需用100%时间.那么80%的应用系统可以用20%的时间交付的哲学观念)。
A.正确B.错误知识点: 第四章敏捷视角下的过程学生答案:[A;]得分: [5] 试题分值: 5.0提示:7.一个成功的测试是发现至少一个尚未被发现的错误。
A.正确B.错误知识点: 第五章软件工程实践综述学生答案:[A;]得分: [5] 试题分值: 5.0提示:8.客户可以直接观察设计的外部质量和内在质量两者之间的差异?A.正确B.错误知识点: 第五章软件工程实践综述学生答[B;]案:得分: [5] 试题分值: 5.0提示:9.二、单项选择题(共12道小题,共60.0分)1.大多数的软件仍然是客户化定制的,因为A.组件复用在软件世界里是普遍的B.可复用的组件太昂贵了以至于不能被使用C.在不使用其它人的组件的情况下,软件是容易构建的D.在许多应用领域,现成的通用软件组件不可用知识点: 第一章软件工程介绍学生答[D;]案:得分: [5] 试题分值: 5.0提示:2.下面那个是团队软件过程的目标?A.加速软件过程改进B.允许训练有素的专业人士更好的时间管理C.建立自我指导软件团队D.显示经理如何降低成本和保持质量E.b和c知识点: 第二章过程综述学生答[E;]案:得分: [5] 试题分 5.0值:提示:3.下列选项哪一个不是软件工程层次所包含的?A.过程B.制造C.方法D.工具知识点: 第二章过程综述学生答案:[B;]得分: [5] 试题分值:5.0提示:4.演化软件过程模型A.在本质上是迭代的B.可以很容易地适应产品需求的变化C.一般不生产一次性系统D.以上所有知识点: 第三章过程模型学生答案:[D;]得分: [5] 试题分值:5.0提示:5.(错误)快速应用程序开发模式(RAD)是A.基于组件开发模式的另一个名字B.一个有用的方式,当用户不能很清楚的定义需求的时候C.线性顺序模型的高速变体。
北邮软件工程课件第15章_统一建模语言UML

15.1.4 UML UML是一种建模语言,是一种标准的表示方法, 而不是一种完整的方法学。因此,人们可以用各种方 法使用UML,无论采用何种方法,它们的基础都是 UML的图,这就是UML的最终用途——为不同领域的
(3) 可以在图中使用的概念(例如,用例、类、对象、 消息和关系),统称为模型元素。模型元素在图中用相 应的视图元素(图形符号)表示。一个模型元素可以用 在多个不同的图中,不管怎样使用,它总是具有相同
(4) UML语言利用通用机制为图附加一些额外的信息, 比如,可以在“笔记”中书写注释,或用“标签值” 说明模型元素的性质等。此外,它还提供扩展机制(例 如,版类、标签值、约束),使UML能够适应一种特
(1) 为获取用例首先要找出系统的执行者,可以通过
请系统的用户回答一些问题的办法来发现执行者。 (2) 事实上,从识别执行者起获取用例的过程就已经
开始了。一旦识别出了执行者,就可以对每个执行者 提出问题以获取用例。
15.2.2 1. 类图描述类和类与类之间的静态关系,它是从静 态角度表示系统的,因此类图属于一种静态模型。类 图是构建其他图的基础,没有类图就没有状态图、协 作图等其他图,也就无法表示系统其他方面的特性。 (1) (2)
15.1.3 UML 1. 用例图(use-case diagram) 用例是对系统提供的功能(即系统的具体用法)的 描述。用例图从用户的角度描述系统功能,并指出各
2. 静态图(static diagram) 这类图描述系统的静态结构,属于这类图的有类 图(class diagram)和对象图(object diagram)。类图 不仅定义系统中的类,表示类与类之间的关系(例如, 关联、依赖、泛化和细化等关系),也表示类的内部结 构(类的属性和操作)。类图描述的是一种静态关系,
北邮软件工程课件第1章 软件工程.ppt

总之,为了消除软件危机,既要有技术措施(方法 和工具),又要有必要的组织管理措施。软件工程正是 从管理和技术两方面研究如何更好地开发和维护计算 机软件的一门新兴学科。
1.2 软件工程
1.2.1 什么是软件工程 概括地说,软件工程是指导计算机软件开发和维
护的工程学科。采用工程的概念、原理、技术和方法 来开发与维护软件,把经过时间考验而证明正确的管 理技术和当前能够得到的最好的技术方法结合起来, 以经济地开发出高质量的软件并有效地维护它,这就 是软件工程。
传统方法学也称为生命周期方法学或结构化范型。
当软件规模较大,或者对软件的需求是模糊的或随时间变化 的时候,使用结构化范型开发软件往往不成功;此外,使用传统 方法学开发出的软件,维护起来通常都很困难。概括地说,面向 对象方法具有下述四个要点。
· 把对象(Object)作为融合了数据及在数据上的操作行为的 统一的软件构件。面向对象程序是由对象组成的,程序中任何元 素都是对象,复杂对象由比较简单的对象组合而成。
用面向对象方法学开发软件的过程,是一个主动 地多次反复迭代的演化过程。面向对象方法在概念和 表示方法上的一致性,保证了在各项开发活动之间的 平滑(无缝)过渡。面向对象方法普遍进行的对象分类 过程,支持从特殊到一般的归纳思维过程;通过建立 类等级而获得的继承性,支持从一般到特殊的演绎思 维过程。
正确运用面向对象方法学开发软件,则最终的软 件产品由许多较小的基本上独立的对象组成,而且大 多数对象都与现实世界中的实体相对应,因此,降低 了软件产品的复杂性,提高了软件产品的可理解性, 简化了软件的开发和维护工作。由于对象是相对独立 的实体,容易在以后的软件产品中重复使用,因此, 面向对象范型的另一个重要优点是促进了软件重用。 面用对象方法特有的继承性,进一步提高了面向对象 软件的可重用性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程期末复习-北邮1、软件是一种(逻辑实体),而不是具体的物理实体,因而它具有抽象性。
2、需求分析研究的对象是软件项目的(用户/客户/功能+性能/功能)要求。
3、需求分析的任务就是借助于当前系统的(逻辑模型)导出目标系统的(逻辑模型),解决目标系统的(“做什么”)的问题。
4、结构化需求分析方法由对软件问题的(信息/数据)和(功能)的系统分析过程及其表示方法组成。
5、确认测试包括:有效性测试和(软件配置审查,文档审查)。
6、白盒测试的逻辑覆盖方法包括语句覆盖、(判定/判断覆盖)、条件覆盖、(判定/判断-条件覆盖)、条件组合覆盖、(路径覆盖/路径测试/基本路径测试)。
注:次序无关7、为了提高模块的独立性,模块之间最好是(数据耦合)为了提高模块的独立性,模块最好是(功能内聚)8、下列关于功能性注释不正确的说法是( B )A. 功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态B. 注释用来说明程序段,需要在每一行都要加注释C. 可使用空行或缩进,以便很容易区分注释和程序D. 修改程序也应修改注释9、在UML状态图中,与转移上的事件联系在一起的瞬时操作是(动作)10、测试的关键问题是(如何选择测试用例)11、以下说法不正确的是(A)。
A.原型思想是在研究概要设计阶段的方法和技术中产生的。
B.探索型和实验型原型采用的是抛弃策略。
C.进化型原型采用的是追加策略。
D.快速原型方法是利用原型辅助软件开发的一种思想。
12、需求规格说明书的作用不包括(C)A.软件验收的依据B.用户与开发人员对软件要做什么的共同理解C.软件可行性研究的依据D.软件设计的依据13、软件结构图中,模块框之间若有直线连接,表示它们之间存在(调用关系)14、下面关于DFD中的加工的描述正确的是( C )A. 每个加工只能有一个输入流和一个输出流B. 每个加工最多有一个输入流,可以有多个输出流C. 每个加工至少有一个输入流和一个输出流D. 每个加工都是对输入流进行变换,得到输出流15、在基于数据库的信息管理系统中,数据库概念模型的设计对应于系统开发的(概要设计)阶段。
16、下列关于效率的说法不正确的是( B )A. 效率是一个性能要求,其目标应该在需求分析时给出B. 提高程序效率的根本途径在于采用高效的算法C. 效率主要指处理机时间和存储器容量两个方面D. 程序的效率与程序的算法有关17、某企业的软件系统希望从Windows平台移植到Linux平台上,软件开发厂商为了满足企业的要求进行的维护属于 (适应性维护)18、软件测试的目的是(为了发现程序中的错误)19、用白盒测试法设计测试用例的方法包括(基本路径测试)20、导致软件危机的最主要原因是(开发方法和技术不合理)21、下面关于软件生命周期模型的描述正确的是( C)A.软件生命周期是指从软件需求分析到上线运行的全过程B.原型方法只能用于软件的需求分析阶段C.按照瀑布模型开发系统时,必须完成需求分析才能开始系统设计D.增量模型又叫做迭代模型22、(UML)是面向对象技术领域内占主导地位的标准建模语言。
23、模块的作用范围应在控制范围之内,下面哪一种做法是不当的(C)。
A. 将判定所在模块合并到父模块中,使判定处于较高的层次B. 将受到判定影响的模块下移到控制范围内C. 将判定所在模块下移到最低层次D. 将判定上移到层次中较高的位置24、软件的正确性是指(软件产品达到预期的功能)25、软件测试内容不包括( D )A. 对需求规格说明的确认B. 对代码进行桌前检查C. 对性能进行测试D. 对代码进行调试26、某企业的软件系统投入运行一段时间后出现响应速度慢的情况,软件开发厂商为了适应企业的要求,对软件性能进行了优化,提高了运行速度,企业进行的维护工作属于( B )A. 适应性维护B. 完善性维护C. 改正性维护D. 预防性维护27、OOA所要完成的工作不包括( D )A.建立用例模型B.建立领域模型C.建立操作契约D.定义完善的类的属性和操作28、白盒测试法中最强的逻辑覆盖是(路径覆盖)29、下面哪一个不是数据词典的构成之一( C )。
A. 数据流词条描述B. 数据文件词条描述C. 数据流层次词条描述D. 加工逻辑词条描述30、OOA所要完成的工作不包括( D )A.建立用例模型B.建立领域模型C.建立操作契约D.定义完善的类的属性和操作31、结构化程序设计采用的三种基本控制结构是(顺序、选择、重复)32、下面哪一个不属于UML中的图( D )。
A. 类图B. 状态图C. 构件图D. 数据流图33、如果由于某种原因不能修改已有的用例文本,使用以下哪种关系可以解决这个问题( C)。
A. 包含关系B. 继承关系C. 扩展关系D. 聚合关系34、下面哪种生命周期模型本身不是一个完整的方法论(D)。
A. 螺旋模型B. 喷泉模型C. RUPD. 敏捷模型35.软件的可行性研究中不包括(D)。
A. 技术可行性B. 法律可行性C. 经济可行性D. 政治可行性36.对象实现了数据和操作的结合,使数据和操作(C)于对象的统一体中。
A. 聚合B. 组合C. 封装D. 抽象37.面向对象设计模型中不包括(A)A、操作契约B、类的方法C、用例实现的顺序图D、对象的状态图判断:正确:1.用例代表的视角色的目标,而不是达到角色目标过程中的一个步骤2.用例模型是用来说明系统应该具备的功能描述。
3.软件维护的周期远远大于软件开发的周期。
4.在进行软件类设计的过程中可以应用GRASP中的“信息专家”模式决定类中的方法。
5.需求分析需要对系统的数据、功能和行为进行建模。
6.采用黑盒测试系统功能时,完全不需要了解程序内部结构。
7.SRP原则阐述的是对于一个类而言,应该只有一个引起它变化的原因。
8.面向对象设计中最关键的活动是找到对象并给对象分配职责。
9.类是具有相同属性、操作、关系和语义的对象集合。
10.软件测试目的在于发现错误。
11.领域模型就是用来描述业务领域重要概念及其相互关系的模型,一般用UML的类图来表达。
12.除了分析阶段用于明确需求以外,原型方法也可以用于软件工程的其它阶段。
13.原型方法既可以同瀑布模型结合也可以与UP模型结合使用。
14.面向对象设计中最关键的活动是找到对象并给对象分配职责。
15.如果对象A包含或聚合对象B,那么A拥有创建B的职责。
16.错误:1.数据词典包括数据流词条、数据元素词条、数据文件词条以及数据加工逻辑词条四个部分。
2.状态图之间不能够发送消息。
3.软件测试只需要测试计划、测试用例和测试工具就可以进行。
4.项目开发计划不属于软件开发类文档。
5.软件是一种逻辑实体,由可执行代码构成。
6.软件质量主要通过软件的功能测试来保证。
7.UML中顺序图和协作图不仅能用来表示对象之间的动态行为,也能表示对象内部的状态变化。
8.单元测试中只能使用白盒测试方法。
9.软件能力成熟度模型是衡量软件项目管理水平的标准。
10.领域模型是面向对象分析和设计的一个组成部分,因而它也是待构建的软件模型的一个部分。
11.在顺序图中,一个对象A发送了一条创建另一个对象B的消息,那么表明对象B具备了处理该条消息的职责。
12.螺旋模型最大的特点是加入了对软件成本的控制。
13.好的软件设计是指按照该设计方案能够实现需求定义的系统功能。
14.软件测试的目的证明提交的软件是正确的。
15.A is a B说明A与B之间存在聚合关系。
16.软件是就是程序,程序就是软件。
17.螺旋模型最大的特点是加入了对软件成本的控制。
18.软件模块划分得越小,总的软件开发成本就越小。
19.面向对象分析(OOA)和面向对象设计(OOD)分别采用不同的概念和表示法。
20.白盒测试不能应用穷举法,黑盒测试可以应用。
21.在项目面临进度延期的情况下,总是可以通过增加人力在后期跟上进度。
22.缺乏处理大型软件项目的经验,是产生软件危机的唯一原因。
23.类图用来表示系统中类以及类与类之间的关系,它是对系统动态结构的描述。
24.UML是一种可视化的程序设计语言。
25.用例模型中,创建系统操作契约是必须的。
26.外观控制器不需要实现系统操作,但用例控制器需要。
1.软件的定义:软件是计算机程序、规程,以及运行计算机系统可能需要的相关文档和数据软件是包括程序、数据及其相关文档的完整集合2.软件的特点:软件是一种具有抽象的逻辑实体软件的开发是一种逻辑思维成熟的过程,而无明显的制造过程软件没有磨损和老化问题,但存在软件退化问题软件的开发依然很原始软件是高度复杂的逻辑体3.软件的分类:系统软件、应用软件、中间件软件按照服务对象范围划分:通用软件、定制软件、可配置软件按照软件使用方式划分:单机软件、服务器软件、客户端软件按照软件功能划分:办公软件、网络软件、系统工具软件、系统安全软件、多媒体软件、设计与开发软件、游戏软件、家庭应用软件、行业软件4.软件危机:由于落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象5.软件危机产生的原因:软件本身存在复杂性,软件开发和维护所使用的方法不合理6.软件危机解决途径:软件工程学,即采用工程化的方法从事软件系统的研究和维护。
7.软件工程定义:软件工程是为了经济地获得能够在实际机器上高效运行的可靠软件而建立和使用的一系列好的工程化原则。
运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。
软件工程学是为在成本限额以内按时完成开发和修改软件产品所需的系统生产和维护的技术和管理的学科。
IEEE计算机学会将“软件工程”定义为:⑴应用系统化的、规范化的、定量的方法来开发、运行和维护软件,即:将工程应用到软件;⑵对⑴中各种方法的研究。
8.软件工程三要素:方法、工具、过程9.软件工程的目标:生产具有正确性、可用性以及开销适宜的软件产品。
10.软件工程的最终目的:摆脱手工生产软件的状况,逐步实现软件研制和维护的自动化。
11.软件工程研究的内容:软件开发技术:软件开发方法学、开发过程模型、开发工具、软件工程环境软件工程管理:软件管理学、软件工程经济学、软件心理学等内容12.软件工程的原则:选取适宜的开发模型、采用合适的设计方法、提供高质量的工程支持力度、重视开发过程的管理13.软件工程管理的基本原理:用分阶段的生命周期计划严格管理、坚持进行阶段评审、实行严格的产品控制、采用现代程序设计技术、结果应能清楚地审查、开发小组的人员应少而精、承认不断改进软件工程实践的必要性14.软件工程的一般原理:抽象、信息隐藏、模块化、局部化、确定性、一致性、完备性、可验证性15.工程项目的三个基本目标:合理的进度、有限的经费、一定的质量16.软件工程过程:为了获得软件产品,在软件工具的支持下由软件工程师完成的一系列软件工程活动。