软件工程习题200题(同等学历计算机考试题库参考).doc

软件工程习题200题(同等学历计算机考试题库参考).doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程习题200题之一 我的软件工程笔记99年末的一段,是当时几乎所有软件工程书籍的习题。这里整理出来,希望对大家学习软件工程有益。 1、 什么是软件危机?产生软件危机的原因?怎样消除?  软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 软件危机产生的原因: (1) 软件不同于硬件,它是计算机系统的逻辑部件而不是物理部件。在写出程序代码并在计算机上试运行之前,软件开发过程的进展情况较难衡量。很难检验开发的正确性且软件开发的质量也较难评价。因此,控制软件开发过程相当困难。此外,在软件运行过程中发现错误,很可能是遇到了一个在开发期间引入的、但在测试阶段没有能够检测出来的错误,所以软件维护常常意味着修改原来的设计。这样,维护的费用十分惊人,客观上使得软件较难维护。 (2) 软件开发的过程是多人分工合作,分阶段完成的过程,参与人员之间的沟通和配合十分重要。但是,相当多的软件开发人员对软件的开发和维护存在不少错误的观念,在实践的过程中没有采用工程化的方法,或多或少采用了一些错误的方法和技术,这是造成软件危机的主要原因。 (3) 开发和管理人员只重视开发而轻视问题的定义,使软件产品无法满足用户的要求。对用户的要求没有完整准确的认识就急于编写程序。这是许多软件开发失败的另一主要原因。事实上,许多用户在开始时并不能准确具体地叙述他们的需要,软件人员需要做大量深入细致的调查研究工作,反复多次与用户交流信息,才能真正全面、准确、具体地了解用户的要求。 (4) 软件管理技术不能满足现代软件开发的需要,没有统一的软件质量管理规范。首先是文档缺乏一致性和完整性,从而失去管理的依据。因为程序只是完整软件产品的一个组成部分,一个软件产品必须由一组的配置组成,不能只重视程序而应当特别重视软件配置。其次,由于成本估计不准确,资金分配混乱,人员组织不合理,进度安排无序,导致软件技术无法实施。 (5) 在软件的开发和维护关系问题上存在错误的观念。软件维护工作通常是在软件完成之后进行的,因此是极端艰巨复杂的工作,需要花费很大的代价。所以做好软件的定义工作,是降低软件成本,提高软件质量的关键。如果软件人员在定义阶段没有正确、全面地理解用户要求,直到测试阶段才发现软件产品不完全符合用户的需要,这时再修改就为时已晚了。另外,在软件生存期的不同结点进行修改需要付出的代价是很不相同的。在早期引入变更,涉及面较小,付出的代价较低;在开发的中期软件配置的许多成分已经完成,引入一个变更可能需要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上更复杂,因而付出的代价剧增。在软已经完成后再引入变更。则需要付出更高得多的代价。因此,必须把软件维护的观念引入软件开发的各个阶段,建立起软件开发与维护的正确关系。 件,即把工程化应用到软件上。 软件工程学的主要内容是软件开发技术和软件工程管理. 软件开发技术包含软件工程方法学、软件工具和软件开发环境;软件工程管理学包含软件工程经济学和软件管理学。 4、 软件开发模型有几种?各有什么特点? 1.瀑布模型 开发模型呈线性,所以当开发成果沿未经过测试时,用户无法看到软件的效果,这样软件与用户见面的时间间隔,也增加了一定的风险;在软件开发前期末发现的错误传到后面的开发活动时,可能会扩散,进而可能会造成整个软件项目开发失败;在软件需求分析阶段,完全确定用户的需求是比较困难的,甚至可以说是不太可能的. 2.螺旋模型 需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果末能及时标识风险,势必造成重大损失;过多的迭代次数会增加开发成本,延迟提交时间 3.喷泉模型 以用户需求为动力,主要用于面向对象的软件项目,软件的某个部分通常被重复多次,相关对象在每次迭代中随之加入渐进出境的软件成分,各个阶段没有明显的界限 4.智能模型 基于知识的软件开发模型 把瀑布模型和专家系统结合在一起,利用专家系统来帮助软件开发人员的工作.适合于特定领域软件和专家决策系统的开发 5.增量模型 融合了瀑布模型的基本成分和原形实现的迭代特征,优点是人员分配灵活,刚开始不用投入大量人力资源.如果核心产品很受欢迎,则可增加人力实现下一下增量 6.WINWIN模型 融合了螺旋模型的基本成分和原形实现的迭代劳特征,强调风险分析和标识.通过早期谈判客户和开发者之间达成一致协议.它将变成进展到软件和系统定义的关键标准. 7.原形实现模型 原形实现模型从需求收集开始,开发者和客户在一起定义软件的总目标,标识出已知的需求,并规划出需要进一步定义的区域,然后是快速设计,即集中于软件中那些对用户/客户可见的部分的表示,这将导致原形的创建,其最大的特点是能够快速实现一个可实际运行的系统初步模型,供开发人员和用户进行交流和评审,以便较准确地获得用户的

文档评论(0)

lyxbb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档