M1m2分析报告
个人博客链接:
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分析报告的更多相关文章
- Alpha阶段事后分析报告
每个团队编写一个事后分析报告,对于团队在Alpha阶段的工作做一个总结. 请在2016年11月24日上课之前根据下述博客中的模板总结前一阶段的工作,发表在团队博客上,并在课上的事后分析会上进行汇报,并 ...
- 《奥威Power-BI智能分析报告制作方法 》精彩回顾
上次课我们简单介绍了奥威Power-BI的智能分析报告,并展示了报告与图表相结合的应用场景.图文分析报表的意义不只在于美观,更重要的是固定框架下的灵活性和追根究底的动态分析,有着很强的实用性.上节课 ...
- 12月07日《奥威Power-BI智能分析报告制作方法 》腾讯课堂开课啦
前几天跟我一个做报表的哥们聊天,听着他一茬一茬地诉苦:“每天做报表做到想吐,老板看报表时还是不给一个好脸色.”我也只能搬出那一套“过程大于结果”的内心疗程赠与他,没想到他反而怒了:“做 ...
- M1事后分析报告(Postmortem Report)
M1事后分析报告(Postmortem Report) 设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们项目组所开发的软件为一个基于Andro ...
- websphere OSGi应用环境下服务调用saaj包加载问题分析报告
websphere OSGi应用环境下服务调用saaj包加载问题分析报告 作者:bingjava 版权声明:本文为博主原创文章,转载请说明出处:http://www.cnblogs.com/bingj ...
- Google发布SSLv3漏洞简要分析报告
今天上午,Google发布了一份关于SSLv3漏洞的简要分析报告.根据Google的说法,该漏洞贯穿于所有的SSLv3版本中,利用该漏洞,黑客可以通过中间人攻击等类似的方式(只要劫持到的数据加密两端均 ...
- 推荐一个利用 python 生成 pptx 分析报告的工具包:reportgen
reportgen v0.1.8 更新介绍 这段时间,我对 reportgen 进行了大工程量的修改和更新.将之前在各个文章中出现的函数进行了封装,同时也对现有工具包的一些逻辑进行了调整. 1.rep ...
- python 生成 pptx 分析报告的工具包:reportgen
python机器学习-sklearn挖掘乳腺癌细胞( 博主亲自录制) 网易云观看地址 https://study.163.com/course/introduction.htm?courseId=10 ...
- 使用AES加密的勒索类软件分析报告
报告名称: 某勒索类软件分析报告 作者: 李东 报告更新日期: 样本发现日期: 样本类型: 样本文件大小/被感染文件变化长度: 样本文件MD5 校验值: da4ab5e31793 ...
随机推荐
- [MapReduce_1] 运行 Word Count 示例程序
0. 说明 MapReduce 实现 Word Count 示意图 && Word Count 代码编写 1. MapReduce 实现 Word Count 示意图 1. Map:预 ...
- Properties集合_list方法与store方法
Properties集合和流对象结合的功能 list()方法: import java.util.Properties; public class PropertiesDemo { public st ...
- RelativeLayout 总结
1)参考元素获取:id: 2)位置关系设置: 3)对齐关系设置:
- Redis后台监控与管理CacheCloud
CacheCloud环境需求 Java 7 Maven 3 MySQL Redis 3 具体用法可参考:https://cachecloud.github.io 1.下载CacheCloud 官网ht ...
- eclipse+tomcat测试连接时候HTTP Status 404错误
想要在eclipse里部署tomcat,结果tomcat单独可以通过连接测试,用eclipse就404了 404肯定都是目录不对,试了半天在eclipse下改了一下配置和文件位置就行了 1.先在菜单栏 ...
- 分布式服务化系统一致性(分布式事务、ACID、BASE、CAP)原理与解决方案
https://blog.csdn.net/rickiyeat/article/details/70224722
- oracle 查询 磁盘使用率
SELECT d.tablespace_name "Name", TO_CHAR(NVL(a.bytes / 1024 / 1024 / 1024, 0), '99, ...
- [转]Python shutil 模块
转自: https://www.cnblogs.com/wuzhiblog/p/6535527.html https://www.cnblogs.com/caibao666/p/6433864.htm ...
- Lodop 打印控件
1.下载 2.使用 一 下载安装控件 官网下载地址:http://www.lodop.net/download.html 参考:http://www.c-lodop.com/demolist/Prin ...
- Linux命令——head/tail
一.head head主要是用来显示档案的开头至标准输出中,默认打印相应文件的开头10 行. 1)命令格式 head [参数] [文件] 2)常用参数 -q 隐藏文件名-v 显示文件名 ...