【个人阅读】M1/M2阶段总结
1.以前博客的链接
http://www.cnblogs.com/zyctsl/p/4028006.html
http://www.cnblogs.com/zyctsl/p/4094011.html
2.请说明哪些问题现在自己已经清楚了,请阐明一下,是如何通过看书,实践,或者讨论弄清楚的
问题1:关于代码的管理问题
最近写软工和编译作业,随时都会有一些小小的改动,而且过一段时间后,自己都忘记了改了哪里,而且如果是自己写的还好,可以去读代码,但是像软件工程这种团队协作的项目来说,读别人的代码就感觉又费力气又费时间,当初我是觉得svn来管理太麻烦,不过现在想想相比于去重复的读代码,svn实在好用太多,而且每次修改还可以加上注释。所以现在我觉得,代码管理还是用类似于svn这种管理软件来管理比较好。
当然,还有可以用来管理程序的就是文档了,虽然大家都不太喜欢喜文档,当我们去读别人的代码的时候,我们最想先看的就是别人的文档和注释,这样可以节省很多时间,所以文档也是管理代码的很重要的一个方面,包括一些必要的注释,对于读代码,是非常有帮助的。
问题2:团队中分工与协作的问题
我觉得在这个问题中,PM的重要性就体现出来了,首先团队的分工,我觉得首先一个团队在分组的时候就要考虑到每个人各方面的能力,一个能力稍强的和一个能力稍弱的人一组可以以强带弱,但是把能力稍强的人分成一组,强强联手,然后在分配任务的时候,适当的有些倾斜,这种分组方式也未尝不可。其实这两种方式最终结果到底有多少不同,我们不好判断,但是我个人觉得差别或许不大。我们组分工,第一阶段是就近原则,宿舍离得近的同学一组,这样方便一起讨论,确实是,一般都是两个人一起写,类似于结对编程,效果也还行,但是这样就会造成有的小组的两个同学都有拖延症,最后项目的完成时间就会被延迟,所以这样考虑得话,在分工的时候还要考虑到个人的习惯。M2阶段我们组的分工大致是按照上面的第一种方式,其实感觉最终的效果和M1差别不大,有拖延症的还是会要拖到最后才去完成整个项目,所以现在关于这个问题我还是没有很清晰的认识,可能这和我们毕竟不是一个非常专业的开发团队有关吧,估计一个团队的组建会考虑每个成员的各方面的能力,来让这个团队整体的实力变得比将几个成员的能力简单的叠加的实力强很多吧。
3.哪些问题还不明白,请分析
不明白的问题有上面团队的分工和写作的问题,到底怎样去各一个团队分组,分工才能让这个团队的效率最高,让这个团队的能力最大化。
还有就是一个团队的组成肯定要考虑各方面的因素,这些因素到底有哪些,哪些又是最重要的?
4.产生了哪些新的问题,请提出
新的问题关于团队的就是上面提到的团队的组成和分工问题
关于项目和个人的:项目共享服务期问题,多个团队用同一个服务器,首先就目前的状况来看,服务器的cpu负荷一直100%,代码运行效率很低,而且不考虑这方面,考虑共用一个数据库的安全性问题,首先数据库的创建者拥有管理数据库的所有权限,而数据库的使用者只能有数据库的读取权限,不应该拥有更改数据库的权限,这样有很大的安全隐患。
5. 新的体会
首先,一个项目的开发,确实会自觉或者不自觉得遵循瀑布模型,可见这个理论的正确性,在之前对这些理论还没有什么了解。
还有就是软件开发中的银弹问题:
其实这个问题在当时,我个人认为软件开发的银弹就是那几篇文章中所说的面向对象编程的思想,现在有很多开源的api之类的共享代码,功能模块。所以开发一个项目变得较之前相比容易得多,但是任何事物都是有两面性的,代码共享的隐患就是代码的安全问题,当时邹欣老师也提出了这方面的质疑,这个问题确实存在,而且谁都不能保证某个网上找的开源代码中没有病毒或者漏洞,不管是多么权威的网站。之所以现在我仍然认为面向对象编程所带来的功能模块化,使代码可以得到共享的这种编程思想是软件开发的银色子弹,是因为它有这种可能,它在某种程度上具备了成为银弹的“潜质”,只是这种“潜质”就目前的发展状况来看还不可行。
6.各个阶段的收获
需求:需求的来源,需求一定来自于使用你的系统的用户,也就是你的项目的下一个阶段的开始。需求是整个项目的方向,只有首先得到需求,才能着手项目。
设计:设计是整个软件工程的核心,设计前一定要先了解整个项目的架构,采用正确的设计方法。设计的过程是一个从宏观到微观的逐渐细致的过程。
实现:实现阶段进度安排要尽量的均匀,任务分配要合理。
测试:测试要全面,考虑覆盖率,黑盒测试和白盒测试要结合进行。
发布:发布要准备充分,做好宣传工作。
维护:项目出现问题要及时维护,维护后要重新对相应模块做测试。
【个人阅读】M1/M2阶段总结的更多相关文章
- 【个人阅读】软件工程M1/M2阶段总结
这次作业是好久以前布置的,由于学期末课程设计任务比较重,我在完善M2阶段的代码的同时又忙于数据库的实现和编译器的实现,一度感觉忙得透不过气来....到这些都基本完成的时候,会看自己以前的阅读心得,觉得 ...
- M1/M2阶段总结
之前提问的博客 问题解答 问题 1 关于代码复审,复审者是否应该参与编码?如果复审者也参与编码的话,那么难免任务量较多,但如果不参与编码的话,工作分配的似乎不太均衡. 我们的团队项目在M1和M2阶段没 ...
- 个人阅读作业——软件工程M1/M2的总结
临近学期末,本学期的软件工程课也已经结束了,在此我对软件工程课中,我们团队M1和M2开发阶段中,我做的工作做一个总结 我是DEV,主要工作是等着上级给我分配任务,但是很多时候如果这个活我不干,其他人就 ...
- 软件工程M1/M2总结及阅读作业总结
一.软件工程M1/M2总结 写下这篇总结的时候,我们的软件项目尚未完工.虽然尝试申请了延期答辩,但最终未能成功.这意味着,我们的项目能否正常发布已经处于了一个微妙的状态.可能可以,也可能不可以.只能尽 ...
- M1/M2项目阶段总结
1.M1/M2总结 我们这学期完成了学霸项目. 在M1阶段,我们首先进行了分工,完成了一个系统的计划,然后是对学长代码的移植和优化.在优化代码的过程中,我们遇到了不少问题,比如一些代码的冗余以及指向性 ...
- 个人阅读作业 --软件工程M1/M2总结
软件工程M1/M2总结 写在前面的话: 这学期的软件工程伴着考期的展开逐渐落下帷幕,回顾这学期的软件工程,我感觉我的热情在一次又一次的失落中逐步消耗殆尽,每个人对于这门课的体验都会有所不同吧,可以确定 ...
- 【个人阅读】软件工程M1/M2做一个总结
1.以前博客链接 http://www.cnblogs.com/penglinjiang/p/4027850.html http://www.cnblogs.com/penglinjiang/p/40 ...
- M1/M2个人总结
软件工程整个学期结束了,很开心学了这门课,在学到知识的同时也提高了自己的动手实践的能力,感觉自己在整个软件工程的各个环节中都能有所把握,可以将学到的知识运用到设计.实践更多的项目中去. M1阶段个人总 ...
- 软件工程M1/M2总结
也不分M1/M2了,就从头到尾的梳理一下这学期的软工课吧. 第一节课,老师就稀里哗啦说了一下这学期要怎么搞,什么个人项目啦,结对项目啦,团队项目一二啦,还要组队啊什么的,然后风风火火的组队. 个人项目 ...
随机推荐
- Python基础知识:if语句
1.模拟网站确保用户名是否重复的方式,无视大小写,用到函数lower() #检查用户名是否重复 current_users=['admin','alex','lebran','kaobi','Jame ...
- UITableView详解
一.建立 UITableView DataTable = [[UITableView alloc] initWithFrame:CGRectMake(, , , )]; [DataTable setD ...
- 基于CoreText的基础排版引擎之不带图片的排版引擎
- (void)drawRect:(CGRect)rect { [super drawRect:rect]; //步骤一:得到当前绘制画布上下文,用于后续将内容绘制在画布上 CGContextRef ...
- Deepin中设置文件或文件夹权限
Deepin中设置文件或文件夹权限 -R 递归进行某项操作,不论是删除文件夹或者修改文件夹下所有文件权限 权限更改,777相当于完全控制权限: 更改一个文件夹或文件的权限:chmod 777 文件 ...
- Python进阶(一)
完成慕课网的python基础学习以后,大约花了三天时间,平均每天一个小时,总结了一些比较好的例题和思想方法,下面来学习python进阶吧 参考廖雪峰官方课程 函数 python官方函数调用文档 定义默 ...
- Python3编写网络爬虫07-基本解析库pyquery的使用
三.pyquery 简介:同样是一个强大的网页解析工具 它提供了和jQuery类似的语法来解析HTML文档,支持CSS选择器,使用非常方便 安装: pip install pyquery 验证: im ...
- 1092 回文字符串(LCSL_DP)
1092 回文字符串 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 收藏 关注 回文串是指aba.abba.cccbccc.aaaa这种左右对称的字符串.每个字符 ...
- Excel中Sumproduct函数的使用方法
1.sumproduct函数的含义 1 1.Sumproduct函数的适用范围,在给定的几组数组中,然后把数组间对应的元素相乘,最后返回乘积之和. 从字面上可以看出,sumproduct有两个英文单词 ...
- gitlab 数据同步
为了统一化管理,需要把老版本的 gitlab 仓库 同步到新的gitlab上. 1. 新建组, 新gitlab 建立的group 与 原gitlab相同.2. 新建project 3. 选择导入
- rsync实现数据备份
rsync实现数据备份 1.简介 rsync(remote synchronization)是一款开源的,快速的,多功能的,可实现全量和增量的的本地或远程数据同步备份的优秀工具. 2.功能 scp.c ...