软件工程各章作业习题的名词解释和问答题参考答案
软件工程各章作业习题的名词解释和问答题参考答案 第一章: 1:什么是软件危机 开发软件由于管理混乱,加入软件规模越来越大,越来越复杂,造成软件开发失败。
2:软件工程过程 指获取、供应、开发、操作和维护软件时要实施的过程、活动和任务。 3:软件生成周期 可行性研究与计划、需求分析、总体设计、详细设计、实现、测试、使用与维护 4:有哪些软件周期模型 瀑布模型、原型模型、增量模型、螺旋模型。
5:软件 计算机程序及说明程序的各种文档 6:个体手工劳动 个人编写程序 7:小生产合作方式 多人编写程序 8:软件的特点 是一种逻辑产品,软件的生产主要是研制,软件产品不会用坏,软件生产主要是脑力劳动,软件的成本高。
9:软件文档 有关程序的功能、设计、图形资料等等。 第二章: 三. 名词解释 1.可行性研究 以最小代价, 在尽可能短的时间内, 确定该软件项目是否能够开发, 是否值得开发.
2.技术可行性 主要研究开发的软件技术风险有多大
3.经济可行性 主要研究开发成功后能否得到应有的效益
4.社会可行性 主要研究开发的软件是否存在责任和侵权, 以及与当前管理制度, 人员素质, 操作方式的矛盾能否解决.
四.问答题 1. 可行性研究的任务是什么 首先初步确定项目的规模, 目标, 约束和限制条件, 决定系统的主要功能, 进行简要压缩, 提出几种解决方案.对每种方案提出意见.
2. 可行性研究有那些步骤 确定任务; 分析技术可行性; 分析经济可行性; 分析社会可行性; 作出系统流程图; 作出开发计划。
3. 可行性研究的目的. 减少开发大型软件的风险,缩短开发周期, 减小投资, 减少使用资源, 在尽可能短的时间内, 确定该软件项目是否能够开发, 是否值得开发.
第三章 三. 名词解释 1. 需求分析 指开发人员为了准确地理解, 表达用户的要求, 通过调查, 分析, 把系统的功能, 性能等方面准确地表达出来
2. DFD 数据流图
四. 简答题 1. 什么是需求分析 该阶段的基本任务是什么 指开发人员为了准确地理解, 表达用户的要求, 通过调查, 分析, 把系统的功能, 性能等方面准确地表达出来
基本任务: (1) 能够表达和理解问题的功能和性能; (2) 可以把一个复杂问题按某种方式进行划分, 并能逐步细化, 从而使复杂问题简化,软件的功能域,数据域都可以划分; (3) 建立模型.
2. 简述结构化分析的步骤 这一方法的基本思想是采用自顶向下,逐层分解的方法分析整个系统,有效的控制系统的复杂性. 对于复杂, 规模大的应用系统,采用先抽象后具体, 先全局后局部的思想,有利于把握系统的总体目标, 结构和功能. 第四章: 三. 名词解释 1. 软件设计 确定软件结构,选择好的数据库,进行数据结构设计
2. 模块化 把复杂问题划分为模块的过程
3. 信息隐蔽 指模块内部处理细节和内部数据用某种手段隐蔽起来,外部模块不能随便访问
4. 模块独立性 希望一个模块越独立越好,每个模块完成独立的功能,与其他模块联系越少越好
5. 耦合性 指软件结构中模块之间相互依赖的程度
6. 内聚性 模块内部各部分执行功能组合在一起的相关程度
7. 模块的控制范围 一个模块对下属模块的控制
8. 模块的作用范围 指模块之间的作用,但两个模块间是平级的
9. 软件结构 以需求分析文档为依据,解决实现软件体系结构 四. 简答题 1.什么是软件概要设计, 该阶段的基本任务是什么 以需求分析文档为依据,解决实现软件体系结构。 基本任务:确定软件结构,分解各部分的模块,确定模块的功能,调用关系及接口信息,将用户的需求分配到适当的位置上,得出系统的模块层次结构。
2.软件设计的基本原理包括那些内容 模块与模块化; 抽象; 信息隐蔽; 模块独立性
3.模块的耦合性, 内聚性包括那些内容 其含义 耦合性: 无直接耦合(模块之间无直接联系); 数据耦合(模块间传递数据); 标记耦合(模块间传递数据结构和地址) 控制耦合(模块间传递控制变量) 公共耦合(模块间通过公共关系传递) 内容耦合(一个模块与另一个模块内部数据有关)
内聚性: 功能内聚(仅完成一个功能的各成分组合在一起) 顺序内聚(与同一功能相关的且按顺序执行的各成分组合在一起) 通信内聚(在同一数据结构上操作的各成分组合在一起) 时间内聚(同一时间内执行的各成分组合在一起) 逻辑内聚(逻辑上相似的各成分组合在一起) 偶然内聚(将语句和程序段随意地组合在一起,他们之间无任何联系)
4.简述软件结构设计优化准则 (1)划分模块时,尽量做到模块内部高内聚,模块之间低耦合,保持模块相对独立性。 (2)一个模块的作用范围应该在自己的扩展范围内。 (3)软件结构的深度,宽度应适当。 (4)模块的大小要适中 (5)模块的接口要简单、清晰,传递的参数数量不能太多,类型不要太复杂。 第五章: 三. 名词解释 1 详细设计 是解决如何实现具体的每个模块功能,涉及每个模块的处理过程 ,构造其实现算法。
2. 结构化程序设计 设计容易理解,容易验证的程序。
四. 问答题 1详细设计的基本任务是什么 设计算法,设计数据库,对某些固定的数据值进行代码设计,对界面及输入输出格式设计。
2结构化程序设计方法的基本要点是什么 使用顺序,选择,循环三种基本控制结构自顶向下,逐步求精的构造算法或程序。
3. 详细设计主要使用那一个描述工具 其特点 工具:结构化程序设计 特点: 首先考虑程序完成的主要功能的步骤; 要考虑判断处理和重复处理的问题; 考虑数据对程序的影响; 三种基本控制结构只能按顺序出现或完整嵌套,不能出现相互交叉的情况。
第六章 三. 名词解释 1. 编码 编程序
2. 程序设计风格 指人们编程的习惯特点
四. 简答题 1. 在项目开发时, 选择程序设计语言通常考虑那些因素 根据项目的应用领域; 软件的开发方法; 软件的执行环境; 算法及数据机构的复杂性; 软件开发人员的知识水平; 合理选择编程语言。
2 什么是程序设计风格 应该在那些方面注意培养良好的设计风格 (1)指人们编程的习惯特点 (2) 程序加注释; 变量数据按意义取名; 语句简单直接,内容要缩进,使用空格,空行提高程序的清晰度; 输入输出提示化,表格化,图形化
第七章 三. 名词解释
1.软件测试 为了发现软件中的错误而执行程序的过程 2. 黑盒法 着重于测试呗测程序的功能
3. 白盒法 从被测试程序内部的逻辑结构入手来设计测试用例
4. 渐增式测试 逐步组装模块,组装一部分测试一部分
5 非渐增式测试 将所有经过单元测试的模块一起连接起来进行测试
四. 问答题 1软件测试的目的是什么 是为了发现软件中的 错误而执行程序的过程,它的目标是尽可能多的控制软件中存在的错误,将测试结果作为纠错依据。
2白盒法有那些逻辑覆盖标准 这些标准有什么关系 语句覆盖:是每个语句至少执行一次; 判定覆盖:是每个判定的每个分支至少执行一次; 条件覆盖:是每个判定的每个条件应该取到各种可能的值; 判定/条件覆盖:同时满足判定和条件覆盖; 条件组合覆盖:使每个判定中各条件的每一种组合至少出现一次; 路径覆盖:使程序中每一条可能的路径至少执行一次
3属于黑盒法的测试用例设计方法有那几种 它们的特点 等价类划分:将输入数据划分成若干合理的或不合理的等价类; 边界值分析:检查边界情况的测试用例能搞笑的发现错误; 错误推测:根据经验或直觉推测出程序种可能存在的各种错误; 因果图:检查输入条件的各种组合可能引起的错误 4. 软件测试要经过那几个阶段 各个阶段与什么文档有关 先从每个模块的源程序出发,进行单元测试,然后按概要设计说明书的要求,将各模块组装起来进行集成测试,随后按需求规格说明书要求,对软件进行确认测试,最后将软件与系统中其他元素协调起来,进行系统测试。
第八章 三.名词解释 1. 校正性维护 识别和纠正隐含在软件中的错误过程
2. 适应性维护 适应计算机运行环境的不断变化而修改软件的过程
3. 完善性维护 适应用户业务和机构的发展变化而对软件的功能、性能进行修改、扩充的过程
4. 预防性维护 为了提高软件的可靠性和可维护性而对软件作出的修改
5. 软件可维护性 指软件能够被理解、校正、适应及增加功能的容易程度
6. 软件维护的副作用 因修改软件而造成的错误或其他不希望出现的情况
软件工程 课后习题答案
软件工程课后习题答案软件工程课后习题答案软件工程是一门关于设计、开发和维护软件系统的学科。
在学习软件工程的过程中,课后习题是非常重要的一部分。
通过解答习题,我们可以巩固所学的知识,加深对软件工程的理解。
下面是一些常见的软件工程习题及其答案,供大家参考。
习题一:什么是软件生命周期?它包括哪些阶段?答案:软件生命周期是指软件从开始开发到最终废弃的整个过程。
它包括以下几个阶段:1. 需求分析阶段:确定软件系统的需求,包括功能需求、性能需求、安全需求等。
2. 设计阶段:根据需求分析的结果,设计软件系统的结构和功能。
3. 编码阶段:根据设计阶段的结果,编写代码实现软件系统的功能。
4. 测试阶段:对编写的代码进行测试,确保软件系统的正确性和稳定性。
5. 部署阶段:将测试通过的软件系统部署到生产环境中,供用户使用。
6. 维护阶段:对已经部署的软件系统进行修复漏洞、更新功能等维护工作。
习题二:什么是软件需求?软件需求可以分为哪几类?答案:软件需求是指对软件系统功能和性能的描述。
软件需求可以分为以下几类:1. 功能需求:描述软件系统应该具备的功能,比如用户登录、数据查询等。
2. 性能需求:描述软件系统在运行过程中的性能要求,比如响应时间、并发处理能力等。
3. 安全需求:描述软件系统对数据和系统的安全保护要求,比如用户权限控制、数据加密等。
4. 可靠性需求:描述软件系统的可靠性要求,比如系统的可用性、容错性等。
习题三:什么是软件设计模式?列举几个常见的软件设计模式。
答案:软件设计模式是指在软件设计过程中经常出现的一些问题的解决方案。
常见的软件设计模式包括:1. 单例模式:确保一个类只有一个实例,并提供一个全局访问点。
2. 工厂模式:将对象的创建和使用分离,通过工厂类来创建对象。
3. 观察者模式:定义了一种一对多的依赖关系,当一个对象状态发生改变时,所有依赖它的对象都会收到通知并自动更新。
4. 适配器模式:将一个类的接口转换成客户希望的另一个接口,使得原本由于接口不兼容而不能在一起工作的类可以一起工作。
软件工程第6章-课后作业参考(附答案)
软件⼯程第6章-课后作业参考(附答案)第六章作业题参考答案3.画出下列伪码程序的程序流程图和盒图: STARTIF p THENWHILE q DO f END DO ELSEBLOCK g nEND BLOCK END IF STOP 答:(1)流程图如图6-1所⽰:图6-1从伪码变成的程序流程图(2)该程序的盒图如图6-2所⽰:图6-2 从伪码变成的程序盒图4.下图给出的程序流程图代表⼀个⾮结构化的程序,请问:(1)为什么说它是⾮结构化的?(2)设计⼀个等价的结构化程序。
(3)在(2)题的设计中你使⽤附加的标志变量flag吗?若没⽤,请再设计⼀个使⽤flag 的程序;若⽤了,再设计⼀个不⽤flag 的程序。
答:(1)通常所说的结构化程序,是按照狭义的结构程序的定义衡量,符合定义规定的程序。
图⽰的程序的循环控制结构有两个出⼝,显然不符合狭义的结构程序的定义,因此是⾮结构化的程序。
(2)使⽤附加的标志变量flag,⾄少有两种⽅法可以把该程序改造为等价的结构化程序,图6-3描绘了等价的结构化程序的盒图。
(a)解法1(b)解法2图6-3 与该图等价的结构化程序(⽤flag)(3)不使⽤flag把该程序改造为等价的结构化程序的⽅法如图6-4所⽰。
图6-4 与该图等价的结构化程序(不⽤flag)8.画出下列伪码程序的流图,计算它的环形复杂度。
你觉得这个程序的逻辑有什么问题吗?C EXAMPLELOOP:DO WHILE X>0A=B+1IF A>10THEN X=AELSE Y=ZEND IFIF Y<5THEN PRINT X,YELSE IF Y=2THEN GOTO LOOPELSE C=3END IFEND IFG=H+REND DOIF F>0THEN PRINT GELSE PRINT KEND IFSTOP答:(1)该伪码的流程图如图6-8所⽰:图6-8 程序流程图根据该程序流程图,可得该程序流图如图6-9所⽰:图6-9 程序流图环形复杂度V(G)=流图中的区域数=流图中判定结点数⽬+1=6+1=7 (判定结点为:1、3、6、8、10、11)(2)该算法问题在于控制最外层循环的变量Z不仅没有经过初始化,并且在该循环内部没有任何有可能该变Z的语句。
软件工程第一-二章习题doc
第一、二章习题及答案〔一〕名词解释1. 软件2. 文档3. 软件危机4. 软件工程5. 软件工程过程6. 软件生存周期7. 软件生存周期模型〔软件开发模型〕〔二〕填空题1. 在信息处理和电脑领域内,一般认为软件是、和。
2. 国家标准“电脑软件开发标准”中,把软件生存周期划分为8个阶段,即、、、、、、和。
3. 螺旋模型将开发过程分为几个螺旋周期,在每个螺旋周期内分为、、和四个步骤。
4. 软件工程过程包含的7个过程是、、、、、和。
5. 结构化方法包括结构化方法、结构化方法和结构化程序设计方法。
它是一种面向的开发方法,其实质就是分解。
〔三〕单项选择题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、软件工程的出现主要是由于( )。
软件工程课后习题答案2-12章
D3生理信息 定时的生理信号
F2生理信号 P1 接收信号 F2生理信号 定时的 生理信号
F6日志 E3 时钟 F3日前、时间 P4 定时取样 生理信号 F6日志 E1 护士 F1要求报告 P6 产生病情报告 D1患者日志
范
信
理
生
患者生理信 号获取
生理信号
定
时
生
理
生
号
理
信
信
围
号
号
患者监护系 统
危 日志 机信息
安排航班
预 定 信 息
机票 信息
交款
打印取票单 据
打印及发放 机票
有
航班
通 效 知
设置航班
录入预定信 息
录入取票凭 证
核对取票凭 证
P2 分析信号 E2 病人 F2生理信号
危及病人信息 F2生理信号 D2患者安全范围 P7制定安 全范围 P5 更新日志
P3 产生警告信息 F4警告信息 E1 护士
F5安全范围
监护处理
志 日 定时生理信号
号 生理信
监护信息输 出
息
生
理
制定生理信 号安全范围
接收信号
定时取样 生理信号
时间
分析信号
更新日志
报警
危机信
信
号
范
围
信息 危机
生
信 理 生 时 定 号 信 理
日 志
取得时间
号
病情报告
• P104:4 • 美国某大学有200名教师,校方与教师工会刚刚签订一项协议。 按照协议,所有年工资超过$26000(含$26000 )的教师工 资将保持不变,年工资少于$26000的教师将增加工资,所增 加工资数额按下述方法计算:给每位教师所赡养的人(包括 教师本人)每年补助$100,此外,教师有一年工龄每年再多 补助¥50,但是,增加后的年工资总额不能多于$26000。 • 教师工资档案存储在行政办公室的磁带上,档案中有目前的 年工资、赡养的人数、雇佣日期等信息。需要写一个程序计 算并印出每名教师的原工资和调整后的新工资。 • 要求:(1)画出此系统的数据流图;(2)写出需求说明; • (3)设计上述的工资调整程序(要求用HIPO图描绘设计结果), 设计时分别采用两种算法,并比较两种算法的优缺点: – (a)搜索工资档案数据,找出年工资少于$26000的人, 计算新工资,校核是否超过$26000,存储新工资,印出新 旧工资对照表; – (b)把工资档案数据按工资从最低到最高的次序排序,当 工资数额超过$26000时即停止排序,计算新工资,校核是 否超过限额,存储新工资,印出结果。 • (4)你所画出的数据流图适应用那种算法?
软件工程概述习题及答案
软件工程概述习题及答案第一章软件工程概述一. 填空题1. 软件的发展过程, , , .2. 基于软件的工作方式,软件可以划分为, , , .3. 在软件发展的第四阶段计算机体系结构迅速地从环境转变为环境.4. 在计算机系统中,软件是, 而硬件是.5. 软件危机是在软件发展第阶段末期,随着第代计算机和诞而产生。
6. 文档一般可分为面向的文档,面向的文档,面向的文档和面向的文档。
7. 软件生存期若分为三个大的阶段,,.8. 它是经过阶段评审后的软件配置成分(各个阶段产生的文档或程序代码)。
9. 在软件的生存周期开发阶段要经三个步骤, , 。
10. 瀑布模型是以文档为驱动、适合于的软件项目的模型。
11. 螺旋模型将开发过程分为几个螺旋周期,在每个螺旋周期内为,,和四个步骤。
12. 软件开发的螺旋模型综合了瀑布模型和演化模型的优点,还增加了____。
采用螺旋模型时,软件开发沿着螺线自内向外旋转,每转一圈都要对____ 进行识别和分析,并采取相应的对策。
螺旋线第一圈的开始点可能是一个____ 。
从第二圈开始,一个新产品开发项目开始了,新产品的演化沿着螺旋线进行若干次迭代,一直运转到软件生命期结束。
13. 软件开发模型, , , , , .14. 软件工程面临的问题有, , , .15. 面向对象方法学把客观世界的事物或实体都看成对象,把对象作为分析设计的元素,把所有对象都划分成对象类,类可以派生和.16.基于软件的功能划分可以把软件划分为, ,和。
17.计算机系统发展的早期所形成的一系列错误概念和做法,已经严重地阻碍了计算机软件的开发,甚至有的根本无法维护,只能提前报废,造成大量人力、物力的浪费,从而导致软件危机。
为了研究解决的方法,计算机科学技术领域中的一门新兴的学科逐步形成了,这就是。
18.软件工程是指导的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。
《软件工程》习题参考答案
《软件⼯程》习题参考答案《软件⼯程》习题参考答案周兵1.1教材:《软件⼯程》⽅⽊云主编,清华⼤学出版社,2016 1.2参考书⽬:1.《Software engineering》8th Edition Ian Sommervile,PearsonEducation, 机械⼯业出版社,20062. 《软件⼯程》,王忠群主编,中国科学技术⼤学出版社,20093. 《软件⼯程导论》(第4版), 张海藩编著, 清华⼤学出版社, 20074、《Software engineering : a practitioner's approach》 RogerS. Pressman. 6th ed. Pressman, Roger S. China MachinePress, 20081.3说明:斜体部分是可选讲授内容, 带星号的习题为可选。
第1章软件⼯程学概述1.1习题A.1什么是软件?软件可以分为哪些类?p11答:软件是程序、数据及相关⽂档的完整集合。
软件可分为通⽤软件和定制软件。
A.2*什么是软件危机及其表现?p11答:软件危机是指在计算机软件的开发和维护过程中所遇到的⼀系列严重问题。
软件危机包含下述两⽅⾯的问题:如何开发软件,以满⾜对软件⽇益增长的需求;如何维护数量不断膨胀的已有软件。
具体地说,软件危机主要有以下⼀些典型表现。
(1) 对软件开发成本和进度的估计常常很不准确。
(2) ⽤户对“已完成的”软件系统不满意的现象经常发⽣。
(3) 软件产品的质量往往靠不住。
(4) 软件常常是不可维护的。
(5) 软件通常没有适当的⽂档资料。
(6) 软件成本在计算机系统总成本中所占的⽐例逐年上升。
(7) 软件开发⽣产率提⾼的速度,远远跟不上计算机应⽤迅速普及深⼊的趋势。
A.3什么是软件⼯程?p11答:软件⼯程是指导计算机软件开发和维护的⼀门⼯程学科。
采⽤⼯程的概念、原理、技术和⽅法来开发与维护软件,把经过时间考验⽽证明正确的管理技术和当前能够得到的最好的技术⽅法结合起来,以经济地开发出⾼质量的软件并有效地维护它,这就是软件⼯程。
软件工程 习题参考答案
1.4 什么是软件工程?怎样利用软件工程消除软件危机?
答:(1)软件工程是指导计算机软件开发和维护的一门学科 (2)首先应该对计算机软件有一个正确的认识,彻底清除“软件就是程序”
的错误观念;要使用好的开发技术和方法,并且要不断研究探索更好更有效的技 术和方法;要有良好的组织、严密的管理,各类人员要相互配合,共同完成任务, 充分认识软件开发不是某种个体劳动的神秘技巧;应该开发和使用好的软件工 具,从而有效提高软件生产率。采用“工程化”的思想做指导来解决软件研究中 面临的困难和混乱。
2.4 在【例 2.2】中,把投资改为 6000 元,每年节约金额改为 2000 元,年 利率为 6%,试计算投资回收期和纯收入。
解:如下表 年
将来值(元) (1+n*I)
1
2000
1.06
2
2000
1.12
3
2000
1.18
4
2000
1.24
5
2000
1.30
现在值(元) 累计的现在值 (元)
1886.79
答:(1)数据流图是 SA 方法中用于表示系统逻辑模型的一种工具。 (2)它描述系统由哪几部分组成,各部分之间的联系 等, 以直观的图
哪些方面需要改进。 符合主流的发展;快速
反复改进,最终建立 建 立 起 来 的 系 统 结 构
完全符合用户需求 加上连续的修改可能
的新系统。克服瀑布 会导致产品质量低下。
模型的缺点,减少由
于软件需求不明确
带来的开发风险。这
种模型适合预先不
能确切定义需求的
软件系统的开发。
有较大的灵活性。能 够在较短的时间内 向用户提交一些有 用的工作产品。开发 出一部分,向用户展 示一部分,可让用户
软件工程课后习题参考答案
软件工程课后习题参考答案软件工程课后习题参考答案1·软件工程概述1·1 软件工程的定义和特点软件工程是一门研究和应用如何以系统化、规范化、可量化的方法开发和维护软件的学科。
其特点包括软件开发的目标性、可度量性、可管理性和可预测性。
1·2 软件生命周期模型常见的软件生命周期模型包括瀑布模型、迭代模型、螺旋模型和敏捷模型等。
每个生命周期模型都有其适用的场景和优缺点。
2·软件需求工程2·1 软件需求获取软件需求获取方法包括面谈、问卷调查、用户场景模拟等。
需求获取的目的是明确软件系统的功能、性能和约束条件。
2·2 软件需求分析与规格说明软件需求分析的目标是识别和定义系统的需求,包括功能需求、非功能需求和约束条件。
规格说明是将需求转化为精确、清晰和易于验证的文档。
3·软件设计3·1 结构化设计结构化设计将系统分解为模块,确定模块之间的接口和关系,实现模块化、高内聚、低耦合的设计原则。
3·2 面向对象设计面向对象设计将系统抽象为对象,定义对象的属性和方法,并确定对象之间的关系。
常用的面向对象设计方法有UML(统一建模语言)。
4·软件测试4·1 测试基本概念软件测试是通过运行软件来发现错误和缺陷的过程。
测试的基本概念包括测试用例、测试套件、测试目标和测试覆盖度等。
4·2 测试方法和技术常见的软件测试方法和技术有黑盒测试、白盒测试、灰盒测试、单元测试、集成测试和系统测试等。
每种方法和技术都有其适用的场景和优缺点。
5·软件维护与配置管理5·1 软件维护软件维护是指对已有的软件进行修改、优化、修复错误和适应环境变化的过程。
维护活动包括需求分析、设计、实现、测试和文档更新等。
5·2 软件配置管理软件配置管理是指在软件开发和维护过程中,对软件配置项进行识别、控制、追踪和审查,确保软件可以按需发布、升级和回溯。
软件工程课本习题答案
形式化方法的主要特点是:
(1)软件需求规格说明被细化为用数学记号表达的详细的形式化规格说明;
(2)设计、实现和单元测试等开辟过程由一个变换开辟过程代替。通过一系列变换将形式的规格说明细化成为程序。
2.5安装RationalRose2000/2002/2003,并练习基本操作。
缺点:RUP只是一个开辟过程,并没有涵盖软件过程的全部内容,例如它缺少关于软件运行和支持等方面的内容;此外,它没有支持多项目的开辟结构,这在一定程度上降低了在开辟组织内大范围实现重用的可能性。
合用范围:合用于基于构件的软件开辟。
2软件工程方法与工具
2.1软件工程的三种基本要素是什么,各自的作用是什么?
术问题,更重要的是必须有科学严格的管理。
(5)缺少有效的软件评测手段,提交给用户的软件的质量不能彻底保证。
1.5什么是软件工程?
第1章 作业参考答案
软件工程是指导计算机软件开辟和维护的工程学科。采用工程的概念、原理、技术和方法来开辟和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开辟出高质量的软件并有效地维护它,这就是软件工程。
产生软件危机的原因:除了软件本身的特点,其原因主要有以下几个方面:
(1)缺乏软件开辟的经验和有关软件开辟数据的积累,使得开辟工作计划很难制定。
(2)软件人员与用户的交流存在障碍,使得获取的需求不充分或者存在错误。
(3)软件开辟过程不规范。如,没有真正了解用户的需求就开始编程序。
(4)随着软件规模的增大,其复杂性往往会呈指数级升高。需要不少人分工协作,不仅涉及技
必须做什么”这个问题。
(3)软件设计:本阶段要回答的关键问题是“目标系统如何做?”为此,必须在设计阶段中制
软件工程及应用课后习题(第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)可测的,该需求是可进行测试的。
