当前位置:首页 >> 计算机软件及应用 >>

软件开发过程文档




级:内部公开

文档编号:1005 版 本 号:V3.0

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

软件开发过程文档
文件状态: [ ] 草稿 [ ] 正在修改 [√] 正式发布 文件标识: 当前版本: 作 者: 完成日期: 开发组 3.0 张放、张钰若、陈国忠 2014-7-23

中国石油大学(华东) 计算机与通信工程学院 天师团开发团队

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

编 开发大纲 发布时间:2014-03-23 编 制:陈国忠、张放

号:MPDK/ZY-05-2014

修 改 号:03 发 放 号:05 实施时间:2014-06-28 批 准:陈国忠

第 2 页 共 16 页 天师团开发团队

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

目录
1. 2. 3. 4. 5. 6. 7. 8. 文档目的................................................................................................................. 4 适用范围................................................................................................................. 4 职责......................................................................................................................... 4 业务案例................................................................................................................. 4 开发该软件的愿景................................................................................................. 4 需求分析:............................................................................................................. 5 架构设计................................................................................................................. 9 模式运用............................................................................................................... 12 8.1 WebService ................................................................................................ 12 8.2 MVC (Model View Controller) ........................................................... 12 8.3 Publish/Subscrib ......................................................................................... 12 总体迭代计划....................................................................................................... 12 团队健康状态 ................................................................................................... 13 10.1 团队人员角色分配及职责履行情况..................................................... 13 10.2 团队活动的组织与决策产生的过程说明............................................. 13 10.3 项目、团队现存的主要风险及应对措施说明..................................... 13 软件工程过程的实施情况 ............................................................................... 14 11.1 在项目实践中所运用 RUP 的最佳实践 ............................................... 14 11.2 在项目实践中对敏捷过程产生的具体感悟......................................... 14 11.3 在项目实践中采用过程度量的手段..................................................... 14 11.4 通过度量发现的问题及改进................................................................. 14 对 RUP 软件开发过程的感悟 ......................................................................... 14

9. 10.

11.

12.

第 3 页 共 16 页 天师团开发团队

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

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

2. 适用范围
适用于本软件产品和项目。

3. 职责
(1)项目负责人:负责编制《软件需求规格说明书》与《项目开发计划》。 (2)研发部负责人:负责组织评审《软件需求规格说明书》和《项目开发计划》 并进行审批。 (3)配置管理员: 负责项目期间的配置管理工作。

4. 业务案例
2010 年,市民曾先生的儿子曾小明以高考总分超出理科一本线 50 分的成绩 考上了大学,在全家人高兴的同时又陷入了另一个困境,为了将来的发展,儿子 该选报哪所高校的何种专业? 经过多方咨询和讨论,最终由家人做主,选择了 中国石油大学(华东)的软件工程专业。 经过几年的专业学习, 小明感到身心俱疲、 力不从心, 深感当初选错了专业, 后悔没有选择自己感兴趣与性格相符的方向。 如今,大学四年即将毕业,小明再次陷入迷茫,在未来的职场上,自己到底 适合哪类工作。为了不重蹈覆辙,他急需一次可靠性格测评来为他指点迷津。这 一天,他陷入了沉思??

5. 开发该软件的愿景
软件名称:测测(基于安卓平台的测评软件) 该软件具有性格测试功能,可通过测试用户的性格来推荐与用户能力特长、 个性倾向相匹配的专业和学科; 为用户找出最适合他们个人特点和发展潜力的职 业,从而为每一位用户选择高校就读科目和未来职业方向提供有效的参考依据, 使受众人群的人职匹配过程变得相对容易。另外,软件还拥有智力测试、每日一 签等功能,具有较高的娱乐性。它有以下几个特性: 1、 拥有科学的性格测试,做到人性化的专业、职业合理推荐。 2、 以趣味性的测试方式,让用户更加了解自己。 3、 增加“每日一签”测运势,带给用户更多的欢乐体验。

第 4 页 共 16 页 天师团开发团队

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

6. 需求分析
6.1 获取用户角色
(1)定义用户角色 通过头脑风暴产生用户角色集合:
大三学生 上班族 无聊的学生

转专业的学生、 选专业的学生

维护人员

八卦女生 大学毕业生

屌丝青年

“测测”手机 App 用户角色

中介公司相关人员

开发人员 准备换工作的人

业余休闲者 求职人员 学生群体 学生家长 高三学生

(2) 提炼用户角色 1、毕业生群体 2、求职人员 3、学生家长 4、中介公司相关人员 5、业余休闲者 6、维护人员

第 5 页 共 16 页 天师团开发团队

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

6.2 客户组织结构
高层管理者(老板) :陈国民 中层管理者(经理) :张翰 操作员(用户体验师) :王小帅 技术人员(系统维护、运营人员) : 张玉荣

6.3 访谈记录
(1)对高层管理者陈国民的访谈记录: 陈经理您好, 很高兴对您进行测测软件的相关访谈,我们希望通过您的回答来确 定“测测”软件的目标与范围。 1、您认为这款产品需要解决或缓解什么问题即该软件的业务内容是什么? 答:现在越来越多的人不能很好地定位自己的性格,从而无法选择适合自己 的专业或工作,高中毕业生彷徨于选择自己喜欢并适合自己的大学和专业, 大学毕业生奔波于寻找自己喜欢并适合自己的工作,还有其他一些不满意现 状想要换专业或者工作的人。我希望可以借助这款测评软件帮助他们了解自 己的性格特点,以选择合适的院校专业或合适的职业。 2、那就是说您希望软件能够适用于学生群体和需要找工作的人群? 答:是的。但又不止这些,我希望经过软件的相关测试后给出的评价和推荐 能够有一定的准确性,以方便一些家长或是其他人如中介公司等可以通过分 析测试结果得到适合、可信的信息。 3、好的,那么用户都会在什么情况下使用该软件? 答:首先高三毕业生在报考高校及选择专业迷茫的时候可以使用此软件,其 次大四毕业生对自己究竟适合哪个职业不一定存在清晰的自我认识,这个时 候该软件可提供给他们一定的性格测试与指导。另一些业余休闲者可在无聊 或打发时间的情况下使用该软件的娱乐测试。 4、软件中涉及的测评或是测试的结果评价要有一定的依据,尤其是性格测评的 结果要可靠对吗? 答:是的。 5、你觉得软件应包含哪些功能? 答:当然,性格测评是必不可少的,不过为了适应更多人群的需要,软件要 具有一定的娱乐功能,加入其他的一些如智力测试、 “每日一签”等功能,增 加趣味性。

(2)对操作员的访谈记录:
开场白:我们现在已经大概明晰了软件的适用范围和人群以及主要的功能要求, 现在我想了解一下需求的流程 1、我们按一般操作顺序来说吧,开始操作您希望有哪些?
第 6 页 共 16 页 天师团开发团队

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

答:开始界面不应该太复杂,必须提供新用户注册和老用户登录的接口。新 用户选择注册后进入注册页面,填写基本信息并提交成功后,界面应自动跳 转至登录页面。 2、就是说您希望在注册之后可以直接跳转到登录界面? 答:是的。登录失败,应有相关提示(用户名或密码错误,或是未注册) ;若 登录成功则进入主页面。 3、登录进去后,您建议软件展现什么样的界面? 答: 主界面上呈现测试的分类模块, 例如: 性格测试、 智力测试和每日一签。 4、主界面不可以太复杂,对吗? 答:简洁易懂。最好只有几个按钮或图标。 5、具体几种测试模式应该怎样使用呢? 答:我只要点击对应按钮或图标就可以进入相关测试页面。软件的响应速度 一定要快,我可不愿意等太长时间。 6、就是点击相关测试标签后就可以进入测试,对吗?测试题目您觉得应该怎样 显示呢? 答:是的。我喜欢一页只显示一题,选择答案后自动跳至下一题,这样比较 简单清晰。对了,如果测试有什么特殊要求,应该显示出来。我还希望能够 看到测试的背景信息和可靠度证明。 7、对于给出测试结果的页面,您希望可以做什么工作? 答:我可以在性格测评的评价中看到测试结果和相关的专业推荐以及职业推 荐。对于所有测试结果和推荐,我希望有“分享”按钮,以供我选择 QQ 空 间、新浪微博等途径分享测试信息。 8、就这些吗? 答:当然,我还可以通过点击“主菜单”或是“重新测试”回到相应页面。

6.4 用户故事
User story 1.1 性格测试 作为求职人员,我希望能测试我的性格,以便得到我的性格特点。 注释:曾小明说需要显示性格是内向型、中等、外向型其中之一,同时显示是否 开朗、温柔、腼腆、害羞、直率、多情、多疑等。 背面:用随意的选择测试题进行测试,用真实的选择测试; 用空的选择进行测试,用真实的选择进行测试。 User story 2.1 专业推荐 作为高三毕业生,我希望在性格测试后能得到专业推荐,以供我选择。 注释:曾小明说需要推荐适合自己性格的 6-10 个专业。 背面: 用随意的选择测试题进行测试,用真实的选择测试; 用空的选择进行测试,用真实的选择进行测试。
第 7 页 共 16 页 天师团开发团队

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

User story 3.1 查看测评结果记录 作为业余休闲者,我希望我能查看我之前的测评结果,以作日后参考。 注释:曾小明说需要一个历史记录,可以记录之前的测评结果,内容较多的信息 可在另一页面中显示。 背面: 登录后点击测评记录 未登录点击测评记录 User story 4.1 智力测试 作为业余休闲者,我希望进行智力测试后,能得到自己的智力水平。 注释: 曾小明说需要显示智力指数和此分数代表的智力水平,以及一些比较幽默 的评语 背面: 用随意的选择测试题进行测试,用真实的选择测试; 用空的选择进行测试,用真实的选择进行测试。 User story 5.1 摇“每日一签” 作为业余休闲者,我希望能够摇“每日一签” ,以查看当日运势。 注释:曾小明说点击“每日一签”图标,摇动手机可查看运势,相关信息在另一 窗口显示。 背面: 点击“每日一签” ,摇动手机测试 在同一天内测试,在不同天测试 User story 6.1 注册账号 作为求职人员,我希望能注册账号,以使用该软件。 注:曾小明说只用输入用户名、密码、性别、出生年月,若用户名无冲突即可注 册成功。 背面: 1、用非法的用户名测试,用正确的用户名测试 2、用已有的用户名注册,用未注册的用户名测试 3、用不够位数的(包括空的)密码测试,用符合要求的用户名测试 4、用空的性别测试,用真实的性别测试 5、用空的生日测试,用正确的生日测试 User story 7.1 搜索题目 作为维护人员,我希望能搜索题目,以便对题目进行管理

第 8 页 共 16 页 天师团开发团队

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

注释:维护人员王志东说需要能够列出题目分类,题目内容,题目选项,以便修 改题目,可以使用一个单独的页面展示。 背面: 用一个不存在的分类搜索来测试,用一个存在的分类测试。 用一个空的分类搜索来测试,用一个存在的分类测试。 User story 8.1 管理题目 作为维护人员,我希望能够管理题目,以便能够更新题库 注释:维护人员王志东说需要列出题目的信息,题目添加时间,能够大致了解题 目内容,能够单独删除某一道题,也可以删除某个时间段的题目,也可以增加题 目。 背面测试: 增加一个不完整的题目,增加一个完整的题目。

7. 架构设计
为了降低系统耦合度, 增加系统内聚性,在需求发生更改时能在较短的时间 内对系统做出修改, 并重新投入使用,我们决定以分层体系架构风格作为整个系 统的体系风格,严格按照一定的规则来进行接口设计,并以之为根据进行详细设 计。分为表示层、数据层、业务逻辑层。 (1)具有三层结构的测测软件包图:

图 7.1 领域模型图

第 9 页 共 16 页 天师团开发团队

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

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

图 7.2 领域模型图

(3)测测软件类图:

图 7.3 类图

第 10 页 共 16 页 天师团开发团队

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

(4)测测系统用例图:

图 7.4 系统用例图

(5)性格测试顺序图:

第 11 页 共 16 页 天师团开发团队

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

图 7.5 性格测试顺序图 (6)测测软件部署图:

图 7.6 软件部署图

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

8.1

WebService

决定运用该模式的需求: (1)客户端数据库与服务器同步,采用双数据库实现效率提高。 (2)需调用 API,进行每日运势分析。

8.2

MVC (Model View Controller)

决定运用 MVC 模式的需求: (1)实现测试题目选项统计,进行测试结果分析。

8.3

Publish/Subscrib

决定运用“发布—订阅”模式的需求: (1)测试题库需定期更新,并自动提示用户。

9. 总体迭代计划
迭代时间段
第 5—9 周 (第一次迭代)

任务
完成软件基本框架, 实现性格测评功能。 进行模块测试

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

人员分工
编码:张汉、张钰若、陈 国忠,张放 美工:张放 收集题库:陈国忠 编码:张汉、张钰若、陈 国忠,张放 美工:张放 收集题库:陈国忠
第 12 页 共 16 页

第 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、开发团队不够敏捷(开始阶段需一段时间才切入主题) 措施:互相督促,项目经理负责团队绩效考核,进行量化评比。

第 13 页 共 16 页 天师团开发团队

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

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 提供了迭代的开发产品和需求管理两项指导实践以适应以上现状。开发过 程中, 产品是由最初需求形成的一个初级版本经过多次迭代形成的一个用户最终 满意的结果, 每一个迭代都反映了适应需求的改进和对改进产品的反馈,每一个 迭代结束都伴以产品质量检测, 以保证项目按时进行并且可交付。最佳实践中的
第 14 页 共 16 页 天师团开发团队

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

基于构件的体系结构和可视化软件建模则提供了管理、创建代码的方法,使得代 码组织模块化,结构清晰,便于理解和修改。对实现代码的可重用性有很大的帮 助。 另外, 软件开发过程是包含一定结构的, 应该能够描述时间和空间上的特性。 对于时间,Rational 统一开发过程方法将开发过程大致分为四个阶段,即初始、 细化、构造和移交。每一个阶段都由一个目标(关键的)和相应的时间点加以区 分。首先,在初始阶段,开发团队应该对项目有个大致的认识,包括项目的验收 标准、Use case、进度估计、风险评估和搭建环境。在细化阶段,确立项目结构 和日程安排,解决主要风险。构造阶段中,开发过程应该能够用迭代的方法发布 一个可提交的完整产品,对所有必须功能完成开发、测试工作,与此同时避免不 必要的返工,减小成本。最后,完成“beta 测试” ,向市场、销售部门移交产品。 对于空间,统一开发流程用角色、工作流、活动和产物来表达何人何时如何做某 事,定义了团队成员的职责;由团队成员的职责,将项目划分为各个工作单元; 开发过程中用一个活动序列, 即工作流来组织、安排角色完成相应活动并产出产 物。 对 Rational 统一开发过程的宏观认识,为我们团队接下来的学习、开发过程 提供了指导方法。 RUP 四个阶段和瀑布模型的区别:瀑布模型是线性的管道式开发,按照需 求分析、设计,编码、测试等开发活动划分的阶段。这种顺序开发模式难以抵挡 需求变化的影响,难以满足客户的需求。而 RUP 的四个阶段是为了化解不同风 险。需求风险、架构风险、发布风险是软件开发中重大风险。四个阶段是为了化 解这些不同的风险。迭代是最重要的区别。每个阶段都迭代进行。迭代贯穿于四 个阶段。 RUP 的六个最佳实践: 1,迭代的开发软件:在迭代中执行你的项目,化解需求变化风险 2,需求管理:用例,从用户的角度描述需求,进化式需求 3,使用基于构件的体系结构:利用组件与服务进行构架 4,可视化软件建模:对主要观点建模 5,验证软件质量:测试你的代码,单元测试,持续集成测试 6,控制软件变更:拥抱并管理变更 其中迭代是最核心关键的实践。 结合早期时间定量的迭代开发,进行迭代和进化式需求分析,且引入频繁的 涉众参与、 评估和对局部结果的反馈。 迭代并不是匆忙上阵编码, 只是分析一点、 设计一点、实现一点、测试一点、得到一点反馈。每次迭代以前一次的迭代为基 础产生一个可执行的更接近最终系统的产品。迭代的返工是在精心控制之下的。 定周期迭代。 RUP 需要借鉴的东西: 1,完整团队的思想:开发、测试、业务人员、客户一起紧密地工作
第 15 页 共 16 页 天师团开发团队

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

2,客户作为团队成员 3,构建过程中借鉴一些最佳实践:TDD,重构,持续集成、Code Review、简单 设计、小版本发布 4,面对面交流的作用,适当弱化文档的地位,选择性的输出最有价值的文档 5,RUP 过于专注于过程,软件开发毕竟是人的活动,要考虑人的能动性,人和 过程结合才能产生好的效果。要适当注重以人为本的思想。

第 16 页 共 16 页 天师团开发团队


赞助商链接
相关文章:
软件开发过程文档
维护人员 第 5 页共 16 页 天师团开发团队 测测《软件开发过程文档》 6.2 客户组织结构高层管理者(老板) :陈国民 中层管理者(经理) :张翰 操作员(用户体验...
软件开发流程说明文档
软件开发流程说明文档 - 软件开发流程说明文档 第一步:需求调研分析 1、相关系统分析员向用户初步了解需求,然后用 word 列出要开 发的系统的大功能模块,每个大...
软件项目开发工作流程
暂无评价|0人阅读|0次下载 | 举报文档 标签: 工作流程| 软件项目开发工作流程_人力资源管理_经管营销_专业资料。软件项目开发工作流程一、简述 对于一个新项目,...
软件开发流程及各阶段输出的文档
软件开发流程及各阶段输出的文档 - 软件开发流程纲要及各个阶段产生的文档 1 需求调研与分析 当我们做一个项目时,可能客户口头告诉你他想要做一个什么东西,或者给...
软件项目开发流程
软件项目开发流程 - 软件项目开发流程软件项目开发计划书。... 软件项目开发流程_商业计划_计划/解决方案_实用文档软件项目开发流程软件项目开发计划书。...
软件项目开发流程规范说明文档
软件项目开发流程规范说明文档 - 对于一个新项目,从可行性研究到产品交付整个生存阶段将经历如下十大流程:①项目可行性研究 ②立项③需求分析④开发策划⑤设计阶段⑥...
ISO软件开发全套文档-软件开发过程控制程序
程序文件 标题: 软件开发过程控制程序 文件编号 版页号码 CSI/QP 0714 A/0 共5页 第1页 1 目的 为保证软件产品及其文档可维护,软件开发过程得到有效控制,特...
软件开发管理规范流程图(初稿)
角色管理软件开发过程角色涉及过程为:过程、定义、设计、编码、系 统测试、接收、移植、运行等过程。 过程阶段 定义 职责 需要定义 开始项目规划 文档成果描述 问题...
对日软件开发流程
对日软件开发流程 1、SA 系统分析 这个阶段比较重要的工作是分析客户的业务,...提交的文档是需求定义式样书等。 2、RD 要件定义 3、UR User 要件 4、SR ...
技术中心软件开发流程管理制度
技术中心软件开发流程管理制度_制度/规范_工作范文_实用文档。技术中心软件开发流程管理制度 科技有限公司卷 密号级 卷内编号 软件开发流程管理制度(初稿) 为加强对...
更多相关标签: