V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
gainsurier
V2EX  ›  程序员

大家读书时候软件工程怎么上的?

  •  
  •   gainsurier · Nov 8, 2016 via Android · 4525 views
    This topic created in 3462 days ago, the information mentioned may be changed or developed.
    楼主老师用的教材是张海藩的软件工程导论,第六版。按照书上固定的软件设计模板来讲课,没意思啊。大家来分享一下自己当时怎么学习软件工程的经验,方便后人参考啦。
    39 replies    2017-01-06 02:51:53 +08:00
    x464744246
        1
    x464744246  
       Nov 8, 2016   ❤️ 1
    这个不是有没有意思的问题,虽然书上的很多开发模型你看上去很老,其实现在很多传统的公司依旧还是在用,改变的成本太大了, UML 的那一套还是适用大部分公司的。个人比较喜欢敏捷开发 XD ,效率不可同日而语。而且其实,软件工程出去后感觉还是在职业后期会比较有帮助,前期哪个公司会让你去干这个= - = ,以上纯个人理解~
    bytenoob
        2
    bytenoob  
       Nov 8, 2016   ❤️ 1
    像罗永浩就是没学过软件工程,所以锤子早期经常跳票延期,楼主要吸取教训。
    Bown
        3
    Bown  
       Nov 8, 2016
    就记得什么螺旋模型 UML 之类的了,也是为了应付考试... 还是看看人月神话这类书吧
    menc
        4
    menc  
       Nov 8, 2016   ❤️ 2
    软件工程课程 + 为期两周的小学期

    课程主讲没什么卵用的软件工程和比较新的敏捷开发。
    小学期两周,命题作文,
    固定组队 7 个人,按敏捷开发配置 project manager , product manager , 组长等,自绘 storyboard ,自绘心情板等等
    自己进行技术选型和 server 配置。

    每天 9 点-5 点,所有人到达场地进行开发。

    非常有用,会编程的会成为好的 leader ,对软工也有更深刻的印象,
    不会编程的会强行学会编程。

    非常好的体验。
    我们那一届是一个问卷调查网站,我们下一届是一个邮件系统。
    yingos
        5
    yingos  
       Nov 8, 2016
    我会告诉你我大一还在学 html 、 ps 、 ppt 么?软工专业。。
    gainsurier
        6
    gainsurier  
    OP
       Nov 8, 2016 via Android
    @yingos 针对软件工程这门课。
    gainsurier
        7
    gainsurier  
    OP
       Nov 8, 2016 via Android
    @menc 非常好的参考模式,我们没有小学期,不过个人倒是可以模仿这个模式。
    gainsurier
        8
    gainsurier  
    OP
       Nov 8, 2016 via Android
    @Yc1992 日常锤黑 2333
    gainsurier
        9
    gainsurier  
    OP
       Nov 8, 2016 via Android
    @menc 有哪些流程?敏捷开发的流程都具备了?
    menc
        10
    menc  
       Nov 8, 2016   ❤️ 1
    @gainsurier
    scrum 包含的全都具备了,包括站立会议,真要求站着
    包括人员配备,
    包括 story board ,老师会发便利贴来写 user story
    包括心情板,每天“员工”要在板上更新当天心情
    还有燃尽图等等

    版本迭代包括两次,一周一次,每一次有老师来验收版本。
    fds
        11
    fds  
       Nov 8, 2016   ❤️ 1
    当时自己专业没有,旁听了下。主要还是自学人月神话和在公司里直接感受……
    jsyangwenjie
        12
    jsyangwenjie  
       Nov 8, 2016   ❤️ 1
    自己学了 program analysis 和 program verification 还有 formal check 相关的一些论文-。-
    daya
        13
    daya  
       Nov 8, 2016 via Android   ❤️ 1
    我们上软件工程就是老教授讲故事,后悔当时没有好好听。
    yjxjn
        14
    yjxjn  
       Nov 8, 2016   ❤️ 1
    确实,我当时上课的时候觉得软工是最没意思的课程之一,因为整套系统理论你学习下来的感觉就是:
    这玩意需要花这么长时间学习么。。。。

    进入公司以后,你就发现了,如果你的效率是 1 ,其他人的效率是 0.8,0.5,1.2 这种的。
    综合下来,效率不会超过 0.5 的。
    你实际遇见的情况就是:各种各样的问题,会阻碍项目进展,甚至比你在书本遇见的情况还要糟糕,还要软件工程方法还要落后。


    @x464744246 说的敏捷开发,在整个流程上可以节省不少时间,但是敏捷开发对于每一个参与项目的人员,个人技术水平和职业素质有着更高的要求,压力更大,不像过去传统的 UML 开发,各种人员都能进来,导致整个项目进度缓慢。。。


    如果要说经验的话,按照一个公司的流程走就可以了(小公司你可以改进一下,大公司你就按照人家流程走没有错的)。
    xuzywozz
        15
    xuzywozz  
       Nov 8, 2016
    看《构建之法》
    YORYOR
        16
    YORYOR  
       Nov 8, 2016   ❤️ 1
    上完第一节课 老师给了最终的大作业。。分组写一套完整的项目的所包含的所有的文档,分组答辩。。
    gainsurier
        17
    gainsurier  
    OP
       Nov 8, 2016
    @YORYOR 我们也是如此,后面几乎没上完一堂课都要写文档,我倒是认为先把一个项目的 demo 先构建起来之后再搞。

    @xuzywozz 邹欣老师的书很棒!值得再读。

    @yjxjn 小公司包括哪些流程?

    @jsyangwenjie 可以细讲一下吗?
    @daya 我们老师是一位三十多岁的 MISS
    @fds 哈哈
    @menc 有测试人员吗?你们怎么测试的?
    sampeng
        18
    sampeng  
       Nov 8, 2016
    睡过的。。。
    LancerEvo
        19
    LancerEvo  
       Nov 8, 2016
    我是 cs 专业的 我表示貌似没上过这门课 即使上过也是个选修 太不重要以至于我都不记得我上过了
    cjyang1128
        20
    cjyang1128  
       Nov 8, 2016
    我只记得老师特别强调需求一定要明确,所以导致我现在在公司里会把产品问的烦死,一定要问清楚产品到底要做什么鬼功能,未来会怎么样,用户使用场景等等。。。当时上的时候老师就不停地举他以前做外包时候和甲方沟通的经历,还是挺有意思哒~一学期的课需要完成一个网站,然后老师会扮演甲方,我们来和他要需求,写各种文档,画各种图,各种测试报告,最后有个答辩演示,是小组之间 PK 的,现在回想起来感觉老师还是挺用心的。还有几节课是其他老师来教设计模式,由于有老师的铺垫,以后看设计模式的书的时候,还是挺省力的。
    ooh
        21
    ooh  
       Nov 8, 2016
    问题定义>可行性研究>需求分析>概要设计>详细设计>编码>测试 我没记错吧...
    gainsurier
        22
    gainsurier  
    OP
       Nov 8, 2016
    @cjyang1128 2333 ,求产品经理心理阴影面积。最近一直在写文档,导致热情都被扑灭了。
    misaka19000
        23
    misaka19000  
       Nov 8, 2016
    @cjyang1128 哈哈,这也好啊,防止为以后挖坑了
    smallpath
        24
    smallpath  
       Nov 8, 2016 via Android   ❤️ 1
    挺有意思,特别是答辩的时候组长提前一小时说赶紧来, prd 有重大变更的时候。

    另外我们课设和主课是分开的,主课考试,有道题 42 分,根本来不及写完
    cjyang1128
        25
    cjyang1128  
       Nov 8, 2016
    @gainsurier 写出优雅的文档可是码农的基本的素养哦~
    freezhan
        26
    freezhan  
       Nov 8, 2016
    我们也是这本教材 🙈 基本水课了吧
    gainsurier
        27
    gainsurier  
    OP
       Nov 8, 2016
    @freezhan 真羡慕有邹欣那样的老师啊
    freezhan
        28
    freezhan  
       Nov 8, 2016
    @gainsurier TAT 只翻过编程之美
    menc
        29
    menc  
       Nov 8, 2016
    @gainsurier scrum 没有规定是怎么测试的,我们每个人自己单测,有些同学比较跟不上,就手动测试一些勉强代替。
    special
        30
    special  
       Nov 8, 2016
    我很肯定我当时是睡着上的。
    SPACELAN
        31
    SPACELAN  
       Nov 8, 2016 via iPhone
    工作之后发现公司里各种野路子,连我这种软件工程勉强及格的都看不下去了
    linux40
        32
    linux40  
       Nov 9, 2016 via Android
    翘课。。。
    qisuker
        33
    qisuker  
       Nov 9, 2016   ❤️ 1
    讲真的,我在软件学院学习的卡耐基梅隆大学的 SSD 课程,实用是挺实用,从 UI/UX 到数据结构到 DB 和工程模型等全方位都涉及到了,但是大家讲的软件工程应该是说工程项目管理模型。

    这方面就我这么多年工作来看,真的是过时了,看完《人月神话》你就知道,就算大项目也不能用传统工程的搞法来搞软件。

    必须速度拆成小项目,小项目拆成小 story, 小 story 拆成 task ,敏捷迭代走起来。。。这才是王道,嗯。
    inisun
        34
    inisun  
       Nov 9, 2016
    这课全翘了,我去图书馆看编译原理去了..
    gainsurier
        35
    gainsurier  
    OP
       Nov 9, 2016 via Android
    @qisuker 我还挺愿意了解一下的,虽说很大可能用不到。
    jayyjh
        36
    jayyjh  
       Nov 9, 2016
    我好像一直在睡觉 233
    itlr
        37
    itlr  
       Nov 9, 2016
    课堂里的软件工程基本都是过时的,还是找点时间多看看 YouTube 上的 tech talk 吧。
    233
        38
    233  
       Nov 10, 2016
    特扯淡一个混子老师上的
    我至今清晰记得她讲瀑布模型那页 PPT 时,只说了一句话,「看这图多像瀑布」,然后就翻页了
    aidchow
        39
    aidchow  
       Jan 6, 2017 via Android
    Cs 专业,我们是选修课,给我们上课的老师上来就是扯哲学,然后就没听了 恩,明天考试,挑灯复习
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2568 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 82ms · UTC 06:54 · PVG 14:54 · LAX 23:54 · JFK 02:54
    ♥ Do have faith in what you're doing.