现代软件工程系列 学生的精彩文章 (5) 其实还是人的问题

http://springgreen9527.spaces.live.com/blog/cns!354E19E8B3074CC7!171.entry?sa=370423590
 

TM 1.0发布感想
      课程快要结束了,回想起整个课程来,和最初的设想差别的确很大,我也没有想到我们这组的进展会如此的不顺利。用一句话来说,“很受伤”。我前段时间和一个J40的师兄(Mr. 8)聊天,他说他最近在看一本软件工程的书,书中提到了一个“人件”的概念,和“硬件”“软件”并列。他很黯然的对我说,软件工程其实就是“人”的问题,当时我就有“相见恨晚”的感觉,因为我当时也很黯然。还是一点一点来说吧。

      首先,这门课程的确讲授了软件工程方面很多很实际的知识,同时课程也设计的循序渐进,一个学期下来,虽然失败了,但是我收获很多。以前不知道软件为何物,单纯的认为软件是代码堆起来的金字塔,现在看来软件工程中方法要比写代码重要,一个有效的方法可以有效的减少废代码的数量。

      但是这么课最大的问题并不在于知识的讲授,而使如何在软件开发过程中处理人与人之间的关系。在现实的软件设计过程中,大家都约束在一定的权利和利益的关系之中,所以各个角色能够各司其职,各尽其能。但是在我们的课堂上,我们都是平等的,所以大家只是被约束在一个一文不值的“道义”之中,一旦涉及自己的根本利益,比如“玩的时间”,“排练的时间”,“陪女朋友的时间”,那么让“道义”见鬼去吧。有人提出让PM掌握一定的给分权利来约束大家,实际上没有从本质上解决这个问题,毕竟PM的地位和组员是一样的,甚至是至交关系,谁也不愿意看到自己的同学因为自己而挂了(虽然这是由于他没干活造成的),所以这个约束作用也是会大打折扣的。如何在软件工程这门课上模拟出类似真实软件开发的环境,还是需要“大智慧”的人去发现。

      实际上邹老师说一开始我们组是最安全的,着实把我吓了一跳,说的我都有点相信了。但是如果是我们班的同学应该知道我们组的成员是一种什么样的情况,某些人自己心里也是明白的。所以即使是设计过程说的多么天花烂醉,一旦到实现的时候总会出现很多掉链子的情况,因为在设计过程中他根本没有去考虑自己的利益,但是一旦实现了,那么他就开始后悔了,推三拖四的。其实我们组是最好的例证,虽然我们的计划是11月定的,但是我们组的代码大部分都是12月中旬写的,更不用说连调了,这其中就是因为有些人没有干活。还好,这些人不是很冥顽不化,在我的“悉心劝说”之下还是动手了,以至于我们的工作得以完成。

     其次,我们组,应该说是我对软件的需求认识不够,在软件设计的过程中提到了自以为合理的需求,实现的时候却发现无比的艰难,后来我们的组员根据前面的设计进行了改进和简化,才使得我们的项目得以顺利进展下去。在很多软件工程的书中都提到过这种现象,不知道是不是叫做“软件黑洞”,如果对软件需求定义的不合理,会毁掉一个软件,但谁才能知道“合理”的真正含义?

    剩下的一些问题则是能力问题,比如语言不通,不懂C#,不懂Wpf,不懂Boost,不懂MySql,好像我们几乎没有使用什么以前会的东西来编程,不过现在这些应该都算弄明白了,也是一个不小的收获。又比如方法不通,很多人都没有学过设计模式,软件的可扩展性极差,可维护性野很差,给我的映像是,“我们始终在改代码”。

    最后说一下这门课程的评分,其实作为一个大四的人,已经么有什么追求了,所以只要能够给我通过的话,我不是很在意我得了多少分。但是这么课程的给分还是有点不合理。首先PProject就像一个笑话,前前后后折腾了半个学期,还没有什么很好的结果(很多DEv都倒在了Test的手中),评测过程也极其的不透明(自己的程序怎么挂的不知道,Test甚至不通知一声),评测标准也很不合理(不知道是Test的方法错了还是Dev设计有问题,同时分别Test给分和Dev的给分本来就不公平)。其次是T Project用工业界的你死我活的方法(在P Project中也用了)来给我们评分,也就是说即使有时你很努力,但是你还是什么都得不到。但这只是一门课程,这样做使得这么课的性质就变了。

好吧,就写这么多吧~~

有谁想拍就拍吧~~~~

 

------ by  Hu Wei

11:32 PM | Blog it
Comments (6)

 

Yuan CHEN - Jan. 2, 2009
问题总结得蛮好的,是人都会犯错,就看能不能吸取教训立刻爬起来,然后下次别在同样的地方跌倒 :-)
问题总是有很多,可以积极一点想些对策,来尝试解决这些问题。不怕动手犯错,就怕不动手眼睁睁看着情况进一步恶化...

>>也就是说即使有时你很努力,但是你还是什么都得不到
我高中时很努力,但还是没考上清华...
 

xin 邹欣 - Jan. 3, 2009 - Delete
人件 - 好书。 经历了这个项目,可以看看。
 

Ke Liu - Jan. 7, 2009
我现在觉得,"威逼利诱"是最好的push手段

"由于Windows 一再拖延,BillG 最后跟 SteveB 说 - 如果今年下雪之前Windows 还没出来,你就别在这儿干了。 书中没有详细讲 SteveB 回头来又和他的团队讲了什么,但是第二天一个员工背着睡袋进驻了办公室。
"
 

xin 邹欣 - Jan. 8, 2009 - Delete
>一开始我们组是最安全的
你们最安全,是因为你们的顾客已经找到了。但是你们的顾客愿意用你们现在的版本么? 有固定的顾客,并不一定能保证软件的质量。相反,这个团队也许会丧失了解顾客,吸引顾客的意愿 - 反正你总要用我的软件,我这么着急干什么?
贵校许多学生不得不用的网站是不是也有类似问题?
 

SG - Jan. 8, 2009
>你们最安全,是因为你们的顾客已经找到了。但是你们的顾客愿意用你们现在的版本么?

就我找的几个话剧队同学来看,他们还是愿意的~那天的ppt上也有写user feedback,只是时间不够略过了
实际上,清华只有一个剧团,我们组一开始的目标也是依据这个制订:先针对清华话剧队把这个软件编好,再争取把它推广到其他学校的剧团或者清华其他社团,例如军乐队等。
目前看来,这个目标勉强达到。
话剧队没有这个软件也能正常运转,无非平时麻烦一些罢了。
话剧队希望有这样的软件,因为确实可以节省很多人力和时间。
所以其实这个软件是有人用的,但编的不好也没人用,所以我们组在开发的时候倒是没有这种皇帝女儿不愁嫁的想法。

 

xin 邹欣 - Jan. 8, 2009 - Delete
我后来和几位评委交换意见,他们都纳闷你们为什么不用现成的web 方案,而要选择自己写 C/S。 当然,如果自己写C/S, 说不定以后可以支持 offline, 但是那是几年以后的事呀? 再说那时说不定 Browser 都有offline 模式了。
不要为将来可能的情况优化。

如果你们经常和用户沟通,是否会发现他们事实上用web 的方案也可以?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/500542.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

arm linux head.s,arm-linux head.S 源代码分析

arm-linux head.S 源代码分析arm-linux head.S 源代码分析这是ARM-Linux运行的第一个文件,这些代码是一个比较独立的代码包裹器。其作用就是解压Linux内核,并将PC指针跳到内核(vmlinux)的第一条指令。Bootloader中传入到Linux中的参数总共有三个&#xf…

现代软件工程系列 学生的精彩文章 (6) 我们其实还不懂互联网

from http://cid-ba6a52af193f301f.spaces.live.com/ 第一次把我们自己的写的东西放在网上让别人去用,今天过得非常有传奇色彩,我决定讲个长故事来纪念我们的发布第一天。 由于找不到能放软件的地方,我们把软件以附形式件放在了zol的论坛&am…

linux制作cpio镜像文件,制作CPIO格式的INITRD

LINUX内核自从2.6版以后,就大力推荐CPIO-INITRD.现在各大LINUX发行版的INITRD都是CPIO格式的.这次主要说下如何制作CPIO-INITRD.首先假设咱们已经用BUSYBOX或KLIBC或别的什么做好了根文件系统,位于~/rootfs下.按照IBM DEVELOPERWORKS里的文章说,可以用以下命令制作CPIO-INITRD:…

现代软件工程系列 结对编程 两周写好3D 陆战棋

from: http://cid-ba6a52af193f301f.spaces.live.com/blog/cns!BA6A52AF193F301F!122.entry Oh,my pair project From new Pair(HuangShuo,WangGuan) 签入代码,发送邮件,关上Flex Builder。纠结了差不多两周的Pair Project终于能够有个了结了&#xff…

现代软件工程系列 学生精彩文章(7) 宝贵的教训

from http://codecanvas3706.spaces.live.com/blog/cns!5A77585898179960!205.entry [当学生的时候, 最好犯一些错误, 经历一些失败. 不经历一些惨痛的失败, 难道要到工作的时候才失败么? ] 个人的失败感言 记得在读完了《梦断代码》之后,我也只是为chandler项…

深度Linux安装火狐,deepin或Ubuntu安装最新版Firefox,并设置去掉标题栏

第一步:使用一下命令下载并安装Firefox################################### 先卸载老板Firefoxsudo rm -Rf /opt/firefox*sudo rm -Rf /usr/bin/firefoxsudo rm -Rf /usr/share/applications/firefox.desktop# 下载最新版Firefoxwget "https://download.mozil…

现代软件工程 作业 个人项目

MSRA Advanced Software Engineering Project: Individual Project - Word frequency program 2010/11/1 考察重点: 基本算法的实现; 基本I/O; 字处理; 程序效能分析; 简单测试用例 Implement a console application to tally the frequency of words under a directory (…

现代软件工程 团队博客作业 如何评价个人在团队中的绩效

在现实社会中有很多团队合作的项目, 他们是如何评价个人在团队中的绩效呢? 例如下面的情况: • 一群人把一堆砖头从A地搬到B地• 一个剧组排演话剧• 一群队员在职业球队踢球• 医生和护士做手术• 计算机系的一群老师教课• 一群学生做软工项目 (PM, Dev, Test) (这是重点) …

手势在c语言的作用,手势态度在人际交往中的重要性

一、人际交往的定义及其在社会活动中,人们运用语言符系统或非语言符系统相互之间交流信息,沟通情感的过程就是人际交往。人际交往是人们共同活动的特殊形式。任何个人或群体进行的交往,总是为达到某种目标、满足某种需要而展开的。二、人际交…

现代软件工程 结对编程 (I) 三维棋类游戏

Pair Project I 3D Board Game Turn a usual 2D board game into 3D by transferring board and game rules into 3D. Goal: how to collaborate in explorative situation (new requirement, new language, lots of ambiguity) 把一个二维的棋类游戏变成三维游戏, 两周时…

洛谷找最小值c语言,洛谷 P1478 陶陶摘苹果(升级版) C语言实现

原题地址:P1478 淘淘摘苹果(升级版)- 洛谷题目描述又是一年秋季时,陶陶家的苹果树结了n个果子。陶陶又跑去摘苹果,这次她有一个a公分的椅子。当他手够不着时,他会站到椅子上再试试。这次与NOIp2005普及组第一题不同的是&#xff1…

现代软件工程 结对编程 (II) 电梯调度 算法和测试框架

[很多同学完成了上一个结对编程项目后, 很想知道下一个项目是什么, 我们这次要练习如何设计 接口, 测试框架, 和算法. ] [博客园的朋友们也可以试一试怎么高效地解决这个问题] 现代软件工程系列 结对编程 (II) 电梯调度程序 ------- Pair Project II Elevator Scheduler D…

c语言入门自学为什么要用,为什么要将C语言作为入门语言?

编程是向计算机发出指令以执行特定任务或执行指令的行为,目前专业行业和学术界使用数百种编程语言。一个人需要熟悉并且能够使用至少几种编程语言进行编程才能作为目前专业开发者的成功。学习编程的最好理由在于它对所有人开放,你不需要大学学位即可通过…

c语言case接收字符,switch-case-break:字符释义 | 新思维:C语言程序设计

【问题:字符解释】从键盘输入一个字符,当输入的字符为“y”或“n”或“c”时,分别显示“Yes”、“No”、“Cancel”,输入其他字符时显示“Illegal!”。#include int main(int argc, char *argv[]){char cgetchar();switch(c) {cas…

现代软件工程讲义 如何提出靠谱的项目建议

互联网时代对于创新者来说, 既是一个伟大的时代, 又是一个糟糕的时代。 你有很多机会做出影响世界的产品, 但是, 似乎任何想法都被别人想到过了, 做出来了, 上市了, 移植到各种平台上去了… 那么我们后来人除了羡慕别人生得早, 还有什么机会呢? 但是往往不经意间, 在同学们…

现代软件工程 教学计划 中国科学技术大学-微软亚洲研究院联合培养班

屈指一算, 我已经讲了3年 <现代软件工程>, 教了 4 个班。 2007 - 2009 清华大学理论计算机科学研究中心 (姚班) 2009 北航计算机系还有在北大合作的教学: 2007 - 2009 北京大学软件学院 (课程名叫 - 微软软件实现技术, 我是讲师之一) …

c语言程序设计主编张玉生教材答案,清华大学出版社-图书详情-《Visual Basic程序设计实验指导》...

前言Visual Basic程序设计实验指导本书是《Visual Basic 程序设计教程》的配套实验指导书&#xff0c;全书内容分为四部分。第1部分为实验指导&#xff0c;设计了18个实验&#xff0c;每个实验都是编者精心设计和选择的&#xff0c;所构思的实验内容选材合理&#xff0c;实验目…

基础知识很扎实 - 但是面试就是做不出来, 怎么办? (长, 慎入)

http://www.newsmth.net/bbstcon.php?boardMicrosoft&gid48785 有人提问: 看了很多的面试题之类的&#xff0c;感觉虽然自己数据结构与算法基础知识很扎实&#xff0c;但还是做不出来&#xff0c;所以请高人指点。 这个问题看似迷惑, 其实提问的人搞混了两件事 - “数据…

c语言中的for循环怎么提前终止,[新人求指教]51C语言编程可否用中断令循环结束提早结束...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼C51_C语言编程控制流水灯硬件电路 p0 接 led 8 个&#xff0c;P33 接按键使用中断2开机灯按1~8逐位闪烁&#xff0c;并循环按键后改为 两灯亮 的流水灯下面写了个程序#include #include #define uchar unsigned char#define uint u…

湖南工程学院+c语言程序设计人事档案管理系统,程序设计人事档案管理系统.doc...

课 程 设 计 报 告课程名称 C语言程序设计课题名称 人事档案管理系统专 业 电子信息班 级 1001班学 号 201001030112姓 名指导教师 肖伟平 黄哲 罗敬2011年 6 月 23 日湖南工程学院课 程 设 计 任 务 书课程名称 C语言程序设计课 题 人事档案管理系统专业班级 电子信息1001班学…