软件工程在百度上定义为软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。其实,软件工程简要的概述就是从软件项目的开始到项目结束的一个管理实施的过程。产生这一学科的原因是由于上世纪的应用软件出现了软件危机,软件危机是指在计算机软件研发,运行,维护和管理过程遇到的一系列严重问题。正是软件危机给人们带来财产和生命的代价才促使这门学科的产生。
产生软件危机的主要原因有开发规模大,软件复杂度高,需求量不断增加,开发过程没有统一的标准和方法,软件设计和分析不到位,开发人员沟通不足以及测试不细致等等。解决这些问题的措施主要有这几方面,技术上要使用统一的开发标准以及适合开发改工程的软件,管理上要分工明确,要制定合理管理方案,保证质量。
软件工程最注重软件过程中的开发过程,主要包括项目启动,对需求的调研,概要设计,详细设计,编码,测试,项目部署,项目结束,这是一个系统开发的工程。软件开发的模型有这几种:瀑布模型 , 快速原型模型 , 增量模型 ,
螺旋模型 , 喷泉模型等等。我们常用的软件开发方法有结构化法 , 面向数据机构法 ,面向对象法等。软件生存周期阶段划分的原则包括,各阶段的任务相对独立,便于分阶段计划,逐步完成。同一阶段的工作任务性质尽量相同,有利于组织管理,明确开发人员的分工与职责,以便协同工作,保证质量。软件生存周期就是从开始研发软件到软件停止使用的整个过程。是指软件从用户提出需求到开发,使用,维护,到最后淘汰的整个周期。整个软件最重要的是前期对需求调研并分析。整个对需求的分析是会对整个软件接下来的工作量以及对整个软件设计及运行的错误率变得跟低一些。合理采用软件开发模型会对整个软件设计周期有一定的帮助。软件工程是为了获得高质量软件所需要完成的一系列任务的框架,规定完成各项任务的工作步骤。