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. ViewPage 一次滑动多页

    效果 size是3的倍数时   其他情况下 初始化     private List<HonerUserBean> anchorList;     private ViewPager vp ...

  2. MyEclipse Web Project导入Eclipse Dynamic Web Project,无法部署到tomcat问 题

    做作业遇到一个小问题,将MyEclipse Web Project导入到Eclipse中开发.在部署到tomcat时,发现无法发布这个项目. 问题分析: MyEclipse Web Project被识 ...

  3. 【转】Mysql三种备份详解

    一.备份的目的 做灾难恢复:对损坏的数据进行恢复和还原需求改变:因需求改变而需要把数据还原到改变以前测试:测试新功能是否可用 二.备份需要考虑的问题 可以容忍丢失多长时间的数据:恢复数据要在多长时间内 ...

  4. expr的简单应用

    expr命令 是一个手工命令行计数器,用于在UNIX/LINUX下求表达式变量的值,一般用于整数值,也可用于字符串. –格式为: expr expression_r(命令读入Expression 参数 ...

  5. C#将图片字节流转为Base64直接放入html的img标签src属性中

    1,图片要转为byte[], 2,注意加上“data:image/jpeg;base64,”,这里jpeg可以换成其他. string html = "<img src='data:i ...

  6. core java 第四章笔记

    import java.util.*; public class Employee { private static int nextid = 1; private String name; priv ...

  7. JAVA-6-简单的模拟ATM使用

    public static void main(String[] args) { in = new Scanner(System.in); int count = 1; int pwd = 11111 ...

  8. Leetcode 371: Sum of Two Integers(使用位运算实现)

    题目是:Calculate the sum of two integers a and b, but you are not allowed to use the operator + and -. ...

  9. 你好,C++(23) 4.4.2 工资程序成长记:用数组处理批量数据,用循环结构执行重复动作

    4.4  从语句到程序 了解了各种表达式和语句之后,就相当于掌握了写作文要用到的词语和句子,但是,仅有词语和句子是无法构成一篇有意义的文章的.要完成一篇文章,先需要确定这篇文章的结构,是先分述再总述, ...

  10. C#实现MySQL数据库中的blob数据存储

    在MySQL数据库中,有一种blob数据类型,用来存储文件.C#编程语言操作MySQL数据库需要使用MySQL官方组件MySQL.Data.dll. Mysql.Data.dll(6.9.6)组件下载 ...