个人博客链接:

http://www.cnblogs.com/kjzxzzh/p/4074386.html

http://www.cnblogs.com/kjzxzzh/p/4027699.html

虽然这学期我对软工这门课一直抱怨很多,觉得很辛苦而且效果不大。但到现在,做完整个工程后慢慢回想,才意识到其实在这门课中学到了很多,也能理解老师的各种要求。非常感谢老师在这一学期的监督指导。

我的主要工作:

个人作业(单词搜索程序):

这次的程序相对而言我比较满意(就成绩而言),但是其实代码中存在很多问题。比如:没有用好面向对象的技术,导致程序既不像面向过程,也不像面向对象。代码可能自己读起来比较轻松,但是交给另一个人可能就是天书了。
第二个不足的地方是刚开始对自己的信心不足,只想完成最简单的任务(一个单词搜索),慢慢写完后发现自己还是有很多余力来完成高级任务。在这一修改过程中,我发现需求改变对程序来说意味着多么大的灾难,尤其是对一个“泥球”程序。最终导致自己的程序冗余度极高,执行效率很低。

结对编程作业:

这次编程可以说是我最开心的编程经历之一,我和队友张迎春比较熟,他也是一个很好相处、很能包容我的错误的人。在这次作业中,我感受到了结对编程的魅力:我能从交流中更加快速的发现自己的错误,能在对方的监督下使自己的程序风格编的更好,能够在交流中扩展自己的思维等等。这次编程可能是我本学期最满意的一次作业。

M1/M2阶段:

完成程序欢迎界面
这个工作对我来说最大的难点在于我是第一次接触android开发。从零开始学起,在组长帮助下完成了android安装调试和基本的语法结构。这段代码的难度其实不是很大,但由于经验的不足还是花了很长时间。
完成程序主界面设计和实现:
这个部分主要任务是设计ui、获得用户的输入、完成在不同页面之间的通信。这段程序的难度也不是很大,能比较轻松的完成。
设计推荐菜单:
主要任务是使用PageView、网络异步加载图片、连接API获取信息。这部分工作中,前两个在网上都有很多资料,也能比较好的完成。但是连接API文档出现了很多问题。个人根绝这个API不是很好,他的接口说明也不是很清楚,所以程序经常崩溃,花费了大量时间。
在这个过程中,我明白了什么才是一个好的API:有完整的接口说明文档,这样使用起来才能避免错误。
进一步,什么才是一个好的程序块:有完整的接口说明文档,程序块之间独立性较强。只有这样的代码段在一个工程中在能算作是好的代码,当程序进行集合的时候,不会因为调用而产生错误。也不会因为两个人对程序理解的偏差导致程序作废。

M1/M2阶段问题和反思:

1.交流问题。

可以说我们组的成绩非常差,我也认真思考了这个问题。我觉得最大的不足在于我们组交流过少。我们团队的组成比交复杂,包含了6、7班的不同成员,大家的熟知程度很低,所以交流起来不是很方便。更大的错误是我们没有意识到这个问题,我们在m1阶段也没有认真的让队员之间增加默契,只是单纯的分配任务、个人完成任务。缺少必要的交流使我们产生了很多问题:
没有完整详尽的文档,组合大家的代码变得非常困难。
ui是每个人单独设计完成,这样导致我们的程序在初始阶段感觉风格变化很大,像是碎片而不是一个完整的程序。最后经过组长和大家的努力才弥补这个错误。
缺少白盒测试,由于测试人员和程序员之间缺少交流,导致白盒测试这一方面存在缺陷,测试可能不是很完整。

2.文档问题。

最初分配任务的时候没有设计文档,导致大家的程序差别很大。这样的后果是:
自己的程序只能由自己维护,别人根本不懂自己的程序。
功能扩充变的非常复杂。
程序组合很困难。

3.时间分配问题

这个问题是我(和我们团队)在m2阶段最大的问题,在这一阶段,很多大作业都要提交,大家都或多或少的忽略了软工作业,最后导致我们在软工作业提交前时间很紧张。

4.任务分配

这个问题主要也是“抱大腿”的问题。据我了解,至少在我们这门课中所有的团队都存在这一问题。在这次作业中,队长丁辛的任务量非常大,有的人却基本感觉不到这门课的存在。但就我个人而言,我还是很努力的完成了我所有的任务。

之后计划:

我觉得理解和学习软工这门课最好的办法就是实践,当完成一个项目后,可以尝试和不同的人、差别更大的人组成一个团队来完成项目开发。在寒假我也准备和我高中同学来组队,做一些感兴趣的程序。他们都来自于不同的大学,也希望我们能在这个过程中学到更多。

M1m2分析报告的更多相关文章

  1. Alpha阶段事后分析报告

    每个团队编写一个事后分析报告,对于团队在Alpha阶段的工作做一个总结. 请在2016年11月24日上课之前根据下述博客中的模板总结前一阶段的工作,发表在团队博客上,并在课上的事后分析会上进行汇报,并 ...

  2. 《奥威Power-BI智能分析报告制作方法 》精彩回顾

     上次课我们简单介绍了奥威Power-BI的智能分析报告,并展示了报告与图表相结合的应用场景.图文分析报表的意义不只在于美观,更重要的是固定框架下的灵活性和追根究底的动态分析,有着很强的实用性.上节课 ...

  3. 12月07日《奥威Power-BI智能分析报告制作方法 》腾讯课堂开课啦

            前几天跟我一个做报表的哥们聊天,听着他一茬一茬地诉苦:“每天做报表做到想吐,老板看报表时还是不给一个好脸色.”我也只能搬出那一套“过程大于结果”的内心疗程赠与他,没想到他反而怒了:“做 ...

  4. M1事后分析报告(Postmortem Report)

    M1事后分析报告(Postmortem Report) 设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们项目组所开发的软件为一个基于Andro ...

  5. websphere OSGi应用环境下服务调用saaj包加载问题分析报告

    websphere OSGi应用环境下服务调用saaj包加载问题分析报告 作者:bingjava 版权声明:本文为博主原创文章,转载请说明出处:http://www.cnblogs.com/bingj ...

  6. Google发布SSLv3漏洞简要分析报告

    今天上午,Google发布了一份关于SSLv3漏洞的简要分析报告.根据Google的说法,该漏洞贯穿于所有的SSLv3版本中,利用该漏洞,黑客可以通过中间人攻击等类似的方式(只要劫持到的数据加密两端均 ...

  7. 推荐一个利用 python 生成 pptx 分析报告的工具包:reportgen

    reportgen v0.1.8 更新介绍 这段时间,我对 reportgen 进行了大工程量的修改和更新.将之前在各个文章中出现的函数进行了封装,同时也对现有工具包的一些逻辑进行了调整. 1.rep ...

  8. python 生成 pptx 分析报告的工具包:reportgen

    python机器学习-sklearn挖掘乳腺癌细胞( 博主亲自录制) 网易云观看地址 https://study.163.com/course/introduction.htm?courseId=10 ...

  9. 使用AES加密的勒索类软件分析报告

    报告名称:  某勒索类软件分析报告    作者:        李东 报告更新日期: 样本发现日期: 样本类型: 样本文件大小/被感染文件变化长度: 样本文件MD5 校验值: da4ab5e31793 ...

随机推荐

  1. Linux 小知识翻译 - 「文件系统的种类」

    现在的Linux,主流的文件系统是 「ext3」.但是,文件系统除此之外,还有「ReiserFS」「XFS」「ZFS」等等. 此外,Windows的主流文件系统是「NTFS」,CD-ROM的主流文件系 ...

  2. Source Insight4 破解安装

    首先确保你在官网下载了原版4.0并安装好了. 1,下载如下的sourceinsight4.exe文件,替换安装文件夹下的sourceinsight4.exe. 链接:http://pan.baidu. ...

  3. Xmind破解

    原始教程 http://df1551e3.wiz03.com/share/s/3v5l7z2wdQVs2llAUc0C_-n_2cPZVe0kEA2n2iw1Ay1ApF_o

  4. swift class的虚函数表、扩展、@objc修饰、虚函数的派发方式研究

    swift class的虚函数表.扩展.@objc修饰的研究 工具: swiftc -emit-sil BaseClass.swift | xcrun swift-demangle > Clas ...

  5. xiaowuga poj3735—Training little cats(特殊操作转化为矩阵操作)

    题意:有n只猫,对其进行k次操作,然后反复这样操作m次. 其中g 表示 i 猫加1, e表示 i 猫为0:s表示  i 与 j 猫互换. 解释一下样例: 3 1 6g 1g 2g 2s 1 2g 3e ...

  6. !important的用法

    如果写成:a{color:teal !important},IE6和其它高版本浏览器都认识,(IE6虽然不认识!important,但它还是能够认识!important之前的color:teal这个属 ...

  7. 控制input输入框光标的位置

    一:理解input, textarea元素在标准浏览器下两个属性selectionStart, selectionEnd. selectionStart: 该属性的含义是 选区开始的位置: selec ...

  8. PAT A1107 Social Clusters (30 分)——并查集

    When register on a social network, you are always asked to specify your hobbies in order to find som ...

  9. iScroll.js插件使用方法

    iScroll.js 用法参考 (share) 分享是传播.学习知识最好的方法 以下这篇文章是iScroll.js官网的中文翻译,尽管自己英文不好,但觉得原作者们翻译的这个资料还是可以的,基本用法介绍 ...

  10. 【Codeforces 1110D】Jongmah FST分析

    Codeforces 1110 D FST分析 dotorya.FizzyDavid.MofK.gamegame.matthew99.chokudai.eddy1021.DBradac.Happy_N ...