软件工程简答题
软件工程(简答题)

1、简述结构化范型和面向对象范型的要点,并分析它们的优缺点。
答:结构化范型要点:结构化范型也称生命周期方法学,属于传统方法学。
传统的软件开发方法大部分采用瀑布模型。
这种模型要求每一阶段都以前一阶段形成的文档为基础完成工作。
每一阶段将要完成时,都要求开发人员进行验证或确认。
瀑布模型要求在软件产品生成之前对用户需求进行尽可能精确的、完全的刻画。
但要完成这种任务相当困难。
优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度.缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化时,开发出的软件往往不成功;而且维护起来仍然很困难。
面向对象范型四个要点:(1)面向对象的软件系统是由对象组成的,软件中的任何元素都是对象,复杂的软件对象由简单的软件对象组合而成。
(2)所有对象划分成各种对象类,每个对象都定义了一组数据和一组方法。
(3)按照子类(派生类)和父类(基类)的关系,把若干个对象类组成一个层次结构的系统(类等级)。
在派生类中对某些特性又做了重新描述,则在派生类中的这些特性将以新描述为准,也就是说,低层的特性将屏蔽高层的同名特性。
(4)对象彼此之间仅能通过传递消息互相联系。
面向对象范型主要优点(1)按照人类习惯的思维方法,对软件开发过程所有阶段进行综合考虑;(2)软件生存期各阶段所使用的方法、技术具有高度的连续性;(3)软件开发各个阶段有机集成,有利于系统的稳定性】6、非渐增式测试与渐增式测试有什么区别?答:【区别:1、非渐增式测试方法把单元测试和集成测试分成两个不同的阶段,前一阶段完成模块的单元测试,后一阶段完成集成测试。
而渐增式测试往往把单元测试与集成测试和在一起,同时完成。
2、非渐增式需要更多的工作量,因为每个模块都需要驱动模块和桩模块,而渐增式利用已测试过的模块作为驱动模块或桩模块,因此工作量较少。
渐增式可以较早的发现接口之间的错误,非渐增式最后组装是才发现。
软件工程概论简答题

软件工程概论简答题1. 什么是软件工程?它的主要目标是什么?软件工程是一门以工程化的方式开发、部署和维护软件系统的学科。
它涉及应用系统性方法、工具和技术,以提高软件产品和过程的质量、可靠性和效率。
软件工程的主要目标包括:- 提高软件产品的质量- 提高软件开发过程的效率- 降低软件开发与维护的成本- 保证软件系统的可靠性和安全性- 提供可维护性和可扩展性的软件系统2. 什么是软件工程的生命周期?它包括哪些阶段?软件工程的生命周期是指软件项目从定义需求到投放使用的整个过程。
它涵盖了以下主要阶段:1) 需求分析阶段:确定软件系统的需求和功能,并与用户进行沟通与协商。
2) 设计阶段:基于需求分析的结果,定义软件系统的架构、模块划分以及数据结构和算法等细节。
3) 编码阶段:根据设计结果,进行编码和测试,实现软件系统的各个模块和功能。
4) 集成和测试阶段:将开发的各个模块进行集成,进行整体功能和性能测试。
5) 部署阶段:将软件系统部署到实际的运行环境中,进行用户培训和技术支持。
6) 维护阶段:对软件系统进行维护和升级,修复bug、增加新功能,并解决用户反馈的问题。
3. 简述软件需求工程的主要任务和挑战。
软件需求工程是软件工程中非常重要的一个环节,主要任务包括:1) 需求获取:通过访谈、调研、文档分析等方法,与用户和利益相关者沟通与交流,准确获取软件系统的需求。
2) 需求分析:对获取的需求进行分析、整理和归纳,抽象出软件系统的功能和约束条件,形成一份需求规范文档。
3) 需求确认:与用户确认需求规范文档,确保所提供的需求与用户的期望一致。
4) 需求管理:对需求进行变更管理、跟踪和控制,确保软件系统在开发过程中的需求改变得到合理处理。
软件需求工程面临一些挑战,例如:- 需求不完整、不清晰或不准确,需要通过与用户的深入交流来解决。
- 用户需求的不稳定性和不一致性,使得需求工程师需要与用户持续沟通,及时调整需求规范。
软件工程简答题整理

什么是软件危机,有哪些具体表现形式?其原因?答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
主要有以下表现形式:1、对软件开发成本和进度的估计常常很不准确 2、用户对“已完成的”软件系统不满意的现象经常发生 3、软件产品的质量往往靠不住 4、软件常常是不可维护的 5、软件通常没有合适的文档资料 6、软件成本在计算机系统总成本中所占的比例逐年上升 7、软件开发生产率提高的速度远远跟不上计算机应用迅速普及深入的趋势原因:1、与软件本身特点有关2、与软件开发与维护的方法不正确有关什么是软件生存周期,有哪几个活动?比较模型软件生存周期是指一个软件该软件报废为止的整个时期。
软件生命周期由软件定义、软件开发和软件维护3个时期组成。
1问题定义,解决的问题是是什么;2可行性研究,问题是否有可行的解决办法;3需求分析,确定目标系统必须具备的功能;4总体设计,总体上解决问题,设计软件出层次结构图、5详细设计,具体实现,设计算法;6编码和单元测试,编程和单元测试;7综合测试,系统地设计测试用例;软件维护,修改软件满足用户需要。
瀑布模型:自上而下,相互衔接的固定次序,像瀑布逐级下落,有顺序性和依赖性,推迟实施,质量保证,严格要求输出文档,缺乏灵活性。
快速原型模型:能快速建立。
它所完成的功能往往是最终产品能完成的功能的一个子集,适合中小型,短周期的交互式系统。
增量模型:把软件产品作为一系列增量构件来设计、编码、集成和测试,能在较短的时间完成,有充裕的时间学习。
适合开发需求不明确设计方案有一定风险的软件项目。
螺旋模型:它是风险驱动的。
适合大型系统及软件的开发。
将瀑布模型与增量模型结合起来,喷泉模型:迭代和无缝连接简述软件测试的任务、目的与类型。
答:软件测试是一个为了寻找软件错误而运行程序的过程。
目的就是为了发现软件中的错误。
一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例。
一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。
软件工程(简答题)

1、典型的详细设计工具有流程图、盒图、、类程序设计语言。
问题反馈【教师释疑】正确答案:【PAD图】2、UML是一种语言。
问题反馈【教师释疑】正确答案:【可视化】3、类是一组具有属性、操作、关系和语义的对象的描述。
问题反馈【教师释疑】正确答案:【相同】4、对象是类的一个。
问题反馈【教师释疑】正确答案:【实例】5、用况图是一种表达系统模型的图形化工具。
问题反馈【教师释疑】正确答案:【功能】6、UML中的顺序图是一种交互图,即由一组对象以及按组织的对象之间的关系组成。
问题反馈【教师释疑】正确答案:【时序】7、模块的作用域是指受该模块内一个所影响的所有模块的集合。
问题反馈【教师释疑】正确答案:【判定】8、模块的控制域是指这个模块本身以及所有直接或间接它的模块的集合。
问题反馈【教师释疑】正确答案:【从属于】9、在数据流图中引入数据源和数据潭这两个术语的目的是为了表示系统的,可以使用它们和相关数据流来定义系统的。
问题反馈【教师释疑】正确答案:【环境|边界】10、模块结构图是系统的一个高层蓝图,允许设计人员在较高的层次上进行抽象思维。
模块结构图可用和两种形式来表示。
问题反馈【教师释疑】正确答案:【层次图|HIPO图】11、在设计模块结构图时要基于原则来设计模块。
问题反馈【教师释疑】正确答案:【高内聚低耦合】12、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“尽力使模块的在其控制域之内”。
问题反馈【教师释疑】正确答案:【作用域】13、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“力求深度、宽度、扇出和扇入”。
问题反馈【教师释疑】正确答案:【适中】14、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“改进软件结构,提高模块的”。
软件工程简答题必考

软件工程简答题必考确认测试是为了确认软件是否满足用户需求和设计规格,也就是检查详细设计是否准确无误。
系统测试是为了检查整个软件系统是否满足用户需求和设计规格,也就是检查概要设计是否能够实现用户需求。
这些测试与软件开发各阶段之间存在密切的关系,测试是软件开发过程中的一个重要环节,它可以帮助开发人员发现并纠正软件中的错误,从而提高软件的质量和可靠性。
同时,测试也可以帮助开发人员验证软件是否符合用户需求和设计规格,从而确保软件能够满足用户的实际需求。
因此,在软件开发的不同阶段中,测试都是一个必不可少的环节。
数据字典是一个包含数据信息的集合,用于对数据流程图中的各个元素进行完整的定义和说明,是数据流程图的补充工具。
数据字典和数据流图共同构成系统的逻辑模型,没有数据字典,数据流图就不够严格,而没有数据流图,数据字典也难以发挥作用。
只有将数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明。
软件生命周期分为三个时期八个阶段:软件定义阶段包括问题定义和可行性研究;软件开发阶段包括需求分析、概要设计、详细设计、编码和测试;软件运行阶段包括软件维护。
面向对象模型包括对象模型、动态模型和功能模型。
对象模型表示系统的静态结构,从客观世界实体的对象关系角度来描绘对象;动态模型描述系统的控制结构,从对象的事件和状态的角度出发,表现了对象的交互行为;功能模型表示系统的“功能”性质,指明系统应该“做什么”,更直接地反映了用户对目标系统的要求。
详细设计的基本任务包括为每个模块进行详细的算法设计,为模块内的数据结构进行设计,对数据库进行物理设计,编写详细设计说明书和评审。
黑盒测试和白盒测试的区别在于黑盒测试法不考虑程序的内部结构和处理过程,只检查程序功能是否能按照规格说明书的规定正常使用;而白盒测试法完全知道程序的结构和处理算法,按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作。
软件工程简答题

软件⼯程简答题三.名词解释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. 软件开发生命周期(Software Development Life Cycle,SDLC):指软件产品从定义需求到交付使用的全过程,包括需求分析、软件设计、编码测试、部署和维护等阶段。
2. 需求工程(Requirement Engineering):指在软件开发的早期阶段通过系统分析和用户需求收集,明确用户需求、软件功能和性能等要求的过程。
3. 原型化开发(Prototyping):指在软件开发的早期阶段建立可操作的原型,以便用户和开发者共同验证需求、功能和界面设计。
4. 面向对象(Object-Oriented):是一种软件开发方法,将程序设计看作是对象之间的消息传递,以对象为中心进行分析和设计。
5. UML(Unified Modeling Language):是一种用于软件工程的标准建模语言,用于描述软件系统的结构和行为,包括类图、时序图、活动图等。
二、简答题总结1. 简述软件工程的目标和原则。
软件工程的目标是通过科学化、系统化和规范化的方法,提高软件开发过程的质量和效率,满足用户需求。
其原则包括可行性、适应性、可理解性、可移植性、可维护性等。
2. 解释并比较瀑布模型和敏捷开发模型。
瀑布模型是软件开发中的经典模型,将软件开发过程划分为需求分析、设计、编码、测试和维护等阶段,各阶段按顺序进行,流程线性。
而敏捷开发模型强调快速迭代和用户反馈,将开发过程划分为多个迭代周期,每个周期完整包含需求分析、设计、编码、测试和交付等阶段。
3. 什么是软件需求规格说明书?软件需求规格说明书是在需求工程阶段编写的文档,用于明确软件系统的需求、功能和性能等要求。
最新软件工程 简答题复习题(带答案)

第一章121,与计算机硬件相比,计算机软件有哪些特点?3软件的特点如下。
41)无法直接观察计算机软件的物理形态,只能通过观察它的实际运行5情况来了解它的功能、特性和质量等。
62)人们在分析、设计、开发、测试软件产品,以及在软件开发项目的7管理过程中,渗透了大量的脑力劳动。
83)不存在像硬件一样的磨损和老化现象,但存在着缺陷维护和技术更9新的问题。
104)软件的开发和运行必须依赖于特定的计算机系统环境。
115)具有可复用性。
123,什么是软件危机?什么原因导致了软件危机?13软件危机的现象如下。
141)经费超出预算,项目一再拖延。
152)不重视需求,开发的软件不能满足用户的要求,项目成功率低。
163)没有规范的软件工程方法,软件可维护性差、软件质量差、可靠性17差。
184)开发工具落后,手工方式,开发效率低。
所有导致软件危机的原因,都与软件本身的产品特点相关。
19201)软件是一个复杂的逻辑产品。
如果没有解决复杂问题的有效方法,21以及软件产品的结构、质量、可维护性得不到保障,开发与维护费用就会持续升高。
22232)软件产品不能实现大规模复用,这导致了软硬件生产效率的不同。
243)软件生产是脑力劳动,它看不见、摸不着,开发成本、开发周期等25都无法做到准确估算,生产过程不易控制。
264)软件成本主要是由研发成本构成;而硬件的生产成本主要是材料和27制造成本,分摊的研发成本很少,即软件研发过程与硬件制造过程相比要28复杂得多。
295,请简述软件工程研究的内容。
30软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管31理过程。
32软件开发方法的内容涵盖市场调研、正式立项、需求分析、项目策划、概要设计、33详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、34系统维护、版本升级等。
35常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型等。
36软件支持过程由所支持的CASE工具组成,常用的CASE工具有Power Designer和Rational Rose等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程简答题第一篇:软件工程简答题1.什么是软件工程?简述软件工程的七条基本原理。
软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法来进行软件开发和维护的学科。
七条基本原理:用分阶段的生命周期计划严格管理;坚持进行阶段评审;实行严格的产品控制;采用现代程序设计技术;结果应能清楚地审查;开发小组的人员应该少而精;承认不断改进软件工程实践的必要性。
2.什么是软件生存周期模型?请至少列举四种主要的模型。
软件生存周期模型是软件开发全部过程、活动和任务的结构框架。
它能直观表达软件开发全过程,明确规定要完成的主要活动、任务和开发策略。
四种主要的模型:瀑布模型,演化模型,喷泉模型,螺旋模型、基于构件的开发模型 3.为什么软件需要维护?简述软件维护的过程。
1)改正在特定使用条件下暴露出来的一些潜在程序错误或设计缺陷;2)因在软件使用过程中数据环境发生变化(如所要处理的数据发生变化)或处理环境发生变化(如硬件或软件操作系统等发生变化),需要修改软件,以适应这种变化;3)用户和数据处理人员在使用时常提出改进现有功能、增加新功能、以及改善总体性能的要求,为满足这些要求,需要修改软件。
软件维护的过程:首先建立维护的机构,申明提出维护申请报告的过程及评价的过程,为每一个维护申请规定标准的处理步骤,建立维护活动的记录保管,并规定复审的标准。
4.影响软件维护工作量的因素有哪些?1)系统大小。
系统越大,功能越复杂,理解掌握起来就越困难,需要的维护工作量越大。
2)程序设计语言。
使用功能强的程序设计语言可以控制程序的规模。
语言的功能越强,生成程序所需的指令数就越少;语言的功能越弱,实现同样功能所需的语句就越多,程序就越大,维护起来就越困难。
3)系统年龄。
老系统比新系统需要更多的维护工作量。
许多老系统在当初并未按照软件工程的要求进行开发,没有文档,或文档太少,或者在长期的维护中许多地方与程序不一致,维护起来困难较大。
4)数据库技术的应用。
使用数据库工具,可有效地管理和存储用户程序中的数据,可方便地修改、扩充报表。
数据库技术的使用可以减少维护工作量。
5)先进的软件开发技术。
在软件开发时,如果使用能使软件结构比较稳定的分析与设计技术(如面向对象分析、设计技术),可以减少一定的工作量。
6)其它。
如,应用的类型、数学模型、任务的难度、IF嵌套深度等等都会对维护工作量产生一定的影响。
5.说明软件文档的作用1.提高软件开发过程的能见度。
把开发过程中发生的事件以某种可阅读的形式记录在文档中2.提高研发效率。
软件文档的编制,使得开发人员对各个阶段的工作都进行周密思考,全盘权衡,减少返工。
3.记录开发过程中有关信息,便于协调以后的软件开发、使用和维护。
4.便于潜在用户了解软件功能、性能等各项指标。
6.如何理解模块的独立性,用什么指标衡量模块的独立性。
模块的独立性是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其他模块的接口是简单的。
模块的独立程度可以由两个定性标准度量:耦合,模块之间的相对独立性的度量;内聚,模块功能强度的度量。
7.原型化方法用于解决什么问题,这种方法的优缺点是什么主要用于解决诸如用户定义了一组一般性目标,但不能标识出详细的输入、处理及输出需求;开发者可能不能确定算法的有效性、操作系统的适应性或人机交互的形式等问题优点:1.明确并完善需求2.探索设计选择方案3.发展为最终产品缺点:1.用户看到一个正在运行的原型便以为产品即将完成,会要求不再进行产品重建,而只是对原型进行修改就交付。
由于原型没有考虑软件的总体质量和可维护行,交付原型会产生欲速则不达的效果2.开发人员为了快速构建原型,可能会采用不合适的操作系统或程序设计语言,也可能使用一些效率低的算法。
在一段时间的开发后,他们往往已经习惯了这些选择,遇事便在系统中掺杂了这些不理想的选择。
8.以G,J,Myers的观点,简述软件测试的目的 1.软件测试是为了发现错误而执行程序的过程2.一个号的测试用例能够发现至今尚未发现的错误3.一个成功的测试是发现了至今尚未发现的错误9.采用黑盒测试方法设计用例有哪几种方法。
这些方法有什么特点1.等价类划分法把所有可能的输入数据划分成若干个等价的子集,使得每个子集中的一个典型值在测试中的作用于这一子集中所有其他值的作用相同2.边界值分析法使等价类的每个边界都要作为测试条件,不仅考虑输入条件们还要考虑输出空间产生的测试情况。
边界值分析法不仅重视输入条件边界,而且也从输出域导出测试用例。
3.错误推测法列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例,错误推测法很大程度上靠知觉和经验进行。
4.因果图法因果图适合于描述对于多种输入条件的组合,响应产生多个动作的形式来设计测试用例第二篇:软件工程简答题第一章1简述软件的概念软件是计算机程序、数据结构和文档的有机结合。
其中,计算机程序能够完成预订功能和性能的可执行的指令;数据结构使得程序能够适当地操作各种信息;文档全面描述了程序的分析、设计过程和使用方法。
2什么是软件危机落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。
3软件危机主要包含哪两方面的问题一是如何开发软件,以满足对软件日益增长的需求;二是如何维护数量不断膨胀的已有软件。
4简述软件危机产生的原因是由于软件产品本身的特点,以及开发软件的方式方法,技术和人员引起的。
(1)软件规模越来越大,结构越来越复杂。
(2)软件开发的管理困难而复杂。
(2)软件开发费用不断增加(4)开发技术落后(5)生产方式落后(6)开发工具落后5什么是软件工程软件工程是将系统性的、规范化的、可定量的方法应用于软件的开发、运行和维护。
6简述软件生存周期的概念软件声明周期是由软件定义、软件开发、软件维护三个时期组成的。
定义阶段的主要任务是解决“做什么”问题。
通常被分为三个阶段:问题定义、可行性研究、需求分析。
开发阶段的任务是解决“如何做”的问题。
通常包括软件设计、实现、测试等工作。
维护阶段的主要任务是使软件保持用户满意的需要。
7软件工程的目标和内容是什么目标:旨在开发满足用户需求,及时交付、不超过预算和无故障的软件。
内容:(1)实现预期的功能,满足用户的需求。
(2)增强软件过程的可见性和可控性,提高软件质量。
(3)提高软件的可维护性(4)提高软件开发的生产效率(5)合理预算开发成本。
第二章1什么是项目?项目有哪两种常见的形式?项目是一项有待完成的任务,有特定的环境与要求,在一定的组织机构内,利用有限资源(包括人力、物力和财力等),在规定的时间内完成任务,任务要满足一定质量、数量、性能技术指标等要求。
通用商业软件项目、定制软件项目。
2简述项目的开发流程软件项目开发流程通常包括:招标、投标、合同签订、软件项目开发等。
3简述软件生命周期的各个阶段项目计划阶段、需求分析阶段、系统设计阶段、编码测试阶段、运行维护阶段4列举项目的主要角色机构领导、项目经理、系统分析员、系统设计师、程序员、测试员,还有配置管理员、质量保证员、产品维护人员等。
5典型的项目组织形式有哪些民主制程序员组、主程序员组的组织方式、现代程序员组的组织方式6简述检查点、里程碑、基线三者之间的关系检查点比较细,里程碑比较粗、基线最粗;重要的检查点一般就是里程碑,重要的里程碑一般就是基线;检查点一般依据时间的先后顺序设定,里程碑一般依据关键成果的产出设定,基线依据一组关键成果的产出设定;在实际项目中,周例会是检查点的表现形式、高层的阶段汇报会是基线的表现形式。
7软件生命周期计划阶段的主要任务8软件生命周期需求分析阶段的主要任务9软件生命周期编码测试阶段的主要任务第三章1可行性研究的要素包括哪些经济:这个系统的经济效益能超过它的开发成本吗?技术:使用现有技术能实现这个系统吗?社会:市场(未成熟、成熟、将要消亡)与政策人:人物、开发人员、领导法律:可能涉及的合同、侵权、责任及各种与法律相抵触的问题。
2可行性研究的任务是什么对以后的行动方针提出建议。
如果问题没有可行的解,分析员应该建议停止这项开发工程,以避免时间、资源、人力和金钱的浪费。
如果问题值得解,分析员应该推荐一个较好的解决方案,并且为工程制定一个初步的计划。
3什么是系统流程图系统流程图简称流程图或系统图,是概括地描绘物理系统的传统工具。
4可行性研究有哪些步骤及内容① 复查项目目标和规模访问关键人员,仔细阅读分析材料,对问题定义阶段书写的规模目标报告书进一步复确认。
改正含糊或不准确,清晰描述对目标系统的一切限制和约束。
② 研究目前系统了解现有系统基本功能,保证新开发系统的功能性。
了解现有系统缺点,保证新开发系统改善缺陷。
了解现有系统运行使用所需费用,新系统应增加收入或减少使用费用。
了解现有系统能做什么,无需了解他怎样做这些工作。
③ 形成高层逻辑模型数据流图:描绘数据在系统中流动处理情况。
数据字典:定义系统中使用的数据。
④ 重新定义问题分析员与用户以数据流图和数据字典为讨论基础,再次复查问题定义、工程规模和目标。
如对问题有误解,或遗漏要求,在此阶段改正。
5简述软件质量的含义软件质量是“软件与明确地和隐含地定义的需求相一致的程度”,是软件与明确地叙述的功能和性能需求、文档中明确描述的开发标准以及任何专业开发的软件产品都应该具有的隐含特征相一致的程度。
6度量软件规模的常用技术有哪些(1)LOC(Lines of Code,代码行)估算(2)FP(功能点)估算(3)Delphi 估算法(4)类比法7简述成本估算的步骤(1)任务分解(2)估算每个任务的成本(3)直接成本估算(4)间接成本估算(5)项目总估算成本(6)项目总报价8简述风险及风险管理的目标所有可能危害项目的因素都称为风险,风险事件最终可能发生,也可能不发生,风险管理的目的是在风险产生危害之前识别它们,从而有计划地消除或削弱风险。
9简述风险管理的主要过程风险识别,风险量化,风险应对计划制定和风险监控。
10简述什么是CMM能力成熟度模型(CMM),用于评价软件机构的软件过程能力成熟度的模型CMM的策略是力图改进对软件过程的管理,而在技术方面的改进是其必然结果。
11简述工程网络图的绘制步骤(1)画工程网络图。
(2)计算事件的最早时刻。
(3)计算事件的最迟时刻。
(4)确定工程的关键路径。
(5)计算每个子任务的机动时间。
第七章1进行软件测试的目的(1)测试是一个为了发现错误而执行程序的过程。
(2)一个好的测试用例是指很可能找到迄今为至尚未发现的错误的测试用例。
(3)一个成功的测试是指揭示了迄今为至尚未发现的错误的测试。
2简述什么是软件测试“用人工或自动的手段来执行和评价系统或系统部件的过程,以检验它是否满足规定的需求,或识别期望的结果和实际的结果之间有无差别”。