2017软件工程实践总结

一、请回望暑假时的第一次作业,你对于软件工程课程的想象

1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?

回想第一次作业时对软工实践的期待,想必大多数人和我一样都是抱着“参与第一”的态度,也会跃跃欲试,但也不奢求会做出怎么样了不起的软件,总体来说软工实践基本符合开学初本人对其的期待------一次接近业界真实流程的开发体验。在这其中,有守得云开见月明的欣喜,也有挥散不去的怨声载道,我想这恰恰是这个实践最真实的意义。

  • 满意的方面:在本次软工实践方面,本人被分配在了算法组,负责识别算法的神经网络部分。之前虽然有一些在这方面的基础,但是并没有亲自参与设计和调试模型,所以在这次的任务对我来说也是一次全新而艰巨的任务。识别模型到最后顺利地完成了,也做到了自己满意的正确度。通过这次的经历,最大的收获是对模型的认识更加宏观,能够以更高的角度来看待问题。
  • 不足的方面:,虽然在这其中由于硬件条件不足的客观原因,最后的结果和最初的设想存在偏差,最直接具体的表现就是原本打算使用的近九十万张图的关于3755个字的训练集在实际训练过程中由于本机性能不够只能不断简略,最后只能选择生活中使用频率最高的500个字。最初时忽略了硬件条件的限制,是一大疏忽,也是一大收获,对以后的相关的开发提前上了一课。再则是对服务器的架设,由于对服务器的不了解和神经网络本身对环境极严格的特点,导致到最后把原来在本机训练好的模型架设在服务器上时遇到困难重重,这是在实际开发过程中的一大教训-------要充分了解开发平台和架设平台的异同和软件的兼容性。

    2)总结这门课程的实践总结和给你带来的提升:

  • 1、统计一下,你在这门软件工程实践中,完成了多少行的代码;

千行左右,这并不多,也和我的部分的特点有关,主要的调参和训练要花去大部分时间。
  • 2、软工实践的各次作业分别花了多少时间
作业时长
软件工程实践2017第一次作业3
软件工程实践2017第二次作业4
结队项目——第一次作业7
团队第一次作业——团队展示0.05
结对项目——第二次作业15
团队作业—选题报告2
个人技术博客(α)4
团队作业—需求规格说明书3
团队作业—预则立&&他山之石1
团队作业——系统设计4.5
团队作业——UML设计3
团队作业——随堂小测(同学录)8
个人作业——软件产品案例分析 7
团队项目课堂展示0.5
团队项目测试报告与用户反馈1
团队Alpha博客链接目录0.05
团队事后诸葛亮博客2
Beta冲刺博客集合贴3
个人作业——软件工程实践总结作业4
Alpha和beta阶段代码100
  • 3、哪一次作业让你印象最深刻?为什么?

    最深刻的要数α冲刺,感受到被deadline支配的恐惧和无能为力,每天在课业和deadline之间徘徊往回,当然还有和团队队友的交流协作。
  • 4、累计花了多少个小时在软工实践上?平均每周花多少个小时?
    这个我觉得真的很难说出一个准确的数字,冲刺的时候废寝忘食相信是大多数同学的常态,平均每周花35个小时。
  • 5、学习和使用的新软件;

openCV,tessract,墨刀

  • 6、学习和使用的新工具;

python相关包如tensorflow ,keras,theano
github,墨刀

  • 7、学习和掌握的新语言、新平台;

都是在之前学习的基础上(python , IDE:spyder),没有新语言和平台

  • 8、学习和掌握的新方法;

阅读论文来提升模型的性能;在stackflow上寻找解决方案。

  • 9、其他方面的提升。
    心理素质提升了好多,心理耐受力强了不是一点点

二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析

经验总结:最大的经验就是一定要在项目开始前就对项目的各方各面尽力做最全面最细节的分析和安排,修正错误的成本随着项目进度的推进不断提高,与其在后期花大量时间弥补初始的疏忽,不如在最初做最好的安排,但变更也是无法避免,从容应对也是必修课
比如在团队项目最初的设想中,我们并没有打算设立服务器,打算将模型直接嵌套进安卓中,一时的想当然导致了这样荒谬的错误,现在想来直觉得不可思议,在后期安卓和算法组结合时才发现行不通,大大滞后了项目的进度,不得不在本就紧张的安排中,花费时间和人力去架设服务器,对整个团队造成巨大的不良影响。
三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。 特别地,特别地,下一届要不要中途换队员?
---

如果你没时间或者目标研究生甚至出国,不要选实践;如果你不想从事开发相关的职业,不要选实践;如果你想高绩点,不要选实践。最后,必修让上面这些话毫无意义。
但是认真地说,软工实践给予了同学们一个全新的机会去看待自己正在学习的学科,我的建议是去尝试,只要经历了才知道适合和不适合,才能了解这个行业最核心的人员------程序员是什么样的工作节奏。这门课是好是坏,也许见仁见智,但是鼓励的是一定要去尝试。
对于中途换队员这种事,还是不要换的好,虽然可以理解老师想让我们体验职场的不测风云,但是一个初步成型的团队这样的变动无疑是巨大的,对学生来说只会徒增对项目的负担,更甚是对课的抵触。退一步来说,这样的体验对以后的职场生活并无益处,试想,一个刚入职场的程序员,是否会因为有这样的一个经历而能更好地应对突如其来的变故?面对这样的事,还能想起之前软工实践中的小小的体会?再退一步,这样的变化和实际上变故一比,实在是小巫见大巫,不值一提。综上所述,我觉得中途换队员的好处和带来的负面影响相比,实在得不偿失。。

四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?

构建之法中提到的团队发展有4个阶段,分别是萌芽阶段,磨合阶段,规范阶段和创造阶段。我觉得最后我们的团队到达了“创造阶段”。从最开始的组队,到初步的协作讨论,再到熟悉磨合,到现在,存在了几个问题:

  • 对时间的分配不够精确,导致到最后赶工现象严重
  • 对于代码的规范没能够一直坚持下去,导致交接时理解出现问题

五、怎样证明你学会了软件工程?

1)研发出符合用户需求的软件

在Alpha阶段的时候,我们已经把我们的软件推荐给我们班的人使用了,并积极收集bug反馈和建议

2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件

1225974-20171227225433566-868430798.png

3)并且通过数据展现软件是可以维护和继续发展的。

转载于:https://www.cnblogs.com/qiwenzhou/p/8120345.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/267843.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql use mysql_1、设置mysql远程访问执行mysql 命令进入mysql 命令模式,执行如下SQL代码mysql use mysql; mysql GRANT ALL ON ...

1、设置mysql远程访问执行mysql 命令进入mysql 命令模式,执行如下SQL代码mysql> use mysql;mysql> GRANT ALL ON *.* TO admin% IDENTIFIED BY admin WITH GRANT OPTION;# 这句话的意思 ,允许任何IP地址(上面的 % 就是这个意思)的电脑 用admin帐户…

HTTP 头部解释,HTTP 头部详细分析,最全HTTP头部信息

HTTP 头部解释 1. Accept:告诉WEB服务器自己接受什么介质类型,*/* 表示任何类型,type/* 表示该类型下的所有子类型,type/sub-type。2. Accept-Charset: 浏览器申明自己接收的字符集Accept-Encoding: 浏览…

shell编辑crontab任务

crontab是Linux下执行定时任务的工具,之前偶尔需要用到时都是通过执行crontab -e命令或者通过root身份直接编辑/etc/cron.*/下的文件来添加定时任务。这段时间遇到了需要通过shell来自动添加或删除crontab的需求。在shell中无法通过crontab -e来与crontab编辑器交互…

条码生成代码(Code39码)

zryou 的 条码生成代码(Code39码)『Code 39条形码介绍』 code39条码能表示字母、数字和其它一些符号共43个字符:A -Z, 0-9, -.$/ %, space等,其主要特点如下:  ◆条码的长度是可变化的   ◆通常用“*”号作为起始、终止符   ◆校验码不…

mysql那些事(6) WHERE条件 字符串的引号

前言:所谓的坑,两个意思,一个是软件本身的bug,一个是使用者常犯的错误。 phper在日常开发中经常和mysql打交道。特别是在没有分层的中小应用中,phper开发要关注sql语句的实现。 入正题,上建表语句&#xff…

mysql延迟关联为什么快_MySQL 覆盖索引与延迟关联详解

本期来谈谈覆盖索引与延迟关联。在此之前,我们先简单建立一个订单表 Orders 用于举例说明。表中共包含 3 个字段:idintproduct_idnameCREATETABLEordersidint10NOTNULLCOMMENT订单 IDproduct_idint10DEFAULTNULLCOMMENT商品 IDnamevarchar255CHARACTERSE…

学一下Unix/C啊

发信人: Winmine (挖地雷), 信区: Career_Upgrade标 题: Oracle(原bea)研发中心Tuxedo组,招Unix/C人才发信站: 水木社区 (Mon Apr 11 13:28:06 2011), 站内工作地点在中关村软件园,西二旗附近。要求至少2年相关工作经验----但一般来说,除非您…

Qt使用信号与槽时出现的错误“Incompatible sender/receiver arguments”

在学习使用qt的过程中,没有好好的去了解信号与槽的机制,导致出现了这么一段代码: connect(timer1, SIGNAL(timeout()), this, SLOT(exeMonitor(QString))); 在编译时没有出现错误,但当触发该信号时输出框显示: 即&…

mysql通过函数完成10的阶乘_请使用函数的递归调用编写求阶乘的函数,并计算1!+2!+3!+4!+5!...

点击查看请使用函数的递归调用编写求阶乘的函数,并计算1!+2!+3!+4!+5!具体信息 答:include "stdio.h" int fac(int k) { if(k==1) return 1; else return k*fac(k-1); }/*递归求阶乘*/ void main() { int i=1; for(i;i=5;i++) { fac(i);/*调用函数计算阶乘*/…

《大话数据结构》第9章 排序 9.3 冒泡排序(上)

9.3.1 最简单排序实现 无论你学习哪种编程语言,在学到循环和数组时,通常都会介绍一种排序算法来作为例子,而这个算法一般就是冒泡排序。并不是它的名称很好听,而是说这个算法的思路最简单,最容易理解。因此&…

简易js模板引擎

前阵子参考别人的文章自己理解了一下模板引擎的实现&#xff0c;虽然是照着敲了一边&#xff0c;但是自己也加深了理解吧。 原文链接 自己的代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><ti…

五款常用邮件管理系统评测

以邮件为主要沟通媒介的外贸企业&#xff0c;对邮件的依赖性可以说已经达到不能或缺的地步。软件厂商们深谙这一定律&#xff0c;为外贸企业提供了种类庞大的软件系统以供选择。以下笔者抽出其中五款使用较为普遍的邮件管理系统&#xff0c;根据其性能、系统稳定性、性价比等方…

for each java_Java 实例 - for 和 foreach循环使用

Java 实例 - for 和 foreach循环使用for 语句比较简单&#xff0c;用于循环数据。for循环执行的次数是在执行前就确定的。语法格式如下&#xff1a;for(初始化; 布尔表达式; 更新) {//代码语句}foreach语句是java5的新特征之一&#xff0c;在遍历数组、集合方面&#xff0c;for…

EditPlus 注册码在线生成

虽然editplus现在不常用&#xff0c;但是它轻便&#xff0c;我还是很喜欢的&#xff0c;推荐一个注册码生成器&#xff0c;真是好好用 http://www.jb51.net/tools/editplus/ 点击链接输入自己想要的用户名&#xff0c;就能自动生成了&#xff0c;相当方便。转载于:https://www.…

如何启用 Ubuntu 中的 root 帐号

执行下面的操作&#xff1a; sudo passwd root 此命令将会重新设置 root 的密码&#xff0c;按照提示输入新的密码&#xff0c;并加以确认。 之后&#xff0c;重启系统时&#xff0c;就可以用 root 登录了。 如果你想要禁用 root 帐号&#xff0c;则执行下列命令&#xff1a; …

java代码块的定义_Java几种代码块的定义与常见问题

Java几种代码块的定义与常见问题代码块&#xff0c;通俗的说就是用一对“{}”括起来的一段代码&#xff0c;代码块可以根据位置分为以下几类&#xff1a;局部代码块&#xff1a;局部代码块就是指直接在方法或是语句中定义的代码块&#xff0c;请看如下范例&#xff1a;package …

gradle各版本下载地址

gradle各版本下载地址 原创 2016年08月16日 11:17:25标签&#xff1a;gradle更新 /android studio59713gradle各版本下载地址&#xff1a;http://services.gradle.org/distributions 以前都是手动下载gradle的文件&#xff0c;然后修改的&#xff0c;今天想从一些博客网站上下载…

SUSE中LVM的使用心得

一、服务器分区规划(按100个商务群规划&#xff0c;可扩展) myvg卷组容量&#xff0d;&#xff0d;700G(硬盘空间的80%左右) /boot 100M 用于系统启用需要的空间 / 20G 用于放置一些系统用户文件 /usr 150G    用于tomcat&#xff1a;发布程序…

thinkphp 5数据库操作

1、原生sql $optionsDb::table(__MALL_POST__) ->alias(m) ->join(__MALL_CATEGORY_VALUE__ v,m.id v.itemid) ->join(__MALL_CATEGORY_OPTION__ o,v.oid o.oid) ->where(m.id,$articleId) ->select(); 参见 &#xff1a;https://www.kancloud.cn/manual/thin…

使用CRT调试内存分配堆来找出未释放的内存空间

忘记释放已经分配的内存是一种常见的编程错误&#xff0c;当然我指的是在C编程当中&#xff0c;例如下面的代码里面就存在一个忘记释放内存的编程错误。我个人觉得忘记释放内存的编程错误是不可避免的&#xff0c;毕竟程序员都是人&#xff0c;困了&#xff0c;心情不好了&…