软件工程概论简答题

合集下载

软件工程—简答题

软件工程—简答题

软件工程—简答题1. 什么是软件工程?软件工程是一门将工程学原理与方法应用于软件开发的学科。

它涉及对软件的设计、开发、测试、维护和管理等方面的技术和方法。

软件工程的目标是创建高质量和可靠的软件系统,以满足用户的需求。

通过使用软件工程的原则和技术,开发团队能够有效地管理和控制软件开发过程,并提供可维护和可扩展的软件解决方案。

2. 软件工程的基本原则有哪些?软件工程的基本原则包括:2.1 分阶段开发软件开发过程通常分为需求分析、设计、编码、测试和维护等阶段。

每个阶段都应该有明确的目标和任务,确保软件系统的稳定性和质量。

2.2 面向对象设计面向对象设计是一种将问题领域的概念与程序设计语言中的对象模型相匹配的方法。

通过将问题划分为一组相互关联的对象,可以更好地组织和管理软件系统的结构和功能。

2.3 模块化和组件化模块化和组件化是将软件系统划分为相互独立且可重用的模块或组件的过程。

这样可以提高软件系统的可维护性和可扩展性,并降低代码的重复性。

2.4 品质保证软件工程要求对软件系统进行全面的测试和验证,以确保其满足用户的需求和质量标准。

包括单元测试、集成测试、系统测试等各个层次的测试。

2.5 项目管理项目管理是软件工程中非常重要的一环,它涉及资源的分配、进度的控制、团队协作等方面。

通过合理的项目管理,能够提高软件开发的效率和质量。

3. 软件工程的开发模型有哪些?软件工程的开发模型有许多种,常见的包括:3.1 瀑布模型瀑布模型是最早提出的软件开发模型,它将软件开发过程划分为需求分析、系统设计、编码、测试和维护等连续的阶段。

每个阶段的输出作为下一个阶段的输入,依次进行。

3.2 增量模型增量模型将软件开发过程划分为多个独立的增量,每个增量都包含完整的开发过程。

每个增量都可以交付给客户使用或测试,这样可以更快地获取用户反馈并逐步完善系统。

3.3 原型模型原型模型通过快速开发一个原型来获取用户需求,并以此为基础进行详细设计和开发。

(完整word版)软件工程简答题必考

(完整word版)软件工程简答题必考

1、什么是软件工程?它目标和内容是什么?软件工程就是用科学的知识和技术原理来定义,开发,维护软件的一门学科.软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高.软件工程内容:包括开发技术和开发管理两个方面。

2、软件开发中有哪几种过程模型?哪些适用于面向对象的软件开发?软件开发中常见的软件过程模型有瀑布模型、原型模型、螺旋模型、喷泉模型、统一软件过程等。

其中喷泉模型、统一软件过程适用于面向对象的软件开发.3、什么是结构分析方法?该方法使用什么描述工具?结构化分析:简称SA,面向数据流进行数据分析的方法.采用自顶向下逐层分解的分析策略.顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。

中间层则是从抽象到具体的过渡。

使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑.4、什么是软件概要设计?该阶段的基本任务是什么?把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。

称为概要设计或结构设计。

基本任务:⑴设计软件系统结构⑵进行数据结构及数据库的设计⑶编写概要设计的文档⑷评审5、软件维护有哪些内容?(1)校正性维护。

在软件交付使用后,一些隐含的错误在某些特定的使用环境下会暴露出来。

为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护.(2)适应性维护。

为了使应用软件适应计算机硬件、软件环境及数据环境的不断发生的变化而修改软件的过程称为适应性维护。

(3)完善性维护。

为增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动称为完善性维护。

(4)预防性维护。

为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。

6、软件测试要经过哪些步骤?这些测试与软件开发各阶段之间有什么关系?软件测试要经过的步骤是:单元测试→集成测试→确认测试→系统测试.单元测试对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。

软件工程常考简答题

软件工程常考简答题

绪论1、什么是软件工程?软件工程和计算机科学有何区别?答:软件工程是以计算机科学理论及其他有关学科旳理论为指导,采用工程化旳概念、原理、技术和措施进行软件旳开发和维护,把通过时间证明是对旳旳管理措施和目前可以得到旳最佳旳技术、措施相结合,以期用较少旳代价获取高质量旳软件。

计算机科学侧重于理论研究,其成果可应用于软件工程,而软件工程则强调怎样有效旳建造一种软件系统。

2、什么是软件?答:计算机软件是与计算机系统操作有关旳程序、规程、规则及任何与之有关旳文档及数据;3、什么是软件危机?分析其产生旳原因与挣脱危机旳措施,你认为目前已经挣脱软件危机了吗?请阐明理由。

软件危机是指在计算机软件旳开发和维护过程中所碰到旳一系列严重问题。

重要是两个问题:(1)怎样开发软件,怎样满足对软件旳日益增长旳需求;(2怎样维护数量不停膨胀旳已经有软件;软件危机旳出现,究其原因,首先是由软件自身旳特点引起旳,如软件越来越复杂,软件故障难于检测,工作量难以估计;另首先则是由于软件开发和维护措施不妥所导致旳,如软件旳个体化特性太强等。

为了挣脱软件危机所导致旳困境,提出软件工程旳概念,其重要思绪是:要把人类长期以来从事多种工程项目所积累起来旳行之有效旳原理,概念,技术和措施,尤其是人类从事计算机硬件研究和开发旳经验教训,应用到软件旳开发和维护中来。

我认为我国目前尚未完全挣脱软件危机,由于伴随经济发展,各行各业对软件人才旳需求不停扩大,由于我国旳软件人才缺口仍旧很大,导致了某些行业内软件开发进度难以预测,软件开发成本难以控制,顾客对产品功能难以满足,软件产品质量无法保证,软件产品难以维护,软件缺乏合适旳文档资料。

4、软件产品旳特性是什么?软件是一种逻辑产品,具有无形性;软件产品旳生产重要是研制;软件不存在磨损和老化问题,但存在退化问题;软件产品旳生产重要是脑力劳动;软件产品生产成本昂贵,目前生产方式尚未挣脱手工生产方式;软件具有“复杂性”,其开发和运行常受到计算机系统旳限制。

软件工程概论简答题

软件工程概论简答题

软件工程概论简答题1. 什么是软件工程?它的主要目标是什么?软件工程是一门以工程化的方式开发、部署和维护软件系统的学科。

它涉及应用系统性方法、工具和技术,以提高软件产品和过程的质量、可靠性和效率。

软件工程的主要目标包括:- 提高软件产品的质量- 提高软件开发过程的效率- 降低软件开发与维护的成本- 保证软件系统的可靠性和安全性- 提供可维护性和可扩展性的软件系统2. 什么是软件工程的生命周期?它包括哪些阶段?软件工程的生命周期是指软件项目从定义需求到投放使用的整个过程。

它涵盖了以下主要阶段:1) 需求分析阶段:确定软件系统的需求和功能,并与用户进行沟通与协商。

2) 设计阶段:基于需求分析的结果,定义软件系统的架构、模块划分以及数据结构和算法等细节。

3) 编码阶段:根据设计结果,进行编码和测试,实现软件系统的各个模块和功能。

4) 集成和测试阶段:将开发的各个模块进行集成,进行整体功能和性能测试。

5) 部署阶段:将软件系统部署到实际的运行环境中,进行用户培训和技术支持。

6) 维护阶段:对软件系统进行维护和升级,修复bug、增加新功能,并解决用户反馈的问题。

3. 简述软件需求工程的主要任务和挑战。

软件需求工程是软件工程中非常重要的一个环节,主要任务包括:1) 需求获取:通过访谈、调研、文档分析等方法,与用户和利益相关者沟通与交流,准确获取软件系统的需求。

2) 需求分析:对获取的需求进行分析、整理和归纳,抽象出软件系统的功能和约束条件,形成一份需求规范文档。

3) 需求确认:与用户确认需求规范文档,确保所提供的需求与用户的期望一致。

4) 需求管理:对需求进行变更管理、跟踪和控制,确保软件系统在开发过程中的需求改变得到合理处理。

软件需求工程面临一些挑战,例如:- 需求不完整、不清晰或不准确,需要通过与用户的深入交流来解决。

- 用户需求的不稳定性和不一致性,使得需求工程师需要与用户持续沟通,及时调整需求规范。

软件工程—简答题

软件工程—简答题

软件工程—简答题四、简答题1. 简述软件危机产生的原因。

答案:软件危机产生的原因有:(每点1分)(1)软件的规模越来越大,结构越来越复杂。

(2)软件开发的管理困难。

由于软件规模大,结构复杂,又具有无形性,导致管理困难,进度操纵困难,质量操纵困难,可靠性无法保证。

(3)软件开发费用不断增加。

软件生产是一种智力劳动,它是资金密集、人力密集的产业,大型软件投入人力多,周期长,费用上升很快。

(4)软件开发技术、开发工具落后,生产率提高缓慢。

(5)生产方式落后。

软件仍然使用个体手工方式开发。

2. 简述需求分析的概念及需求分析的基本任务。

答案:需求分析是指开发人员要准确懂得用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。

(3分)需求分析的基本任务是要准确地定义新系统的目标,为了满足用户需要,回答系统务必“做什么”的问题。

(2分)3. 简述数据流图的分类及每一类的特点。

答案:数据流图有两类:变换型数据流图与事务型数据流图。

(1分)变换型数据流图是由输入、处理与输出三部分构成,(1分)因此变化型数据流图是一个顺序结构。

(1分)事务型数据流图特征:事务处理中心将它的输入流分离成许多发散的数据流,形成许多加工路径,(1分)并根据输入的值选择其中一个路径来执行。

(1分)4. 简述建立对象模型的过程。

答案:建立对象模型的步骤如下:(每点1分)(1)确定类:标出来自问题域的有关对象类。

(2)准备数据字典:为所有建模实体准备一个数据字典,准确描述各对象类的精确含义,描述当前问题中的类的范围,包含对类的成员、用法方面的假设或者限制;(3)确定关联:确定二个或者多个类之间的相互依靠;(4)确定属性:只考虑与具体应用直接有关的属性(5)使用继承来细化类:使用继承来共享公共结构,以此来重新组织类__全国2010年1月1.简述软件工程面临的问题。

软件工程 简答题复习题(带答案)

软件工程 简答题复习题(带答案)

软件工程简答题复习题(带答案)软件工程简答题复习题(带答案)1. 什么是软件工程?软件工程是一种系统化、规范化、可量化的方法,用于开发、维护和测试软件系统的过程。

它涵盖了软件开发的各个方面,包括需求分析、设计、编码、测试和维护等。

2. 软件开发生命周期有哪些阶段?常见的软件开发生命周期包括需求分析、系统设计、详细设计、编码、测试、部署和维护等阶段。

3. 什么是需求分析?需求分析是软件开发过程中的第一步,它涉及与客户进行沟通和理解客户需求的过程。

通过需求分析,开发团队可以明确软件系统的功能和性能要求,并将这些要求转化为详细的规格说明。

4. 需求分析的主要目标是什么?需求分析的主要目标是确保开发团队和客户对软件系统的需求达成共识。

它需要明确软件系统的功能需求、性能需求和约束条件,以便后续的设计和开发工作能够按照这些需求进行。

5. 什么是软件设计?软件设计是在需求分析的基础上,根据系统需求和约束条件,将系统划分为模块,确定模块之间的接口和关系,设计出满足系统需求的软件结构和算法的过程。

6. 软件设计的原则有哪些?常见的软件设计原则包括单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、依赖倒置原则(DIP)、接口隔离原则(ISP)和迪米特法则(LoD)等。

7. 什么是软件测试?软件测试是为了评估系统的质量和功能是否满足需求的过程。

它通过设计和执行测试用例,检查系统的输出是否符合预期,并发现潜在的错误和缺陷。

8. 软件测试的分类有哪些?软件测试可以分为单元测试、集成测试、系统测试和验收测试等不同的层次。

单元测试用于测试软件的最小功能单元,集成测试用于测试不同模块之间的交互,系统测试则测试整个系统的功能和性能,验收测试是由客户进行的测试,以确认系统是否达到了合同中规定的要求。

9. 什么是软件维护?软件维护是在软件交付给客户后,为了保证其正常运行和适应环境变化而进行的一系列活动。

维护包括错误修复、性能优化、功能扩展等。

软件工程简答题答案

软件工程简答题答案

软件工程简答题答案简答题1.什么是软件工程?请分析软件工程的目标是什么?答案:软件工程是:①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,也就是说将工程化应用于软件开发和管理之中;②对①中所选方法的研究”。

软件工程旨在开发满足用户需要、及时交付、不超过预算和无故障的软件,其主要目标如下:a)实现预期的软件功能,达到较好的软件性能,满足用户的需求。

b)增强软件过程的可见性和可控性,保证软件的质量。

c)提高所开发软件的可维护性,降低维护费用。

d)提高软件开发生产率,及时交付使用。

e)合理预算开发成本,付出较低的开发费用。

2.什么是软件危机?软件危机表现在哪几个方面?由于软件特点和长期以来一直没有发明一种高效的开发方法,导致软件生产效率非常低,交付期一拖再拖,最终交付的软件产品在质量上很难保障。

这种现象早在20世纪60年代被定义为“软件危机”。

它的具体表现如下:a)“已完成”的软件不满足用户的需求。

b)开发进度不能保障,交付时间一再拖延。

c)软件开发成本难以准确估算,开发过程控制困难造成开发成本超出预算。

d)软件产品的质量没有保证,运算结果出错、操作死机等现象屡屡出现。

e)软件通常没有适当的文档资料,或文档与最终交付的软件产品不符,软件的可维护程度非常低。

3.根据相关的法律,对于侵犯软件著作权的行为,根据情节应当给予什么处罚?答案:对于侵犯软件著作权的行为,要根据情况承担停止侵害、消除影响、赔礼道歉、赔偿损失等民事责任;损害社会公共利益的,由著作权行政管理部门责令停止侵权行为,没收违法所得,没收、销毁侵权复制品,并处罚款;情节严重的,著作权行政管理部门可以没收用于制作侵权复制品的材料、工具、设备等;触犯刑律的,依法追究刑事责任。

4.根据你的理解,列举出职业化软件工程师要注意的三个主要问题,请给出理由。

答案:没有唯一答案。

a)不遵守标准和规范:职业化的重要特征是遵守行业标准,不能肆意按照自己的想象来发挥。

软件工程简答题

软件工程简答题

软件⼯程简答题三.名词解释1.软件⼯程是将系统的、规范的、可度量的⽅法(1分)应⽤于软件的开发、运⾏和维护的全过程及上述⽅法的研究。

(3分)4.软件维护是软件⽣存周期的最后⼀个阶段,所有活动都发⽣在软件交付并投⼊运⾏之后。

分)1计算机软件是与计算机系统操作有关的程序(1分)、规程、规则(1分)及任何与之有关的⽂档(1分)和数据(1分)。

2数据流图是以图形的⽅式描述数据在系统中流动和处理的过程。

只反映系统必须完成的逻辑功能,是⼀种功能模型。

3软件可维护性是指软件被理解、改正、调整和改进的难易程度(3分),是指导软件⼯程各个阶段⼯作的⼀条基本原则,也是软件⼯程追求的⽬标之⼀。

(1分)4软件测试:是对软件规格说明、软件设计和编码的最后复审(1分),⽬的是在软件产品交付之前尽可能发现软件中潜伏的错误。

(3分)1软件⽣命周期:软件产品从形成概念开始,经过开发(1分)、运⾏(使⽤)(1分)和维护(1分)直到退役(1分)的全过程称为软件⽣存周期,包括软件定义、开发、使⽤和维护三部分。

3. 协作图⽤于描述相互合作的对象间的交互关系(2分)和链接关系(2分)。

4. 软件重⽤是指在两次或多次不同的软件开发过程中(2分)重复使⽤相同或相似软件元素的过程。

(2分)2. 变换流:由输⼊﹑输出﹑变换(或称处理)三部分组成,是⼀顺序结构。

3.模块的耦合和内聚内聚:⼜称为块内联系,指模块内部各成分之间相互关联的程度,以⾼内聚为设计⽬标。

耦合:也称块间联系,模块之间相互联系程度的度量,联系越紧密,耦合性越强,独⽴性越差,以低耦合为设计⽬标。

4.等价类划分:等价类的划分,是将输⼊数据按有效的或⽆效的划分成若⼲个等价类,测试每个等价类的代表值。

⽤少量有代表性的例⼦代替⼤量测试⽬的相同的例⼦,能有效地提⾼测试效率。

5. 预防性维护:为了提⾼软件的可维护性和可靠性⽽对软件进⾏的修改称为预防性维护。

2.事务流:它的某个加⼯,分离成许多发散的数据流,形成许多加⼯路径,并且根据输⼊值选择其中⼀个路径来执⾏。

(完整)软件工程简答题必考

(完整)软件工程简答题必考

(完整)软件工程简答题必考软件工程简答题必考软件工程是一门研究如何通过系统化的、规范化的、可度量的方法来构建和维护软件的学科。

它的目标是通过合理地应用工程的原理、方法和工具,控制软件开发的各个环节,保证软件的质量和进度,并提高开发效率和可维护性。

下面我们来探究一些软件工程的常见简答题,加深对该领域的理解。

1. 请解释什么是软件过程?软件过程是指在软件开发的整个生命周期中,按照一定的流程和方法进行的活动集合。

它包括需求分析、设计、编码、测试、发布和维护等阶段,并通过规范化的文档和工具来管理和支持这些活动。

通过软件过程,开发团队可以更加有效地组织和协调工作,确保软件开发按时、按质量地完成。

2. 请解释软件生命周期模型,并举例说明。

软件生命周期模型描述了软件开发和维护的不同阶段。

常见的软件生命周期模型包括瀑布模型、迭代模型、螺旋模型等。

例如,瀑布模型将软件开发划分为需求分析、设计、编码、测试和维护等阶段,每个阶段顺序进行,并且每个阶段结束后都有相应的文档。

这种模型适用于需求明确、变动较少的项目。

3. 请解释什么是软件需求工程?软件需求工程是指对软件需求进行系统化和规范化的管理过程。

它包括需求获取、需求分析与建模、需求验证与确认等活动。

软件需求工程旨在确保对用户需求的全面理解和准确描述,并将其转化为开发团队可以理解和实现的形式,以此为软件开发提供准确的目标和方向。

4. 请解释什么是软件设计原则,并举例说明。

软件设计原则是指为了提高软件系统的设计质量,而从实践中总结出来的一些指导原则。

常见的软件设计原则包括开闭原则、单一职责原则、里氏替换原则等。

例如,开闭原则要求软件系统对扩展开放,对修改关闭,通过模块化的设计,可以方便地添加新功能而不影响已有功能的正常运行。

5. 请解释什么是软件测试?软件测试是指对已经开发完成的软件系统进行验证和评估的过程。

它旨在发现软件系统中的错误和缺陷,以提高系统的质量和可靠性。

软件测试可以分为单元测试、集成测试、系统测试和验收测试等不同的级别和类型,针对不同的需求和目标进行。

软件工程简答题

软件工程简答题

软件工程简答题1. 什么是软件工程?软件工程是一门通过系统化、规范化和量化的方法,来开发和维护软件系统的学科。

它关注软件开发全过程中的需求分析、设计、编码、测试和维护等环节,以提高软件质量、降低开发成本和缩短开发周期。

2. 软件工程有哪些基本原则?软件工程遵循以下基本原则:- 按照客户需求导向:软件工程过程应始终以满足客户需求为目标,并持续与客户进行合作和沟通。

- 适应性和灵活性:软件工程方法应当具备适应不同项目需求和灵活变化的能力。

- 风险管理:对项目风险进行有效的识别、评估和管理,以减少项目失败的可能性。

- 团队合作:软件开发需要各个角色之间的密切合作和协同努力。

- 不断改进和学习:软件工程过程应不断反思和改进,学习新的技术和方法,以提高开发效率和质量。

3. 解释软件生命周期模型。

软件生命周期模型是指软件从开始开发到退役的全过程,包括需求分析、设计、编码、测试、发布和维护等阶段。

常见的软件生命周期模型有瀑布模型、迭代模型、螺旋模型等。

- 瀑布模型:按照线性顺序依次进行需求分析、设计、编码、测试和维护等阶段,每个阶段产生的文档和成果是下一个阶段的输入。

- 迭代模型:迭代模型强调快速迭代开发,将软件开发过程划分为多个迭代周期,每个迭代周期内包含需求分析、设计、编码、测试等阶段。

每个迭代周期都会产生可工作的部分软件。

- 螺旋模型:螺旋模型采用风险驱动的迭代方式,每个迭代周期都会评估和处理风险,根据评估结果确定下一步的开发方向。

4. 请解释软件需求工程的概念和目标。

软件需求工程是软件工程中的一个重要领域,旨在确保软件开发过程中对需求进行全面、一致和可验证的规格说明。

其目标包括:- 理解和明确用户和利益相关者的需求。

- 确定需求的优先级和约束条件。

- 分析和定义需求的功能和非功能特性。

- 确保需求的一致性和完整性。

- 验证和验证需求的正确性和满足性。

- 管理和追踪需求变更。

5. 什么是软件验证和确认?软件验证是指通过评审、检查、演练和测试等手段,确认软件是否符合规定的需求和规格要求。

软件工程—简答题

软件工程—简答题

软件工程—简答题软件工程是一门应用科学,致力于在软件开发的过程中有效地管理和控制软件项目。

它涵盖了软件开发生命周期的各个阶段,包括需求分析、设计、编码、测试和维护。

在本文中,我们将解答一些与软件工程相关的简答题。

1. 什么是软件工程?软件工程是一门将工程学原理和方法应用于软件开发过程的学科。

它关注软件开发项目的全面管理,包括需求分析、设计、编码、测试和维护等各个阶段,以确保软件开发过程的高效性和质量。

2. 软件工程的目标是什么?软件工程的目标是通过应用工程原理和方法来开发高质量的软件产品。

它关注于提高软件开发过程的效率和质量,以满足用户需求,并在预算和时间限制下交付可靠的软件。

3. 软件生命周期是什么?软件生命周期是指软件从开始开发到最终退役的整个过程。

它包括需求定义、设计、编码、测试、部署和维护等阶段。

软件生命周期的每个阶段都有特定的任务和产物,确保软件开发过程的有序进行。

4. 什么是需求分析?需求分析是软件开发生命周期的第一步,它旨在收集、分析和定义用户对软件系统的需求。

通过与用户沟通和调研,确定软件系统的功能和性能要求,为后续的设计和开发工作奠定基础。

5. 什么是软件设计?软件设计是根据需求分析的结果,确定软件系统的整体结构、模块划分和算法设计的过程。

它涉及到软件架构设计、数据库设计、界面设计等方面,旨在确保软件系统的可扩展性、可维护性和性能等特性。

6. 什么是软件测试?软件测试是为了发现和修复软件系统中的缺陷和错误。

它通过设计和执行测试用例,验证软件系统的功能、性能和稳定性是否符合预期要求。

软件测试可以帮助开发团队提前发现和解决问题,提高软件质量。

7. 软件维护的目的是什么?软件维护是在软件发布后,对软件系统进行修改和改进的过程。

它旨在解决软件系统中出现的缺陷、改进功能以及应对环境变化等问题。

软件维护的目的是确保软件系统持续满足用户需求,并提供长期的支持和维护。

8. 软件配置管理的作用是什么?软件配置管理是对软件开发过程中的工件进行管理的一种方法。

软件工程简答题复习

软件工程简答题复习

简答题1、简述什么是软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

这些问题绝不仅仅是“不能正常运行的”软件才具有的,实际上几乎所有软件都不同程度地存在这些问题。

主要表现,如: 对软件开发成本和进度估计不准确、软件产品的质量靠不住、用户对“已完成的”软件系统不满意、软件开发速度跟不上、软件不可维护以及没有适当的文档资料等。

2、简述软件质量保证的目标。

(1) 事前预防工作,例如,着重于缺陷预防而不是缺陷检查。

(2) 尽量在刚刚引入缺陷时即将其捕获,而不是让缺陷扩散到下一个阶段。

(3) 作用于过程而不是最终产品,因此它有可能会带来广泛的影响与巨大的收益(4) 贯穿于所有的活动之中,而不是只集中于一点。

3、简述螺旋模型的优缺点。

螺旋模型具有以下优点:(1) 设计上的灵活性,可以在项目的各个阶段进行变更。

(2) 以小的分段来构建大型系统,使成本计算变得简单容易。

(3) 客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。

(4) 随着项目推进,客户始终掌握项目的最新信息,从而使得客户能够和管理层有效地交互。

(5) 对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质作为软件开发的一个重要目标。

螺旋模型也存在以下缺点:螺旋模型是风险驱动的,因此要求软件开发人员必须具有丰富的风险评估经验和这方面的专门知识,否则将出现真正的风险: 当项目实际上正在走向灾难时,开发人员可能还以为一切正常。

所以,很难让用户确信这种演化方法的结果是可以控制的。

4、哪些方法有助于提高软件的可理解性?以下方法都有助于提高软件的可理解性(1) 模块化(2) 详细的设计文档(3)结构化设计方法(4)程序内部的文档(5)良好的高级程序设计语言5、什么是单元测试?其内容包括哪些?单元测试又称为模块测试,是针对软件设计的最小单位一程序模块,进行正确性检验的测试工作,其目的在于发现各模块内部可能存在的各种差错。

软件工程导论简答题整理版

软件工程导论简答题整理版

软件工程导论简答题整理版1. 什么是软件工程?软件工程是指通过系统性的、可量化的方法,对软件的开发、运行和维护进行管理,以提高软件质量和效率的学科。

2. 为什么需要软件工程?软件工程的出现是为了解决传统的软件开发方式中存在的问题,例如项目延期、质量低下和开发成本高等。

通过软件工程的方法和原则,可以规范开发过程,提高开发效率和质量。

3. 软件生命周期是什么?软件生命周期是指从软件开发开始到废弃的整个过程。

它包括需求分析、设计、编码、测试、部署和维护等阶段。

4. 什么是软件需求?软件需求是对软件系统功能、性能和其他特性的描述和规定。

它包括用户需求、系统需求和软件需求规格说明等。

5. 如何进行软件需求分析?软件需求分析是指对软件需求进行细化和明确,以便于后续的设计和开发工作。

可以通过访谈用户、观察业务流程和收集用户反馈等方式进行需求分析。

6. 什么是软件设计?软件设计是指根据软件需求,定义软件系统的结构、组件和接口等,以满足需求的功能和质量要求。

7. 软件设计有哪些原则?软件设计应遵循高内聚、低耦合、模块化、可重用、可维护等原则。

同时,还需要考虑软件的可靠性、可扩展性和性能等因素。

8. 软件测试的目的是什么?软件测试的目的是评估软件系统的质量和功能是否符合需求规格。

通过测试可以发现软件中的错误和缺陷,并促使其修复,以提高系统的稳定性和可靠性。

9. 软件测试方法有哪些?常见的软件测试方法包括黑盒测试、白盒测试和灰盒测试。

黑盒测试关注输入和输出,不关心内部实现;白盒测试关注程序内部结构和代码逻辑;灰盒测试结合了黑盒测试和白盒测试的思想。

10. 什么是软件配置管理?软件配置管理是指对软件配置项进行控制和管理,保证软件系统的可控性和可维护性。

它包括配置项的标识、变更控制、版本管理和发布管理等。

11. 什么是软件项目管理?软件项目管理是指对软件项目进行计划、组织、指导和控制,以达到项目的目标和要求。

它包括进度管理、质量管理、风险管理和团队管理等方面。

软件工程导论简答题

软件工程导论简答题

1.软件工程旳七条基本原理是什么?答:软件工程旳七条基本原理是:用分阶段旳是旳生存周期计划严格管理;坚持进行阶段评审;严格实行旳产品控制;采用现代程序技术;成果应能清晰地审查;开发小组旳组员应当少而精;承认不停改善软件工程旳必要性。

2.良好旳编码风格应具有哪些条件?答:应具有如下条件:(1)使用原则旳控制构造;(2)有限制地使用GOTO语句;(3)源程序旳文档化(应具有如下内容)①故意义旳变量名称——“匈牙利命名规则”。

②合适旳注释——“注释规范”。

③原则旳书写格式:——用分层缩进旳写法显示嵌套构造旳层次(锯齿形风格);——在注释段旳周围加上边框;——在注释段与程序段、以及不一样程序段之间插入空行;——每行只写一条语句;——书写体现式时,合适使用空格或圆括号等作隔离符。

(4)满足运行工程学旳输入输出风格。

3.简述文档在软件工程中旳作用。

答:(1) 提高软件开发过程旳能见度(2) 提高开发效率(3) 作为开发人员阶段工作成果和结束标志(4) 记录开发过程旳有关信息便于使用与维护;(5) 提供软件运行、维护和培训有关资料;(6) 便于顾客理解软件功能、性能。

4.可行性研究包括哪几方面旳内容?答:(1)经济可行性:与否有经济效益,多长时间可以收回成本;(2)技术可行性:既有技术能否实现本系统,既有技术人员能否胜任,开发系统旳资源能否满足;(3)运行可行性:系统操作在顾客内部行得通吗?(4)法律可行性:新系统开发与否会侵犯他人、集体或国家利益,与否违反国家法律。

5.构造化旳需求分析描述工具有哪些?答:有数据流图(DFD)、数据字典(DD)、鉴定表、鉴定树、构造化语言(PDL)、层次方框图、Warnier图、IPO图、控制流图(CFD)、控制阐明(CSPEC)、状态转换图(STD)和实体—关系图(E—R)等。

6.一般面向对象分析建模旳工具(图形)有哪些?答:用例图、类/对象图、对象关系图、实体—关系图(E—R)、事件轨迹图(时序图)和状态转换图(STD)等7.UML统一建模语言有哪几种图形?用例图、类图、对象图、构件(组件)图、布署(配置)图、状态图、活动图、次序(时序)图、合作(协作)图等九种图。

软件工程—简答题

软件工程—简答题

软件工程—简答题1. 什么是软件工程?软件工程是一门研究和应用如何以系统化、规范化、可靠地开发和维护软件的学科。

它涉及到从需求分析开始,通过设计、编码、测试等阶段来创建高质量的软件产品。

2. 软件生命周期有哪些阶段?请详细描述每个阶段。

(1) 需求分析:在这个阶段中,收集并明确用户对于所需功能和性能方面的要求,并将其转换为具体而清晰的文档形式。

(2) 设计:根据需求分析产生一个或多个解决方案,在此基础上进行架构设计与模块划分,并制定相应的技术实现方案。

(3) 编码:根据设计结果使用合适语言进行代码编写,包括程序结构搭建以及算法实现等内容。

(4) 测试:对已经完成编码部署前后端联调运行环境检查是否符合预期效果, 广泛采取黑盒测试白盒测试灰度发布漏洞扫描压力测验等手法验证项目完整性.(5)交付/部署: 将最新版本的软件交付给用户,并进行部署和安装,确保其在目标环境中正常运行。

(6) 维护:对已经发布的软件进行故障修复、功能升级等维护工作。

3. 什么是需求分析?为什么它很重要?需求分析是指通过与客户沟通并收集信息来明确系统或产品所需要满足的功能、性能以及其他约束条件。

它非常重要,因为: - 定义了项目范围和目标;- 确定了开发方向和优先级;- 提供了一个基准用于评估最终结果是否符合预期;这些都有助于避免后期修改成本高昂且时间紧迫。

4. 软件测试包括哪些类型?请简述每种类型。

- 单元测试: 对代码中独立单元(如函数)进行验证,检查其逻辑正确性。

- 集成测试: 将多个模块组合起来,在整体上验证各个模块之间相互调用关系是否正确- 系统测试: 在完整而真实的操作环境下执行一系列针对整个系统功能、可靠性等特点设计出来全面有效地方法, 检验该软硬设备具备所有必须的功能.- 验收测试: 由用户或客户进行,以验证软件是否满足合同和需求规范中所定义的要求。

- 性能测试:通过模拟实际使用情况来评估系统在不同负载下的性能表现。

软件工程简答题及答案

软件工程简答题及答案

软件工程试题整顿_简答题1、可行性研究旳任务是什么?首先需要进行概要旳分析研究,初步确定项目旳规模和目旳,确定项目旳约束和限制,把他们清晰地列举出来。

然后,分析员进行简要旳需求分析,抽象出该项目旳逻辑构造,建立逻辑模型。

从逻辑模型出发,通过压缩旳设计,探索出若干种可供选择旳重要处理措施,对每种处理措施都要研究它旳可行性,可从如下三个方面分析研究每种处理措施旳可行性。

㈠技术可行性:对要开发项目旳功能、性能、限制条件进行分析,确定在既有旳资源条件下,技术风险有多大,项目与否能实现。

㈡经济可行性:进行开发成本旳估算以及理解获得效益旳评估,确定要开发旳项目与否值得投资开发。

㈢社会可行性:要开发旳项目与否存在任何侵犯、阻碍等责任问题,要开发项目旳运行方式在顾客组织内与否行得通,既有管理制度、人员素质、操作方式与否可行。

2、什么是模块旳影响范围?什么是模块旳控制范围?他们之间应当建立什么关系?一种模块旳作用范围(或称影响范围)指受该模块内一种鉴定影响旳所有模块旳集合。

一种模块旳控制范围指模块自身以及其所有下属模块(直接或间接附属于它旳模块)旳集合。

一种模块旳作用范围应在其控制范围之内,且鉴定所在旳模块应在其影响旳模块在层次上尽量靠近。

假如再设计过程中,发现模块作用范围不在其控制范围之内,可以用“上移判点”或“下移受判断影响旳模块,将它下移到判断所在模块旳控制范围内”旳措施加以改善。

3、非渐增式测试与渐增式测试有什么区别?渐增式测试怎样组装模块?非渐增式测试与渐增式测试旳测试措施有如下区别:㈠非渐增式测试措施把单元测试和集成测试提成两个不一样旳阶段,前一阶段完毕模块旳单元测试,后一阶段完毕集成测试。

而渐增式测试往往把单元测试与集成测试和在一起,同步完毕。

㈡非渐增式需要更多旳工作量,由于每个模块都需要驱动模块和桩模块,而渐增式运用已测试过旳模块作为驱动模块或桩模块,因此工作量较少。

㈢渐增式可以较早旳发现接口之间旳错误,非渐增式最终组装是才发现。

软件工程习题解答

软件工程习题解答

第一章软件工程概论一、填空题⑴ 软件是计算机系统中与硬件相互依存的部分,它是包括(A)、(B)、及(C)的完整集合。

其中,(A)是按事先设计的功能和性能要求执行的指令序列,(B)是使程序员能够正确操纵信息的数据结构,(C)是与程序开发、维护和使用有关的图文材料。

①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表⑵ 开发软件时,对于提高软件开发人员工作效率至关重要的是(A)。

软件工程中描述软件生存周期的瀑布类型一般包括计划、(B)、设计、编码、测试、维护等几个阶段。

其中,设计阶段在管理上可以依次分成(C)和(D)两个步骤。

A:① 程序开发环境② 操作系统的资源管理功能③ 开发程序人员数量④ 计算机的并行处理能力B:① 需求分析②需求调查③可行性分析④问题定义C、D:① 方案设计② 代码设计③ 概要设计④ 数据设计⑤ 运行设计⑥ 详细设计⑦ 故障处理设计⑧ 软件体系结构设计⑶ 有人将软件的发展过程划分为四个阶段,第一阶段(20世纪50年代),称为程序设计的“原始时期”。

这时既没有(A),也没有(B),程序员只能用机器指令编写程序。

第二阶段(20世纪60年代),称为“基本软件期”。

出现了(A),并逐渐普及。

随着(B)的发展,编译技术也有较大的发展。

第三阶段(20世纪60年代末至70年代中期)称为“程序设计方法时代”。

这一时期,与硬件价格下降相反,软件开发费用急剧上升。

人们提出了(C)和(D)等程序设计方法,设法降低软件的开发费用。

第四阶段(20世纪70年代中期至今),称为“软件工程”时期。

软件开发技术不再仅仅是程序设计技术,而是包括了软件开发的各个阶段。

如(E)、(F)、编码、单元测试、综合测试、(G)及其整体有关的各种管理技术。

A、B、C、D:① 汇编语言② 操作系统③ 虚拟存储器概念④ 高级语言⑤ 结构化程序设计⑥ 数据库概念⑦ 固件⑧ 模块化程序设计E、F、G:① 使用和维护② 兼容性的确认③ 完整性的确认④ 设计⑤ 需求定义⑥ 图像处理二、简答题⑴ 软件工程过程有哪几种基本活动,试加以说明。

软件工程复习资料简答题

软件工程复习资料简答题

三、简答题1、软件开发与写程序有何不一样?答:软件包括程序,程序是软件旳一部分。

软件是程序、数据及其有关文档旳完整集合。

程序只是为了实现软件旳功能和性能规定而编写旳指令序列。

2、软件旳构造设计可以采用多种措施,目前重要使用旳措施有哪几种?内容分别是什么?3、软件质量保证旳重要功能是什么?4、什么是DFD?其意义怎样?解释DFD四要素旳内容。

答:(1)是数据流图英文缩写,是一种描述数据在系统中流动旳图形工具;(2)是以图形方式体现数据处理系统中信息旳传递和变换处理过程,它从数据加工旳角度来描述一种企事业组织中旳业务活动;(3)A圆框符号转换数据流旳处理过程,又称泡。

B方框符号代表位于软件系统边界之外旳信息生产着或消费者。

C箭头符号代表转换之间旳有向流动旳数据项或数据项集合。

D双杠符号代表为一种或多种转换提供数据源或数据存储服务旳缓冲区、文献或数据库。

5、需求分析旳难点重要表目前哪几种方面?答:(1) 问题旳复杂性。

因顾客需求所波及旳原因繁多引起,如运行环境和系统功能等等。

(2)交流障碍。

需求分析波及人员较多,如软件系统顾客、问题领域专家、需求工程师和项目管理员等,这些人具有不一样旳背景知识,处在不一样旳角度,饰演不一样角色。

导致了互相之间交流旳困难。

(3)不完备性和不一致性。

由于多种原因,顾客对问题旳陈说往往是不完备旳,其各方面旳需求还也许存在着矛盾,需求分析要消除矛盾,形成完备及一致性旳定义。

(4)需求易变性。

顾客需求旳变动是一种极为普遍旳问题,虽然是部分变动,也往往会影响到需求分析旳所有,导致不一致性和不完备性。

为了克服上述困难,人们重要围绕着需求分析旳措施及自动化工具(如CASE技术)等方面进行研究。

6、白盒测试中旳逻辑覆盖有哪几种常用旳覆盖技术?试对它们旳检错能力进行比较。

答:(1)语句覆盖(2) 鉴定覆盖(比语句覆盖严格些)(3) 条件覆盖(比单是鉴定覆盖要严格)(4) 鉴定/条件测试(条件覆盖也不一定满足鉴定覆盖,由于只符合条件覆盖旳用例也许会不满足每个鉴定语句均有真值或假值出现。

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

一、概述1.软件工程过程有哪几个基本过程活动?试说明之。

解答:软件工程过程的基本过程活动有4步:·P (Plan) : 软件规格说明。

规定软件的功能及其运行的限制;·D (Do) : 软件开发。

产生满足规格说明的软件;·C (Check) : 软件确认。

确认软件能够完成客户提出的要求;·A (Action) : 软件演进。

为满足客户的变更要求,软件必须在使用的过程中演进。

2.试说明“软件生存期”的概念。

解答:软件与任何一个事物一样,有它的孕育、诞生、成长、成熟、衰亡的生存过程。

这就是软件的生存期。

它分为6个阶段:(1) 软件项目计划:在这一步要确定软件工作范围,进行软件风险分析,预计软件开发所需要的资源,建立成本与进度的估算。

根据有关成本与进度的限制分析项目的可行性。

(2) 软件需求分析和定义:在这一步详细定义分配给软件的系统元素。

可以用以下两种方式中的一种对需求进行分析和定义。

一种是正式的信息域分析,可用于建立信息流和信息结构的模型,然后逐渐扩充这些模型成为软件的规格说明。

另一种是软件原型化方法,即建立软件原型,并由用户进行评价,从而确定软件需求。

(3) 软件设计:软件的设计过程分两步走。

第一步进行概要设计,以结构设计和数据设计开始,建立程序的模块结构,定义接口并建立数据结构。

第二步做详细设计,考虑设计每一个模块部件的过程描述。

经过评审后,把每一个加细的过程性描述加到设计规格说明中去。

(4) 程序编码:在设计完成之后,用一种适当的程序设计语言或CASE工具生成源程序。

应当就风格及清晰性对代码进行评审,而且反过来应能直接追溯到详细设计描述。

(5) 软件测试:单元测试检查每一单独的模块部件的功能和性能。

组装测试提供了构造软件模块结构的手段,同时测试其功能和接口。

确认测试检查所有的需求是否都得到满足。

在每一个测试步骤之后,要进行调试,以诊断和纠正软件的故障。

(6) 软件维护:为改正错误,适应环境变化及功能增强而进行的一系列修改活动。

与软件维护相关联的那些任务依赖于所要实施的维护的类型。

3.试论述瀑布模型软件开发方法的基本过程,比较它的优点和缺点。

解答:瀑布模型规定了各项软件工程活动,包括:制定软件项目计划,进行需求分析和定义,软件设计,程序编码,测试及运行维护。

并且规定了它们自上而下,相互衔接的固定次序,如同瀑布流水,逐级下落。

瀑布模型为软件开发和软件维护提供了一种有效的管理图式。

根据这一图式制定开发计划、进行成本预算、组织开发力量,以项目的阶段评审和文档控制为手段有效地对整个开发过程进行指导,从而保证了软件产品及时交付,并达到预期的质量要求。

瀑布模型的缺点是缺乏灵活性,特别无法解决软件需求本身不明确或不准确的问题。

这些问题的存在对软件开发会带来严重影响,最终可能导致开发出的软件并不是用户真正需要的软件,并且这一点在开发过程完成后才有所察觉。

面对这些情况,无疑需要进行返工或是不得不在维护中纠正需求的偏差。

但无论上述哪一种情况都必须付出高额的代价,并将为软件开发带来不必要的损失。

4.试说明演化模型软件开发方法的基本过程,比较它的优点和缺点。

解答:由于在项目开发的初始阶段人们对软件的需求认识常常不够清晰,因而使得开发项目难于做到一次开发成功,出现返工再开发在所难免。

因此,可以先做试验开发,其目标只是在于探索可行性,弄清软件需求;然后在此基础上获得较为满意的软件产品。

通常把第一次得到的试验性产品称为“原型”。

演化模型从需求分析开始。

软件开发人员与用户一起定义待开发软件系统的总目标,定义需求,确定软件的工作范围。

然后快速设计软件中对使用者可见部分的表示,进而建造原型,再让用户或客户评估原型,根据评估结果,修改和细化待开发软件系统的需求,使之满足用户的需求。

这个过程是一个迭代的过程。

演化模型的优点是:·演化模型能够得到更好的软件需求,它不仅能够处理模糊的需求,而且开发人员与用户可通过原型充分进行交流;·演化模型给用户提供了机会,以更改用户原来设想的不尽合理的最终系统;·演化模型使得开发出来的最终系统更容易维护,对用户更友好;·演化模型可以降低总的开发费用,缩短开发时间。

演化模型的缺点是:·对于开发人员不熟悉的领域,演化模型可能误导开发者把系统的次要部分当作主要框架,作出不切题的原型;·原型过快地收敛于需求集合,使得某些基本方面被忽视;·长期在原型环境下开发,只注意得到令人满意的原型,容易“遗忘”用户环境与实际客户环境之间的差别。

5、软件工程包括哪些基本要素?请简要说明这些要素及其作用。

答案要点:软件工程包括过程、方法和工具三个要素。

软件工程过程定义了技术方法的采用、工程产品(包括模型、文档、数据、报告、表格等)的产生、里程碑的建立、质量的保证和变更的管理,从而将人员、技术、组织与管理有机地结合在一起,实现在规定的时间和预算内开发高质量软件的目标;.软件工程方法为软件开发提供了“如何做”的技术,通常包括某种语言或图形的模型表示方法、良好的设计实践以及质量保证标准等;. 软件工程工具为软件工程方法提供了自动的或半自动的软件支撑环境,辅助软件开发任务的完成。

现有的软件工具覆盖了从需求分析、系统建模、代码生成、程序调试和软件测试等多个方面,形成了集成化的软件工程开发环境CASE。

6. 软件与其他工程学科所产生的制品有什么根本区别?答案要点:(1)软件是人类思维和智能所延伸的产物,其数据、状态和逻辑关系的组合以及人类思维的复杂性和不确定性导致它本身具有极高的复杂性;(2)软件具有不可见性,它是抽象的,形式化和逻辑化的。

(3)软件具有可变性,有用的软件需要不断地修改和扩展,但是频繁的修改可能导致软件的退化;(4)软件的开发在很大程度上依然是手工作坊式的,难以实现工厂化的生产。

7. 软件工程是以系统的、可控的、有效的方式产生高质量的软件,请说明你对“高质量软件”含义的理解。

软件质量是软件产品与明确的和隐含的需求相一致的程度,它通常由一系列的质量特性来进行描述,包括正确性、可靠性、有效性、可用性、复用性、可维护性、可移植性等。

例如,除了要求软件正确运行之外,人们可能还希望软件运行的响应时间符合要求、软件使用方便快捷、程序代码易于理解等,而“程序代码易于理解”往往是一种用户没有明确提出的需求,但却是影响软件演化的重要因素。

8. 某大学准备开发一个新的学生注册选课系统,以替换一个现有的系统。

请设计一个适用于该系统开发的过程模型,并进一步描述该模型。

答案要点:假设原有的学生注册课程系统是由学生手工提交书面选课单,教师手工提交成绩单,教务管理人员在客户端录入学生选课结果和课程成绩;而在新的选课系统中,所有用户在自己的计算机上通过Internet 访问和操作该系统,该软件系统需要更新服务器和数据库等系统,并扩充一些新功能和提高系统性能。

从该系统的具体情况来看,系统的需求是比较容易明确的,整个系统的结构需要重新设计,但是原有的遗留系统中有些部分是可以重用的,因此我们可以采用组件模型实施软件开发:系统需求分析:由于该系统是现有系统的扩展,因此首先可以经过一个简单的需求分析阶段,从而确定新系统的需求。

遗留系统分析:在需求确定的基础上,开发人员分析遗留系统并研究新系统的总体结构,选择重用原有的课程信息管理部分,重新开发选课部分,必要时适当修改系统需求,最终确定系统需求和总体结构。

设计开发阶段:开发人员进一步设计相关子系统,将原有的课程信息管理部分封装为子系统,重新开发学生选课子系统,并实现与外部付费系统的接口。

系统测试阶段:开发人员将所有子系统集成在一起,交给测试人员开始全面的功能测试和性能测试。

根据所报告的测试问题,开发人员调试和修改程序。

系统交付阶段:测试通过后,开发人员将系统及其相关文档交付用户验收。

四、需求分析四、问答题1、在软件需求分析时,首先建立当前系统的物理模型,再根据物理模型建立当前系统的逻辑模型。

试问:什么是当前系统?当前系统的物理模型与逻辑模型有什么差别?解答:所谓当前系统可能是需要改进的某个已在计算机上运行的数据处理系统,也可能是一个人工的数据处理过程。

当前系统的物理模型客观地反映当前系统实际的工作情况。

但在物理模型中有许多物理的因素,随着分析工作的深入,有些非本质的物理因素就成为不必要的负担,因而需要对物理模型进行分析,区分出本质的和非本质的因素,去掉那些非本质的因素即可获得反映系统本质的逻辑模型。

所以当前系统的逻辑模型是从当前系统的物理模型抽象出来的。

2、可行性研究主要研究哪些问题?试说明之。

解答:可行性研究主要做4个方面的研究:经济可行性:进行成本∕效益分析。

从经济角度判断系统开发是否“合算”。

技术可行性:进行技术风险评价。

从开发者的技术实力、以往工作基础、问题的复杂性等出发,判断系统开发在时间、费用等限制条件下成功的可能性。

法律可行性:确定系统开发可能导致的任何侵权、妨碍和责任。

方案的选择:评价系统或产品开发的几个可能的候选方案。

最后给出结论意见。

3、数据流图的作用是什么?它有哪些基本成份数据流图的基本成份有4种:4、Petri网可以描述计算机软件系统的执行。

现有一个程序如下(类似于Pascal语言)L : S1;WHILE P1 DOBEGINIF P2 THEN S2ELSE S3;COBEGINS4;S5;S6;COENDEND;GOTO L;其中,P1和P2为逻辑表达式,S1,S6是单个执行语句,COBEGIN 和COEND是并行执行开始和并行执行结束(即S4,S5和S6语句并行执行)。

试用Petri网描述这段程序的执行过程解答:采用条件∕事件网(C∕E网,C―Condition, E―Event)式Petri网。

其定义如下:①当事件e激发时条件c开始成立,则称c是e的后继。

此关系用“”表示;②当事件e激发时条件c消失成立,则称c是e的前驱。

此关系用“”表示;③当事件e激发时条件c不受影响,则c和e之间没有前驱、后继关系,无边。

根据定义,给定程序的C∕E网如下:5、软件需求分析说明书主要包括哪些内容?解答:软件需求规格说明是分析任务的最终产物,通过建立完整的信息描述、详细的功能和行为描述、性能需求和设计约束的说明、合适的验收标准,给出对目标软件的各种需求。

软件需求规格说明的框架如下:6. 需求工程包括哪些基本活动?每一项活动的主要任务是什么?答案要点:需求工程分为需求开发和需求管理两个部分,而需求开发又可进一步分为需求获取、需求分析、规格说明和需求验证四个阶段。

这些基本活动的主要任务包括:(1)需求获取:采集、识别和提取用户的需求,对问题和需求形成文档化的描述,使各种人员达成一致的理解和认可。

相关文档
最新文档