个人博客链接:

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

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

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

我的主要工作:

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

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

结对编程作业:

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

M1/M2阶段:

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

M1/M2阶段问题和反思:

1.交流问题。

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

2.文档问题。

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

3.时间分配问题

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

4.任务分配

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

之后计划:

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

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. [MapReduce_1] 运行 Word Count 示例程序

    0. 说明 MapReduce 实现 Word Count 示意图 && Word Count 代码编写 1. MapReduce 实现 Word Count 示意图 1. Map:预 ...

  2. Properties集合_list方法与store方法

    Properties集合和流对象结合的功能 list()方法: import java.util.Properties; public class PropertiesDemo { public st ...

  3. RelativeLayout 总结

    1)参考元素获取:id: 2)位置关系设置: 3)对齐关系设置:

  4. Redis后台监控与管理CacheCloud

    CacheCloud环境需求 Java 7 Maven 3 MySQL Redis 3 具体用法可参考:https://cachecloud.github.io 1.下载CacheCloud 官网ht ...

  5. eclipse+tomcat测试连接时候HTTP Status 404错误

    想要在eclipse里部署tomcat,结果tomcat单独可以通过连接测试,用eclipse就404了 404肯定都是目录不对,试了半天在eclipse下改了一下配置和文件位置就行了 1.先在菜单栏 ...

  6. 分布式服务化系统一致性(分布式事务、ACID、BASE、CAP)原理与解决方案

    https://blog.csdn.net/rickiyeat/article/details/70224722

  7. oracle 查询 磁盘使用率

    SELECT d.tablespace_name "Name",        TO_CHAR(NVL(a.bytes / 1024 / 1024 / 1024, 0), '99, ...

  8. [转]Python shutil 模块

    转自: https://www.cnblogs.com/wuzhiblog/p/6535527.html https://www.cnblogs.com/caibao666/p/6433864.htm ...

  9. Lodop 打印控件

    1.下载 2.使用 一 下载安装控件 官网下载地址:http://www.lodop.net/download.html 参考:http://www.c-lodop.com/demolist/Prin ...

  10. Linux命令——head/tail

    一.head head主要是用来显示档案的开头至标准输出中,默认打印相应文件的开头10 行. 1)命令格式 head [参数] [文件] 2)常用参数 -q     隐藏文件名-v     显示文件名 ...