个人软件过程(psp)需求文档
1. 业务需求
1.1 应用背景
开发软件项目进度计划总是那么不准确,延期经常出现,跟可恨的是甚至无法给出一个相对比较明确的延迟时间。很大
因素在于分配给开发人员的完成时间与开发人员的实际完成时间有一定的偏差。
1.2 业务机遇
我们可以开发一款psp软件,即个人软件过程软件。此软件能够对所有的工作过程进行时间的记录,经过一定的时间之后,积累了许多产能数据(经验数据)。根据不同开发人员不同任务下的产能数据,能够较准确的预测开发时间。
1.3 业务目标
帮助软件工程师在个人的基础上运用过程的原则,借助于PSP提供的一些度量和分析工具,了解自己的技能水平,控制和管理自己的工作方式,使自己日常工作的评估、计划和预测更加准确、更加有效,进而改进个人的工作表现,提高个人的工作质量和产量,积极而有效地参与高级管理人员和过程人员推动的组织范围的软件工程过程改进。
1.4 业务风险
在实际中,要执行好时间管理也的确不容易,开发人员有时候会忘记记录自己的开发时间。
2 项目前景
2.1 前景概述
为开发人员提供一个psp工具,记录开发人员完成某项任务的产能数据。开发人员再完成类似任务时,能够准确的估算自己的开发时间,从而降低了软件开发风险。
2.2主要特性
编号 |
特性 |
|
FEAT01 |
研发经理能够创建项目、指定或修改项目经理、删除尚未分配工作任务的项目 |
|
FEAT02 |
项目经理可以对项目设置工作包,工作包允许多级嵌套,它只用来组织工作任务 |
|
FEAT03 |
项目经理可以为开发人员指派工作任务,工作任务属于特定的工作包 |
|
FEAT04 |
项目经理在分配工作任务时,能够查阅开发人员的日程安排表,可以按开发人员查询, 也可按日程查询 |
|
FEAT05 |
开发人员接到任务时,通过系统填写计划时间(计划开始时间和计划结束时间), 项目经理确认后,更新日程安排表 |
|
FEAT06 |
开发人员可以查询相近工作任务的历史数据(估算数据、实际数据) |
|
FEAT07 |
开发人员任务执行将超计划时,应报告项目经理,项目经理通过系统更新其日程表 |
|
FEAT08 |
当任务完成之后,项目经理负责Close任务,并填入实际的完成情况(KLOC、实际结束时间) |
|
FEAT09 |
开发人员可以随时记录自己的时间,提供“开始计时”、“暂停计时”、“停止计时”,在停止时, 填入任务编号(在线则选择)、工作关键字(以逗号分隔的多个),自动生成开始时间、 暂停时间、停止时间、总时长、有效时长(总时长-中断时长) |
|
FEAT10 |
开发人员可以根据任务编号、关键字、起止时间进行分类组合查询与统计 |
|
FEAT11 |
时间记录程序会自动连接服务器,完成时间日志上传的工作,未能连接服务器,则在本机暂存 时间日志 |
|
FEAT12 |
项目经理可以按项目、任务、关键字统计实际工作时长、产能 |
|
FEAT13 |
研发经理及管理层可以按个人、任务、项目、关键字查看工作时长、统计产能 |
|
FEAT14 |
自动检测程序员当天的产能并保存。 |
2.3 假设与依赖
开发人员能够按时地、准确地、客观地填写时间日志表。
3. 项目范围
编号 |
版本1 |
版本2 |
|
FEAT01 |
实现 |
实现 |
|
FEAT02 |
实现 |
实现 |
|
FEAT03 |
实现 |
实现 |
|
FEAT04 |
实现 |
实现 |
|
FEAT05 |
实现 |
实现 |
|
FEAT06 |
实现 |
实现 |
|
FEAT07 |
实现 |
实现 |
|
FEAT08 |
实现 |
实现 |
|
FEAT09 |
实现 |
实现 |
|
FEAT10 |
实现 |
实现 |
|
FEAT11 |
实现 |
实现 |
|
FEAT12 |
实现 |
实现 |
|
FEAT13 |
实现 |
实现 |
|
FEAT14 |
不实现 |
实现 |
4. 项目环境
4.1 操作环境
参与者一:开发人员
1.登录系统;
2.填写计划时间(1开始时间 2结束时间)--------项目经理确认后系统自动更新日程安排;
3.查询历史任务数据(1估算数据 2实际数据) 查询条件可以:1)任务编号 2)关键字 3)起止时间 以上三个条件可以分类组合进行查询与统计;
4.记录自己的开发时间( 1开始计时 2暂停计时 3停止计时 )----------系统生成记录时间日志
参与者二:项目经理
1.登陆系统
2.设置工作包
3.给开发人员指派任务(属于特定工作包)
4.查询开发人员的日程安排 查询条件可以: 1)开发人员 2)日程
5.更新开发人员的日程表(系统在开发人员执行将超时时报告项目经理)
6.任务完成后,close任务
7.填写实际完成情况(1 kloc 2 实际结束时间)
8.根据项目、任务、关键字统计实际工作时长、产能
参与者三:研发经理
1.登录系统
2.创建项目
3.管理项目经理(指定、修改项目经理)
4.删除尚未分配工作任务的项目
5.根据个人、任务、项目、关键字查看工作时长、统计产能
参与者四:管理层
1.根据个人、任务、项目、关键字查看工作时长、统计产能
4.2 涉众
这个系统中的主要涉众如下表:
涉众 |
特点 |
开发人员 |
掌握自己的进度,但估算可能出错 |
项目经理 |
部署项目结构与任务,掌握整体进度,统筹兼顾 |
4.3 项目属性
具体项目属性如下表:
属性 |
驱动因素 |
约束因素 |
可调整因素 |
特性 |
各个版本的功能必须完全可操作。 |
在最终版本中进行调整。 |
|
质量 |
用户满意度必须达到85%;必须通过全部的安全机制检查,系统能够在win7,winxp等操作系统下稳定工作。 |
在后续版本中完善功能提高用户满意度 |
|
成本 |
项目经理 |
必须控制开发费用在额定范围内 |
允许费用超过的最大额度不超过总经费的10% |
进度 |
项目经理 |
必须保证开发时间在规定时限范围内 |
开发时间最长不得超过规定时间2天 |
人员 |
团队规模包括一个项目经理,两名开发人员,和一名测试人员 |
人员数目按照规定严格控制 |
如果计划不够,可以适当增加人员务必保证在规定时间内完成项目。 |
词汇表:
psp,业务需求,项目前景,项目范围,项目环境。
参考资料:
需求工程—软件建模与分析
需求工程文档规范
个人软件过程(psp)需求文档的更多相关文章
- 产品需求文档(PRD)的写作方法之笔记一
1.写前准备(思维导图): http://www.woshipm.com/?p=80070 1.在写之前,请先很区分清楚什么是MRD文档(市场需求文档),BRD文档(商业需求文档),什么是PRD文档( ...
- PRD产品需求文档
什么是PRD? PRD是Product Requirement Document的英文缩写,即产品需求文档的意思.PRD昰产品流程中的最后一步工作,是将原型中的功能.界面具象化描述,是提交给设计(UI ...
- 需求文档2_The Battle of Polytopia
需求文档 ------------------------------------- 1. 游戏详细分析 The Battle of Polytopia简要介绍 探索型.策略型的对战塔防游戏,回合制. ...
- [转]产品需求文档(PRD)的写作
产品需求对产品研发而言非常重要,写不好需求,后面的一切工作流程与活动都会受到影响.转载一篇文章,关于产品需求文档写作方面的,如下: 本文摘自(一个挺棒的医学方面专家):http://www.cnblo ...
- PRD产品需求文档概要
PRD概念 PRM就是Product Requirements Document的简称,也就是产品需求模型.一般来说一个产品会伴随有市场需求文档(Market Requirements Documen ...
- Android APP开发需求文档范本
Android APP开发需求文档范本 软件需求文档格式的标准写法 1.引言 1.1 编写目的 • 阐明开发本软件的目的: 1.2 项目背景 • 标识待开发软件产品的名称.代码: • 列出本项目的任 ...
- 撰写POPUSH需求文档
不当家不知柴米贵,撰写了正规的软件需求文档才知道软件工程的复杂性 感谢@洪宇@王需@江林楠下午的加班加点,五个人正闷在406B奋斗中,加油!
- 产品需求文档 PRD
第一轮: 1,文档使用方:UI设计师 2.内容: 根据战略层定义出来产品功能范围, 说明此产品的目的,方便UI设计人员更好的理解产品 产品基本流程 详细 ...
- 优质产品需求文档(PRD)写作三大原则
在上一篇文章中有介绍,产品经理的两项主要职责包括:对产品机会进行评估,以及对开发的产品进行评估.而定义即将开发上线的产品,则需要借助产品需求文档,来进行产品的特征和功能描述.PRD文档的写作会因公司. ...
随机推荐
- 获取ks模板文件
yum install lorax cd /usr/share/doc/lorax-19.6.66 ls rhel7-livemedia.ks rhel7-minimal.ks rhel-atomic ...
- WWF3动态修改工作流<第九篇>
一.动态添加或移除工作流活动 首先添加一个顺序的空白工作流. 然后添加一个Winform程序,界面如下: 代码如下: namespace WinForm { public partial class ...
- how to extract and decrypt WeChat EnMicromsg.db on Android phone
One of my friend came to me with an Android phone. She saild somehting wrong with the hardware of he ...
- 对象之间的引用传递 之 .NET中的深拷贝和浅拷贝
1.场景 首先,场景是这样的. 有一个Person类,类中有一个类型是Car的属性.用于表述,人开的车. Car类中有一些描述诸如汽车拼盘之类的属性.基本场景就是这样. 2.浅拷贝 Person ...
- 安装 android sdk 不能更新问题
1 要更改host 文件 2在Android SDK Manager的Tool->Option中按照如下修改
- css的#和.的区别
css的#和.的区别, css的#和.的区别 2009-03-04 14:43fyws 分类:Html/Css | 浏览 1911 次 css的#和.的区别如:#home #h3 { padding ...
- POJ C程序设计进阶 编程题#2:角谷猜想
编程题#2:角谷猜想 来源: POJ(Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 所谓角谷 ...
- ASP.NET中@Page指令中的AutoEventWireup
AutoEventWireup:指示控件的事件是否自动匹配 (Autowire).如果启用事件自动匹配,则为 true:否则为 false.默认值为 true.如果设为false,则事件不可用.有关更 ...
- luigi学习8--使用中央调度器
--local-scheduler一般用在开发阶段,这在一个产品中是不建议这样使用的.使用中央调度器有两个目的: 保证两个相同的task不会同时运行两次 提供一个可视化的界面 注意:中央调度器并不会帮 ...
- Bitmap.Config 详解
前言 Android是一个内存相当吃紧的系统,那么在做程序的过程中使用内存就需要相当谨慎,而我们接触最大的大对象估计就是Bitmap了,那么下面就根据Bitmap.Config值的介绍来看下Bitma ...