软件工程初识

简介: 随着微电子技术的进步,计算机硬件,在计算速度、存储容量、外部设备等方面都有了突飞猛进的发展,与此同时,计算机软件的研制与应用也必须跟得上硬件飞速发展的节奏。

随着微电子技术的进步,计算机硬件,在计算速度、存储容量、外部设备等方面都有了突飞猛进的发展,与此同时,计算机软件的研制与应用也必须跟得上硬件飞速发展的节奏。

      然而在20世纪60年代,软件质量差,可靠性差,开发时间无法保证,成本巨大等一系列问题,引发了一场“软件危机”。这就迫使人们去研究一种行之有效的原理、概念、技术、方法去开发软件,即软件工程。

      软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。(此定义摘自百度百科“软件工程”)

      在大体学习了一遍之后简单画了一张导图(不足之处还望指点):

    20131208193323359.jpg

      软件计划:软件计划是软件生命周期中的第一个阶段,此阶段要对项目进行可行性分析,并书写完成可行性研究报告。其目的主要就是确定要做的软件“是什么”,对软件进行顶层设计,描绘出软件架构,并对目标软件系统提出完整、准确、清晰、具体的要求。

      需求分析:需求分析是介于软件计划和软件设计阶段之间的重要桥梁。一方面,需求分析以可行性研究报告为基础,从软件的角度对它们进行检查与调整;另一方面它又是软件设计、实现、测试乃至维护的重要基础。此阶段要完成的文档是软件需求说明书。

      软件设计:需求分析中讨论的是系统“做什么”,软件设计就是在明白了软件做什么的基础上讨论“如何做”。按照软件生存周期划分,设计中分为概要设计和详细设计,两个阶段中分别产生概要设计说明书和详细设计说明书,当然,各种各样的设计方法(如面向数据流的结构化设计方法、面向对象的设计方法等)贯穿在这两个设计阶段中,帮助我们完成软件设计。

   

      程序编码:前几个阶段了解了目标软件“是什么”、“做什么”、“如何做”,接下来就是“做”了,在这一阶段,要根据实际情况选择合适的编程语言,编写出的代码不仅要便于自己理解,更要便于他人在维护阶段对代码的理解。所以要在保证程序代码清晰的基础上,提高正确率,在保证正确率的基础上,才能提高速度。

      软件测试:软件测试时软件开发期的最后一个阶段,也是最重要一个阶段,在这一阶段,要编写测试计划、测试分析报告等文档。在计划、分析、设计、编码阶段,人难免会犯各种各样的错误,所以,在这个阶段,要坚信错误是存在的,用合理的测试方法(黑盒、白盒等)来逐步测试并改正系统中的错误。

      软件维护:软件维护是软件生命周期的最后一个阶段,也是持续周期最长、花费代价最高的一个阶段。虽然是软件投入运行之后需要进行的工作,但软件维护的工作通常会占用软件开发机构60%以上的精力。

相关文章
|
7月前
|
安全 Linux 测试技术
软件工程之维护阶段
软件工程之维护阶段
279 0
|
敏捷开发 测试技术 项目管理
软件工程
一、软件工程 软件工程是一门关于开发、维护和管理软件的学科。它涵盖了软件开发的整个生命周期,包括需求分析、设计、编码、测试、部署和维护等各个阶段。 软件工程的目标是通过系统化的方法和工具来提高软件的质量、可靠性、可维护性和可重用性,以满足用户的需求和预期。它强调在软件开发过程中的规范化、标准化和可管理性,以提高团队的协作效率和项目的成功率。 软件工程包括以下几个主要领域: 1. 软件需求工程:负责收集、分析和定义软件系统的需求,并与用户和相关利益相关者进行沟通和协商。 2. 软件设计:负责将需求转化为具体的软件设计方案,包括系统架构、模块设计、接口设计等。 3. 软件编码:负责根据设计方案进行
382 0
|
开发工具
软件工程总结
软件工程总结
84 0
|
项目管理
软件工程——视频初总
软件工程——视频初总
100 0
|
算法 中间件 测试技术
【总结】软件工程(视频结束)
【总结】软件工程(视频结束)
软件工程(5)--喷泉模型
软件工程(5)--喷泉模型
534 0
软件工程(5)--喷泉模型
软件工程(4)--螺旋模型
软件工程(4)--螺旋模型
444 0
软件工程(4)--螺旋模型
|
Java uml
【软件工程】——总结
【软件工程】——总结
89 0
【软件工程】——总结
07.软件工程
脑图如下所示:
606 0