【个人阅读】软件工程M1/M2做一个总结
1.以前博客链接
http://www.cnblogs.com/penglinjiang/p/4027850.html
http://www.cnblogs.com/penglinjiang/p/4094660.html
2.请说明哪些问题现在自己已经清楚了,请阐明一下,是如何通过看书,实践,或者讨论弄清楚的
经过练习,已经明白的问题:
问题1:所谓的大教堂模式(The Cathedral model)到底怎么理解?
当时看到的定义: 源代码在本模式是公开的,但在软件的每个版本开发过程是由一个专属的团队所控管的。当时觉得这个定义很难理解,觉得在实践过程中也没有切实感受到,就一直搁置了。
现在的理解:(主要是通过自己在项目中的感受结合定义来理解的)“大教堂模式是封闭的、垂直的、集中式的开发模式,反映一种由权利关系所预先控制的层级制度”,这句话是我最终引用别人的话总结出来的,这样总结来说就是十分明了的。而我在项目开发中对这个模式也有一定的感悟,在我看来,大教堂模式就是将四方的教徒汇聚在教堂,大家一起做事儿,一起讨论,最终大家一起完成一个工程。这让我联系到我们的软件工程M1阶段,刚开始决定做这个安卓app的时候大家都感觉无从下手,所以大家就都聚在一起讨论,一起做。对于我来说,就是和队友一起从零开始学爬虫到爬取整个饿了么网站。大家开始都不会,所以就都聚在一起,聚到教堂来一起做事儿。当然,我这个比喻也有不恰当的地方,因为大教堂模式并非是因为大家都不会儿聚集,而是想一块儿做提高效率。
问题2:怎样的模式比较适合像我们这样的软件工程项目?
现在理解:我也是整个M1/M2项目下来才有所体会。从我的感受来说,在M1阶段、即项目前期最好还是采用大教堂模式,这样比较方便大家快速进入该项目;而在M2阶段,则应该采用市集模式,因为已经有了M1阶段的基础,如果再采用大教堂模式,反而有的人就开始偷懒,效率不高,这时候采用市集模式就比较有效,大家分配完成任务,到一定阶段再聚合一起,效率比较高。当然,这是针对我们这样的小项目我得出的结论,对于其他较大项目,还有待讨论。
3.哪些问题还不明白,请分析
主要有一个问题:M1阶段后,分工是否应该调整?
我不理解的原因在于:M1阶段有的人做的工作比较多,而有的人则几乎没有只进行一些最外围的工作,以致到最后都不太了解我们整个项目,在进入M2阶段后,问题就来了,如果不进行重新分工,依然是那一部分人承担了大部分工作,另一部分人仍然游离,对于承担多的那部分人来说,的确不公平,但如果冲新分工,A去接收B的工作,这样效率就会大大折扣,几乎相当于从M1重新开始,所以我对这个问题一直很矛盾。
4.产生了哪些新的问题,请提出
1、PM这个角色只是进行监督,是否合适?
2、对于代码整合的问题,很难很好的正好到一起,毕竟每人风格各异,有没有什么系统而高效的办法?
3、这是我个人遇到的问题,就是我负责团队数据爬取部分,在数据爬取过程中,我怎样判断爬取来的数据我是否可以正常使用?(法律问题)
4、其实问题同3差不多,就是我觉得我们整个项目通过爬取别人数据而不是选择找到对方选择合作哪个方式更好一点?
5.同时我们还读了8篇软件工程相关的论文或博客,你回头再看看这些文章,有没有新的体会
引用别人的一段话:“在软件技术的发展道路中,方法论起着决定性的作用。软件技术人员有必要站在哲学的高度、从方法论的角度,重新审视软件开发过程中各个环节,深刻体会软件工程和方法论的联系,从而改进和发展的现有的软件工程技术,消化吸收先进的思想、方法和技术,提高软件的质量和生产率,以适应现实世界对软件产业新的要求。软件工程应运而生。为了更好地发展和改进软件工程技术,我们有必要从方法论的各个角度分析软件工程的方法、工具和过程,从而有的放矢地改进软件工程中各个过程的思想、方法、模式和规则。”最大感受,像这样,团队合作的项目,方法真的很重要。
6.请问你们在项目的 需求/设计/实现/测试/发布/维护阶段(一共6 个阶段)中都学到了什么 “知识点”, 每个阶段只要说明一个知识点就可以。
1需求:市场调查很重要
2设计:总体布局,功能细化,分而治之
3实现:前期建议采用大教堂模式,后期则建议敏捷编程,市集模式
4测试:白盒测试工具、黑盒测试工具、性能测试工具.
5发布:到尽可能多的安卓市场发布,前期建议从身边开始推广
6维护:软件数据库管理,故障分析解决
【个人阅读】软件工程M1/M2做一个总结的更多相关文章
- 软件工程M1/M2总结及阅读作业总结
一.软件工程M1/M2总结 写下这篇总结的时候,我们的软件项目尚未完工.虽然尝试申请了延期答辩,但最终未能成功.这意味着,我们的项目能否正常发布已经处于了一个微妙的状态.可能可以,也可能不可以.只能尽 ...
- 个人阅读作业 --软件工程M1/M2总结
软件工程M1/M2总结 写在前面的话: 这学期的软件工程伴着考期的展开逐渐落下帷幕,回顾这学期的软件工程,我感觉我的热情在一次又一次的失落中逐步消耗殆尽,每个人对于这门课的体验都会有所不同吧,可以确定 ...
- 个人阅读作业——软件工程M1/M2的总结
临近学期末,本学期的软件工程课也已经结束了,在此我对软件工程课中,我们团队M1和M2开发阶段中,我做的工作做一个总结 我是DEV,主要工作是等着上级给我分配任务,但是很多时候如果这个活我不干,其他人就 ...
- 【个人阅读】软件工程M1/M2阶段总结
这次作业是好久以前布置的,由于学期末课程设计任务比较重,我在完善M2阶段的代码的同时又忙于数据库的实现和编译器的实现,一度感觉忙得透不过气来....到这些都基本完成的时候,会看自己以前的阅读心得,觉得 ...
- 软件工程M1/M2总结
也不分M1/M2了,就从头到尾的梳理一下这学期的软工课吧. 第一节课,老师就稀里哗啦说了一下这学期要怎么搞,什么个人项目啦,结对项目啦,团队项目一二啦,还要组队啊什么的,然后风风火火的组队. 个人项目 ...
- 【个人总结】软件工程M1/M2总结
个人博客连接: http://www.cnblogs.com/lwq12061168/p/4094252.html http://www.cnblogs.com/lwq12061168/p/40284 ...
- 【个人阅读作业】软件工程M1/M2总结
链接:”看<快速软件开发>的五个问题“ http://www.cnblogs.com/leiyy/p/4027759.html 一.较为明白的问题 1. 在文章的第一个关于Square_T ...
- 【个人阅读】M1/M2阶段总结
1.以前博客的链接 http://www.cnblogs.com/zyctsl/p/4028006.html http://www.cnblogs.com/zyctsl/p/4094011.html ...
- 个人阅读作业——M1/M2总结
~ http://www.cnblogs.com/wx1306/p/4831950.html 在这篇博客中,我提出来一些关于软件工程的问题,但随着这一个学期的即将结束,以及我对软件开发的了解的深入,我 ...
随机推荐
- Mongo学习---mongo入门1
Docker安装以及设置mongo用户 docker pull mongo (拉取镜像 默认最新版本) docker images (查看镜像) docker run -p 27017:27017 - ...
- shell基本语法记录
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个 ...
- nginx代理 upstream轮询
问题描述 我有2个Tomcat 一个端口开启(8021),一个端口未开启(8022),在nginx里用upstream模块进行代理 ,代理的负载算法采用的是默认的轮询算法,配置成功后,访问页面时并没 ...
- windows 2003 IIS 设置 FTP被动模式
IIS FTP 将21端口更改为xx123端口: 更改数据端口: cd c:/Inetpub/AdminScripts cscript.exe adsutil.vbs set /MSFTPSVC/Pa ...
- Sql Server 只有MDF文件恢复数据库的方法以及2008清除日志文件
首先建立同名的空数据库,然后停止数据库服务运行,将MDF文件覆盖后启动服务,并修改和执行下面的语句. alter database JinMa_NYGL set EMERGENCY alter dat ...
- mac系统如何在当前目录下打开终端
给大家推荐一个好用的终端工具 Go2Shell:https://itunes.apple.com/cn/app/go2shell/id445770608?mt=12 在没有这个工具之前 找了好多在当前 ...
- 使用with open语句(未完)
来源链接 https://blog.csdn.net/testcs_dn/article/details/45719357 读文件 读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和 ...
- (2)free详解 (每周一个linux命令系列)
(2)free详解 (每周一个linux命令系列) linux命令 free详解 引言:今天的命令是用来看内存的free free 换一个套路,我们先看man free中对free的描述: Displ ...
- YOLO(5) YOLO2 代码讲解
运行 darknet-rect2.exe detector demo F:/2Project/YOLO/yolo2/3data/TestData/data/voc.data F:/2Project/Y ...
- Qt+QGIS二次开发:QGIS中使用QgsRubberBand类创建临时图形
1 概述 临时图形Rubberband主要用于高亮显示.交互绘制等情况下.2 原理 临时图形是在一个底色透明的图层(顶层)上,添加已有的几何元素或者创建一个几何元素(临时图形),可以设置相应的样式, ...