软件工程大纲自解析(前五章)教程.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程大纲自解析(前五章)教程

《软件工程》 软件工程学概述 大纲要求:软件危机的概念、原因及消除途径;软件工程的概念、方法学;软件生命周期,主要软件过程的特点。 自我解析 软件危机概念:指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 软件危机的原因: 1)软件不同于硬件,它是计算机系统 中的逻辑部件而不是物理部件。软件缺乏“可见性”导致开发过程进展情况难以衡量、评价,管理和控制软件开发过程困难;后期软件运行中还要进行软件完善或修改,所以软件维护较难。 2)软件不同于一般程序,它的一个显著的特点是规模庞大,程序复杂性随程序规模增加呈指数增长。所以软件需要多人合作完成,由于人才水平良莠不齐,加之涉及许多技术问题,又缺乏管理,导致开发困难。 3)主要原因:软件本身独有的特点给开发和维护带来了很多客观困难。许多软件开发人员对软件开发和维护有不少糊涂关键,在时间过程中或多或少的采用了或多多少的方法和技术。 4)对用户要求没有完整准确的认识就匆忙着手编写程序是许多软件开发失败的主要原因之一。 5)在软件的开发和维护关系问题上存在错误的观念。软件维护工作通常是在软件完成之后进行的,因此是极端艰难的工作,需要话费很大的代价。所以做好软件的定义工作,是降低软件成本、提高软件质量的关键。在软件生存周期的不同的结点进行修改是需要付出很大的代价的,所以在在早期引入变更,涉及面较小,付出的代价较低。 3.软件危机的消除途径: 1)应该对计算机软件有一个正确的认识。(消除软件就是程序的错误的概念) 2)必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。 3)应该推广使用在时间中总结出来的开发软件的成功的技术和方法,并且研究探索更好更有效的技巧和方法,尽快消除在计算机系统早起发展阶段形成的一些错误概念和做法。 4)开发和使用更好的软件工具。 总之,为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。软件工程正式从管理和技术两方面研究如何更好的开发和维护计算机软件的一门新兴学科。 4.软件工程的概念: 概括的说,软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考研而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。 5.软件工程的基本原理 1)用分阶段的生命周期计划严格管理 2)坚持进行阶段评审 3)实行严格的产品控制 4)采用现在程序设计技术 5)结果应该能清楚地审查 6)开发小组的人员应该少而精 7)承认不断改进软件工程时间的必要性 6.软件工程方法学 概念:通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学(methodology),也成为范型(paradigm) 要素:方法(回答怎样做) 工具(支撑环境) 过程(框架、工作步骤) 软件工程方法学分类:传统方法学(又称:生命周期方法或结构化范型)和面向对象方法学 7.软件生命周期 概念:软件生命周期是软件的产生直到报废的生命周期。周期内包括:问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、综合测试和软件维护,共8个阶段。 问题定义 要解决的问题是什么。 可行性研究 对于上一个阶段所确定的问题有行得通的解决办法吗。 需求分析 准确的确定,为了解决这个问题,目标系统必须做什么。 总体设计 概括的说,应该怎样实现目标系统。 详细设计 详细设计的任务就是把解决法具体化,即:怎样的具体地实现这个系统。 编码和单元测试 写出正确的、容易理解和容易维护的程序模块。 综合测试 通过各类型的测试使软件达到预定的要求。(基本测试:集成测试和验收测试) 维护 任务:通过各种必要的维护活动使系统持久地满足用户的需要。 分类:改正性维护,适应性维护,完善性维护(所占比例最高)和预防性维护。 8.软件过程及特点 1)瀑布模型(20世纪80年代前) 特点: eq \o\ac(○,1)阶段间具有顺序行和依赖性 这个特点由两重含义: (1)必须等前一阶段的工作完成之后,才能开始后一阶段的工作;(2)前一阶段的输出文档就是后一阶段的输入文档,因此只有前一阶段的输出文档正确,后一阶段的工作才能获得正确的结果。  eq \o\ac(○,2)推迟实现的观点  eq \o\ac(○,3)质量保证的观点 在瀑布模型的每个阶段都应该坚持两个重要做法: (

文档评论(0)

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

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

1亿VIP精品文档

相关文档