软件工程之总体概述

软件工程也看了一段时间,在完成学生信息管理系统和机房收费系统的基础上,看软件工程视频也成了一件不是非常头疼的一件事情了,基本上都有 共鸣,有了共鸣,自然就觉得他有意思了。

软工视频和其它视频课本一样,首先介绍的是软件工程的产生与发展,比较系统地介绍了软件工程这门课程。论述了什么是软件工程,什么是软件生命周期,软件工程过程的基本活动,软件开发方法,软件工程的基本原则、基本内容与目标等。


软件工程之总体概述_第1张图片

一、软件危机

软件危机指的是软件开发和维护过程中遇到的一系列严重问题。软件危机的主要表现有几种方面:

1、产品不符合用户的实际需要。软件做出来是给用户使用的,所以作为软件的开发者应该站在用户的角度开发软件,开发出实用并且能够令用户满意的软件。如果软件不能满足用户的实际需要,那这款软件的价值就没有体现出来。很简单,软件不能被用户使用,自然会带来一系列的问题,从而导致危机的出现。

2、软件开发生产率提高的速度远远不能满足客观需要,软件的生产率远远低于硬件生产率和计算机应用的增长,使人们不能充分利用现代计算机硬件提供的巨大潜力。

3、软件产品的质量差,可维护行差。

4、软件文档资料通常既不完整也不合格,对软件开发成本和进度的估计经常不准确。

5、软件的价格昂贵,软件成本在计算机系统总成本中所占的比例逐年上升。软件的开发是人工制作 ,到目前为止,还没有出现制作开发软件的工具,要付出大量的人力,而且要求软件的开发人员要有较高技术水平以及思想素质。

二、属性

美国著名的软件工程专家Barry Boehm提出软件工程的定义为:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料,同时他也提出了软件工程的七大原理,这七大原理网上有介绍点击打开链接。我觉得这七大原理贯穿着整个视频,软件的开发过程中的内容、方法、原则、目标都和这七大原理有关。

1、用分阶段的生命周期计划严格管理。这个原理与软件的生命周期密切联系着,软件的生命周期分为:可行性分析、需求分析、总体设计、详细设计、编码和单元测试、综合测试和软件维护。每个阶段都有不同的方法策略进行管理。

2、坚持进行阶段评审。在不同的阶段,对软件的要求也不一样,会有不同的目标和原则。进行阶段评审,可以尽早发现问题,解决问题,减少解决问题的成本。

3、实行严格的产品控制。严格的产品控制,可以减少问题的发生,这也是对软件工程的一个要求,也可以说是原则。

4、采用现代程序设计技术。采用现代的程序设计技术,可以缩短软件的开发时间,也可以减少问题的发生,避免软件发布时的软件兼容性问题。

5、结果应能清楚的审查。根据软件开发项目的总目标及完成期限,规定开发组织的责任和产品标准,可以提高软件开发过程的可见性,更好地进行管理,从而实现所得到的结果能够清楚地审查。

6、开发小组人员应该少而精。软件开发小组的组成人员的素质应该好,而人数则不宜过多。开发小组人员的素质和数量是影响软件产品质量和开发效率的重要因素。素质高的人员的开发效率比素质低的人员的开发效率可能高几倍至几十倍,而且素质高的人员所开发的软件中的错误明显少于素质低的人员所开发的软件中的错误。

7、承认不段改进软件工程实践的必要性。整个软件的开发过程就是一个实践的过程,不可能把一个系统敲完再进行运行测试,一边开发,一边运行程序的每一个模块,这样可以提早检测出问题,使得程序得以顺利的开发。就像我们在敲机房的时候一样,敲出一个窗体,甚至是一个按钮功能的时候,都要运行一下是否能够成功运行。

我觉得视频中所提到的六种开发方法,瀑布模型、螺旋模型、第四代技术模型、圆型模型、构件组装模型和混合模型都体现着这七大原理的思想。

你可能感兴趣的:(C/S,软件工程)