软件工程

来源:互联网 发布:淘宝主店分店被动绑定 编辑:程序博客网 时间:2024/06/04 00:24

CASE软件工程:

计算机软件:
CASE软件工程:
软件工程包含
计算机软件:
1. 系统软件
2. 应用软件
3. 工程/科学软件
4. 嵌入式软件
5. 产品线软件
6. Web应用软件
7. 人工智能软件
8. 开发计算
9. 网络资源
开源软件
软件工程基本原理:
1. 分阶段的生命周期
2. 坚持进行阶段评审
3. 严格的产品控制
4. 采用现代程序设计技术
5. 结果应能清楚的审查
6. 开发小组的人员应该少而精
承认不断改进软件工程实践的必要性
软件工程基本原理:
1. 分阶段的生命周期
2. 坚持进行阶段评审
3. 严格的产品控制
4. 采用现代程序设计技术
5. 结果应能清楚的审查
6. 开发小组的人员应该少而精
7. 承认不断改进软件工程实践的必要性
软件生存周期:
软件周期
软件模型:
能力成熟模型:CMM
初始级Intitial:
杂乱无章,项目成功依赖个人和核心人物
可重复级Repeatable:
建立基本的项目管理过程和实践来跟踪项目费用进度和功能特性,有可以重复的模板
已定义级Defined:
管理和工程两方面的软件过程已经文档化和标准化、有自己的标准流程
已管理级Managed:
制定了软件过程和产品的详细度量标准
优化级Optimized:
加强了定量分析,能不断改进

能力成熟模型CMMI:
阶段性模型:
初始的:过程不可预知且缺乏控制
已管理的:过程为项目服务
已定义的:过程为组织服务
定量管理:过程已定量和控制
优化的:集中于过程改进
连续式模型:
CL0:未完成的
CL1:已执行的
CL2:已管理的
CL3:已定义的
CL4:定量管理
CL5:优化的

统一过程:

起始阶段: 生命周期目标
项目计划、风险评估
精化阶段: 生命周期架构
需求分析、概要设计
构建阶段: 初始运作功能
详细设计、编码、测试
移交阶段: 发布
交付 维护

软件过程模型:
瀑布模型:
瀑布模型
w模型:
w模型
转载自一个记不到的地方。。。
这里写图片描述
逐步求精的方式
螺旋模型:
分很多周期:
制定计划
风险分析
实施工程
用户评估
螺旋模型
喷泉模型:
面向对象的

基于组件的开发模型
COTS
形式化开发模型

软件开发方法:

结构化开发:
自顶向下、逐步求精
数据流图 、数据字典、结构化语言、判定表、判定树组成

Jackson方法:
适用于时序特点较强

原型方法:
适用于需求不清 需求经常变化的方法
面向对象的开发方法:

敏捷方法:
1.极限编程Xp
价值观:沟通、反馈、勇气、简单性
水晶法
并列争求法
自适应软件开发ASD
软件工具和开发环境:
需求分析工具
设计工具
编码和拍错工具
测试工具

软件维护工具:
版本控制工具
文档恢复工具
逆向工程工具
开发信息库工具
再工程工具
软件管理和软件支持工具:
项目管理工具:
配置管理工具
软件评价工具
软件开发环境:
特征:
环境的服务是集成的;
环境应支持小组的工作 方式
环境应支持各种软件开发活动

项目管理:
软件项目的范围:
4P:
Person 人员
Product 产品
procedure过程
Project项目

人员:
项目管理人员: 项目经理
高级管理人员:负责项目定义
开发人员:需求分析、测试、编码、设计
客户:说明需求的人
最终客户:与产品进行交互的人
产品:
软件开发者和客户必须一起定义产品的目的和范围:
软件范围的定义为:
项目环境: 要开发的软件如何适用于系统、产品、业务环境、该环境有何约束
信息目标:产品要哪些用户可见的数据作为输出哪些对象作为输入
功能和性能:
软件要什么功能、要满足什么特殊的性能需求
19:08

过程:
工作任务
项目:
1) 明确目标及过程
2) 保持动力跟踪进展
3) 跟踪进展
4) 做出明确决策
5) 进行事后分析
软件项目估算:
1) 基于已完成类似项目估算
2) 基于分解项目进行估算
3) 基于经验估算模型估算
成本估算方法:
自顶向下的估算方法:
高阶到低阶 缺点
自底向上的估算方法:
分别估算每个子任务的开发总量、然后把他们加起来
缺点每个任务链接没算进去 成本往往偏低
差别估算法:
与已完成的项目比较
专家估算法
类推估算法
算式估算法

进度管理:
进度管理的基本原则:
1) 划分
2) 相互依赖性
3) 时间分配
4) 工作量确认
5) 确认责任
6) 明确输出结果
7) 确定里程碑
进度安排:
1) 任务的开始时间和完成时间
2) 各个任务的完成标志
3) 各个任务的参与工作人数
4) 完成各个任务的物理资源和数据资源
常用的图形有Gantt图和PERT图
甘特图 恩
圈圈图 恩
软件项目的组织:
1) 尽早落实责任
2) 减少交流接口
3) 责权均衡
程序设计小组的组织方式:
主程制小组 、民主小组、层次式小组
质量特性
功能性:
适应性、准确性、互用性、依从性、安全性
可靠性:
成熟性、容错性、易恢复性
易使用性:
易理解性、易学性、易操作性
效率:
时间特性、资源特性
可维护性:
易分析、易改变、易维护、稳定
可移植性:
适应性、易安装、一致性、易替换性

质量特性、质量子特性、度量指标

MC Call软件质量模型:
质量特性、评价准则、度量指标

软件质量保证:
1. 软件必须满足需求
2. 软件符合开发准则
3. 软件满足隐含需求
控制质量的途径
1) 应用技术方法
2) 进行技术评审
3) 标准化
4) 控制变更
5) 度量
6) 记录和保存报告
软件评审:
设计质量:设计规格说明书符合要求
程序质量:程序规格说明书符合要求

设计质量的评审:
1) 是否合乎用户需求
2) 是否可靠
3) 保密措施实现情况
4) 操作特性实施情况
5) 性能实现情况
6) 可修改性、可扩展性、可互换性、可移植性
7) 软件是否有可测试性
8) 可复用性

软件的结构:
功能结构: 数据结构、功能结构、数据结构和功能结构的对应关系
功能的通用性。
模块的层次
模块结构
模块结构和功能结构的对应关系

与环境的接口:
与硬件的接口
与用户的接口

软件的容错技术:
对自身错误能屏蔽
能自动恢复正常
在发生错误时仍能完成功能
在一定程度上能容错
容错手段 :
结构冗余:动态、静态、混合冗余
信息冗余:
时间冗余
冗余附加技术

风险:
软件配置管理:
SCM 标识变更 、控制变更
基线:
开发阶段的特定点、用于检查和肯定阶段结果
软件配置项目:
SCI
1. 软件规格说明书
2. 软件项目实施计划
3. 软件需求规格说明书
4. 设计规格说明书
5. 源代码清单
6. 测试计划和过程、测试用例、测试结果记录
7. 操作和安装手册
8. 可执行程序
9. 数据库描述
10. 用户手册
11. 维护文档
12. 软件工程标准
13. 项目开发小结
版本控制;
每个版本都是SCI的汇集

变更控制:
开发库、受控库、产品库

软件风险:
商业风险:
市场
策略
销售
管理
预算 风险
风险识别:
1) 产品规模
2) 商业影响
3) 客户特性
4) 过程定义
5) 开发环境
6) 开发技术
7) 人员才干和规模
1. 性能风险
2. 成本风险
3. 支持风险
4. 进度风险

风险预测:
建议尺度和标准
描述风险产生的过程
估算风险对项目的影响
标注风险预测的整体精确性以免产生误解

风险评估:

风险控制:
风险避免;
风险监控
RMMM计划

软件度量:
面向规模的度量 、面向功能的度量、面向人的度量

生产率度量、质量度量、技术度量

面向规模的度量:
LOC 代码行数 KLOC千行代码数
面向功能度量:
EI、EO、EQ、ILF、EIF
软件复杂性度量原则:
规模、难度、结构、智能度

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 六个月宝宝免疫力低怎么办 十个月宝宝食烧怎么办 6个月宝宝感冒了怎么办 5个月宝宝腿短怎么办 5个月宝宝太瘦怎么办 宝宝喝了浓奶粉怎么办 一岁把尿不尿怎么办 五个月的宝宝大便干燥怎么办 婴儿便秘怎么办什么方法最有效 8个月小孩便秘怎么办 1个月新生儿便秘怎么办 新生儿头竖立0分怎么办 20天的宝宝便秘怎么办 出生23天的宝宝便秘怎么办 喝奶粉的宝宝便秘怎么办 抱孩子抱的驼背怎么办 4岁宝宝不拉屎怎么办 小朋友大便拉不出来怎么办 儿童便秘拉不出来怎么办 没感冒喉咙有痰怎么办 宝宝喂不进去药怎么办 新生儿只放屁不拉大便怎么办 新生儿腹胀不拉大便怎么办 8月宝宝咳嗽有痰怎么办 2个月婴儿惊吓怎么办 吃了米粉不拉屎怎么办 奇异果奶昔苦了怎么办 8个月宝宝偏瘦怎么办 一岁宝宝螺旋腿怎么办 七个月宝宝晚上咳嗽厉害怎么办 孕7个月感冒咳嗽怎么办 4个月婴儿肺炎怎么办 宝宝吃胡萝卜泥拉肚子怎么办 宝宝吃土豆泥不消化怎么办 五个月宝宝奶睡怎么办 橘子和牛奶一起吃了怎么办 半岁宝宝不喝水怎么办 一岁宝宝总是便秘怎么办 1岁的宝宝不喝水怎么办 两月宝宝不喝水怎么办 破壁机打出的果汁很浓稠怎么办