软件工程第一次作业
软件工程学第一次作业答案
一、简答题1、需求分析的任务答:需求分析的任务主要包括以下几项:确定目标系统的综合要求,其中包括(目标系统的功能、性能、运行的环境及扩展性要求);分析目标系统的数据要求,其中包括(系统平台需要哪些数据?数据间有什么关系?数据及数据结构?对数据的处理逻辑关系等);导出目标系统的逻辑模型;修正系统流程图;修正系统开发计划、开发原型系统2、软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题,具体表现在哪些方面?答:1、无法开发复杂程度高的软件2、成本和进度估计不准3、无统一科学的规范,软件不可维护4、无质量保证,可靠性差5、软件常不能满足用户的需求6、无适当的文档资料7、软件生产率太低二、选择题1、从下列关于结构化程序设计的叙述中选出5条正确的叙述。
①程序设计比较方便,但比较难以维护。
②便于由多个人分工编制大型程序。
③软件的功能便于扩充。
④程序易于理解,也便于排错。
⑤在主存储器能够容纳得下的前提下,应使模块尽可能大,以便减少模块的个数。
⑥模块之间的接口叫做数据文件。
⑦只要模块之间的接口关系不变,各模块内部实现细节的修改将不会影响别的模块。
⑧模块间的单向调用关系叫做模块的层次结构。
⑨模块越小,模块化的优点越明显。
一般来说,模块的大小都在10行以下。
答:正确的叙述有②、③、④、⑦、⑧。
如果程序结构的模块化满足评价的标准(高内聚、低耦合),这样的结构是容易维护的,程序的功能也容易测试,容易理解、容易修改、容易维护的,程序的功能也容易扩充。
特别适合于大型程序编制时,多人分工全中作,协同完成任务的情形。
因为是采用自顶向下、逐层分解来划分解模块结构的,所以模块之间的调用关系是分层次的模块结构,就叫做模块的层次结构。
模块之间的信息传递叫做模块的接口,模块之间传递信息可以通过参数表、全局变量或全局数据结构、数据文件、专门模块太大,控制路径数目多、涉及的范围广、变量的数目多、总体复杂性高,可理解性、可修改性、可靠性就会变差。
2022年中央电大《软件工程》平时作业1、2、3、4次及答案
软件工程第1次作业一、填空题(每空2分,共20分)二、单项选取题(将一种对的答案代码填入括号中,每小题3分,共15分) 1.( )是顾客和设计互换最频繁办法。
A. 原型化办法B.瀑布模型办法C. 螺旋模型办法D. 构件组装模型办法2.下列哪个阶段不是软件生存期三个阶段中内容( )。
A. 筹划阶段B.开发阶段C. 编码阶段D. 维护阶段3.下列( )操作产生副作用属于数据副作用。
A. 修改子程序B.局部变量再定义C. 删除标记符D.修改对编辑条件测试4.软件测试目( )。
A. 避免软件开发中浮现错误B.发现软件开发中浮现错误C.尽量发现并排除软件中潜藏错误,提高软件可靠性D.修改软件中浮现错误5.完毕详细设计工具不涉及( )。
A.PAD图B.数据流图C.HlP()图D.程序流程图三、多项选取题(将一种以上对的答案代码填入括号中,每小题3 分,共15分) 1.应从( )等方面研究可行性。
A. 经济可行性B.技术可行性C. 运营可行性D.法律可行性2.对于下列数据流图局部,关于描述中对的是( )。
A. 该图为第一层数据流图3.需求分析阶段结束后,交出文档中应当涉及( )。
A. 数据流图B.数据字典C. 简要算法描述D.项目经费预算4.软件管理工作涉及到直接对象涉及( )。
A. 软件开发人员B.硬件设备C. 项目经费D.软件项目5.在软件设计中,( )耦合应尽量避免。
A. 控制B.数据C.内容 D. 标记四、判断题(对的在括号内打上“√”,错误打上“X”。
每小题2分,共10分)1。
软件危机是指在软件开发和维护过程中遇到一系列严重问题。
( )2,构造化分析办法就是用抽象模型概念,按照软件内部数据传递、变换关系,自顶向下逐级分解,直到找到满足功能规定所有可实现软件为止。
( )3.UML只能应用于软件系统模型建立。
( )4.程序设计语言中应绝对禁止使用GOTO语句。
( ) 5.模块越小,模块长处越大。
( )五、问答题(每小题10分,共20分)1.什么是软件?什么是软件工程?2.什么是编码风格?为什么要强调编码风格?六、分析题(共20分)依照下列N—S图,写出其相应伪码。
软件工程第一次作业
upfileform.action="upfile.jsp";
upfileform.submit();
}
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>实现上传文件进度条</title>
<script language="javascript">
var xmlHttp=false;
由于市场竞争激烈,公司规定了严格的完成期限并且已对外公布。你打算采用哪种软件生命周期模型?为什么?
3、P16——3
一、创建10upfile.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd">
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
<input type="file" id="file1" name="file1" size="50"><br>
软件工程概论第一次作业
第一章《软件工程概述》作业一、名词解释1.软件2.软件危机3.软件工程4.软件生存周期5.软件过程模型二、填空题1、在信息处理和计算机领域内,一般认为软件是、和。
2、软件生产的发展经历了时代、时代和时代,各时代的生产方式分别是、和。
3、软件生存周期的8个阶段分别是、、、、、、、。
4、软件工程是利用工程化的原理和方法来进行、和软件的一门学科。
5、描述软件开发过程中各种活动如何执行的模型称为模型。
6、瀑布模型适应需求可变的软件开发,只有到才能见到整个软件系统。
7、软件产品的生产主要是研制,软件产品的成本主要体现在上。
8、软件工程面临的问题有、、、。
三、单项选择题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.全部8、软件的主要结构和功能是在【】阶段决定的。
A.分析设计B.编程C.测试D.维护9、有关计算机程序功能、设计、编制、使用的文字或图形资料称为【】。
A.软件B.文档C.程序D.数据10、软件生成周期模型有多种,下列选项中,【】不是软件生存周期模型。
中国石油大学--软件工程-第一次在线作业
中国石油大学软件工程第一次在线作业〔2.5分〕结构化分析建立功能模型的工具是〔〕• A、DFD• B、判定树/判定表• C、SC• D、结构化语言我的答案:A 此题得分:2.5分2.〔2.5分〕检查软件产品是否符合需求定义的过程称为〔〕• A、确认测试• B、集成测试• C、系统测试• D、单元测试我的答案:A 此题得分:2.5分3.〔2.5分〕软件测试方法中,黑盒测试方法和白盒测试方法是常用的方法,其中黑盒测试方法主要用于测试〔〕• A、结构合理性• B、软件外部功能• C、程序正确性• D、程序内部逻辑我的答案:B 此题得分:2.5分4.〔2.5分〕软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为〔〕• A、瀑布模型• B、对象模型• C、螺旋模型• D、层次模型我的答案:A 此题得分:2.5分5.〔2.5分〕建立原型的目的不同,实现原型的途径也有所不同,以下不正确的类型是〔〕• A、用于验证软件需求的原型• B、垂直原型• C、用于验证设计方案的原型• D、用于演化出目标系统的原型我的答案:B 此题得分:2.5分6.〔2.5分〕面向对象的开发方法中,〔〕将是面向对象技术领域内占主导地位的标准建模语言。
• A、Booch方法• B、Coad方法• C、UML语言• D、OMT方法我的答案:C 此题得分:2.5分7.〔2.5分〕黑盒技术设计测试用例的方法之一为〔〕• A、因果图• B、逻辑覆盖• C、循环覆盖• D、基本路径测试我的答案:A 此题得分:2.5分8.〔2.5分〕软件测试方法中的静态测试方法之一为〔〕• A、电脑辅助静态分析• B、黑盒法• C、路径覆盖• D、边界值分析我的答案:A 此题得分:2.5分9.〔2.5分〕技术可行性是可行性研究的关键,其主要内容一般不包括〔〕• A、风险分析• B、资源分析• C、人员分析• D、技术分析我的答案:C 此题得分:2.5分10.〔2.5分〕从事物的组成部件及每个部件的属性、功能来认识事物。
软件工程第一次作业
请于4月3日前提交作业,严禁抄袭软件工程第一次作业(教材第1、2、3章)(注意:答案请用蓝色字)一.填空题1.软件是计算机系统中的、数据及其的总和。
(教材第1章,1.1.2)2.软件工程方法学包含的三个要素:、和。
(教材第1章,1.2.3)3.目前使用最广泛的软件工程方法学是:和。
(教材第1章,1.2.3)4.构成软件项目的最终产品:、、和。
(课件,1.1)5.软件生命周期的三个时期:、和。
(教材第1章,1.3)6.可行性研究的目的:。
(教材第2章,2.1)7.一个软件项目要至少要从、和 3个方面研究其可行性。
(教材第2章,2.1)8.成本效益分析首先是估算将要开发的系统的,然后与可能取得的效益进行。
(教材第2章,2.6)二.选择题1、随着开发小组人数的(),因交流开发进展情况和讨论遇到的问题而造成的通信开销也急剧增加。
A. 增加B. 降低C. 稳定D. 不稳定2、软件需求分析阶段的工作,可以分为4个方面:对问题的识别、分析与综合、编写需求分析文档以及()。
A. 软件的总结B. 需求分析评审C. 阶段性报告D. 以上答案都不正确3、进行需求分析可使用多种工具,但()是不适用的。
数据流图 B.判定表 C.PAD图 D.数据字典4、在需求分析之前有必要进行()工作A.程序设计B.可行性分析C.ER分析D.3NF分析5、软件需求分析阶段建立原型的主要目的是()A.确定系统的性能要求B.确定系统的运行要求C.确定系统是否满足用户需要D.确定系统是否满足开发人员需要三.简答题1.什么是软件生命周期模型?试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优缺点,说明每种模型的适用范围。
(教材第1章,1.3~1.4)2.举例说明敏捷过程的适用范围。
(教材第1章,1.4.7)3.请画表格说明以下文档分别产生于软件生命周期的哪个阶段?程序规格说明书、项目计划任务书、系统目标与范围说明书、程序清单、软件产品、需求规格说明书、概要设计说明书、改进的软件产品。
软件工程第一次作业
作业名称软件工程第一次作业作业总分100起止时间2017-10-12至2017-11-9 23:59:00通过分数60 标准题总分100题号:1 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:2()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。
∙A、软件过程∙B、软件工具∙C、质量保证∙D、软件工程标准答案:a说明:题号:2 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:2软件工程的研究内容具有层次化结构,最底层是质量保证层,中间层是(),最上层是工具层。
∙A、过程层∙B、方法层∙C、过程层和方法层∙D、系统层标准答案:c说明:题号:3 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:2系统因错误而发生故障时,仍然能在一定程度上完成预期的功能,则把该软件称为()∙A、软件容错∙B、系统软件∙C、测试软件∙D、恢复测试标准答案:a说明:题号:4 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:2软件的复杂性是(),它引起人员通信困难、开发费用超支、开发时间超时等问题。
∙A、固有的∙B、人为的∙C、可消除的∙D、不可降低的标准答案:a说明:题号:5 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:2 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做()∙A、软件工程∙B、软件周期∙C、软件危机∙D、软件产生标准答案:c说明:题号:6 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:2 软件特性中,程序能够满足规格说明和完成用户业务目标的程度,称作()∙A、正确性∙B、移植性∙C、可靠性∙D、完整性标准答案:a说明:题号:7 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:2 结构化程序设计理论认为,实现良好的程序结构要应用()的分析方法。
软件工程作业(答案参考)
软件工程作业(答案参考)软件工程第一次作业1)软件工程适用范围?答:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。
它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。
在现代社会中,软件应用于多个方面。
典型的软件比如有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。
同时,各个行业几乎都有计算机软件的应用,比如工业、农业、银行、航空、政府部门等。
这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。
2)软件工程如何控制系统开发的复杂性的?答:可理解性(understandability)。
系统具有清晰的结构,能直接反映问题的需求。
可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植或重用。
带来不必要的投入,软件是以人为本,方便用户工作,达到提高工作效率的目的。
若然日后此用户需要更多功能的时候,我们还是可以向其软件公司提供升级功能解决用户需求。
3)协同工作有什么重要性?答:日常工作中,80%的事项,都需要与同事协作完成、与其他部门协调资源、或者向领导进行请示汇报;80%的工作都处于开放的环境,如特殊请求、突发事件、临时汇报、项目协作、活动组织、意见征集、沟通协调等等,因此,通过柔性协作流程的使用,员工可以很便捷的实现与其他同事的头脑风暴、分工协作、资源整合,并且可以通过自建模板和自建流程的使用,使得很多处于随机和发散状态的工作实现有序化、可跟踪化、可追溯化,实现工作的敏捷性与有效性的统一,简单来说,就是实现员工的工作产生1+1>2的效果。
6 )只要是编程高手,即使是不懂软件工程,也能编出很好的软件。
答:不一定。
软件的开发是由需求调研分析、概要设计、详细设计、编码、测试及用户体验反馈等组成的。
所以只是懂得编码编程其中一部分不一定能编出很好的软件。
7 )只要拥有一套讲述如何开发软件的书籍,并了解了书中的标准与示例,就可以解决软件开发中遇到的任何问题。
软件工程学第一次作业—答案中山大学
软件工程学第一次作业一、简答题1、需求分析的任务答:需求分析的任务主要包括以下几项:确定目标系统的综合要求,其中包括(目标系统的功能、性能、运行的环境及扩展性要求);分析目标系统的数据要求,其中包括(系统平台需要哪些数据?数据间有什么关系?数据及数据结构?对数据的处理逻辑关系等);导出目标系统的逻辑模型;修正系统流程图;修正系统开发计划、开发原型系统2、软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题,具体表现在哪些方面?答:1、无法开发复杂程度高的软件2、成本和进度估计不准3、无统一科学的规范,软件不可维护4、无质量保证,可靠性差5、软件常不能满足用户的需求6、无适当的文档资料7、软件生产率太低二、选择题1、从下列关于结构化程序设计的叙述中选出5条正确的叙述。
①程序设计比较方便,但比较难以维护。
②便于由多个人分工编制大型程序。
③软件的功能便于扩充。
④程序易于理解,也便于排错。
⑤在主存储器能够容纳得下的前提下,应使模块尽可能大,以便减少模块的个数。
⑥模块之间的接口叫做数据文件。
⑦只要模块之间的接口关系不变,各模块内部实现细节的修改将不会影响别的模块。
⑧模块间的单向调用关系叫做模块的层次结构。
⑨模块越小,模块化的优点越明显。
一般来说,模块的大小都在10行以下。
答:正确的叙述有②、③、④、⑦、⑧。
如果程序结构的模块化满足评价的标准(高内聚、低耦合),这样的结构是容易维护的,程序的功能也容易测试,容易理解、容易修改、容易维护的,程序的功能也容易扩充。
特别适合于大型程序编制时,多人分工全中作,协同完成任务的情形。
因为是采用自顶向下、逐层分解来划分解模块结构的,所以模块之间的调用关系是分层次的模块结构,就叫做模块的层次结构。
模块之间的信息传递叫做模块的接口,模块之间传递信息可以通过参数表、全局变量或全局数据结构、数据文件、专门模块太大,控制路径数目多、涉及的范围广、变量的数目多、总体复杂性高,可理解性、可修改性、可靠性就会变差。
软件工程第一次作业
1-1 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
这些问题绝不仅仅是不能正常运行的软件才具有的,实际上,几乎所有软件都不同程度地存在这些问题。
概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。
软件危机的典型表现:1)质量与效率矛盾2)用户需求的误解3)过程控制不严格4)可维护性与可重用性差5)重程序而轻文档6)人力成本的提高7)用户需求的不断提高软件危机产生的原因:在软件开发和维护的过程中存在这么多严重问题,一方面与软件本身的特点有关,一方面和软件开发与维护的方法不正确有关。
管理和控制软件开发过程相当困难。
1)软件较难维护2)软件专业人员对软件开发和维护的错误的认识和作法。
3)软件不同于一般程序,其显著特点是规模庞大,而且,程序的复杂性随着程序规模的增加呈指数上升。
4)软件专业人员对软件开发和维护的错误的认识和作法。
5)对用户要求没有完整准确的认识就匆忙着手编写程序是许多软件开发工程失败的主要原因之一。
6)在软件开发的不同阶段进行修改需要付出的代价是很不相同的。
1-3 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机? 软件工程的定义:计算机程序、方法、规则、相关的文档资料以及在计算机上运行程序时所必需的数据。
是指导计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。
软件工程的本质:软件工程就是为了经济地获得可靠的且能在实际机器上有效地运行的软件,而建立和使用完善的工程原理。
1)消除软件危机的途径:为了消除软件危机,首先应该对计算机软件有一个正确的认识。
应该彻底消除在计算机系统早期发展阶段形成的“软件就是程序”的错误观念。
软件工程第一次作业答案
1.How do software characteristics differ from hardware characteristics?Answer (Section 1.2):Software is developed, not manufactured. Software does not wear out, but it can deteriorate when changes are made. Most software is custom built, not assembled out of components.2. What is the difference between software that is determinate and software that is indeterminate?Answer (Section 1.3):Software is determinate is the order and timing of its inputs, processing, and outputs is predictable and it is indeterminate if the order and timing of its input, processing, and outputs is not predictable in advance.3.Explain what is wrong with the notion that computer software does not need to evolveover time.Answer (Section1.4):Computer software must be revised as errors are discovered and corrected. Software must be updated to accommodate changes in the computing environment. Many times a customer will request changes to add new functions to an existing product or to accommodate changes in the business environment. Sometimes an older system will need to be reengineered to provide benefits to the user in a modern context. The bottom line is that software that does not evolve will eventually become unusable.4.Many modern applications change frequently before they are presented to the end userand then after the first versions have been used. Think about few ways to build software to stop deterioration due to change.Answer:•Make sure that software is designed so that changes in one part of a program do not create side-effects in another part of the program.•Make sure that software is designed so that it does not depend on external devices or systems that are likely to change with time.•Make sure test cases and results are archived and available so that the software can be retested when changes are made.•Make sure you spend time understanding what the customer wants.5,For the waterfall model, describe situations where this model can and cannot be used and why.Answer:•The waterfall model is appropriate for projects with the following characteristics: (1) the problem is well understood (requirements are well-defined); (2) the delivery date is realistic; (3) it's unlikely that major changes in requirements will be requested as theproject proceeds.6. Incremental process models tend to be among the most widely used in the industry. Describe the conditions under which such models should be used and what an “increment” means in terms of project work and deliveryAnswer:Incremental models are useful when staffing is unavailable for a complete implementation by the business deadline. In addition, increments can be planned to manage technical risks. The “increment” is often a core product, i.e., basic requirements are addressed but many supplementary features remain undelivered. The process is repeated following the delivery of each increment, until the complete product is produced.,7.Discuss the pros and cons of prototyping model and how it differs from the spiral modelAnswer:The pros and cons of prototyping model are: Pro: evaluated by user and used to refine requirements; Con: the first system built is barely usable; unrealistic expectations from the customer; the performance issue。
中国石油大学(北京)软件工程 第一次在线作业满分答案
A、纠错性维护
B、适应性维护
C、改善性维护
D、预防性维护
我的答案:A 此题得分:2.5分14.(2.5分) 以下不属于白盒测试技术的是( )
A、逻辑覆盖
B、基本路径测试
C、循环覆盖测试
D、等价类划分
我的答案:D 此题得分:2.5分15.(2.5分) 盒图也称为( )或Chapin图。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。
A、逻辑内聚
B、时间内聚
C、偶然内聚
D、功能内聚
我的答案:D 此题得分:2.5分25.(2.5分) 结构设计是一种应用最广泛的系统设计方法,是以( )为基础、自顶向下、逐步求精和模块化的过程。
A、数据流
B、数据流图
C、数据库
D、数据结构
正确
错误
我的答案:正确此题得分:2.5分28.(2.5分) 面向数据设计方法一般都包括下列任务: 确定数据结构特征;用顺序、选择和重复三种基本形式表示数据等步骤。
正确
错误
我的答案:正确此题得分:2.5分29.(2.5分) 耦合度是对软件结构中模块间关联程度的一种度量。在设计软件时应追求尽可能紧密的耦合的系统。。
A、判定表和判定树
B、盒图
C、流程图
D、关系图
我的答案:A 此题得分:2.5分12.(2.5分) 需求分析的任务不包括( )
A、问题分析
B、系统设计
C、需求描述
D、需求评审
我的答案:B 此题得分:2.5分13.(2.5分) 为改正软件系统中潜藏的错误而进行的维护活动称为( )
A、瀑布模型
B、对象模型
软工第一次作业
1.为每种类型的模块耦合举一个具体的例子。
数据耦合:比如图书管理系统的交欠款和处理逾期借书就是数据耦合,通过数据输入输出交流信息,为数据耦合。
非直接耦合:两个单独的没有直接关系的模块1和模块2,比如学校图书馆管理系统的学生信息登记模块和图书采购模块就没有明显直接的关系,为非直接耦合,耦合程度低。
特征耦合:比如交电费和交水费本身没有直接关系,但都与用户的交款模块产生相似特征.控制耦合:比如一个学生成绩查询系统,其查找模块就控制了查寻学生姓名、查询成绩等模块,为控制关系,是控制耦合。
外部耦合:比如作业打印模块和通知打印模块都访问了打印机这一模块,为外部耦合。
公共耦合:若一组模块都访问同一个公共数据环境,则它们之间的耦合就是公共耦合。
公共的数据环境可以是全局的数据结构,共享的通信区,内存的公共覆盖区等。
如几个模块对同一个数据库的查询就属于这种耦合。
公共耦合可以分为松散的公共耦合和紧密的公共耦合,其中松散的公共耦合是单向操作,如两个或多个模块对同一个文件的读操作;而紧密的公共耦合是双向的操作,如两个或多个模块对同一文件的读写操作。
下面用图表示松散的和紧密的公共耦合。
内容耦合。
即有下列情况时即出现内容耦合。
(1)一个模块访问另一个模块数据;(2)一个模块不通过正常入口而转到另一个模块的内部;(3)两个模块有一部分代码重叠;(4)一个模块有多个入口。
2、为每种类型的模块内聚举一个具体例子。
偶然内聚。
即模块内各部分之间没有联系,或者即使有联系也很松散,这种即为偶然内聚,它是内聚程度最低的模块。
如一些没有任何联系的语句可能在许多模块中重复多次,程序员为了节省存储,把它们抽出来组成一个新的模块,这个模块就是偶然内聚模块逻辑内聚(Logical Cohesion)即这种模块把几种功能组合在一起,每次调用时,由传送给模块的判定参数来确定该模块应执行哪一种功能。
如根据输入的控制信息,或从文件中读入一个记录,或向文件写出一个记录。
软件工程第一次作业
软件⼯程第⼀次作业⼀、四则运算:没有做图形画界⾯,做的⽐较粗糙,还没有考虑倍数以及最⼩公约数的问题⼆、在⼀周之内快速看完《构建之法》,列出你不懂的5-10个问题1、第⼆章中for(int i=0;i<m_wordlist.count;i++)时别调⽤了1631884次,⽽改为int count=m_wordlist.count;for(int i=0;i<count;i++)则⼤⼤减少了调⽤次数。
这使我感到困惑,为什么代码实质⼀样,但⼀改变形式调⽤次数就不⼀样了。
进过⽹上查询毫⽆结果。
2、效能分析两种⽅法谁优谁劣?效能分析的办法就真的只有先⽤抽样找到瓶颈,然后再在特殊的代码块⽤代码注⼊吗?3、分析⿇痹和不分主次,想解决所有依赖问题这些常在软件制作过程中发⽣,如何避免这些问题。
4、在软件制作过程中,需求分析和架构设计还有编码调试这⼏个步骤那个是基础,在这个过程中那个是核⼼的步骤。
5、根据移⼭公司开发流程图,软件设计中发现bug后修改真的只会减少bug吗?据我所知好像是到达⼀定的时候修改bug会产⽣更多的bug。
三、1)游戏让陌⽣⼈成为⽤户最关键的在于媒体(也就是如何宣传),其次是游戏是否好玩,游戏基本都是以盈利为⽬的,现在的游戏收费⽅式有进⼊游戏购买东西收费和直接购买游戏收费,现在的游戏⼚商主要有腾讯和⽹易。
除了腾讯和⽹易也有其他游戏⼚商,但是由于竞争激烈有些没能⽣存下来,有些选择了与腾讯、⽹易合作。
就拿moba类⼿游来说的话⽹易⽐腾讯晚了⼏年,腾讯为了拿下国内游戏这块蛋糕代理了绝地求⽣,⽽没有想到⽹易却早在他们之前⾸先发布荒野求⽣吃鸡类⼿游。
可见游戏⼚商之间的竞争的残酷。
2)⼿机应⽤⼿机应⽤浅显易懂才能赢得客户量,不仅是刚⽤智能机不久的⽼年⼈,90、00后等青年⼈也是对繁琐的应⽤界⾯感到反感,⼿机应⽤主要是通过官⽅⽹站下载或者是⼿机商店下载,⼿机应⽤在我⽽⾔是⼀个简易版的电脑程序,最⼤的好处是随时随地就能打开并且使⽤。
软工部分第1次作业
5
第1次作业(续)
第四题:某大学的期末考试管理流程如下所示,请按照UML规 范画出该流程的活动图(含泳道,此题30分)
1.学校教务处安排某课程的期末考试时间和地点,然后发布考试通知。 2.课程所在学院接到教务处通知后,通知任课老师出题,并同时安排监考。 3.任课教师出试卷和答案。 4.系主任审核试卷:如果不通过返回给任课教师修改;如果通过则送往教 务处制卷。 5. 学院在教务处制完卷以后领取试卷;当领到试卷并且已安排好监考后, 就组织考试。 6.任课教师阅卷并评定学生成绩。 7.系主任对任课教师批改的试卷进行复核,然后把试卷归档。
3
第1次作业(续)
第二题:某网上选课系统,功能包含:
参与者有系统管理员与学生,都需要登录(若参与者忘记,还 需要提供找回密码的功能)。
管理员或学生都可以查询课程信息(分为两种独立的方式:按 课程编号查询、按课程名查询,任中一种都能查询课程信息)。
学生选择课程。 学生删除已选课程。 系统管理员维护课程信息。 试画出该系统的用例图(此题20分)
看、添加、修改、删除的功能。 ③ 书籍信息管理功能,管理员对书籍信息进行添加、修改、删除的功能。 ④ 书籍借阅功能,读者在借书前需要先查询图书信息(依题意来,不要受到课
件中那个借还书用例图的影响)。 ⑤ 书籍归还功能,读者归还图书时如果超期,需找管理员通过系统缴纳罚
款。
2
第1次作业(续)
第一题的用例图框架,请补充完整:
6
第1次作业(续)
提交要求:
第一题画图工具不限(也可以直接截图);后面三题请用 StarUML画,不能用手画,也不能用别的软件。
软件工程 第一次作业 测验答案 慕课答案 作业一 UOOC优课 课后练习 深圳大学
软件工程第一次作业一、单选题(共50.00分)1. 需求分析阶段的任务是确定()。
A. 软件开发方法B. 软件开发工具C. 软件开发费用D. 软件系统的功能正确答案:D2. 应用增量模型进行开发需要软件具备()的软件结构。
A. 封闭式B. 开放式C. 分层D. 集中式正确答案:B3. 瀑布模型各阶段之间具有顺序性和()。
A. 反馈性B. 依赖性C. 同构性D. 统一性正确答案:B4. 清楚区分逻辑设计和(),是按瀑布模型开发软件的一条重要指导思想。
A. 抽象设计B. 物理实现C. 测试验证D. 需求分析正确答案:B5. 瀑布模型是由()驱动的。
A. 文档B. 交互C. 风险D. 测试正确答案:A6. 采用增量模型开发软件时,每次提交一个满足用户需求子集的()的产品。
A. 不包含用户界面B. 模拟C. 文档化D. 可运行正确答案:D7. 螺旋模型使用原型及其他方法来尽量()。
A. 减少代码量B. 降低风险C. 优化设计D. 以上都不正确正确答案:B8. ()描述了用户使用产品必须要完成的任务A. 功能需求B. 非功能需求C. 用户界面设计D. 以上都不正确正确答案:A9. DFD可用于描述()模型。
A. 数据B. 功能C. 行为D. 层次正确答案:B10. ()是复审需求分析成果时的焦点。
A. 代码B. 需求规格说明C. 模型D. 计划正确答案:C二、多选题(共25.00分)1. 软件是()的完整集合。
A. 程序B. 数据C. 相关文档D. 开发工具正确答案:A B C2. 1968年的()会议上提出了“软件工程”的概念。
A. NATOB. NASAC. CECD. ISO正确答案:A3. 采用快速原型模型开发软件时,原型系统可用于()。
A. 捕获和理解用户需求B. 帮助进行用户界面设计C. 支持软件结构设计D. 测试目标系统性能正确答案:A B4. DFD中的一个处理框可以表示()。
A. 单个程序B. 一系列程序C. 一个程序模块D. 人工处理过程正确答案:A B C D5. DFD的基本符号包括()。
软件工程第一次作业
软件工程第一次作业第一题选择题1. 软件需求规格说明的内容不该包括( B )。
A. 要紧功能B. 算法的详细描述C. 用户界面及运行环境D. 软件的性能2. 程序的三种大体操纵结构是( B )。
A. 进程、子程序和分程序B. 顺序、选择和重复C. 递归、迭代和回溯D. 挪用、返回和转移3. 在E-R模型中,包括以下大体成份( C )。
A. 数据、对象、实体B. 操纵、联系、对象C. 实体、联系、属性D. 实体、属性、操作4.软件测试的目标是( B )。
A. 证明软件是正确的B. 发觉错误、降低错误带来的风险C. 排除软件中所有的错误D. 与软件调试相同5. 软件是( C )。
A. 处置对象和处置规那么的描述B. 程序C. 程序及其文档D. 运算机系统6. 面向对象的分析方式主若是成立三类模型,即( D )。
A. 系统模型、ER模型、应用模型B. 对象模型、动态模型、应用模型C. E-R模型、对象模型、功能模型D. 对象模型、动态模型、功能模型7. 各类软件保护的类型中最重要的是( A )。
A. 完善性保护B. 纠错性保护C. 适应性保护D. 预防性保护8. 假设有一个计算类型的程序,它的输入量只有一个X,其范围是[, ],现从输入的角度考虑一组测试用例:, , , .设计这组测试用例的方式是( C )A. 条件覆盖法B. 等价分类法C. 边界值分析法D. 错误推测法9.在软件开发模型中,提出最先,应用最普遍的模型是(A)A,瀑布B,螺旋C,演化D,智能10.软件工程方式是在实践中不断进展着的,而初期的软件工程方式一样是(B)A,原型化方式B,结构化方式C,面向对象方式D,功能分解法第二题判定题一、开发软件确实是编写程序。
二、系统测试的要紧方式是白盒法和黑盒法。
3、编程序时应尽可能利用硬件特点以提高程序效率.4、软件需求分析的任务是成立软件模块结构图。
五、程序的结构要紧包括三种六、以结构化分析方式成立的系统模型确实是数据流图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1-2. 软件与其他工程学科所产生的制品有什么更本区别?
1.软件是复杂的。
2.软件是不可见的。
3.软件是不断变化的。
1-3.软件工程包括那些基本要素,及作用?
软件工程三要素,过程、方法、和工具。
软件工程的方法为软件开发提供了“如何做”的技术,通常包括某种语言或图形的模型表示方法、良好的设计实践以及质量保证标准等,其中使用最广泛的两种方法是传统的软件开发方法和当前流行的面向对象方法。
软件工程的过程是管理和控制产品质量的关键。
它定义了技术方法的采用,工程产品的产生。
里程碑的建立、质量的保证和变更的管理。
从而将人员,技术,组织,与管理有机的结合在一起,实现在规定的实践和预算内开发高质量软件的目标。
软件工具为软件工程方法提供了自动的或半自动的软件支持环境,辅助软件开发任务的完成,现有的软件工具覆盖了需求分析,系统建模,代码生成,程序调试,和软件测试,等多个方面形成了集成化的软件工程开发环境,CASE。
以便提高开发效率和软件质量,降低开发成本。
1-8.请简要描述SWEBOK所包含的10个知识域。
1.软件需求:需求时解决现实问题所必需展示的特性,具体分为需求工程过程,需求获
取,需求分析,需求规格说明,需求验证,需求管理。
2.软件设计:分析软件需求,生成有关系统内部结构与组成的描述,并以此作为软件构造
的基础。
3.软件构造:其任务是通过编码,验证,和单元测试,构造出有意义的可工作的软件。
4.软件测试:从无限执行域中挑选有限测试用集,对照预定行为验证程序实际行为的过程。
5.软件维护:纠正软件运行时出现的错误。
改进软件系统以便适应环境的变化,和满足用
户新的要求。
6.软件配置管理:在明确的时间上确定系统的配置。
保证整个系统生命周期中系统地配置
的变化并维护配置的完整性和跟踪行。
7.软件工程管理:包括组织管理,过程项目管理,软件工程度量。
8.软件工程过程:分为基本概念,过程基础设施,过程度量,过程定义,定性分析,以及
过程实施与变更。
9.软件工程工具与方法:包括开发环境和开发方法。
10.软件质量:包括软件质量概念,软件质量保证与验证和确认的目的和计划,SQA 与V&V
的活动及其度量。