开源软件大作业

作业和课程的关系

https://bbs.csdn.net/topics/608463896

项目题目

https://github.com/Re-Li-fe/OSS-Security-Risk-Analysis
我们组选择的题目是开源创新类中的开源软件供应链安全风险分析,由于还没有开始开发,仓库目前为空。

项目组成员

郭一帆 19374017
李勃伽 19376323
石辛诚 19375126

初步方案

我们计划搭建一个具有前后端的完整的系统,初步规划如下:

  • 前端
    • 根据初步调研的结果,我们认为在该项目中前端主要负责将安全风险展示出来,通过图、表以及一些可交互的控件实现数据可视化。
  • 后端
    • 数据爬取:npm官方提供了一些API以供获取npm管理的所有包的metadata以及每个包的详细信息。
    • 数据清洗:由于通过官方的API获取的数据可能无法直接用于我们的模型,而且其中也可能存在一些错误或者无用的信息,因此需要将这些数据整理成我们需要的格式。
    • 数据存储:考虑到npm中包的数量会不断增加,我们不可能每次将数据全部爬取后再全部处理一遍。对于已处理的数据我们可以将其存储起来,同时也能提高前后端交互时的响应速率。目前考虑的数据存储方案包括Mysql关系型数据库以及类似于npm生成的package.json格式的json文件,具体选择还有待于进一步调研。
    • 数据处理:根据初步调研的结果,我们计划选取六个方面来评估npm供应链中的安全风险,并建立相应的风险评估模型,关于风险评估模型的建立,目前有两种考虑,具体选择哪种方式还有待进一步调研:
      • 一是学习参考资料What are Weak Links in thenpm Supply Chain?中的方法独立建立风险评估模型
      • 二是在我们找到的一个开源项目OpenSCA-CLI的基础上进行二次开发
  • 前后端交互
    • 选择某个后端框架将数据处理得到的结果提供给前端。

任务分工

考虑到前端、数据爬取、数据清洗三个工作的划分比较明确,因此分别由三个成员完成。

前端:石辛诚

数据爬取:李勃伽

数据清洗和存储:郭一帆

由于数据处理的具体方案还没有确定,具体分析哪六个方面的风险也没有确定,我们假设不同方面的风险评估之间关联程度不大,每个人可以单独负责某个方面的风险评估,因此初步的分工定为每个成员负责两个方面的评估以及对应的接口实现。

时间规划

我们将两次答辩的时间视为比较重要的时间节点,并据此制定我们的计划。由于时间较为紧迫,为了保证开发的高效进行,我们计划在每周三和周六开两次组会。

甘特图如下:
开源软件大作业_第1张图片
详细说明如下:

  • 在11.2号的组会中确定六个风险评估方面以及数据处理的技术方案,并在11.5号前发布第一版较为详细的开发计划和设计手册,第一版的开发持续到11.16号。
  • 在11.9号的组会之前完成数据爬取、数据清洗工作,前端要实现一个静态页面的demo,此版本可以作为v0.1.0发布
  • 在11.12前实现至少一个方面风险的数据处理
  • 在11.16前能够完成至少一个方面风险的数据处理和前后端交互,发布v1.0.0版本。
  • 11.16答辩过后开始邀请一些同学使用和发布issue,针对答辩过程中老师的建议和同学们提出的issue进行修改,暂时无法完成的任务可以写入下一版的开发计划。
  • 在11.19前完成比较简单的issue的修复,发布v1.0.1版本,并按计划进入下一步开发。
  • 11.19-11.30期间继续开发,并保持每周两次组会以统一进度,争取在11.30前完成开发,发布v1.1.0版本。
  • 11.30后继续邀请同学和老师使用并提出issue,针对issue做最后一次修复。
  • 12.7前完成有价值且可实现的issue的修复,并发布v1.1.1版本作为参与最终答辩的版本,在此期间同时完成实现手册和用户手册的撰写。
  • 12.7-12.14期间完成项目的收尾工作,包括技能认可、实践总结等。

你可能感兴趣的:(vue.js,python)