开源软件第三次作业

项目题目

开源软件供应链安全风险分析

项目组成员

郭一帆 19374017

李勃伽 19376323

石辛诚 19375126

项目任务

经过调研和讨论,我们确定了该项目的任务为:分析npm供应链中的安全风险

初步方案

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

  • 前端

    • 根据初步调研的结果,我们认为在该项目中前端主要负责将安全风险展示出来,通过图、表以及一些可交互的控件实现数据可视化。

  • 后端

    • 数据爬取:npm官方提供了一些API以供获取npm管理的所有包的metadata以及每个包的详细信息。

    • 数据清洗:由于通过官方的API获取的数据可能无法直接用于我们的模型,而且其中也可能存在一些错误或者无用的信息,因此需要将这些数据整理成我们需要的格式。

    • 数据存储:考虑到npm中包的数量会不断增加,我们不可能每次将数据全部爬取后再全部处理一遍。对于已处理的数据我们可以将其存储起来,同时也能提高前后端交互时的响应速率。目前考虑的数据存储方案包括Mysql关系型数据库以及类似于npm生成的package.json格式的json文件,具体选择还有待于进一步调研。

    • 数据处理:根据初步调研的结果,我们计划选取六个方面来评估npm供应链中的安全风险,并建立相应的风险评估模型,关于风险评估模型的建立,目前有两种考虑,具体选择哪种方式还有待进一步调研:

  • 前后端交互

    • 选择某个后端框架将数据处理得到的结果提供给前端。

任务分工

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

前端:石辛诚

数据爬取:李勃伽

数据清洗和存储:郭一帆

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

时间规划

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

  • 在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期间完成项目的收尾工作,包括技能认可、实践总结等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值