欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    《计算机软件系统》PPT课件.ppt

    • 资源ID:5604289       资源大小:2.06MB        全文页数:71页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《计算机软件系统》PPT课件.ppt

    1,软件行业相关的职业,软件工程师程序员软件测试工程师计算机软件产品检验员程序调试工程师构架工程师,2,第4章 计算机软件系统,4.1 软件的性质及发展史4.2 操作系统4.3 应用软件4.4 程序设计语言与语言处理4.5 软件工程及其标准,3,4.1 计算机软件概述,4.1.1 对计算机软件的理解1.软件的定义软件是指在计算机上运行的程序及其数据和维护文档的总和。程序是软件的主体。数据是程序运行过程中处理的对象和参数。文档指的是与程序开发、维护及其操作有关的一些资料。2.软件的分类,软件,系统软件,应用软件,操作系统,系统实用程序,通用应用软件,专用应用软件,网络系统,数据库管理系统,程序语言处理系统,4,4.1.2 软件的性质,软件同传统的工业产品相比,有其独特的性质:1.表现形式不同2.生产方式不同3.维护方式不同4.软件的复杂性和规模不断增加,5,软件技术的进化史,事实:硬件技术的发展速度远远高于软件技术的发展原因:人们很长时间内没有找到有效构建软件的方法。1.软件技术发展的初期(20世纪50年代到70年代)2.软件技术发展的中期(20世纪80年代)3.网络计算时代的开始(20世纪90年代至今)4.软件之变-21世纪的软件技术,6,软件技术发展的初期(20世纪50年代到70年代),50年代前后,程序员主要使用机器语言编程-称为软件设计的“石器时代”。为便于阅读,后来将机器代码以英文字符串来表示,出现了汇编语言。1956年,FORTRAN语言(主要用于:科学和工程计算)标志着高级语言时代的到来。60年代-70年代,结构化软件技术(以Pascal/COBOL/C/SQL关系数据库为标志)-设计思想:采用模块分解与功能抽象和自顶向下、分而治之的方法,有效地将一个复杂的程序系统设计任务分解成许多易于控制和处理的子程序,便于开发和维护。,7,两位人物,Bill Gates,Denis Ritchie,8,Denis M.Ritchie,DenisM.Ritchie1967年加入贝尔实验室。1971年,DenisM.Ritchie和KenL.Thompson两人共同设计并实现的C语言改变了程序设计语言发展的轨迹,是程序设计语言发展过程中的一个重要里程碑。与此同时,他们两人还设计并实现了UNIX操作系统。正是由于这两项巨大贡献,DennisM.Ritchie于1983年获得了计算机界的最高奖图灵奖。DennisM.Ritchie还获得了ACM、IEEE、贝尔实验室等授予的多种奖项。,9,Bill Gates,1955年10月28日出生于美国西雅图。13岁时开始计算机编程。1973年,盖茨考进哈佛大学.在那里他和现在微软的首席执行官史蒂夫鲍尔默住在一起。,1975年,盖茨和保罗.艾伦(PaulAllen)为当时的微型计算机MITSAltair(牛郎星)开发了世界上第一套标准的微型计算机编程语言-BASIC。大三时,盖茨离开了哈佛并把全部精力投入到他与好友PaulAllen在1975年创建的微软公司中。在计算机将成为每个家庭、每个办公室中最重要的工具这样信念的引导下,他们开始为个人计算机开发软件。盖茨的远见卓识以及他对个人计算的先见之明成为微软和软件产业成功的关键。盖茨的至理名言:“微软离破产永远只有18个月”,10,结构化软件技术,20世纪60年代,曾出现严重软件危机。为提高软件质量,伴随着结构化软件技术而出现的软件工程方法,使软件工作的范围从只考虑程序的编写到考虑从定义、编码、测试到使用、维护等整个软件生命周期。软件不仅包括程序,还包括分析、设计、实现、维护和所有文档,使编程工作只占软件开发工作量的20-30%。,11,软件技术发展的中期(20世纪80年代),图形技术有了迅速发展(图形用户界面GUI,从Apple公司Lisa、Macintosh到Microsoft公司Windows,1985、1987、1990、1995、1998、2000,到UNIX/Linux系统的XWindows)面向对象技术(SmalltalkC+)的出现与发展。-现实世界中的事物抽象到问题空间,称为“对象”。对象被定义为“对一组信息和在其上的操作”,其中信息就是数据,它反映的对象的属性状态,操作则是对对象的处理。引入了类、对象、继承、封装、重用等概念,对象与对象之间的相互作用是通过消息来实现的。-随着分析和建模技术的发展,面向对象技术形成了OOAOODOOP,形成了完整的软件开发方法学。,12,网络计算时代的开始(20世纪90年代至今),1993年,美国纽约人杂志上的漫画:说明网络社会是一个虚拟的空间,同时也表明我们正处于网络计算的时代。,13,Internet的普及,提供了一个基本的网络计算结构,即计算模式从集中式的主机环境转变为分布式的C/S(客户/服务器)环境。WWW的普及,软件架构从C/S模式向B/S(浏览器/服务器)模转变。用户使用浏览器软件就可以访问文本、图像、声音等信息,用户端无需专用软件,减轻了系统维护和升级的成本和工作量。信息搜索引擎,彻底改变了人们获取信息的方式。统一的软件开发方法UDP(UnitedSoftwareDevelopmentProcess),以用例(UseCase)作为系统需求的核心表示,并驱动整个开发过程的完成,从而保证最终得到的系统正是用户所需产品。,14,UML-Unified Modeling Language,1997年,OMG组织(ObjectManagementGroup)发布了统一建模语言UML。UML的目标之一就是为开发团队提供标准通用的设计语言来开发和构建计算机应用。UML提出了一套统一的标准建模符号。通过使用UML,IT专业人员能够阅读和交流系统架构和设计规划-就像建筑工人使用的建筑设计图一样。UML成为标准建模语言的原因之一在于,它与程序设计语言无关UML符号集只是一种语言而不是一种方法学。因为语言与方法学不同,它可以在不做任何更改的情况下很容易地适应任何公司的业务运作方式。UML的主要创始人是JamesRumbaugh、IvarJacobson和GradyBooch,他们最初都有自己的建模方法(OMT、OOSE和Booch),彼此之间存在着竞争。最终,1995年,他们联合起来创造了一种开放的标准。,15,James Rumbaugh,JamesRumbaugh博士是享誉全球的软件开发方法学家。Jim一直是引导UML未来开发的领袖,他提出了许多有关UML的概念。他与Rational的其他软件领袖一起工作在各个领域,比如Rational统一过程和实时开发方法学。自从2003年IBM收购了Rational之后,Jim就一直致力于推动IBM建模工具的开发。Jim已经研究软件方法学、工具和概念35年多了。他是对象建模技术(ObjectModelingTechnique,OMT)的首席开发人员,OMT是一流的面向对象分析和设计方法,也是UML的前身。,16,Ivar Jacobson,IvarJacobson博士是Objectory方法的发明者,也是瑞典ObjectoryAB公司的创始人。他曾担任RationalBusinessEngineering部门的副总裁,在那里他负责UML的开发。Jacobson博士是两本影响深远的畅销书的主要作者:面向对象的软件工程一种用例驱动方法(1992年计算机语言生产力奖获得者)和对象的优势采用对象技术的业务过程再工程。他还写过有关软件重用的书。另外,他发表过一些有关对象技术的广为引用的论文。其中最有名的是他的第一篇OOPSLA87论文,题为“工业环境中的面向对象开发”。IvarJacobson的用例驱动方法对整个OOAD行业影响深远,他因此而成为业界的一面“旗帜”。,17,Grady Booch,Grady(IBMfellow)因其在软件架构、软件工程和软件建模方面的杰出贡献而在国际上享有盛名。自Rational于1981年创建以来,他就一直担任IBMRational的首席科学家。Grady于2003年3月荣获IBM首席技术官(IBMfellow)的称号。Grady是统一建模语言(UML)的最初开发人员之一。Grady是六本畅销书的作者,包括UML用户指南和应用程序的面向对象分析。Grady发表过数百篇有关软件工程的技术文章。他还在全球发表演讲和提供顾问。,18,软件之变-21世纪的软件技术,“随需应变”的面向构件的软件开发。-打破了原有软件基于代码层开发的固有模式,采用“搭积木”方式生成软件的构件技术可以实现软件复用、快速实现像硬件那样的任意装配定制,以满足各种业务需求。以Internet/Intranet技术为主的网络软件,以及数据挖掘、人工智能、网格计算、云计算,中间件技术、面向构件技术、面向对象的数据库等软件新技术层出不穷。软件工具不断出现和完善、软件过程正在逐步成熟。内容处理成为瓶颈、语义处理成为需要突破的关键技术。语义研究的目标是在整个网络上实现将程序视同为数据。目前的浏览器已能做到不区分本地和远程的数据,将来可能实现的基于语义的操作系统应做到不区分本地和远程的程序,即广义冯.诺依曼机。(冯.诺依曼结构最大的贡献是提出了单机上把程序视为数据的存储式计算机模型),19,软件系统的分层结构,计算机软件系统是一个分层的软件结构,包括系统软件层、支持软件层和应用软件层,其最底层是计算机硬件(图4-6)。1.系统软件 2.支持软件 3.应用软件 4.软件分类的国家标准,20,软件系统的分层结构,计算机软件的分类及代码可参照国家标准计算机软件分类与代码(GB/T13702-1992)有关规定确定,如表4.1所示。,21,4.2 操作系统,计算机系统是由硬件和软件两部分组成。软件系统包括系统软件和应用软件,其核心是操作系统。操作系统是系统软件中一个最基本的、最重要大型软件,是全面地管理计算机软件和硬件的系统程序,是用户与计算机之间的接口。对于我们日常使用的微型计算机来说,操作系统可分为两大类:面向字符的操作系统,如DOS操作系统;DOS操作系统只能通过键盘输入命令来操作计算机 面向图形的操作系统,如Windows操作系统。而Windows不但可以用键盘来操作计算机,还可以通过更加直观的图形界面,用鼠标来操作计算机。,22,4.2.1 操作系统的任务及功能,1.操作系统的概念操作系统是一组程序的集合,它是系统软件的主要组成部分。一方面它直接管理和控制计算机的所有硬件和软件,使计算机系统的各部件相互协调一致地工作;另一方面,它向用户提供正确地利用软硬件资源的方法和环境,使得用户能够通过操作系统充分而有效地使用计算机。因此,操作系统是用户与计算机系统之间的接口。它好似个不可逾越的计算机管理中心,任何用户都必须通过它才能操作和使用计算机系统的各种资源。,23,2.操作系统的作用,操作系统的主要作用有三个。一是提高系统资源的利用。通过对计算机系统的软、硬件资源进行合理的调度与分配,改善资源的共享和利用状况,最大限度地发挥计算机系统工作效率,即提高计算机系统在单位时间内处理任务的能力(称为系统吞吐量)。二是提供方便友好用户界面。通过友好的工作环境,改善用户与计算机的交互界面。有了操作系统,用户才可能方便有效的同计算机打交道。三是提供软件开发的运行环境。在开发软件时需要使用操作系统管理下的计算机系统,调用有关的工具软件及其它软件资源。因为任何一种软件并不是在任何一种系统上都可以进行的,所以操作系统也称为软件平台。,24,操作系统是怎样引导和控制计算机的呢?,从资源管理的角度来看,操作系统的功能分为处理机管理、存储管理、I/O设备管理、文件系统和用户接口等。,25,4.2.2 处理机(CPU)管理,1.中断处理2.处理器调度3.理解进程及状态变化4.理解线程,26,存储管理,存储管理的主要功能包括:存储分配 存储共享。存储保护。存储扩充。,27,存储管理,存储器是计算机系统的重要资源之一。存储管理是指存储器资源(主要指内存和外存)的管理。存储管理主要功能如下:存储分配。根据用户程序需要给它分配存储器资源存储共享。让内存中的多个用户程序实现存储资源的共享,以提高存储器的利用率。存储保护。把不同用户程序相互隔离起来互不干扰,更不允许用户程序访问操作系统的程序和数据,从而保护用户程序存放在存储器中的信息不被破坏。存储扩充。物理内存容量有限,难以满足用户程序的需求,存储管理从逻辑上来扩充内存储器,为用户提供一个比内存实际容量大得多的使用空间。,28,4.2.4 设备管理,设备管理的主要任务有:1选择和分配输入/输出设备以便进行数据传输操作;2控制输入/输出设备和CPU(或内存)之间交换数据;3为用户提供一个友好的透明接口,把用户和设备硬件 特性分开,使得用户不心考虑设备的硬件差异;4.提高设备和设备之间、CPU和设备之间的并行性。,29,4.2.5 文件管理,文件是在逻辑上具有完整意义的并赋有名称的信息集合体。文件系统,就是操作系统中负责操纵和管理文件的一整套设施,它实现文件的建立、读写、修改、共享和保护等操作,还负责完成对文件的按名存取和进行存取控制。如FAT(32KB),FAT32(4KB),NTFS(4KB),30,(一)文件和文件夹,1.文件 1)文件的概念 按一定格式存储在外存储器上的信息集合称为文件。文件可以是程序、数据、文字、图形、图像、动画或声音等。文件具有驻留性和长度可变性,是操作系统管理的信息和能独立进行存取的最小单位。磁盘为存储文件所分配空间的基本单位是“簇”,一个簇由一个或若干个磁盘扇区组成,一个文件再小,也起码要分配一个簇。2)文件系统 操作系统中负责管理和存取文件的软件机构称为文件管理系统,简称文件系统。文件系统负责为用户建立文件,存取、修改和转储文件,控制文件的存取,用户可对文件实现“按名存取”。,31,(一)文件和文件夹,3)文件的命名 每个文件都必须有一个文件名。文件全名由盘符名、路径、主文件名(简称文件名)和文件扩展名4部分组成。其格式如下所示。盘符名:路径.扩展名 4)文件名通配符 通配符也称为统配符、替代符、多义符,即可以表示一组文件名的符号。通配符有两种,即星号“*”和问号“?”。5)文件类型 文件名中的扩展名用于指定文件的类型,用户可以根据需要选择,但某些扩展名系统有特殊规定,用户不可以乱用或更改。一些流行的软件还可以自动为文件加扩展名。,32,(一)文件和文件夹,2.标准文件夹的树结构及路径 为了防止不同的人使用相同的文件名存储文件而引起的冲突,可以使用操作系统的文件夹和路径。其目的是将不同类别不同用户的文件保存到不同的文件夹中,这样,具有相同文件名的文件就可以被保存在同一台计算机中,而且互不干扰。只用来放置子文件夹和文件的文件夹称为标准文件夹。没有特别说明,文件夹都是指标准文件夹。,33,(二)路径,1)磁盘文件夹的树结构 磁盘可以划分成许多文件夹2)路径和路径名 路径是文件夹的字符表示,3)当前盘和当前文件夹 在指定一个文件时,可以用路径来指定。,34,4.2.6 操作系统的主要特性,1.并发性 并发性(Concurrence)是指两个或两个以上的运行程序 在同一时间间隔段内同时执行。2.共享性 共享指操作系统中的资源(包括硬件资源和信息资源)可被多个并发执行的进程所使用。3.异步性 在多道程序环境中,允许多个进程并发执行,由于资源有限而进程众多,多数情况,进程的执行不是一贯到底,而是“走走停停”,35,4.2.7 操作系统的分类,1.单用户操作系统2.批处理操作系统3.实时操作系统4.分时操作系统5.网络操作系统6.分布式操作系统7.微机操作系统,36,操作系统的发展与分类,(1)单用户单任务的操作系统:主要特征是在一个计算机系统内,一次只能运行一个用户程序,此用户独占计算机系统的全部硬件和软件资源。常用的单用户单任务操作系统有MS-DOS、PC-DOS等。单用户多任务操作系统也是为单个用户服务的,但它允许用户一次提交多项任务。常用的单用户多任务操作系统有OS2、Windows 3.x、Windows 95/98/2000/NT/XP系列等,这类操作系统通常用于微机系统中。(2)批处理阶段:其特点说是用户脱机使用计算机、作业成批处理和多道程序运行。,37,操作系统的发展与分类,(3)分时操作系统:是操作系统发展的第二个阶段。所谓分时系统就是在一台计算机上连接若干个终端机,用户可以在终端上向系统发出服务请求,等待机器的处理结果并决定下一步的处理。分时操作系统主要特点是交互性、多用户同时性和独立性,实现了计算机系统的多用户多任务工作方式。现在流行的操作系统如UNIX、Linux、Windows NT等都是支持多用户多任务的分时操作系统。(4)实时操作系统:实时操作系统指对随机发生的外部事件做出及时地响应并对其进行处理,换言之,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。实时操作系统的主要特点是高响应性、高可靠性和安全性。通常应用于工业过程控制和信息实时处理方面。,38,操作系统的发展与分类,(5)网络操作系统:用于对多台计算机的硬件和软件资源进行管理和控制,提供网络通信和网络资源的共享功能。最有代表性的几种网络操作系统是ovell 公司的 Netware、Windows 2000 Server、Windows XP、UNIX、Linux等。(6)分布式操作系统:是多台计算机经网络连接在一起而组成的系统,系统中两台计算机可以通过远程调用交换信息。(7)微机操作系统:微机常用的操作系统主要有多用户多任务的UNIX、单用户多任务的Windows 9x、Windows 2000、Windows XP、以及用于Apple 计算机的MAC OS X。Windows 系统操作系统以及友好的人机界面已成为微机的主要操作系统。,39,4.2.8 常见的操作系统,windows,Windows xp,Windows 7,Windows vista,40,4.2.8 常见的操作系统,linux,41,4.2.3 常见的操作系统,Mac OS,42,4.3 应用软件,利用计算机的软、硬件资源为某一应用领域解决某个实际问题而专门开发的软件,称为应用软件。用户使用各种应用软件可产生相应的文档,这些文档可被修改。应用软件一般可以分为两大类:通用应用软件和专用应用软件。通用应用软件支持最基本的应用,广泛地应用于几乎所有的专业领域,如办公软件包、数据库管理系统软件(有的把该软件归入系统软件的范畴)、计算机辅助设计软件、各种图形图象处理软件、财务处理软件、工资管理软件等。专用应用软件是专门是为某一个专业领域、行业、单位特定需求而专门开发的软件,如某企业的信息管理系统等。,43,4.3 应用软件,1.科学和工程计算软件,如MATLAB2.字表处理软件,如Word,Excel3.图形图像处理软件,如Photoshop4.网络应用软件,如InternetExplorer5.应用数据库软件,如Oracle,MySQL,44,4.3.1 办公自动化软件 office,Office 2003主要包括Word 2003(文字处理软件)、Excel 2003(电子表格软件)、PowerPoint 2003(演示文稿制作软件)、Outlook 2003(桌面管理软件)、Access 2003(数据库管理软件)、FrontPage 2003(网页制作软件),还有Publisher 2003(出版软件)、Microsoft IME(输入法)和PhotoDraw(图形图像处理软件)等应用程序或称组件。这些软件具有Windows应用程序的共同特点,如易学易用,操作方便,有形象的图形界面和方便的联机帮助功能,提供实用的模板,支持对象连接与嵌入(OLE)技术等。Office 2003为适应全球网络化的需要,它融合了最先进的Internet技术,具有更强大的网络功能。,45,4.3.2 图形图像处理软件,图形软件的功能是帮助用户建立、编辑和操作图片。这些图片可以是用户计划插入一本永久性小册子的照片、一个随意的画像、一个详细的房屋设计图、或是一个卡通动画。选择什么样的图形软件决定于你所要制作的图片类型。前最畅销的图形软件包诸如Adobe公司的Photoshop、微软Office套件中的PhotoDraw、Corel公司的Painter、Photo-Pain和CorelDRAW、ACD公司的ACDSee以及Microsoft Photo Editor,这些图像处理软件功能各有侧重,适用于不同的用户。当用户知道自己需要的是哪一种类型的图片时,就会根据软件描述和评论找到正确的图形软件。,46,4.3.3 视频处理软件,现在玩DV的人越来越多,他们更热衷于通过数码相机、摄像机摄录下自己的生活片断,再用视频编辑软件将影像制作成碟片,在电视上来播放,体验自己制作、编辑电影的乐趣。目前,市场上有不少视频编辑软件可供大家选择,Movie Maker是Windows XP的附件,可以通过数码相机等设备获取素材,创建并观看自定义的视频影片,创建自己的家庭录像,添加自定义的音频曲目、解说和过渡效果,制作电影片段和视频光盘,还可以从CD(唱盘)、TV(电视)、VCR(录像机)等连接到计算机的设备上复制音乐,并储存到计算机中。,47,4.4 程序设计语言与语言处理程序,程序设计语言是软件系统的重要组成部分,程序语言的进化史可分为机器语言、汇编语言、高级语言三个阶段(图4-21)。,48,低级语言,机器语言:由二进制代码组成、面向机器的指令序列汇编语言符号化了的机器语言。ADDAL,2,49,高级程序设计语言,接近于自然语言、易于理解、面向问题。FORTRAN语言,1956年,第一个被广泛使用。BASIC语言,1964年,较早出现且至今仍有较大影响。COBOL语言,1960年,面向行业的管理软件开发。Pascal语言,1970年正式发布,第一个系统地体现结构化程序设计思想的语言。C语言,1972年,UNIX系统语言工具,至今广泛使用。,50,语言处理程序,语言处理程序是将用程序设计语言编写的源程序转换成机器语言的形式,使计算机能够运行它。编译程序用来完成这种转换,并进行语法、语义等方面的检查,编译程序统称为语言处理程序,分为:1.汇编程序2.编译程序3.解释程序,51,可视化编程语言,可视化编程语言与工具,目的是利用一系列高效的、具有良好可视化的编程工具去开发各种软件,以达到事半功倍的效果。目前比较流行的有:1.VisualBasic,易学,开发效率高,但不具备跨平台性质2.VisualC+,基于MFC类库,功能强大,但难学3.Delphi,面向对象,适合数据库、网络应用程序开发4.C+Builder,继承了Delphi特点和C+语言的优点5.PowerBuilder,适合开发各类管理系统和各类跨平台数据库,易学、易掌握,代码执行效率高。真正的4GL语言。6.Java,“一次编码,多次运行”。Sun,BorlandJBuilder。面向对象特性全面、支持的组件技术多,跨平台特性好,52,.NET是什么?,.NET是指连接信息、人群、系统和设备的软件。.NET是Microsoft新推出的用于快速创建和集成XMLWeb服务和应用程序的综合工具,用于解決新一代网络应用程序的需求。Web Services是.NET的核心技术。那什么是Web Services呢?正如Web是新一代的用户与应用交互的途径,XML是新一代的程序之间通讯的途径一样,Web Services是新一代的计算机与计算机之间一种通用的数据传输格式,可让不同运算系统更容易进行数据交换。,53,从面向过程(OP)到面向对象(OO),软件开发的过程就是人们使用各种计算机语言将人们关心的现实世界(问题域)映射到计算机世界的过程(图4-23)。,54,面向过程的程序设计(ProcessOrientedProgramming:PO)是指采用面向过程的程序设计语言进行编程,实现软件设计流程图所描述的信息处理过程的功能。面向对象的程序设计方法(Object-OrientedProgramming:OO)基于面向对象模型。采用面向对象的程序设计语言编程实现。,55,4.5 软件工程及其标准,4.5.1“软件之道”软件工程之路软件工程是将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中,并对以上所述的方法研究,56,软件危机,软件危机(Software Crisis)是计算机软件在它的开发和维护过程中所遇到的一系列严重问题。概括地说,主要包含两方面的问题:如何开发软件,怎样满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。,57,软件危机的主要表现,1、对软件开发成本和进度的估计常常很不准确。实际成本比估计成本有可能高出一个数量级,实际进度比预期进度拖延几个月甚至几年的现象并不罕见。这种现象降低了开发组织的信誉。为赶进度和节约成本所采取的权宜之计往往又损害了软件产品的质量,从而不可避免地引起用户的不满。2、用户对“已完成的”软件系统不满意的现象经常发生。软件开发人员常常在对用户需求只有模糊的了解,甚至对所要解决的问题还没有确切认识的情况下,就仓促上阵匆忙着手编写程序。软件开发人员和用户之间的交流往往很不充分,“闭门造车”必然导致最终产品不符合用户实际需要。,58,软件危机的主要表现,3、软件产品的质量常常靠不住。软件可靠性和质量保证的确切定量概念刚刚出现,软件质量保证技术(审查、复审和测试)还没有坚持不懈地应用到软件开发的全过程中,这些都会导致软件产品发生质量问题。4、软件常常是不可维护的。程序中的错误很难改正,实际上不可能使这些程序适应新的硬件环境,也不能根据用户的需求在原有程序中增加新的功能。,59,软件危机的主要表现,5.软件通常没有适当的文档资料。软件不仅是程序,还应该有一整套文档资料。这些文档资料是在软件开发过程中产生出来的,而且应该是“最新的”(与代码完全一致)。缺乏文档必然给软件的开发和维护带来许多严重的困难和问题。6.软件成本在计算机系统总成本中所占比例逐年上升。随着微电子技术的进步和生产自动化程度的提高,硬件成本逐年下降,然而软件开发需要大量的人力,软件成本随着通货膨胀以及软件规模和数量的不断扩大而逐年上升。美国在1995年的调查表明,软件成本大约已占计算机系统总成本的90%。,60,软件危机 vs 软件工程,软件工程就是为克服软件危机提出的一种概念,并在实践中不断地探索它的原理、技术和方法。人们研究和借鉴了工程学的某些原理和方法,并形成了一门新的学科,即“软件工程”学。,61,软件工程及软件工程框架,软件计算机系统中的程序及其文档。程序是计算任务的处理对象和处理规则的描述文档是为了便于了解程序所需的阐明性资料工程将理论和所学的知识应用于实践的科学。,62,软件工程软件工程是一门交叉性学科,它应用计算机科学、数学及管理科学等原理,开发软件的工程。它借鉴传统工程的原则、方法,以提高质量,降低成本为目的。其中,计算机科学、数学用于构造模型与算法工程科学用于制定规范、设计范型、评估成本及确定权衡管理科学用于计划、资源、质量、成本等管理。,63,软件工程框架,64,软件工程目标,目标:生产具有正确性、可用性和开销合宜的产品。正确性是指软件产品达到预期功能的程度。可用性是指软件基本结构、实现以及文档为用户可用的程度。开销合宜是指软件开发、运行的整个开销满足用户要求的程度。,65,软件开发活动,定义:生产一个最终满足需求且达到工程目标的软件产品所需要的活动。软件开发的基本活动包括:需求分析(requirement analysis)设计(design),实现(implementation),验证/确认(verification/validation)维护(maintenance)。,66,软件开发的基本活动,(1)需求分析,是在一个抽象层上建立系统模型的活动。产生需求规约,作为开发人员和客户间契约的基础,并作为以后开发阶段的输入。(2)设计,定义了实现需求规约所需的结构。包括软件体系结构(数据和程序结构),以及详细的处理算法,即所谓设计规约,给出了实现软件需求的软件解决方案。(3)实现,是由设计规约到代码的转换。,67,软件开发的基本活动,(4)验证/确认,是一评估活动,其中主要包括需求规约、设计规约以及实现代码的评估。验证/确认这一评估可以是动态的,或是静态的。在动态分析中,以选定的输入来执行程序或程序段,并与预期结果进行比较。静态分析是不执行程序的分析,例如模型评审、代码“走查”以及程序的形式化验证等。(5)维护,是在软件发布之后所进行的开发或修改(modification),包括对发现错误的修正以及对环境的变化所进行的必要调整等。,68,软件工程原则,围绕软件开发,提出了以下基本原则。第一:选取适宜的开发范型 在系统设计中,经常需要权衡软件需求、硬件需求以及其它因素之间的相互制约和影响,适应需求的易变性。选用适宜的开发范型,以保证软件开发的可持续性,并使最终的软件产品满足客户的要求。第二:采用好的设计方法 在软件设计中,通常需要考虑软件的模块化、信息隐蔽、局部化、一致性以及适应性等问题。采用合适的设计方法,支持这些问题的解决和实现。,69,软件工程原则,第三条:提供高质量的工程支持 如其它工程一样,需要提供高质量的工程支持,例如配置管理、质量保证等,才能按期交付高质量的软件产品。第四条原则:有效的软件工程管理 软件工程的管理,直接影响可用资源的有效利用,提高软件组织的生产能力。仅当对软件过程实施有效管理时,才能实现有效的软件工程。,70,我国软件产业在ISO/IEC JTC1/SC7框架的基础上,结合国情,面向管理人员、软件开发人员、软件质量保证人员提出了软件工程标准体系框架,如图4-26所示,4.5.2 软件工程标准,71,在软件工程活动中,软件工程师和管理员按照软件工程的方法和原则,借助于计算机及其软件工具的帮助,开发、维护、管理软件产品的过程,称为计算机辅助软件工程(Computer-Aided Software Engineering,简称CASE)。CASE技术有的突出特点是,使开发支持工具与开发方法学统一和结合起来,通过实现分析、设计、程序开发与维护的自动化,提高整个软件开发工程的效率。,4.5.3 CASE技术,

    注意事项

    本文(《计算机软件系统》PPT课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开