软件开发过程文档_第1页
软件开发过程文档_第2页
软件开发过程文档_第3页
免费预览已结束,剩余15页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、密 级:内部公开文档编号:1005版本号:V3.0测测(基于安卓平台的测评软件)软件开发过程文档文件状态:文件标识:开发组 草稿当前版本:3.0正在修改作者::张放、张钰若、陈国忠V正式发布完成日期:2014-7-23中国石油大学(华东)计算机与通信工程学院天师团开发团队开发大纲编号:MPDKZY-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. 模式运用128.1 WebSe

2、rvice128.2 MVC ( Model ViewController) 128.3 Publish/Subscrib129. 总体迭代计划1210. 团队健康状态 1.310.1 团队人员角色分配及职责履行情况 1 310.2 团队活动的组织与决策产生的过程说明 1310.3 项目、团队现存的主要风险及应对措施说明 1311. 软件工程过程的实施情况 1411.1 在项目实践中所运用 RUP的最佳实践 1 411.2 在项目实践中对敏捷过程产生的具体感悟 1411.3 在项目实践中采用过程度量的手段 1 411.4 通过度量发现的问题及改进 1.412. 对RUP软件开发过程的感悟 14

3、1. 文档目的按软件工程过程的方法进行项目开发, 在软件项目开发之前系统地规划整个 项目进展过程,包括阶段划分、资源分配、进度安排、阶段具体计划的制定等, 在开发过程中有效的利用管理手段确保项目在预算之内及时交付并达到质量目 标。2. 适用范围适用于本软件产品和项目。3. 职责(1)项目负责人:负责编制软件需求规格说明书与项目开发计划。(2)研发部负责人: 负责组织评审 软件需求规格说明书 和项目开发计划 并进行审批。(3)配置管理员:负责项目期间的配置管理工作。4. 业务案例2010年,市民曾先生的儿子曾小明以高考总分超出理科一本线 50 分的成绩 考上了大学,在全家人高兴的同时又陷入了另一

4、个困境, 为了将来的发展, 儿子 该选报哪所高校的何种专业?经过多方咨询和讨论, 最终由家人做主, 选择了中 国石油大学(华东)的软件工程专业。经过几年的专业学习,小明感到身心俱疲、 力不从心,深感当初选错了专业, 后悔没有选择自己感兴趣与性格相符的方向。如今,大学四年即将毕业,小明再次陷入迷茫,在未来的职场上,自己到底 适合哪类工作。 为了不重蹈覆辙, 他急需一次可靠性格测评来为他指点迷津。 这 一天,他陷入了沉思5. 开发该软件的愿景软件名称:测测(基于安卓平台的测评软件)该软件具有性格测试功能,可通过测试用户的性格来推荐与用户能力特长、 个性倾向相匹配的专业和学科; 为用户找出最适合他们

5、个人特点和发展潜力的职 业,从而为每一位用户选择高校就读科目和未来职业方向提供有效的参考依据, 使受众人群的人职匹配过程变得相对容易。 另外,软件还拥有智力测试、 每日一 签等功能,具有较高的娱乐性。它有以下几个特性:1、拥有科学的性格测试,做到人性化的专业、职业合理推荐。2、以趣味性的测试方式,让用户更加了解自己。3、增加“每日一签”测运势,带给用户更多的欢乐体验。6. 需求分析6.1获取用户角色(1)定义用户角色通过头脑风暴产生用户角色集合:(2)提炼用户角色1、毕业生群体2、求职人员3、学生家长4、中介公司相关人员5、业余休闲者&维护人员6.2 客户组织结构 高层管理者(老板):

6、陈国民 中层管理者(经理):张翰 操作员(用户体验师) :王小帅 技术人员(系统维护、运营人员) :张玉荣6.3 访谈记录 (1)对高层管理者陈国民的访谈记录: 陈经理您好, 很高兴对您进行测测软件的相关访谈, 我们希望通过您的回答来确 定“测测”软件的目标与范围。1、您认为这款产品需要解决或缓解什么问题即该软件的业务内容是什么? 答:现在越来越多的人不能很好地定位自己的性格,从而无法选择适合自己 的专业或工作,高中毕业生彷徨于选择自己喜欢并适合自己的大学和专业, 大学毕业生奔波于寻找自己喜欢并适合自己的工作,还有其他一些不满意现 状想要换专业或者工作的人。我希望可以借助这款测评软件帮助他们了

7、解自 己的性格特点,以选择合适的院校专业或合适的职业。2、那就是说您希望软件能够适用于学生群体和需要找工作的人群? 答:是的。但又不止这些,我希望经过软件的相关测试后给出的评价和推荐 能够有一定的准确性,以方便一些家长或是其他人如中介公司等可以通过分 析测试结果得到适合、可信的信息。3、好的,那么用户都会在什么情况下使用该软件? 答:首先高三毕业生在报考高校及选择专业迷茫的时候可以使用此软件,其 次大四毕业生对自己究竟适合哪个职业不一定存在清晰的自我认识,这个时 候该软件可提供给他们一定的性格测试与指导。另一些业余休闲者可在无聊 或打发时间的情况下使用该软件的娱乐测试。4、软件中涉及的测评或是

8、测试的结果评价要有一定的依据,尤其是性格测评的 结果要可靠对吗? 答:是的。5、你觉得软件应包含哪些功能? 答:当然,性格测评是必不可少的,不过为了适应更多人群的需要,软件要 具有一定的娱乐功能,加入其他的一些如智力测试、 “每日一签”等功能,增 加趣味性。(2)对操作员的访谈记录: 开场白:我们现在已经大概明晰了软件的适用范围和人群以及主要的功能要求, 现在我想了解一下需求的流程1、我们按一般操作顺序来说吧,开始操作您希望有哪些?答:开始界面不应该太复杂,必须提供新用户注册和老用户登录的接口。新 用户选择注册后进入注册页面,填写基本信息并提交成功后,界面应自动跳 转至登录页面。2、就是说您希

9、望在注册之后可以直接跳转到登录界面? 答:是的。登录失败,应有相关提示(用户名或密码错误,或是未注册) ;若 登录成功则进入主页面。3、登录进去后,您建议软件展现什么样的界面? 答:主界面上呈现测试的分类模块, 例如:性格测试、 智力测试和每日一签。4、主界面不可以太复杂,对吗? 答:简洁易懂。最好只有几个按钮或图标。5、具体几种测试模式应该怎样使用呢? 答:我只要点击对应按钮或图标就可以进入相关测试页面。软件的响应速度 一定要快,我可不愿意等太长时间。6、就是点击相关测试标签后就可以进入测试,对吗?测试题目您觉得应该怎样 显示呢? 答:是的。我喜欢一页只显示一题,选择答案后自动跳至下一题,这

10、样比较 简单清晰。对了,如果测试有什么特殊要求,应该显示出来。我还希望能够 看到测试的背景信息和可靠度证明。7、对于给出测试结果的页面,您希望可以做什么工作? 答:我可以在性格测评的评价中看到测试结果和相关的专业推荐以及职业推 荐。对于所有测试结果和推荐,我希望有“分享”按钮,以供我选择 QQ 空 间、新浪微博等途径分享测试信息。8、就这些吗? 答:当然,我还可以通过点击“主菜单”或是“重新测试”回到相应页面。6.4 用户故事User story 1.1 性格测试 作为求职人员,我希望能测试我的性格,以便得到我的性格特点。 注释:曾小明说需要显示性格是内向型、中等、外向型其中之一,同时显示是否

11、 开朗、温柔、腼腆、害羞、直率、多情、多疑等。背面:用随意的选择测试题进行测试,用真实的选择测试; 用空的选择进行测试,用真实的选择进行测试。User story 2.1 专业推荐 作为高三毕业生,我希望在性格测试后能得到专业推荐,以供我选择。 注释:曾小明说需要推荐适合自己性格的 6-10 个专业。背面: 用随意的选择测试题进行测试,用真实的选择测试; 用空的选择进行测试,用真实的选择进行测试。User story 3.1 查看测评结果记录 作为业余休闲者,我希望我能查看我之前的测评结果,以作日后参考。 注释:曾小明说需要一个历史记录, 可以记录之前的测评结果, 内容较多的信息 可在另一页面

12、中显示。背面:登录后点击测评记录未登录点击测评记录User story 4.1 智力测试 作为业余休闲者,我希望进行智力测试后,能得到自己的智力水平。 注释:曾小明说需要显示智力指数和此分数代表的智力水平, 以及一些比较幽默 的评语背面: 用随意的选择测试题进行测试,用真实的选择测试; 用空的选择进行测试,用真实的选择进行测试。User story 5.1 摇“每日一签” 作为业余休闲者,我希望能够摇“每日一签” ,以查看当日运势。 注释:曾小明说点击“每日一签”图标,摇动手机可查看运势,相关信息在另一 窗口显示。背面: 点击“每日一签”,摇动手机测试 在同一天内测试,在不同天测试User s

13、tory 6.1 注册账号 作为求职人员,我希望能注册账号,以使用该软件。 注:曾小明说只用输入用户名、密码、性别、出生年月,若用户名无冲突即可注 册成功。背面:1、用非法的用户名测试,用正确的用户名测试2、用已有的用户名注册,用未注册的用户名测试3、用不够位数的(包括空的)密码测试,用符合要求的用户名测试4、用空的性别测试,用真实的性别测试5、用空的生日测试,用正确的生日测试User story 7.1 搜索题目 作为维护人员,我希望能搜索题目,以便对题目进行管理注释:维护人员王志东说需要能够列出题目分类,题目内容,题目选项,以便修 改题目,可以使用一个单独的页面展示。背面:用一个不存在的分

14、类搜索来测试,用一个存在的分类测试。 用一个空的分类搜索来测试,用一个存在的分类测试。User story 8.1管理题目作为维护人员,我希望能够管理题目,以便能够更新题库注释:维护人员王志东说需要列出题目的信息, 题目添加时间,能够大致了解题 目内容,能够单独删除某一道题,也可以删除某个时间段的题目, 也可以增加题 目。背面测试:增加一个不完整的题目,增加一个完整的题目。7. 架构设计为了降低系统耦合度,增加系统内聚性,在需求发生更改时能在较短的时间 内对系统做出修改,并重新投入使用,我们决定以分层体系架构风格作为整个系 统的体系风格,严格按照一定的规则来进行接口设计, 并以之为根据进行详细

15、设 计。分为表示层、数据层、业务逻辑层。(1)具有三层结构的测测软件包图:(2)测测软件领域模型图:弩力删试性删试用户图7.2领域模型图(3)测测软件类图:(4)测测系统用例图:血st测试1测弍题库- 1用总用户个人信堪注廿外部系统J图7.4系统用例图(5)性格测试顺序图:1. qeiSe 业 myUIIHControBer:CharactControllerrest:Chalet Test2: geDptioni);3: reLm()4- TanspcnwessO>5 culculaieOptionO6 retumf)I7 del)vefRe5Llt()i8. siiowResulO(

16、6)测测软件部署图:各户湍数裁阵R Android(WebSemens 5.W.Net 1-1 Furnnurk|liirctEilnsvVtcb- dcpIajyUxtiLSf *)取界JADO.NLTC/S户福 OS AndreifHitp+SOAlJ+Rework* /初 、' anifACT o suWebxil *Multi曲代鄭BuunnRukxUI一岂 anificc *DitiLAreess.dli图7.6软件部署图8. 模式运用根据软件的重要需求,确定了本软件采用如下设计模式:8.1 WebService决定运用该模式的需求:(1)客户端数据库与服务器同步,采用双数据

17、库实现效率提高(2)需调用API,进行每日运势分析。8.2 MVC (Model View Controller )决定运用MVC模式的需求:(1)实现测试题目选项统计,进行测试结果分析8.3 Publish/Subscrib决定运用“发布一订阅”模式的需求:(1)测试题库需定期更新,并自动提示用户9. 总体迭代计划迭代时间段任务产品人员分工第59周 (第一次迭代)完成软件基本框架, 实现性格测评功能。 进行模块测试拥有性格测评功能 的测测1.0版编码:张汉、张钰若、陈 国忠,张放美工:张放收集题库:陈国忠第1013周(第二次迭代)实现智力测评功能。 进行模块测试拥有性格测评、智 力测评功能的

18、测测2.0版编码:张汉、张钰若、陈 国忠,张放美工:张放收集题库:陈国忠扩展“每日一签”趣产生最终版:编码:张汉、张钰若、陈第1418周(第三次迭代)味性测评功能,对软 件整体进行完善,美 化界面。测测3.0版,进行发 布。国忠,张放 美工:张放 收集题库:陈国忠10. 团队健康状态10.1团队人员角色分配及职责履行情况角色分配学号职责履行情况陈国忠(项目经理)项目立项、需求分析、用户故事张汉(开发经理)软件架构体系、服务器搭建张放(过程经理)迭代计划制定、开发过程控制张钰若(质量经理)总体测试计划、质量属性场景10.2团队活动的组织与决策产生的过程说明形式:会议、讨论、头脑风暴 内容:工作认

19、领、需求分析、开发工作 决策产生过程:需求驱动,由项目经理主持讨论会议,宣布议题,开发小组经过思考后每位 成员积极发言,针对各成员提出的观点,小组展开讨论,发表看法,经过多次讨 论达成一致意见,最终由项目经理做出会议总结产生决策。(例如:需求捕获、 用户故事、迭代计划)10.3项目、团队现存的主要风险及应对措施说明(1)项目风险1、开发技术不熟悉措施:团队成员通过各渠道加紧学习,多加实践,尽快熟悉开发平台与工具。(webservice mvc、publish-subscribe)2、开发进度安排欠合理,进度偏慢措施:加快开发进度,努力按照迭代计划推进项目。(适当加班、提高自觉性、 项目经理加大

20、督促力度)(2)团队风险1、个别角色分工不明确(如:过程经理)措施:深入了解在scrum团队中各自所担任角色具体负责的工作,在此基础上各成员有重点的开展工作。2、开发团队不够敏捷(开始阶段需一段时间才切入主题) 措施:互相督促,项目经理负责团队绩效考核,进行量化评比。11. 软件工程过程的实施情况11.1 在项目实践中所运用 RUP 的最佳实践1、迭代的开发软件2、需求管理3、基于构建的软件开发4、验证软件质量11.2 在项目实践中对敏捷过程产生的具体感悟 1、敏捷过程使软件团队具有快速工作、快速响应变化能力。 2、软件的需求是难以预期的,开发方法必需适应变化的需求,在快速的迭代中 不断改进。

21、3、小组成员并不完全按照完整的方法进行开发,而根据具体问题和情况,灵活 地去除非增值活动。11.3 在项目实践中采用过程度量的手段1、jazz 平台2、开发日志11.4 通过度量发现的问题及改进1、题库设计不明确(题型、选项个数、可选个数) 改进措施:明确题型,(两个选项,只可单选)。2、开发进度安排欠合理,进度偏慢 改进措施:加快开发进度,努力按照迭代计划推进项目。(适当加班、提高自 觉性、项目经理加大督促力度)12. 对 RUP 软件开发过程的感悟Rati onal统一开发过程集合了大量的现代软件开发过程的最佳实践,为软件 开发过程(尤其是大型项目过程)提供了标准、通用的管理框架,使得开发

22、团队 可以更好地沟通并控制开发过程的进度、预算和任务分配等工作。针对于当前软件开发所遇到各种问题, Rational 统一开发过程提供了 6 个最 佳实践。在以往的软件开发训练中, 我们已经深刻体会到软件开发过程的不断变 化的特点, 这就需要开发过程不是死板地遵循一个既定的计划, 而是能够的灵活 应对变化,这就需要软件的设计、实现都是需求驱动的并且是分阶段完成的。 RUP 提供了迭代的开发产品和需求管理两项指导实践以适应以上现状。开发过 程中,产品是由最初需求形成的一个初级版本经过多次迭代形成的一个用户最终 满意的结果, 每一个迭代都反映了适应需求的改进和对改进产品的反馈, 每一个 迭代结束都

23、伴以产品质量检测, 以保证项目按时进行并且可交付。 最佳实践中的 基于构件的体系结构和可视化软件建模则提供了管理、 创建代码的方法, 使得代 码组织模块化,结构清晰,便于理解和修改。 对实现代码的可重用性有很大的帮 助。另外,软件开发过程是包含一定结构的, 应该能够描述时间和空间上的特性。 对于时间, Rational 统一开发过程方法将开发过程大致分为四个阶段,即初始、 细化、构造和移交。每一个阶段都由一个目标(关键的)和相应的时间点加以区 分。首先,在初始阶段,开发团队应该对项目有个大致的认识,包括项目的验收 标准、Use case进度估计、风险评估和搭建环境。在细化阶段,确立项目结构 和日程安排,解决主要风险。 构造阶段中,开发过程应该能够用迭代的方法发布 一个可提交的完整产品, 对所有必须功能完成开发、 测试工作, 与此同时避免不 必要的返工,减小成本。最后,完成“beta测试”向市场、销售部门移交产品。 对于空间, 统一开发流程用角色、 工作流、 活动和产物来表达何人何时如何做某 事,定义了团队成员的职责;由团队成员的职责,将项目划分为各个工作单元; 开发过程中用一个活动序列, 即工作流来

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论