《sdm大规模软件开发过程与研发.ppt》由会员分享,可在线阅读,更多相关《sdm大规模软件开发过程与研发.ppt(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、SDM大规模软件开发过程与研发管理 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望成功软件企业的特征成功软件企业的特征没有一个企业的成功能超越其没有一个企业的成功能超越其VisionVision“Microsoft is the most successful“Microsoft is the most successful“Microsoft is the most successful“Microsoft is the most successfulbusin
2、ess ever since there is business”business ever since there is business”business ever since there is business”business ever since there is business”信息工作者的管理信息工作者的管理合理的奖励制度合理的奖励制度(Rewarding Structure)(Rewarding Structure)是软件企业良性循环的基础是软件企业良性循环的基础短期短期短期短期,中期中期中期中期,长期长期长期长期不断更新的挑战不断更新的挑战不断更新的挑战不断更新的挑战企业管
3、理的哲学和企业文化企业管理的哲学和企业文化沟通是企业运营的核心沟通是企业运营的核心沟通是企业运营的核心沟通是企业运营的核心文化管理是最高层次的管理文化管理是最高层次的管理文化管理是最高层次的管理文化管理是最高层次的管理软件开发趋势软件开发趋势激烈的竞争和快速的节奏激烈的竞争和快速的节奏质量质量质量质量/安全安全安全安全/方便方便方便方便/合成合成合成合成产品更新换代周期减短产品更新换代周期减短创新和执行创新和执行(Innovation meets Execution)(Innovation meets Execution)(Innovation meets Execution)(Innovat
4、ion meets Execution)“A lion leading an army of sheep is more“A lion leading an army of sheep is more“A lion leading an army of sheep is more“A lion leading an army of sheep is more fearsome than a sheep leading an army of fearsome than a sheep leading an army of fearsome than a sheep leading an army
5、 of fearsome than a sheep leading an army of lions”lions”lions”lions”软件产品生命周期软件产品生命周期SpecsSpecsCodeCodeMeasure and Optimize软件工程的目的软件工程的目的整合整合Waterfall/CMM/XP/RUP/ScrumWaterfall/CMM/XP/RUP/Scrum的优势的优势和特点和特点适应于具体实践适应于具体实践项目规模项目规模项目规模项目规模团队大小团队大小团队大小团队大小产品或服务期限产品或服务期限产品或服务期限产品或服务期限最后的成功高于一切最后的成功高于一切(Su
6、ccess is more Success is more important than noveltyimportant than novelty)软件过程决策软件过程决策交流时间表和过程 分析意见博采众长决策决策决策决策取得一致意见完成决策 交流设计思想收集和分布数据 贯彻始终决定实现决策者领导决策决策者领导决策过程过程决策者对决策负责决策者对决策负责准备软件系统的生产力软件系统的生产力产品质量的各个方面产品质量的各个方面l工程设计工程设计一致性一致性一致性一致性可靠性可靠性可靠性可靠性性能性能性能性能可维护性可维护性可维护性可维护性可推广性可推广性可推广性可推广性规模可扩展性规模可扩展性
7、规模可扩展性规模可扩展性 l用户界面用户界面方便方便方便方便效用效用效用效用吸引力吸引力吸引力吸引力满意程度满意程度满意程度满意程度研发流程研发流程研发规划研发规划设计过程设计过程实现实现合成合成测试测试发行发行(RTMRTM/RTW)/RTW)研发规划研发规划 1 1研发团队参与功能需求分析研发团队参与功能需求分析需求数据库自动处理需求数据库自动处理需求数据库自动处理需求数据库自动处理MVPMVPMVPMVP用户体验用户体验用户体验用户体验项目经理研究成果项目经理研究成果项目经理研究成果项目经理研究成果关键与侧重点关键与侧重点向前与向后兼容向前与向后兼容向前与向后兼容向前与向后兼容目标与非目
8、标目标与非目标目标与非目标目标与非目标研发总体复杂性估计研发总体复杂性估计研发总体复杂性估计研发总体复杂性估计研发规划研发规划 2 2调查研究的具体领域调查研究的具体领域优先优先,重点和风险估计重点和风险估计体系结构设计体系结构设计功能细分功能细分功能细分功能细分内部依赖性内部依赖性内部依赖性内部依赖性外部依赖性外部依赖性外部依赖性外部依赖性体系图解和工作流体系图解和工作流体系图解和工作流体系图解和工作流设计过程设计过程精确估计精确估计24*7 24*7 24*7 24*7 法则法则法则法则没有重复或遗漏没有重复或遗漏没有重复或遗漏没有重复或遗漏缓冲时间缓冲时间缓冲时间缓冲时间详细结构详细结构
9、UMLUMLUMLUML/XSDXSDXSDXSD极其流水操作极其流水操作极其流水操作极其流水操作工具工具工具工具公共工具和基础类型公共工具和基础类型公共工具和基础类型公共工具和基础类型功能集合的功能集合的功能集合的功能集合的构成要素构成要素构成要素构成要素设计模式设计模式同样适用于应用软件和网络开发同样适用于应用软件和网络开发基础设计模式基础设计模式Abstract factoryAbstract factoryAbstract factoryAbstract factoryAdaptorAdaptorAdaptorAdaptorBridgeBridgeBridgeBridgeFaadeFa
10、adeFaadeFaadeSingletonSingletonSingletonSingletonSubject-observerSubject-observerSubject-observerSubject-observerVisitorVisitorVisitorVisitor面向对象的设计面向对象的设计面向对象的基本要求面向对象的基本要求模块化模块化模块化模块化 可重用可重用可重用可重用 可推广可推广可推广可推广 Inversion of control Inversion of control Inversion of control Inversion of control 基于对象
11、的模块化和分布计算基于对象的模块化和分布计算CORBA,DCOM,Java RMICORBA,DCOM,Java RMICORBA,DCOM,Java RMICORBA,DCOM,Java RMI设计框架设计框架分类分类:系统结构系统结构系统结构系统结构 System infrastructure frameworksSystem infrastructure frameworksSystem infrastructure frameworksSystem infrastructure frameworks 中间件结构中间件结构中间件结构中间件结构 Middleware integration
12、 frameworksMiddleware integration frameworksMiddleware integration frameworksMiddleware integration frameworks 企业应用企业应用企业应用企业应用 Enterprise application frameworksEnterprise application frameworksEnterprise application frameworksEnterprise application frameworks框架元素框架元素:模式模式模式模式 PatternsPatternsPatter
13、nsPatterns类型库类型库类型库类型库 Class librariesClass librariesClass librariesClass libraries插件插件插件插件 ComponentsComponentsComponentsComponents设计原理设计原理:KISS(:KISS(简单实用简单实用)体系结构体系结构,研发过程始终短小精悍研发过程始终短小精悍 关于架构设计关于架构设计:所有设计力求简单所有设计力求简单,但不过于简化但不过于简化 (Simple(Simple(Simple(Simple but not simpler).but not simpler).but
14、 not simpler).but not simpler).从基本结构到多次优化从基本结构到多次优化.系统易于理解和维护系统易于理解和维护,必要的文档说明必要的文档说明.优美的设计通常简单而不繁琐优美的设计通常简单而不繁琐.不等于快速草率不等于快速草率(Not quick and dirtyNot quick and dirtyNot quick and dirtyNot quick and dirty).实现实现:编程编程数据结构数据结构数据结构数据结构 +算法算法算法算法初级和高级视窗编程初级和高级视窗编程初级和高级视窗编程初级和高级视窗编程丰富用户界面丰富用户界面丰富用户界面丰富用户界
15、面 Rich client user interfaceRich client user interfaceRich client user interfaceRich client user interfaceCommandsCommandsCommandsCommandsUndo-redoUndo-redoUndo-redoUndo-redoDrag-dropDrag-dropDrag-dropDrag-dropCopy-pasteCopy-pasteCopy-pasteCopy-pasteWindowing structureWindowing structureWindowing st
16、ructureWindowing structurePersistencePersistencePersistencePersistenceAuthoring supportAuthoring supportAuthoring supportAuthoring support网络应用网络应用网络应用网络应用 Web Application programmingWeb Application programmingWeb Application programmingWeb Application programming多层次结构多层次结构多层次结构多层次结构 Multi-Tier Struc
17、tureMulti-Tier StructureMulti-Tier StructureMulti-Tier Structure面向服务的架构面向服务的架构面向服务的架构面向服务的架构 SOA:Service-Oriented ArchitectureSOA:Service-Oriented ArchitectureSOA:Service-Oriented ArchitectureSOA:Service-Oriented Architecture实现实现:标准标准工程手册工程手册工程手册工程手册编程标准编程标准编程标准编程标准风格风格风格风格,格式和可读性格式和可读性格式和可读性格式和可读性程
18、序评估程序评估程序评估程序评估任何一行程序都需评估任何一行程序都需评估任何一行程序都需评估任何一行程序都需评估Review round-tripReview round-tripReview round-tripReview round-trip最后评估最后评估最后评估最后评估(Sign-off)(Sign-off)(Sign-off)(Sign-off)源代码扫描评估源代码扫描评估源代码扫描评估源代码扫描评估效率评估工具效率评估工具效率评估工具效率评估工具实现实现:测试测试单元测试单元测试单元测试框架单元测试框架单元测试框架单元测试框架与与与与scriptingscriptingscriptingscripting的合成的合成的合成的合成CITCIT虚拟团队虚拟团队PM/DEV/TestPM/DEV/TestPM/DEV/TestPM/DEV/Test进入和退出的规则进入和退出的规则进入和退出的规则进入和退出的规则迭代迭代迭代迭代PM/DEV/TESTPM/DEV/TESTPMTESTDEVPM Spec 3D,TDS:one centralized specification.虚拟组合虚拟组合Questions and AnswersQuestions and Answers