1、第1章 软件开发过程概述,http:/,电子工业出版社,软件开发过程与项目管理,内容提要,1.软件开发概述,电子工业出版社,软件开发过程与项目管理,软件开发概述,软件的概念 程序 :计算机为完成特定任务而执行的指令的有序集合 数据 :被程序处理的信息 文档:记录的数据和数据媒体 编程与软件开发 编程:编写、测试、分析代码,以及提高代码质量的过程 软件开发:计划、分析、设计、编码、测试和维护的全过程 软件开发过程与方法 软件开发模式 统一软件过程和敏捷开发过程 软件开发方法 面向过程与面向对象的方法,电子工业出版社,软件开发过程与项目管理,软件开发概述,软件开发过程与方法-统一软件过程(RUP)
2、 RUP :Rational Unified Process的缩写 6个最佳开发实践 迭代始开发,需求管理 ,基于组建的体系架构 可视化建模 ,持续的质量管理 ,配置管理 4个阶段 Inception phase(开始阶段) Elaboration phase(细化阶段) Construction phase(开发阶段) Transition phase(发布阶段),电子工业出版社,软件开发过程与项目管理,软件开发概述,软件开发过程与方法-统一软件过程(RUP) 9个规则 业务建模(Business Modeling) 需求(Requirements) 分析和设计(Analysis & Des
3、ign) 实现(Implementation) 测试(Test) 部署(Deployment) 项目管理(Project Management) 配置与变更管理(Configuration & change Management) 环境(Environment),电子工业出版社,软件开发过程与项目管理,软件开发概述,软件开发过程与方法-统一软件过程(RUP) 9个规则,电子工业出版社,软件开发过程与项目管理,软件开发概述,软件开发过程与方法-敏捷开发(agile development) XP(Extreme Programming,极限编程) 的12个实践活动 1.有计划的开发 2.小版本
4、3.隐喻 4.简单设计 5.测试驱动开发 6.重构 7.结对编程 8.集体代码所有权 9.持续集成 10.每周40个小时 11.现场客户 12.编码标准,电子工业出版社,软件开发过程与项目管理,软件开发概述,两种方法的比较 RUP *过于理想化和理论化 *强调设计和规范 *适合大项目 XP *灵活,尽早的、持续的交付有价值的软件 *用交流沟通取代详尽的文档 *强调团队的主动、自律、自我组织和自发管理 *敏捷开发注重的是最有价值的知识的积累和沉淀 在软件项目开发过程中,应该能够识别、分析不同软件项目的特点,采用相对适合的开发实践来适应软件开发过程,保证对软件开发的有效支持,以便能够创造出“足够好
5、的”软件。而这个足够就是对进度、成本、质量之间的平衡,最大化满足客户需要的实现。,电子工业出版社,软件开发过程与项目管理,软件开发概述,软件开发过程与方法-面向过程和对象方法 面向过程方法:结构化 方法 优点:程序的执行过程,不由用户控制,完全由程序控制 缺点:耦合性强,代码复用性差,不易维护 面向对象方法 优点:程序的执行过程,不由用户控制,完全由程序交互控制。易于维护、代码可复用 缺点:复杂,较难掌握,电子工业出版社,软件开发过程与项目管理,软件开发过程的工程化理念,软件危机 软件危机主要表现 软件危机的原因 解决途径 软件工程 软件工程的定义 软件工程的基本原理 软件工程的作用 (1)对
6、于软件开发团队 (2)对于软件企业本身 (3)对于软件发展进程,用分阶段的生命周期计划严格管理 坚持进行阶段评审 实行严格的产品控制 采用现代程序设计技术 结果应能清楚地审查 开发小组的人员应该少而精 承认不断改进软件工程实践的必要性 二八定律,电子工业出版社,软件开发过程与项目管理,软件开发过程的工程化理念,软件工程化的内涵 软件开发过程的文档化 文档的层次关系和依赖关系: 目标程序覆盖源程序; 源程序覆盖详细设计说明书; 详细设计说明书覆盖架构(概要)设计说明书; 架构(概要)设计说明书覆盖需求规格说明书; 需求规格说明书覆盖用户需求说明书; 用户需求说明书覆盖软件合同/软件任务书。 软件
7、开发过程的标准化,电子工业出版社,软件开发过程与项目管理,UML简介,UML的涵义 UML是什么 UML的主要特点 UML的应用领域 UML的简单使用 用例和用例图 类和类图 顺序图 状态图 活动图,电子工业出版社,软件开发过程与项目管理,UML简介-实例,工单管理系统中“创建工单”用例图,电子工业出版社,软件开发过程与项目管理,UML简介-实例,工单管理系统的工单类别TaskType类图,电子工业出版社,软件开发过程与项目管理,UML简介-实例:顺序图,电子工业出版社,软件开发过程与项目管理,UML简介-实例,添加工单类别活动图,电子工业出版社,软件开发过程与项目管理,小结,软件开发要按照工程化理念进行使用UML设计工具进行设计,http:/,,谢谢,