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. 程序设计方法学的影响8.软件工程方法学的研究内容包含软件开发技术和软件工程管理两个方面,其期望达到的最终目标是( )。

A.软件开发工程化B.消除软件危机C.实现软件可重用D.程序设计自动化9.由于软件生产的复杂性和高成本性,使大型软件的生存出现危机,软件危机的主要表现包括了下述( )方面。

①生产成本过高②需求增长难以满足③进度难以控制④质量难以保证A.①② B.②③ c.④ D.全部10.软件工程方法学中的软件工程管理是其中的一个重要内容,它包括软件管理学和软件工程经济学,它要达到的目标是( )。

A.管理开发人员,以开发良好的软件B.采用先进的软件开发工具,开发优秀的软件c.消除软件危机,达到软件生产的规模效益D.以基本的社会经济效益为基础,工程化生产软件11.软件工程方法学的目的是使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( )。

精品文档-软件工程经济学(赵玮)-第1章

精品文档-软件工程经济学(赵玮)-第1章

第1章 软件工程与软件工程经济学
第1章 软件工程与软件工程经济学
第1章 软件工程与软件工程经济学
第1章 软件工程与软件工程经济学
第1章 软件工程与软件工程经济学
除上述四种分类外,软件还可按工作方式分为实时处理软 件、多用户分时软件、交互式软件、批处理软件;按应用特性 分类可分为科学计算软件、工程控制软件、事务处理软件、信 息管理与决策支持软件。
第1章 软件工程与软件工程经济学
(5) 软件的成本构成与硬件产品相比,无需库存成本。 由于软件可以通过因特网进行销售,故其销售成本较低,且伴 随着软件向服务方向的转移,开发成本的比例越来越低,而使 用维护成本的比例越来越高。软件的开发成本除少量高端产品 外,多数成本额低于知识密集类的 硬件产品。
(6) 软件产品与硬件相比而言,市场的进入壁垒一般较 低,软件企业竞争十分激烈,这就迫使软件企业不能固守传统 产品,而要不断地推陈出新,更新换代。而用户由于要学会并 掌握一个软件需要花费很多时间和精力,因而一般不会轻易更 换其他同类软件使用,这种对用户具有捆绑性的营销策略是软 件产品所特有的。
第1章 软件工程与软件工程经济学 此外,我国的软件企业以中、小型为主,软件企业的人才结构 呈现出高端和低端人才相对缺少,中端人才居多的“橄榄形” 结构,从而使企业的成功更多地依赖于个别高端人才而不是团 队,同时也使大量的中端人才不得不从事低端人才的工作,极 大地浪费了资源,加大了人力资源管理的难度,再加上我国软 件的市场机制不够完善,企业管理不够成熟,“手工作坊式” 的业务流程,缺乏龙头企业的现状等都极大地阻碍了我国软件 企业在“与狼共舞”的竞争中的竞争能力。因此,我们必须正 视目前存在的上述问题,抓住当前的大好历史机遇,发挥我国 的资源和成本优势,加快产业结构的调整,迎头赶上软件产业 的网络化、服务化和国际化的发展趋势,为在世界软件产业的

软件工程国家标准(一)

软件工程国家标准(一)

软件工程国家标准(一)引言概述:软件工程国家标准是指由国家有关部门制定的规范和指导原则,用于规范和指导软件工程领域的开发、测试和维护等工作。

本文将介绍软件工程国家标准的内容,并从五个大点进行阐述。

1. 软件项目管理1.1 项目立项与组织:确定项目目标和范围,明确项目的组织结构和职责分工。

1.2 项目计划与控制:制定项目计划、进度控制和风险管理策略,并监督执行情况。

1.3 质量管理:确保软件开发过程中的质量标准和控制措施,包括质量检查和质量评估。

1.4 配置管理:管理软件项目的所有配置项,包括版本控制和配置变更管理。

1.5 缺陷管理:管理软件开发过程中出现的缺陷和问题,制定解决方案和改进措施。

2. 软件需求工程2.1 需求获取与分析:收集和分析用户需求,明确软件系统的功能和性能要求。

2.2 需求规格说明:将需求转化为可测量和可验证的规格说明,包括功能性需求和非功能性需求。

2.3 需求确认和变更管理:与用户确认需求,并管理需求变更,确保软件系统满足用户期望。

2.4 需求追踪和验证:追踪需求的实现过程,确保软件系统的功能和性能符合需求规格。

2.5 需求评审和验收:评审和验证软件系统的需求规格,确保其与用户需求的一致性和可行性。

3. 软件设计与实现3.1 系统结构设计:设计软件系统的整体结构,包括组件、模块和接口之间的关系。

3.2 数据结构设计:设计软件系统中的数据结构和数据库模型,确保数据的合理组织和管理。

3.3 模块设计与实现:设计和实现软件系统的各个功能模块,确保功能的完整和正确性。

3.4 界面设计与交互设计:设计软件系统的界面和用户交互方式,确保用户友好和易用性。

3.5 编码规范与代码审查:制定编码规范,进行代码审查,确保软件代码的质量和可维护性。

4. 软件测试与验证4.1 测试策略与计划:制定测试策略和测试计划,明确定义测试的范围和测试用例。

4.2 单元测试:对软件系统的单个模块进行测试,确保模块的功能和性能符合要求。

0835软件工程一级学科简介

0835软件工程一级学科简介

0835软件工程一级学科简介软件工程(Software Engineering)是一门综合性的学科,涉及软件开发、软件质量保证、软件项目管理等多个领域。

本文将对软件工程的定义、发展历程、重要性、学科内容以及职业发展方向等进行简要介绍。

软件工程是指运用工程化的原理、方法和工具,对软件开发、维护和管理过程进行系统化、规范化、可量化的管理和控制,从而确保软件能够以预期的成本、进度和质量满足用户需求。

其发展始于20世纪60年代末期的软件危机,当时软件开发过程中频繁出现的延期、超支、低质量等问题迫使人们开始重视软件开发的管理与规范。

随着信息技术的迅猛发展,软件工程作为一门学科逐渐形成并得到广泛应用。

它涵盖了需求分析、系统架构设计、软件开发、测试与调试、部署与运维等多个环节。

通过对软件开发过程的体系化管理,软件工程能够提高软件开发效率、降低开发风险,并确保软件产品的可靠性、可维护性以及可扩展性。

软件工程的学科内容包括但不限于以下几个方面:1. 需求分析与规格说明:在项目启动阶段,软件工程师需要与客户充分沟通,了解用户需求,并将其转化为明确的规格说明,以便后续开发与设计过程中的参考。

2. 软件设计与开发:软件设计是软件工程中重要的一环,它包括系统架构设计、模块设计、数据结构设计、算法设计等。

软件开发则侧重于根据设计方案编写代码,实现软件功能。

3. 软件测试与调试:为了确保软件质量,软件工程师需要进行全面的测试与调试工作。

测试包括单元测试、集成测试、系统测试等,通过不同层次的测试,发现并修复软件中的错误与缺陷。

4. 部署与运维:软件部署指将软件安装到用户的计算机或服务器上,并配置好所需的环境。

软件运维则是在软件发布后,负责监控、维护和更新软件,以确保其正常运行。

软件工程一级学科对于培养具备软件开发与管理能力的专业人才至关重要。

软件工程专业的学生需具备扎实的计算机基础知识,如数据结构、操作系统、算法等,并能够熟练运用各种软件开发工具和编程语言。

软件工程题库1

软件工程题库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 测试8.下列软件开发模型中,适合于那些不能预先确切定义需求的软件系统的开发的模型是()。

A 原型模型B 瀑布模型C 基于知识的智能模型D 变换模型9.下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是()。

A 原型模型B 瀑布模型C 喷泉模型D 螺旋模型10.下列软件开发模型中,支持需求不明确,特别是大型软件系统的开发,并支持多种软件开发方法的模型是()。

A 原型模型B 瀑布模型C 喷泉模型D 螺旋模型11.软件特性中,使软件在不同的系统约束条件下,使用户需求得到满足的难易程度称为()。

A可修改性 B可靠性 C可适应性 D 可重用性12.软件特性中,一个软件能再次用于其他相关应用的程度称为()。

A可移植性 B可重用性 C 容错性 D 可适应性13.软件特性中,()是指系统具有清晰的结构,能直接反映问题的需求的程度。

软件工程复习题[1]

软件工程复习题[1]

软件工程复习题一、单选题1、软件开发的结构化设计(SD)方法,全面指导模块划分的最重要原则应该是(C )A模块高内聚B模块低耦合C模块独立性D程序模块化2、软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的什么问题?(D )A产生危机B质量保证C开发效率D生产工程化3、软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究的结论主要相关于( A )A软件系统目标B软件的性能C软件的功能D软件的质量4、软件需求分析一般应确定的是用户对软件的( D )A。

功能需求B。

非功能需求 C.性能需求 D.功能需求和非功能需求5、软件测试是满足软件的功能和性能要求,保证软件正确性的措施,一般软件测试计划的制订应始于软件开发的哪个阶段? ( D)A。

需求分析 B.软件设计C。

程序编码 D.软件计划6、软件工程方法是在实践中不断发展的方法,而早期的软件工程方法主要是指( B )A。

原型化方法B。

结构化方法 C.面向对象方法. D.功能分解法7、数据流图描述数据在软件中流动和被处理变换的过程,它是以图示的方法来表示,即.(A )A。

软件模型 B.软件功能 C.软件结构 D.软件加工8、软件工程学涉及到软件开发技术和工程管理两方面的内容,下述内容中哪一个不属于开发技术的范畴?(D)A。

软件开发方法 B.软件开发工具 C.软件工程环境D。

软件工程经济9、软件文档是软件工程实施中的重要成份,它不仅是软件开发的各阶段的重要依据,而且也影响软件的( B )A。

可理解性 B.可维护性C。

可扩展性 D.可靠性10、从( C)语言开始,软件摆脱了对硬件的依赖。

A。

第一代B。

第二代C。

第三代D。

第四代11、在下面列出的基本成分中,哪个不是实体关系图的基本成分?(B )A。

实体 B.数据存储C。

关系D属性12、在下面的概念模式中,哪种描述的不是动态数据结构或属性?( C )A。

框图 B.结构图C。

实体关系图D。

软件工程1-1


1.2 软件与软件危机
面对焦油坑,很多常用的办法就是人海战术。在《人月神话》 的第2章里,Brooks提出了著名的人月神话法则:向进度落后 的项目中增加人手,只会使进度更加落后。 Brooks的著名观点:人月神话是不存在的。(这就是人月神化 的出处) 反过来,软件开始是精英们的游戏?年轻的软件经理特别喜 欢由头等人才组成的小型、精干的队伍,而不是那些几百人的 大型团队,这里的“人”当然暗指平庸的程序员。Brooks认为, 寻求精英团队的想法是幼稚的。与其回避困难,还不如现实地 来讨论,如何在有意义的时间进度内创建大型的系统。 Brooks借助法国城市兰斯(Reims)在建筑风格上的一致性 的例子,说明,风格的一致和完整性来自8代拥有自我约束和 牺牲精神的建筑师们,他们每一个人牺牲了自己的一些创意, 以获得纯粹的设计。同样,这不仅显示了上帝的荣耀,同时也 体现了他拯救那些沉醉在自我骄傲中的人们的力量。
软件是开发出来的,不是制造出来的 软件可能被“废弃”,但不会“用坏” 软件大部分是定制的,而不是装配的
软件的复杂度
一个比较中等的项目 - 5-10 人 - 10-15 个月的开发 周期 - 3-5 个外部界面 - 一些不可知的事情 & 风险
更高的技术复杂性 - 嵌入式,实时的,分布式的,不可出错的 嵌入式,实时的,分布式的, - 定制的 空前的,可复用的 定制的, 空前的, - 高性能的
1.2 软件与软件危机
现实不容乐观
60年代(软件史前)的软件危机:
(1)对软件开发的进度和成本无法估计 (2)用户对已经开发完成的软件的满意度非常低 (3)软件质量无法保证 (4)软件开发后的维护工作很难进行 (5)软件通常没有合适的文档资料 (6)软件成本在系统总成本中所占的比例越来越高 (7)软件开发的生产率跟不上需求 1962年美国水手Ⅰ号因导航软件一个语句的语义错误,导致偏 离航线,任务失败。 阿波罗8号因计算机软件错误,造成存储器信息丢失。 阿波罗14号在飞行的10天中,出现了18个软件错误。 美国IBM公司的OS/360系统,花了几千人很多年的努力而失败

软件工程电子教案--第1章

山西大学商务学院教案2010—2011学年第二学期
课程名称软件工程
授课对象08计科GB3、GB4、DB10
授课教师刘忠宝
教材版本软件工程张海藩等著
第 3 页
第 4 页
2、面向对象方法学
概括地说,面向对象方法具有下述四个要点:
·对象:把对象(Object)作为融合了数据及在数据上的操作行为的统一的软件
构件。

面向对象程序是由对象组成的,程序中任何元素都是对象,复杂对象由比
较简单的对象组合而成。

·类:把所有对象都划分成类(Class)。

每个类都定义了一组数据和一组操作,
类是对具有相同数据和相同操作的一组相似对象的定义。

数据用于表示对象的静
态属性,是对象的状态信息,而施加于数据之上的操作用于实现对象的动态行为。

·继承按照父类(或称为基类)与子类(或称为派生类)的关系,把若干个相关类
组成一个层次结构的系统(也称为类等级)。

·联系对象彼此之间仅能通过发送消息互相联系。

对象的所有私有信息都被封
装在该对象内,不能从外界直接访问,这就是通常所说的封装性。

面向对象方法学的出发点和基本原则,是尽可能模拟人类习惯的思维方式,使
开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,从而使
描述问题的问题空间(也称为问题域)与实现解法的解空间(也称为求解域)在结构
上尽可能一致。

第 5 页
第 6 页
第7 页
第8 页
第9 页
第10 页
第11 页。

软件设计师软件工程(一)模拟题

[模拟] 软件设计师软件工程(一)选择题第1题:在软件项目管理中可以使用各种图形工具来辅助决策,下面对Gantt图的描述中,不正确的是______。

A.Gantt图表现了各个活动的持续时间B.Gantt图表现了各个活动的起始时间C.Gantt图反映了各个活动之间的依赖关系D.Gantt图表现了完成各个活动的进度参考答案:C第2题:耦合度描述了______。

A.模块内各种元素结合的程度B.模块内多个功能之间的接口C.模块之间公共数据的数量D.模块之间相互关联的程度参考答案:D第3题:内聚是一种指标,表示一个模块______。

A.代码优化的程度B.代码功能的集中程度C.完成任务的及时程度D.为了与其他模块连接所要完成的工作量参考答案:B第4题:在软件项目开发过程中,评估软件项目风险时,______与风险无关。

A.高级管理人员是否正式承诺支持该项目B.开发人员和用户是否充分理解系统的需求C.最终用户是否同意部署已开发的系统D.开发需要的资金是否能按时到位参考答案:C第5题:最主要的软件质量度量指标有正确性、可维护性、完整性和可用性,下面关于这些质量指标的描述中正确的是______。

A.软件维护的工作量比开发阶段的工作量小B.正确性用每千行代码的故障(fault)数来度量C.软件完整性是指软件功能与需求符合的程度D.可用性与用户的操作效率和用户对软件的主观评价有关参考答案:D第6题:某工程计划图如图4-1所示,弧上的标记为作业编码及其需要的完成时间(天),作业E最迟应在第______天开始。

A.7B.9C.12D.13参考答案:D第7题:正式的技术评审FTR(Formal Technical Review)是软件工程师组织的软件质量保证活动,下面关于FTR指导原则中不正确的是______。

A.评审产品,而不是评审生产者的能力B.要有严格的评审计划,并遵守日程安排C.对评审中出现的问题要充分讨论,以求彻底解决D.限制参与者人数,并要求在评审会之前做好准备参考答案:C第8题:两个小组独立地测试同一个程序,第一组发现25个错误,第二组发现30个错误,在两个小组发现的错误中有15个是共同的,那么可以估计程序中的错误总数是______个。

海大计算机专业软件工程课程资料lge第一章软件工程学

海大计算机专业软件工程课程资料 lge第一章软件工程学
软件工程的本质特征: 1. 软件工程关注大型程序的构造 2. 软件工程的中心课题是控制复杂性 3. 软件经常变化 4. 开发软件的效率非常重要 5. 和谐的合作是开发软件的关键 6. 软件必须有效地支持它的用户 7. 在软件工程领域中是由具有一种文化背景的人 替具有另一种文化背景的人创造产品
1.2.3 软件工程方法学
通常把在软件生命周期全过程中使用的一整套技 术方法的集合称为方法学(methodology),也 称为范型(paradigm)。
软件工程方法学包含3个要素:方法、工具和过 程。其中,方法是完成软件开发的各项任务的技术 方法,回答“怎样做”的问题;工具是为运用方法 而提供的自动的或半自动的软件工程支撑环境;过 程是为了获得高质量的软件所需要完成的一系列任 务的框架。
海大计算机专业软件工程课程资料 lge第一章软件工程学
软件危机主要有以下一些表现:
v 对软件开发成本和进度的估计常常很不准确;
v 用户对“已完成的”软件系统不满意的现象经常发 生;
v 软件产品的质量往往靠不住;
v 软件常常是不可维护的;
v 软件通常没有适当的文档资料;
v 软件成本在计算机系统总成本中所占的比例逐年上 升;
软件工程典型的定义: “软件工程就是为了经济地获得可靠的且能在实际
机器上有效地运行的软件 ,而建立和使用完善的工 程原理。”该定义不仅指出了软件工程的目标是经济 地开发出高质量的软件,而且强调了软件工程是一门 工程学科,它应该建立并使用完善的工程原理。
1993年IEEE进一步给出了一个更全面更具体的定 义:“软件工程是:(1) 把系统的、规范的、可度量 的途径应用于软件开发、运行和维护过程,也就是把 工程应用于软件;(2)研究(1) 中提到的途径。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件工程基本知识 一、软件工程的产生 随着1946年世界上第一台电子计算机的诞生,计算机的灵魂——软件也慢慢发展起来。在50、60年代开发大型系统软件用手工方式进行,生产效率低、出错率高。例如,IBM公司的OS/360操作系统用了5000人年开发,软件产品每个版本均有1000多个大大小小的错误,这种状态无法满足日益增长的软件生产的需要。产生了以下几个方面的问题: (1) 软件复杂性飞速增长 (2) 软件成本极高 (3) 开发周期长 (4) 维护工作量大 由于以上几个方面的原因,导致了60年代的“软件危机”,软件危机是指软件在开发和维护过程中所遇到的一系列严重。概括地说软件危机包含以下两方面的问题: (1) 如何开发软件,怎样满足软件日益增长的需求; (2) 如何维护数量不断膨胀地已有软件。 具体地说,软件危机主要有以下表现: (1) 对软件开发成本和进度的估计常常很不准确; (2) 用户对“已完成的”软件系统不满意的现象经常发生; (3) 软件产品的质量往往靠不组合; (4) 软件常常是不可维护的; (5) 软件通常没有适当的文档资料; (6) 软件成本在计算机系统总体成本中所占的比例逐年上升; (7) 软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。 为了解决软件危机中出现的问题,在1968年计算机软件学术会议上第一次的提出了“软件工程”的概念。 软件工程强调使用生命周期方法学和各种结构化分析与设计技术。用“系统的观点来分解问题然后再分别解决各个子问题。” 生命周期:和生命的孕育、诞生、成长于衰亡一样,软件生命周期指软件的有关概念的提出到软件的消亡共包括可行性分析→概要设计→详细设计→编码→测试→运行和维护6个阶段。 二、软件工程核心思想 软件工程是指导计算机软件开发和维护的工程科学。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好技术方法结合起来,这就是软件工程。管理和技术是软件工程的核心。 软件工程的七条基本原理: 1. 用分阶段的生命周期计划严格管理; 这条原理意味着应把软件生命周期分成若干阶段,并制定相应地切实可行的计划,然后严格按照计划对软件的开发与维护工作进行管理。 Boehm认为,在软件的整个生命周期中应该制定并严格执行六类计划: 1) 项目概要计划 2) 里程碑计划 3) 项目控制计划 4) 产品控制计划 5) 验证计划 6) 运行维护计划 不同层次管理人员都必须严格按照计划各尽其责地管理软件开发与维护工作,绝不能受客户或上级人员的影响而擅自背离预定计划。 2. 坚持进行阶段评审; 软件的质量保证工作不能等到编码阶段结束之后再进行。至少有两个理由: 第一, 大部分错误是在编码之前造成的,根据Boehm等人的统计,设计错误占软件错误的63%,编码错误仅占37%。 第二, 错误发现与改正的越晚,所需付出的代价也越高。 因此,在每个阶段都进行严格的评审,以便尽早发现在软件开发过程中所犯的错误,是一条必须遵循的重要原则。 3. 实现严格的产品控制; 在软件开发过程中不随意改变需求,因为改变一项需求往往需要付出较高的代价。绝对不能谁想修改软件,就随意修改软件。 4. 采用现代化设计技术; 1960s 年代末提出的结构程序设计技术,已经成为绝大多数人公认的先进的程序设计技术。以后又进一步发展出各种结构分析与结构设计技术。实践表明,采用先进的技术既可提高软件开发的效率,又可提高软件维护的效率。 5. 结果应能清楚地审查; 6. 开发人员应该少而精; 7. 承认不断改进软件工程事件的必要性。 重点:需求分析、概要设计、详细设计、软件测试和软件调试的作用、方法等 一、 软件工程基本概念 1. 软件是计算机系统中与硬件相互依存的重要部分,包括程序、数据及相关的文档 。其中,程序 是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列。 2. 下列叙述中,正确的是(D)

A.软件就是程序清单 B.软件就是存放在计算机中的文件

C.软件应包括程序清单及运行结果 D.软件包括程序和文文件 3. 软件按功能可以分为:应用软件、系统软件、支撑软件(或工具软件) 4. 软件工程的出现是由于(软件危机的出现) 5. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(软件危机) 软件工程概念的出现源自软件危机。所谓软件危机是泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。总之,可以将软件危机归结为成本、质量、生产率等问题。 6. 开发大型软件时,产生困难的根本原因是(大型系统的复杂性)。 7. 软件危机出现于20世纪60年代末,为了解决软件危机,人们提出了 软件工程学 的原理来设计软件这就是软件工程诞生的基础。 8. 下列不属于软件工程的3个要素的是(D) A.工具 B.过程 C.方法 D.环境

二级公共基础知识第三章结构化分析方法 二、结构化分析方法 需求分析与需求分析方法 18. 在软件生产过程中,需求信息的给出是(软件用户)。 19. 需求分析中,开发人员要从用户那里了解(软件做什么)。 20. 需求分析阶段的任务是确定 (软件系统功能) 21. 需求分析的任务是发现需求、求精、建模和定义需求的过程。需求分析将创建所需的数据模型、功能模型和 控制模型 22. 需求分析阶段的工作:需求获取、需求分析、编写需求规格说明书、需求评审 下列工具中属于需求分析常用工具的是(D)。 A)PAD B)PFD C)N—S D)DFD 结构化分析方法 常用的需求分析方法:

(1)结构化分析方法。主要包括:面向数据流的结构化分析方法(SA),面向数据结构的Jackson方法(JSD)和面向数据结构的结构化数据系统开发方法(DSSD) (2)面向对象的分析方法(OOA) 23. 结构化方法的核心和基础是结构化程序设计理论 24. 下列不属于结构化分析的常用工具的是(D)。 A)数据流程图 B)数据字典 C)判定树 D)PAD图 25. 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是 (B) A)可行性分析 B)需求分析 C)详细设计 D)程序编码 26. 数据流程图用于抽象描述一个软件的逻辑模型.数据流程图由一些特定的图符构成。下列图符名标识的图符不属于数据流程图合法图符的是(A)。 A)控制流 B)加工 C)数据存储 D)源和潭 说明:数据流程图中的主要图形元素与说明: 27. 在数据流程图(DFD)中的箭头代表的是(数据流) 28. 在数据流程图(DFD)中,带有名字的箭头表示(资料的流向)。 29. 在结构化分析方法中,用于描述系统中所用到的全部数据和文件的文文件称为 数据字典 软件需求规格说明书 30. 软件需求规格说明书 是需求分析阶段的最后结果

31. 下列叙述中,不属于软件需求规格说明书的作用的是(D) A.便于用户、开发人员进行理解和交流 B.反映出用户问题的结构,可以作为软件开发工作的基础和依据 C.作为确认测试和验收的依据 D.便于开发人员进行需求分析

32. (数据描述)是对软件系统所必须解决的问题做出的详细说明 说明:需求规格说明书一般包括以下内容:概述、数据描述、性能描述、功能描述、参考文献目录等。其中概述从系统角度描述软件的目标和任务;功能描述中描述了为解决用户问题所需要的每一项功能的过程细节;性能描述说明系统应达到的性能和应该满足的限制条件、检测的方法和标准。 三、结构化设计方法 软件设计的基本概念 33. 在软件开发中,下面任务不属于设计阶段的是(D) A)数据结构设计 B) 给出系统模块结构 C)定义模块算法 D)定义需求并建立系统模型 34. 软件设计包括软件的结构、数据、接口和过程设计,其中软件的过程设计是指(系统结构部件转换成软件的过程描述)。 说明:结构设计:定义软件系统各主要部件之间的关系;数据设计:将分析时创建的模型转化为数据结构的定义;接口定义:描述软件内部、软件和协作系统之间以及软件与人之间如何通信;过程设计:把系统结构部件转换成软件的过程性描述。 35. 下面不属于软件设计原则的是(C)A.抽象 B.模块化 C.自底向上 D.信息隐藏

36. 耦合和内聚是评价模块独立性的两个主要标准,其中 内聚 反映了模块内各成分之间的联系,耦合反映了模块间互相连接的紧密程度。 37. 内聚性是信息隐蔽和局部化概念的自然扩展,一个模块的内聚性越强,则该模块的模块独立性越 强 。一个模块与其它模块的耦合性越强,则它的模块独立性越 弱 。 38. 下列叙述中,正确的是(C) A.接口复杂的模块,其耦合程度一定低 B.耦合程度弱的模块,其内聚程度一定低 C.耦合程度弱的模块,其内聚程度一定高 D.以上都不对 39.下列选项中,不属于模块间耦合的是(B)。A.数据耦合B.同构耦合C.异构耦D.公用耦合

40.软件设计中,有利于提高模块独立性的一个准则是( C)。 A.低内聚低耦合 B.低内聚高耦合 C.高内聚低耦合 D.高内聚高耦合

概要设计 41. 软件的概要 设计又称为总体结构设计,其主要任务是建立软件系统的总体结构,设计数据结构及数据库,编写概要设计文檔,概要设计文檔评审。 42. 在结构化方法中,软件功能分解属于下列软件开发中的阶段是 (C) A.详细设计 B.需求分析 C.总体设计 D.编程调试 43. 在概要设计阶段,常用的软件结构设计工具是 结构图 (sc),也称程序结构图。生成的结构图中,带有箭头的联机表示(模块之间的调用关系),矩形表示模块。

44. 在概要设计阶段,一般采用面向数据流的设计方法。数据流的类型有 变换型 和事务型。将变换型映像成结构图称为 变换分析 。将事务型映像成结构图称为 事务分析 。

45. 好的软件设计结构通常 顶层 高 扇出,中间扇出较少,底层 高 扇入。 46. 模块的控制范围包括它本身以及它所有的从属模块,模块的作用范围是指模组内一个判定的作用范围,凡是受到这个判定影响的所有模块都属于这个判定的作用范围。理想的情况是(模块的作用范围应在控制范围内) 详细设计 47. 详细设计 的任务是为软件结构图中的每一个模块确定实现算法和局部数据结构,用选定的表达工具表示算法和数据结构的细节。确定怎样来具体实现所要求的系统。

48. 为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为(N—S图)。 49. 详细设计的结果基本决定了最终程序的(质量)。 50. 软件设计模块化的目的是 降低复杂性。 51. 详细设计的典型语言描述工具是(PDL) 结构化分析(需求阶段)的常用工具有:数据流程图(DFD)、数据字典(DD)、判定树和判定表 结构设计(概要设计阶段)工具是:结构图(SC, structure chart)

相关文档
最新文档