《软件工程导论》课程学习心得

2018/06/07 15:13
阅读数 305

      未接触软件工程之前一直都很好奇这门课教授的是什么内容。学了一个学期的软件工程课, 终于知道了个软件工程的大概。学的时候总觉得很抽象,理解起来好像不难,但总是摸不着头脑一种很茫然的感觉。

       曾经以为程序就是软件,软件就是程序。学习这门课程第一个收获是,知道了二者的不同之处。我想也是程序的不断复杂化导致了软件危机的发生,使得人们不得不探索新的解决方法。经过陈老师的讲解,理解了软件工程,就是一套用于软件的团队开发,以提高软件质量和程序员工作效率为目的的规范。其核心就是, 对于软件开发的5个重要组成部分:需求分析,设计,编码,调试,维护,如何组织这5个部分的工作,以及如何完成每一个工作。 吾生也有涯,而知也无涯,学习永无止境。起初,对软件工程处于一知半解的状态, 分工比较混乱。在划分模块后明确了各自分工,渐渐形成良性循环。

       在学习过程中,知道了团队合作十分重要,争议固然存在,但通过讨论、协商,群策群力, 在不断磨合中能够达成一致与默契。团队成员中能力各有高下, 互相尊重, 各取所长, 不宜妄自菲薄。组长多加协调,组员积极配合,才能合作愉快。

       学习能力体现在能尽快接受新的知识,顺应变化,学为所用。上《软件工程导论》这门课,我的收获大概如下:

       我们为什么需要软件工程呢?上面已经给出了一些原因。专业点讲,软件工程最终是为了实现“软件制造业”的社会化,工业化大生产,提高其劳动生产效率。只有如此,软件业才能实现社会化,工业化大生产,才能“做大做强”。没有管理的设计是失败和混乱的设计,没有设计指导的编程是无序的忙碌的。根据开发的软件的规模,应该适当程度的运用软件工程化的思想,需要灵活,毕竟我们开发的软件大多数是中小型的,大型的并不多见(我是这么认为的)。但只要涉及人员间的交流和沟通,或多或少都要需要软件工程才能更有效率,工作成果更稳定。

       其实开发软件,就像是解决一个逻辑问题。想想自己平时是怎样写程序的。首先是要有一个想法, 即我写的这个程序是要干什么的;然后就是对要实现的核心功能大概构思一种或多种实现方法,并从中选出一种自认为是较好的;接下来就是将涉及的各种主要或次要功能分成各个模块;最后就是分模块来编码和修改BUG。在我看来,除了第一步外,其余的步骤应该是一个循环的过程。在编码的过程中, 你总是需要不断地回过头来修改原先的模块设计,甚至最初选定的实现算法。

       具体到每一步的工作要怎样完成,是非常灵活的,只要把握住大体的方向就行。在进行分析,设计,编码,调试,维护这几部分的工作的时候,最核心的就是文档的编写。

       1. 可行性分析就是关于当前项目能不能干的分析结果。

       2. 项目描述这是在决定立项以后,对当前项目的一份扼要说明。

       3. 需求分析就是对客户要求的功能的定义。

       4. 软件设计这就是对程序的每一个模块的详细设计的说明文档。

       5. 开发日志我一直都认为这是文档中最有趣的部分。 开发日志相当于编码阶段的文档, 它的形式可以很随意, 主要是记录一些在写程序时突然萌发的灵感, 或对代码的一些微小的 修改,或对程序结构的一些微小变动等,还要对上述这些修改变动作些说明。

       6. 测试分析 用于指出程序存在或潜在的缺陷和错误,以及程序性能的数字描述。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部