中级软件设计师备考---软件工程1
目录
- 经典的模型
- 敏捷开发方法【的分类】
- 信息系统开发方法【的分类】
- 结构化设计---内聚与耦合
- 结构化设计---系统结构/模块结构
- 需求的分类
经典的模型
-
瀑布模型:最早的一类、适用于需求明确的项目、结构化的典型代表
-
原型模型:先构造一个建议的系统原型再去和用户深入多次交流,不断地根据用户需求进行调整
-
演化模型:一步步变化,最后得到产品
-
增量模型:先完成项目的核心功能,然后一步步增加功能
-
螺旋模型:多个模型特点的组合、引入了风险分析
-
V模型:测试提到了很重要的地位,有很多对应的测试、强调测试提前写,提前发现问题
-
喷泉模型:面向对象的模型【迭代、无间隙】
-
RAD:由瀑布模型【软件生命周期:SDLC】和构件组装模型【CBSD】组合形成
-
构件组装模型:
- 对构件进行组装、提高软件开发的复用性、降低成本提高可靠性;
- 构件标准:CORBA;COM/DCOM/COM+【来自微软】;EJB【应用于Java体系】
-
统一过程(UP/RUP):
- 用例驱动、以构架为中心【在架构中填充构件】、迭代和增量
- 初始 — 细化【建立架构基础,完成架构】— 构建【开发部分构件、构件组装与测试】— 交付【进行β测试】
敏捷开发方法【的分类】
- 是一组模型【例如有:自适应开发、水晶方法、特征驱动开发、SCRUM、极限编程】
- 基本原则【短平快的会议、小型版本分布、合作为重、客户直接参与】
- 4大价值观:沟通、简单、反馈、勇气
- 5大原则:快速反馈、逐步修改、简单性假设、提倡更改、优质工作
- 12个最佳实践:计划游戏、隐喻、测试先行、结对编程、每周工作40小时***
信息系统开发方法【的分类】
- 结构化方法:最大的问题在于不灵活、系统和现实差距太大
- 自顶向下、逐步求精
- 信息隐蔽【对外只是展现接口】
- 模块独立【高内聚、低耦合、复杂度】【功能内聚最高、巧合内聚最低;非直接耦合最低、内容耦合最高】
- 多扇入、少扇出
- 单入口、单出口
- 尽可能减少调用的深度
- 原型化方法【主要是用于需求阶段】:适合需求不明确的开发【弥补结构化方法的问题】
- 面向对象方法
- 面向服务方法【还处在摸索阶段】
结构化设计—内聚与耦合
结构化设计—系统结构/模块结构
- 变换型系统结构:传入、传出、变换【和变换控制中心是双向的箭头】
- 事务型系统结构
- 混合型系统结构
需求的分类
-
业务需求、用户需求、系统需求
-
功能需求、性能需求【非功能需求】、设计约束【非****,非****】
-
基本需求、期望需求、兴奋需求