软件工程结课有感

学生张涵瑞分享了学习软件工程的心得体会,强调了需求分析、项目管理、编程实践(如C语言和C#)、SQL使用以及团队协作的重要性。通过实际项目,他学会了如何进行有效的需求扩展和团队协作,为未来职业发展打下基础。
摘要由CSDN通过智能技术生成

学生:张涵瑞(M23385408)

       转瞬之间,软件工程这门课就要结课了,回想从刚开始完全不理解软件开发流程的小白,到如今也可以和队友用接近工程化的方法自己开发程序、系统,感受颇多。通过上软件工程这门课,使我充分的认识到软件的开发需要团队密切的协作。在结课项目中,我和王鼎盛、孟世栋组成了一个三人小组,虽然小组成员并不算多,但是通过大家的密切配合,在自己擅长的领域贡献自己的力量,才能够使得我们的项目能够高效完成。

一、课程要点及心得体会:

       1、需求分析:在学习软件工程这门课程期间,做了如四则运算、判断nextday项目以及最后的飞花令系统。在实现这些项目之前,都会首先考虑有哪些需求,怎样的需求可以使得整个项目锦上添花,例如最后的飞花令系统中,我们小组内部重复交流意见,在完成课程规定的需求基础上,增加了防沉迷、查看历史得分记录、赋予用户评级等功能,使得整个项目更加饱满。也使我熟悉了需求获取、需求分析等阶段,让我对整体的需求分析有了更加深刻的认识

       2、软件项目管理:整个软件工程课程所布置的作业,都需要我们进行项目管理,如制定项目计划、分配任务、跟踪进度等。还是以这次结课作业为例,我们小组是所有小组里人数最少的,并且由于组内只有我是计算机专业,所以我承担了所有编程任务,即使这样,在项目实施初期,正是由于我们组内进行了合理的分工,使我能够专注于项目编程,不用过多的担心文档编写、需求分析等,正是因此,在整个项目实施中个人感觉比较轻松。同时,在项目实施初期,我们组内对项目的整体进度做了大致的规划。如利用前两个周写好前端界面,第三个周重点实现数据库搭建以及后端对数据库的调用,后面着重于完成后端代码。正是由于井然有序的计划,是我们能够按部就班的完成任务进度,并不会集中编程,像是应付差事,反而会感觉乐在其中。

       3、软件工程实践:抛开软件工程的个人作业之外,几乎所有的结对编程项目,我都负责绝大多数的编程任务,这使我受益匪浅。在四则元素的项目中,代码主要使用C语言编写,收获最大的是更加熟悉了C语言的流数据处理、随机数生成、以及软件测试代码的编写。在飞花令系统中,使用Visual Studio 开发工具,所有的后端代码均使用C#编写。其中收获最大的是SQL语言的使用。万事开头难,在整个项目执行过程中,对我个人而言最困难的是如何将Visual Studio链接到数据库,后面通过CSDN等资源的各方查找,才逐渐摸到使用连接字符串的门路,并最终成功解决。其次由于很少编写SQL代码,对于本科所学内容有所遗忘,通过飞花令系统,使我重新温习了对SQL语言的各项操作,受益匪浅。

       4、软件测试:在团队协作中,我主要是对单元测试以及验收测试。通过测试不免发现很多问题,如四则运算项目中,一开始的编程并没有发现被除数为0时的异常、结果数的截断处理、操作符的取余运算等诸多问题,正是通过软件测试,使我发现了这些问题并改正,再保证项目功能完善的基础上,也提升了我的编程经验。

二、团队合作:

       首先要感谢本次结课项目的队友,正是因为大家,才使得我们这个团队能够克服困难,最终成功实现项目。在整个项目进度中,两位队友对于分配的工作没有任何怨言、互相帮助、互相鼓励,这给予了我极大的动力。

       其次,整个项目开发途中,首先大家讨论了做什么项目,一开始提出了图书管理系统等很多提议,但最终大家觉得要在基于实现的前提下,尽可能的具有一些挑战,最终才选择了飞花令这个系统。其次是需求分析,还记得在课上,我们组当时的需求分析被老师提出了很多问题,最主要的是功能太过重复。课后大家也积极构思功能需求,并最终想出了设置等级头衔、防沉迷、个人中心等新功能。在项目实施阶段,由于课程原因,我大多数是在周四、周五晚上和我的两位队友汇报本周的项目进程以及具体功能的实现,二位队友在获得信息后,晚上加班完成文档的编写,效率十分之高,所负责的工作也是一丝不苟的高质量完成,十分佩服两位队友所具备的责任心。

       最后,由于大家周内课程都比较多,在整个项目实施过程中也遇到了众多困难。其中最主要的困难是大家课程不一样,个人空闲时间不同,这使得我们小组能够聚在一起讨论的时间并不多。这使得我们组不得不在晚上,用个人的休息时间进行讨论以及后续工作的完成。虽然过程很艰难,但是大家互相帮助,互相鼓励,分担压力,使得我们组能够比较及时、保证质量的完成每周的课程作业,在这里再次感谢二位队友的付出。

四、总结和展望:

       展望未来,由于本人本科、研究生期间均为计算机专业,未来的就业难免会面对各种工程项目的问题,希望通过软件课程这门课,能够让我入门,并最终能够成为一名合格的软件工程师。也希望未来嫩巩固更多的参与团队合作的项目,共同创作出更加优秀的产品。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1 目标检测的定义 目标检测(Object Detection)的任务是找出图像中所有感兴趣的目标(物体),确定它们的类别和位置,是计算机视觉领域的核心问题之一。由于各类物体有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具有挑战性的问题。 目标检测任务可分为两个关键的子任务,目标定位和目标分类。首先检测图像中目标的位置(目标定位),然后给出每个目标的具体类别(目标分类)。输出结果是一个边界框(称为Bounding-box,一般形式为(x1,y1,x2,y2),表示框的左上角坐标和右下角坐标),一个置信度分数(Confidence Score),表示边界框中是否包含检测对象的概率和各个类别的概率(首先得到类别概率,经过Softmax可得到类别标签)。 1.1 Two stage方法 目前主流的基于深度学习的目标检测算法主要分为两类:Two stage和One stage。Two stage方法将目标检测过程分为两个阶段。第一个阶段是 Region Proposal 生成阶段,主要用于生成潜在的目标候选框(Bounding-box proposals)。这个阶段通常使用卷积神经网络(CNN)从输入图像中提取特征,然后通过一些技巧(如选择性搜索)来生成候选框。第二个阶段是分类和位置精修阶段,将第一个阶段生成的候选框输入到另一个 CNN 中进行分类,并根据分类结果对候选框的位置进行微调。Two stage 方法的优点是准确度较高,缺点是速度相对较慢。 常见Tow stage目标检测算法有:R-CNN系列、SPPNet等。 1.2 One stage方法 One stage方法直接利用模型提取特征值,并利用这些特征值进行目标的分类和定位,不需要生成Region Proposal。这种方法的优点是速度快,因为省略了Region Proposal生成的过程。One stage方法的缺点是准确度相对较低,因为它没有对潜在的目标进行预先筛选。 常见的One stage目标检测算法有:YOLO系列、SSD系列和RetinaNet等。 2 常见名词解释 2.1 NMS(Non-Maximum Suppression) 目标检测模型一般会给出目标的多个预测边界框,对成百上千的预测边界框都进行调整肯定是不可行的,需要对这些结果先进行一个大体的挑选。NMS称为非极大值抑制,作用是从众多预测边界框中挑选出最具代表性的结果,这样可以加快算法效率,其主要流程如下: 设定一个置信度分数阈值,将置信度分数小于阈值的直接过滤掉 将剩下框的置信度分数从大到小排序,选中值最大的框 遍历其余的框,如果和当前框的重叠面积(IOU)大于设定的阈值(一般为0.7),就将框删除(超过设定阈值,认为两个框的里面的物体属于同一个类别) 从未处理的框中继续选一个置信度分数最大的,重复上述过程,直至所有框处理完毕 2.2 IoU(Intersection over Union) 定义了两个边界框的重叠度,当预测边界框和真实边界框差异很小时,或重叠度很大时,表示模型产生的预测边界框很准确。边界框A、B的IOU计算公式为: 2.3 mAP(mean Average Precision) mAP即均值平均精度,是评估目标检测模型效果的最重要指标,这个值介于0到1之间,且越大越好。mAP是AP(Average Precision)的平均值,那么首先需要了解AP的概念。想要了解AP的概念,还要首先了解目标检测中Precision和Recall的概念。 首先我们设置置信度阈值(Confidence Threshold)和IoU阈值(一般设置为0.5,也会衡量0.75以及0.9的mAP值): 当一个预测边界框被认为是True Positive(TP)时,需要同时满足下面三个条件: Confidence Score > Confidence Threshold 预测类别匹配真实值(Ground truth)的类别 预测边界框的IoU大于设定的IoU阈值 不满足条件2或条件3,则认为是False Positive(FP)。当对应同一个真值有多个预测结果时,只有最高置信度分数的预测结果被认为是True Positive,其余被认为是False Positive。 Precision和Recall的概念如下图所示: Precision表示TP与预测边界框数量的比值 Recall表示TP与真实边界框数量的比值 改变不同的置信度阈值,可以获得多组Precision和Recall,Recall放X轴,Precision放Y轴,可以画出一个Precision-Recall曲线,简称P-R
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值