软件开发过程文档.docx

上传人:wj 文档编号:1307183 上传时间:2023-04-30 格式:DOCX 页数:16 大小:269.63KB
下载 相关 举报
软件开发过程文档.docx_第1页
第1页 / 共16页
软件开发过程文档.docx_第2页
第2页 / 共16页
软件开发过程文档.docx_第3页
第3页 / 共16页
软件开发过程文档.docx_第4页
第4页 / 共16页
软件开发过程文档.docx_第5页
第5页 / 共16页
软件开发过程文档.docx_第6页
第6页 / 共16页
软件开发过程文档.docx_第7页
第7页 / 共16页
软件开发过程文档.docx_第8页
第8页 / 共16页
软件开发过程文档.docx_第9页
第9页 / 共16页
软件开发过程文档.docx_第10页
第10页 / 共16页
软件开发过程文档.docx_第11页
第11页 / 共16页
软件开发过程文档.docx_第12页
第12页 / 共16页
软件开发过程文档.docx_第13页
第13页 / 共16页
软件开发过程文档.docx_第14页
第14页 / 共16页
软件开发过程文档.docx_第15页
第15页 / 共16页
软件开发过程文档.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

软件开发过程文档.docx

《软件开发过程文档.docx》由会员分享,可在线阅读,更多相关《软件开发过程文档.docx(16页珍藏版)》请在冰点文库上搜索。

软件开发过程文档.docx

测测《软件开发过程文档》

密级:

内部公开

文档编号:

1005

版本号:

V3.0

测测(基于安卓平台的测评软件)

软件开发过程文档

文件状态:

[]草稿

[]正在修改

[√]正式发布

文件标识:

开发组

当前版本:

3.0

作者:

张放、张钰若、陈国忠

完成日期:

2014-7-23

中国石油大学(华东)

计算机与通信工程学院天师团开发团队

开发大纲

编号:

MPDK/ZY-05-2014

修改号:

03

发放号:

05

发布时间:

2014-03-23

实施时间:

2014-06-28

编制:

陈国忠、张放

批准:

陈国忠

目录

1. 文档目的 4

2. 适用范围 4

3. 职责 4

4. 业务案例 4

5. 开发该软件的愿景 4

6. 需求分析:

5

7. 架构设计 9

8. 模式运用 12

8.1 WebService 12

8.2 MVC(ModelViewController) 12

8.3 Publish/Subscrib 12

9. 总体迭代计划 12

10. 团队健康状态 13

10.1 团队人员角色分配及职责履行情况 13

10.2 团队活动的组织与决策产生的过程说明 13

10.3 项目、团队现存的主要风险及应对措施说明 13

11. 软件工程过程的实施情况 14

11.1 在项目实践中所运用RUP的最佳实践 14

11.2 在项目实践中对敏捷过程产生的具体感悟 14

11.3 在项目实践中采用过程度量的手段 14

11.4 通过度量发现的问题及改进 14

12. 对RUP软件开发过程的感悟 14

1.文档目的

按软件工程过程的方法进行项目开发,在软件项目开发之前系统地规划整个项目进展过程,包括阶段划分、资源分配、进度安排、阶段具体计划的制定等,在开发过程中有效的利用管理手段确保项目在预算之内及时交付并达到质量目标。

2.适用范围

适用于本软件产品和项目。

3.职责

(1)项目负责人:

负责编制《软件需求规格说明书》与《项目开发计划》。

(2)研发部负责人:

负责组织评审《软件需求规格说明书》和《项目开发计划》并进行审批。

(3)配置管理员:

负责项目期间的配置管理工作。

4.业务案例

2010年,市民曾先生的儿子曾小明以高考总分超出理科一本线50分的成绩考上了大学,在全家人高兴的同时又陷入了另一个困境,为了将来的发展,儿子该选报哪所高校的何种专业?

经过多方咨询和讨论,最终由家人做主,选择了中国石油大学(华东)的软件工程专业。

经过几年的专业学习,小明感到身心俱疲、力不从心,深感当初选错了专业,后悔没有选择自己感兴趣与性格相符的方向。

如今,大学四年即将毕业,小明再次陷入迷茫,在未来的职场上,自己到底适合哪类工作。

为了不重蹈覆辙,他急需一次可靠性格测评来为他指点迷津。

这一天,他陷入了沉思……

5.开发该软件的愿景

软件名称:

测测(基于安卓平台的测评软件)

该软件具有性格测试功能,可通过测试用户的性格来推荐与用户能力特长、个性倾向相匹配的专业和学科;为用户找出最适合他们个人特点和发展潜力的职业,从而为每一位用户选择高校就读科目和未来职业方向提供有效的参考依据,使受众人群的人职匹配过程变得相对容易。

另外,软件还拥有智力测试、每日一签等功能,具有较高的娱乐性。

它有以下几个特性:

1、拥有科学的性格测试,做到人性化的专业、职业合理推荐。

2、以趣味性的测试方式,让用户更加了解自己。

3、增加“每日一签”测运势,带给用户更多的欢乐体验。

6.需求分析

6.1获取用户角色

(1)定义用户角色

通过头脑风暴产生用户角色集合:

“测测”手机App

用户角色

维护人员

八卦女生

转专业的学生、

选专业的学生

无聊的学生

大三学生

上班族

开发人员

屌丝青年

中介公司相关人员

大学毕业生

学生家长

求职人员

准备换工作的人

业余休闲者

学生群体

高三学生

(2)提炼用户角色

1、毕业生群体

2、求职人员

3、学生家长

4、中介公司相关人员

5、业余休闲者

6、维护人员

6.2客户组织结构

高层管理者(老板):

陈国民

中层管理者(经理):

张翰

操作员(用户体验师):

王小帅

技术人员(系统维护、运营人员):

张玉荣

6.3访谈记录

(1)对高层管理者陈国民的访谈记录:

陈经理您好,很高兴对您进行测测软件的相关访谈,我们希望通过您的回答来确定“测测”软件的目标与范围。

1、您认为这款产品需要解决或缓解什么问题即该软件的业务内容是什么?

答:

现在越来越多的人不能很好地定位自己的性格,从而无法选择适合自己的专业或工作,高中毕业生彷徨于选择自己喜欢并适合自己的大学和专业,大学毕业生奔波于寻找自己喜欢并适合自己的工作,还有其他一些不满意现状想要换专业或者工作的人。

我希望可以借助这款测评软件帮助他们了解自己的性格特点,以选择合适的院校专业或合适的职业。

2、那就是说您希望软件能够适用于学生群体和需要找工作的人群?

答:

是的。

但又不止这些,我希望经过软件的相关测试后给出的评价和推荐能够有一定的准确性,以方便一些家长或是其他人如中介公司等可以通过分析测试结果得到适合、可信的信息。

3、好的,那么用户都会在什么情况下使用该软件?

答:

首先高三毕业生在报考高校及选择专业迷茫的时候可以使用此软件,其次大四毕业生对自己究竟适合哪个职业不一定存在清晰的自我认识,这个时候该软件可提供给他们一定的性格测试与指导。

另一些业余休闲者可在无聊或打发时间的情况下使用该软件的娱乐测试。

4、软件中涉及的测评或是测试的结果评价要有一定的依据,尤其是性格测评的结果要可靠对吗?

答:

是的。

5、你觉得软件应包含哪些功能?

答:

当然,性格测评是必不可少的,不过为了适应更多人群的需要,软件要具有一定的娱乐功能,加入其他的一些如智力测试、“每日一签”等功能,增加趣味性。

(2)对操作员的访谈记录:

开场白:

我们现在已经大概明晰了软件的适用范围和人群以及主要的功能要求,现在我想了解一下需求的流程

1、我们按一般操作顺序来说吧,开始操作您希望有哪些?

答:

开始界面不应该太复杂,必须提供新用户注册和老用户登录的接口。

新用户选择注册后进入注册页面,填写基本信息并提交成功后,界面应自动跳转至登录页面。

2、就是说您希望在注册之后可以直接跳转到登录界面?

答:

是的。

登录失败,应有相关提示(用户名或密码错误,或是未注册);若登录成功则进入主页面。

3、登录进去后,您建议软件展现什么样的界面?

答:

主界面上呈现测试的分类模块,例如:

性格测试、智力测试和每日一签。

4、主界面不可以太复杂,对吗?

答:

简洁易懂。

最好只有几个按钮或图标。

5、具体几种测试模式应该怎样使用呢?

答:

我只要点击对应按钮或图标就可以进入相关测试页面。

软件的响应速度一定要快,我可不愿意等太长时间。

6、就是点击相关测试标签后就可以进入测试,对吗?

测试题目您觉得应该怎样显示呢?

答:

是的。

我喜欢一页只显示一题,选择答案后自动跳至下一题,这样比较简单清晰。

对了,如果测试有什么特殊要求,应该显示出来。

我还希望能够看到测试的背景信息和可靠度证明。

7、对于给出测试结果的页面,您希望可以做什么工作?

答:

我可以在性格测评的评价中看到测试结果和相关的专业推荐以及职业推荐。

对于所有测试结果和推荐,我希望有“分享”按钮,以供我选择QQ空间、新浪微博等途径分享测试信息。

8、就这些吗?

答:

当然,我还可以通过点击“主菜单”或是“重新测试”回到相应页面。

6.4用户故事

Userstory1.1性格测试

作为求职人员,我希望能测试我的性格,以便得到我的性格特点。

注释:

曾小明说需要显示性格是内向型、中等、外向型其中之一,同时显示是否开朗、温柔、腼腆、害羞、直率、多情、多疑等。

背面:

用随意的选择测试题进行测试,用真实的选择测试;

用空的选择进行测试,用真实的选择进行测试。

Userstory2.1专业推荐

作为高三毕业生,我希望在性格测试后能得到专业推荐,以供我选择。

注释:

曾小明说需要推荐适合自己性格的6-10个专业。

背面:

用随意的选择测试题进行测试,用真实的选择测试;

用空的选择进行测试,用真实的选择进行测试。

Userstory3.1查看测评结果记录

作为业余休闲者,我希望我能查看我之前的测评结果,以作日后参考。

注释:

曾小明说需要一个历史记录,可以记录之前的测评结果,内容较多的信息可在另一页面中显示。

背面:

登录后点击测评记录

未登录点击测评记录

Userstory4.1智力测试

作为业余休闲者,我希望进行智力测试后,能得到自己的智力水平。

注释:

曾小明说需要显示智力指数和此分数代表的智力水平,以及一些比较幽默的评语

背面:

用随意的选择测试题进行测试,用真实的选择测试;

用空的选择进行测试,用真实的选择进行测试。

Userstory5.1摇“每日一签”

作为业余休闲者,我希望能够摇“每日一签”,以查看当日运势。

注释:

曾小明说点击“每日一签”图标,摇动手机可查看运势,相关信息在另一窗口显示。

背面:

点击“每日一签”,摇动手机测试

在同一天内测试,在不同天测试

Userstory6.1注册账号

作为求职人员,我希望能注册账号,以使用该软件。

注:

曾小明说只用输入用户名、密码、性别、出生年月,若用户名无冲突即可注册成功。

背面:

1、用非法的用户名测试,用正确的用户名测试

2、用已有的用户名注册,用未注册的用户名测试

3、用不够位数的(包括空的)密码测试,用符合要求的用户名测试

4、用空的性别测试,用真实的性别测试

5、用空的生日测试,用正确的生日测试

Userstory7.1搜索题目

作为维护人员,我希望能搜索题目,以便对题目进行管理

注释:

维护人员王志东说需要能够列出题目分类,题目内容,题目选项,以便修改题目,可以使用一个单独的页面展示。

背面:

用一个不存在的分类搜索来测试,用一个存在的分类测试。

用一个空的分类搜索来测试,用一个存在的分类测试。

Userstory8.1管理题目

作为维护人员,我希望能够管理题目,以便能够更新题库

注释:

维护人员王志东说需要列出题目的信息,题目添加时间,能够大致了解题目内容,能够单独删除某一道题,也可以删除某个时间段的题目,也可以增加题目。

背面测试:

增加一个不完整的题目,增加一个完整的题目。

7.架构设计

为了降低系统耦合度,增加系统内聚性,在需求发生更改时能在较短的时间内对系统做出修改,并重新投入使用,我们决定以分层体系架构风格作为整个系统的体系风格,严格按照一定的规则来进行接口设计,并以之为根据进行详细设计。

分为表示层、数据层、业务逻辑层。

(1)具有三层结构的测测软件包图:

图7.1领域模型图

(2)测测软件领域模型图:

图7.2领域模型图

(3)测测软件类图:

图7.3类图

(4)测测系统用例图:

图7.4系统用例图

(5)性格测试顺序图:

图7.5性格测试顺序图

(6)测测软件部署图:

图7.6软件部署图

8.模式运用

根据软件的重要需求,确定了本软件采用如下设计模式:

8.1WebService

决定运用该模式的需求:

(1)客户端数据库与服务器同步,采用双数据库实现效率提高。

(2)需调用API,进行每日运势分析。

8.2MVC(ModelViewController)

决定运用MVC模式的需求:

(1)实现测试题目选项统计,进行测试结果分析。

8.3Publish/Subscrib

决定运用“发布—订阅”模式的需求:

(1)测试题库需定期更新,并自动提示用户。

9.总体迭代计划

迭代时间段

任务

产品

人员分工

第5—9周

(第一次迭代)

完成软件基本框架,实现性格测评功能。

进行模块测试

拥有性格测评功能的测测1.0版

编码:

张汉、张钰若、陈国忠,张放

美工:

张放

收集题库:

陈国忠

第10—13周

(第二次迭代)

实现智力测评功能。

进行模块测试

拥有性格测评、智力测评功能的测测2.0版

编码:

张汉、张钰若、陈国忠,张放

美工:

张放

收集题库:

陈国忠

第14—18周

(第三次迭代)

扩展“每日一签”趣味性测评功能,对软件整体进行完善,美化界面。

产生最终版:

测测3.0版,进行发布。

编码:

张汉、张钰若、陈国忠,张放

美工:

张放

收集题库:

陈国忠

10.团队健康状态

10.1团队人员角色分配及职责履行情况

角色分配

学号

职责履行情况

陈国忠(项目经理)

11072214

项目立项、需求分析、用户故事

张汉(开发经理)

11072215

软件架构体系、服务器搭建

张放(过程经理)

11072201

迭代计划制定、开发过程控制

张钰若(质量经理)

11072205

总体测试计划、质量属性场景

10.2团队活动的组织与决策产生的过程说明

形式:

会议、讨论、头脑风暴

内容:

工作认领、需求分析、开发工作

决策产生过程:

需求驱动,由项目经理主持讨论会议,宣布议题,开发小组经过思考后每位成员积极发言,针对各成员提出的观点,小组展开讨论,发表看法,经过多次讨论达成一致意见,最终由项目经理做出会议总结产生决策。

(例如:

需求捕获、用户故事、迭代计划)

10.3项目、团队现存的主要风险及应对措施说明

(1)项目风险

1、开发技术不熟悉

措施:

团队成员通过各渠道加紧学习,多加实践,尽快熟悉开发平台与工具。

(webservice、mvc、publish-subscribe)

2、开发进度安排欠合理,进度偏慢

措施:

加快开发进度,努力按照迭代计划推进项目。

(适当加班、提高自觉性、项目经理加大督促力度)

(2)团队风险

1、个别角色分工不明确(如:

过程经理)

措施:

深入了解在scrum团队中各自所担任角色具体负责的工作,在此基础上各成员有重点的开展工作。

2、开发团队不够敏捷(开始阶段需一段时间才切入主题)

措施:

互相督促,项目经理负责团队绩效考核,进行量化评比。

11.软件工程过程的实施情况

11.1在项目实践中所运用RUP的最佳实践

1、迭代的开发软件

2、需求管理

3、基于构建的软件开发

4、验证软件质量

11.2在项目实践中对敏捷过程产生的具体感悟

1、敏捷过程使软件团队具有快速工作、快速响应变化能力。

2、软件的需求是难以预期的,开发方法必需适应变化的需求,在快速的迭代中不断改进。

3、小组成员并不完全按照完整的方法进行开发,而根据具体问题和情况,灵活地去除非增值活动。

11.3在项目实践中采用过程度量的手段

1、jazz平台

2、开发日志

11.4通过度量发现的问题及改进

1、题库设计不明确(题型、选项个数、可选个数)

改进措施:

明确题型,(两个选项,只可单选)。

2、开发进度安排欠合理,进度偏慢

改进措施:

加快开发进度,努力按照迭代计划推进项目。

(适当加班、提高自觉性、项目经理加大督促力度)

12.对RUP软件开发过程的感悟

Rational统一开发过程集合了大量的现代软件开发过程的最佳实践,为软件开发过程(尤其是大型项目过程)提供了标准、通用的管理框架,使得开发团队可以更好地沟通并控制开发过程的进度、预算和任务分配等工作。

针对于当前软件开发所遇到各种问题,Rational统一开发过程提供了6个最佳实践。

在以往的软件开发训练中,我们已经深刻体会到软件开发过程的不断变化的特点,这就需要开发过程不是死板地遵循一个既定的计划,而是能够的灵活应对变化,这就需要软件的设计、实现都是需求驱动的并且是分阶段完成的。

RUP提供了迭代的开发产品和需求管理两项指导实践以适应以上现状。

开发过程中,产品是由最初需求形成的一个初级版本经过多次迭代形成的一个用户最终满意的结果,每一个迭代都反映了适应需求的改进和对改进产品的反馈,每一个迭代结束都伴以产品质量检测,以保证项目按时进行并且可交付。

最佳实践中的基于构件的体系结构和可视化软件建模则提供了管理、创建代码的方法,使得代码组织模块化,结构清晰,便于理解和修改。

对实现代码的可重用性有很大的帮助。

另外,软件开发过程是包含一定结构的,应该能够描述时间和空间上的特性。

对于时间,Rational统一开发过程方法将开发过程大致分为四个阶段,即初始、细化、构造和移交。

每一个阶段都由一个目标(关键的)和相应的时间点加以区分。

首先,在初始阶段,开发团队应该对项目有个大致的认识,包括项目的验收标准、Usecase、进度估计、风险评估和搭建环境。

在细化阶段,确立项目结构和日程安排,解决主要风险。

构造阶段中,开发过程应该能够用迭代的方法发布一个可提交的完整产品,对所有必须功能完成开发、测试工作,与此同时避免不必要的返工,减小成本。

最后,完成“beta测试”,向市场、销售部门移交产品。

对于空间,统一开发流程用角色、工作流、活动和产物来表达何人何时如何做某事,定义了团队成员的职责;由团队成员的职责,将项目划分为各个工作单元;开发过程中用一个活动序列,即工作流来组织、安排角色完成相应活动并产出产物。

对Rational统一开发过程的宏观认识,为我们团队接下来的学习、开发过程提供了指导方法。

RUP四个阶段和瀑布模型的区别:

瀑布模型是线性的管道式开发,按照需求分析、设计,编码、测试等开发活动划分的阶段。

这种顺序开发模式难以抵挡需求变化的影响,难以满足客户的需求。

而RUP的四个阶段是为了化解不同风险。

需求风险、架构风险、发布风险是软件开发中重大风险。

四个阶段是为了化解这些不同的风险。

迭代是最重要的区别。

每个阶段都迭代进行。

迭代贯穿于四个阶段。

RUP的六个最佳实践:

1,迭代的开发软件:

在迭代中执行你的项目,化解需求变化风险

2,需求管理:

用例,从用户的角度描述需求,进化式需求

3,使用基于构件的体系结构:

利用组件与服务进行构架

4,可视化软件建模:

对主要观点建模

5,验证软件质量:

测试你的代码,单元测试,持续集成测试

6,控制软件变更:

拥抱并管理变更

其中迭代是最核心关键的实践。

结合早期时间定量的迭代开发,进行迭代和进化式需求分析,且引入频繁的涉众参与、评估和对局部结果的反馈。

迭代并不是匆忙上阵编码,只是分析一点、设计一点、实现一点、测试一点、得到一点反馈。

每次迭代以前一次的迭代为基础产生一个可执行的更接近最终系统的产品。

迭代的返工是在精心控制之下的。

定周期迭代。

RUP需要借鉴的东西:

1,完整团队的思想:

开发、测试、业务人员、客户一起紧密地工作

2,客户作为团队成员

3,构建过程中借鉴一些最佳实践:

TDD,重构,持续集成、CodeReview、简单设计、小版本发布

4,面对面交流的作用,适当弱化文档的地位,选择性的输出最有价值的文档

5,RUP过于专注于过程,软件开发毕竟是人的活动,要考虑人的能动性,人和过程结合才能产生好的效果。

要适当注重以人为本的思想。

第16页共16页

天师团开发团队

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2