第一章 软件工程概念

更新时间:2024-03-16 03:58:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第一章 软件工程概念.................................................2 第二章 需求分析....................................................7 第三章 软件设计..................................................17 第四章 面向对象技术...............................................23 第五章 面向对象分析与设计..........................................27 第六章 软件体系结构...............................................32 第七章 软件测试...................................................34 第八章 面向对象的测试.............................................39 第九章 软件质量..................................................40 第十章 项目管理...................................................42 1

第一章 软件工程概念 一、名词解释 1、软件软件:是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合 程序是按事先设计的功能和性能要求执行的指令序列 数据是使程序能正常操纵信息的数据结构 文档是与程序开发,维护和使用有关的图文材料 2、软件工程:将系统化的,规范的,可度量的方法应用于软件的开发 , 运行和维护的过程,即将工程化应用于软件中 3、软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。概括来说,软件危机包含两方面问题:如何开发软件,以满足不断增长,日趋复杂的需求;如何维护数量不断膨胀的软件产品。 4、软件的生存期:软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。通常,把软件从开始研制(形成概念)到最终软件被废弃不用这整个阶段称为软件的生存期 二、选择题 1、软件是一种( B )产品 A.有形 B.逻辑 C.物质 D.消耗 2、软件工程与计算机科学性质不同,软件工程着重于( C ) A.原理探讨 B.理论研究 C.建造软件系统 D.原理的理论 3、软件工程方法学的目的是使软件生产规范化和工程化,而软件工程方法学得以实施的主要保证是( C ) A.硬件环境 B. 开发人员的素质 C.软件开发工具和软件开发环境 D.软件开发环境 4、软件工程学科出现的主要原因是( C ) A.计算机的发展 B.其他工程学科影响 C.软件危机的出现 D.程序设计方法学的影响 5、下面不属于软件开发技术的是( D ) A.软件开发方法学 B.软件工具 C.软件工程开发环境 D.软件管理学 6、下面软件工程目标之间的为互次关系的是( A )。 A.低成本开发与按时交付 B。高可靠性与高性能 C.高性能与低成本开发 D.高性能与按时交付 7、下列哪一项属于软件工程原则。( ) A 重视开发过程的管理 B. 重视软件病毒的防治 C. 提供较高的费用支持 D. 重视软件的使用方法 8、软件工程是计算机科学中的一个分支,其主要思想是在软件生产中用下列哪种方法代替传统手工方法。() A. 工程化 B. 现代化 C. 科学 D. 智能化 9、软件工程是一类求解软件的工程。它涉及计算机科学、数学、管理科学和( )。 2

A 心理学 B. 工程科学 C. 方法学 D. 现代科学 10、在软件工程中,工程科学用于制定规范、设计范型、确定权衡和( )。 A 评估成本 B. 构造算法 C. 建立模型 D. 支持管理 11、软件工程学科的研究内容主要包括:软件开发模型、软件过程、软件工具、软件开发环境、计算机辅助软件工程(CASE)以及软件经济学和( )。 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.增量模型 D.演化模型 17、在软件开发模型中,下列哪一个模型将软件生存周期的各项活动规定为依固定顺序连接的若干阶段的模型。( ) A.喷泉模型 B.瀑布模型 C.增量模型 D.演化模型 18、螺旋模型在笛卡儿坐标的四个象限上分别表达四个方面的活动。制定计划、风险分析、实施工程和( )。 A.客户培训 B.客户测试 C. 客户评估 D.客户理解 20、 软件危机出现于____,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。 A.50年代末 B.60年代初 C.60年代末 D.70年代初 A.运筹学 B.工程学 C.软件学 D.软件学 E.数字 21、开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作____。 A.软件投机 B.软件危机 C.软件工程 D.软件产生 22、产生软件危机的原因有如下几点,除了______。 A、 软件开发过程未经审查 B、 软件开发不分阶段,开发人员没有明确的分工 C、 所开发的软件,除了程序清单外,没有其他文档 D、 采用工程设计的方法开发软件,不符合软件本身的特点 23、软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是____。 A.引入新技术提高空间利用率 B.用较少的投资获得高质量的软件 C.缩短研制周期扩大软件功能 D.硬软件结合使系统面向应用 24、请按顺序写出软件生命期的几个阶段____,____ ,____,____,____,____。 A.维护 B.测试 C.详细设计 D.概要设计 E.编码 F.需求分析 25、 瀑布模型把软件生存周期划分为软件定义、软件开发和____三个阶段,而每一阶段又可细分为若干个更小的阶段。 A.详细设计 B.可行性分析 C.运行及维护 D.测试与排错

3

26、 软件是( )。 A. 处理对象和处理规则的描述 B. 程序 C. 程序及其文档 D. 计算机系统 27、 瀑布模型与演化模型的主要区别是( )。 A. 活动不同 B. 项目的规模不同 C. 项目管理方法不同 D. 活动组织的方法不同 28、 软件生命周期一般包括三个时期:软件定义期、软件开发期和软件运行期。下述( )不是软件开发期所应包含的活动。 A. 可行性分析 B. 需求获取和需求建模 C. 软件体系结构设计和数据设计 D. 软件集成与系统测试 29、 软件开发方法学应给出的主要内容是( )。 A. 开发模型 B. 测试方法 C. 开发工具与环境 D. 概念与表示、过程与工具 三、简述题 1、软件工程过程定义了: 方法使用的顺序、要求交付的文档资料、为保证质量和适应变化所需要的管理、软件开发各个阶段完成的里程碑。 2、软件工程过程包含四种基本的过程活动:软件规格说明、 软件开发、软件确认、软件演进。 3、常用的软件生存周期模型有瀑布模型,演化模型,螺旋模型,增量模型,喷泉模型,快速应用开发( RAD )模型。 4、谈谈你是如何理解软件危机的? 软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。概括来说,软件危机包含两方面问题:如何开发软件,以满足不断增长,日趋复杂的需求;如何维护数量不断膨胀的软件产品。 软件危机产生的原因 产生软件危机有两个方面的原因: 内部因素。与软件本身的特点有关。内在因素是客观的存在,只能因势利导加以解决。 外部因素。与软件开发和维护的技术方法有关。外部因素是可以完善、提高的。 软件特点的因素 软件是逻辑产品,是代码化了的人的思维活动。在总体构思时,别人无法管理和干预。在写出程序、并在机器上运行之前,进展情况难以掌握,开发质量也无法评估。这些都给管理和控制带来不便。 软件是特定问题在计算机上的运行描述。实际问题的复杂性决定了一个实用软件系统规模往往十分庞大。程序规模越大,控制、管理难度也就越大。 软件开发维护技术方法的因素 开发人员和用户之间的矛盾。许多软件系统开发失败的主要原因是开发人员在没有准确、完整地了解了用户的需求后就急于编程;用户对需求也往往不能准确、完整地提出。 软件产品有其生命周期。在周期的各个阶段有其具体的任务,如何完成任务,各个阶段有不同的技术方法和操作步骤。只有科学的按生命周期各阶段的任务去组织实施,才能保证质量,降低成本;急于求成,不按科学规律、方法实施,只能“事倍功半”,事与愿违。 解决软件危机的途径 首先应该树立对计算机软件的正确认识。软件是计算机系统中与硬件相互依存的另一

4

部分,它是包括程序,数据及其相关文档的完整集合;程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正常操纵信息的数据结构;文档是与程序开发,维护和使用有关的图文材料。 软件开发应该是组织良好、管理严密、各类人员团结协作共同完成的工程项目。必须充分吸取和借鉴人类长期以来从事各种工程项目所积累的行之有效的原理、概念、技术和方法,并研究能更有效地开发软件的技术和方法。 积极开发和使用计算机辅助软件工程(CASE)工具。工具选用的好,它可以“放大”人的智力,大大加快软件开发速度,提高软件质量。 总之,为了解决软件危机就要从技术措施(方法和工具)和组织管理两个方面去研究。软件工程正是从技术和管理两方面研究如何更好地开发和维护软件的一门新兴的工程学科。 5、什么是软件工程过程? 软件工程过程是把输入转化为输出的一组彼此相关的资源和活动。 软件工程过程定义了: 方法使用的顺序、要求交付的文档资料、为保证质量和适应变化所需要的管理、软件开发各个阶段完成的里程碑。 从软件开发的观点看,它就是使用适当的资源(包括人员、硬软件工具、时间等),为开发软件进行的一组开发活动,在过程结束时将输入(用户要求)转化为输出(软件产品)。 5、什么软件生存周期?每个周期主要完成哪些任务? 通常,把软件从开始研制(形成概念)到最终软件被废弃不用这整个阶段称为软件的生存期。 软件生存周期:为了能对软件进行有条不紊、有步骤的开发和管理,将软件生存期划分为若干阶段,称为软件生存周期 软件生存周期可分为软件定义、软件开发及软件运行维护三个时期。 软件定义时期的任务是:确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该项工程需要的资源和成本,并制定工程进度表。该时期通常进一步划分为三个阶段,即问题定义、可行性研究和需求分析。 软件开发时期具体设计和实现在前一个时期定义的软件,它通常由四个阶段组成:总体设计、详细设计、编码和测试(包括单元测试、综合测试)。确定程序由哪些模块组成以及模块间的关系; 详细的设计每个模块,确定实现模块功能所需要的算法和数据结构;写出正确的容易理解、容易维护的程序模块,并仔细测试每个编写出的模块; 通过各种类型的测试(及相应的调试)使软件达到预定的要求。 软件运行维护时期主要任务是使软件持久地满足用户需要。 6、如何理解软件工程原理? ? 软件工程的基本原理有: 1) 用分阶段的生命周期计划严格管理:按软件生存期分阶段制定计划并认真实施,把整个软件开发过程视为一项工程,把工程划分为若干阶段,分别制定每个阶段的计划,逐个实施。 2) 坚持进行阶段评审 前一阶段的结果将成为下一阶段的依据。坚持阶段的评审才能保证错误不传播到下一阶段。 3) 实行严格的产品控制 将影响软件质量的因素在整个过程中置于严格控制之下。 4) 使用现代程序设计技术 先进的程序设计技术带来的是生产率和质量的提高。使用合适的开发模式和工具可以有效地建立功能强大的系统。 5) 明确责任,使得工作结果能够得到清楚的审查 开发组织严格划分责任并制定产品的标准,使得每个成员的工作有据可依,确保产品的质量。 5

1) 用人少而精 开发组织不在人多,在于每个人的技能适合要求。同时用人少而精,可减少沟通路径,提高生产率。 2) 承认不断改进软件工程实践的必要性 不断改进开发过程,在开发的过程中不断总结经验,改进开发的组织和过程,有效地通过过程质量的改进提高软件产品的质量。 、软件工程目标主要有哪些? ? 软件工程项目的基本目标有: 1) 付出较低的开发成本 2) 达到要求的软件功能 3) 取得较好的软件性能 4) 开发的软件易于移植 5) 需要较低的维护费用 6) 能按时完成开发工作,及时交付使用 6

7

7

本文来源:https://www.bwwdw.com/article/2yj8.html

Top