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. MVC项目,系统找不到指定的文件。(异常来自 HRESULT:0x80070002)

    今天在用Visual Studio新建MVC项目的时候,遇到错误 系统找不到指定的文件.(异常来自 HRESULT:0x80070002) 解决办法:工具--> 扩展和更新 -->联机(V ...

  2. swing——JFrame基本操作

    用JFrame(String String1)创建一个窗口 public void setBounds(int a,int b,int width,int height)设置窗口初始化的位置(a,b) ...

  3. error: expected constructor, destructor, or type conversion before '.' token

    今天写代码是遇到这样一个问题error: expected constructor, destructor, or type conversion before '.' token:立马网上查,原来是 ...

  4. uva 10077 - The Stern-Brocot Number System

    想法: 初始化三個數L=0/1, M=1/1, R=1/0,設輸入的分數為a: 如果a<M,那麼要往左邊走,    R = M;    M = (L分子+M分子)/(L分母+M分母); 如果a& ...

  5. 如何往IE工具条添加按钮(转载)

    如何往IE工具条添加按钮 问题提出:金山词霸.网络蚂蚁等软件安装后会向IE的工具条添加自己的按钮.按下按钮后还会作出相应的动作,这种功能是如何实现的呢?读完本文,您也可以将自己应用程序的按钮添加到IE ...

  6. 1、CentOS6.5系统安装及学习

    1.   CentOS6.5系统安装及学习 1.需要的工具,Vmware workstation12虚拟机,CentOS6.5 ISO镜像,选择的是32位系统. 2.下载CentOS6.5地址:htt ...

  7. day04

    1.divmod(x,y)获取一个整数x除以y的商和余数 ret = divmod(, ) print(ret) 2.获取随机验证码 import random l = [] , ): t = ran ...

  8. HBase笔记--filter的使用

    HBASE过滤器介绍: 所有的过滤器都在服务端生效,叫做谓语下推(predicate push down),这样可以保证被过滤掉的数据不会被传送到客户端. 注意:        基于字符串的比较器,如 ...

  9. [51单片机]18B20驱动函数

    /**********DS18B20.h**********/ #include "REG52.H" #include "INTRINS.H" sbit DQ ...

  10. 高性能web

    http://developer.51cto.com/art/201104/255619.htm http://developer.51cto.com/art/201104/254031.htm ht ...