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个人软件开发软件需求分析和用例分析的更多相关文章
- Psp个人软件开发软件需求分析及用例分析
一.需求分析 1. 业务需求 1.1 应用背景 开发项目进度计划总是那么不明确,延期经常出现,甚至无法给出一个相对比较明确的延迟时间.这样给市场的推广会带来很大的影响,不确定因素使得应对十分困难. ...
- PSP个人软件开发工具需求分析文档
第一部分:前景与范围 1.业务需求 1.1 背景 在目前的软件项目开发过程中,进度计划总是非常不准确,经常出现延期,而且大多数都无法给出一个相对比较准确的延迟时间.即使使用用例包.用例的方式组织需求, ...
- 专注于C#.Net WPF软件开发-软件反编译-软件破解-逆向-靖芯科技-包括安卓APK反编译
靖芯科技提供.Net软件开发,软件修改定制二次开发,软件破解,反编译,逆向等各项优质服务: 包括安卓APK软件反编译. 包括但不限于C#,WPF,Surface,Winform,Asp.net.JAV ...
- 软件-开发软件:Android Studio
ylbtech-软件-开发软件:Android Studio Android Studio 是谷歌推出的一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT, ...
- PSP个人软件开发工具
(您的阅读是我的荣幸,如有不满之处请留言指正!) 尚未完善.....工作中 为开发人员提供一个PSP工具,简化时间记录工作:同时提供数据使用的工具,帮助开发人提高估算能力. PSP个人软件开发工具 ...
- 面向对象 - 1.软件开发/2.异常处理/3.try...except的详细用法
1.软件开发 软件的开发其实一整套规范,我们所学的只是其中的一小部分,一个完整的开发过程,需要明确每个阶段的任务,在保证一个阶段正确的前提下再进行下一个阶段的工作,称之为软件工程 面向对象的软件工程包 ...
- PSP个人软件开发系统面向对象需求分析与设计文档
1.引言 1.1编写的目的 编写该文档的目的是,对产品进行定义,详尽说明该产品的软件需求,简述我们对 PSP个人软件开发系统的初步设想,及划分的各功能模块以及各模块的实体图和数据流图. 1.2预期的读 ...
- PSP辅助软件开发计划
PSP辅助软件开发计划 作者: 日期:2013年11月14号 1开发目的 鉴于软件开发过程中,程序员往往无法在规定时间内完成任务,而且无法给出拖延的时间从而造成项目进度计划不准确.开发此软件帮助程序员 ...
- Python基础之模块:7、项目开发流程和项目需求分析及软件开发目录
一.项目开发流程 1.项目需求分析 明确项目具体功能: 明确到底要写什么东西,实现什么功能,在这个阶段的具体要询问项目经理和客户的需求 参与人员: 产品经理.架构师.开发经理 技术人员主要职责: 引导 ...
随机推荐
- Python_Day5_迭代器、装饰器、软件开发规范
本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 1.列表生成式,迭代器&生成器 列表生成 >>> a = [i+1 ...
- 实验三——for 语句及分支结构else-if
1.本节课学习到的知识点:在本次课中,我学习了for语句的使用,认识了for语句的执行流,明确了三种表达式的意义.以及最常用的实现多分支的else-if语句. 2.实验过程中遇到的问题及解决方法:在本 ...
- JAVA08多态之课程问题解决
课后作业一:接口多态:使用接口代替抽象基类 1.源代码: package zoo4; import java.util.Vector; public class Zoo2 { public stati ...
- 说说ASP.NET的表单验证
FormsAuthentication是ASP.NET运行时提供的一种Web身份验证方案,以cookie为信息载体,同其它身份验证方案相比,此方案广泛应用于各类的Web应用中,其实现原理其实和具体的W ...
- windows php swoole 安装
Cygwin 官方地址:http://www.cygwin.com/ swoole 官方下载地址:https://github.com/swoole/swoole-src/releases 1.下载 ...
- iOs基础篇(二十二)—— UIPickerView、UIDatePicker控件的使用
一.UIPickerView UIPickerView是一个选择器控件,可以生成单列的选择器,也可生成多列的选择器,而且开发者完全可以自定义选择项的外观,因此用法非常灵活. 1.常用属性 (1)num ...
- jrebel注意事项
-Xms2048m -Xmx2048m -XX:MaxPermSize=4096m -noverify -javaagent:C:\Users\Administrator\.IntelliJIdea2 ...
- daydayup3 codeforces144C
上古的c还是很简单的,一直逗比忘记加EOF了,直到看了数据才发现 题意:给你两个字符串a,b,求问字符串a里有多少个子串排列后可以生成字符串b,‘?’可以替换为任意小写字母 思路:统计第一个子字符串小 ...
- iOS开发_MVC设计模式
MVC,是一种主流的设计模式,本博文总结一下自己对MVC的看法和理解,浅知拙见,难登大雅之堂,如有欠缺遗漏,还望各位指正. MVC是Model-View-Controller 的缩写,Model 是指 ...
- 转别人的 STM32外部中断使用注意事项
前言:这些问题都是我之前在工作中遇到的,后来觉得需要总结,自己记忆不好,所以在这个给自己打个mark. 一:触发方式 STM32 的外部中断是通过边沿来触发的,不支持电平触发: 二:外部中断分组 ST ...