- 1、本文档共73页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件开发过程 比尔盖子是一名建筑工人 软件开发过程 软件开发过程 软件复杂性 图形用户界面 客户/服务器结构 分布式应用 数据通信 超大型关系型数据库 etc. 项目团队中的角色 软件项目团队中的角色 项目人员构成比例 例子: 1、微软 EXCHANGE 2000 SERVER 的开发: 项目经理:25人 开发人员:140人 测试人员:350人 2、WINDOWS 2000: 项目经理:250人 开发人员:1700人 测试人员:3200人 软件工程师的工作 项目设计与分析 编码 编写文档 测试 团队管理 软件工程师的素质 良好的编码能力和规范化编码习惯 自觉的规范意识和团队精神 具有软件工程的概念 具有求知欲、进取心和学习总结的能力 团队组织和管理能力 软件开发过程 软件开发过程 软件开发过程 软件开发过程 软件开发过程 软件开发过程 之前设计时犯下一个比较小的错误,在建造时才被发现,已经变成了一个严重的错误 必须停工回到设计阶段重新设计,重新建造 在已经将房间格局建造得差不多时,用户又突然提出更改某处的要求,导致工程再次从设计开始 虽然很努力工作 软件开发过程 工程失败的原因 前期错误往往只有到了项目后期才能够被发现 开始阶段的小错误被逐级放大,可能导致项目最终报废 开发进度往往会被意外发生的问题所打乱,需要进行返工或其他一些额外的开发周期,造成项目延期或费用超支 缺乏灵活性,不能适应用户需求的改变 返回上一级的开发需要十分高昂的代价 软件开发过程 规模大、需求不清晰、不稳定的项目如何完成呢? 软件、特点、分类 软件的发展阶段 软件危机 软件工程、软件工程过程、特性 软件工程的基本目标 软件工程原理 软件生存期 软件生存期模型 中国与印度软件行业对比 软件 软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合 程序是按事先设计的功能和性能要求执行的指令序列 数据是使程序能正常操纵信息的数据结构 文档是与程序开发,维护和使用有关的图文材料 软件特点 软件是一种逻辑实体,而不是具体的物理实体。因而它具有抽象性 软件的生产与硬件不同,在它的开发过程中没有明显的制造过程 在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题 软件的开发和运行常受到计算机系统的限制,对计算机系统有着不同程度的依赖性 虽然目前工业上正朝着可复用的组件化装配方向发展,但软件的开发至今尚未完全摆脱手工艺(定制)的开发方式 软件本身是复杂的 实际问题的复杂性 程序逻辑结构的复杂性 软件成本相当昂贵 相当多的软件工作涉及到社会因素 软件的分类 按软件的功能进行划分: 系统软件,支撑软件,应用软件 系统软件 操作系统 数据库管理系统(DBMS) 设备驱动程序 通信处理程序等 支撑软件 文本编辑程序 文件格式化程序 磁盘向磁带数据传输的程序 程序库系统 支持需求分析、设计、实现、测试和支持管理的软件 应用软件 商业数据处理软件 工程与科学计算软件 计算机辅助设计/制造软件 系统仿真软件 智能产品嵌入软件 医疗、制药软件 事务管理、办公自动化软件 计算机辅助教学软件 按软件工作方式划分: 实时处理软件 分时软件 交互式软件 批处理软件 按软件服务对象的范围划分: 项目软件(面向客户) 产品软件(面向市场) 按使用的频度进行划分: 频度低(安装软件、人口普查软件) 频度高 按软件失效的影响进行划分: 高可靠性软件(军事、航空、医疗卫生等) 一般可靠性软件 软件发展阶段 程序设计阶段 — 50至60年代 程序系统阶段 — 60至80年代 (这一时期主要围绕软件项目,开展了开发模型、支持工具以及开发方法的研究。如:瀑布模型、结构化方法(自顶向下)、结构化语言(Pascal、C、Ada语言)管理方法(费用估算、文档复审)支持工具( 计划、配置管理工具等) 软件工程阶段 — 80年代以后 开展了有关软件生产技术、软件复用技术、软件生产管理的研究和实践; 提出具有广泛应用前景的面向对象方法和相关的语言(Smalltalk、C++) 近年来,软件工程的研究从过程转向产品更加注重程序的开发范型和软件生产。高智能、自动化CASE成为软件工程技术研究的热点 软件危机 软件危机 定义: 在计算机软件开发和维护过程中所遇到的一系列严重问题,包括如何开发 软件、怎样满足对软件日益增长的需求、如何维护数量不断膨胀的已有软件 等。 表现: 对软件开发成本和进度的估计常常很不准确。实际成本比估计成本有可能高出一个数量级,实际进度比预期进度拖延几个月甚至几年的现象并不罕见。这些现象降低了软件开发组织的信誉。而为了赶进度和节约成本所采取的一些权宜之计又往往
文档评论(0)