Psp个人软件开发软件需求分析和用例分析

一、需求分析

1.业务需求

1.1 应用背景

开发项目进度计划总是那么不明确,延期经常出现,甚至无法给出一个相对比较明确的延迟时间。这样给市场的推广会带来很大的影响,不确定因素使得应对十分困难。

1.2 业务机遇

PSP是个人软件开发过程,通过PSP的贯彻,可以提高软件开发人员的时间安排、时间估算的能力。

1.3 业务目标

业务目标的例子如下:

BO-1:在第一版应用之后1个月之内,个人的开发效率提高。

BO-2:在第一版应用之后3个月之内,整个开发团队的开发效率提高。

成功标准的例子如下所示:

SC-1:在第一版应用之后1个月内,个人的开发效率提高70%。

SC-2:在第一版应用之后3个月内,整个团队的开发效率提高50%。

1.4 业务风险

业务风险的示例如下:

RI-1:使用该软件的人太少,产能数据不够全面。

RI-2:有恶意破坏软件运行的行为,降低了数据的准确性。

2.项目前景

2.1 前景概述

对那些希望提高开发效率的人来说,PSP可以接受一切使用该软件的数据库。与当前的人工计算不同,使用PSP可以节约大量的时间,并能有效地估算出开发人员的工作效率,以便掌握整个项目的进度。

2.2主要特性

FE-1:连接数据库和操作系统。

FE-2:产能效率的计算。

FE-3:软件的界面功能(如:“用户反馈”,“意见箱”)

2.3 假设与依赖

AS-1:开发团队中有指定的控制和管理中心,并有计算机和打印机等相关设备。

AS-2:相关人员负责将数据录入到相关的数据库中。

AS-3:建议系统的维护时间不超过一周,尽量避开使用的高峰期。

DE-1:如果某个开发人员有自己的数据库系统,PSP软件必须能够与之连接。

3.项目范围

3.1 第一版范围

第一个版本主要实现网站界面的创建,各个功能的初步实现。PSP与各个相关数据库的正常连接。设置权限,根据不同的操作员设置不同的权限。

3.2 后续版本范围

特性

版本1

版本2

FE-1

完全实现

FE-2

手动更新

自动更新

FE-3

仅实现“意见箱”功能

实现“用户反馈”

4. 项目环境

4.1 操作环境

这个系统主要提供给四类用户使用,分别是高层管理人员,项目经理,技术顾问以及开发人员。

开发人员模式中,开发人员可以根据工作的基本信息,每次数据有变化就要相应得更新数据库。面向开发人员时,系统是普通的存储数据软件。 数据只在工作人员在输入工作的基本信息的时候生成,所以访问数据时候的最大响应时间应该会在0.1s以内;工作人员在这个程序中允许有服务中断的现象;因为这里的信息会牵扯到某些数据库文件的机密信息,所以需要提供访问安全控制和数据保护(随着版本升级功能逐步实现)!

技术顾问,项目经理以及高层管理人员模式中,该软件只提供给这些人员查询访问的功能。

4.2 涉众

这个系统中的主要涉众如下表:

涉众

特点

软件开发人员

希望通过这样一个系统能够提高工作的效率!

技术顾问

查看开发团队中每个人员的产能效率,并给出工作的改进意见

项目经理

查看开发团队中每个人员的产能效率,对软件项目开发的时间做出调整

总经理

查看开发团队中每个人员的产能效率

4.3 项目属性

具体项目属性如下表:

属性

驱动因素

约束因素

可调整因素

特性

各个版本的功能必须完全可操作。

在最终版本中进行调整。

质量

用户满意度必须达到85%;必须通过全部的安全机制检查,系统能够在win7,winxp等操作系统下稳定工作。

在后续版本中完善功能提高用户满意度

成本

项目经理

必须控制开发费用在额定范围内

允许费用超过的最大额度不超过总经费的10%

进度

项目经理

必须保证开发时间在规定时限范围内

开发时间最长不得超过规定时间2天

人员

团队规模包括一个项目经理,两名开发人员,和一名测试人员

人员数目按照规定严格控制

如果计划不够,可以适当增加人员务必保证在规定时间内完成项目。

二.用例分析

参与者

特性

用例

开发人员

FEAT05.开发人员接到任务时,应通过系统填写计划时间(计划开始时间和计划结束时间),项目经理确认后,更新日程安排表

UC01.填写任务计划

FEAT06.开发人员可以查询相近工作任务的历史数据(估算数据、实际数据)

FEAT10.开发人员可以根据任务编号、关键字、起止时间进行分类组合查询与统计

UC02.查询历史任务数据(UC01的扩展)

FEAT09.开发人员可以随时记录自己的时间,提供“开始计时”、“暂停计时”、“停止计时”,在停止时,填入任务编号(在线则选择)、工作关键字(以逗号分隔的多个),自动生成开始时间、暂停时间、停止时间、总时长、有效时长(总时长-中断时长)

FEAT11.时间记录程序会自动连接服务器,完成时间日志上传的工作,未能连接服务器,则在本机暂存时间日志

UC03.记录时间日志

项目经理

FEAT02.项目经理可以对项目设置工作包,工作包允许多级嵌套,它只用来组织工作任务

UC04.设置工作包

FEAT03.项目经理可以为开发人员指派工作任务,工作任务属于特定的工作包

FEAT04.项目经理在分配工作任务时,能够查阅开发人员的日程安排表,可以按开发人员查询、也可按日程查询

UC05.分配工作任务

UC5A.查看日程安排(扩展用例)

FEAT07.开发人员任务执行将超计划时,应报告项目经理,项目经理通过系统更新其日程表

UC06.更新日程表

FEAT08.当任务完成之后,项目经理负责Close任务,并填入实际的完成情况(KLOC、实际结束时间)

UC07.关闭工作任务

FEAT12.项目经理可以按项目、任务、关键字统计实际工作时长、产能

UC08.统计项目产能

研发经理

FEAT01.研发经理能够创建项目、指定或修改项目经理、删除尚未分配工作任务的项目

UC09.管理项目信息

管理层

FEAT13.研发经理及管理层可以按个人、任务、项目、关键字查看工作时长、统计产能

UC10.统计团队产能

       

词汇表:

模型

参考资料:

需求工程—软件建模与分析

需求工程文档规范

项目前景与范围文档模板

UML统一建模语言

Psp个人软件开发软件需求分析和用例分析的更多相关文章

  1. Psp个人软件开发软件需求分析及用例分析

    一.需求分析 1.  业务需求 1.1 应用背景 开发项目进度计划总是那么不明确,延期经常出现,甚至无法给出一个相对比较明确的延迟时间.这样给市场的推广会带来很大的影响,不确定因素使得应对十分困难. ...

  2. PSP个人软件开发工具需求分析文档

    第一部分:前景与范围 1.业务需求 1.1 背景 在目前的软件项目开发过程中,进度计划总是非常不准确,经常出现延期,而且大多数都无法给出一个相对比较准确的延迟时间.即使使用用例包.用例的方式组织需求, ...

  3. 专注于C#.Net WPF软件开发-软件反编译-软件破解-逆向-靖芯科技-包括安卓APK反编译

    靖芯科技提供.Net软件开发,软件修改定制二次开发,软件破解,反编译,逆向等各项优质服务: 包括安卓APK软件反编译. 包括但不限于C#,WPF,Surface,Winform,Asp.net.JAV ...

  4. 软件-开发软件:Android Studio

    ylbtech-软件-开发软件:Android Studio Android Studio 是谷歌推出的一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT, ...

  5. PSP个人软件开发工具

    (您的阅读是我的荣幸,如有不满之处请留言指正!) 尚未完善.....工作中 为开发人员提供一个PSP工具,简化时间记录工作:同时提供数据使用的工具,帮助开发人提高估算能力.   PSP个人软件开发工具 ...

  6. 面向对象 - 1.软件开发/2.异常处理/3.try...except的详细用法

    1.软件开发 软件的开发其实一整套规范,我们所学的只是其中的一小部分,一个完整的开发过程,需要明确每个阶段的任务,在保证一个阶段正确的前提下再进行下一个阶段的工作,称之为软件工程 面向对象的软件工程包 ...

  7. PSP个人软件开发系统面向对象需求分析与设计文档

    1.引言 1.1编写的目的 编写该文档的目的是,对产品进行定义,详尽说明该产品的软件需求,简述我们对 PSP个人软件开发系统的初步设想,及划分的各功能模块以及各模块的实体图和数据流图. 1.2预期的读 ...

  8. PSP辅助软件开发计划

    PSP辅助软件开发计划 作者: 日期:2013年11月14号 1开发目的 鉴于软件开发过程中,程序员往往无法在规定时间内完成任务,而且无法给出拖延的时间从而造成项目进度计划不准确.开发此软件帮助程序员 ...

  9. Python基础之模块:7、项目开发流程和项目需求分析及软件开发目录

    一.项目开发流程 1.项目需求分析 明确项目具体功能: 明确到底要写什么东西,实现什么功能,在这个阶段的具体要询问项目经理和客户的需求 参与人员: 产品经理.架构师.开发经理 技术人员主要职责: 引导 ...

随机推荐

  1. Python_Day5_迭代器、装饰器、软件开发规范

    本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 1.列表生成式,迭代器&生成器 列表生成 >>> a = [i+1 ...

  2. 实验三——for 语句及分支结构else-if

    1.本节课学习到的知识点:在本次课中,我学习了for语句的使用,认识了for语句的执行流,明确了三种表达式的意义.以及最常用的实现多分支的else-if语句. 2.实验过程中遇到的问题及解决方法:在本 ...

  3. JAVA08多态之课程问题解决

    课后作业一:接口多态:使用接口代替抽象基类 1.源代码: package zoo4; import java.util.Vector; public class Zoo2 { public stati ...

  4. 说说ASP.NET的表单验证

    FormsAuthentication是ASP.NET运行时提供的一种Web身份验证方案,以cookie为信息载体,同其它身份验证方案相比,此方案广泛应用于各类的Web应用中,其实现原理其实和具体的W ...

  5. windows php swoole 安装

    Cygwin 官方地址:http://www.cygwin.com/ swoole 官方下载地址:https://github.com/swoole/swoole-src/releases 1.下载 ...

  6. iOs基础篇(二十二)—— UIPickerView、UIDatePicker控件的使用

    一.UIPickerView UIPickerView是一个选择器控件,可以生成单列的选择器,也可生成多列的选择器,而且开发者完全可以自定义选择项的外观,因此用法非常灵活. 1.常用属性 (1)num ...

  7. jrebel注意事项

    -Xms2048m -Xmx2048m -XX:MaxPermSize=4096m -noverify -javaagent:C:\Users\Administrator\.IntelliJIdea2 ...

  8. daydayup3 codeforces144C

    上古的c还是很简单的,一直逗比忘记加EOF了,直到看了数据才发现 题意:给你两个字符串a,b,求问字符串a里有多少个子串排列后可以生成字符串b,‘?’可以替换为任意小写字母 思路:统计第一个子字符串小 ...

  9. iOS开发_MVC设计模式

    MVC,是一种主流的设计模式,本博文总结一下自己对MVC的看法和理解,浅知拙见,难登大雅之堂,如有欠缺遗漏,还望各位指正. MVC是Model-View-Controller 的缩写,Model 是指 ...

  10. 转别人的 STM32外部中断使用注意事项

    前言:这些问题都是我之前在工作中遇到的,后来觉得需要总结,自己记忆不好,所以在这个给自己打个mark. 一:触发方式 STM32 的外部中断是通过边沿来触发的,不支持电平触发: 二:外部中断分组 ST ...