导图社区 软件开发方法
这是一篇关于软件开发方法的思维导图,主要内容包括:按开发风范,按性质,按适用范围。为软件开发人员提供了全面的参考和指导。
社区模板帮助中心,点此进入>>
互联网9大思维
产品立项报告
产品经理如何做好项目管理
经验分享:产品经理必懂的产品思维
产品诞生过程
产品周期图
开门红的思考
招创智搜
网易星球
教学教务系统
软件开发方法
按开发风范
自顶向下
自底向上
按性质
结构化方法
包括:结构化分析、设计、程序设计
优点:开发目标清晰化、工作阶段化、文档规范化、设计方法结构化
缺点:开发周期长,难以适应需求变化、很少考虑数据结构
面向对象方法
Coad/Yourdon
严格区分OOA和OOD
OOA阶段:标识类和对象、标识结构、标识主题、定义属性、定义服务
OOD阶段:设计问题域、设计人机交互、任务管理、数据管理
Booch方法
螺旋上升的过程
开发模型
静态模型
逻辑模型
对象图、类图
物理模型
模块图、进程图
动态模型
状态图、顺序图
每个周期的四个步骤
标识类和对象
确定类和对象的含义
标识关系
说明每个类的接口和实现
OMT方法
建模思想
对象模型
对象图
状态图
功能模型
DFD图
4个活动
系统分析:实现OOA的任务
系统设计:确定系统架构
对象设计:基于分析模型的设计模型并考虑实现细节
实现:对象类及其关系转化为程序设计语言、数据库或硬件实现
OOSE方法
在OMT基础上,对功能模型进行了补充,提出了用例的概念,描述系统的需求及功能
开发活动主要分为3类
分析
需求分析
健壮性分析
构造
设计
实现
测试
原型方法
需求不明确时
按照实现功能划分
水平原型:行为原型,用于界面
垂直原型:结构化原型,用于复杂算法实现
按照最终结果划分
抛弃式:探索式,解决需求不确定、二义性等
演化式:适用于Web项目,用于易于升级和优化的场合
特点
优点
1、系统开发周期缩短、成本和风险降低、速度加快 2、以用户为中心开发系统,用户参与程度提高、符合用户需求、满意度提升,提高系统开发的成功率 3、用户对系统的功能和结构容易理解和接受,有利于系统移交、运行和维护。
缺点
开发的环境要求高、管理水平要求高
构件化方法
构建获取
现有构建获取 提取遗留工程中具有潜在复用价值的构建,得到可复用构建 从市场购买商业构建 自行开发适合需求的构建
构建分类
关键字分类法:树形图、有向无回路图 刻面分类法:定义用于刻画构件特征的“刻面” 超文本方法:任意跳转
构建复用方法
探索与提取构建 理解与评价构建 修改构建 构建组装
面向服务的方法SO
在构建基础上,将接口暴漏出来形成服务
3个主要的抽象级别
操作:最底层,代表单个逻辑单元的事物
服务:操作的逻辑分组
业务流程:最高层
面向服务的分析与设计三个层次
业务组织:业务流程建模,广泛使用UML图
应用结构:企业架构(自媒体、抖音)
基础设计:采用OOA和 OOD思想
敏捷方法
以人为核心、迭代、循序渐进
适用场合
项目团队人数不宜太多 项目经常发生变更 高风险项目实施 组织结构的文化、人员、沟通性决定了敏捷方法是否适用
敏捷宣言
个体和交互胜过过程和工具 可工作的软件胜过大量的文档 客户合作胜过合同谈判 响应变化胜过遵循计划
主要敏捷方法
XP极限编程法:测试先行 Cookburn水晶法:不同项目,不同策略 SCRUM并列争求法:迭代、30天一个周期 FDD功能驱动法:按开发人员分类(指挥者、类程序员) 开放式源码:虚拟团队,开发成员分布各地 ASD自适应方法:预测-协作-学习
按适用范围
整体性
局部性