软件工程作业
作业及参考答案.doc软件工程
作业及参考答案(第一、二章)一、填空题1. 软件工程学的内容可包括(理论)、结构、(方法)、(工具)、环境、管理、规范等。
2. 软件生存周期一般可分为问题定义、(可行性研究)、(需求分析)、设计、(编码)、测试、运行与维护阶段。
3. 可行性研究的目的是(用最小的代价在尽可能短的时间内确定问题是否能够解决)。
4. 系统流程图是(描绘物理系统)的传统工具。
5. 在可行性研究中,(技术可行性)是系统开发过程中难度最大,最重要的一个环节。
二、判断题1. 软件工程采用的生存周期方法就是从时间角度对软件的开发和维护这个复杂问题进行分解,将软件生存的时期分为若干阶段。
(√ )2. 螺旋模型是利用笛卡尔坐标的四个象限上分别代表四个方面的活动来表示。
(√ )3. 原型模型适用于嵌入式软件。
(╳)4. 面向对象技术是构件组装模型的基础。
(√ )5. 在可行性研究中最难决断和最关键的问题是经济可行性。
(╳)6. 系统流程图表达的是部件的信息流程,还表示对信息进行加工处理的控制过程。
(╳)7. 自底向上成本估计不是从整体开始,而是从任务单元开始。
(√ )三、单项选择题1. 下列哪个阶段不是软件生存期三个阶段中的内容( C )。
A.计划阶段B.开发阶段 C.编码阶段 D.维护阶段2. 下列关于瀑布模型的描述正确的是( C )。
A. 瀑布模型的核心是按照软件开发的时间顺序将问题简化。
B. 瀑布模型具有良好的灵活性。
C. 瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开。
D. 利用瀑布模型,如果发现问题修改的代价很低。
四、简答题1. 软件的定义与特点。
软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据结构及其相关文档的完整集合。
它包括三个方面的内容:⑴程序:在运行时,能提供所希望的功能和性能的指令集。
⑵数据结构:使程序能够正确运行的数据结构。
⑶文档:描述程序研制过程、方法及使用的图文材料。
软件产品具有以下一些特性:①软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。
软件工程作业及参考答案(最新版)
软件工程一、软件危机与软件工程1.软件危机是指在开发和()过程中所遇到的一系列严重问题。
A.运行B.设计C.维护D.编码2.造成软件危机的原因是: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.质量保证②A.需求分析B.可行性研究C总体设计D模块化设计③A.文档编制B.运行维护C.测试D.验收8.软件开发中常采用的生命周期方法,由于其特征而一般称其为()。
A.层次模型B.瀑布模型C.螺旋模型D.对象模型9.描述软件生存周期的瀑布模型包括计划、(A)、设计、编码、测试、维护等阶段。
其中,设计阶段又可以分成(B)和(C)两个步骤。
A:①需求分析②可行性研究③需求调查④问题定义B,C:①方案设计②代码设计③概要(总体)设计④数据设计⑤详细设计10.什么是软件危机?软件危机产生的原因?11.生命周期阶段的划分?每个阶段的任务?二、可行性研究1.可行性研究的任务?步骤?对于各种可能的方案,从哪几个方面进行可行性研究?参考答案:任务:在尽可能短的时间内确定该软件项目是否能够开发,是否值得开发。
软件工程作业
作业1.第1题概要设计与详细设计衔接的图形工具是()。
A.数据流图B.结构图C.程序流程图D.PAD图您的答案:B题目分数:3此题得分:3.02.第2题需求分析()。
A.要回答“软件必须做什么?”B.要求编写软件需求说明书C.系统分析员可以采用访谈、简易的应用规格说明技术获取用户需求D.以上都对您的答案:D题目分数:3此题得分:3.03.第3题PDL是下列()语言。
A.高级程序设计语言B.伪码C.中级程序设计语言D.低级程序设计语言您的答案:B题目分数:3此题得分:3.04.第4题Jackson图上下层之间的关系是()。
A.调用关系B.组成关系C.继承关系D.嵌套关系题目分数:3此题得分:3.05.第5题()着重测试软件功能。
A.黑盒测试B.白盒测试C.功能测试D.循环测试您的答案:C题目分数:3此题得分:3.06.第6题软件设计一般分为总体设计和详细设计,它们之间的关系是()。
A.全局和局部B.抽象和具体C.总体和层次D.功能和结构您的答案:A题目分数:3此题得分:3.07.第7题模块内的某成分的输出是另一成分的输入,该模块的内聚度是()的。
A.功能性B.顺序性C.逻辑性D.瞬时性您的答案:B题目分数:3此题得分:3.08.第8题软件项目管理是()一切活动的管理。
A.需求分析B.软件设计过程C.模块控制D.软件生命周期您的答案:D题目分数:39.第9题Alpha测试是()。
A.由用户在开发者的场所进行B.由软件的最终用户在开发者的一个或多个客户场所进行C.是在不受开发者控制的环境中进行的D.是软件在开发者不能控制的环境中的“真实应用您的答案:A题目分数:3此题得分:3.010.第10题好的软件结构应该是()。
A.高耦合,高内聚B.低耦合,高内聚C.高耦合,低内聚D.低耦合,低内聚您的答案:B题目分数:3此题得分:3.011.第11题以下说法,错误的是()。
A.面向对象不仅支持过程抽象,而且支持数据抽象B.某些面向对象的程序设计语言还支持参数化抽象C.信息隐蔽通过对象的封装性来实现D.在面向对象方法中,类是最基本的模块。
软件工程作业
软件工程-作业一、判断(共计50分,每题2.5分)1、测试计划、测试用例和有关的分析报告一般不用长期保存。
()A. 正确B. 错误参考答案:B2、类封装比对象封装更具体,更细致。
()A. 正确B. 错误参考答案:B3、用黑盒法测试时,测试用例是根据程序内部逻辑设计的。
()A. 正确B. 错误参考答案:B4、面向对象设计的结果,既可以用面向对象语言,也可以用非面向对象语言实现。
()A. 正确B. 错误参考答案:A5、数据流图是结构化设计的最基本的工具。
()A. 正确B. 错误参考答案:B6、良好的面向对象程序设计风格,既包括传统的程序设计风格,也包括为适应而面向对象方法所特有的概念(如继承性)而必须遵循的一些新准则。
()A. 正确B. 错误参考答案:A7、模块化程序设计中,模块越小,模块化的优点越明显。
()A. 正确B. 错误参考答案:B8、软件测试的目的是证明软件是正确的。
()A. 正确B. 错误参考答案:B9、在软件开发中采用原型系统策略的主要困难是成本问题。
()A. 正确B. 错误参考答案:A10、结构化分析是面向数据流进行需求分析的方法。
()A. 正确B. 错误参考答案:A11、质量保证是为了保证产品和服务充分满足消费者要求的质量而进行的有计划,有组织的活动。
()A. 正确B. 错误参考答案:A12、白盒测试无需考虑模块内部执行过程和程序结构,只要了解模块的功能即可。
()A. 正确B. 错误参考答案:B13、软件测试目的是尽可能多地发现软件中存在的错误,将它作为纠错的依据。
()A. 正确B. 错误参考答案:B14、UML是一种面向对象的建模方法。
()A. 正确B. 错误参考答案:B15、类是指具有相同或相似性质的对象的抽象,类的具体化就是对象。
()A. 正确B. 错误参考答案:B16、开发一个软件项目总存在某些不确定性,即存在风险。
有些风险如果控制得不好,可能导致灾难性的后果。
()A. 正确B. 错误参考答案:A17、软件维护的目的就是修改程序中的错误。
软件工程课后作业
1路松峰_20140062 2018-07-29 10:32:40一、简答题1.什么是软件工程?软件工程是关于软件生产的各个方面的工程学科。
二、判断题1、软件危机的主要表现是软件需求增加,软件价格上升。
正确2、软件就是程序,编写软件就是编写程序。
错误三、选择题1、用来辅助软件开发、运行、维护、管理、支持等过程中的活动的软件称为软件开发工具,通常也称为( A )工具。
A. CASEB.CAIC. CAMD. CAD2、在下列选项中,( C )不是软件的特征。
A.系统性与复制性B.可靠性与一致性C.有形性与可控性D.抽象性与智能性3、软件工程的三要素是( B )A.技术、方法和工具B.方法、工具和过程C. 方法、对象和类D.过程、模型和方法1、快速原型模型的主要优点是什么?软件产品的开发基本上是线性顺序进行的。
2、什么是模型?模型是认识客观事物时,用文字、符号或者图表等进行简化问题描述的一种方式。
二、判断题1、在软件开发中采用原型系统策略的主要困难是成本问题。
正确2、软件过程改进也是软件工程的范畴。
正确三、选择题1、包含风险分析的软件工程模型是( D )。
A.喷泉模型B.瀑布模型C.增量模型D.螺旋模型2、软件过程是( C )。
A.特定的开发模型B.一种软件求解的计算逻辑C.软件开发活动的集合D.软件生命周期模型3、CMM模型将软件过程的成熟度分为5个等级。
在(B )使用定量分析来不断地改进和管理软件过程。
A.管理级B. 优化级C. 定义级D.可重复级面向数据结构方法是一类侧重从数据结构方面去分析和表达软件需求,进行软件设计的开发方法。
该方法从数据结构入手,分析信息结构,并用数据结构图来表示,再在此基础上进行需求分析,进而导出软件的结构。
二、判断题1、需求评审人员主要由开发人员组成,一般不包括用户。
错误2、非功能需求是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的要求。
正确三、选择题1、增量模型本质上是一种( C)。
《软件工程》在线作业
一.单项选择题答题要求:下列各题,只有一个符合题意的正确答案,多选、错选、不选均不得分。
1.(2分)软件生命周期一般被划分为若干个独立阶段,其中占用精力和费用最多的是()。
A.运行和维护阶段B.设计阶段C.代码实现阶段D.测试阶段参考答案:A2.(2分)软件危机具有下列表现()。
I.对软件开发成本估计不准确:II.软件产品的质量往往靠不住:III.软件常常不可维护:IV.软件成本逐年上升A.I、II 和IIIB.k III 和IVC.Ik III和IVD.以上都正确参考答案:D3.(2分)下列属于软件的特点的是()。
A.软件是一种逻辑实体,具有抽象性B.软件在使用过程中没有磨损、老化的问题C.软件不同于一般程序,它的一个显箸特点是规模庞大,复杂程度髙D.以上都正确参考答案:D4.(2分)软件开发技术不包含()。
A.软件开发方法学B.软件工程环境C.软件工具D.软件质量度量参考答案:D5.(2分)(?)分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。
A.增量模型B.喷泉模型C.原型模型D.螺旋模型参考答案:A6.(2分)产生软件危机的原因可能有()。
I .用户的需求描述不精确、不确肚:II.对大型软件项目的开发往往缺乏有力的组织和管理;III.缺乏有力的方法学和工具的支持;IV.软件产品的特殊性和人类智力的局限性A」和IIB.I、II和1VC.IL III和1VD.以上都正确参考答案:D7.(2分)软件工程的出现是由于()。
A.软件危机的出现B.汁算机硬件技术的发展C.软件社会化的需要D.汁算机软件技术的发展参考答案:A8.(2分)下列不属于软件工程方法学三要素的是()。
A.方法B.工具C.过程D.操作参考答案:D9.(2分)在E-R模型中,包含以下基本成分()。
A.数据、对象、实体B.控制、联系、对象C.实体、对象、属性D.实体、属性、联系参考答案:D10.(2分)系统技术可行性研究所涉及的技术应该是()技术。
软件工程三、四、五次作业(精选五篇)
软件工程三、四、五次作业(精选五篇)第一篇:软件工程三、四、五次作业第三次作业: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、软件需求工程1.1 问题描述给定一个学生管理系统,要求实现以下功能:添加学生信息、查询学生信息、修改学生信息、删除学生信息。
1.2 解决方案通过用户界面收集学生信息,使用数据库存储学生信息,编写相应的查询、修改和删除功能实现。
1.3 测试与验证编写测试用例,包括正常情况和异常情况的输入,测试系统是否正确执行学生信息的增删改查操作,并验证结果是否正确。
2、软件设计2.1 模块划分将学生管理系统划分为以下模块:用户界面模块、数据存储模块、查询模块、修改模块、删除模块。
2.2 模块接口设计用户界面模块接收用户输入的学生信息,数据存储模块负责将学生信息存储到数据库中,查询、修改和删除模块通过调用数据库接口实现相应功能。
2.3 系统架构采用三层架构,将用户界面、业务逻辑和数据存储分离,提高代码的可维护性和可扩展性。
3、软件实现3.1 开发工具选择选择合适的开发工具,如Java编程语言、Eclipse开发环境和MySQL数据库。
3.2 编码规范遵循公司制定的编码规范,保证代码的可读性和一致性。
3.3 数据库设计设计学生信息表,包括学生ID、姓名、性别、年龄等字段,并建立适当的索引以提高查询性能。
4、软件测试4.1 单元测试针对每个模块编写相应的单元测试,确保模块的各个功能都能正常工作。
4.2 集成测试将各个模块按照设计要求进行集成测试,验证系统的功能完整性和正确性。
4.3 系统测试对整个学生管理系统进行全面的系统测试,包括正常场景和异常场景的测试,确保系统能够满足需求并稳定可靠。
5、软件部署5.1 环境准备部署系统所需的软件和硬件环境,包括操作系统、数据库等。
5.2 安装部署将开发完成的系统安装到目标机器上,配置必要的参数,确保系统能够正常运行。
5.3 系统发布将系统发布到生产环境,对外提供服务。
6、软件维护6.1 问题定位与修复对用户反馈的问题进行定位和修复,确保系统的稳定性和可用性。
软件工程作业
航空 公司
航班信息
旅客信息
P2.1 设置航班
P2.1 安排航班
机票
P2.3 打印取票单据
航班信息
取票通机知票账单
账单 顾客 取票通知
P3.1 核对取票凭证
P3.2 交款
13:07:42
机票
P3.3 打印机票
能够是两个子系统, 预定和取票是不同旳 处理方式(后台批量 和前台单个)
机票预定系 统
通机知票单信息
13:07:42
作业及解答(第7章)
13:07:42
作业及解答(第7章)
13:07:42
作业及解答(第6章)
补充、某校旳课酬计算方案如下:(l)基本课 酬为每节课10元;(2)假如班级人数超出 40人,课酬增长:基本课酬×0.1;(3)假 如班级人数超出60人,课酬增长:基本课 酬×0.2;(4)假如教师是副教授,课酬增 长:基本课酬×0.1;(5)假如教师是教授 ,课酬增长:基本课酬×0.2;(6)讲师, 课酬不增长;(7)助教,课酬降低:基本课 酬×0.1。请用鉴定表体现上述计算方案。
旅客信息
旅客信息 旅客信息
航班信息
预定信息
P1 录入预定信息
取票通知
P2 安排航班
航班信息
取票通知
账单 机票
取票通知
账单 账单
机票
顾客
取票通知 机票
P3 顾客取票
机票
13:07:42
作业及解答(第5章)
航空 公司
航班信息
旅客信息
旅客信息
P2.1 安排航班
P2.1 设置航班
航班信息
航班信息 航班信息
E1 储户
F1存款单 F7密码
《软件工程》作业与参考答案
一、填空(15分)1、需求分析的任务:1)。
确定目标系统的综合要求A。
目标系统的功能要求B。
目标系统的性能要求C。
目标系统运行的环境要求D。
目标系统的扩展要求2)。
分析目标系统的数据要求A。
需要哪些数据?B。
数据之间有什么联系?C。
数据有什么属性及数据结构?D。
对数据的处理逻辑?3)。
导出目标系统的逻辑模型4)。
修正系统流程图5)。
修正系统开发计划6)。
开发原型系统2、模块设计准则1)、改进软件结构提高模块独立性(低耦合高内聚)2)、模块规模要适中3)、深度、宽度、扇入及扇出要适当4)、设计单入口单出口的模块5)、模块功能应该可以预测6)、降低接口的复杂性7)、模块的作用域应该在控制域之内3、软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题,具体表现在哪些方面?1)、无法开发复杂程度高的软件2)、成本和进度估计不准3)、无统一科学的规范,软件不可维护4)、无质量保证,可靠性差5)、软件常不能满足用户的需求6)、无适当的文档资料7)、软件生产率太低4 、总体设计的任务1)、设计系统的物理实现方案2)、设计软件的整体结构,划分程序功能模块,决定模块间的接口关系和传递信息; 3)、设计系统全局的存贮数据结构4)、设计系统I/O的方式和格式;5)、设计系统安全性、出错处理及代码等6)、设计组装测试计划。
5、从下列关于结构化程序设计的叙述中选出5条正确的叙述。
①程序设计比较方便,但比较难以维护。
②便于由多个人分工编制大型程序。
③软件的功能便于扩充。
④程序易于理解,也便于排错。
⑤在主存储器能够容纳得下的前提下,应使模块尽可能大,以便减少模块的个数。
⑥模块之间的接口叫做数据文件。
⑦只要模块之间的接口关系不变,各模块内部实现细节的修改将不会影响别的模块。
⑧模块间的单向调用关系叫做模块的层次结构。
⑨模块越小,模块化的优点越明显。
一般来说,模块的大小都在10行以下。
答:正确的叙述有②、③、④、⑦、⑧。
软件工程作业含答案
软件⼯程作业含答案软件⼯程第⼀章作业 (1)1.1什么是计算机软件?软件的特点是什么? (1)1.2 简述软件的分类,并举例说明。
(1)1.4 什么是软件⼯程? (1)1.5 简述软件⼯程的基本原则。
(1)1.6 软件⽣存周期分哪⼏个阶段?分别简述各个阶段的任务。
(1)1.9 简述各类软件过程模型的特点。
(2)1.10 敏捷软件开发的特点是什么? (2)1.12 简述敏捷软件开发的原则。
(2)第2、3章 (3)2.1简述系统⼯程的任务。
(3)2.2基于计算机的系统由哪些元素组成? (3)2.3简述可⾏性分析的任务。
(3)3.1需求⼯程的重要性是什么?举出⾝边由于需求分析失败⽽造成整个项⽬失败的例⼦。
(3)3.2需求⼯程具体包括哪些步骤?每个步骤的具体任务是什么? (3)3.3⼀个系统分析员应该具备哪些思想素质和基础知识?请说明理由。
(4)3.4列出在制定需求获取策略时的3种主要考虑因素。
(5)3.6举例说明⼀个系统的3个不同类型的⾮功能需求 (5)3.8软件需求分析的操作性原则和需求⼯程的指导性原则是什么? (5)3.9软件需求规约主要包括哪些内容?⾃⼰寻找⼀个实例,亲⾃写⼀个需求规约。
(5)3.10需求验证应该有哪些⼈参加?画出⼀个过程模型,说明需求评审应该如何组织。
5第4章 (5)4.1 简述软件设计阶段的基本任务 (5)4.2 软件设计与质量的关系是怎么样的? (6)4.4 简述模块、模块化及模块化设计的概念。
(6)4.6 耦合和软件可移植性的概念有何关系?举例说明⾃⼰的结论。
(6)4.7⽤⾃⼰的话描述信息隐蔽概念,并讨论信息隐藏与模块独⽴两概念之间的关系。
(6)4.8什么是模块独⽴性?设计中为什么模块要独⽴?如何度量独⽴性?模块功能独⽴有何优点? (6)4.9软件设计规约主要包括哪些内容? (7)第5章结构化分析与设计 (7)5.1 简述数据流图的主要思想,概述使⽤数据流图进⾏需求分析的过程。
(完整版)《软件工程》作业及答案.
《软件工程》作业及答案1-1 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。
软件危机典型表现:对软件开发成本和进度的估计常常很不准确。
用户对“已完成的”软件系统不满意的现象经常发生。
软件产品的质量往往靠不住。
软件常常是不可维护的。
软件通常没有适当的文档资料。
软件成本在计算机系统总成本中所占的比例逐年上升。
软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。
软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。
管理和控制软件开发过程相当困难。
软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。
目前相当多的软件专业人员对软件开发和维护还有不省糊涂观念,在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。
1-2 假设你是一家软件公司的总工程师,当你把图1.1给手下的软件工程师们观看,告诉他们及早发现并改正错误的重要性时,有人不同意你的观点,认为要求在错误进入软件之前就清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”你怎么反驳他?1-3 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机?答:软件工程是指导计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。
软件工程本质特性:1、软件工程关注于大型程序的构造;2、软件工程的中心课题是控制复杂性;3、软件经常变化;4、开发软件的效率非常重要;5、和谐地合作是开发软件的关键;6、软件必须有效地支持它的用户;7、在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品。
软件工程部分的作业
题目一:数据流图的练习1.在某文具店的销售和订货系统中,每次文具进货,店主将文具信息录入数据库中,顾客购买文具时,由售货员更新文具的库存信息,当文具的库存数量少于库存临界值时就产生文具的订购报表,并通知采购员,由采购员负责订购文具。
根据上述需求画出文具销售与订货管理的功能级数据流图。
2.某超市计划使用计算机系统进行商品的销售与订货管理:商品入库时,接收超市管理员提供的商品入库信息,然后更新商品的库存数据;顾客购买商品时,根据售货员提供的商品销售信息来更新商品的库存数据;当商品的库存数量少于库存临界值时,需要进行订货处理,然后生成商品的订货报表,并通知采购员进行订货。
试画出超市销售与订货管理的功能级数据流图。
题目二:对象模型(类图)的练习1. 交通工具分为空中、陆上、水上交通工具,空中交通工具分为客机、货机、专用轻型机;陆上交通工具分为火车、汽车,汽车由不同的生产厂商生产,汽车由发动机、底盘、车身和电气设备组成,水上交通工具有轮船,轮船分为客轮、货轮、客货混合轮。
试画出交通工具对象模型的类图。
2. 一个软件公司有许多部门,分为开发部门和管理部门两种。
每个开发部门开发多个软件产品。
该公司有许多员工,员工分为经理、工作人员和开发人员。
开发部门有经理和开发人员,管理部门有经理和工作人员。
每个开发人员可参加多个开发软件产品,每个软件产品需要多个开发人员。
每位经理可主持多个开发软件产品。
试画出软件公司对象模型的类图。
题目三:状态图练习1. 试用状态机图,描述了学习驾照的过程。
2. 某销售POS机,它的工作流程是:当客户到收银台后,收银员逐一输入用户购买的商品,输入完之后,计算出总金额,然后等待用户付款,确定支付成功之后,完成收银,等待下一个客户。
请为其绘制出相应的状态图。
3. 顾客在ATM机存取款的状态图,状态包括ATM机等待顾客插入磁卡的起始状态、结束服务的终止状态、、输入密码、选择服务类型、存款及取款等。
软件工程作业
《软件工程》作业班级2000(春)计算机本科姓名罗国南学号001000490 成绩____________一、判断题1.可行性研究的最根本的任务是对以后的行动方针提出建议。
√2.PDL语言是详细设计的重要工具,可方便地实现程序的自动生成。
√3.模块的控制域应该在作用域之内。
4.面向对象方法把对象作为数据及可以施加在这些数据上的操作所构成的统一体。
√5.软件是一种逻辑实体,而不是具体的物理实体。
√6.软件测试时经常要输入无效的,不合理的数据进行测试。
√7.高级程序设计语言从应用的角度看,可以分为基础语言、结构化语言和专用语言三大类。
√8.软件维护的前提是不能失去原有软件的基本功能。
√9.Gantt图可以明确地表示出各子任务之间的依赖与制约关系。
×10.与其它开发的方法相比较,结构化方法的主要优点之一是对用户需求的变更响应迅速。
×11.适应性维护的目的是为了适应计算机软、硬件环境的变化。
√12.系统流程图可以描述系统的逻辑模型,它的基本思想是用图形符号以黑盒子形式描绘系统里的每个部件。
×13.工程网络图可以描绘各子任务作业的工作时间和可以机动(延长)时间。
√14.在面向对象方法中,对象是进行处理的主体。
√15.调试是在测试出错误之后,找到错误的位置并改正的过程。
√16.不允许使用GOTO语句是结构程序的特征。
×17.面向对象技术的最大优点是减少了软件的开发时间。
×18.用盒图和PAD图设计出来的算法必定是结构化的。
√19.逻辑输入数据流是离物理输入端最远,且沿同一输入路径输入的数据流。
√20.可行性研究的结果有可能将软件开发项目否定。
√21.在面向对象方法学中,使用“对象”不仅需要知道它向外界提供的接口形式,而且必须知道它的内部实现算法。
×22.传统的流程框图不能用来进行结构化程序设计。
×23.一个模块执行时,必须引用另一个模块的某些数据,则这个模块的独立性不强。
软件工程作业及参考答案(最新版)
软件工程一、软件危机与软件工程1。
软件危机就是指在开发与( )过程中所遇到得一系列严重问题.A。
运行B。
设计 C.维护D。
编码2。
造成软件危机得原因就是: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。
质量保证②A。
需求分析B。
可行性研究C总体设计D模块化设计③ A.文档编制B。
运行维护C。
测试 D.验收8。
软件开发中常采用得生命周期方法,由于其特征而一般称其为()。
A。
层次模型B。
瀑布模型 C.螺旋模型D.对象模型9。
描述软件生存周期得瀑布模型包括计划、(A)、设计、编码、测试、维护等阶段.其中,设计阶段又可以分成(B)与(C)两个步骤。
A:①需求分析②可行性研究③需求调查④问题定义B,C:①方案设计②代码设计③概要(总体)设计④数据设计⑤详细设计10。
什么就是软件危机?软件危机产生得原因?11。
生命周期阶段得划分?每个阶段得任务?二、可行性研究1.可行性研究得任务?步骤?对于各种可能得方案,从哪几个方面进行可行性研究?参考答案:任务:在尽可能短得时间内确定该软件项目就是否能够开发,就是否值得开发。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、对象是00方法的核心,对象的类型有多种,但通常把如飞行,事故,演出,开会等称为(C)A,有形实体B,作用C,事件D,性能说明2、软件测试中根据测试用例设计的方法的不同可分为黑盒测试和白盒测试两种,它们(D)1. A. 前者属于静态测试,后者属于动态测试2. B. 前者属于动态测试,后者属于静态测试3. C. 都属于静态测试4. D. 都属于动态测试3、数据流图是一种用来描述(A)的图形化工具1. A. 系统信息流和数据流2. B. 所有功能3. C. 系统控制流和数据流4. D. 系统物理组成4、需求分析阶段的主要任务是确定(A)1. A. 软件系统的功能2. B. 软件开发方法3. C. 软件开发工具4. D. 软件开发费5、汽车有一个发动机。
汽车和发动机之间的关系是(B)1. A. 继承关系2. B. 聚合关系3. C. 分类关系4. D. 主从关系6、(B)和数据流图共同构成系统的逻辑模型,没有它,数据流图就不完整1. A. E-R图2. B. 数据字典3. C. 层次方框图4. D. 数据流程图7、汽车有一种叫货车。
汽车和火车之间的关系是(A)1. A. 继承关系2. B. 聚合关系3. C. 分类关系4. D. 主从关系8、(A)是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息是对外界隐蔽的,外界只能通过有限的接口与对象发生联系1. A. 封装2. B. 消息3. C. 继承4. D. 多态性9、消息是对象间交互的手段,消息刺激接受对象产生某种行为,消息的构成有三部分:接受消息的对象,(B),若干变元。
1. A. 发出消息的对象2. B. 消息名3. C. 消息编号4. D. 发送时间10、数据字典是用来定义(B)中的各个成份的具体含义的1. A. 流程图2. B. 功能结构图3. C. 系统结构图4. D. 数据流图11、要将一个复杂的系统分析清楚,传统软件工程常用的方法是结构化分析方法,结构化分析方法就是(A)1. A. 面向数据流自顶向下,逐步求精的方法2. B. 由内向外进行分析的方法3. C. 先局部后整体的分析方法4. D. 使用IPO图形工具分析的方法12、一般来说,在软件生命周期中成本最高的阶段是(D)1. A. 详细设计2. B. 软件编码3. C. 软件测试4. D. 软件维护13、模块的内聚性最高的是(D)1. A. 逻辑内聚2. B. 时间内聚3. C. 过程内聚4. D. 功能内聚14、需求分析是要完整,准确,清晰,具体地确定系统所要完成的工作,其主要根据是前一阶段的文档(D)1. A. 用户手册和参考手册2. B. 开发计划3. C. 软件需求规格说明书4. D. 可行性研究报告15、数据流图(DFD)是(C)方法中用于表示系统的逻辑模型的一种工具1. A. SP2. B. SC3. C. SA4. D. SD16、使用实体-联系图(ER图)建立的概念性数据模型中包含3种互相关联的信息是(B)1. A. 数据对象,属性,方法2. B. 数据对象,属性,联系3. C. 数据表,属性,联系4. D. 数据表,实体,联系17、数据流图DFD中每个加工至少需要(B)1. A. 一个输入流2. B. 一个输出流和一个输入流3. C. 一个输入或输出流4. D. 一个输出流18、(C)是指用户只能见到对象界面上的信息,对象内部对用户是隐藏的1. A. 类2. B. 消息名3. C. 封装4. D. 对象19、提高程序可读性的最有力手段是(A)1. A. 使用三种标准控制结构2. B. 采用有实际意义的变量名3. C. 显示说明一切变量4. D. 给程序加注释20、面向对象分析是对系统进行(A)的一种方法1. A. 需求建模2. B. 程序设计3. C. 设计评审4. D. 测试验收21、尽可能利用硬件的特点以提高效率。
B ()1. A.√2. B.×22、重构工程也称修复和改造工程,它是在逆向工程所的基础上修改成重构已有的系统,产生系统的一个新版本。
(正确)23、制定软件项目进度表的途径之一是软件开发小组根据提供软件产品的最后期限从后往钱安排时间。
(正确)24、在进行需求分析时同时考虑维护问题。
(正确)25、进行概要设计时尽可能加强模块间的联系。
(错)26、只要实行严格的产品控制就不用担心用户随意改需求。
(错)27、瀑布模型在实际的项目中严格顺序执行就基本可以成功。
(错)28、制定软件项目进度表的途经之一是软件项目开发组织根据项目和资源情况制定项目开发的初步计划和交付软件产品的日期。
(正确)29、确认测试任务是根据软件需求规格说明书。
测试软件系统是否满足用户的需求。
(正确)30、确认测试任务是根据软件需求规格说明书,测试软件系统是否满足用户的需求。
(正确)31、软件=“完成特定功能的程序+数据结构+文档”。
(正确)32、选择时间效率和空间效率尽可能高的算法。
(错)33、使用维护工具或软件工程环境。
(正确)34、即使测试过程没有发现任何错误,也不能说明软件没有错误。
(正确)35、重视程序结构的设计,使程序具有较好的层次结构。
(正确)36、即使测试程序没有发现任何错误,也不能说明软件没有错误。
(正确)37、系统响应时间是指当用户执行了某个控制动作后(例如,按回车键,点鼠标键等),系统作出的反应时间。
(正确)38、采用信息隐藏原理指导模块设计可以支持模块的并行开发,减少软件测试和软件维护的工作量。
(正确)39、在模块原理中,模块的作用域应该在控制域内。
(正确)40、需求分析阶段所生成的文档主要是进度计划和可行性研究报告。
(正确)41、软件就是完成特定功能的程序集合。
(错)42、完成测试后,为缩短源程序长度而删去程序中的注释。
(错)43、编码时尽可能使用全局变量。
(错)44、原型是目标软件系统的一个可操作模型,它实现了目标软件系统的某些重要方面。
(正确)45、过程式程序设计语言的基本机制包括:消息传送,数据类型定义,多态,子程序,控制程序。
(错)46、提高程序可读性,尽可能使用高级语言编程。
(正确)47、模块的接口设计要简单,以便降低复杂程度。
(正确)48、尽可能在软件开发过程中保证各阶段文档的正确性。
(正确)49、面向对象分析有哪些启发性原则①设计结果应该清晰易懂②一般-特殊结构的深度应适当③设计简单的类④使用简单的协议⑤使用简单的服务⑥把设计变动减至最小50、简述软件测试要经过哪几个步骤,每个步骤与什么文档有关测试过程按 4 个步骤进行,即单元测试(模块测试)、集成测试(子系统测试和系统测试)、确认测试(验收测试)和平行运行。
单元测试集中对用源代码实现的每一个程序单元进行测试,与其相关的文档是单元测试计划和详细设计说明书。
集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。
与其相关的文档是集成测试计划和软件需求说明书。
确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。
与其相关的文档是确认测试计划和软件需求说明书。
平行运行把已经经过确认的软件纳入实际运行环境中,与其他系统成份组合在一起进行测试。
与其相关的文档:用户指南、使用手册等。
51、决定软件可维护性的因素有哪些维护过程本质上是修改和压缩了的软件定义和开发过程,而且事实上远在提出一项维护要求之前,与软件维护有关的工作已经开始了。
首先必须建立一个维护组织,随后必须确定报告和评价的过程,而且必须为每个维护要求规定一个标准化的事件序列。
此外,还应该建立一个适用于维护活动的记录保管过程,并且规定复审标准。
(①维护组织②维护报告③维护的事件流④保存维护记录⑤评价维护活动)52、提高可维护性的方法有哪些在软件工程的每一阶段都应该努力提高系统的可维护性,在每个阶段结束前的审查和复审中,应着重对可维护性进行复审. 在需求分析阶段的复审中,应对将来要扩充和修改的部分加以注明.在讨论软件可移植性问题时,要考虑可能要影响软件维护的系统界面. 在软件设计的复审中,因从便于修改,模块化和功能独立的目标出发,评价软件的结构和过程。
还应对将来可能修改的部分预先做准备. 在软件代码复审中,应强调编码风格和内部说明这两个影响可维护性的因素. 在软件系统交付使用前的每一测试步骤中都应给出需要进行预防性维护部分的提示. 在完成每项维护工作后,都应对软件维护本身进行仔细认真的复审. 为了从根本上提高软件系统的可维护性,人们正试图通过直接维护软件规格说明来维护软件,同时也在大力发展软件重用技术53、软件维护的过程是什么①可理解性②可测试性③可修改性④可移植性⑤可重用性54、软件重用的效益是什么答:1、软件重用可以显着地改善软件的质量和可靠性。
2、软件重用可以极大地提高软件开发的效率。
3、节省软件开发的成本,避免不必要的重复劳动和人力、财力的浪费。
55、画出下列伪码程序的程序流程图STARTIF p THENWHILE q DOfENDDOELSEBLOCKgnENDBLOCKENDIFSTOP56、请用语句覆盖和条件组合覆盖两种测试方法设计出两套测试数据,用于测试问题1中你设计的程序。
答:语句覆盖X=95,Y=80经化简后的条件组合覆盖测试用例:1)x=95,y=95;2)x=95,y=70;3)x=70,y=95;4)x=70,y=70;语句覆盖是指设计足够的测试用例,使被测程序中每个语句至少执行一次.条件组合覆盖是比较强的覆盖标准,它是指设计足够的测试用例,使得每个判定表达式中条件的各种可能的值的组合都至少出现一次.57、请用语句覆盖和判定覆盖两种测试方法设计出两套测试数据,用于测试问题14中的程序。
语句覆盖:A=3,B=0判定覆盖:1)A=1,B=0;2)A=2,B任意1.语句覆盖是指设计足够的测试用例,使被测程序中每个语句至少执行一次.2.判定覆盖指设计足够的测试用例,使得被测程序中每个判定表达式至少获得一次”真”和”假”值,从而使程序的每一个分支至少都通过一次58、设计下列伪码程序的语句覆盖测试用例:STARTINPUT(A,B,C)。