软件工程知要点.pptVIP

  1. 1、本文档共31页,可阅读全部内容。
  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文档。上传文档
查看更多
软件工程知要点

软件工程要点 软件 计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合。 软件的特征 软件是一种逻辑产品,而不是物理产品,具有抽象性。没磨损,老化问题 软件产品的成本主要体现在软件的开发和维护上,制造几乎没有成本 大多数软件都是从头开发的。???? 软件危机 软件代价高 开发过程难以控制 软件工作量估计困难 软件质量底 软件修改、维护困难 软件工程 应用计算机科学、数学及管理科学等原理开发软件的过程。它借鉴传统工程的原则、方法,以提高质量、降低成本为目的。 软件工程层次 质量焦点:软件工程必须以有组织的质量保证为基础 过程:软件过程是开发和维护软件及其相关产品(项目计划、设计文件、编程代码、测试、用户手册)的一系列活动、方法、实践和变换。 方法:软件工程方法为软件开发提供“如何做”的技术 工具: 软件工具为过程和方法提供自动的或半自动的支持。这些软件工具被集成起来,建立起一个支持软件开发的系统,称之为计算机辅助软件工程(CASE,Computer Aided Software Engineering)。 软件生命周期 软件产品或系统一系列相关活动的全周期。 软件生命周期分成以下几个阶段 软件定义 问题定义、可行性研究、需求分析 软件开发 总体设计、详细设计、编码和单元测试、综合测试 软件维护 软件过程模型 又称软件工程开发模型,或称软件生命期模型,是软件开发的全部过程、资源、活动和任务的结构框架。 典型软件过程模型 瀑布模型(Waterfall Model) 快速原型模型 增量模型 瀑布模型(Waterfall Model) 瀑布模型各阶段的任务 问题定义:确定用户要求解决的性质、工程的目标和规模。对要开发的软件进行可行性研究(经济可行性、技术可行性、法律可行性、不同的方案),确定软件元素的作用范围,并对软件进行成本估算,制定进度安排,最后提交软件计划。 软件需求分析:最根本的任务是确定为了满足用户需求系统必须“做什么”。即确定系统必须具有的功能和性能,系统要求的运行环境,并预测系统发展的前景。提交软件需求规格说明书。 总体设计:总体设计的基本任务是确定模块分解、各模块功能和模块间接口,设计全局数据结构 。 详细设计:确定各模块的实现细节和局部数据结构。 编码:把软件设计转换成计算机可以接受的程序代码。 测试:发现软件错误。 维护:使用期间对软件进行补充、修改和增加工作。 矫正性维护:识别与矫正软件中的错误 适应性维护:使软件适应新的环境和数据需求的改变 完善性维护:扩充软件功能或改善软件性能 预防性维护:为便于将来的维护和性能提高所进行的预防性措施 瀑布模型的特点 阶段间的顺序性和依赖性 文档驱动 瀑布模型存在的问题 依赖于早期进行的唯一次需求调查,不能适应需求变化 阶段的划分完全固定,阶段间产生大量的文档,极大地增加了工作量; 开发是线性的,用户只有等到整个过程的末期才能见到开发成果,增加了开发的风险; 早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。 快速原型模型 对用户所提出的软件产品的部分实现,是真实系统的一个模型 使用原型的目的 明确并完善需求 探索设计方案 发展为最终的产品原型 抛弃型原型 不作为最终交付产品的一部分; 用来检验讨论中的需求 或方案是否确实是用户需要。 进化型原型 将作为最终产品的一部分; 用于检验和解释问题。 增量模型(Incremental Model) 软件被作为一系列的增量构件来设计、实现、集成和测试; 每一个线性序列产生软件的一个可发布的增量 第一个增量往往是实现基本需求的核心产品。核心产品交付用户使用后,经过评价形成下一个增量的开发计划,它包括对核心产品的修改和一些新功能的发布。这个过程在每个增量发布后不断重复,直到产生最终的完善产品。 传统方法学与面向对象方法学 结构化方法 采用“抽象”和“分解”两个基本手段。 属于功能/数据方法,即将系统的功能和涉及的数据或多或少地分开来处理 面向对象建模方法 面向对象方法学出现于20世纪80年代中后期,并迅速成为20世纪90年代的主流开发方法。 以客观世界中实体为基础,将客观实体的属性与操作封装成对象,对象之间通过传递消息互相联系,以模拟现实中不同事物彼此之间的联系。 采用“封装”、“分类”和“继承”三个基本原则。 需求定义 用户解决问题或达到目标所需要的条件或能力(Capability) 系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或能力 反映上述两个定义中所描述的条件或能力的文档说 需求的层次与种类 业务需求:反映了组织机构或客户对系统和产品高层次的目标要求。体现在项目前景与范围文档中。 用户需求:描述了用户使用软件产品所必须完成的任务。体现在用例文

文档评论(0)

152****5013 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档