软考-软件工程(1-软件工程基础与开发方法)
1软件工程基础基本要素方法工具过程各阶段输出产物系统规划可行性研究报告系统设计任务书系统分析系统说明书系统设计阶段系统设计说明书系统实施阶段实施进展报告系统测试分析报告能力成熟度模型CMM初始级可重复级已定义级已管理级优化级软件能力经过这些阶段逐步提高能力成熟度模型集成CMMI初始级已管理级已定义级定量管理优化级能力提高同上软件过程模型瀑布模型明确需求二次开发原型需求不明确一般是为了演示不适合超大型项目开发增量模型先核心后分支每次的增量版本都可以作为一个独立可操作的作品螺旋模型针对不明确项目但是增加了风险分析大型项目开发V模型测试极多贯穿于各个阶段喷泉模型面向对象迭代思想和无间隙开发基于构件的开发模型CBSD增强复用性开发过程中创建一个构件库简单理解就是一个仓库要什么就往里面拿就行形式化方法模型数学基础2软件开发方法结构化方法结构化分析结构化设计结构化程序设计特点目标清晰阶段有序文档规范自顶向下分解自底向上逐步实现局限性开发周期长不适于需求不明确项目面向数据流很少考虑数据结构面向对象方法万物皆对象特点复用性高阶段界限不明确前者没做完或者有问题的可以让后者补充局限性不能涉足系统分析以前的开发环节原型化方法特点快速建立一个系统模型展示给客户开发速度快用户参与度高易于维护适于需求不明确开发局限性开发环境要求高管理水平要求高面向服务方法将接口的定义和实现进行解耦Jackson方法面向数据结构小规模项目敏捷开发针对中小型项目指代的是一组模型重要概念1结对编程2自适应开发3水晶方法每个不同项目都要一套不同的策略4特性驱动开发模型驱动的快速迭代开发过程5极限编程XP测试先行6并列争球法迭代的增量化“冲刺”统一过程RUP特点用例驱动以架构为核心迭代和增量流程初始细化构建交付逆向工程重构转换系统描述形式505————235设计恢复已有程序抽象出有关设计的部分再工程在逆向工程的基础上产生一个新版本对现有系统的重新开发过程用以改进软件质量正向工程软件系统工具1软件维护工具2软件管理工具3软件设计工具4软件开发工具