一 项目初始
1 项目确立
项目评估
项目立项
项目招投标
甲方招标书定义
乙方项目分析与竞标准备
招标过程
合同签署
项目授权
项目章程
项目经理的职责
2 生存期模型
瀑布模型
V型模型
快速原型模型
增量式模型
渐进式模型
敏捷生存期模型
二 项目计划
3 软件项目范围计划----需求管理
软件需求定义
需求管理过程
需求获取
(1)了解客户的所有用户类型以及潜在的类型
(2)进行需求调查,对用户进行访谈和调研。
需求调查:
+ 面对面的沟通。
+ 电子邮件问答表(Q&A列表)。
+ 电视电话会议访谈。
+ 需求专题讨论会(头脑风暴法)。
+ 自行搜集需求。
(3)需求分析人员对收集到的用户需求做进一步的分析和整理。
(4)需求分析人员将调研的用户需求以适当的方式呈交给用户方和开发方的相关人员,共同确认是否真实反映了用户的意图。
注意事项:
+ 识别真正的用户
+ 正确理解客户的需求
+ 具备较强的忍耐力和清晰的思维
+ 说服和教育客户
+ 需求获取阶段一般需要建立需求分析小组,进行充分交流、学习,同时实地调查访谈,收集相关资料,进行语言交流,必要时可采取图形表格等表达工具
需求分析(需求建模)
解决目标系统“做什么”的问题,基本策略:头脑风暴、专家评审、焦点会议组等方式进行具体的流程细化、数据项的确认,必要时可以提供原型系统和明确的业务流程报告、数据项表,并能清晰地向用户描述系统的业务流设计目标。
(1)以图形表示的方式描述系统的整体结构,包括系统的边界与接口
(2)通过原型、页面流或者其他方式向用户提供可视化的界面,用户可以对需求做出自己的评价。
(3)以模型描述系统的功能项、数据实体、外部实体、实体之间的关系、实体之间的状态转换等方面的内容。
需求规格编写
软件需求规格的编制是为了使用户和软件开发者双方对该软件的初试规定有一个共同的理解,使之成为整个开发工作的基础。
需求规格相当于软件开发的图纸。
一般地,软件需求规格说明书的格式可以根据项目的具体情况采用不同的格式,无统一标准。
需求验证
以需求规格说明书为输入,通过符号执行、模拟或者快速原型等途径,分析需求规格的正确性和可行性,以求需求规格中定义的需求必须正确、准确地反映用户的意图。
涵盖方面:
+ 需求的正确性。
+ 需求的一致性。与其他软件需求或高层(系统,业务)需求不相矛盾。
+ 需求的完整性。
+ 需求的可行性。
+ 需求的必要性。
+ 需求的可检验性。“界面友好,可操作性强,提高用户满意度”此类描述,是造成“扯皮”的根源。
+ 需求的可跟踪性。
+ 最后的签字。用户方签字确认,并作为项目合同附件,对双方产生约束。
需求变更
需求分析方法
原型分析法
结构化分析方法(面向数据流图/数据字典/E-R图/系统流程图)
面向对象的用例模型分析方法(用例图/用例脚本描述/活动图/时序图)
功能列表法
4 软件项目范围计划----任务分解
任务分解定义
WBS(任务分解结构模型)
工作包
任务分解的形式
任务分解过程
任务分解的基本步骤
任务分解的标准
WBS字典
任务分解方法
任务分解结果
任务分解结果的检验
任务分解的重要性
5 软件项目成本计划
成本估算概述
成本估算过程
成本估算方法
1.代码行估算法
2.功能点估算法
①FP = UFC*TCF
功能点Function Point = 未调整功能点计数Unadjusted Function Component * 计数复杂度因子Technical Complexity Factor
UFC = ∑ [外部输入/外部输出/外部查询/外部文件/内部文件 * 高(复杂)/中(一般)/低(简单)]
②TCF = 0.65 + 0.01*(14)∑(i) Fi
Fi是每个通用系统特性的影响程度
3.用例点估算法
4.类比估算法(取若干项目特征数据点,求相似度)
5.自下而上的估算法(WBS:子任务/人力/时间/成本/总计)
6.参数模型估算法
参数模型估算法-COCOMO模型
(估算法模型类型:基本型-项目初始阶段;中等型-确立了项目进度和需求;高级/详细型-已确定各模块设计时)
项目模式:有机型-应用软件;半嵌入型-实用软件;嵌入型-系统软件
参数模型估算法-Walston-Felix模型(E = 5.2*L^0.91;L是源代码行数;E为工作量,以人月计)
7.专家估算法
成本预算
6 软件项目进度计划
三 项目执行控制
四 项目结束