zoukankan      html  css  js  c++  java
  • 软件工程实践----初步接触软件工程的总结

      这学期的软件工程课即将结束,下面我就对本学期的软件工程课做一下基本的总结。

      首先,这是我学期初在阅读了相关资料后提的一些问题:http://www.cnblogs.com/bsdbch/p/4027935.html

      这些问题,有的在实际的课程实践中碰到了,因此得到了更深一步的了解。比如关于如何进行需求分析、产品定位,再比如如何控制代码的质量,如何架构整体框架从而让子函数、子类变得更小。但是也有些问题,由于我们的产品没有达到用那些高级方法的高度,所以没有过多的了解。比如关于程序模块间的耦合。

      下面说说我通过看书和实践学会的那些东西。

    关于需求:

    1.采集需求

      直接需求的采集(主要):需求采集需要 明确目标用户 手段有:用户访谈,调查问卷,可用性测试(让少部分用户对DEMO版提前试用),数据分析

    间接需求的采集(次要):从接触用户的运营、技术、销售等人员采集需求。

    2. 分析需求

      用户需求!=产品需求。 不要听他说什么,而要知道他内心想要什么。将用户需求变成产品需求。

    满足需求的三种方式有:改变现状、降低理想、转变需求。

    3. 筛选需求

      需求太多,资源有限,我们要做的是选出需要实现哪些需求。筛选标准是:性价比。

    4. 需求管理

      将排序好的需求分类、排序,管理好以便临时变更。

      总结一下也就是,发现所有需求,找到重要需求,实现需求并不断管理更新需求。

    关于设计:

      关于程序设顶层计我没什么可以说的,因为我没做具体的设计工作。我只是知道顶层设计很重要,可以避免之后的很多问题。我们组就因为初期设计的不对走了很多弯路。

    关于程序管理:

      没有进行太多的代码编写工作,作为PM,我的主要任务是将代码模块分配给不同的DEV。听起来简单,实际有很多问题。

      比如设想中DEV们几天内把代码写好,代码要控制在多少行之内,可实际上有的DEV开发快,超出预计时间几天就完成了,有的DEV们可能懒可能慢一些,规定时间还没有完成,这时候就需要在各个DEV们间协调沟通,或者换人换活儿开发,或者让原DEV更努力,总之,尽量保证进度的顺利。

      再比如DEV在开发到一半会提各种设想不到的问题:服务器崩了写的代码没了怎么办可以延期么?我的方法只能写那么多行不会删减啊你看怎么办?总之问题千奇百怪,应对措施也千千万万。

      这时候千万不能乱不能急,你是PM,你得掌控大局。你要保证的大前提是:程序高质高量高速的完成,你要保证的小前提是:队内气氛和谐、团结、向上。你的最终目标是,将这个产品设计好。而要实现这些,你要多沟通,多思考,多干活,多承担。在这个前提下,你调度所有的资源,总之,要有”我背锅,你们领赏“的觉悟。

    关于测试和发布:

      程序发布一定要留缓冲时间!因为像上面我所说的,软件开发过程中总会遇到各种奇奇怪怪的问题,千万不要信心满满地觉得我们顶层设计很好,每个DEV也都是顶级的肯定没问题,计划赶不上变化,留3到4天的缓冲时间,绝对没错的。

      这就是我这学期学习软工的感想,谢谢老师给我们这个机会让我们可以感受软件工程的整个流程,学这学期的课,收获很大,帮助很大。老师帮我们入了门,修行还在我们自己,今后的IT路上,我们无时无刻不在软件工程的路上,我一定会更加努力。谢谢老师。

  • 相关阅读:
    spark 读取mongodb失败,报executor time out 和GC overhead limit exceeded 异常
    在zepplin 使用spark sql 查询mongodb的数据
    Unable to query from Mongodb from Zeppelin using spark
    spark 与zepplin 版本兼容
    kafka 新旧消费者的区别
    kafka 新生产者发送消息流程
    spark ui acl 不生效的问题分析
    python中if __name__ == '__main__': 的解析
    深入C++的new
    NSSplitView
  • 原文地址:https://www.cnblogs.com/bsdbch/p/4215786.html
Copyright © 2011-2022 走看看