系统设计与分析个人报告16340147

项目概述

我们小组开发的是一个挣闲钱的web应用平台,主要为校内的同学提供帮忙填写问卷,帮忙拿快递的需求提供一个便捷的平台。整个项目从3月份开始开发,我们整体的开发过程规划应该是做的比较好的,一直到项目结束进度都控制的还不错,没有出现赶工的情况,只不过在开发过程中还是遇到了很多关于编码的细节问题,也遇到了很多的bug,但是经过我们小组的共同讨论,这些问题到最后基本都解决的很不错。

个人贡献概述

我在这次的项目中主要负责后端api的设计和编码,以及初期数据库的设计。这可以说是我第一次开发实际能投入使用的后端的项目,之前我进行的基本都是客户端的开发,比如安卓和UWP等。这次我选用的开发语言是golang,原因主要是实习所在公司需要用这个语言,所以这个项目也就成为了我一个很好的练手机会。这次我采用的是一个叫beego的web框架,这个框架的好处是它是golang发展初期就开发出的一个框架,所以相比其他框架来说要比较成熟,bug比较少,可以避免很多没有必要的麻烦,其次beego还提供了一个bee工具,可以帮忙快速构建一个api应用,主要是可以快速生成目录结构,并且可以生成一些很常用的代码,比如增删改查等,其还提供了level,可以仅生成model或者controller等,我们的项目的model中有一部分代码就是bee工具自动生成的(当然一些比较复杂的查询还是要自己写)。除此之外,beego还集成了orm,orm可以把数据库内的信息映射成model中的一个个对象,然后我们的代码就可以直接通过和这些对象交互来实现增删改查,所以在我们的代码中基本看不到任何的sql语句,因为都是对对象的操作。最后还有一个原因就是我在学习golang的时候就是用的astaxie的教程,然后beego就是他写的,所以就被安利了。

个人主要完成工作

我完成的工作主要有以下几点:

  • 数据库的初步设计以及在云服务器上的配置
  • 后台整体框架的搭建
  • 用户注册登录api设计与实现
  • 包裹订单提交、接单、确认完成的api设计与实现
  • 问卷提交、填写api的设计与实现
  • 给各个api添加session认证
  • 用swagger生成api文档

PSP 2.1 统计如下表:

Personal Software Process Stages预估耗时(小时)实际耗时(小时)
planning计划1.51
estimate估计任务所需时间0.40.3
development开发3632
analysis需求分析11
design spec生成设计文档1.51.5
design review设计复审0.51
coding standard代码规范21.5
design具体设计22
coding具体编码9080
code review代码复审21
test测试1510
reporting报告44
test report测试报告11.5
size mesurement计算工作量11
Postmortem & Process Improvement Plan事后总结并提出过程改进计划1.52
合计158.4139.8

和组员的合作

我个人和组员们的交流应该算是比较少的,我只是负责api的基础设计编写,所以一开始主要是和组员们沟通好RESTFul API具体的设计,然后沟通好数据库的字段,让前端的同学统一按照数据库的具体字段名来和后端进行交互。然后和前端对接,协助前端进行debug的工作主要是梁庭同学做的。这样分工的主要原因是我提前学习了golang,所以语言这方面我比较熟悉,所以大部分的代码量还是要我来完成,而梁庭同学和前端开发的同学因为是同一个寝室,沟通起来比较方便,因此就承担了和前端对接以及debug的工作。

存在的不足

这次项目因为是我的第一次后端开发项目,所以不足的地方肯定是有的,首先在选用框架上还是不够谨慎,选用beego的原因我在报告开头已经说过,但是实际使用过程中发现这个东西还是有很多的不足,比如beego的orm是不支持联合主键的,这样就导致我们的数据库进行过一次重构(因为之前有部分表是用了联合主键的),还有就是beego的orm如果是有外键的话在对象上是体现为指针的,而这个指针指向的对象又只有主键是对的,其他的属性如果不重新调用接口获取的话仍然会是零值,就很多此一举,而且在实际编码的时候因为采用了指针,所以就不能直接用Unmashal函数来把前端发过来的json字符串直接解析到对象上面,而是要一个字段一个字段去填,这样一来反而不如自己设计的不含指针的model方便,这样beego的orm在提供了不用写sql语句这一便利性的同时又增加了一些麻烦,导致代码还是有一些冗余,然而因为开发工作已经进行了比较多了,所以就没有临时再去换框架。

还有就是在开发过程中我总是忘记去填写小组的看板,导致在看板上我并没有多少贡献,这样也不利于其他组员了解我的开发进度,这一点在以后的多人协作项目中还是要养成填看板的良好习惯。

而且在开发过程中我也没有去写一些博客来记录开发过程中遇到的一些问题,这也不利于日后总结经验教训。

贡献截图(我是52hz11)

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值