- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程 主讲人:王璐 wanglu514@163.com 第一章:绪论 1.1软件产品的概念和特征 定义:软件是计算机程序及其说明程序的各种文档。 程序:按事先设计的功能和性能需求执行的指令序列 数据:是程序能正常操纵信息的数据结构 文档:与程序开发、维护和使用有关的图文材料 特征: 软件是一种逻辑实体,具有抽象性; 软件的生产与硬件不同; 软件产品不会“磨损” ; 1.2软件生产的发展 ——A.程序设计时代(1946-1956)? ?特征:? 生产方式:个体手工劳动.? 工?具:机器语言、汇编 开发方法:追求编和技巧,追求程序运行效率. 硬件特征:价格贵、存储容量小、运行可靠性差。 软件特征:只有程序、程序设计概念,不重视程序设 计方法。 1.2软件生产的发展——?B.程序系统时代(1956-1968) 特征 生产方式:小集团合作生产. 工????具:高级语言??? 开发方法:个人技巧,开始提出结构化方法。 硬件特征:速度、容量、工作可靠性有明显提高,价格 低,销售有爆炸性增长。 软件特征:程序员数量猛增,开发人员的素质和落后的开发技术不?适应规模大、结构复杂的软件开发,产生了尖锐矛盾,导致软件危机的产生。 1.2软件生产的发展——?C.软件工程时代(1968-今) ?生产方式:工程化的生产 工具方法:数据库、开发工具、开发环境、网络、?分布式、面向对象技术?? 硬件特征:向超高速、大容量、微型化以及网络化方向发展。 软件特征:?开发技术有很大进步,但没有完全摆脱软件危机。 1.3 软件危机 定义:计算机软件的开发和维护过程所遇到的一系列严重问题。 表现: 对软件开发成本和进度的估算很不准确; 用户很不满意; 质量很不可靠; 没有适当的文档、可维护性差; 软件成本比重上升; 供不应求:软件开发生产率跟不上计算机应用迅速深入的趋势 1.3 软件危机 原因: 软件本身特点以及开发软件的方式、方法、技术和人员引起的。 客观原因 逻辑部件; 规模庞大;软件开发管理困难而复杂; 开发费用不断增加;开发技术、开发工具落后;生产方式落后。 主观原因:忽视需求分析;软件开发=程序编写;轻视软件维护 解决途径:工程项目管理方法;采用先进软件开发技术与方法、软件工具 1.4 软件工程 定义:是一种用科学知识和技术原理来定义、开发、维护软件的一门学科。 性质:是一门综合性的交叉学科。 用工程科学的观点 进行费用估算,制定进度,制定计划和方案。 用管理科学的方法和原理 进行生产的管理。 用数学的方法 建立软件开发中的各种模型和算法。 1.4 软件工程 软件工程目标: 付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。 1.4 软件工程 研究内容 软件开发技术和软件开发管理。 面临的问题: 软件费用;软件可靠性?;软件维护;软件生产率;软件重用 软件工程的基本原理 用分阶段的生命周期计划严格管理 坚持进行阶段评审 实行严格的产品控制 采用现代程序设计技术 结果应能清楚地审查 开发小组的人员应该少而精 承认不断改进软件工程实践的必要性 2.1软件工程过程 定义:是用以开发或维护软件及其相关产品的一系列活动,包括软件工程活动和软件管理活动。 包括:获取过程,供应过程,开发过程,操作过程,维护过程,管理过程,支持过程。 2.2 软件生存周期 定义:指一个软件从提出开发要求开始直到该软件报废为止的整个时期。 软件生命周期各阶段的基本任务: 可行性分析和项目计划:解决的问题是什么?问题是否值得去解?是否有可行的解决办法? 需求分析:系统必须做什么?主要确定目标系统必须具备哪些功能。 概要设计(总体设计):应该如何解决这个问题?主要是给出几种解决的方案和设计软件的结构。 详细设计:应该怎样具体地实现这个系统?主要任务是把解决具体化。 编码:写出正确的容易理解、容易维护的程序模块。 测试:通过各种类型的测试使软件达到预定的要求。包括:单元测试、集成测试、确认测试。 维护:通过各种必要的维护活动使系统持久的满足用户的需要。 31?软件生存周期模型 定义:是描述软件开发过程中各种活动如何执行的模型。 作用:确立了软件开发中各阶段的次序限制,活动准则,所要遵守的规定和限制,便于各种活动的协调,人员之间的有效通信,有利于活动重用和活动管理。 准则:模型能表示各种活动的实际工作方式,能随情况变化而演化能表示各种活动间同步和制约关系,能表示活动的动态特性。容易为开发人员理解,能适应不同软件项目,具有较强灵活性,能支持软件开发环境的建立。 常用的软件生存期模型 瀑布模型 增量模型 螺旋模型 喷泉模型 智能模型 演化模
文档评论(0)