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