软件环境课件

上传人:E**** 文档编号:91239979 上传时间:2019-06-26 格式:PPT 页数:21 大小:2.06MB
返回 下载 相关 举报
软件环境课件_第1页
第1页 / 共21页
软件环境课件_第2页
第2页 / 共21页
软件环境课件_第3页
第3页 / 共21页
软件环境课件_第4页
第4页 / 共21页
软件环境课件_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《软件环境课件》由会员分享,可在线阅读,更多相关《软件环境课件(21页珍藏版)》请在金锄头文库上搜索。

1、软件设计与体系结构,构思篇 设计篇 实现篇 运作篇,1 软件环境 2 软件需求 3 软件体系结构 4 软件设计 5 设计模式 6 软件复用 7 软件界面设计 8 Web开发技术 9 软件架构技术 10 软件架构师角色与职责 11 软件运作模式 12 案例分析,第一章 软件环境,1.1 软件与软件分类 软件是用户与硬件之间的接口界面。用户主要是通过软件与计算机进行交流。软件是计算机系统设计的重要依据。为了方便用户,为了使计算机系统具有较高的总体效用,在设计计算机系统时,必须全局考虑软件与硬件的结合,以及用户的要求和软件的要求. 我们国家对软件的定义:与计算机系统的操作有关的计算机程序、规程、规则

2、及任何与之有关的文档。对于计算机来说,硬件就如同是一个人的身躯,软件就如同一个人的思想灵魂。,软件的定义包含如下三方面内容:,(1)指令的集合(程序)通过执行这些指令可以满足预期的特征、功能和性能要求。 (2)数据结构,它使程序可以充分利用信息。 (3)描述程序功能需求以及程序如何操作的文档。 因而可以认为:软件=程序+数据+文档 1.1.1 软件的特点 软件作为一个产品或服务,与其他产品相比具有很大的区别,具体表现如下: (1)无形的,没有物理形态,只能通过运行状况来了解功能、特性和质量。,(2)软件渗透了大量的脑力劳动,人的逻辑思维、智能活动和技术水平是软件产品的关键 (3)软件不会像硬件

3、一样老化磨损,但存在缺陷维护和技术更新 (4)软件的开发和运行必须依赖于特定的计算机系统环境,对于硬件有依赖性,为了减少依赖,开发中提出了软件的可移植性 (5)软件具有可复用性,软件开发出来很容易被复制,从而形成多个副本,软件的特点,1.1.2 软件的分类,(1)系统软件 系统软件是管理、使用和维护计算机系统资源的软件。它使得用户和其他软件将计算机当做一个整体而不需要顾及底层每个硬件是如何工作的。一般来讲,系统软件包括操作系统和一系列基本的工具(如编译器、数据库管理、存储器格式化、文件系统管理、用户身份验证、驱动管理、网络连接等方面的工具)。 (2)应用软件 应用软件解决属于专用领域的,非计算

4、机本身问题的软件。它是在特定领域内开发,针对用户的某种应用目的所开发的软件。如Microsoft的办公软件Office,腾讯公司的通信工具QQ,ACDSystems公司的图形浏览软件ACDSee等。,(3)工程/科学软件 工程科学软件的应用也非常广泛,涵盖了航空航天学、天文学、地理学、生物学、物理学等。随着科学工程的复杂化,工程/科学软件不再仅仅局限于传统的数值计算,目前的工程/科学计算软件开始带有实时软件和系统软件的特性。计算机辅助设计软件和系统仿真软件均属于工程科学软件的范畴。 (4)嵌入式软件 嵌入式软件就是嵌入在硬件中的操作系统和开发工具软件,它在产业中的关联关系体现为:芯片设计制造嵌

5、入式系统软件嵌入式电子设备开发、制造。由于存储空间有限,因而要求软件代码紧凑、可靠,大多对实时性有严格要求。嵌入式软件广泛应用于国防、工控、家用、商用、办公、医疗等领域,如我们常见的移动电话、掌上电脑、数码相机、机顶盒、MP3等都是用嵌入式软件技术对传统产品进行智能化改造的结果。,(5)产品线软件 产品线软件面向多个不同的用户提供一系列符合用户实际应用的功能,可以分为面向有限特定市场的产品线软件,如库存控制软件;面向大众消费品的产品线软件,如财务应用软件、多媒体软件、游戏软件等。 (6)Web应用程序 随着B2B应用和电子商务的发展,Web应用不仅仅只是一组超文本连接文件,它正朝着复杂化的趋势

6、发展,它可以为用户提供强大的计算功能,甚至于还可以与商务应用程序及企业数据库相连接。聊天室和论坛BBS等,都是Web应用程序,不过这些应用相对比较简单,而Web应用程序的真正核心主要是对数据库进行处理,管理信息系统(MIS)就是这种架构最典型的应用。MIS可以应用于局域网,也可以应用于广域网。基于Internet的MIS系统以其成本低廉、维护简便、覆盖范围广、功能易实现等诸多特性,得到越来越多的应用。,(7)人工智能软件 人工智能(AI)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能软件能以人类智能相似的思维方式解决计算和分析问题。其开发涉及信

7、息论、控制论、自动化、仿生学、生物学、心理学、数理逻辑、语言学、医学等多门学科。人工智能学科研究的主要内容包括:知识表示、自动推理和搜索方法、机器学习和知识获取、知识处理系统、自然语言理解、计算机视觉、智能机器人、自动程序设计等方面。人工智能领域的应用包括机器人、语言识别、图像识别、自然语言处理和专家系统等。,1.2 程序设计语言与开发环境,1.2.1程序设计语言 程序设计语言(Programming Language),是一组用来定义计算机程序的语法规则。它是一种被标准化的交流技巧,用来向计算机发出指令。 程序设计语言可分为机器语言,汇编语言,高级语言三大类。 计算机所能识别的语言只有机器语

8、言,因此任何一种语言程序最终都必须翻译成相应的机器语言程序,完成这种翻译工作的程序称为翻译程序或编译程序。但通常人们编程时,不采用机器语言,因为它非常难于记忆和识别。,目前通用的编程语言有两种形式:汇编语言和高级语言。 汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。它同样需要编程者将每一步具体的操作用命令的形式写出来。汇编程序通常由三部分组成:指令、伪指令和宏指令。 高级语言是目前绝大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样

9、就大大简化了程序中的指令。同时,由于省略了很多细节,编程者也就不需要有太多的专业知识。 常用的程序设计语言:Basic、C、C+、C#、Java,1.2.2开发环境 开发环境,也称为集成开发环境,是一种辅助程序开发人员开发软件的应用软件。 开发环境通常包括编程语言编辑器、编译器/解释器、自动建立工具,通常还包括调试器。 虽然目前一些开发环境支持多种语言(如Eclipse、Microsoft Visual Studio),但是一般而言,开发环境主要还是针对特定的编程语言而量身打造(如Visual Basic)。 (1)Delphi Delphi是著名的Borland(现在已和Inprise合并)

10、公司开发的可视化软件开发工具。Delphi 支持Object Pascal语言,Object Pascal语言是在Pascal语言的基础上发展起来的。,“真正的程序员用c,聪明的程序员用Delphi”,这句话是对Delphi最经典、最实在的描述。Delphi被称为第四代编程语言,它具有简单、高效、功能强大的特点。和VC相比,Delphi更简单、更易于掌握,而在功能上却丝毫不逊色;和VB相比,Delphi则功能更强大、更实用。可以说Delphi同时兼备了VC功能强大和VB简单易学的特点。它一直是程序员至爱的编程工具。 (2)Eclipse Eclipse 是一个开放源代码的、基于Java的可扩展

11、开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。Eclipse 附带了一个标准的插件集,包括Java开发工具(JDK)。 虽然大多数用户很乐于将 Eclipse 当作 Java 集成开发环境(IDE)来使用,但 Eclipse 的目标却不仅限于此。Eclipse 还支持诸如C/C+、COBOL、PHP等编程语言的插件,Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。,(3)Microsoft Visual Studio Visual Studio是目前最流行的Windows平台应用程序开发环境。拥有强大的调试能力,支持V

12、isual Basic、Visual C#、Visual C+、Visual F#四种程序语言。 (备注:F#语言基于功能性编程语言概念。功能性编程语言将计算看做是数学函数的赋值,对于需要使用大量数学符号的某些领域专业人员来说,F#语言的数学特性颇具吸引力。F#的目标是成为Net上的“上等公民”。),1.3平台环境,1.3.1集成平台 集成平台是以系统的高度为客户需求提供应用的系统模式,以快捷的方式将应用系统进行集成,使用户更好地利用相关信息,更有效地开展工作。 集成平台一般提供以下功能: (1)随需应变业务。随需应变的应变业务流程跨企业并与关键合作伙伴、供应商和客户进行端到端集成,能够快速响

13、应任何客户需求、市场机遇和外部威胁。 (2)人员集成(交互功能)。人员集成功能允许客户、雇员和业务合作伙伴随时随地与您的业务信息、应用程序和业务流程交互。,(3)流程集成。企业可以使用流程集成功能对业务流程进行建模、编排、监视和优化,以使它们与战略业务目标保持一致。 (4)信息集成。信息集成功能允许创建不同来源的结构化和非结构化信息的一致和统一视图,以及管理和同步产品参考信息。 (5)应用程序集成。应用程序集成功能提供广泛的服务来支持跨应用程序的可靠和灵活的信息流,这些应用程序可能在不同的企业中运行。 著名的集成平台: (1)Websphere WebSphere 是 IBM 的软件集成平台。

14、它包含了编写、运行和监视全天候的工业强度的随需应变 Web 应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施,如服务器、服务和工具。WebSphere 提供了可靠、灵活和健壮的软件。,(2)Weblogic WebLogic是美国BEA公司出品的一个基于JAVAEE架构的中间件,BEA WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。 (3)Joomla! Joomla!是一套在国外相当知名的内容管理系统。Jooml

15、a!使用PHP+MySQL数据库开发,可以在Linux、 Windows、MacOS等各种不同的平台上执行。 Joomla!除了具有新闻/文章管理,文档/图片管理,网站布局设置,模板/主题管理等一些基本功能之外。还可通过其提供的上千个插件进行功能扩展包括:电子商务与购物车引擎,论坛与聊天软件,日历,博客软件,目录分类管理,广告管理系统,电子报,数据收集与报表工具,期刊订阅服务等。,1.3.2虚拟化平台 虚拟化的本质是指资源的抽象化,也就是单一物理资源的多个逻辑表示,或者多个物理资源的单一逻辑表示。在高性能计算、群集、数据中心等IT技术及基础设施飞速发展的今天,面向服务器、数据中心、企业IT基础

16、设施管理的虚拟化技术是目前虚拟化的发展趋势及业内关注热点。 服务器的虚拟化:将服务器物理资源抽象成逻辑资源,让一台服务器变成几台甚至上百台相互隔离的虚拟服务器,不再受限于物理上的界限,而是让CPU、内存、磁盘、I/O等硬件变成可以动态管理的“资源池”,从而提高资源的利用率,简化系统管理,实现服务器整合,让IT对业务的变化更具适应力。,虚拟化方案主要从以下几个方面解决之前遇到的困难: (1)服务器整合:将多台效率较低的机器上的负载整合到少数几台或一台机器上,提高资源的利用率,节省硬件、管理和维护的成本。 (2)创建多个操作系统或运行环境:在同一台机器上创建多个不同的系统或运行环境,每个系统的最大资源占用量及调度优先级可以动态调整,通过确保某些系统指定的资源占用量或增大其优先级来提高服务质量。 (3)硬件及其配置的虚拟:虚拟机可以为运行在其上的应用程序提供底层物理机器所没有的硬件及其配置。 (4)构建可信计算平台:虚拟机之间以及虚拟机和虚拟机抽象层之间是安全隔离的,某个虚拟机的崩溃不会影响其他虚拟机的正常运行。 所以,虚拟机

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号