系统开发基础知识
2023-05-06 16:50:02 19 举报
AI智能生成
系统架构师-系统开发基础知识导图
作者其他创作
大纲/内容
软件开发方法
分类
按照开发风范
自顶向下
将一个大问题分化成多个可以解决的小问题
类似于TCP/IP四层协议或网络七层协议
需求分析可以采用自顶向下
自底向上
从具体的器件,逻辑部件或者相似系统开发
类似于将整个项目由持久层、逻辑层、控制层组成
按照性质
形式化开发
套用数学公式、严谨的
非形式化开发
结构化方法
步骤
结构化分析
结构化设计
结构化程序设计
成果
开发目标清晰化
保持沟通,使用户了解工作进展、校准工作方向
开发工作阶段化
阶段评审、便于管理与控制
开发文档规范化
完成阶段的文档,提供维护便利
设计方法结构化
自顶向下分解,展开分析设计、编写各个功能模块
缺点
开发周期长
难以适应需求变化
很少考虑数据结构
面向对象方法
原型方法
构件化方法
面向服务方法
敏捷开发方法
按照适用范围
整体性
局部性
软件开发生命周期
需求规格说明书
系统名称
功能描述
接口
基本数据结构
性能
设计需求
开发标准
验收原则
概要设计
定义模块与模块之间的关系
详细设计研究模块内部
算法与数据结构
数据分布
数据组织
模块间信息接口
用户界面
测试
单元测试
集成测试
确认测试
系统测试
软件开发模型
瀑布模型
描述
严格按照软件开发生命周期进行
优点
有利于人员组织管理
缺点
用户不能清晰定义及描述其需求
初始化版本周期较长
原型模型
描述
提前通过可视化的方式呈现需求
可以利用的方法
利用模拟软件系统的人机界面和人机交互方式
真正开发一个原型
寻求一个或几个类似的软件
螺旋模型
描述
在快速原型的基础上扩展,由多个周期组合而成
适用于那些开发方法
面向规格说明,面向过程,面向对象的开发方法
周期步骤
目标设定
风险分析
开发和有效性验证
评审
基于四代技术的模型
描述
只侧重于支持软件的设计和实现阶段,不支持全过程
特征
非过程化语言:可以用生成器代替编程语言
与数据库密切相关
敏捷方法
特点
强调适应性、而非预设性
强调面向人的而非面向过程
核心思想
适应性
以人为本
迭代增量式的开发过程
主要内容
核心价值观
沟通:设计者、开发者、客户之间
简单:满足当前需求。代码简单化
反馈
勇气
在设计者和开发者必须做出取舍或重构时的勇气
12条过程实践原则
简单设计
测试驱动
代码重构
结对编程
持续集成
现场客户
发型版本小型化
系统隐喻
代码集体所有制
规划策略
规范代码
40小时工作制
RUP
核心工作流
阶段
特点
4+1视图模型
描述
裁剪步骤
软件系统工具
衡量因素
包含?
工具分类
分支主题
0 条评论
下一页