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个人软件过程需求文档的更多相关文章

  1. 产品需求文档(PRD)的写作方法之笔记一

    1.写前准备(思维导图): http://www.woshipm.com/?p=80070 1.在写之前,请先很区分清楚什么是MRD文档(市场需求文档),BRD文档(商业需求文档),什么是PRD文档( ...

  2. PRD产品需求文档

    什么是PRD? PRD是Product Requirement Document的英文缩写,即产品需求文档的意思.PRD昰产品流程中的最后一步工作,是将原型中的功能.界面具象化描述,是提交给设计(UI ...

  3. 需求文档2_The Battle of Polytopia

    需求文档 ------------------------------------- 1. 游戏详细分析 The Battle of Polytopia简要介绍 探索型.策略型的对战塔防游戏,回合制. ...

  4. [转]产品需求文档(PRD)的写作

    产品需求对产品研发而言非常重要,写不好需求,后面的一切工作流程与活动都会受到影响.转载一篇文章,关于产品需求文档写作方面的,如下: 本文摘自(一个挺棒的医学方面专家):http://www.cnblo ...

  5. PRD产品需求文档概要

    PRD概念 PRM就是Product Requirements Document的简称,也就是产品需求模型.一般来说一个产品会伴随有市场需求文档(Market Requirements Documen ...

  6. Android APP开发需求文档范本

    Android  APP开发需求文档范本 软件需求文档格式的标准写法 1.引言 1.1 编写目的 • 阐明开发本软件的目的: 1.2 项目背景 • 标识待开发软件产品的名称.代码: • 列出本项目的任 ...

  7. 撰写POPUSH需求文档

    不当家不知柴米贵,撰写了正规的软件需求文档才知道软件工程的复杂性 感谢@洪宇@王需@江林楠下午的加班加点,五个人正闷在406B奋斗中,加油!

  8. 产品需求文档 PRD

    第一轮: 1,文档使用方:UI设计师 2.内容:       根据战略层定义出来产品功能范围,       说明此产品的目的,方便UI设计人员更好的理解产品       产品基本流程       详细 ...

  9. 优质产品需求文档(PRD)写作三大原则

    在上一篇文章中有介绍,产品经理的两项主要职责包括:对产品机会进行评估,以及对开发的产品进行评估.而定义即将开发上线的产品,则需要借助产品需求文档,来进行产品的特征和功能描述.PRD文档的写作会因公司. ...

随机推荐

  1. C#之Linq学习笔记【转】

    写在前面 其实在09年就已经学习过Linq了,并被她那优美的语法所吸引,只是现在所在的公司还在使用VS2005在.Net2.0的框架下面的开发,所以Linq也很久没有用过了,最近看部门的同事对这个有些 ...

  2. zookeeper笔记

    zookeeper用于分布式配置管理,读写锁等等..后续补充.

  3. asp.net读取Access数据库。

    注:数据库(表名 job  id 工作id ,job工作字段) 数据库放在app_data文件中.名称为database.mdb 如果用codesmith生成,选择的数据库连接类型如下图: 项目结构图 ...

  4. C#判断程序是否以管理员身份运行,否则以管理员身份重新打开

    /// <summary> /// 判断程序是否是以管理员身份运行. /// </summary> public static bool IsRunAsAdmin() { Wi ...

  5. PL/SQL客户端安装配置说明

    一.电脑安装了多个Oracle客户端时,需要设定pl/sql 中的home 二.配置环境变量: (打开环境变量配置界面操作:我的电脑---属性---高级---环境变量,在系统变量部分新建或编辑即可.w ...

  6. java swing 音乐播放器-乐乐音乐

    乐乐音乐1.0(本地版) 乐乐音乐是基于musique 开源播放器开发的java swing音乐播放器,实现了mp3.flac.ape.wav等多种音频格式的播放和ksc歌词的解析.制作和显示. 完成 ...

  7. SQL Server自定义函数( 转载于51CTO )

    用户自定义函数自定义函数不能执行一系列改变数据库状态的操作,可以像系统函数在查询或存储过程等的程序中使用,也可以像相信过程一样能过 execute 命令来执行.自定义函数中存储了一个 Transact ...

  8. 【转】Qt 事件处理机制 (下篇)

    转自:http://mobile.51cto.com/symbian-272816.htm 在Qt中,事件被封装成一个个对象,所有的事件均继承自抽象类QEvent. 接下来依次谈谈Qt中有谁来产生.分 ...

  9. Secure CRT 如何连接虚拟机里面的CentOS系统 当主机使用有线网的时候 作者原创 欢迎转载

    1.虚拟机的网卡配置如下图所示: 2.在CentOS 5.8的命令行界面:输入如下指令 然后准备修改里面的网关地址和自己的IP地址 3.同时查看自己的IP地址和网关 4.在第二步里面修改,网关地址应该 ...

  10. 【Beta】阶段汇总

    [项目文档&API文档] PhyLab2.0需求与功能分析改进文档(NABCD) PhyLab2.0设计分析阶段任务大纲(α) 团队个人贡献分分配规则 功能规格说明书 [Phylab2.0]B ...