《软件工程讲义-01.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程 第一章 软件工程概念 软件工程 第一章 软件工程概念 一、软件的概念 二、软件危机 三、软件工程定义 四、软件工程框架 五、软件工程过程与软件生存周期 六、软件开发范型(Paradigm) 七、软件工程原则 提示:设计与建模要点 结构化分析建模:数据流图、实体关系图、状态迁移图、数据字典 结构化设计建模:数据流图转换为系统结构图 结构化程序设计:程序流程图、N-S图、PAD 程序环路复杂性计算 测试用例设计:逻辑覆盖、循环测试、基本路径覆盖、因果图 可靠性分析:估算测试前程序中潜在错误 OMT建模:对象模型、动态模型(状态图、事件追踪图) UML建模:用例图、类图、顺序图、活动图 一、软件的概念 软件的定义软件由计算机程序、数据及文档组成。 软件与硬件、数据库、人、过程等共同构成计算机系统。 软件按功能分类:应用软件、系统软件、支撑软件。 软件的发展经历了三个阶段:程序设计阶段、程序系统阶段、软件工程阶段。 1、软件的发展 程序设计阶段(又称个体生产时期— 50至60年代) 程序系统阶段(又称软件作坊时期。软件=程序+说明 — 60至70年代 ) 软件工程时期( — 70年代以后) 软件工程方法时期(70初至80年代中) 集成的计算机辅助软件工程时期(ICASE Integrated CASE -80年代后) 软件发展的三个时期及其特点 续表一 续表二 2、什么是软件 软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合 程序是按事先设计的功能和性能要求执行的指令序列 数据是使程序能正常操纵信息的数据结构 文档是与程序开发,维护和使用有关的图文材料 3、软件的特点 软件是一种逻辑实体,而不是具体的物理实体。因而它具有抽象性 软件的生产与硬件不同,在它的开发过程中没有明显的制造过程 在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题 失效率曲线: 软件的开发和运行常受到计算机系统的限制,对计算机系统有着不同程度的依赖性。这导致了软件移植问题。 软件的开发至今尚未完全摆脱手工艺的开发方式,生产效率低。 软件本身是复杂的 实际问题的复杂性 程序逻辑结构的复杂性 软件成本相当昂贵 相当多的软件工作涉及到社会因素 软件技术的发展落后于需求 4、软件的分类 按软件的功能进行划分 系统软件 支撑软件 应用软件 二、软件危机 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 软件危机的主要特征 软件开发进度难以预测 软件开发成本难以控制 用户对软件功能难以满足 软件产品质量无法保证 软件产品难以维护 软件缺少文档资料 软件的成本不断提高。 软件开发生产率的提高赶不上人们需求的增长 软件危机产生的原因 ? 产生软件危机有两个方面的原因: 内部因素与软件本身的特点有关。内在因素是客观的存在,只能因势利导加以解决。 外部因素与软件开发和维护的技术方法有关。外部因素是可以完善、提高的。 软件特点的因素 软件是逻辑产品,是代码化了的人的思维活动。在总体构思时,别人无法管理和干预。在写出程序、并在机器上运行之前,进展情况难以掌握,开发质量也无法评估。这些都给管理和控制带来不便。 软件是特定问题在计算机上的运行描述。实际问题的复杂性决定了一个实用软件系统规模往往十分庞大。程序规模越大,控制、管理难度也就越大。 软件开发维护技术方法的因素 开发人员和用户之间的矛盾许多软件系统开发失败的主要原因是开发人员在没有准确、完整地了解了用户的需求后就急于编程;用户对需求也往往不能准确、完整地提出。 软件产品有其生命周期在周期的各个阶段有其具体的任务,如何完成任务,各个阶段有不同的技术方法和操作步骤。只有科学的按生命周期各阶段的任务去组织实施,才能保证质量,降低成本;急于求成,不按科学规律、方法实施,只能“事倍功半”,事与愿违。 软件产品的使用寿命很长 在这期间因功能的增加、硬件的更新换代,都要对软件进行必要的修改。据统计数据表明,软件维护的费用占总费用的55%~70%。软件工程的一个重要目标就是提高软件的可维护性,减少软件维护的代价。 解决软件危机的途径 树立对计算机软件的正确认识。 软件开发应该是组织良好、管理严密、各类人员团结协作共同完成的工程项目。必须充分吸取和借鉴人类长期以来从事各种工程项目所积累的行之有效的原理、概念、技术和方法,并研究能更有效地开发软件的技术和方法。 积极开发和使用计算机辅助软件工程(CASE)工具。 总之,为了解决软件危机就要从技术措施(方法和工具)和组织管理两个方面去研究。 三、软件工程定义 软件工程概念的出现源自软件危机。 1968 年德国人 Bauer 在北大西洋公约组织会议上的定义: 建立并使用完善的工程化原则 , 以较经济的手段获

文档评论(0)

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

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

1亿VIP精品文档

相关文档