软件工程课后习题_第1,2,3章

合集下载

《软件工程》各章课后习题答案

《软件工程》各章课后习题答案

《软件工程》各章课后习题答案软件工程是计算机科学与技术的一门重要学科,旨在研究和应用工程原则和方法来开发高质量的软件系统。

课程中的习题对于加深学生对软件工程理论和实践的理解至关重要。

下面是对《软件工程》各章课后习题的答案,希望能够帮助你更好地掌握软件工程的知识。

第一章:软件工程导论1. 软件工程的定义:答:软件工程是通过应用系统化、规范化和可量化的方法进行软件开发、运行和维护的学科。

2. 软件工程的目标:答:软件工程的目标是提高软件开发的质量、效率和可靠性,使得软件能够满足用户的需求和期望。

3. 软件生命周期模型:答:常见的软件生命周期模型包括瀑布模型、迭代模型、敏捷模型等。

每个模型都有其独特的特点和适用场景。

4. 软件过程模型:答:软件过程模型描述了软件开发过程中的一系列活动和阶段,常见的软件过程模型包括瀑布模型、迭代模型、敏捷模型等。

5. 软件工程的基本原则:答:常见的软件工程基本原则包括分阶段、逐步求精、持续集成、迭代开发、需求优先等。

第二章:软件项目管理1. 软件项目管理的定义:答:软件项目管理是指对软件开发过程中的资源、进度、质量等进行有效管理,以确保软件项目能够按时、按质地完成。

2. 软件项目管理的内容:答:软件项目管理包括项目计划、需求管理、项目进度管理、资源管理、风险管理等方面。

3. 软件项目管理的方法:答:常见的软件项目管理方法包括敏捷项目管理、水平项目管理、里程碑项目管理等。

4. 软件项目管理的工具:答:常用的软件项目管理工具包括甘特图、PERT/CPM网络图、项目管理软件等。

第三章:软件需求分析与规格说明1. 软件需求的定义:答:软件需求是指用户对软件系统的要求和期望,包括功能需求、性能需求、接口需求等方面。

2. 软件需求分析的方法:答:常用的软件需求分析方法包括面向对象分析法、数据流图法、用例分析法等。

3. 软件需求规格说明的格式:答:常见的软件需求规格说明的格式包括自然语言描述、结构化描述、图形描述等。

软件工程---课后习题答案.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.采用合适的设计方法合适的设计方法有助于这些特征的实现,以达到软件工程的目标。

软件工程导论_课后部分习题答案

软件工程导论_课后部分习题答案
请用状态转换图描绘复印机的行为。
13:07:42
作业及解答(第3章)
从问题陈述可知,复印机的状态主要有“闲置”、“复印 ”、“缺纸”和“卡纸”。引起状态转换的事件主要是“ 复印命令”、“完成复印命令”、“发现缺纸”、“装满 纸”、“发生卡纸故障”和“排除了卡纸故障”。
13:07:42
作业及解答(第5章)
13:07:42
作业及解答(第3章)
13:07:42
作业及解答(第3章)
3-6 复印机的工作过程大致如下:未接到复印命令时处于 闲置状态,一旦接到复印命令则进入复印状态,完成一个 复印命令规定的工作后又回到闲置状态,等待下一个复印 命令;如果执行复印命令时发现没纸,则进入缺纸状态, 发出警告,等待装纸,装满纸后进入闲置状态,准备接收 复印命令;如果复印时发生卡纸故障,则进入卡纸状态, 发出警告等待维修人员来排除故障,故障排除后回到闲置 状态。
13:07:42
作业及解答(第3章)
3-3 银行计算机储蓄系统的工作过程大致如下:储户填写的 存款单或取款单由业务员键入系统,如果是存款则系统记 录存款人姓名、住址(或电话号码)、身份证号码、存款类 型、存款日期、到期日期、利率及密码(可选)等信息,并 印出存单给储户;如果是取款而且存款时留有密码,则系 统首先核对储户密码,若密码正确或存款时未留密码,则 系统计算利息并印出利息清单给储户。 请用数据流图描绘本系统的功能,并用实体-联系图描绘系 统中的数据对象。
13:07:42
作业及解答(第1-2章)
1-6 什么是软件过程?它与软件工程方法学有何关系?
✓软件过程是为了开发出高质量的软件产品所需完成的一系 列任务的框架,它规定了完成各项任务的工作步骤。
✓软件过程定义了运用技术方法的顺序、应该交付的文档资 料、为保证软件质量和协调软件变化必须采取的管理措施 ,以及标志完成了相应开发活动的里程碑。

软件工程课后习题参考答案

软件工程课后习题参考答案

软件工程课后习题参考答案软件工程课后习题参考答案1. 第一章规约与软件工程概述1.1 规约的定义规约是软件开发过程中明确要求的描述,包含了对软件需求、设计、实现、测试、部署和维护等各个阶段的要求和约束。

1.2 软件工程的概述软件工程是一门涉及对软件的开发、运行和维护的学科。

它通过应用工程原则和方法,以系统化、规范化、可靠化、经济化和高质量的方式来开发和维护软件。

2. 第二章软件需求规约2.1 软件需求规约的作用软件需求规约是对软件系统所需功能和性能的具体描述和说明,是软件开发的基础和依据。

它指导着开发团队的工作,确保软件的功能和性能符合用户的需求。

2.2 软件需求规约的要素软件需求规约包括功能需求、非功能需求和约束条件。

功能需求描述了软件系统应该具备的功能,非功能需求描述了软件系统的性能要求和质量特性,约束条件描述了软件系统所受限制的条件。

3. 第三章软件设计规约3.1 软件设计规约的目标软件设计规约是对软件系统进行结构化和模块化设计的过程,其目标是确保软件系统具备可靠性、可维护性、可扩展性和可重用性。

3.2 软件设计规约的方法软件设计规约采用面向对象设计、结构化设计和模块化设计等方法。

面向对象设计强调将问题领域的概念和对象转化为软件系统的类和对象,结构化设计强调将系统分解为模块,模块化设计强调模块间的接口和通信。

4. 第四章软件实现规约4.1 软件实现规约的目的软件实现规约是指将软件设计阶段得到的设计规约转化为计算机可执行的程序代码,其目的是确保软件系统的正确性、可靠性、可维护性和可测试性。

4.2 软件实现规约的技术软件实现规约采用编程语言、软件开发工具和软件开发环境等技术。

编程语言提供了描述算法和数据结构的语法和语义,软件开发工具提供了代码编辑、编译、调试和测试等功能,软件开发环境提供了开发的整体支持。

5. 第五章软件测试规约5.1 软件测试规约的目的软件测试规约是对软件系统进行功能、性能和质量等方面的验证和检测,其目的是找出软件系统的错误和缺陷,并修复和改进。

软件工程课后习题(含答案)

软件工程课后习题(含答案)

第一章练习题一、填空题1、软件工程三要素是:方法、工具、过程。

2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。

二、名词(术语)解释:1、可靠性---是指在给定的时间间隔内,程序成功运行的概率。

可靠性是衡量软件质量的一个重要目标。

2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。

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

三、问答题1、面向对象方法的优点是什么?答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。

(2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。

2、可视化开发方法的优点有哪些?答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。

(2)软件开发简单,易学、易上手。

(3)专业或非专业人员都能参与软件开发活动。

第二章练习题一、填空题:1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工程活动。

2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。

3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。

4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规范、项目规范。

二、简答题:1、瀑布模型的优点有哪些?答:1、强迫开发人员采用规范的技术方法;2、严格地规定了每个阶段必须提交的文档;3、每个阶段结束前必须正式进行严格的技术审查和管理复审。

2、瀑布模型的缺点是什么?答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。

2、在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。

3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。

软件工程课后习题答案2

软件工程课后习题答案2
5.
12
作业及解答(第3章)
从问题陈述可知,复印机的状态主要有“闲置”、“复印
”、“缺纸”和“卡纸”。引起状态转换的事件主要是“ 复印命令”、“完成复印命令”、“发现缺纸”、“装满 纸”、“发生卡纸故障”和“排除了卡纸故障”。
13
作业及解答(第4章)
14
补充:请将下图的DFD转换为软件结构图。 (注:图中⊕表示或者)
1
作业及解答(第3章)
1. 银行计算机储蓄系统的工作过程大致如下:储户填写的 存款单或取款单由业务员键入系统,如果是存款则系统记 录存款人姓名、住址(或电话号码)、身份证号码、存款类 型、存款日期、到期日期、利率及密码(可选)等信息,并 印出存单给储户;如果是取款而且存款时留有密码,则系 统首先核对储户密码,若密码正确或存款时未留密码,则 系统计算利息并印出利息清单给储户。 请用数据流图描绘本系统的功能,并用实体-联系图描绘 系统中的数据对象。
21
不能是两个分开的子系统,是相同的前台单个处理
银行储蓄系 统
存 款 单 款
率 利
利 存单 息清单
密 码
业务单据录 入
利 率
存款单


储蓄业务处理
存款单
单据输出
利 息
存单

存单
密码

利率



密 码


存款利 率设置
存款单据输 入
取款单 据输入
存款
取款
存单
利息清单
22
(2)机票预定系统 为了方便旅客,某航空公司拟开发一个机票预定系 统。旅行社把预定机票的旅客信息(姓名、性别、 工作单位、身份证号码、旅行时间、旅行目的地等 )输入该系统,系统为旅客安排航班,旅客在飞机 起飞前一天凭取票通知和账单交款取票,系统核对 无误即印出机票给顾客

软件工程课后习题答案

软件工程课后习题答案

第一章习题参考答案1﹑软件产品的特性是什么?答:软件产品特性:⑴是一种逻辑产品,与物质产品有很大的区别。

⑵软件产品的生产主要是研制,生产成本主要在开发和研制,开发研制完成后,通过复制就产生了大量软件产品。

⑶软件产品不会用坏,不存在磨损,消耗。

⑷生产主要是脑力劳动,还末完全摆脱手工开发方式,大部分产品是"定做"的⑸开发软件的费用不断增加,致使生产成本相当昂贵。

2﹑软件生产有几个阶段?各有何特征?答:⑴程序设计时代:这个阶段生产方式是个体劳动,使用的生产工具是机器语言,汇编语言。

⑵程序系统时代:这个阶段生产方式是小集团合作生产,使用的生产工具是高级语言,开发方法仍依靠个人技巧,但开始提出结构化方法。

⑶软件工程时代:这个阶段生产方式是工程化的生产,使用数据库﹑开发工具﹑开发环境﹑网络﹑分布式﹑面向对象技术来开发软件。

3﹑什么是软件危机?产生原因是什么?答:软件开发技术的进步未能满足发展的要求。

在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。

产生原因:⑴软件规模越来越大,结构越来越复杂。

⑵软件开发管理困难而复杂。

⑶软件包开发费用不断增加。

⑷软件开发技术落后。

⑸生产方式落后,仍采用手工方式。

⑹开发工具落后,生产率提高缓慢。

4﹑什么是软件工程?它目标和内容是什么?答:软件工程就是用科学的知识程和技术原理来定义,开发,维护软件的一门学科。

软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。

软件工程内容:研究内容包括开发技术和开发管理两个方面。

开发技术主要研究:软件开发方法,开发过程,开发工具和环境。

开发管理主要研究:软件管理学,软件经济学,软件心理学。

5﹑软件工程面临的问题是什么?答:软件工程需要解决的问题:软件的费用,可靠性,可维护性,软件生产率和软件的重用。

软件工程课后题答案大全(详细)

软件工程课后题答案大全(详细)

软件工程习题解答第一章概述3.什么是软件危机?其产生的原因是什么?软件危机:软件发展第二阶段的末期,由于计算机硬件技术的进步。

一些复杂的、大型的软件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求。

在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。

主要表现在以下几个方面:a.经费预算经常突破,完成时间一再拖延。

b.开发的软件不通满足用户要求。

c.开发的软件可维护性差。

d. 开发的软件可靠性差。

软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的:a.软件的规模越来越大,结构越来越复杂。

b.软件开发管理困难而复杂。

c.软件开发费用不断增加。

d.软件开发技术落后。

e.生产方式落后。

f.开发工具落后,生产率提高缓慢。

4.什么是软件工程?它的目标和内容是什么?软件工程:用科学知识和技术原理来定义、开发、维护软件的一门学科。

软件工程的目标是成功的建造一个大型软件系统,所谓成功是要达到以下几个目标:a.付出较低的开发成本;b.面到要求的软件功能;c.取得较好的软件性能;d.开发的软件易于移植;e.需要较低的维护费用;f.能按时完成开发任务,及时交付使用;g.开发的软件可靠性高;软件工程的内容:1)软件开发技术:软件开发方法、软件开发过程、软件开发工具和环境。

2)软件开发管理:软件管理学、软件经济学、软件心理学。

6.什么是软件生存周期?它有哪几个活动?软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。

软件生存周期包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等.7.什么是软件生存周期模型?有哪些主要模型?软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。

(模型:是为了理解事物而对事物做出一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式、一个规划、一个程式。

软件工程--课后答案

软件工程--课后答案

软件工程--课后答案第一章:1.1简述软件的定义、软件的特点和软件危机的表现。

软件的定义:软件是由计算机程序、数据和文档组成的。

软件的特点:1)抽象性,2 )软件生产无明显的制造过程,3)无磨损性,4 )对计算机系统的依赖性,5)软件的手工开发方式,6)软件本身复杂性,7)软件的高成本软件危机的表现:1)软件开发周期大大超过规定日期,2)软件开发成本严重超标,3)软件质量难于保证。

1.2什么是软件工程和软件工程化?软件工程:软件工程化:把软件工程理论应用到软件开发组织中,以改进软件产品开发的时间(T )、质量(Q)、成本(C)和服务(S)。

1.3简要说明软件工程三要素与质量关注点之间的关系。

软件工程的三要素:方法、工具和过程。

关系看P41.4如何构造软件过程?软件过程构造时首先应建立一个公共过程框架,其中定义了少量可用于所有项目的框架活动;再给出各个框架活动的任务集合,使得框架活动能够适合于项目的特点和项目组的需求;最后是保护性活动。

1.5什么是软件生存周期?软件生存周期分为哪几个阶段?各阶段的任务是什么?软件生存周期:是软件产品或软件系统从设计、投入使用到被淘汰的全过程。

软件生存周期:定义、开发、维护。

1)定义:包括问题定义、可行性研究和需求分析。

2)开发时期包括设计、编码和测试。

3)维护时期包括维护阶段。

1.6常用的软件工程方法和开发模型各有哪些?软件工程方法:生命周期法(又称传统方法或结构化方法)、面向对象方法和原型法。

软件开发模型:瀑布模型、快速原型模型、演化模型、面向对象模型、形式化方法模型。

1.7什么是软件工具、软件开发环境和软件工程环境?软件工具:是用来辅助软件开发、运行、维护、管理和支持等过程中活动的软件。

1.8软件工程的基本原理:1)按软件生存期分为阶段制定计划并认真实施。

2)坚持进行阶段评审。

3)坚持严格的产品控制。

4)使用现代程序设计技术。

5)明确责任,使得工作结果能够得到清楚的审查。

软件工程课本习题答案

软件工程课本习题答案
2.3形式化方法的特点是什么?
形式化方法的主要特点是:
(1)软件需求规格说明被细化为用数学记号表达的详细的形式化规格说明;
(2)设计、实现和单元测试等开辟过程由一个变换开辟过程代替。通过一系列变换将形式的规格说明细化成为程序。
2.5安装RationalRose2000/2002/2003,并练习基本操作。
缺点:RUP只是一个开辟过程,并没有涵盖软件过程的全部内容,例如它缺少关于软件运行和支持等方面的内容;此外,它没有支持多项目的开辟结构,这在一定程度上降低了在开辟组织内大范围实现重用的可能性。
合用范围:合用于基于构件的软件开辟。
2软件工程方法与工具
2.1软件工程的三种基本要素是什么,各自的作用是什么?
术问题,更重要的是必须有科学严格的管理。
(5)缺少有效的软件评测手段,提交给用户的软件的质量不能彻底保证。
1.5什么是软件工程?
第1章 作业参考答案
软件工程是指导计算机软件开辟和维护的工程学科。采用工程的概念、原理、技术和方法来开辟和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开辟出高质量的软件并有效地维护它,这就是软件工程。
产生软件危机的原因:除了软件本身的特点,其原因主要有以下几个方面:
(1)缺乏软件开辟的经验和有关软件开辟数据的积累,使得开辟工作计划很难制定。
(2)软件人员与用户的交流存在障碍,使得获取的需求不充分或者存在错误。
(3)软件开辟过程不规范。如,没有真正了解用户的需求就开始编程序。
(4)随着软件规模的增大,其复杂性往往会呈指数级升高。需要不少人分工协作,不仅涉及技
必须做什么”这个问题。
(3)软件设计:本阶段要回答的关键问题是“目标系统如何做?”为此,必须在设计阶段中制

软件工程课后习题_第1,2,3章

软件工程课后习题_第1,2,3章

第一章:一.判断题:1.软件就程序,编软件就是编写程序。

()2.软件危机的主要表现是软件需求增加,软件价格上升。

()3.软件工程科学出现的主要原因是软件危机的出现。

()4.与计算机科学的理论研究不同,软件工程是一门原理性学科()二.选择题1.在下列选项中,()不是软件的特征A系统性与复杂性 B 可靠性与一致性C 抽象性与智能性D 有形性与可控性2.软件危机的主要原因是:A软件工具落后 B 软件生产能力不足C 对软件的认识不够D 软件本身的特点及开发方法3.下列说法正确是的是A 20世纪50年代提出了软件工程的概念B 20世纪60年代提出了软件工程的概念C 20世纪70年代提出了客户机/服务器技术D 20世纪80年代软件工程学达到成熟4.( )是将系统化的规范的可定量的方法应用于软件的开发,运行和维护的过程。

它包括方法、工具和过程三个要素A 软件生命周期B 软件测试C 软件工程D 软件过程5.在下列选项中,()不属于软件工程学科索要研究的基本内容。

A 软件工程材料B 软件工程目标C 软件工程原理D 软件工程过程6.软件工程的三要素是()A技术,方法和工具 B 方法,对象和类 C 方法,工具和过程 D 过程,模型和方法7.用来辅助软件开发,运行,维护,管理,支持等过程中的活动的软件成为软件开发工具,通常也称为()工具A CADB CAIC CAMD CASE三简答题1.与计算机硬件相比,计算机软件有哪些特点?2.软件就是程序吗?如何定义软件?3.什么是软件危机?是什么原因导致了软件危机?4.为什么说软件工程的开发能在一定程度上解决软件危机的各种弊端?5.请简述软件工程的研究内容。

6.请简述软件工程的三要素。

7.请简述软件工程的目标,过程和原则。

8.请简述软件工程的基本原则。

9.请简述现代软件工程与传统软件工程显著的区别与改进。

第二章:一判断题1.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。

软件工程课后题答案

软件工程课后题答案

软件⼯程课后题答案第⼀章1 简述软件的发展过程。

共经历了四个阶段;第⼀阶段:(20世纪50年代初期到60年代初期的⼗余年)计算机系统开发的初期。

第⼆阶段:(20世纪60年代中期到70年代中期的⼗余年)软件产品和“软件作坊”的概念开始出现。

软件开发⼈员不再像早期阶段那样只因个⼈⼯作需要⽽开发,⽽是为了⽤户更好地使⽤计算机。

第三阶段:(20世纪70年代中期到80年代末期)分布式系统嵌⼊“智能”;硬件价格下降,软件价格急剧上升,导致了软件危机的加剧。

第四阶段:(20世纪80年代末期开始)强⼤的桌⾯系统和计算机⽹络迅速发展。

2 简述软件的定义和特点。

定义:软件是计算机程序、规程以及运⾏计算机系统可能需要的相关⽂档和数据。

特点:(1)是⼀种逻辑实体,具有抽象性;(2)软件的⽣产不存在明显的制造过程;(3)在软件的运⾏和使⽤的过程中,不会存在像硬件那样的机械磨损及⽼化问题;(4)由于对计算机系统的依赖性,对软件的通⽤性造成了⼀定的影响;(5)软件的开发⽅式还没有完全脱离⼿⼯开发⽅式,还不能完全采⽤组装的⽅式进⾏软件开发;(6)作为提⾼⼯作效率的逻辑产品,本⾝具有复杂性;(7)成本相当昂贵;(8)相当多的软件⼯作设计社会因素。

3 软件有哪些种类1. 按功能特征进⾏划分(1)系统软件。

(2)⽀撑软件。

(3)应⽤软件2. 按规模⼤⼩进⾏划分微型、⼩型、中型、⼤型、甚⼤型、、极⼤型4 什么是软件危机答:是指在计算机软件的开发和维护过程中所遇到的⼀系列严重问题。

5 什么是软件⼯程有哪些本质特性怎样⽤软件⼯程消除软件危机答:是指导计算机软件开发和维护的⼀门⼯程学科。

特性略。

技术措施和管理措施消除软件危机。

6 软件⼯程的三要素;⽅法、⼯具和过程。

7. 结合⾃⼰的亲⾝经历,谈谈软件⼯具在软件开发过程中的作⽤。

使软件开发更加模式化,⼯程化,从⽽提⾼软件开发的效率和封装性。

8. CASE 的研究和CASE 产品的开发是近年来软件⼯程领域的特点之⼀。

软件工程及应用课后习题(第1、2章)

软件工程及应用课后习题(第1、2章)

第1章1、解释术语(1)软件: 软件是指计算机系统中的程序及其文档。

P16(2)软件工程:软件工程是应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度实现满足用户要求的软件产品的工程,或以此为研究对象的学科。

P15(3)软件危机:软件生产率、软件质量远远满足不了社会发展的需求,成为社会,经济发展的制约因素,人们通常把这一现象称为“软件危机”。

P152、简答题(1)简述软件开发的本质。

答:软件开发的本质就是实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射。

P19(2)简述实施软件开发的基本途径。

答:实施软件开发的基本途径是系统建模。

所谓系统建模,是指运用所掌握的知识,通过抽象,给出该系统的一个结构——系统模型。

P19(3)简述何谓模型以及软件开发中所涉及的模型。

答:模型是一个抽象。

该抽象是在意图所确定的角度和抽象层次对物理系统的一个描述,描述其中的成分和成分之间所具有的特定语义的关系,还包括对该系统边界的描述。

软件开发中所涉及的模型可分为两大类,一类称为概念模型,描述了系统是什么;另一类统称为软件模型,描述了实现概念模型的软件解决方案。

P19(4).简述软件开发所涉及的两大类技术。

答:软件开发所涉及的两大类技术为:一是求解软件的开发逻辑,二是求解软件的开发手段。

P17第2章1、解释术语(1)软件需求软件需求以一种技术形式,描述了一个产品/系统应该具有的功能、性能和其它性质。

P23(2)功能需求功能需求规约了系统或系统构件必须执行的功能。

P24(3)非公能需求非公能需求是性能、外部接口、设计约束和质量属性这4类需求的统称。

P23(4) 需求规约需求规约是一个软件项/产品/系统所有需求陈述的正式文档,它表达了一个软件产品/系统的概念模型。

P282、简述需求与需求规约的基本性质。

答:需求的基本性质:1)必要的,该需求是用户所要求的。

2)无歧义的,该需求只能用一种方式解释。

3)可测的,该需求是可进行测试的。

软件工程第一二三章习题参考答案

软件工程第一二三章习题参考答案
当鲍曼断开计算机时,HAL立即又把自己接了上去。最后,鲍曼只好拆下计算机的存储器,才得以控制他的宇宙飞船。
请问:
(1)为什么鲍曼拆下存储器就能摆脱计算机的干扰而独自控制宇宙飞船?我们现在遇到的软件问题有这么严重吗?
(2)如果不依靠飞行指挥中心,鲍曼怎样才知道HAL的故障预报有问题?
(3)应该怎样设计计算机系统,才能避免出现故事中描述的这类问题?
3.什么是软件工程?它有哪些本质特性?怎样用软件工程消除(至少是缓解)软件危机?
答:软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。
软件工程本质特性:1)软件工程关注于大型程序的构造;2)软件工程的中心课题是控制复杂性;3)软件经常变化;4)开发软件的效率非常重要;5)和谐地合作是开发软件的关键;6)软件必须有效地支持它的用户;7)在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品。
消除软件危机的途径:为了消除软件危机,首先应该对计算机软件有一个正确的认识。必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。应该推广使用在实践中总结出来的开发软件的成功的技术和方法,并且研究探索更好更有效的技术和方法,尽快消除在计算机系统早期发展阶段形成的一些错误概念和做法。应该开发和使用更好的软件工具。为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。
软件工程第一二三章习题参考答案
人怎么能在设计阶段清除它呢?”你怎么反驳他?
答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件已经完成时再引入变动,当然付出的代价更高。一个故障是代码错误造成的,有时这种错误是不可避免的,但要修改的成本是很小的,因为这不是整体构架的错误。

软件工程(习题及参考答案)

软件工程(习题及参考答案)

第1章概述(习题与参考答案)[判定题]1. 由于今天个人运算机不断进展壮大,人们再也不采纳软件团队的开发方式。

(×)2. 由于软件是产品,因此能够应用其他工程制品所用的技术进行生产。

(×)3. 购买大多数运算机系统所需的硬件比软件更昂贵。

(×)4. 大多数软件产品在其生命周期中不需要增强功能。

(×)5. 大多数软件系统是不容易转变的,除非它们在设计时考虑了转变。

(√)6. 一样来讲,软件只有在其行为与设计者的目标一致的情形下才能成功。

(×)[选择题]1. ()因素促使运算机系统愈来愈复杂。

(D)A. 运算机内存和存储容量上的庞大增加B. 外部输入/输出选项的加倍多样性C. 运算机体系结构方面的深刻转变D. 以上所有选项2. 下面的()再也不是现代软件工程师关注的问题。

(A)A. 什么缘故运算机硬件的本钱这么高?B. 什么缘故软件需要很长时刻才能完成?C. 什么缘故开发一个软件的本钱这么高?D. 什么缘故不能在产品发布前去除软件错误?3. 软件会慢慢退化而可不能磨损,其缘故在于()。

(C)A. 软件通常暴露在恶劣的环境下B. 软件错误通常发生在利用以后C. 不断的变更使组件接口之间引发错误D. 软件备件很难订购4. 大多数软件仍然是定制开发的,其缘故在于()。

(C)A. 软件组件重用是十分普遍的B. 可重用的组件太昂贵而无法利用C. 软件在不利用其他组件的情形下很容易构造出来D. 商业组件在很多应用领域中能够取得5. 下面的()说法是正确的。

(C)A. 软件危机在20世纪70年代末期全面暴发B. 当前先进的软件工程方式已经解决了软件危机的问题C. 软件危机是指在运算机软件的开发和保护进程中碰到的一系列严峻问题D. 软件危机是指在软件产品中存在一系列的质量问题6. 软件工程的大体目标是()。

(B)A. 排除软件固有的复杂性B. 开发高质量的软件C. 尽力发挥开发人员的制造性潜能D. 更好地保护正在利用的软件产品7. ()是将系统化的、标准的、可定量的方式应用于软件的开发、运行和保护的进程,它包括方式、工具和进程三个要素。

软件工程课后答案

软件工程课后答案

软件工程第一章作业1。

1什么是计算机软件?软件的特点是什么?答:计算机软件指计算机系统中的程序及其文档。

软件的特点是:A 软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确得估算;B 软件是被开发的或被设计的,没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大;C 软件的使用没有硬件那样的机械磨损和老化问题。

1。

2 简述软件的分类,并举例说明。

答:在《计算机科学技术百科全书》中,将软件分为系统软件、支撑软件和应用软件3类.A 系统软件:系统软件居于计算机系统中最靠近硬件的一层,其他软件一般都通过系统软件发挥作用。

系统软件与具体的应用领域无关。

例如:编译程序、操作系统等。

B 支撑软件:支撑软件是支撑软件的开发和维护的软件。

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

C 应用软件:应用软件是特定应用领域专用的软件。

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

4 什么是软件工程?答:在《计算机科学技术百科全书》中软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。

1。

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

答:软件工程原则包括围绕工程设计、工程支持和工程管理提出的以下4条基本原则:第一条:围绕适宜的开发模型;第二条:采用合适的设计方法;第三条:提供高质量的工程支撑;第四条:重视软件工程的管理.1。

6 软件生存周期分哪几个阶段?分别简述各个阶段的任务.答:软件生存周期有计算机系统工程、需求分析、设计、编码、测试、运行和维护6个阶段。

A计算机系统工程的任务是确定待开发软件的总体要求和范围,以及该软件与其他计算机系统元素之间的关系,进行成本估算,做出进度安排,并进行可行性分析,即从经济、技术、法律等方面分析待开发的软件是否有可行的解决方案,并在若干个可行的解决方案中做出选择.B需求分析主要解决待开发软件要“做什么”的问题,确定软件的功能、性能、数据、界面等要求,生成软件需求规约。

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

第一章:一.判断题:1.软件就程序,编软件就是编写程序。

()2.软件危机的主要表现是软件需求增加,软件价格上升。

()3.软件工程科学出现的主要原因是软件危机的出现。

()4.与计算机科学的理论研究不同,软件工程是一门原理性学科()二.选择题1.在下列选项中,()不是软件的特征A系统性与复杂性 B 可靠性与一致性C 抽象性与智能性D 有形性与可控性2.软件危机的主要原因是:A软件工具落后 B 软件生产能力不足C 对软件的认识不够D 软件本身的特点及开发方法3.下列说法正确是的是A 20世纪50年代提出了软件工程的概念B 20世纪60年代提出了软件工程的概念C 20世纪70年代提出了客户机/服务器技术D 20世纪80年代软件工程学达到成熟4.( )是将系统化的规范的可定量的方法应用于软件的开发,运行和维护的过程。

它包括方法、工具和过程三个要素A 软件生命周期B 软件测试C 软件工程D 软件过程5.在下列选项中,()不属于软件工程学科索要研究的基本内容。

A 软件工程材料B 软件工程目标C 软件工程原理D 软件工程过程6.软件工程的三要素是()A技术,方法和工具 B 方法,对象和类 C 方法,工具和过程 D 过程,模型和方法7.用来辅助软件开发,运行,维护,管理,支持等过程中的活动的软件成为软件开发工具,通常也称为()工具A CADB CAIC CAMD CASE三简答题1.与计算机硬件相比,计算机软件有哪些特点?2.软件就是程序吗?如何定义软件?3.什么是软件危机?是什么原因导致了软件危机?4.为什么说软件工程的开发能在一定程度上解决软件危机的各种弊端?5.请简述软件工程的研究内容。

6.请简述软件工程的三要素。

7.请简述软件工程的目标,过程和原则。

8.请简述软件工程的基本原则。

9.请简述现代软件工程与传统软件工程显著的区别与改进。

第二章:一判断题1.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。

2.原型化开发方法包括开发原型和实现原型两个步骤。

3.软件过程改进也是软件工程的范畴。

4.在软件开发中采用原型系统策略的主要困难是成本问题。

二选择题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.CMM模型将软件工程的成熟度分为5个等级,在()使用定量分析来不断地改进和管理软件过程。

A 管理级B 优化级C 定义级D 可重复级三简答题1.如何理解软件生命周期的内部特征2.对比瀑布模型原型模型增量模型和螺旋模型3.当需求不能一次搞清楚,且系统需求比较复杂时应选用哪种开发模型比较适合?4.RUP包含了哪些核心工作流和哪些核心支持工作流?5.XP是一种什么样的模型?6.每个企业需要遵循的软件开发过程都是一样的吗?7.请简述软件过程。

8.敏捷方法的核心价值观有哪些?它对传统方法的反叛体现在哪里?9.请简述CMM的作用10.请简述CMM软件过程成熟度的5个级别,以及每个级别对应的标准。

11.假设你要开发一个软件,它的功能是把73624.9385这个数开平方,所得到的结果应该是精确到小数点后四位。

一旦实现测试完之后,该产品将抛弃。

你打算用哪种软件生命周期模型?请说明你做出选择的理由?第三章一判断题1.需求规格说明书在软件开发中具有着重要作用,他也可以作为软件可行性分析的依据。

2.需求分析的主要目的是解决软件开发的具体方案3.需求规格说明书描述了系统每个功能的实现4.非功能需求从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。

5.需求评审人员主要由开发人员组成,一般不包括用户6.分层的DFD图可以用于可行性分析阶段,描述系统的物理结构7.信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型的防范是E—R 图。

8.用于需求分析的软件工具,应该能够保证需求的正确性,即验证需求的一致性,完整性,现实性和有效性。

9.需求分析是开发方的工作,用户的参与力度不大。

二选择题1.需求分析的主要目的是()A 系统开发的具体方案B 进一步确定用户的需求C 解决系统是“做什么”的问题D 解决系统是“如何做”的问题2.需求分析的主要方法( )A 形式化分析方法B PAD图描述C 结构化分析SA方法D 程序流程图3. SA法的主要描述手段有A 系统流程图和模块图B DFD图,数据词典,加工说明C 软件结构,加工说明D 功能结构图、加工说明4.画分层DFD的基本原则有A 数据守恒原则B 分解的可靠性原则C 子、父图平衡的原则D 数据流封闭的原则5.在E-R模型中,包括以下基本成分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 PAD图C 状态转换图D 数据词典12.在需求分析之前有必要进行( )工作A 程序设计B 可行性分析C ER分析D 2NF分析13.数据流图的是进行软件需求分析的常用图形工具,其基本图形符号是:A 输入输出外部实体和加工B 变换加工数据流和存储C 加工数据流数据存储和外部实体D 变换数据存储加工和数据流14.在结构化分析方法中,用以表达系统内数据的运动情况的工具是A 数据流图B 数据字典C 结构化语言D 判定树和判定表三简答题1.如何理解需求分析的作用和重要性2.如何理解结构化需求分析方法的基本思想3.如何进行结构化需求分析,其建模方法有哪些?4.为什么需求分析特别重要?5.需求分析的目的和工作目标是什么?6.需求分析经过哪些步骤?每个步骤有何作用?7.需求分析的难点在哪里?8.需求分析的理论基础在哪里?9.为什么说需求分析过程是一个迭代过程?10.需求管理过程的目标和内容是什么?11.用户需求报告和需求分析规格说明书有何差异?12.需求评审的作用是什么?为什么必须评审?评审的标准是什么?13.请简述可行性研究所研究的问题14.请简述数据流图的作用15.请简述数据字典的作用四应用题1.某旅馆的电话服务如下:可以分拨分机号和外线号码。

分机号是从7201至7299.外线号码是先拨99.然后是市话号码或长话号码。

长话号码是由区号加市话号码组成。

区号是100到300中任意的数字串。

市话号码是以局号和分局号组成。

局号可以是455 466 888 552中任意一个号码。

分局号是任意长度为4的数字串请写出在数据字典中,电话号码条目数据的组成2.某银行计算机储蓄系统的工作流程大致如下:储户填写的存款单或取款单由业务人员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存款单给客户;如果是取款,而且是存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。

请用数据流图描述本系统的功能3.如有下一个学生选课系统:教师提出开课计划,系统批准后给教师下发开课通知。

学生可向系统提出选课申请,系统批准后给学生下发选课申请结果通知。

课程结束后,系统还可以帮助教师录入成绩,同时把成绩单发送给学生。

请画出该系统顶层的数据流图4.办公室复印的工作过程大致如下:未收到复印命令时处于闲置状态,一旦接收到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令。

如果执行复印命令时缺纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告,等待维修人员来排除,故障排除后回到闲置状态。

请用状态转换图描述复印机的行为。

相关文档
最新文档