《现代软件工程》作业.
- 格式:doc
- 大小:50.00 KB
- 文档页数:5
习题二参考答案一. 填空题1.值得去开发, 其中的问题能否解决,需求分析, 设计2. 技术, 经济, 社会3. 研究正在运行的系统, 建立新系统的高层逻辑模型4. 所建议系统的技术可行性分析, 所建议系统的经济可行性分析, 社会因素可行性分析5. 经济角度开发成本比较和权衡二、选择题1. A2. B【解析】:经济可行性是从开发费用和软件回报的角度来分析开发该软件系统是否可行。
技术可行性是从软件实现的功能、用户要求的软件性能、是否有技术难题等方面等考虑开发该软件的可行性问题。
操作可行性判断系统的操作方式在该用户组织内是否可行,法律可行性对方在考虑开发的软件系统可能会涉及的任何侵犯、妨碍、责任等问题做出决定。
所以答案为B。
3. B4. D5. D【解析】:在软件开发中,开发人员的交流似乎非常主要的,而一个开发人员进入一个新的软件系统做开发,需要相当长的一个阶段以适应该软件的开发,这主要是由于新的人员需要一定时间的培训以熟悉该软件系统的开发状况及该软件的需求分析、定义和相关已经生成的文档,以便在软件开发中与老开发人员的交流和通信,一推动软件开发前进。
所以答案为D。
6. D【解析】:软件的计划主要是根据软件开发的要求、软件系统的规模等,对软件开发的各种资源(包括软硬见资源及开发人员)进行合理的规划,以便在开发过程中得到合理的调度,从而使软件开发最充分地利用资源,以在最短的时间内取得最大的经济效益;软件工程经济学的任务是对软件开发的成本、效益等进行分析和估算;软件工程管理学的任务是有效组织和管理软件开发,软件工程开发技术的任务之一是设计和测试软件系统。
所以答案是D。
7. A 8. A 9. C 10. D三、简答题1.可行性研究首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制。
把它们清楚地列举出来。
然后,分析员进行简要的需求分析,经过压缩的设计,探索出若干种可供选择的主要解决方法。
软件工程三、四、五次作业(精选五篇)第一篇:软件工程三、四、五次作业第三次作业:1、已知某定货系统的需求分析阶段得到的DFD图如下,请按SD 方法的设计步骤画出其程序结构图。
2、某校的课酬计算方案如下:(l)基本课酬为每节课10元;(2)如果班级人数超过40人,课酬增加:基本课酬×0.1;(3)如果班级人数超过60人,课酬增加:基本课酬×0.2;(4)如果教师是副教授,课酬增加:基本课酬×0.1;(5)如果教师是教授,课酬增加:基本课酬×0.2;(6)讲师,课酬不增加;(7)助教,课酬减少:基本课酬×0.1。
请用判定表表达上述计算方案。
第四次作业:1、右图给出的程序流程图代表一个非结构化的程序,请问:(1)为什么说它是非结构化的?(2)设计一个等价的结构化程序。
(3)在(2)题的设计中你使用附加的标志变量flag了吗?若没用,请再设计一个使用flag的程序;若用了,再设计一个不用flag的程序2、一个正文文件由若干个记录组成,每条记录是一个字符串。
要求统计每条记录中大写字母、小写字符以及非字母字符的个数,要求输出数据格式是:每复制一行输入字符串后,输出这个字符串中的大写字母个数、小写字母个数、非字母字符个数。
用Jackson方法,按照步骤,导出该系统的程序结构图。
开始FTgqTpF停止第五次作业1、设计下列伪码程序的语句覆盖和路径覆盖测试用例:START INPUT(A, B, C)IF A>5THEN//判定表达式1X=10ELSEX=1 END IF IFB>10 THEN//判定表达式2Y=20 ELSEY=2 END IF IF C>15THEN//判定表达式3Z=30 ELSEZ=3 END IF PRINT(X, Y, Z)STOP3.假设你的任务是对一个已有的软件做重大修改,而且只允许你从下述文档中选取两份:(a)程序的规格说明;(b)程序的详细设计结果(自然语言描述加上某种设计工具表示);(c)源程序清单(其中有适当数量的注解)。
软件工程大作业题目1.英汉小词典基本要求:实现类似“金山词霸”的英汉双向词典。
输入英文,显示词性、解释、音标和衍生词等。
输入中文,显示拼音和英文。
同时显示单词的索引,无需输入,只需点击就可查询。
高级要求:屏幕拾词2.围棋围棋是一种古老的运动,现在计算机大面积普及,围棋电子化也是一种大势所趋。
“围棋对弈”就是希望开发一个模拟现实中围棋对弈的软件平台,供人使用。
基本要求:实现围棋下子、提子、胜负判定功能,规则参照围棋界通用规则。
3.人机对弈(五子棋)基本要求:开发五子棋对弈的软件平台,进行人机对弈,实现下子和胜负判定功能,规则参照实际五子棋的通用规则。
4.游戏(挖地雷)Windows系统提供一个“挖地雷”的游戏,并具有高、中、低三个级别供用户选择。
用户按“开始”,系统进行计时,用户开始“挖”地雷,当把全部地雷都挖出,则获胜;只要碰到一个地雷就失败,只能从头开始。
地雷数目、分布位置随机产生,本游戏保存所有获胜盘的日期、开始和结束时间、地雷数。
游戏规则遵循Windows系统所提供的“挖地雷”游戏的规则。
5.计算器基本要求:Windows操作系统提供一个计算器,现要求开发一个能够完成Windows系统提供的计算器的所有功能。
高级要求:增强输入框的功能:用户可以在输入功能框中输入任何合法、非法的运算四则运算表达式,如果是合法表达式,计算器自动计算并显示结果,如果非法显示出错信息。
说明:1 合法的表达式:36.789*((23+68*45)-27/3747);2 非法的表达式:36.789*((23+68*45)-27/3747));67#67(3-2);6.源代码行数计数器基本要求:用户选择多个C或C++的程序文件,本软件能计算这些文件的源代码行数、空行行数和注解行数,计算结果显示并可保存在文件中。
高级要求:对C或C++程序进行美化,即按规则缩进,输出美化后的源程序文件。
7.画图板基本要求:实现MS Windows中“画图”软件的简单功能,包括用彩笔画直线、画矩形、画圆、用颜色填充一个区域、橡皮擦、颜色盒。
1.填空题(1)软件产品在交付使用之前一般要经过4步测试: 、、、。
(2)在单元测试中,测试一个模块是,需要设计。
(3)动态测试指通过发现错误。
对软件产品进行动态测试时,使用法。
静态测试是指不在机器上运行,而是采用和的手段对程序进行检测。
(4)白盒测试是测试,黑盒测试是测试。
(5)用白盒技术设计测试用例时,追求程序逻辑覆盖程度的几种常用覆盖技术为、、、、和。
(6)黑盒法把测试对象看成一个测试人员完全不考虑程序的和。
只在软件的处进行测试。
(7)采用黑盒技术设计测试用例的方法一般有、、、等四种。
(8)使用边界值分析方法设计测试用例时一般与结合起来。
但它不是从一个等价类中任选一个例子作为代表,而是将测试边界情况作为重点目标,选取、或边界值的测试数据。
(9)用等价类划分法设计测试用例时,如果被测试程序的某个输入条件规定了取值范围,则可确定一个合理的等价类和。
(10)软件测试的目的是,调试的目的是并,因此调试也成为。
2.选择题(1)软件测试的主要特点是()A.软件测试的开销大B.软件测试要依靠工具C.软件不能进行“穷举”测试D.软件测试要依靠人工(2)整体测试又称为组装测试,其主要内容包括()A.对整体的性能进行测试B.用白盒法设计测试用例进行测试C.确定组装策略和次序D.对组装过程进行测试(3)渐增式是将模块一个一个地连入系统,每连入一个模块()。
A.只需要对新连入的模块进行测试B.都不需要再进行测试C.要对新子系统进行测试D.都要进行回归测试(4)静态测试是以人工的、非形式化的方法对程序进行分析和测试。
常用的方法有()A.运行程序并分析运行结果B.桌前检查与代码会审C.数据流分析图D.调用图(5)集成过程的()A.按照模块的大小集成B.尽早测试包含I/O的模块C.尽早测试关键模块D.按照“输入-处理-输出”的次序进行集成(6)关于白盒法覆盖程度的论述中正确的是()A.语句覆盖:选择测试用例使程序中每条语句至少被执行一次B.判定覆盖: 选择测试用例使程序中每个判定至少获得一次“真”值和一次“假”值C.条件覆盖:选择测试用例使每个条件都满足D.条件组合覆盖:将所有的判定条件都组合起来执行(7)软件测试的基本原则是()A.关键是注重选择高效的测试用例B.选择尽可能多的测试用例C.尽量不由程序设计者进行测试D.充分注意测试中的群集现象(8)等价分类法的关键是()A.确定等价类的边界条件B.按照用例来确定等价类C.划分等价类D.确定系统中相同和不同的部分(9)调试的目的是为了()A.证明软件符合设计要求B.发现软件中的错误和缺陷C.改善软件的功能和性能D.发掘软件的潜在能力(10)①实现阶段进行,它所依据的功能模块描述和内部细节及测试方案就在②阶段完成,目的是发现编程错误。
1.填空题(1在进行可行性研究和计划以后,如果确认开发一个新的软件系统是必要的而且是可能的,那么就进入阶段。
(2需求分析的基本任务是要准确地定义,为了满足用户的需要,回答系统必须的问题。
(3在需求分析阶段,首先进行问题识别,即双方确定对问题的综合需求,这些需求包括、、、。
另外还有可靠性、安全性、保密性、可维护性等方面的需求。
(4需求分析的困难主要表现在4个方面:问题的复杂性、、、需求易变性。
(5数据流图有4个基本成分:、、、。
(6数据词典中的加工逻辑主要描述该加工的,即实现加工的策略,而不是实现加工的细节,它描述如何把输入数据流变量变换为输出数据流的。
(7SA方法利用图形等半形式化的描述方式表达需求,简明易懂,用它们形成需求说明书的主要部分。
这些描述工具是、、、、。
(8数据词典就是用来定义数据流图中的的。
它和数据流图共同构成了系统的,是的主要组成部分。
(9加工逻辑也称“小说明”,常用的加工逻辑的描述工具有:、、。
三种描述加工逻辑的工具各有优缺点,对于顺序执行和循环执行的动作,用描述。
对于存在多个条件复杂的判断问题,用和。
(10传统的SA方法主要用于的问题,主要工具DFD图体现了系统的功能,但它仅是一个,没有处理的顺序,即。
2.选择题(1需求分析是(A.要回答“软件必须做什么”B.可概括为“理解、分解、表达”六个字C.要求编写需求规格说明书D.以上都对(2进行需求分析可使用多种工具,但(是不适用的。
A.数据流图B.判定表C.PAD图D.数据词典(3需求分析阶段研究的对象是软件项目的(。
A.用户需求B.合理要求C.模糊要求D.以上都对(4数据词典的任务是对于数据流图中出现的所有被命名的数据元素,在数据字典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的( .A.对象B.解释C.符号D.描述(5在结构化分析方法中,用以表达系统内部数据的运行情况工具有(。
A.数据流图B.数据词典C.结构化英语D.判定树与判定表(6在软件需求分析中,开发人员要从用户那里最重要的问题是(A.要让软件做什么B.要给该软件提供哪些资源C.要求软件工作效率怎样D.要让软件具有何种结构(7需求分析的最终结果是产生(A.项目开发计划B.可行性分析报告C.需求规格说明书D.设计说明书(8SA方法用DFD图描述(A.系统的控制流图B.系统的数据结构C.系统的基本加工D.系统的功能(9需求分析阶段不适于描述加工逻辑的工具是(A.结构化语言B.判定表C.判定树D. 流程图(10SA方法的基本思想是(A.自底向上逐步抽象B.自底向上逐步分解C.自顶向下逐步分解D.自顶向下逐步抽象3.简答题(1需求分析阶段的基本任务是什么?需求分析的难点主要表现在哪几个方面?(2画数据流图的步骤是什么?画数据流图应该注意什么事项?(3描述加工逻辑有哪些工具?(4什么是结构化分析方法?该方法使用什么描述工具?具有什么样的优缺点?(5传统的软件开发模型的缺陷是什么?原型化方法的类型有哪些?原型化开发模型的主要优点是什么?。
现代软件工程(第一讲) 现代软件工程概述现代软件工程(第一讲) 现代软件工程概述1. 现代软件工程的定义现代软件工程是指应用工程原理和方法来开发和维护高质量软件的一门学科。
通过采用系统性的、规范化的和可量化的方法,现代软件工程致力于理解软件开发的原则和过程,以便提高软件的开发质量、效率和维护性。
2. 现代软件工程的特点现代软件工程具有以下几个特点:软件生命周期管理:以系统性的方式管理软件从需求分析到维护的全过程。
高质量标准:通过严格的开发和流程,保证软件的高质量。
团队协作:软件开发需要多个人员协作完成,需要良好的团队合作能力。
不断学习改进:软件工程在不断发展,软件开发人员需要不断学习新的方法和工具,以提升开发效率和质量。
3. 现代软件工程的重要性现代软件工程在当代社会中有着重要的地位和作用:软件应用广泛:软件已经渗透到我们生活的方方面面,如方式应用、电商平台、社交媒体等。
保证软件质量:软件质量关乎用户的体验和数据的安全,现代软件工程能够提供一套规范的方法来保证软件的质量。
提高开发效率:现代软件工程提供了丰富的开发工具和方法,能够提高开发效率,减少开发时间和成本。
实现创新和竞争力:现代软件工程的方法和工具能够帮助企业实现创新,提升竞争力。
4. 现代软件工程的挑战现代软件工程也面临一些挑战:技术更新快:软件技术不断更新,开发人员需要不断学习新的技术和工具。
复杂性增加:软件系统越来越复杂,开发人员需要能够处理和管理复杂系统。
资源管理困难:软件开发需要投入大量的人力、物力和时间,如何有效管理和利用资源是一个挑战。
,现代软件工程是一门关注软件开发全过程的学科,通过规范化的方法和工具,提高软件开发质量和效率,并应对技术更新和复杂性增加等挑战,以保证软件的质量和可靠性。
《现代软件工程》作业作业一:(一)名词解释1.软件危机2.数据流图3.数据字典4.变换流5.事务流6.耦合性7.内聚性8.程序设计语言(PDL)(二)填空题1. 在信息处理和计算机领域内,一般认为软件是_____、_____ 和_____ 。
2. 数据流图的基本组成部分有_____、_____、_____、_____。
3. 数据流图和数据字典共同构成了系统的_____模型,是需求规格说明书的主要组成部分。
4. 数据流图一般可分为_____和_____两类。
5. 结构化设计方法中,要把数据流图转换成软件结构,若某个加工将它的输入流分离成许多发散的数据流,形成许多加工路径,并根据输入的值选择其中一个路径来执行,这种特征的DFD称为_____数据流图。
6. PDL是描述处理过程“_____ ”的细节,结构化语言是描述加工“_____ ”的。
(三)选择题1. 软件工程的概念是哪年提出的( )。
A. 1988B. 1968C. 1948D. 19282. 影响输入输出风格的因素不包括( )。
A. 数据状态B. 通信环境C. 用户经验D. 输入/输出设备3. 符合数据说明顺序规范的是( )。
A. 全程量说明、局部量说明、类型说明、常量说明B. 全程量说明、局部量说明、常量说明、类型说明C. 类型说明、常量说明、全程量说明、局部量说明D. 常量说明、类型说明、全程量说明、局部量说明4. 瀑布模型的关键不足在于( )。
A. 过于简单B. 各个阶段需要进行评审C. 过于灵活D. 不能适应需求的动态变更5. 以下哪一项不是软件危机的表现形式( )。
A. 开发的软件不满足用户需要B. 开发的软件可维护性差C. 开发的软件价格便宜D. 开发的软件可靠性差6. 软件可行性研究实质上是要进行一次( )需求分析、设计过程。
A. 简化、压缩的B. 详细的C. 彻底的D. 深入的7. 结构化设计是一种面向( )的设计方法。
A. 数据流B. 模块C. 数据结构D. 程序8. 与确认测试阶段有关的文档是( )。
A. 需求规格说明书B. 概要设计说明书C. 详细设计说明书D. 源程序9. 软件开发的需求活动,其主要任务是()。
A. 给出软件解决方案B. 给出系统模块结构C. 定义模块算法D. 定义需求并建立系统模型10. 需求分析阶段的研究对象是()。
A. 用户要求B. 分析员要求C. 系统要求D. 软硬件要求11. 可自动生成程序的详细设计方法是( )。
A. 流程图B. IPO图C. 盒图D. PAD图(四)简答题1. 简述瀑布模型的阶段划分和各阶段的主要任务以及瀑布模型存在的问题。
2. 简述SA方法的优缺点。
3. 变换分析设计与事务分析设计有什么区别?简述其设计步骤。
(五)应用题某单位住房分配方案如下:所有住户50平方米以内每平方米1000元,超过50平方米后:在本人住房标准面积以内每平方米1500元,其中住房标准为:教授105平方米,副教授90平方米,讲师75平方米;标准面积以外每平方米4000元。
请用判定表和判定树表示各条件组合与费用之间的关系。
作业二:(一)名词解释1. 软件测试2. 语句覆盖3. 结构化维护4. 软件可维护性5. COCOMO估算模型6. 动态模型7. 功能模型8. 数据流图9. 事件跟踪图10.状态图(二)填空题1. 渐增式测试有三种不同的组装模块的方法:_____、_____和_____。
2. 自顶向下渐增式测试不需要编写_____模块,只需要编写_____模块,其步骤是从_____模块开始,沿着被测程序的_____的控制路径逐步向下测试,它有两种组合策略:_____和_____。
3. 自底向上渐增式测试不需要编写_____模块,只需要编写_____模块。
4. 软件配置审查的任务是检查软件的所有文档资料的_____和_____。
5. 调试也称_____,是在成功的测试之后才开始进行,其目的是确定错误的_____和_____,并改正错误。
6. 调试技术包括_____、_____、_____和_____。
7. 回溯法调试是从_____出发,而归纳法调试是从_____入手。
8. 预防性维护指为了提高软件_____和_____而对软件做出的修改。
9. 为了有效地进行软件维护,应事先开始_____,建立维护机构,这种维护机构通常以_____形式出现。
10. 软件工程管理中,控制包括_____、_____、_____和_____。
11. 在类的层次结构中,通常上层类称为______或______,下层类称为______。
12. 对象之间进行通信的构造叫做______。
在对象的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息。
接收消息的对象经过______,然后给予______,这种通信机制称为______。
13. 类中操作的______叫做方法,一个方法有______、______、______。
当一个对象接收一条消息后,它所包含的方法决定对象______。
14. 面向对象的特征是______、______、______、______。
15. 抽象是指强调实体的______、______,忽略一些无关紧要的属性。
类实现了对象的______和______的抽象,它是对象的共性的抽象。
16. 封装性是指所有软件部件内部都有明确的______以及清楚的______。
每个软件部件都有友好的______,软件部件的______与______分离。
17. 注释说明了_____的功能,它分为_____和_____。
(三)选择题1. 就软件产品的特点,以下说法错误的是( )。
A. 软件具有高度抽象性,软件及软件生产过程具有不可见性B. 同一功能软件的多样性,软件生产过程中的易错性C. 软件在开发和维护过程中的不变性D. 不同开发者之间思维碰撞的易发性2. 不属于软件项目进度安排的主要方法是( )。
A. 工程网络图B. Gantt图C. 任务资源表D. IFD图3. 以下说法错误的是( )。
A. 文档仅仅描述和规定了软件的使用范围及相关的操作命令B. 文档也是软件产品的一部分,没有文档的软件就不成软件C. 软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量D. 高质量文档对于发挥软件产品的效益有着重要的意义4. 在软件项目管理过程中作为软件开发工作的第一步的一个关键活动是( )。
A. 编写规格说明书B. 制定测试计划C. 编写需求说明书D. 制定项目计划5. 一个项目是否开发,从经济上来说是否可行,归根结底是取决于( )。
A. 成本估算B. 项目计划C. 工程管理D. 工程网络图6. 以下说法错误的是( )。
A. 软件配置管理简称SCIB. 软件配置项是配置管理的基本单位C. 软件配置实际上是一动态的概念D. 软件工程过程中某一阶段的变更均要引起软件配置的变更7. 软件工程比其他工程管理更为( )。
A. 容易B. 困难C. 迅速D. 迟缓8. 应用执行对象的操作可以改变该对象的( )。
A. 属性B. 功能C. 行为D. 数据9. 通过执行对象的操作改变该对象的属性,但它必须通过( )的传递。
A. 接口B. 消息C. 信息D. 操作10. 在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有( )。
A. 隐藏复杂性B. 信息隐蔽C. 经常类的复用D. 类的开发11. 软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程叫( )。
A. 生存期B. 面向对象设计C. 面向对象程序设计D. 面向对象分析12. 面向对象的主要特征除对象惟一性、封装、继承外,还有( )。
A. 多态性B. 完整性C. 可移植性D. 兼容性13. 在考察系统的一些涉及时序和改变的状况时,要用动态模型来表示。
动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是( )。
A. 数据流图B. 状态图C. 系统结构图D. 时序图14. 面说法正确的是( )。
A. 经过测试没有发现错误说明程序正确B. 测试的目标是为了证明程序没有错误C. 成功的测试是发现了迄今尚未发现的错误的测试D. 成功的测试是没有发现错误的测试15. ( )能够有效地检测输入条件的各种组合可能会引起的错误。
A. 等价类划分B. 边界值分析C. 错误推测D. 因果图16火车是一种陆上交通工具。
火车和陆上交通工具之间的关系是( )关系。
A. 组装B. 整体部分C. has aD. 一般具体17. 对象模型的描述工具是( )。
A. 状态图B. 数据流图C. 对象图D. 结构图18. 面向对象的主要特征除对象惟一性、封装、继承外,还有( )。
A. 多态性B. 完整性C. 可移植性D. 兼容性19. 对白盒测试和黑盒测试补充的一种有效方法是加强阶段( )。
A. 调试B. 评审C. 维护D. 自测试20. 如果编写系统软件,可选用( )语言。
A. FoxProB. CC. COBOLD. FORTRAN21. 如果采用快速原型开发软件适宜选用( )语言。
A. 4GLB. 汇编C. AdaD. Java(四)简答题1. 简述软件测试与软件调试的区别。
2. 简述软件维护的流程。
3. 什么是软件配置管理?什么是基线?4. 面向对象设计的启发规则是什么?5. 什么是程序设计风格?为了具有良好的设计风格,应注意哪些方面的问题?(五)应用题1.某商场在“五一”期间,顾客购物时收费有4种情况:普通顾客一次购物累计少于100元,按A类标准收费(不打折),一次购物累计多于或等于100元,按B类标准收费(打9折);会员顾客一次购物累计少于1000元,按C类标准收费(打8折),一次购物累计等于或多于1000元,按D类标准收费(打7折)。
测试对象是按以上要求计算顾客收费模块,按照路径覆盖法设计测试用例。
2. 交通工具分为空中、陆上、水上交通工具,空中交通工具分为客机、货机、专用轻型机;陆上交通工具分为火车、汽车,火车和汽车又分客车、货车,水上交通工具有轮船,轮船分为客轮、货轮、客货混合轮。
建立交通工具的对象模型。