最新版2016软件工程基础离线作业满分答案

合集下载

软件工程作业与参考答案(最新版)

软件工程作业与参考答案(最新版)

软件工程-、软件危机与软件工程1.软件危机是指在开发和(A.运行B.设计2・造成软件危机的原因是:)过程中所遇到的一系列严重问题。

C.维护D.编码A.用户使用不当B.对软件的错误认识C.硬件不可靠D.缺乏好的开发方法和手段3.软件工程方法学的研究内容包含软件开发技术和软件工程管理两部分,其期望达到的最终目标是()。

A.消除软件危机B.软件开发工程化C.程序设计自动化D.实现软件重用4.软件工程学中除重视软件开发技术的研究外,另一重要组成内容是软件的()。

A・工程管理B•成本核算 C.人员培训 D.工具开发5.软件计划是软件开发的早期和重要阶段,此阶段要求交互和配合的是()。

A.设计人员和用户C.分析人员和设计人员B.分析人员和用户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:①需求分析②可行性研究③需求调查④问题定义② 代码设计 ③概要(总体)设计 ④数据设计 ⑤详细设计10・什么是软件危机?软件危机产生的原因? 11・生命周期阶段的划分?每个阶段的任务?二、可行性研究 邂统规模和冃 1.可行性研尤的任务?步骤?对丁各*中可能n 勺方案,从哪几个方而进行可行性研尤?参考答案:任务:在尽可能短的时间内确定该软件项冃是台能够开发,是占值得开发。

软件工程---课后习题答案.doc

软件工程---课后习题答案.doc

软件工程---课后习题答案.doc第一章1.1什么是计算机软件?软件的特点是什么?计算机软件是指计算机系统中的程序及其文档软件的特点:●软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确地估算。

●软件是被开发的或被设计的,没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大。

●软件的使用没有硬件那样的机械磨损和老化问题。

1.2简述软件的分类,并举例说明1.系统软件系统软件居于计算机系统中最接近硬件的一层,其他软件一般都通过系统软件发挥作用。

例如:编译软件、操作系统。

2.支撑软件支撑软件是支撑软件的开发和维护的软件。

例如:数据库管理系统、网络软件、软件工具、软件开发环境。

3.应用软件应用软件是特定应用领域专用的软件。

例如:工程/科学计算机软件、嵌入式软件、产品线软件、Web应用软件、人工智能软件。

1.3简述软件语言的分类,并举例说明。

1.需求定义语言是用于书写软件需求定义的语言。

例如:PSL/PSA。

2.功能性语言是用于书写软件功能规约的语言,通常又称为功能规约语言。

例如:广谱语言、Z语言。

3.设计性语言是用于书写软件设计规约的语言。

例如:PDL。

4.实现性语言也称为程序设计语言,是用于书写计算机程序的语言。

例如:C、java、PROLOG、FORTRAN、COBOL、Modula。

5.文档语言是用于书写软件文档的语言。

通常用自然语言或半形式化语言书写。

1.4什么是软件工程?软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。

软件工程借鉴传统工程的原则、方法,以提高质量、降低成本为目的。

1.5简述软件工程的基本原则。

软件工程原则包括围绕工程设计、工程支持和工程管理所提出的以下4条基本原则。

1.选取适宜的开发模型必须认识需求定义的易变性,采用适宜的开发模型,保证软件产品满足用户的要求。

2.采用合适的设计方法合适的设计方法有助于这些特征的实现,以达到软件工程的目标。

软件工程作业全部答案

软件工程作业全部答案

软件⼯程作业全部答案1、3. 请读者详细解释软件的定义与程序的定义。

软件的定义:软件 = 程序 + 数据 + ⽂档。

这⾥的程序就是指程序系统。

这⾥的数据不仅包括初始化数据、测试数据,⽽且包括研发数据、运⾏数据、维护数据,也包括软件企业积累的项⽬⼯程数据与项⽬管理数据中的⼤量决策原始记录数据。

这⾥的⽂档指的就是软件开发过程中的分析、设计、实现、测试、维护⽂档、管理⽂档。

现在有⼀种新提法正在引起关注,这种提法就是:软件 = 知识 + 程序 + 数据 + ⽂档。

程序就是计算机为完成特定任务⽽执⾏的指令的有序集合。

从应⽤的⾓度可理解为: ⾯向过程的程序 = 算法 + 数据结构⾯向对象的程序 = 对象 + 信息⾯向构件的程序 = 构件 + 构架。

1、5. 读者同意“四种开发⽅法”与“五个⾯向理论”的提法不?为什么?“四种开发⽅法”就是指“⾯向过程的⽅法、⾯向对象的⽅法、⾯向数据的⽅法、形式化⽅法”,⾯向过程的⽅法来源于⾯向过程的程序设计,⾯向对象的⽅法来源于⾯向对象的程序设计,⾯向数据的⽅法就就是⾯向元数据的⽅法,它来源于关系数据库程序设计,形式化⽅法来源于离散数学中的集合运算与逻辑运算。

四种⽅法各适⽤于不同的场合,各有优缺点,互相促进,构成⼀个开发⽅法论的多极化世界。

“五个⾯向理论”就是指“⾯向流程分析、⾯向数据设计、⾯向对象实现、⾯向功能测试、⾯向过程管理”,它就是在综合“四种开发⽅法”各⾃的优点之后提出的软件⼯程实施理论,就是对前者的继承与发展。

总之,上述提法既精彩⼜实⽤。

2、1 为什么要选择软件开发模型?软件开发模型与软件⽣存周期有什么关系?因为软件开发模型就是软件⼯程研究的四⼤内容之⼀,它虽然不就是软件⼯程研究的重点,但就是在宏观上特别重要。

软件公司的项⽬组在开发⼀个⼤项⽬或产品时,⾸先在技术上必须选择⼀个开发模型,使开发模型⾮常适合这个项⽬或产品的⽣存周期;随后通过对⽣存周期的裁减,来给出适合与本项⽬或产品的软件⽣存周期定义。

《软件工程》作业及参考答案1,4

《软件工程》作业及参考答案1,4

《软件工程》作业及参考答案——第一、二章中央电大理工部史红星(2004年09月15日)浏览人次4582一、填空题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. 软件质量不可靠e. 软件成本在系统中的比重逐年上升f. 软件开发生产率的提高速度不够2.简述产生软件危机的原因和解决的思路。

答:软件危机产生的原因一方面与软件本身的特点有关,另一方面,是与已有软件开发、维护的方法不正确有密切关系。

解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。

即采用工程化的原则和方法组织软件开发是摆脱软件危机的一个主要出路。

3.什么是软件工程?它有哪些本质特性?答:软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法进行软件开发和维护的学科。

其实质就是用工程的概念、原理、技术和方法,结合有效的管理方法和先进的开发技术,开发与维护软件,以解决软件危机。

4.软件工程是如何用来消除软件危机的?答:软件工程是从技术和管理两个方面来研究如何更好地开发和维护计算机软件,从源头上消除软件危机。

5.假设你是某软件开发企业的CEO,当你把教材P.4的图1.1给手下的软件工程师们看,同时告诉他们应及早发现并改正错误的重要性时,有人不以为然,认为要求在错误进入软件前就发现并清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么又如何能够在设计阶段就发现并清除呢?”那你应该如何说服?答:首先软件设计包括概要设计和详细设计,做好详细设计能够有效的规范程序编写节约编码的时间成本,同时避免大部分编码错误,做好软件定义时期的工作,是降低软件成本提高软件质量的关键,如果软件开发人员在定义时期没有正确全面的理解用户需求,直到测试阶段或软件交付使用后才发现已完成的软件不完全符合用户的需求,这时在修改就为时已晚了;其次一个故障在软件开发的不同阶段进行修改所要付出的代价是很不相同的,越早引入变动所花的代价越小,根据美国一些软件公司的统计资料,在后期引入一个变动比在早起引入相同变动所需付出的代价高2-3个数量级。

软件工程习题及答案.doc

软件工程习题及答案.doc

软件工程习题及答案:一、选择题:D1. 为了提升测试的效率,应当。

A、随机地选用测试数据B、取全部可能的输入数据作为测试数据C、在达成编码后拟订软件的测试计划D、选择发现错误可能性大的数据作为测试数据D2. 与设计测试数据没关的文档是。

A、需求说明书B、设计说明书C、源程序D、项目开发设计B3. 结构设计是一种应用最宽泛的系统设计方法,是以为基础、自顶向下、逐渐求精和模块化的过程。

A、数据流B、数据流图C、数据库D、数据结构A4. 纲要设计的结果是供给一份。

A、模块说明书B、框图C、程序D、数据结构B5. 需求剖析是由剖析员经认识用户的要求,仔细仔细地调研、剖析,最后应成立目标系统的逻辑模型并写出。

A、模块说明书B、软件规格说明书C、项目开发计划D、合同文档D6. 说明是提升程序可读性的有效手段,好的程序说明占到程序总量的。

A、 1/6B、 1/5C、1/4 D 、 1/3A7. 变换型和事务型是程序结构的标准形式。

从某处获取数据,再对这些数据作办理,而后将结果送出是属于。

A、变换型B、事务型B8. PAD( Problem Analysis Diagram )图是一种工具。

A、系统描述B、详尽设计C、测试D、编程协助A9. 排错一般是在测试发现错误后进行,此中找到错误地点占排错总工作量的。

A、 95%B、 5%C、 50%D、 20%A10. 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描述了系统的。

A、总貌B、细节C、抽象D、软件的作者B11. 数据流图中,当数据流向或流自文件时,。

A、数据流要命名,文件不用命名B、数据流不用命名,有文件名就足够了C、数据流和文件均要命名,因为流出和流进数据流是不一样的D、数据流和文件均不要命名,经过加工可自然反应出B12. 剖析员是。

A、用户中系统的直接使用者B、用户和软件人员的中间人C、软件的编程人员D、用户和软件人员的领导A13. 在软件开发中,有益于发挥集体智慧的一种做法是。

大工秋《软件工程》离线作业答案

大工秋《软件工程》离线作业答案

大工秋《软件工程》离线作业答案第一题:软件工程的定义和目标软件工程是一门研究和应用如何以系统化、规范化、可度量的方法开发和维护软件的学科。

它涉及软件生命周期的所有阶段,包括软件需求分析、设计、编码、测试、部署和维护。

软件工程目标主要有以下几点:1.提高软件质量:通过应用系统化的方法和技术,保证软件的正确性、可靠性、可用性和安全性。

2.提高软件开发效率:通过规范化的过程和工具,提高软件开发团队的协作效率,减少开发周期。

3.控制软件开发成本:通过有效的项目管理和资源分配,控制软件开发成本,提高投资回报率。

4.降低软件维护成本:通过设计可维护的软件系统,降低软件维护的难度和成本。

第二题:软件过程模型的分类及特点软件过程模型是指按照某种方式组织和管理软件开发活动的一种方法。

常见的软件过程模型有以下几种:1.瀑布模型(Waterfall Model):线性顺序的软件开发过程模型,按照需求分析、设计、编码、测试和部署的顺序依次完成。

特点是阶段划分明确,适用于需求变更较少的项目。

2.增量模型(Incremental Model):将软件系统划分为多个小的增量,每个增量在瀑布模型的基础上进行迭代开发。

特点是可以快速交付部分可用的软件产品,适用于需求变更频繁的项目。

3.原型模型(Prototype Model):通过快速构建原型,让用户参与并提供反馈,然后根据反馈进行迭代开发。

特点是可以及早获得用户需求,适用于需求不明确的项目。

4.敏捷模型(Agile Model):强调快速响应需求变化和高度自我组织的软件开发方法。

采用迭代、增量的方式开发,注重团队协作和用户参与。

特点是适用于需求变化频繁且复杂的项目。

第三题:软件需求分析的过程和方法软件需求分析是指明确和理解用户对软件系统的需求,为软件的设计和开发提供基础。

软件需求分析的过程包括以下几个阶段:1.需求获取:通过与用户、项目经理等进行交流和访谈,收集软件需求的初步信息,了解用户的期望以及软件所需的功能和性能。

《软件工程》作业与参考答案

《软件工程》作业与参考答案

一、填空(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行以下。

答:正确的叙述有②、③、④、⑦、⑧。

(完整版)软件工程习题+答案(可编辑修改word版)

(完整版)软件工程习题+答案(可编辑修改word版)

一、选择题1.软件开发瀑布模型中的软件定义时期各个阶段依次是:(B)A)可行性研究,问题定义,需求分析。

B)问题定义,可行性研究,需求分析。

C)可行性研究,需求分析,问题定义。

D)以上顺序都不对。

(软件开发时期:概要设计、详细设计、软件实现、软件测试)2.可行性研究主要从以下几个方面进行研究:(A)A)技术可行性,经济可行性,操作可行性。

B)技术可行性,经济可行性,系统可行性。

C)经济可行性,系统可行性,操作可行性。

D)经济可行性,系统可行性,时间可行性。

3.耦合是对软件不同模块之间互连程度的度量。

各种耦合按从强到弱排列如下:(C)A)内容耦合,控制耦合,数据耦合,公共环境耦合。

B)内容耦合,控制耦合,公共环境耦合,数据耦合。

C)内容耦合,公共环境耦合,控制耦合,数据耦合。

(内容耦合、公共耦合、外部耦合、控制耦合、特征耦合、数据耦合)D)控制耦合,内容耦合,数据耦合,公共环境耦合。

4.在详细设计阶段所使用到的设计工具是:(C )A)程序流程图,PAD 图,N-S 图,HIPO 图,判定表,判定树.B)数据流程图,Yourdon 图,程序流程图,PAD 图,N-S 图,HIPO 图。

C)判定表,判定树,PDL,程序流程图,PAD 图,N-S 图。

D)判定表,判定树,数据流程图,系统流程图,程序流程图,层次图。

详细设计阶段工具:判定表、判定树、数据流程图、系统流程图、程序流程图、PAD 图、N-S 图、PDL在软件详细设计阶段,常用的图形描述工具有程序流程图,盒图(NS 图)和问题分析图(PAD) .常用的语言描述工具为 PDL(程序设计语言) ,常用的表格描述工具有判定表和判定树.DFD 数据流图:总体设计阶段5.按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:(A)A)模块的作用域应在模块的控制域之内。

B)模块的控制域应在模块的作用域之内。

C)模块的控制域与模块的作用域互相独立。

D)以上说法都不对。

2016年上半年程序员考试真题及答案解析

2016年上半年程序员考试真题及答案解析

全国计算机技术与软件专业技术资格(水平)考试2016年上半年程序员上午试卷(考试时间9 : 00 〜11 : 30 共150分钟)1. 在答题卡的指定位置上正确写入你的姓名和准考证号,并用正规2B铅笔在你写入的准考证号下填涂准考证号。

2. 本试卷的试题中共有75个空格,需要全部解答,每个空格1分,满分75分。

3. 每个空格对应一个序号,有A、B、C、D四个选项,请选择一个最恰当的选项作为解答,在答题卡相应序号下填涂该选项。

4. 解答前务必阅读例题和答题卡上的例题填涂样式及填涂注意事项。

解答时用正规2B铅笔正确填涂选项,如需修改,请用橡皮擦干净,否则会导致不能正确评分。

例题• 2016年上半年全国计算机技术与软件专业技术资格(水平)考试日期是(88)月(89)日。

(88) A. 3 B. 4 C. 5 D. 6(89) A. 20 B. 21 C. 22 D. 23因为考试日期是“ 5月20日”,故(88)选C,(89)选A,应在答题卡序号88下对C填涂,在序号89下对A填涂(参看答题卡)•在windows系统中,若要将文件“ D: \user\my.doc"设置成只读属性,可以通过修改该文件的」)来实现。

将文件设置为只读属性可控制用户对文件的修改,这一级安全管理称之为( 2 )安全管理。

(1) A.属性 B.内容 C.文件名 D.路径名(2) A.用户级 B.目录级 C.文件级D.系统级•某公司员工技能培训课程成绩表如下所示。

若员工笔试成绩、技能成绩和岗位实习成绩分别占综合成绩的25% 20唏口55%那么可先在E3:单元格中输入(3),再向垂直方向拖动填充柄至E10单元格,则可自动算出这些员工的综合成绩。

若要将及格和不及格的人数统计结果显示在B11和E11单元格中,则应在B11和E11中分别填写(4)。

(3)A. =B$3*0.25+C$3*0.2+D$3*0.55B. =B3*0.25+ C3 *0.2+ D3*0..55C. =SUM (B$3*0.25+C$3*0.2+D$3*0.55)D. = SUM ($B$3*0.25+ $C$3 *0.2+ $D$3*0.55)(4) A. =COUNT(E3:E10,>= 60和=COUNT(E3:E10,v 60)B . =COUNT(E3:E10: >= 60”)和=COUNT(E3:E10: < 60 ”)C . =COUNTIF(E3:E10,>= 60)和=COUNTIF(E3:E10,v 60)D . =COUNTIF(E3:E10” >= 60”)和=COUNTIF(E3:E10” < 60 ”)•电子邮件地址“ linxin@ ”中的linxin 、@口 分别表示用户信箱的(5)(5) A.帐号、邮件接收服务器域名和分隔符B. 帐号、分隔符和邮件接收服务器域名C. 部件接收服务器域名、分隔符和帐号D. 邮件接收服务器域名、帐号和分隔符• CPU是一块超大规模的集成电路,主要包含(6)等部件。

(完整版)《软件工程》作业及答案.

(完整版)《软件工程》作业及答案.

《软件工程》作业及答案1-1 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。

软件危机典型表现:对软件开发成本和进度的估计常常很不准确。

用户对“已完成的”软件系统不满意的现象经常发生。

软件产品的质量往往靠不住。

软件常常是不可维护的。

软件通常没有适当的文档资料。

软件成本在计算机系统总成本中所占的比例逐年上升。

软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。

产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。

软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。

管理和控制软件开发过程相当困难。

软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。

目前相当多的软件专业人员对软件开发和维护还有不省糊涂观念,在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。

1-2 假设你是一家软件公司的总工程师,当你把图1.1给手下的软件工程师们观看,告诉他们及早发现并改正错误的重要性时,有人不同意你的观点,认为要求在错误进入软件之前就清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”你怎么反驳他?1-3 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机?答:软件工程是指导计算机软件开发和维护的一门工程学科。

采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。

软件工程本质特性:1、软件工程关注于大型程序的构造;2、软件工程的中心课题是控制复杂性;3、软件经常变化;4、开发软件的效率非常重要;5、和谐地合作是开发软件的关键;6、软件必须有效地支持它的用户;7、在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品。

软件工程习题及参考答案

软件工程习题及参考答案

软件工程习题及参考答案软件工程习题及部分参考答案判断题软件也会磨损和老化。

(X)完善性维护是提高或完善软件的性能。

(√)数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。

(X)软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。

(X)软件模块之间的耦合性越弱越好。

(√)如果通过软件测试没有发现错误,则说明软件是正确的。

(X)快速原型模型可以有效地适应用户需求的动态变化。

(√)模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。

(√)集成测试主要由用户来完成。

(X)确认测试计划应该在可行性研究阶段制定(X)白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。

(X)软件概要设计包括软件系统结构设计以及数据结构和数据库设计。

(√)软件工程采用的生存周期方法就是从时间角度对软件的开发和维护这个复杂问题进行分解,将软件生存的时期分为若干阶段。

(√)系统流程图表达的是部件的信息流程,还表示对信息进行加工处理的控制过程。

(╳)模块越多,开发成本越小。

(╳)软件测试的目的就是证明软件没有错。

(╳)PAD图在设置了五种基本的控制结构后,还允许递归使用。

(√)在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。

(×)SA法是面向数据流,建立在数据封闭原则上的需求分析方法。

(√)HIPO 法既是需求分析方法,又是软件设计方法。

(√)在面向对象的需求分析方法中,建立动态模型是最主要的任务。

(×)加工小说明是对系统流程图中的加工进行说明。

(×)判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。

(×)需求分析的主要方法有SD 法、OOA 法及HIPO 法等。

(×)分层的DFD 图可以用于可行性分析阶段,描述系统的物理结构。

2016软考试题及答案

2016软考试题及答案

2016软考试题及答案2016年软考(全国计算机技术与软件专业技术资格(水平)考试)试题及答案一、单项选择题(每题1分,共40分)1. 软件工程的主要目标是()。

A. 提高软件的生产率B. 提高软件的运行效率C. 提高软件的可靠性D. 提高软件的可维护性答案:A2. 在软件开发过程中,需求分析阶段的主要任务是()。

A. 确定软件的功能需求B. 设计软件的总体结构C. 编写软件的详细设计文档D. 进行软件的测试答案:A3. 以下哪个不是软件测试的目的()。

A. 发现软件中的缺陷B. 验证软件的功能是否符合需求C. 评估软件的性能D. 修复软件中的缺陷答案:D4. 软件项目管理的主要内容包括()。

A. 进度管理、成本管理、质量管理B. 人员管理、风险管理、沟通管理C. 需求管理、配置管理、文档管理D. 以上都是答案:D5. 以下哪个不是敏捷开发的特点()。

A. 迭代开发B. 强调团队合作C. 重视文档编写D. 适应变化答案:C6. 在面向对象的分析和设计中,以下哪个概念用于表示对象的状态()。

A. 类B. 对象C. 属性D. 方法答案:C7. 在数据库设计中,以下哪个概念用于确保数据的完整性()。

A. 主键B. 外键C. 索引D. 视图答案:B8. 以下哪个不是操作系统的功能()。

A. 进程管理B. 存储管理C. 设备管理D. 数据加密答案:D9. 在网络通信中,以下哪个协议用于传输控制()。

A. TCPB. IPC. UDPD. FTP答案:A10. 以下哪个不是信息安全的主要威胁()。

A. 病毒B. 黑客攻击C. 系统故障D. 自然灾害答案:C(注:以上为部分题目示例,完整题目及答案请参考官方发布的考试资料。

)二、案例分析题(每题5分,共20分)1. 某软件开发项目在需求分析阶段,项目经理发现需求文档中存在大量的模糊和不明确的地方,这可能导致项目延期和成本超支。

请问项目经理应该如何处理这个问题?答案要点:- 项目经理应该组织需求评审会议,邀请需求方、开发团队和测试团队共同参与,对需求文档进行详细的讨论和澄清。

2016软件工程作业及答案

2016软件工程作业及答案

《软件工程》作业第‎一章1.什么是‎软件‎危机,它有哪‎些典型表‎现?答‎:软件危机‎是指‎在计算机软件的开‎发和维护过程中所遇到‎的一系列严重问题‎。

概‎括地说,软件‎危机包含‎下述两方‎面的问题:如‎何开‎发软件,以满足对‎软件日益增长的需求;‎如何维护数量不断‎膨胀‎的已有软件。

‎软件危‎机典型表‎现:对软件开‎发成‎本和进度的估计常‎常很不准确。

用户对“‎已完成的”软件系‎统不‎满意的现象经‎常发生。

‎软件产品‎的质量往往靠‎不住‎。

软件常常是不可‎维护的。

软件通常没有‎适当的文档资料。

‎软件‎成本在计算机‎系统总成‎本中所占‎的比例逐年上‎升。

‎软件开发生产率提‎高的速度,远远跟不上‎计算机应用迅速普‎及深‎入的趋势。

‎产生软件‎危机的原‎因:一方面与‎软件‎本身的特点有关,‎另一方面也和软件开发‎与维护的方法不正‎确有‎关。

软件不同‎于硬件,‎它是计算‎机系统中的逻‎辑部‎件而不是物理部件‎。

管理和控制软件开发‎过程相当困难。

软‎件是‎规模庞大,而‎且程序复‎杂性将随‎着程序规模的‎增加‎而呈指数上升。

目‎前相当多的软件专业人‎员对软件开发和维‎护还‎有不省糊涂观‎念,在实‎践过程中‎或多或少地采‎用了‎错误的方法和技术‎,这是使软件问题发展‎成软件危机的主要‎原因‎。

2.简述‎产生软件‎危机的原‎因和解决的思‎路。

‎答:软件危机产‎生的原因一方面与软件‎本身的特点有关,‎另一‎方面,是与已‎有软件开‎发、维护‎的方法不正确‎有密‎切关系。

解决‎软件危机,既要有技术‎措施(方法和工具‎),‎又要有必要的‎组织管理‎措施。

即‎采用工程化的‎原则‎和方法组织软件开‎发是摆脱软件危机的一‎个主要出路。

3‎.什‎么是软件工程‎?它有哪‎些本质特‎性?答: ‎软件‎工程是指导计算机‎软件开发和维护的一门‎工程学科。

采用工‎程的‎概念、原理、‎技术和方‎法来开发‎与维护软件,‎把经‎过时间考验而证明‎正确的管理技术和当前‎能够得到的最好的‎技术‎方法结合起来‎,以经济‎地开发出‎高质量的软件‎并有‎效地维护它。

软件工程基础习题集答案-2

软件工程基础习题集答案-2

软件⼯程基础习题集答案-2软件⼯程基础习题集答案-2《软件⼯程基础》习题集答案第⼀章概述1.什么是软件危机,它有哪些典型表现?所谓“软件危机”就是,在计算机软件的开发和维护过程中所遇到的⼀系列严重的问题,概括起来归纳为:如何开发软件,以满⾜⽇益增长、⽇趋复杂的需要;如何维护数量不断膨胀的已有软件。

软件危机的典型表现主要有:a. 开发成本和进度不能准确估计b. 开发出来的软件不能满⾜⽤户的要求c. 软件的可维护性差d. 软件质量不可靠e. 软件成本在系统中的⽐重逐年上升f. 软件开发⽣产率的提⾼速度不够2.简述产⽣软件危机的原因和解决的思路。

软件危机产⽣的原因⼀⽅⾯与软件本⾝的特点有关,另⼀⽅⾯,是与已有软件开发、维护的⽅法不正确有密切关系。

解决软件危机,既要有技术措施(⽅法和⼯具),⼜要有必要的组织管理措施。

即采⽤⼯程化的原则和⽅法组织软件开发是摆脱软件危机的⼀个主要出路。

3.什么是软件⼯程?它有哪些本质特性?软件⼯程是⼀门研究如何⽤系统化、规范化、数量化等⼯程原则和⽅法进⾏软件开发和维护的学科。

其实质就是⽤⼯程的概念、原理、技术和⽅法,结合有效的管理⽅法和先进的开发技术,开发与维护软件,以解决软件危机。

4.软件⼯程是如何⽤来消除软件危机的?软件⼯程是从技术和管理两个⽅⾯来研究如何更好地开发和维护计算机软件,从源头上消除软件危机。

6.简述软件的定义。

软件=程序 + 数据 + ⽂档7.软件⼯程的⽬的是什么?为⾼质量的软件开发提供⼀个科学的体系框架。

8.什么是软件⼯程⽅法学?软件⼯程是⼀种什么样的技术?包括哪三⼤要素?分为哪三个分⽀?软件⼯程⽅法学就是指在软件⽣命周期全过程中使⽤的⼀整套管理和开发技术⽅法的集合。

⽬前,使⽤最⼴泛的软件⼯程⽅法学分别是传统⽅法学和⾯向对象⽅法学。

软件⼯程作为⼀种层次化的技术,有⽅法、⼯具和过程三⼤要素,并由于其涉及学科内容的极为⼴泛,⽽分为三个分⽀:软件开发技术、软件项⽬管理技术、软件质量管理技术。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

浙江大学远程教育学院《软件工程基础》课程作业—————————————————————————————第一章概述1.什么是软件危机,它有哪些典型表现?答:所谓“软件危机”就是,在计算机软件的开发和维护过程中所遇到的一系列严重的问题,概括起来归纳为:如何开发软件,以满足日益增长、日趋复杂的需要;如何维护数量不断膨胀的已有软件。

软件危机的典型表现主要有:1. 开发成本和进度不能准确估计2. 开发出来的软件不能满足用户的要求3. 软件的可维护性差4. 软件质量不可靠5. 软件成本在系统中的比重逐年上升6. 软件开发生产率的提高速度不够2.简述产生软件危机的原因和解决的思路。

答:软件危机产生的原因一方面与软件本身的特点有关,另一方面,是与已有软件开发、维护的方法不正确有密切关系。

解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。

即采用工程化的原则和方法组织软件开发是摆脱软件危机的一个主要出路。

3.什么是软件工程?它有哪些本质特性?答:软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法进行软件开发和维护的学科。

其实质就是用工程的概念、原理、技术和方法,结合有效的管理方法和先进的开发技术,开发与维护软件,以解决软件危机。

4.软件工程是如何用来消除软件危机的?答:软件工程是从技术和管理两个方面来研究如何更好地开发和维护计算机软件,从源头上消除软件危机。

5.假设你是某软件开发企业的CEO,当你把教材P.4的图1.1给手下的软件工程师们看,同时告诉他们应及早发现并改正错误的重要性时,有人不以为然,认为要求在错误进入软件前就发现并清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么又如何能够在设计阶段就发现并清除呢?”那你应该如何说服?答:首先要对错误造成工作的延误或一些问题表示歉意。

错误是难免,关键是要虚心接受,在以后工作中要更加认真,避免错误机率降到最低。

在编码过程中要,首先要在头脑清醒,要保持工作前有足够的睡眠。

这样错误机会也会降小。

在编程结束后,首先要验证,是否能正常运行或工作。

再以后的工作更要虚心,认真,保证这种机会降到最低。

6.简述软件的定义。

答:软件=程序+ 数据+ 文档7.软件工程的目的是什么?答:为高质量的软件开发提供一个科学的体系框架。

8.什么是软件工程方法学?软件工程是一种什么样的技术?包括哪三大要素?分为哪三个分支?答:软件工程方法学就是指在软件生命周期全过程中使用的一整套管理和开发技术方法的集合。

目前,使用最广泛的软件工程方法学分别是传统方法学和面向对象方法学。

软件工程作为一种层次化的技术,有方法、工具和过程三大要素,并由于其涉及学科内容的极为广泛,而分为三个分支:软件开发技术、软件项目管理技术、软件质量管理技术。

9.简述软件工程的基本原理。

答:软件工程有7条基本原理:1.严格按照软件生命周期计划进行管理2.坚持进行阶段评审3.实行严格的产品控制4.采用先进的程序设计技术5.结果应能清楚的审查6.开发小组成员应少而精7.承认不断改进软件工程实践的必要性10.软件工程的基本开发原则有哪些?答:软件工程的基本开发原则有:1.模块化2.抽象和信息隐蔽3.模块的高内聚和低耦合4.确定性5.一致性6.完备性11.构成软件工程的基本元素有哪些?答:除了前面给出的软件工程三大要素,还应该包括控制和质量保证。

这里的控制,即规模控制、成本控制、复杂性控制等。

12.什么是软件过程?它与软件工程方法学有何关系?答:软件过程是指为了获得高质量软件产品,在软件工具支持下,由软件人员完成的一系列软件工程活动。

软件过程规定了开发软件所需完成的各项任务步骤。

过程步骤的设定与软件生命周期、生命周期模型、软件开发工具,以及参与开发的人员等诸方面因素有关。

13.什么是软件生命周期?什么是软件生命周期模型?答:软件如同自然界任何事物一样,都有其孕育、诞生、成长、成熟、衰亡的生存过程。

软件的这一过程,称为软件生命周期。

软件生命周期模型也称软件开发过程模型,是为了解决产业环境中的实际问题,而提出的开发策略。

是反映整个软件生命期中,系统开发、运行、维护等实施活动的一种结构框架。

14.简述软件生命周期方法学的途径,以及划分阶段步骤的目的和实质。

答:软件生命周期方法学是软件工程的传统途径,划分阶段步骤的目的和实质是:控制开发工作的复杂性,通过有限步骤,把抽象逻辑概念,转化为具体物力实现。

15.试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优缺点,说明它们各自的适用范围。

答:1.瀑布模型。

瀑布模型广为人知和历史悠久,其优势是规范及文档驱动的方法。

但问题是,往往不能够真正满足用户的需求。

适用于传统软件工程领域的结构化开发。

2.原型模型。

是为了克服瀑布模型的缺点而提出来的。

通过快速构建一个在机器上可运行的原型系统,让用户试用原型,并收集反馈意见的办法,来获取用户真实的需求。

3.螺旋模型。

螺旋模型适用于大型软件项目,比起之前的其它模型而言,有其一定的优越性,但这些优越性并不是绝对的。

主要体现在对开发人员的风险评估经验和专门知识的要求较高。

如果项目风险较大,而开发人员的水平较低,不能准确的识别和分析风险,则势必造成重大损失。

4.增量模型。

具有在软件开发早期阶段使投资获得明显回报和交易维护的优点,但是要求软件具有开放的结构。

第二章可行性研究1.在软件开发的早期阶段,为什么要进行可行性研究?其目的和任务各是什么?答:可行性研究的目的是用最小的代价,在尽可能短的时间内确定问题是否可解决,以及是否值得解决。

可行性研究的任务不是解决问题,而是确定是否可解/值得解。

2.应该从哪些方面研究目标系统的可行性?答:主要从以下几个方面进行可行性研究:1. 技术可行性。

以现有技术,能否在预定时间内完成该系统开发。

2. 经济可行性。

通过成本-效益分析,估算系统的整体经济效益是否满足要求。

3. 操作可行性。

分析系统的运行方式、操作规程是否适应用户应用需要。

4. 社会可行性。

分析系统在法律、社会、市场等方面的认可度。

3.可行性研究有哪些工作步骤?答:(1) 复查定义,确定系统规模和目标。

(2) 研究老系统(3) 导出高层逻辑模型(conceptual design)(4) 重新定义(5) 导出多种解法(6) 推荐行动方针(7) 开发计划(粗略)(8) 审查、存档4.简述系统流程图在可行性研究中的作用。

答:系统流程图是概括的描述物理系统的传统工具。

系统流程图反映的是信息在系统各部分间流动的情况。

系统流程图可以帮助了解和分析系统,以概括的方式表达对系统的认识,并可以描述未来物理系统的概貌。

5.简述数据流图在可行性研究中的作用和用途。

答:数据流图在可行性分析中可以帮助分析和描绘数据在软件中流动和被处理的逻辑过程,用图形的方式描述系统的逻辑功能,是系统分析员和用户之间理想的通信工具。

6.简单描述数据字典的内容和定义数据的方法。

答:数据字典主要由下列4种元素定义组成:1.数据流2.数据流分量3.数据存储4.处理除了数据定义外,数据字典还应包含一些关于数据的其它信息。

定义数据的方法通常采用自顶向下分解的方式。

并由顺序、选择、重复三种基本数据元素类型组成数据。

7.说明软件计划的内容和目标。

答:软件计划的内容=项目任务范围+ 环境资源+ 工作量+ 进度软件计划的目标是为了提供一个框架,以便于管理者对资源、成本和进度等进行合理的估算。

8.什么是软件范围?定义软件范围需要哪些信息?答:软件范围就是在技术和管理层面上都是无二义性和可理解的项目范围,是软件开发各阶段的工作依据。

定义软件范围需要以下信息:a. 与用户、总体目标及利益相关的问题。

b. 有利于系统分析员理解的问题。

c. 集中于交流效果的问题。

9.简述软件开发环境资源的三个层次。

答:软件开发环境资源由三个层次构成:开发环境、软件构件以及最重要的资源——人。

10.软件环境资源的特征有哪些?它们对制定软件计划都有哪些意义?答:每一类资源都有四个特征:资源描述、可用性说明和资源提供的时间、资源使用的延续时间。

可以为制定软件计划估算软件开发所需的资源。

11.软件计划中,安排软件开发进度主要可以用哪些工具?都有哪些优缺点?答:编制进度计划的常用工具主要有甘特图和网络计划法。

甘特图的优点是简单,能动态地反映开发进展;缺点是难以反映多个任务间的逻辑关系。

网络计划法则恰好弥补了甘特图的缺点,最适合反映多个工作之间的逻辑关系。

12.主要的成本估计技术有哪些?其依据的主要是什么?答:主要有,代码行技术。

是一种基于规模的分解估算:D= f(vi)以及基于问题的分解估算:EV=(Sopt+4Sm+Spess)/6还有功能点技术。

这种技术以功能点(FP)为单位,度量软件的规模。

由于项目本身的复杂性,因此,成本估计技术主要采用“分而治之”的分解技术对软件项目进行估算。

13.为什么说成本估计是不可能精准的?答:那是由于太多的变化因素——人员、技术、环境、策略、复杂性等等,使得成本估算永远不可能精确。

14.进行成本/效益分析的方法主要有哪些?答:常用成本/效益分析的方法主要有:(1) 货币的时间价值(2) 投资回收期(3) 纯收入(4) 投资回收率15.软件计划的主要内容有哪些?答:最重要的是需求分析,然后是测试。

规格说明书,其中包括程序构架、模块功能以及编码规范等,零售软件还要有发布和维护等。

具体的计划会因为软件规模、客户要求和公司实力、风格等游说不同,但大体上就这几个部分。

测试是要贯穿始终的,从需求阶段就开始测试。

16.如何对制定完成的软件计划进行复审?为什么要复审?答:软件计划的复审通常涉及有关软件工作范围和软硬件资源问题等。

复审应该邀请用户参加,用户可提出建议,并与开发人员最终商定内容。

复审内容分为技术和管理两个方面:技术方面需要考虑的问题有:系统的任务是否合理;系统的给你复杂性是否与开发成本、进度以及风险一致;系统规格说明书是否足够充分;系统性能要求是否恰当管理方面需要考虑的问题有:计划中描述的工作范围是否符合用户需求?计划中对资源的描述是否有效、合理?计划中系统的开发成本与进度要求是否合理?计划中人员的安排是否合理?系统开发存在哪些风险?复审可以尽早发现错误,复审是软件质量保证的重要措施。

17.为方便储户,某银行拟开发计算机储蓄系统。

储户填写的存款单或取款单由业务员键入系统。

如果是存款,系统记录存款人的姓名、地址、存款类型、存款日期、存款数量和利率等信息,并印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户。

请写出问题定义并分析此系统的可行性。

答:该案例是分析开发计算机储蓄系统的可行性。

技术可行性:使用现有的技术可以完成该系统经济可行性:这个系统的经济效益可以超过它的可发成本,可以节省时间和金钱操作可行性:系统的操作方式在这个用户组织内可以行得通同时,此系统不违反法律,有巨大的社会效益。

相关文档
最新文档