春季学期软件工程第一次作业精

合集下载

2022年中央电大《软件工程》平时作业1、2、3、4次及答案

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图,写出其相应伪码。

软件工程第一次作业

软件工程第一次作业

1-2. 软件与其他工程学科所产生的制品有什么更本区别?1.软件是复杂的。

2.软件是不可见的。

3.软件是不断变化的。

1-3.软件工程包括那些基本要素,及作用?软件工程三要素,过程、方法、和工具。

软件工程的方法为软件开发提供了“如何做”的技术,通常包括某种语言或图形的模型表示方法、良好的设计实践以及质量保证标准等,其中使用最广泛的两种方法是传统的软件开发方法和当前流行的面向对象方法。

软件工程的过程是管理和控制产品质量的关键。

它定义了技术方法的采用,工程产品的产生。

里程碑的建立、质量的保证和变更的管理。

从而将人员,技术,组织,与管理有机的结合在一起,实现在规定的实践和预算内开发高质量软件的目标。

软件工具为软件工程方法提供了自动的或半自动的软件支持环境,辅助软件开发任务的完成,现有的软件工具覆盖了需求分析,系统建模,代码生成,程序调试,和软件测试,等多个方面形成了集成化的软件工程开发环境,CASE。

以便提高开发效率和软件质量,降低开发成本。

1-8.请简要描述SWEBOK所包含的10个知识域。

1.软件需求:需求时解决现实问题所必需展示的特性,具体分为需求工程过程,需求获取,需求分析,需求规格说明,需求验证,需求管理。

2.软件设计:分析软件需求,生成有关系统内部结构与组成的描述,并以此作为软件构造的基础。

3.软件构造:其任务是通过编码,验证,和单元测试,构造出有意义的可工作的软件。

4.软件测试:从无限执行域中挑选有限测试用集,对照预定行为验证程序实际行为的过程。

5.软件维护:纠正软件运行时出现的错误。

改进软件系统以便适应环境的变化,和满足用户新的要求。

6.软件配置管理:在明确的时间上确定系统的配置。

保证整个系统生命周期中系统地配置的变化并维护配置的完整性和跟踪行。

7.软件工程管理:包括组织管理,过程项目管理,软件工程度量。

8.软件工程过程:分为基本概念,过程基础设施,过程度量,过程定义,定性分析,以及过程实施与变更。

软件工程第一次作业

软件工程第一次作业
upfileform.enctype="multipart/form-data";
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、软件生成周期模型有多种,下列选项中,【】不是软件生存周期模型。

软件工程第一次作业

软件工程第一次作业

请于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. 软件需求规格说明的内容不应包括( 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,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是( C )A. 条件覆盖法B. 等价分类法C. 边界值分析法D. 错误推测法9.在软件开发模型中,提出最早,应用最广泛的模型是(A)A,瀑布 B,螺旋 C,演化 D,智能10.软件工程方法是在实践中不断发展着的,而早期的软件工程方法一般是(B)A,原型化方法 B,结构化方法 C,面向对象方法 D,功能分解法第二题判断题1、开发软件就是编写程序。

2、系统测试的主要方法是白盒法和黑盒法。

3、编程序时应尽可能利用硬件特点以提高程序效率.4、软件需求分析的任务是建立软件模块结构图。

软件工程第一次作业答案

软件工程第一次作业答案

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。

软件工程作业1

软件工程作业1

软件工程作业1软件工程作业11. 前言本文档旨在描述软件工程作业1的内容和要求,并提供相应的解决方案。

作业1主要涉及软件需求工程的一些基本概念和方法。

2. 背景软件需求工程是软件开发过程中的关键环节,它旨在识别和定义用户的需求,为软件开发团队提供指导,确保开发出符合用户期望的软件产品。

在软件工程作业1中,我们将通过一个简单的实例来了解需求工程的基本概念和方法。

3. 需求分析3.1 需求定义本作业要求开发一个简单的待办事项管理系统,主要功能包括:- 记录待办事项的标题和描述- 根据优先级对待办事项进行排序- 标记已完成的待办事项3.2 功能需求根据需求定义,我们可以确定系统的功能需求如下:- 用户能够添加新的待办事项,并提供相应的标题和描述信息。

- 用户能够查看已有的待办事项列表,并能够根据优先级进行排序。

- 用户能够标记已完成的待办事项,并将其从列表中移除。

3.3 非功能需求除了功能需求外,我们还需要考虑一些重要的非功能需求:- 界面友好:用户界面应该简洁明了,方便用户操作。

- 性能高效:系统应该能够迅速处理大量待办事项的增删改查操作。

- 可靠性:系统需要具备一定的容错能力,确保数据不会丢失,应对异常情况。

4. 系统设计4.1 架构设计本系统采用简单的三层架构设计,包括表示层、业务逻辑层和数据访问层。

- 表示层:负责与用户进行交互,接收用户的输入并显示相关信息。

- 业务逻辑层:负责处理用户的请求,进行待办事项的增删改查操作。

- 数据访问层:负责与数据库进行交互,存储和检索待办事项的信息。

4.2 数据库设计本系统采用关系型数据库来存储待办事项的信息,数据库中主要包含以下两个表格:- todos 表:用于存储待办事项的基本信息,包括标题、描述和优先级。

- completed 表:用于存储已完成的待办事项信息,包括标题、描述和完成时间。

4.3 用户界面设计用户界面应该简洁而直观。

主要包括下面几个界面:- 待办事项列表界面:显示用户添加的待办事项列表,并可根据优先级排序。

软件工程作业(答案参考)

软件工程作业(答案参考)

软件工程第一次作业1)软件工程适用范围?答:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。

它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。

在现代社会中,软件应用于多个方面。

典型的软件比如有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。

同时,各个行业几乎都有计算机软件的应用,比如工业、农业、银行、航空、政府部门等。

这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。

2)软件工程如何控制系统开发的复杂性的?答:可理解性(understandability)。

系统具有清晰的结构,能直接反映问题的需求。

可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植或重用。

3)以你的经验,举例说明一个成熟的软件通常采用什么方法来适应现实世界的变化的?答:以猎豹游览器为例,开始软件投入市场公测,软件自带收集错误报告的程式,当遇到问题软件错误,会将相关信息反馈到接受错误信息的服务器,已方便程序员及时发现问题加以修复,修复完成后提供程序更新,循环此法提供软件运行稳定性,另外还有用户反馈的相关功能,对软件的建议也会收集到服务器,按实用性需求程序员可在原有程序上开发调整更适合用户使用的程序。

4)假设某软件公司,能为同一个用户开发两个不同层次的软件:一个层次的软件功能非常强大,在满足用户所有需求的基础上,还能提供大大超过用户需求的其他更多更强的功能;另一个层次的软件仅仅能满足用户需求,但没有提供其他额外的功能。

请问如果你是项目负责人,你会选择为客户开发那个层次的软件?答:我会选择仅仅满足用户需求的软件。

因为太多的功能,相对于非专业的人员,在用户体验上可能会造成困扰,太多的功能会导致难以操作。

而且功能强大的软件还会给用户费用上带来不必要的投入,软件是以人为本,方便用户工作,达到提高工作效率的目的。

若然日后此用户需要更多功能的时候,我们还是可以向其软件公司提供升级功能解决用户需求。

软件工程第一次作业

软件工程第一次作业

软件⼯程第⼀次作业⼀、四则运算:没有做图形画界⾯,做的⽐较粗糙,还没有考虑倍数以及最⼩公约数的问题⼆、在⼀周之内快速看完《构建之法》,列出你不懂的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次作业

软工部分第1次作业
下载完成后,学生退出系统,系统则会注销相应的学生信息。 请画出“学生下载课件”用例的活动图(带泳道)。
5
第1次作业(续)
第四题:某大学的期末考试管理流程如下所示,请按照UML规 范画出该流程的活动图(含泳道,此题30分)
1.学校教务处安排某课程的期末考试时间和地点,然后发布考试通知。 2.课程所在学院接到教务处通知后,通知任课老师出题,并同时安排监考。 3.任课教师出试卷和答案。 4.系主任审核试卷:如果不通过返回给任课教师修改;如果通过则送往教 务处制卷。 5. 学院在教务处制完卷以后领取试卷;当领到试卷并且已安排好监考后, 就组织考试。 6.任课教师阅卷并评定学生成绩。 7.系主任对任课教师批改的试卷进行复核,然后把试卷归档。
3
第1次作业(续)
第二题:某网上选课系统,功能包含:
参与者有系统管理员与学生,都需要登录(若参与者忘记,还 需要提供找回密码的功能)。
管理员或学生都可以查询课程信息(分为两种独立的方式:按 课程编号查询、按课程名查询,任中一种都能查询课程信息)。
学生选择课程。 学生删除已选课程。 系统管理员维护课程信息。 试画出该系统的用例图(此题20分)
看、添加、修改、删除的功能。 ③ 书籍信息管理功能,管理员对书籍信息进行添加、修改、删除的功能。 ④ 书籍借阅功能,读者在借书前需要先查询图书信息(依题意来,不要受到课
件中那个借还书用例图的影响)。 ⑤ 书籍归还功能,读者归还图书时如果超期,需找管理员通过系统缴纳罚
款。
2
第1次作业(续)
第一题的用例图框架,请补充完整:
6
第1次作业(续)
提交要求:
第一题画图工具不限(也可以直接截图);后面三题请用 StarUML画,不能用手画,也不能用别的软件。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2011年春季学期软件工程第一次作业一、单项选择题(本大题共 60分,共 60 小题,每小题 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. SAB. SDC. SPD. SC8. 下列关于软件的特征不正确的是 (A. 软件容易受到磨损B. 软件是一种逻辑实体 , 具有抽象性C. 软件是开发出来的 , 不是制造出来的D. 软件的开发和运行受到计算机系统的限制9. 软件开发方法的主要工作模型有(。

A. 螺旋模型B. 循环模型C. 瀑布模型D. 专家模型10. 包含风险分析的软件工程模型是(。

A. 螺旋模型B. 瀑布模型C. 增量模型D. 喷泉模型11. 进行需求分析可使用多种工具 , 但 ( 是不适用的A. 数据流图B. 判定表C. PAD图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. 管理信息D. 实时17. 需求规格说明书的内容不应当包括 (A. 对重要功能的描述B. 对算法的详细过程性描述C. 软件确认准则D. 软件的性能18. 以下哪一项不是软件危机的表现形式 :(A. 成本高B. 技术发展快C. 生产率低D. 质量得不到保证19. 可行性研究的工作成果是(。

A. 初步的项目开发计划B. 设计规格说明书C. 测试说明书D. 需求规格说明书20. 软件工程三要素是(。

A. 技术、方法和工具B. 方法、工具和过程C. 方法、对象和类D. 过程、模型、方法21. 软件质量是贯穿软件(的一个极为重要的问题A. 开发B. 生存期C. 设计D. 维护22. 软件危机的原因之一是 (A. 使用了程序设计方法B. 采用了计算机辅助设计C. 软件规模较小D. 生产方式落后23. 软件是“逐渐”开发出来的 , 开发出一部分 , 向用户展示一部分 , 可让用户及早看到部分软件 , 及早发现问题 . 该模型是(A. 瀑布模型B. 螺旋模型C. 喷泉模型D. 快速应用开发模型24. Putnam成本估算经验模型是 (A. 模块性成本模型B. 结构性成本模型C. 动态多变量模型D. 动态单变量模型25. 数据字典 , 一般不出现的条目是 (A. 数据流B. 数据存储C. 加工D. 终点与源点26. 瀑布模型的存在问题是 (A. 用户容易参与开发B. 缺乏灵活性C. 用户与开发者易沟通D. 适用可变需求27. 从目前情况来看 , 增量模型存在的主要问题是 (A. 用户很难适应这种开发方法B. 该方法的成功率低C. 缺乏丰富而强有力的开发环境和软件工具D. 缺乏对开发过程中的问题和错误具有应付变化的机制28. 经济可行性研究的范围包括(。

A. 资源有效性B. 管理制度C. 效益分析D. 开发风险29. 用结构化程序设计方法编程时,任何程序均由以下三种基本逻辑结构组成(。

A. 控制结构、选择结构、执行结构B. 顺序结构、控制结构、选择结构C. 循环结构、顺序结构、选择结构D. 顺序结构、转移结构、循环结构30. 自顶向下估算方法的主要优点是对 ( 工作的重视 , 所以估算中不会遗漏系统级的成本估算 , 估算工作量小、速度快A. 成本估算B. 系统级C. 底层D. 工程管理31. 在将需求规格说明书提交给设计阶段之前 , 必须进行(。

A. 修改B. 追踪C. 调试D. 评审32. 软件危机的主要表现是(A. 软件成本太高B. 软件产品的质量低劣C. 软件开发人员明显不足D. 软件生产率低下33. IDEF图反映系统(。

A. 怎么做B. 对谁做C. 何时做D. 做什么34. 技术可行性要研究的问题之一是 (A. 存在侵权否B. 成本效益问题C. 运行方式可行否D. 技术风险问题35. 划分软件生存周期的阶段时候所应遵循的基本原则是(。

A. 各阶段的任务尽可能相关B. 各阶段的任务尽可能相对独立C. 各阶段的任务在时间上连续D. 各阶段的任务在时间上相对独立36. 快速原型是利用原型辅助软件开发的一种新思想 , 它是应用于软件生命周期的 (A. 需求阶段B. 设计阶段C. 测试阶段D. 软件开发的各个阶段37. COCOMO是 ( 的缩写A. 模块性成本模型B. 结构性成本模型C. 动态单变量模型D. 动态多变量模型38. 在数据流图中的数据存储是指 (。

A. 手工台帐B. 数据存储的地方C. 数据库文件D. 磁盘文件39. 在变更控制中, (可用来确保不同用户所执行的并发变更。

A. 异步控制B. 同步控制C. 存取控制D. 基线控制40. 质量保证 , 它是为保证产品和服务充分满足 ( 需求而进行的有计划、有组织的活动A. 开发者B. 生产者C. 测试者D. 消费者41. 开发软件所需高成本和陈平的地址栏之间有着尖锐的矛盾,这种现象称作(。

A. 软件投机B. 软件危机C. 软件工程D. 软件生产42. 在结构化分析模型中 , 其核心是(A. DDB. DFDC. ER图D. STD图43. 软件工程管理的具体内容不包括对 ( 管理A. 开发人员B. 配置C. 经费D. 设备44. 需求分析中开发人员要从用户那里了解 (A. 软件做什么B. 用户使用界面C. 输入的信息D. 软件的规模45. SA方法的基本思想是 (A. 自底向上逐步抽象B. 自顶向上逐步分解C. 自顶向下逐步分解D. 自顶向下逐步抽象46. 软件可行性研究一般不考虑 (A. 是否有足够的人员和相关的技术来支持系统开发B. 是否有足够的工具和相关的技术来支持系统开发C. 待开发软件是否有市场、经济上是否合算D. 待开发的软件是否会有质量问题47. 原型开发步骤主要包括 :快速分析、构造原型、运行原型、 ( 、修改原型A. 评价原型B. 测试原型C. 抛弃原型D. 开发原型48. 在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了 :(A. 软件危机B. 软件工程C. 程序设计革命D. 结构化程序设计49. 在软件成本估计模型中 , 给出了开发工作量 E 与开发时间 T 的 4次方成反比的模型是(A. Putnam模型B. COCOMO模型C. ER模型D. 静态单变量模型50. 快速原型是利用原型辅助软件开发的一种新思想 , 由于使用的语言效率不高 , 因而它大多数应用于软件生命周期的 (A. 需求阶段B. 设计阶段C. 测试阶段D. 软件开发的各个阶段51. 在数据流图中,○(椭圆代表(。

A. 源点B. 终点C. 加工D. 模块52. CASE系统所涉及到的技术有两类 :一类是支持软件开发过程本身的技术 ; 另一类是支持软件 ( 的技术A. 开发过程本身B. 开发方法管理C. 开发方法本身D. 开发过程管理53. 需求提炼的主要任务是 (A. 建立分析模型B. 编写 SRSC. 编写可行性研究报告D. 建立物理模型54. 需求规格说明书在软件开发中起着重要的作用 , 但其作用不应当包括(A. 软件设计的依据B. 用户和开发入员对软件要“做什么”的共同理解C. 软件验收的依据D. 软件可行性分析的依据55. 在瀑布模型中,将软件划分为若干个时期,软件项目的可行性研究一般归属于(。

A. 维护时期B. 计划时期C. 运行时期D. 开发时期56. 软件项目管理过程中常用 PERT 图 . 它可以确定(A. 项目成本B. 关键路径C. 项目负责人D. 系统流程57. 需求分析阶段不适用于描述加工逻辑的工具是 (A. 结构化语言B. 判定表C. 判定树D. 程序流程图58. 为了确保每个开发过程的质量 , 防止把软件差错传递到下一个过程 , 必须进行(A. 软件维护B. 软件容错C. 质量检验D. 软件重用59. 问题分析阶段的参加人员主要有(。

A. 用户B. 设计人员C. 分析员D. 分析员和用户60. 软件工程有(三部分组成。

A. 目标,方法,过程B. 方法,工具,过程C. 目标,方法,工具D. 目标,工具,过程二、多项选择题(本大题共 20分,共 10 小题,每小题 2 分 1. 问题定义阶段的目标是 (A. 弄清要计算机解决的根本问题是什么B. 确定新系统的作用域C. 确定项目所需的资源和经费D. 确定怎样解决问题2. 快速原型模型的特点是 (A. 仅包括未来系统的主要功能 , 以及系统的重要接口B. 尽量使用能够缩短开发周期的语言和工具C. 对开发环境的要求较低 , 能够得到迅速的推广D. 在原型系统的基础上 , 通过补充与修改获得最终的实际系统 . 3. 在数据流图中 , 变换型结构由 ( 组成A. 传入路径B. 变换中心C. 传出路径D. 事务中心E. 动作路径4. 软件风险分析包括 (A. 风险识别B. 风险预测C. 风险驾驭D. 风险管理5. 在 ER 模型中实体之间的关系包括 (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. 编写 SRSD. 建立物理模型三、判断题(本大题共 20分,共 20 小题,每小题 1 分1. 可行性研究的结果有可能将软件开发项目否定 .(2. 螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。

相关文档
最新文档