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

第1讲-软件开发过程.ppt

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

软件质量保证与测试 第1讲 软件及其开发过程 第一章 软件及其开发过程 1.1 软件的含义 1.2 软件开发过程的特性 1.3 软件测试的重要性 1.1 软件的含义 能够完成预定功能和性能的、可执行的指令(计算机程序); 使得程序能够适当地操作信息的数据结构; 描述程序的操作和使用的文档。 软件 = 程序 + 数据 (库) + 文档 + 服务 软件组成 客户需求 - Customer Requirements 市场需求文档 - MRD (Marketing Requirement Document) 软件规格说明书 - Specifications 技术设计文档 – Technical Design Docs 测试文档 Test Documents 在线帮助 - Online help 产品发布注释 - Release Notes / Read Me 产品软件包 - Release packages Return 软件产品的其他内容 帮助文件 Help files 示例 Samples and examples to illustrate points 产品支持文档 Product support information 错误信息 Error messages 安装手册 Setup and installation instructions 用户手册 User manual(s) 产品标签 Label and stickers 产品广告或宣传材料 Ads and marketing material … … 软件特点 软件则是逻辑的、知识性的产品集合,是对物理世界的一种抽象,或者是某种物理形态的虚拟化 软件是硬件的灵魂,硬件是软件的基础 软件,是智慧和知识的结晶 软件不会“磨损”,而是逐步完善 . 1.2 软件开发过程的特性 1.2.1 软件开发的基本过程 1.2.2 软件开发过程模型 1.2.3 UML代表着软件建模的发展趋势 1.2.1 软件开发的基本过程 软件开发过程 需求分析: 根据客户的要求,清楚了解客户需求中的产品功能、特性、性能、界面和具体规格等,然后进行分析,确定软件产品所能达到的目标。 设计: 根据需求分析的结果,考虑如何在逻辑、程序上去实现所定义的产品功能、特性等,可以分为概要设计和详细设计,也可分为数据结构设计、软件体系结构设计、应用接口设计、模块设计、界面设计等。 编程: 将设计转换成计算机可读的形式。 测试: 对设计、编程进行验证和用户需求确认的过程 维护:维持软件运行,修改软件缺陷、增强已有功能、增加新功能、升级等。 1.2.2 软件开发过程模型 瀑布模型 原型模型 快速应用开发(RAD)模型 改进的V模型 螺旋模型 增量模型和迭代模型 构件组装模型 并发模型 XP模型 瀑布模型 Return 原型模型 RAD - V Model (改进) 螺旋模型 Return XP-eXtreme Programming极限编程 最简单的可能就是最有效的 极限编程适合 小团队 (2-10 programmers) “高风险” 快速变化或不稳定的需求 强调可测试性 格言 “沟通、简化、反馈、激励” Kent Beck XP – 内容 XP Lifecycle -生命周期 / TDD - Test-Driven Development测试驱动开发 Write a test for new capability Start Compile Fix compile errors Run the test And see it fail Write the code Run the test And see it pass Refactor as needed TDD – sub-cycle 阶段开发模型 增量和迭代模型 增量开发 迭代开发 1.3软件测试的重要性 1.3.1 软件所带来的悲剧 1.3.2 其他一些例子 1.3.3 测试是软件开发重要环节之一 千年虫 (Y2K) 在上个世纪70年代,程序员为了节约非常宝贵的内存资源和硬盘空间,在存储日期时,只保留年份的后两位,如“1980”被存为“80”。当2000年到来的时候,问题就会出现,比如银行存款程序在计算利息时,应该用现在的日期“2000年1月1日”减去当时存款的日期,比如“1989年1月1日” ,结果应该是21年,如果利息是3%,银行要付给顾客每100元,大约86元利息。如果程序没有纠正年份只存储两位的问题,其存款年数就变为-89年,变成顾客反要付银行1288元的巨额利息。 就是为了这样一个简单的设计缺陷,全世界付出几十亿美元。 奔腾芯片缺陷 (4195835 / 3145727

文档评论(0)

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

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

1亿VIP精品文档

相关文档