zoukankan      html  css  js  c++  java
  • 网络15软工个人作业5--软件工程总结

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

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

    答:
      在学习软工之前,我对软件开发的流程了解真的很少,大部分课程学习也都只是简单停留在代码编程上面,几乎没有深入到整个项目的开发。我曾经在软工的开篇博客中说过,我的编程能力不好,我一直因为这个原因觉得不自信甚至恐惧,会担心自己以后的学习和工作,在软工的结对编程和团队项目作业发布的时候,我也一直担心我的能力会给别人拖后腿,会影响其他同学的成绩。
      在经历过软工的课程学习和一系列团队项目开发之后,我发现除了编程之外还有很多种选择,比如前端和测试,我发现我对前端还是比较感兴趣。虽然没有我的编程能力没有特别大的提升,但是至少我在课程学习的过程中找到了方向(虽然大三快结束了才说这句话有点晚),而且对项目的开发流程也有所了解了;要说不足吧,主要还是在编程上,还是希望能再努力一把,提升一下自己的编程和思维能力,其次就是对项目开发的一些认识还需要多做一些深入的了解,目前还是比较表面的。

    2.总结这门课程的实践总结和给你带来的提升,包括以下内容:

    1)统计一下,你在这门课程中,完成了多少行的代码;

    答:
      在结对编程过程中的代码量估计有在300行左右(其中包括增加模块和在源代码中修改的地方)
      在团队项目过程中大致有500行左右,这是根据码云上传代码统计出来的。

    2)软工的各次作业分别花了多少时间?(做一个列表)

    作业 大致花费时间
    个人阅读作业1 8小时
    个人阅读作业2--提问题 8小时(0.5*6+5)
    结对编程 35小时
    个人作业3--案例分析 8.5小时
    个人作业4--alpha阶段个人总结 7小时
    alpha阶段 60小时
    beta阶段 45小时
    团队总结 10小时

    3)哪一次作业让你印象最深刻?为什么?

    答:我觉得印象最深刻的一次作业是结对编程作业,这是我第一次真正意义上的在原有代码上进行修改和补充,看别人的代码真的很费力气,虽然源代码有附加代码规范,但还是不容易;四则运算新增的功能也有点难度,尤其是判重模块,既要考虑新的模块还要顾及原来的功能;这次结对编程还是我第一次接触那么多种测试工具和测试方法。

    4)累计花了多少个小时在软工上?平均每周花多少个小时?

    答:累计花了181.5小时在软工上,一共14周平均每周13小时左右。

    5)学习和使用的新软件;

    答:Git、Junit等

    6)学习和使用的新工具;

    答:墨刀、Process、微信开发者工具等

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

    答:JavaScript、wxml、wxss、知晓云、微信小程序

    8)学习和掌握的新方法;

    答:结对编程、敏捷冲刺开发、需求分析、知晓云与微信开发工具的使用

    9)其他方面的提升。

    答:了解了软件项目开发流程、了解了微信小程序的开发过程、提升了沟通交流能力、明确了感兴趣的方向、时间管理能力有所提高

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

    答:
    1. 对于工作任务上的疑问要及时严肃地提出来。在原型设计过程中没有明确的讨论出界面设计风格和产品具体细节,完成任务时没有及时提出问题,导致任务完成与预期效果有所出入。
    2. 遇到难以攻克的问题要开口寻求帮助,千万不要死扛。在beta阶段单词模块开发时由于某段代码未被调用导致缓存数据无法更新,自己折腾半天,在成员帮助下很快就解决了,所以千万不要自己扛,还是要讨论一下会更快。
    3. 要学会考虑多种路径解决问题,勇于尝试。在数据导入过程中,第一次使用知晓云,想要通过json文件批量导入老是提示导入失败, 把文件改用CSV格式之后导入就可以了,尝试新的方法之后问题可能会更简单。

    三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。对于换人机制,有什么样的建议?

    答:
    1.建议学弟学妹们要做好时间管理,毕竟有时候一周两篇或三篇博客作业及其背后需要的学习时间还是有点负担的,要兼顾好其他科目以及自身需求;
    2.前期基础知识还是要练习和掌握,千万不能考完一门课程就忘记一门,很多知识都是连贯的,尤其是程序语言;
    3.要养成做笔记的意识,把自己遇到的问题和解决方法记录下来,不管用什么方法,避免自己犯重复的错误或者犯错后能及时找到补救办法,还能给别人提供经验;
    4.希望学弟学妹们在软工的课程中能完成一个真实可用的具体产品,而不是仅仅在程序语言设计上展示自己,要把产品开发和编程结合起来
    5.对于换人机制,我觉得目前这种由团队自行商量决定换人方式就蛮好,但是如果之后能有团队或个人采取面试之类的方法来决定是否接受新成员感觉会更有趣,也更有意义。

    四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)

    答:
    《构建之法》上说团队的发展有四个阶段,分别是萌芽阶段、磨合阶段、规范阶段、创造阶段。我们团队在萌芽阶段还没有一个明确的目标,每个人刚开始熟悉和适应这门课程的项目开发要求以及讨论团队工作模式;在磨合阶段开始对项目的开发进行讨论,成员各自提出自己不同的见解和看法,虽然也有意见不同的时候,但是最终都能和平讨论出解决方案;在规范开始进入项目的正常开发流程,大家根据计划安排有序完成自己的任务,成员之间互相帮助,加强沟通,每个人都有明确的前进方向。我认为我们团队最后并没有到达了“创造”阶段,由于我们的知识储备不充足,开发经验也不够丰富,还是不能做到每个人独当一面,团队的工作依然需要有人监督并设置deadline才能及时完成。

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

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

    • 必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件

      • 以下是产品发布的二维码,扫码即可进入

      • 根据下面的截图可以得出,我们团队的产品从2018年5月17号至2018年6月15号的用户量超过40人,并且呈上升趋势,累计的用户量为73人

      • 访问次数

      • 访问人数

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

    • 有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄

    答:我们团队的开发过程均有通过博客进行展示,产品的成功发布是我们团队所有人共同努力,经过alpha和beta阶段的版本更新和迭代一步步开发实现的结果

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

    • 而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料

    答:我们团队使用码云和Git进行项目源码管理

  • 相关阅读:
    设计一个安全邮件传输系统
    2014(2)系统规划,可行性分析,成本效益分析
    2014(1)需求工程,需求获取
    公务员的福利政策
    2015(5)系统设计
    程序猿媛 九:Adroid zxing 二维码3.1集成(源码无删减)
    Android API
    [Android]利用run-as命令在不root情况下读取data下面的数据
    Android实用代码七段(五)
    Android实用代码七段(四)
  • 原文地址:https://www.cnblogs.com/dabaolyr/p/9191527.html
Copyright © 2011-2022 走看看