大作业技术报告

Part 1 

在这个part中,我主要实现的是调查梳理中山大学为学生提供的软件产品:中山大学APP的生活攻略部分内容。我用到了系统化的手段来收集和整理中大APP的相关信息,具体如下:

一、用户初始界面

1.1 功能分析

如上图,打开中大APP,初始的用户交互界面如上。

首先,在界面的最顶端有搜索窗口。用户可以通过键入关键字来进行功能搜索,从而进入相应的功能界面,如下:

点击右上方的“取消”按钮,就可以返回首页。

在搜索窗口的右端,还有两个功能图标,分别是“校园通知”图标和“二维码扫描”图标。点击“校园通知”图标,则可以进入“校园”通知功能页面,查看相应的校园通知,如下:

如上图,用户可以在校园通知页面查看已订阅的通知,如校车通知,个人通知等。用户可通过上方的搜索窗口进行相应的通知搜索。最后,用户可以点击右上角的“订阅设置”功能图标进入订阅设置页面,来进行通知的订阅或取消订阅操作,如下:

点击返回,即可返回“校园通知”页面。再次点击返回,即可返回首页。

接下来,在滚动图片下方就是功能选择窗口。用户可以在首页通过点击相应的功能按钮进入相应的功能界面。

为了在首页点击某一功能按钮,用户需要点击“...”按钮进入“应用市场界面”并选择需要点击的功能,点击“加到首页”按钮将该功能加入首页,如下:

 

点击返回,即可返回首页。

在首页下方还有“新闻公告”区域,用户可点击上方“更多”查看更多相关新闻公告;“消息”区域,用户可点击上方“更多”查看更多相关消息;“校园卡”区域,用户可在该区域查看校园卡余额;“课程”区域,用户可在该区域查看正在进行中的课程以及下堂课的信息,如下:

最后,在首页最下方有界面选择区域。用户选择“应用”按钮可直接进入全部功能选择页面,选择“发现”按钮可以发现相关校园动态,选择“个人”按钮可以查看个人信息:

 

Part 2

在这个part中,我负责从产品特色,业务支持,应用场景实例和子产品与工具等方面对云项目管理服务软件腾讯CODING DevOps进行了调查,从而完成了类似竞争产品的对比分析报告。调查的具体结果如下:

产品特色

CODING DevOps 包括代码托管、项目管理、测试管理、持续集成、制品库等多款产品和服务,涵盖软件开发从构想到交付的一切所需,使研发团队在云端高效协同,实践敏捷开发与 DevOps,提升软件交付质量与速度。

 完整的自研开发工具

覆盖开发管理全过程工具服务,具备完整的自研工具能力,无需对接第三方。

开发过程自动化

从代码在线管理到持续集成、自动化测试、自动部署过程,为项目的持续性交付提供高度自动化的能力。

 快速发布应用的能力

依托腾讯云强大的 CDN 能力,通过全球连通极速网络进行上传下载,快速完成应用分发

 多角色岗位高效协作

适合团队内产品、设计、研发、测试、运营等不同的角色岗位同平台无缝协作,提高各部门间的信息流通透明化,快速接收业务部门的反馈,帮助产品迭代优化。  

支持敏捷或瀑布工作流

完整的研发协作工具链深度结合敏捷研发理念,帮助您对产品进行迭代规划, 让 Scrum 过程风险可控,同时可支持企业进行瀑布式开发模式,有效控制项目风险。

多维度数据报告

支持对代码、项目进度、人员工作量等不同维度输出详尽的数据报告,为团队管理者提供决策依据,调整项目计划和合理安排研发人力。

业务支持

1.手机/移动app开发

2.大学/教学机构管理系统开发

3.数据库应用与管理

4.网上银行系统开发

5.云上服务开发

.......

应用场景实例

1.敏捷开发实践

从用户故事开始,到需求池管理以及任务拆解、缺陷管理、测试管理,敏捷开发过程都有序建立。帮助企业以最低的预算、最快速的迭代方式验证产品版本投入市场的效果。

2.瀑布流开发实践

CODING DevOps 涵盖了从需求规划、开发计划、需求评审、开发测试、持续部署整个研发生命周期的管理,满足不同规模团队的瀑布式研发模式,让项目严格按计划流程推进,有效控制项目风险。

 

子产品和工具

1.代码托管

为开发者打造的云端便捷代码管理工具,旨在为更多的开发者带去便捷、高效的开发体验,全面支持 Git/SVN 代码托管,包括代码评审、分支管理、超大仓库等功能

2.项目管理

包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践,让项目开发过程风险可控,达到可持续性快速迭代。

3.测试管理

为测试团队提供敏捷测试工作方式,提高测试与研发团队的协同效率。提供可视化的工作视图以及数据报告,随时把控测试进度和规划。

4.持续集成

全面兼容 Jenkins 的持续集成服务,支持 Java、Python、NodeJS 等所有主流语言,并且支持 Docker 镜像的构建。支持主流的 Git 代码仓库,包括 CODING 代码托管、GitHub、GitLab 等。

5.制品库

为研发团队提供优质高效的构建物管理服务,把控构建物质量,用以管理源代码编译后的构建产物,支持 Docker、Maven、Helm、Npm 包等常见制品库类型。

6. 持续部署

用以管理软件在经过构建之后的发布和部署交付过程,可以无缝对接上游 Git 仓库、制品仓库实现全自动化部署,同时支持 Webhook 等外部对接能力,方便集成各种开发、运维工具

Part 3

在这个part中,我主要完成了组织项目启动会议中项目章程的编写。项目章程是证明项目存在的正式书面说明和证明文件。由高级管理层签署,规定项目范围,如质量、时间、成本和可交付成果的约束条件,授权项目经理分派组织资源用于项目工作。通常是项目开始后第一份正式文件。主要包括两方面内容:一是项目满足的商业需求,二是产品描述。通常也会包括对项目经理,项目工作人员,项目发起人和高层管理人员在项目中承担主要责任和任务的描述。我编写的项目章程部分大致如下:

中山大学学习资源共享平台开发项目章程

 


项目名称:中山大学学习资源共享平台
项目开始日期:2020年4月23日
项目结束日期:2020年7月25日


项目目的:为中大师生提供一个统一、便利的学习资源共享平台,建设中大全体师生的共享网盘,为教学、学习提供便利


成功标准

  • 在规定时间内交付完整产品
  • 平台能够实现基本功能:师生可以将作业、试卷、复习题等学习资料上传至平台,审核通过后能够被所有用户看到
  • 平台在中大能够有一定知名度,有稳定的用户上传和浏览学习资料

高层级需求

  • 授课老师与选课学生可在平台中创建课程并进行评价,评价内容对所有人可见,作为学生选课参考的依据
  • 为每学期在授课程建立交流渠道,师生可在平台中讨论、发布作业或资源、提交作业等,甚至可能成为中大的网课教学平台

整体项目风险

  • 需求风险:因为很多教材、学习资料(比如考研资料)的需求会随着时间发生变化,如果不能及时更新的话就会导致师生获得的资料信息不准确,即存在需求风险。
  • 计划风险:因为项目的完成时间可能会随着老师的安排发生改变,这样就会导致制定的计划改变,形成计划风险。
  • 组织和管理风险:一方面,项目的审查和决策的周期可能会比预期时间长;另一方面,项目的管理可能会随着项目人员的更替(开发人员毕业等原因)出现风险。

总体里程碑进度计划

  • 2020年4月23日——2020年5月1日:进行相关调研分析工作,收集客户需求。
  • 2020年5月1日——2020年6月15日:完成公众号服务器的基本搭建工作,并完成基本内容编写。
  • 2020年6月15日——2020年6月25日:进行内测,发现可能存在的问题并加以解决。
  • 2020年6月25日——2020年7月15日:进行公测,收集用户满意度评价,对可能存在的一些小的不足进一步进行改进。
  • 2020年7月15日——2020年7月25日:正式上线,并进行宣传推广工作。

预先批准的财务资源

  • 基本预算30000元
  • 基本开发设备:PC、服务器等

关键相关方名单

  • 中山大学教务部
  • 中山大学全体师生

Part 5

在这一部分中,我主要负责设计测试指标的度量,主要就是代码覆盖率。

代码覆盖(英语:Code coverage)是软件测试中的一种度量,描述程序中源代码被测试的比例和程度,所得比例称为代码覆盖率。以下是代码覆盖率的一些基本准则:
 

  • 函式覆盖率(Function coverage):有呼叫到程式中的每一个函式(或副程式)吗?

  • 指令覆盖率(Statement coverage):若用控制流图表示程式,有执行到控制流图中的每一个节点吗?

  • 判断覆盖率(Decision coverage):(和分支覆盖率不同)若用控制流图表示程式,有执行到控制流图中的每一个边吗?例如控制结构中所有IF指令都有执行到逻辑运算式成立及不成立的情形吗?

  • 条件覆盖率(Condition coverage):也称为谓词覆盖(predicate coverage),每一个逻辑运算式中的每一个条件(无法再分解的逻辑运算式)是否都有执行到成立及不成立的情形吗?条件覆盖率成立不表示判断覆盖率一定成立。

  • 条件/判断覆盖率(Condition/decision coverage):需同时满足判断覆盖率和条件覆盖率。

在实际操作中,我用到的质量分析工具是visual studio enterprise 2019。visual studio enterprise版本中会自带测试代码覆盖率的功能。

在点击分析所有测试的代码覆盖率后,我们就可以选择“代码覆盖率结果” 窗口中的按钮“显示代码覆盖率着色” 。 默认情况下,测试覆盖的代码以浅蓝色突出显示。

接下来我们就来看代码覆盖率的测试结果,首先是前端主要代码:

代码文件statementbranchesfunctionslines
index.js100%100%(0/0)100%(0/0)100%
resource,js100%82%100%(0/0)100%

user.js

100%87%100%(0/0)100%
signin.spec.js100%100%(0/0)100%(0/0)100%
signup.spec.js84%100%(0/0)100%(0/0)92%

然后是后端主要代码:

代码文件statementbranchesfunctionslines
asgi.py100%100%(0/0)100%(0/0)100%
settings.py100%100%(0/0)90%79%

urls.py

100%100%(0/0)100%100%
clear.py100%100%(0/0)100%100%
manage.py62%100%(0/0)100%82%
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值