• 软件工程实践总结-个人作业


    理想与现实

    • 1.在熬夜的时候,总感觉软工实践还有好久,以及这些代码怎么感觉永远都敲不完,没想到一下子软工课程就结束了,对比开学初的目标,我成功地了解了软件开发的整个流程。也坚持比较圆满地完成了自己所做的部分,虽然中途遇到了很多从未遇见过的问题,但是也凭借百度的神奇力量都解决了。还有开学的时候本来准备平时多投入时间争取不熬夜。。但是还是通宵了2次,每天都熬到3点,不过确实互相之间交流学到了很多技术。

    • 2.这学期学习和使用到的新软件还是挺多的
      android studio:安卓开发,这学期因为多人合作的关系,了解到了很多这款工具的实用功能,特别是它的localhistory,和compare with branch 的功能真的是太好用了,我都不用担心自己的代码什么时候被自己弄没了,或者pull同学的代码的时候,弄出了一大堆的问题,一下select version就能重置版本,还能双屏对照不同。好用的地方太多了就不多说了
      GitHub:开源项目托管工具。配合android studio的图形化操作界面,简直好用到不行,

    • 3.没掌握什么新语言,复习了一下java的语言,还有熟悉了一下GitHub的命令行语句。

    • 4.代码部分,我写了10多个actvity,还有几个工具类,以及好多的xml文件。每个actvity都有4,5百行吧。所以3000行代码是有的。

    • 5.学习掌握的新方法有很多,大部分都是安卓开发中如何实现功能。

    1.怎么实现从手机文件管理器中导入文件

    2.关于数据传输的jasondata的使用。

    3.toobar和material searchView配合使用作出酷炫的搜索效果。

    写下属于自己的人月神话

    因为在alpha版本的时候吃了亏,导致团队成绩不好。组长决定每晚都一起在活动室敲代码。虽然很累,但是交流确实方便,特别是数据库对接的时候。我一对接失败,就会找后台的家俊问下哪里格式是否出错,改进bug的速度确实大大提高了。 还有因为都聚到一起,有什么经验或者代码优化的地方,一提出来,我们头脑风暴一下,是舍是留一下子就得出结果,学到了很多的东西。
    项目实践中给我的最大的经验就是,要学会如何有效的处理自己的错误给团队造成的影响。起先阶段GitHub使用的不熟,上传代码的时候,无视提示将出错的代码上传到coding.net上面去,导致队员更新代码下来的时候,出了R文件找不到的错误。这个问题虽小,且被我解决了,但是还是对团队的工作造成了挺大的影响。

    对下一届的建议

    如果你想要刺激,选软工准没错。

    • 1.同学们互相之间应该要好好交流。
    • 2.有问题应该及时提出来,一起及时解决
    • 3.要把开发周期延长,提早弄,不然熬夜有的好受的

    团队经历的阶段

    • 萌芽:本来是准备做个打赌app,但是由于想不到好的创意,以及更好的功能,最后放弃了,后来选了导师互选系统。

    • 磨合:,我们讨论,整合用户需求的功能,一系列头脑风暴后,PM给出了原型,我负责代码规范,少铭给出了框架,数据库由家俊和智强负责。在Alpha版本中,我们由于工作量太大,有很多功能没有实现,特别是自己的部分,感觉自己尽力了,但能力不够,加上自己工作量确实有点多,所以就不是做的很好。

    • 规范:这一部分做的不是很好,因为我们开发基本功能所需的周期太长了,剩余提供给我们完善改进功能的时间少之又少,虽然这么说,那段熬夜的时间总算优化了很大一部分功能。

    • 创造:最后这个阶段,当我重新审视自己所做的部分功能时,也算是还行,特别是使用一些异步类加载数据时,加载数据的方法,以及等待加载页面,还有那些搜索框的实现都特别满意。

    阅读软件工程中关于代码质量的的经典论文,从下列文献中选择一篇或若干篇,结合自己的实际做一个阅读笔记:

    粗略看了一下论文,感觉自己的代码规范简直是一塌糊涂,如果我是其他人,看到自己的代码,都会忍不住吐槽:这什么玩意?注释呢?面向对象的理论的使用呢?还有为什么每个actvity都是这么又臭又长?还有方法,变量命名,这英语水平一定没过6级!逻辑跳转怎么这么混乱?

    以后敲代码需要做到:
    在敲代码前都应先写注释:
    • 1.自己准备在这个java文件中实现哪些功能。
    • 2.需要用到的参数,需要注意的地方,细节。
    • 3.各个辅助函数的意义。
    代码命名的规范化:
    • 在每个activity命名时,可以参考用例图。可以以执行角色的英文作为开头,这样很清楚。

    我学会了软件工程了吗?

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

    • 我们做的安卓端(虽然同学可能更多地会去选择使用web端)在学生选择导师的时候,能起到很多的参考作用。同学不必单纯的由系负责人安排自己的命运。有更多的主动性。

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

    • 我们的软件在老师的一篇篇博客要求的监督下,经过了需求分析,原型设计,代码规范提出,alpha版本充斥,beta版本冲刺,虽然开发周期长。不过总算实现了基本的功能。

    介绍自己:

    bug虐我千百遍,我待bug如初恋!
  • 相关阅读:
    在阿里云服务器(ECS)上从零开始搭建nginx服务器
    HTML5和CSS3新特性一览
    【react】---手动封装一个简易版的redux
    【react】---17新增的生命周期
    vue单页面应用刷新网页后vuex的state数据丢失的解决方案
    [VUE]object.defineProperty的基本使用
    JavaScript / 本地存储
    转载--httpclient原理和应用
    关于mybatis mapper.xml中的if判断
    idea maven install时,打包找不到微服务common中公用的包
  • 原文地址:https://www.cnblogs.com/MR-ZH/p/6239964.html
Copyright © 2020-2023  润新知