软件工程第一章电子教案大同大学.ppt
《软件工程第一章电子教案大同大学.ppt》由会员分享,可在线阅读,更多相关《软件工程第一章电子教案大同大学.ppt(72页珍藏版)》请在三一办公上搜索。
1、软件工程-原理、方法与应用,电子教案54学时,课程安排,理论内容:基本原理、方法和技术形式:讲授、自学、讨论实践内容:构造一个应用系统(包括分析、设计、编码、测试)形式:分组、分阶段文档、编码、集成,软件工程的主要内容,软件工程的基本概念软件开发模型软件开发各阶段的任务、技术、方法传统方法、面向对象方法软件工程管理软件质量保证软件工程环境,第一章 绪论,软件与软件危机软件工程学传统软件工程和面向对象软件工程软件工程的应用,软件(定义一),程序、软件与软件产品独唱-小合唱-合唱-万人大合唱|简单程序 较复杂程序 软件软件定义:软件=程序+数据+文档程序:按事先设计的功能和性能需求执行的指令序列数
2、据:是程序能正常操纵信息的数据结构文档:与程序开发、维护和使用有关的图文材料,计算机软件(定义二),计算机软件指计算机系统中的程序及其文档程序是计算任务的处理对象和处理规则的描述任务:以计算机为处理工具的任务都是计算任务处理对象:数据(如数据、文字、图形、图像、声音等,它们只是表示,而无含义)或信息(数据及有关的含义)处理规则一般指处理的动作和步骤。程序必须装入计算机内才能工作文档是为了便于了解程序所需的阐明性资料,文档一般是给人看的,不一定装入计算机,软件的分类,系统软件:属于计算机系统中最靠近硬件的一层,其它软件一般都通过系统软件发挥作用,它与具体的应用领域无关。如操作系统、编译程序等。支
3、持软件:支持软件的开发和维护的软件。如数据库管理系统、网络软件、软件开发环境等。应用软件:特定应用领域专用的软件。如实时软件、嵌入式软件、科学和工程计算软件、事务处理软件、人工智能软件等。,按软件工作方式划分:实时处理软件 分时软件 交互式软件 批处理软件 按软件服务对象的范围划分:项目软件 产品软件,按使用的频度进行划分:一次使用 频繁使用 按软件失效的影响进行划分:高可靠性软件 一般可靠性软件,软件的发展,1946-1956年 从计算机问世到实用的高级程序语言出现前存储容量比较小,运算速度比较慢采用个体工作方式,用低级语言编写程序应用领域主要是以数值数据处理为主的科学计算,其特点是输入、输
4、出量较小衡量程序质量的标准主要是功效,即运行时间省、占用内存小主要研究内容是科学计算程序、服务性程序和程序库,研究对象是顺序程序,1956-1968年 从实用的高级程序语言出现到软件工程出现前存储器容量大,外围设备得到迅速发展,出现了高级程序设计语言应用领域包括数据处理(非数值数据),其特点是计算量不大,但输入、输出量却较大高速主机与低速外围设备的矛盾突出,出现了操作系统、并发程序、数据库及其管理系统20世纪60年代初提出了软件一词,开始认识到文档的重要性研究高级程序设计语言、编译程序、操作系统、支持编程的工具及各种应用软件工作方式逐步从个体方式转向合作方式出现软件危机,1968年-至今 从软
5、件工程出现到现在硬件向巨型机和微型机二个方向发展,出现了计算机网络,软件方面提出了软件工程,出现了“计算机辅助软件工程”(CASE)计算机的应用领域渗透到各个业务领域,出现了嵌入式应用,其特点是受制于它所嵌入的宿主系统开发方式逐步由个体合作方式转向工程方式软件工程方面的研究主要包括软件开发模型、软件开发方法及技术、软件工具与环境、软件过程、软件自动化系统等软件方面研究以智能化、自动化、集成化、并行化、以及自然化为标志的软件开发新技术,软件的特点,软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确地估算软件是被开发的或被设计的,它没有明显的制造过程,一旦开发成功,只需复制即可,但
6、其维护的工作量大软件的使用没有硬件那样的机械磨损和老化问题,软件的其它特点:软件的开发和运行常受到计算机硬件的限制,对计算机硬件有着不同程度的依赖性软件的开发至今尚未完全实现自动化软件成本相当昂贵相当多的软件工作涉及到社会因素,软件的特征(归纳),软件是逻辑的,而不是物理的软件开发与人关系密切软件开发成本大软件生产是简单的拷贝软件不会磨损和老化软件受环境影响大软件维护易产生新的问题,软件技术进步落后于需求增长,软件开发的发展过程,计算机应用发展,软件数量多规模大,软件成本高质量低,个体化软件开发方法,软件维护困难,软件危机,软件工程,软件危机,定义:计算机软件的开发和维护过程所遇到的一系列严重
7、问题,软件危机的表现,对软件开发成本和进度的估计常常很不正确用户对“已完成的”软件系统不满意的现象经常发生软件产品的质量往往靠不住软件常常是不可维护的软件通常没有适当的文档资料软件成本在计算机系统总成本中所占的比例逐年上升软件开发生产率提高的速度远远跟不上计算机应用迅速普及深入的趋势,软件危机的原因,软件是逻辑产品,开发进度、成本难以估计缺乏或不完整、不一致的文档给维护带来困难用户对软件需求的描述往往不够精确,有遗漏,有二义软件开发人员对需求的理解与用户的本来愿望有差异大型软件项目需多人协同完成,缺乏管理经验开发人员不能有效地、独立自主地处理大型软件的全部关系缺乏有力的方法学和工具的支持软件项
8、目的特殊性和人类智力的局限性,软件危机的原因(归纳),原因客观:软件本身特点逻辑部件规模庞大主观:不正确的开发方法忽视需求分析错误认为:软件开发=程序编写轻视软件维护,克服软件危机的途径,消除错误的概念和做法推广使用成功的开发技术和方法使用软件工具和软件工程支持环境加强软件管理,软件语言software language,软件语言是用于书写计算机软件的语言。它主要包括:1.需求定义语言 2.功能性语言 3.设计性语言 4.实现性语言(即程序设计语言)5.文档语言,1.需求定义语言requirements definition language,需求定义语言用来书写软件需求定义。软件需求定义是软
9、件功能需求和非功能需求的定义性描述。软件功能需求刻画软件“做什么”,软件非功能需求刻画诸如功能性限制、设计限制、环境描述、数据与通信规程及项目管理等 典型的需求定义语言有PSL语言(Problem Statement Language问题陈述语言),2.功能性语言functional language,功能性语言用来书写软件功能规约(functional specification)软件功能规约是软件功能的严格而完整的陈述。通常它只刻画软件系统“做什么”的外部功能,而不涉及系统“如何做”的内部算法。典型的功能性语言有广谱语言、Z语言。,3.设计性语言design language,设计性语言用
10、来书写软件设计规约(design specification)软件设计规约是软件设计的严格而完整的陈述。一方面,它是软件功能归约的算法性细化,刻画软件“如何做”的内部算法,另一方面,它是软件实现的依据。典型的设计性语言有PDL语言(Program Design Language),4.实现性语言,实现性语言用来书写计算机程序。实现性语言也称编程语言或程序设计语言(programming language)程序设计语言可按语言的级别、对使用者的要求、应用范围、使用方式、成分性质等多种角度进行分类,A)按语言级别分:低级语言和高级语言 低级语言是与特定计算机体系结构密切相关的程序设计语言,如机器语
11、言、汇编语言。其特点是与机器有关,功效高,但使用复杂,开发费时,难维护。高级语言是不反映特定计算机体系结构的程序设计语言,它的表示方法比低级语言更接近于待解问题的表示方法。其特点是在一定程度上与具体机器无关,易学、易用、易维护。但高级语言程序经编译后产生的目标程序的功效往往较低。,B)按用户要求分:过程式语言和非过程式语言 过程式语言(procedural language)是通过指明一列可执行的运算及运算次序来描述计算过程的程序设计语言。如FORTRAN、COBOL、C等。非过程式语言(nonprocedural language)是不显式指明处理过程细节的程序设计语言。在这种语言中尽量引进
12、各种抽象度较高的非过程性描述手段,以期做到在程序中增加“做什么”的描述成分,减少“如何做”的细节描述。如第四代语言(4GL)、函数式语言、逻辑式语言。,命令式语言(imperative language)即过程式语言。申述式语言(declarative language)是着重描述要处理什么,而非描述如何处理的语言。申述式语言程序是关于问题解的约束陈述,这些约束迫使含于实现中的算法处理机制生成一个解或一组解。如函数式语言、逻辑式语言。,B)按用户要求分:过程式语言和非过程式语言(也可称:命令式语言和申述式语言),函数式语言(functional programming language)中函数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 第一章 电子 教案 大同 大学
链接地址:https://www.31ppt.com/p-6441958.html