创新工程实践营项目汇报内容 - bettermorn/ACMWDevHubPPT GitHub Wiki

时间:15分钟

学习目标

    1. 掌握产品设计和开发的知识和方法;
    1. 熟悉项目管理知识体系以及项目管理的基本方法;
    1. 掌握项目管理中沟通管理和风险管理的主要内容、分析工具;
    1. 熟悉敏捷开发的职能分配、具体活动和产出成果;
    1. 应用敏捷开发方法完成一次软件开发迭代活动;
    1. 掌握软件开发的设计、编码和测试流程,利用软件开发工具如IDE(包括质量检查相关插件工具)、团队协作工具(git/github)和知识技能完成软件作品;
    1. 掌握软件开发中获取工具和知识、建立自己知识库的基本方法; 参考以下内容 https://github.com/bettermorn/ACMWDevHubPPT/raw/master/UploadImg/%E8%A1%A84.1%E8%AE%A1%E7%AE%97%E7%9F%A5%E8%AF%86%E8%A6%81%E7%B4%A0.png

https://github.com/bettermorn/ACMWDevHubPPT/raw/master/UploadImg/%E8%A1%A8%204.2%20%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86%E5%92%8C%E4%B8%93%E4%B8%9A%E7%9F%A5%E8%AF%86%E8%A6%81%E7%B4%A0.png

https://github.com/bettermorn/ACMWDevHubPPT/blob/master/UploadImg/%E8%A1%A8%204.3%20%E8%AE%A4%E7%9F%A5%E6%8A%80%E8%83%BD.png

https://github.com/bettermorn/ACMWDevHubPPT/raw/master/UploadImg/%E8%A1%A8%204.4%20%E5%93%81%E8%A1%8C%E7%BB%84%E6%88%90%E5%85%83%E7%B4%A0.png

考核内容

第一部分:用幻灯片展示产品介绍 8分钟

1.产品设计

1.1 产品使命、口号和策略

1.1.1 使命
1.1.2 使命口号
1.1.3 目标用户
1.1.4 如何获得用户
1.1.5 团队优势
1.1.6 如何做到差异化

1.2 产品定义

产品描述的最简单模板

对于                 (目标用户)
他们                 (诉求和机会)
产品/项目             是一个(产品/项目)类别
它能够               (关键特性,优势和客户为什么选择的理由)
不同于               (竞争对手的产品)
我们的产品/项目      (关键的差异化特性)
1.2.1 解决的问题
1.2.2 对客户的价值(采用用户故事描述,包含用户、活动和价值三个要素)

作为(用户),完成了(活动),带来什么(价值) 举例:作为一个“网站管理员”,我想要“统计每天有多少人访问了我的网站”,以便于“我的赞助商了解我的网站会给他们带来什么收益。”需要注意的是用户故事不能够使用技术语言来描述,要使用用户可以理解的业务语言来描述。参考链接 http://www.scrumcn.com/agile/scrum/4823.html

1.2.3 解决方案:网站、微信小程序或者Android应用

2.产品设计应用的原则

参考【实战技能】产品设计小文集锦 写出团队应用的产品设计原则

3.产品实现

3.1 用户体验设计考虑的因素

3.2 产品所用编程语言及IDE、平台、框架等,写明版本号,可用表格表示,并写在项目的readme.md中

注意:技术选型很重要,选择适合应用的框架,不要太重,也不要太轻。 解释技术选型的原因。可参考 视频 【架构师】软件系统技术选型标准

条目名称 条目内容 版本号 备注
程序设计语言 Java JDK 17.0.10
IDE IntelliJ IDEA 2023.2.4 (Community Edition)
Web应用框架 Spring Boot 3.3.0
平台 Mendix低代码平台

3.3 代码仓库链接及代码提交历史截图

包括每个人提交的次数截图,参考链接 https://github.com/[accountname]/[reponame]/pulse 注意:理解git和github代码仓库原理 TDengine pulse

3.4 安装、设计、开发中遇到的主要问题及解决方法汇总,可用表格表示,并用md或者wiki存储在项目仓库中

问题类别 问题名称 发生原因 解决办法

3.5 软件概要设计

https://github.com/bettermorn/ACMWDevHubPPT/blob/master/UploadImg/%E8%AE%BE%E8%AE%A1%E6%96%87%E6%A1%A3%E7%9B%B8%E5%85%B3%E5%9B%BE%E7%89%87.png 设计文档图片

3.5.0 使用工具

画图工具 https://github.com/bettermorn/ACMWDevHubPPT/wiki/%E7%94%BB%E5%9B%BE%E5%B7%A5%E5%85%B7

3.5.1 系统架构图,如Web应用的三层架构

注意:通常架构图从底向上绘制较普遍,从左到右较少,可根据实际情况选择 可参考 Django系统架构图1 Django系统架构图2

3.5.2 基础设施图,如只有一台服务器,可不画。
3.5.3 如果使用数据分析或者大数据/人工智能算法模型设计方法/区块链技术/数字孪生(虚拟现实XR)应用,请说明。
  • 算法模型的名称,选择算法模型的原因
  • 比较多种算法模型的实际效果,包括理论和指标
  • 列出参考文献和开源代码仓库链接
3.5.4 数据库设计

关系型数据库包括E-R图即可,可使用数据库工具基于已有的数据库表逆向生成。如有图数据库,MongDB等NoSQL数据库,也需要说明。

3.5.5 接口设计:重要的业务功能(可与用户故事对应)和工具类设计
接口名称 接口功能 输入变量或对象 输出对象 备注
payAli 调用Alipay接口 inputObj1,inputObj2,。。。 outputobj1,outputobj2,。。。 需向支付宝申请付款账号

列出方法描述,包括方法名,输入变量(如果有),返回值(如果有),可参考 微信支付API统一下单 https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1

  • 工具 Swagger https://swagger.io/
  • Java服务器端设计,例如Spring MVC,可使用JavaDoc自动生成,也可使用APIFox自动生成
3.5.6 前端设计,例如 使用jQueryBootStrap或者React、Vue.js框架等

3.6 软件质量

截图展示相应内容

3.6.1 质量控制和保证方法
  • 代码需要增加必要的日志
  • 代码需要增加异常和错误处理
3.6.2 质量工具使用
  • 展示Pylint的Python代码语义分析结果。 参考https://code.visualstudio.com/docs/python/linting, Pylint For VS Code, Pylint Plugin for IntelliJ IDEA & PyCharm, 注意:语义分析能突出显示Python 源代码中的语义和风格问题,通常能帮助识别并纠正可能导致错误的细微编程错误或编码实践。例如,语义检查可以检测到未定义变量的使用、未定义函数的调用、缺失的括号,甚至更细微的问题,如试图重新定义内置类型或函数。语法检查有别于格式化,因为语法检查分析的是代码的运行方式并检测错误,而格式化只是重构代码的外观。
  • Python代码复杂度:
  • Java代码复杂度,展示插件metricsreloaded的运行结果,也可安装插件CodeMetrics查看复杂度

3.7 代码统计

截图展示相应内容

  • Jetbrain系列IDE可以使用Statistic插件
  • VS Code可用VS Code Counter插件
模块数

例如代码的文件目录、包等。

行数

可以分不同程序语言说明。通常插件会完成此功能。

第二部分:展示作品功能 2分钟

在本机运行作品即可,展示主要功能,逻辑清晰,功能完整。

第三部分:回答评委问题 5分钟