软件工程概述

软件工程概述

软件工程这一概念是在20世纪60年代末期提出的,其目的是提倡以工程化的思想、原则和方法开发软件,并用来解决软件开发和维护过程中的诸多问题。要认识软件工程就需要先了解其主体——软件。软件是计算机系统中与硬件相对应的另一部分,是一系列程序、数据及相关文档的集合。软件具有复杂性、一致性、退化性、易变性、移植性和高成本性六个特征。软件工程的主要内容则是在软件开发过程中用工程化的思想,而工程化思想的核心是把软件看作一个需要通过需求分析、设计、实现、测试、管理、和维护的工程产品。在软件工程化开发中遵循几个基本原理和基本原则。其中基本原理包括:推迟实现、逐步求精、分解与抽象、信息隐蔽和质量保证,基本原则有分阶段的软件开发、坚持进行阶段评审、实行严格的产品控制、采用先进的程序设计技术、明确责任、开发小组的人员因少而精和不断改进开发过程。软件开发并不只是简单地编码,软件开发的本质是实现问题域中的概念和处理逻辑到运行平台的的概念和处理逻辑的映射。目前使用的较广泛的软件工程开发学,分别是结构化开发学和面向对象开发学。结构化开发学采用数据与行为分开的原则,包括结构化分析、结构化设计、结构化编程、结构化测试等技术。面向对象开发学习方法采用封装数据与行为的对象的原则,包括对象的分析、设计实现、测试和维护等过程。
软件工程诞生的契机是当时遇到了软件危机。软件危机的成因是由于在软件开发的早期阶段,计算机硬件技术不断进步,要求软件能与之相适应,但是软件技术一直未能满足形势发展提出的要求,致使问题积累起来,形成了日益尖锐的矛盾,最终导致了软件危机。软件危机的具体表现有:软件规模越来越大,复杂度不断增加,挼年的需求量也日益增大,且价格昂贵,供需量差日益增长;软件开发是一种高密的脑力劳动,软件开发工作常常受挫,质量差,很难按照要求的进度来完成指定任务,软件的研制过程管理起来困难,往往失去控制;软件开发的模式及技术已经不能适应软件发展的需要。

你可能感兴趣的:(软件工程概述)