zoukankan      html  css  js  c++  java
  • 软件工程实践总结

    福大软工 · 最终作业 - 软件工程实践总结(个人)

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

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

    最初的时候希望通过这门科目锻炼自己的实践能力(编程能力),但是意外的担任了团队的PM,不仅仅锻炼了编程能力还锻炼了组织协作管理能力,可以说是有意外的收获了。

    不足的可以说是最后的产品还没有达到自己当初预想的目标,果然理想和现实是有差距的。

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

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

    根据不完全统计,总代码量大概在1000左右,加上修改的代码大概有3000左右。

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

    作业名称 所花费时间(小时)
    第一次作业 3
    个人项目 11
    结队作业1 10
    团队风采展示 3
    结队作业2 15
    团队选题报告 6
    团队课堂UML设计 2
    团队需求分析报告 10
    Alpha冲刺 140
    团队现场编程 6
    团队项目评测 14
    Beta冲刺 100
    最终演示 6
    累计 326
    平均每周花费时间 18.1

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

    印象最深刻的其实有两次,一个是团队现场编程,十分真切的感受到我们团队的优秀和强大。

    另一个是Alpha冲刺,是真的累。

    4、累计花了多少个小时在软工实践上?平均每周花多少个小时?同时贴出开篇博客“你打算平均每周拿出多少个小时用在这门课上”的回答

    累计花费326个小时(惊了),平均每周18.1个小时,开篇博客打算平均到每天2小时,按情况增加,时间上算是达标还有点小超标。

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

    Visual stdio的单元测试,性能分析工具,Axure

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

    在线的流程图绘制网站PROCESSON,PPT(这个两个虽然之前就有接触,但是用的实在太多了,不得不拿出来提一下)

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

    Python Tensorflow Pytorch

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

    燃尽图法,思维导图,测试方法,原型设计,增量开发,技术文档等等

    9、其他方面的提升。

    本次软工的节奏基本处于前期负责算法的开发设计,后期算法方面都基本完成,剩下的基本都是数据处理了,所以后期基本处于负责团队的管理和产品的演示方面。

    代码方面自然不用多说,团队的管理,任务分配,演讲能力有了一定的提升。

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

    三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,对于同期的TA们,对于后来的学弟学妹:

    1)你有什么想建议、告知和期许想要告诉他们呢?

    如果可以不选,千万不要选,不是课程的问题,而是大三上真的顶不住。

    2)特别地,特别地,下一届要不要中途换队员(强制的、彻底的从一队换到另一队)?
    假设依旧是一个90+人数的大班

    千万不要中途换队员,还是建议组队的时候找一些靠谱的人当队友。

    3)身在一个格外大的班级,竞争强劲,你认为一个组的人数应当在多少比较合适?

    12-14个人比较合适

    4)个人/结对/团队作业应该控制在怎样的规模?

    个人结队团队结队作业控制在一天平均两个小时比较合理。

    5)这学期下来,你最感谢的人是谁?有什么话想要对TA说呢?

    最感谢的其实就是我的队友们,对队长的包容,队友的强大与优秀以及强大的执行力,让我这个PM当的轻松许多。

    其次要感谢一下柯老师和助教学姐,很耐心解答我的疑问,并对我提出建议,让我变的更优秀。

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

    萌芽、磨合、信任、冲突、承诺、责任、结果、规范、创造,我可以很自信的说我们达到了,最优秀的团队没有之一。

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

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

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

    EMMMM,由于搭建云服务器的问题,给很多用户使用确实有难度,但是线下有给用户试用,反应良好。

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

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

    每次作业发布的时候,我都会把分工分好,而且我们组几乎是全员大牛,每个人都会参与出力。

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

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

    使用github管理代码,有相应的说明文档,接口文档等。

    4)对着这个检查表:http://xinz.cnblogs.com/p/3852177.html 检查一下,自己如果去企业面试,这些常见的问题是否都能回答,并在此总结。

    请在随笔中用数据证明上述内容或侧重选择之一。

    行业洞察力、工具社区

    六*(选做)、阅读软件工程中关于代码质量的的经典论文,从下列文献中选择一篇或若干篇,结合自己的实际做一个阅读笔记(例如,自己写的代码质量如何,是不是一个大泥球,如何衡量自己代码的质量)?从以下参考论文中选择一篇或若干篇:

    老实说,自己的代码质量还是没有达到工业级水平,虽然这次作业已经有着重注意这方面,但是无奈时间太紧,没有做到很好。
    参考论文文献:

    [1] Stamelos I, Angelis L, Oikonomou A, et al. Code quality analysis in open source software development[J]. Information Systems Journal, 2002, 12(1): 43-60.

    [2] Boehm B W, Brown J R, Lipow M. Quantitative evaluation of software quality[C]//Proceedings of the 2nd international conference on Software engineering. IEEE Computer Society Press, 1976: 592-605

    [3] Samoladas I, Stamelos I, Angelis L, et al. Open source software development should strive for even greater code maintainability[J]. Communications of the ACM, 2004, 47(10): 83-87

    七、个性发挥,包括图文、照片和创意等

    吃喝玩乐遍福州,火箭少男冲冲冲

    其实还是想吐槽一下,软工这门课安排的真的不是时候,选择了最痛苦压力最大的大三上学期,导致最后的产品和最初预计的还是有一定的距离,如果选择一个相对轻松的学期,我相信质量会大大提升。

    刚开始带着自己的想法和创意自信满满的向大家介绍,最终的结果给了自己当头一棒,为人不论何时都应该谦虚大方礼貌,这其实是整个软工实践给我最深的教训,不论提问的人有多么的尖锐,还是应该不急不慢的说出自己的想法。

    最后的最后,还是要感谢我的队友们,真的太给力太优秀了。

    我已经把门焊死了谁都别想走

  • 相关阅读:
    php AppStore内购付款验证
    NodeJS
    Electron 的中文乱码问题
    Flexbox 弹性盒子布局的使用
    springboot整合quartz
    第4章:逆向分析技术--64位软件逆向技术
    第51章:静态反调试技术——API查询
    第51章:静态反调试技术
    第48章:SEH
    第47章:PEB
  • 原文地址:https://www.cnblogs.com/linshen/p/10238851.html
Copyright © 2011-2022 走看看