北京邮电大学-软件安全测评-01软件安全测评概述

北京邮电大学-软件安全测评-01软件安全测评概述

ID:34568407

大小:838.49 KB

页数:90页

时间:2019-03-08

北京邮电大学-软件安全测评-01软件安全测评概述_第1页
北京邮电大学-软件安全测评-01软件安全测评概述_第2页
北京邮电大学-软件安全测评-01软件安全测评概述_第3页
北京邮电大学-软件安全测评-01软件安全测评概述_第4页
北京邮电大学-软件安全测评-01软件安全测评概述_第5页
资源描述:

《北京邮电大学-软件安全测评-01软件安全测评概述》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、软件安全测评北京邮电大学计算机学院信息安全系张淼zhangmiao@bupt.edu.cn第一讲概述1软件工程的概念2对安全系统的需求3微软软件安全开发周期SDL4七触点安全开发过程5本课程主要内容软件与软件危机软件危机1.软件危机的产生20世纪60年代中期以后,一些开发大型软件系统的要求提了出来。然而软件技术的进步一直未能满足形势发展的需要,在大型软件的开发过程中出现了复杂程度高、研制周期长、正确性难以保证的三大难题。遇到的问题找不到解决办法,致使问题堆积起来,形成了人们难以控制的局面,出现了所谓的“软件危机”。1963年,美国用于控制火星探测器的计算机软件中的一个

2、“,”号被误写为“.”,而致使飞往火星的探测器发生爆炸,造成高达数亿美元的损失。软件与软件危机2.软件危机的定义及其表现形式软件危机是指在软件开发和维护中所产生的一系列严重的问题。一是如何开发软件,满足用户对软件的需求,二是如何维护数量众多的已有软件。其主要表现如下:(1)用户需求不明确、变更过多(2)软件成本日益增长(3)开发进度难以控制(4)软件质量差(5)软件维护困难软件与软件危机3.软件危机产生的原因(1)软件开发无计划性(2)软件需求不充分(3)软件开发过程无规范(4)软件产品无评测手段4.解决软件危机的途径(1)应该加强软件开发过程的管理。(2)推广使用开发软件的成

3、功技术与方法(3)开发和使用好的软件工具1软件工程的概念主要内容:(1)软件工程的产生及发展(2)软件工程的定义及目标(3)软件工程学的范畴软件工程的概念(1)软件工程的产生及发展为了解决软件危机,人们在软件开发中也不断改进和发展,在50多年中计算机软件开发经历了三个发展阶段:程序设计阶段:约为50至60年代程序系统阶段:约为60至70年代软件工程阶段:约为70年代以后软件工程的概念几十年来最根本的变化体现在:(1)人们改变了对软件的看法。(2)软件的需求是软件发展的动力。(3)软件工作的范围从只考虑程序的编写扩展到涉及整个软件生存周期。软件工程的概念(2)软件工程的定义

4、及目标FritzBauer曾经为软件工程下了定义:“软件工程是为了经济地获得能够在实际机器上有效运行的可靠软件而建立和使用的一系列完善的工程化原则。”1983年IEEE给出的定义为:“软件工程是开发、运行、维护和修复软件的系统方法”,其中,“软件”的定义为:计算机程序、方法、规则、相关的文档资料以及在计算机上运行时所必需的数据。软件工程的概念软件工程的方法、工具、过程构成了软件工程的三要素。软件工程的目标可概括为:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户要求的软件产品。图软件工

5、程目标之间的关系软件工程的概念(3)软件工程学的范畴软件工程学所研究的主要内容包括:软件开发技术和软件工程管理两个方面。其中:软件开发技术包含:1、软件开发方法学2、软件工具3、软件工程环境4、软件工程管理软件生存周期及软件开发模型主要教学内容:1)软件生存周期2)软件生存周期模型3)瀑布模型(Waterfallmodel)4)演化模型(evolutionalmodel)5)螺旋模型(spiralmodel)6)智能模型(intelligencemodel)软件生存周期及软件开发模型1)软件生存周期软件也有一个孕育、诞生、成长、成熟、衰亡的生存过程。我们称其为计算机软件的生存周

6、期。软件生存周期可划分为若干个阶段。各阶段都包括计划、开发、运行与维护三个时期,而每个时期又划分为若干个阶段。1.计划时期计划时期的主要任务是调查和分析。计划时期有问题定义和可行性研究两个阶段。软件生存周期及软件开发模型2开发时期开发时期要完成设计和实现两大任务。设计任务包括需求分析和软件设计两个阶段;实现任务包括编码和测试。(1)需求分析该阶段主要解决的问题是“目标系统必须做什么”,也就是要深入描述软件的功能和性能;确定软件设计的限制和软件与其他系统元素的接口;定义软件的其他有效性需求,并用“需求规格说明书”的形式准确地表达出来,提交管理机构评审。软件生存周期及软件开发模型(

7、2)软件设计是软件工程的技术核心,主要任务是把已确定了的各项需求转换成一个相应的体系结构,通常细分成总体设计和详细设计两个阶段。(3)编码该阶段的主要任务就是按照选定的语言把软件设计转换成计算机可以接受的程序代码,即写成“源程序清单”。(4)测试测试是保证软件质量的重要手段,其主要方式是在设计测试用例的基础上检验软件的各个组成部分。软件生存周期及软件开发模型3运行时期已交付的软件投入正式使用,便进入运行时期。这是软件生存期的最后一个时期,可能要持续若干年甚至几十年。在运行过程中,可能由于多方

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。