课程回顾

一、重新回答最初所提的5个问题

1.开发什么样的软件适合瀑布模型?

答:由于瀑布模型是单向的、不可逆的,所以只有当开发的软件是已知领域和行业,并且有比较好的积累,有可重用的架构或者模型。或者软件对安全和性能有极其严格的要求,容不得半点疏漏,比如航空航天软件。这样用瀑布模型的话能够有效地控制每一环节,所有流程都有文档可循。

2.软件开发团队中各部门人员的分配比例是多少最恰当?

答:需求分析阶段和系统维护阶段采用“1+2”的标准人员配置模式;对于软件实施阶段和系统部署阶段采用“1+4”的标准人员配置模式。根据企业规模的大小、人力成本以及团队成员的知识结构等因素,其中代表项目经理的“1”的职责会不断调整变化,适应企业和客户的要求;另外的“2”和“4”里面的成员则可以根据工作量的大小进行灵活的增减,既保证每个阶段的连续性,使开发过程顺利的过渡,又可以保证人员的充分合理利用。

3.什么样的软件开发团队要开发什么样的软件才适合敏捷流程?

答:能自主管理、自我组织、多功能型的软件开发团队适合敏捷流程开发;由于敏捷流程的原则特性所以开发的软件都是扩展性很强,性能良好,易用性高,软件符合用户的需求,运行良好的高质量软件。

4.MSF 敏捷开发模式与MSF CMMI开发模式的区别?

答:(1)基于CMMI模型的过程改进在国内广泛的展开并获得了一定的效果,在过程改进中间会发现基于脑力的开发过程可以管理控制,但是控制力度不足,主要是基于脑力开发创造的生产方式具有其特殊的变动性,但是其中通过强调和固化一个开发管理过程,从而达到提升软件开发质量的方式必须和实际的业务和过程执行人员结合起来,否则组织过程就没有实施的基础,更达不到细化管理,控制过程稳定性和优化过程的目的。

      (2)敏捷的开发方式,通过充分发挥开发人员的创造性,通过缩短甚至剪裁传统的需求、设计,直接关注软件的核心工作产品-代码,通过开发人员协作,加强测试和协调来获得快速的开发能力,适应需求的频繁的变化。

   这两种开发管理的主导思想时存在冲突的,一个强调固化过程,让程序员遵循过程做事情,另外一个主张必须充分发挥开发人员的创造性和能力,不要约束他们的想法和能力,表面看来似乎是针锋相对。但是在其管理的核心实质都是明确了一种如何通过项目团队的协调统一,加强团队的开发能力,通过高标准的质量管理来制造出高质量,符合客户需要的软件项目产品的目的,所以两者之间就存在一种相互借鉴,互相融合和促进的可能。

5.如何成为一名优秀的软件需求分析人员,做好开发人员和用户之间的桥梁?

答:一个真正优秀的软件需求人员必须具备以下的能力。从软件需求在整个软件生命周期中的定位来看,其上接业务,下接设计和技术。从这个概念上来讲软件需求人员必须具备业务和技术两个方面的能力。对于业务,首先要解决的是对业务的理解,然后才是在理解后业务的形式化表达和业务建模能力。必须还具备相应的IT和软件工程的技术背景。

 二、所提出的新问题

1.所有的软件开发过程都应该用到设计模式吗?什么样的软件开发不需要用设计模式?

2.开发一款软件测试方法应用的越多该软件的质量就越高吗?

3.在软件开发过程中应做到哪些工作才能使软件的质量尽可能提高?

4.如何能使所开发的软件具有竞争力,是在哪方面突出?

5.如何做到绩效管理得当,绩效相对公平,具体的衡量指标是那些?

三、对学弟学妹所说的话

  软件工程其实不只是你所想的只要会编程就可以了,它是把系统的、有序的、可量化的方法应用于软件开发、运营和维护上的过程。通过学习软件工程可以让你熟悉软件开发的流程,掌控软件开发每个时段的进度和整体性的把握。在不会的时候也不要放弃,要尽量完成老师布置的任务。

四、如果重新来过

  我会及时完成老师布置的作业,和组内同学做到及时沟通,还要多看一些软件工程相关资料。

五、对教师说的话

我想对老师说的是以后的课程应在课堂上多讲一些关于软件工程的相关知识。

posted on 2016-11-30 09:34  自由jay  阅读(144)  评论(6编辑  收藏  举报