网站大量收购独家精品文档,联系QQ:2885784924

軟件工程总结-背诵.docVIP

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
軟件工程总结-背诵

第一章 软件工程概论 1.什么是软件危机?   软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题表现在以下几个方面:    (1)用户对开发出的软件很难满意。    (2)软件产品的质量往往靠不住。    (3)一般软件很难维护。    (4)软件生产效率很低。    (5)软件开发成本越来越大。    (6)软件成本与开发进度难以估计。    (7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。 2.产生软件危机的原因? 1.软件本身的特点:逻辑部件,不具有直观可见性;规模日趋庞大,开发与管理十分复杂性 2.错误的软件开发与维护方法:忽视软件需求分析;轻视文档的重要性;忽略软件维护等 3.怎样克服软件危机?   (1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。   (2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。   (3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。 总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。 2.假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及早发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清楚他呢?”应该怎样反驳他? 反驳:发生在编码时期的故障极有可能是需求分析阶段由于操作不当产生的,所以必须及时消除错误,否则,到了后期软件运行和维护阶段再回过头来修改,将会付出更大的代价。 4、什么是软件工程?有哪些本质特性怎样用软件工程消除软件危机?   软件工程是指导计算机软件开发和维护的工程学科。    (1) 它采用工程的概念、原理、技术和方法来开发和维护软件;    (2) 它将管理技术与当前经过时间考验的而证明是正确的技术方法结合起来;    (3) 它强调使用生存周期方法学和结构分析和结构技术;    (4) 经过人们长期的努力和探索,围绕着实现软件优质高产这个目标,从技术到管理两个方面做了大量的努力,逐渐形成了软件工程学这一新的学科。 消除软件危机的措施: (1)对计算机软件有一个正确的认识(软件≠程序) (2)必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。 (3)推广使用在实践中总结出来的开发软件的成功技术和方法。 (4)开发和使用更好的软件工具 5.什么是软件生命周期,各阶段的任务?   软件生命周期是指从软件定义、软件开发、软件维护的全过程。 定义时期:问题定义 可行性研究 需求分析 开发时期:总体设计 详细设计 编码和单元测试 综合测试 维护时期:综合测试 (1)问题定义:通过对系统实际用户和使用部门负责人的访问调查,明确要解决问题性质、工程目标和规模。 (2) 可行性研究:导出系统的高层逻辑模型(数据流图),并在此基础上更准确、更具体的确定工程的规模和目标;更准确的估计系统的成本和效益。 (3) 需求分析:和用户密切配合,充分交流信息,以得到用户确认的系统逻辑模型(数据流图、数据字典及简要的算法表示的系统逻辑模型)。 (4) 总体设计: 1)提出几种可能的解决方案,权衡各种方案的利弊,并推荐出最佳方案; 2)设计软件的结构,确定软件的模块构成及模块之间的关系。 (5) 详细设计:把解决问题的方案具体化,设计出程序的详细规格说明,并包含必要的细节信息。 (6) 编码和单元测试:将详细设计的结果翻译成高级程序设计语言的源程序,并仔细测试编写的每一个模块。 (7)综合测试:通过各类型的严格测试与调试,使软件达到预定的要求。 1)集成测试:各模块装配后测试; 2)验收测试:按规格说明书。 (8) 软件维护:通过必要的维护工作使得系统持久的满足用户的需要: 1)改正性维护;2)适应性维护; 3)完善性维护;4)预防性维护 6、 软件过程的定义? 为了获得高质量软件所需要完成的一系列任务框架,他规定了完成各项任务的工作步骤。   7、软件工程的定义: 采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技

文档评论(0)

cv7c8hj6b4I + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档