1、软件生存周期
可行性分析与项目开发计划--生成可行性分析报告与项目开发计划;
需求分析--生成软件需求说明书;
概要设计--主要设计软件的结构--生成概要设计说明书;
详细设计--生成详细设计文档;
编码;
测试--生成软件测试计划、测试用例、软件测试报告;
维护--软件生存周期中时间最长;
2、软件开发方法
结构化方法--自顶向下,逐层分解(面向数据流);
Jackson方法--适用于小规模开发(面向数据结构);
原型化方法--需求经常变化,且规模不大;
面向对象开发方法;
3、成本估算
成本估算方法--自顶向下、自底向上、差别、专家、类推、算式;
成本估算模型--
1、Putnam模型--是一种动态多变量的模型;
2、COCOMO模型--
--基本COCOMO是一种静态单变量的模型,对整个软件系统进行估算;
--中级COCOMO是一种静态多变量的模型,划分为系统+部件,系统中也包含了部件;
--详细COCOMO划分为系统、子系统和模块;
4、风险分析
1、风险识别--它的一个方法是风险条目检查表;
2、风险预测--从两方面评估一个风险:风险发生的可能性或概率,以及如果风险发生所产生的后果;
3、风险评估--定义风险参照标准;
4、风险控制--需要考虑三个问题:风险避免、风险监控、风险管理及意外事件计划;
如果软件项目组对于风险采取主动的方法,则避免是最好的策略;
5、进度安排
1、Gantt图--横向表示时间、纵向表示任务;不能很好地表示出各任务之间的依赖关系;
2、PERT图--不能很好地表示出各任务之间的并行关系;
6、软件组织的过程能力
分为5个成熟度级别:
1、初始级--软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力;
2、可重复级--建立了基本的项目管理过程来跟踪费用、进度和功能特性;制定了必要的过程纪律,能重复早先类似应用项目取得的成功;
3、已定义级--已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件;
4、已管理级--收集对软件过程和产品质量的详细度量,对软件过程和产品都有定量的理解和控制;
5、优化级--过程的量化反馈和先进的新思想、新技术促使过程不断改进。
7、统一过程UP
1、初始阶段--生命周期目标
2、精化阶段--生命周期架构
3、构建阶段--生命周期功能
4、移交阶段--产品发布
8、敏捷方法
1、极限编程XP--贯穿整个生命周期;
4个价值观--沟通、简单性、反馈和勇气;
5个原则--快速反馈、简单性假设、逐步修改、提倡更改和优质工作;
12个最佳实践--
--计划游戏(快速制定计划、随着细节的不断变化而完善);
--小型发布(系统的设计要能够尽可能地早交付);
--隐喻(找到合适的比喻传达信息);
--简单设计(只处理当前的需求,使设计保持简单);
--测试先行(先写测试代码,然后再编写程序);
--重构(重新审视需求和设计,重新明确地描述它们以符合新的和现有的需求);
--结队编程;
--集体代码所有制;
--持续集成(可以按日甚至按小时为客户提供可运行的版本);
--每周工作40个小时;
--现场客户;
--编码标准;
2、水晶法--不同策略;
3、并列争求法--冲刺、迭代;
4、自适应软件开发;
标签:风险,COCOMO,--,基础知识,软件工程,设计,软件,过程 From: https://www.cnblogs.com/liuzijin/p/17791258.html