文档介绍:软件安全测评
北京邮电大学计算机学院
信息安全系
张淼
******@bupt.
第一讲概述
1 软件工程的概念
2 对安全系统的需求
3 微软软件安全开发周期SDL
4 七触点安全开发过程
5 本课程主要内容
软件与软件危机
软件危机
20世纪60年代中期以后,一些开发大型软件系统的要求
提了出来。然而软件技术的进步一直未能满足形势发展
的需要,在大型软件的开发过程中出现了复杂程度高、
研制周期长、正确性难以保证的三大难题。遇到的问题
找不到解决办法,致使问题堆积起来,形成了人们难以
控制的局面,出现了所谓的“软件危机”。
1963年,美国用于控制火星探测器的计算机软件中的一
个“,”号被误写为“.”,而致使飞往火星的探测器发生
爆炸,造成高达数亿美元的损失。
软件与软件危机
软件危机是指在软件开发和维护中所产生的一系列严
重的问题。一是如何开发软件,满足用户对软件的需求,
二是如何维护数量众多的已有软件。其主要表现如下:
(1)用户需求不明确、变更过多
(2)软件成本日益增长
(3)开发进度难以控制
(4)软件质量差
(5)软件维护困难
软件与软件危机
(1)软件开发无计划性
(2)软件需求不充分
(3)软件开发过程无规范
(4)软件产品无评测手段
(1)应该加强软件开发过程的管理。
(2)推广使用开发软件的成功技术与方法
(3)开发和使用好的软件工具
1 软件工程的概念
主要内容:
(1)软件工程的产生及发展
(2)软件工程的定义及目标
(3)软件工程学的范畴
软件工程的概念
(1)软件工程的产生及发展
为了解决软件危机,人们在软件开发中也不断改进和
发展,在50多年中计算机软件开发经历了三个发展阶段:
程序设计阶段:约为50至60年代
程序系统阶段:约为60至70年代
软件工程阶段:约为70年代以后
软件工程的概念
几十年来最根本的变化体现在:
(1)人们改变了对软件的看法。
(2)软件的需求是软件发展的动力。
(3)软件工作的范围从只考虑程序的编写扩展到
涉及整个软件生存周期。
软件工程的概念
(2)软件工程的定义及目标
Fritz Bauer曾经为软件工程下了定义:“软件工程是为
了经济地获得能够在实际机器上有效运行的可靠软件而建
立和使用的一系列完善的工程化原则。”
1983年IEEE给出的定义为:“软件工程是开发、运行、
维护和修复软件的系统方法”,其中,“软件”的定义为:
计算机程序、方法、规则、相关的文档资料以及在计
算机上运行时所必需的数据。
软件工程的概念
软件工程的方法、工具、过程构成了软件工程的三要素。
软件工程的目标可概括为:在给定成本、进度的前提下,
开发出具有可修改性、有效性、可靠性、可理解性、可
维护性、可重用性、可适应性、可移植性、可追踪性和
可互操作性并满足用户要求的软件产品。
图软件工程目标之间的关系