【个人阅读】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了,就从头到尾的梳理一下这学期的软工课吧. 第一节课,老师就稀里哗啦说了一下这学期要怎么搞,什么个人项目啦,结对项目啦,团队项目一二啦,还要组队啊什么的,然后风风火火的组队. 个人项目 ...
随机推荐
- 【Linux】磁盘的分区与命名规则
1,Startx:切换到图形界面 2,Pwd:查看当前目录 3,Whoami:查看当前用户 4,Cd: 1. 命令格式: cd [目录名] 2. 命令功能: 切换当前目录至dirNam ...
- Visualbox与CentOS 6.4之间鼠标切换
按住键盘右边的Alt键,再按一下(右边)ctrl键,这样可以实现鼠标能在主机与虚拟机之间自由切换.
- MySQL客户端工具的选择
最近因系统云化项目,学习使用MySQL集群,为了找一款顺手的mysql客户端,反复使用了多个工具,并筛选出一个自认为最满意的,在此分享. 先说我的选择:SQLyog. 尝试的客户端:Toad for ...
- mac系统如何在当前目录下打开终端
给大家推荐一个好用的终端工具 Go2Shell:https://itunes.apple.com/cn/app/go2shell/id445770608?mt=12 在没有这个工具之前 找了好多在当前 ...
- Linux下编辑、编译、调试命令总结——gcc和gdb描述
GCC gcc是linux系统集成的编译器.在linux环境下编辑程序,首先需要克服的便是没有集成开发环境的一键式操作所带来的麻烦.这其中涉及命令行操作.编译选项的设定.文件依赖关系的书写(makef ...
- python之面向对象进阶2
封装.property装饰器 封装分为3种情况:封装对象的属性.封装类的属性.封装方法. 封装对象的属性:(在属性名前加双下划线__) class Person: def __init__(self, ...
- 表情存储异常--mybatis抛出异常(java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x94' for column 'name' at row 1)
文章参考 https://blog.csdn.net/junsure2012/article/details/42171035 https://www.cnblogs.com/WangYunShuai ...
- Ansible安装及配置
ansible分为以下几个部份: Ansible:核心引擎 Modules:包括 Ansible 自带的核心模块(core modules)及自定义模块 (custom modules): 核心模块: ...
- Omi框架学习之旅 - 组件通讯(data通讯) 及原理说明
接着上一篇的data-*通讯,这篇写data通讯. data通讯主要为了复杂的数据通讯. 老规矩:先上demo代码, 然后提出问题, 之后解答问题, 最后源码说明. class Hello exten ...
- php RSA加密传输代码示例
涉及敏感数据的传输,双方最好约定使用加密解密.那RSA非对称加密就大有作为了. 服务端可以保留自己的私钥,发给客户端对应的公钥.这样就可以互相加解密了.php中rsa加解密实现: 首先要生成一对公钥私 ...