第1章 软件技术概论
第1章 数字技术概论

与设计相对较容易。 3)大批量生产,成本低廉 数字电路结构简单,体积小,通用性强,容易制造,便于集成化生产,因而成本低 廉。 4)可编程性 现代数字系统的设计,大多采用可编程逻辑器件,即厂家生产的一种半成品芯片。 用户根据需要利用硬件描述语言(Hardware Description Language,简称 HDL)在计算机上 完成电路设计和仿真,并写入芯片,这给用户研制开发产品带来了极大的方便和灵活性。 5)高速度,低功耗 随着集成电路工艺的发展,数字器件的工作速度越来越高,而功耗越来越低。集成 电路中单管的开关速度可以做到小于 1011 s。整体器件中,信号从输入到输出的传输时问 小于 2 109 s 。百万门以上超大规模集成芯片的功耗,可以低达毫瓦级。 由于具有这些优点,数字电路在众多领域取代模拟电路。可以肯定,这一趋势将会 继续发展下去。 4.数字电路的设计方法 数字系统的设计方法可分为两大类,即自下而上的设计方法和自上而下的设计方法。 自下而上的设计方法是一种经验法。设计者根据自己的经验将规模大、功能复杂的数字 系统按逻辑功能划分成若干模块,再划分成若干子模块,如此分割下去,一直分到这些 子模块可以用经典的方法和标准的逻辑功能部件进行设计,最后将整个系统进行安装、 调试,达到设计要求。 现在大量生产和广泛使用的逻辑功能部件很多,如数据选择器、译码器、计数器、 寄存器等,因此对于一些规模不大、功能不太复杂的数字系统,可以直接选用中、大规 模集成器件,采用经验法进行设计。这种方法具有设计过程简单、电路调试方便等优点, 目前仍被设计者使用。经验法不是盲目的,通常按下列具体步骤进行。 1)分析系统设计要求,确定系统总体方案 设计题目通常是比较简单的文字叙述,没有细节说明,设计者必须对题目消化、理 解,逐步明确并抽象出系统要完成的逻辑功能。 2)划分逻辑单元,确定初始结构,建立总体逻辑图 逻辑单元的划分可以采用由粗到细的方法,先将系统分为处理单元和控制单元,再 按处理任务或控制功能逐一划分。 3)选择逻辑功能部件,构成电路 将划分的逻辑单元进一步分解成若干相对独立的模块, 以便直接选用标准 SSI、 MSI、 LSI 器件实现。
29945嵌入式软件技术概论

29945嵌入式软件技术概论-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII高纲1450江苏省高等教育自学考试大纲29945 嵌入式软件技术概论南京航空航天大学编江苏省高等教育自学考试委员会办公室一、课程性质及其设置目的与要求(一)课程性质和特点《嵌入式软件技术概论》是高等教育自学考试计算机网络专业(独立本科段)考试计划规定必考的一门专业课。
通过本课程的学习,不仅使学生了解嵌入式计算机系统的基本概念和组织构成,并以ARM Cortex-M0+系列微处理器为基础掌握嵌入式计算机系统软件的开发方法,重点培养学生嵌入式计算机系统的软件开发能力。
(二)本课程的基本要求本课程共分为14章。
在对嵌入式计算机的学科基础、研究和应用领域以及ARM Cortex-M0+微处理器和KL25子系列微控制器进行简要介绍的基础上,重点阐述了如何基于KL25子系列微控制器开发一个相对完整的嵌入式系统的具体过程,以及嵌入式系统中所包含的基本接口及模块的编程方法,包括串行通信、中断、定时器、GPIO、FLASH、ADC、DAC、CMP、SPI、I2C、TSI、USB2.0、系统时钟及其它接口与模块。
通过对本书的学习,要求应考者对嵌入式计算机系统有一个全面和正确的了解。
具体应达到以下要求:1.了解嵌入式计算机系统的基本概念、发展过程、现状和发展趋势,嵌入式计算机系统的应用范畴,嵌入式计算机系统与通用计算机系统的区别与联系;2.理解并掌握嵌入式计算机系统的基本构成和基本原理;3.掌握基于KL25子系列微控制器的嵌入式计算机软件系统开发的方法以及对嵌入式计算机系统各基本接口及模块的开发编程方法。
(三)本课程与相关课程的联系嵌入式软件技术概论是一门综合性和应用性都比较强的课程,其内容涉及计算机相关专业的大部分专业课程,学习者需要具有一定的数字电路及编程基础,也要对计算机的一般组成有所了解。
软件工程导论(第五版) 第一章

(
Software Engineering
杨易扬
)
广东工业大学 计算机学院
软件工程系
个人信息
• • • • •
姓名:杨易扬 软件工程系,计算机学院,广东工业大学
手机:18613087953
QQ:86749678
办公室地址:广东工业大学工学一号馆725室 研究兴趣:数据挖掘,地理信息系统,信息检 索
•一种风险更大的增量模型:
•1.4.4 螺旋模型
•可把它看作在每个阶
段之前都增加风险分 析的快速原型模型。
•风险分析:用户不
满意,提交推迟, 程序员跳槽
• 1.4.5 喷泉模型
典型的面向对象软件 开发过程模型之一。
1.4.6 Rational 统一过程
• • • • • • •
1. RUP软件开发经验
软件工程的本质特性:
• • • • • • •
1. 软件工程关注于大型程序的构造;
2. 软件工程的中心课题是控制复杂性;
3. 软件交付之后仍然经常需要修改;
4. 开发软件的效率非常重要;
5. 和谐地合作是软件开发的关键; 6. 软件必须有效地支持它的用户; 7. 在软件工程领域中是由具有一种文化背 景的人替具有另一种文化背景的人创造产品。
•
• • • •
•
8.维护。
1.4 软件过程 • 软件过程:为了获得高质量软件所需要完成的一
系列任务的框架,它规定了完成各项任务的工作步
骤。
• 软件过程(ISO9000):使用资源将输入转化为输
出的活动所构成的系统。
•输入:如软件需求 •输出:如软件产品
•1.4.1 瀑布模型
1.
第一章 概论第一节:计算机网络安全概念一、计算机网络安全概念:网络 ...

第一节:电子商务安全概念 一、电子商务安全概念:
• 网络安全是指网络系统中的硬件、软 件及其系统当中的数据受到保护,不 因偶然或者恶意的原因遭到破坏,更 改,泄漏,系统的连续可靠、正常地 运行,网络服务不中断。
从本质上来讲,网络安全就是网络的信息安全。
1、站立的角度不同:所说的网络安全的概念 也不一样。
• 雷击防范的主要措施是,根据电气、微电 子设备的不同功能及不同受保护程序和所 属保护层确定防护要点作分类保护;根据 雷电和操作瞬间过电压危害的可能通道从 电源线到数据通信线路都应做多级层保护。
5.防电磁泄漏
• 电子计算机和其他电子设备一样,工作时 要产生电磁发射。电磁发射包括辐射发射 和传导发射。这两种电磁发射可被高灵敏 度的接收设备接收并进行分析、还原,造 成计算机的信息泄露。
2.防火
• 计算机机房发生火灾一般是由于电气原因、人为 事故或外部火灾蔓延引起的。电气设备和线路因 为短路、过载、接触不良、绝缘层破坏或静电等 原因引起电打火而导致火灾。人为事故是指由于 操作人员不慎,吸烟、乱扔烟头等,使充满易燃 物质(如纸片、磁带、胶片等)的机房起火,当 然也不排除人为故意放火。外部火灾蔓延是因外 部房间或其他建筑物起火而蔓延到机房而引起火 灾。
二、物理安全 1.防盗
• 像其他的物体一样,计算机也是偷窃者的目标,例如盗走软盘、 主板等。计算机偷窃行为所造成的损失可能远远超过计算机本身 的价值,因此必须采取严格的防范措施,以确保计算机设备不会 丢失。具体来看,偷窃行为主要包含以下几种情形: 1)偷窃:即偷窃计算机整机或部件。 2.废物搜寻:就是在废物(如一些打印出来的材料或废弃的软 盘)中搜寻所需要的信息。在微机上,废物搜寻可能包括从未抹 掉有用东西的软盘或硬盘上获得有用资料。 3)间谍行为:是一种为了省钱或获取有价值的机密、什么不道 德的行为都会采用的商业过程。 4)身份识别错误:非法建立文件或记录,企图把他们作为有效 的、正式生产的文件或记录,如对具有身份鉴别特征物品如护照、 执照、出生证明或加密的安全卡进行伪造,属于身份识别发生错 误的范畴。这种行为对网络数据构成了巨大的威胁。
软件工程概论课后习题答案

软件工程概论课后习题答案软件工程概论郑人杰等版第1章软件与软件工程的概念1.1 举出你所知道的应用软件的例子。
办公软件、嬉戏软件、财务软件、银行软件、人事管理软件、工资管理软件、学籍管理软件等。
1.2 认为“软件就是程序,软件开发就是编程序。
”这种观点是否正确?为什么?认为“软件就是程序,软件开发就是编程序。
”这种观点是错误的。
首先,软件是计算机系统中与硬件互相依存的另一部分,它是包括程序,数据及其相关文档的完整集合,程序只是软件的组成部分之一;第二,在软件开发中,编程只是软件开发过程的一个阶段。
1.3 假如将软件开发比作高楼大厦的建筑,可以将软件的设计比作什么?可以将软件的设计比作建造设计,软件设计的成绩相当于建造设计的设计图纸。
1.4 什么是软件危机?它有哪些典型表现?为什么会浮现软件危机?软件危机:软件危机是指在计算机软件的开发和维护过程中所碰到的一系列严峻问题。
典型表现:(1)对软件开发成本和进度的估量经常很不精确。
(2)用户对“已完成的”软件系统不惬意的现象常常发生。
(3)软件产品的质量往往靠不住。
(4)软件经常是不行维护的。
(5)软件通常没有适当的文档资料。
(6)软件成本在计算机系统总成本中所占的比例逐年升高。
(7)软件开发生产率提高的速度,既跟不上硬件的进展速度,也远远跟不上计算机应用快速普及深化的趋势。
产生软件危机的缘由:除了软件本身的特点,其缘由主要有以下几个方面:(1) 缺乏软件开发的阅历和有关软件开发数据的堆积,使得开发工作方案很难制定。
(2) 软件人员与用户的沟通存在障碍,使得猎取的需求不充分或存在错误。
(3) 软件开发过程不规范。
如,没有真正了解用户的需求就开头编程序。
(4) 随着软件规模的增大,其复杂性往往会呈指数级上升。
需要无数人分工配合,不仅涉及技术问题,更重要的是必需有科学严格的管理。
(5) 缺少有效的软件评测手段,提交给用户的软件的质量不能彻低保证。
1.5 什么是软件工程?软件工程是指导计算机软件开发和维护的工程学科。
illustrator教程第1章Illustrator 概述

•RGB模式: •CMYK模式: •色彩模式的转换:
任务二、图像的基础知识
RGB颜色模式:(光学原理)
自然界中所有的颜色都可以用红、绿、蓝(RGB)这三 种颜色波长的不同强度组合而得,这就是人们常说的三 原色原理。(加色模式)。 把三种基色交互重叠,就产生了次混合色:青(Cyan)、洋红(Magenta)、
任务二、图像的基础知识
三、常用的图像格式:
任务二、图像的基础知识
一、BMP图像文件格式
BMP是一种与硬件设备无关的图像文件格式,使用非常广。它采用位映射存储 格式,除了图像深度可选以外,不采用其他任何压缩,因此,BblP文件所占用 的空间很大。
二、JPEG文件格式
是一种有损压缩格式,能够将图像压缩在很小的储存空间,图像中重复或不重 要的资料会被丢失,因此容易造成图像数据的损伤。
这是彩色印刷使用的一种颜色模式。 在印刷中代表四种颜色的油墨它由青(Cyan)、 洋红(Magenta)、黄(Yellow)和黑(Black) 四种颜色组成。 CMYK模式在本质上与RGB模式没有什么区别,只是产生色彩的原理不同,它不
是靠增加光线,而是靠减去光线(减色模式),因此和监视器或者电视机不同 的是,打印纸不能创建光源,它不会发射光线,只能吸收和反射光线。因此打 印时用的是CMYK模式.设置取值范围(0-100)。
文件标题栏 文件标题栏显示的是当前工作文件的图标、名称、缩放比例以及色彩模式等。
任务一、Illustrator工作界面
控制面板 • 执行菜单栏中【窗口】菜单中的子命令,可以隐藏或显示相应的控制面板。 • 按【Shift+Tab】键可以隐藏或重新显示当前打开的控制面板
任务二、图像的基础知识
第1章 计算机系统概论第二版课后习题详细讲解
第1章计算机系统概论1. 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?解:P3计算机系统:由计算机硬件系统和软件系统组成的综合体。
计算机硬件:指计算机中的电子线路和物理装置。
计算机软件:计算机运行所需的程序及相关资料。
硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要。
2. 如何理解计算机的层次结构?答:计算机硬件、系统软件和应用软件构成了计算机系统的三个层次结构。
(1)硬件系统是最内层的,它是整个计算机系统的基础和核心。
(2)系统软件在硬件之外,为用户提供一个基本操作界面。
(3)应用软件在最外层,为用户提供解决具体问题的应用系统界面。
通常将硬件系统之外的其余层称为虚拟机。
各层次之间关系密切,上层是下层的扩展,下层是上层的基础,各层次的划分不是绝对的。
3. 说明高级语言、汇编语言和机器语言的差别及其联系。
答:机器语言是计算机硬件能够直接识别的语言,汇编语言是机器语言的符号表示,高级语言是面向算法的语言。
高级语言编写的程序(源程序)处于最高层,必须翻译成汇编语言,再由汇编程序汇编成机器语言(目标程序)之后才能被执行。
4. 如何理解计算机组成和计算机体系结构?答:计算机体系结构是指那些能够被程序员所见到的计算机系统的属性,如指令系统、数据类型、寻址技术组成及I/O 机理等。
计算机组成是指如何实现计算机体系结构所体现的属性,包含对程序员透明的硬件细节,如组成计算机系统的各个功能部件的结构和功能,及相互连接方法等。
5. 冯•诺依曼计算机的特点是什么?解:冯•诺依曼计算机的特点是:P8●计算机由运算器、控制器、存储器、输入设备、输出设备五大部件组成;●指令和数据以同同等地位存放于存储器内,并可以按地址访问;●指令和数据均用二进制表示;●指令由操作码、地址码两大部分组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置;●指令在存储器中顺序存放,通常自动顺序取出执行;●机器以运算器为中心(原始冯•诺依曼机)。
软件工程期末复习资料 华南农业大学版
第二章 系统工程
1.基于计算机的系统是指:通过处理信息来完成某些预定义目标而组织在一起的元素的集合或排列。 组成基于计算机系统的元素主要有:软件、硬件、人员、数据库、文档和规程 2.系统工程的任务: (1)识别用户的要求(2)系统建模和模拟:包括硬件系统模型、软件系统模型、 人机接口模型、数据模型; (3)成本估算及进度安排(4)可行性分析(5)生成系统规格说明 3.可行性分析考虑:成本、效益、货币的时间价值、投资回收期析
第四章 设计工程
1.软件设计开始于软件需求的分析和规约之后,位于软件工程过程中的技术核心位置,是把需求转化 为软件系统的最重要环节 2.软件设计是把软件需求变换成软件表示的过程,它主要包含两个阶段:软件体系结构设计阶段和部 件级设计,前者也被称为概要设计,后者被称为详细设计。软件体系结构设计将软件需求转化为数据结构 和软件的系统结构。部件级设计将软件体系结构性元素转化为软件部件的过程性描述,得到软件详细的数 据结构和算法。 3.软件设计原则:抽象、逐步求精、模块化、信息隐藏 4.模块的独立性可以由两项指标来衡量:内聚度与耦合度。内聚度衡量一个模块内部各个元素彼此结 合的紧密程度,耦合度衡量不同模块之间相互依赖的紧密程度 5.内聚:是一个模块内部各个元素彼此结合的紧密程度的度量。内聚可以分为以下 7 中类型: 1)巧合内聚(偶然内聚) :将几个模块中没有明确表现出独立功能的相同程序代码段独立出来建立的 模块称为巧合内聚模块 2)逻辑内聚 :指完成一组逻辑相关任务的模块,调用该模块时,由传送给模块的控制型参数来确定 该模块应执行哪一种功能 3)时间内聚:指一个模块中的所有任务必须在同一时间段内执行。例如初始化模块和终止模块 4)过程内聚 :指一个模块完成多个任务,这些任务必须按指定的过程(procedural)执行 5)通信内聚 :指一个模块内所有处理元素都集中在某个数据结构的一块区域中 6)顺序内聚:指一个模块完成多个功能,这些功能又必须顺序执行 7)功能内聚 :指一个模块中各个部分都是为完成一项具体功能而协同工作,紧密联系,不可分割的 6.耦合:是模块之间的相对独立性的度量。耦合取决于各个模块之间接口的复杂程度、调用模块的方 式以及通过接口的信息类型。耦合方式有其中类型: 1)内容耦合 :如果一个模块直接访问另一个模块的内部数据;或者一个模块不通过正常入口转到另
软件工程课后习题答案第五版
软件工程课后习题答案第五版《软件工程导论》课后习题答案第一章软件工程概论1.什么是软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
这些问题表现在以下几个方面:(1)用户对开发出的软件很难满意。
(2)软件产品的质量往往靠不住。
(3)一般软件很难维护。
(4)软件生产效率很低。
(5)软件开发成本越来越大。
(6)软件成本与开发进度难以估计。
- (7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。
2.为什么会产生软件危机?(1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。
造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。
(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。
(3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。
3.怎样克服软件危机?(1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。
在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。
(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。
(3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。
将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。
- 总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。
4.构成软件项目的最终产品:应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。
5.什么是软件生存周期?软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。
第一章计算机与信息技术概论
第一章 计算机与信息技术概论本章学习目标掌握信息技术的基本概念;了解计算机发展及体系结构;掌握计算机软件与硬件的基本构成及功能;了解常用计算机应用软件的基本功能;了解计算机网络技术的发展及提供的服务;了解计算机网络安全涉及因素及防范措施;了解计算机及应用技术的发展趋势。
当今的信息化社会中,信息作为一种新的生产要素正发挥着重要的作用,而信息技术作为一种提高或扩展人类对信息的认识、收集、处理的方法、手段,在推动社会信息化建设中发挥着极其重要的作用。
计算机技术是信息技术中的重要组成部分,是依托计算机软、硬件的信息处理技术。
计算机技术的应用及发展对人类社会的生产和生活产生了极其深刻的影响。
1.1信息技术概述信息技术作为社会广泛使用的术语,目前没有一个准确的公认定义。
社会各界从不同角度对信息技术作出相关解释。
从技术角度来看,信息技术(Information Technology,简称IT),是用于管理和处理信息所采用的各种技术的总称。
信息技术是信息的获取、加工、表达、发布、交流、管理等的现代科学技术,是应用计算机技术和通信技术来设计、开发、安装和实施信息系统及应用软件的方法与手段。
信息技术主要包括传感技术、计算机技术和通信技术。
信息技术源于技术领域本身,一般具有数字化、网络化、高速化、智能化及个人化的特征。
在信息化的社会中,信息技术发挥着重要作用,它在推动自然界和人类社会发展方面起着举足轻重的作用。
1.1.1信息技术发展历程信息技术对人类社会的影响是广泛而深刻的,其发展先后经历了5次革命,如表1所示。
表1.1信息技术发展的5次革命发生年代及科学发展历程发明与应用的信息技术提高的信息能力家第1次语言的产生和使用较远距离的传递20万年以前第2次文字的创造与使用信息的存储、传递的能力超越时空公元前3500年第3次造纸术和印刷术的发明和应用信息量大存储、及时交流、广泛传播公元1040年第4次电报、电话、广播、电视的发明和普及应用提高传递的效率,突破时空限制电话1875年电报1933年第5次计算机和网络的普及应用处理、传递速度和普及应用程度惊人变化计算机1943年1.1.2信息技术在社会中的应用信息技术对社会发展具有正负两个方面的影响。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
机械工业出版社
程序特征
程序是用计算机语言写成 。 程序是用计算机语言表示的算法。 程序的处理对象是数据 。
机械工业出版社
二、软件的概念
软件=程序+文档
1980年美国版权法案将软件定义为“在计算机 中被直接或间接用来产生明确结果的一组语句 或指令”。由此可见,软件和程序本质上是相 同的 。
机械工业出版社
机械工业出版社
程序设计语言的抽象化
从机器语言到汇编语言的抽象化 从汇编语言到高级语言的抽象化 从高级语言到第四代语言的抽象化 从第四代语言到面向对象语言的抽象化
机械工业出版社
程序设计方法的抽象化
结构化方法 面向对象方法 面向组件方法
机械工业出版社
二、工程化
加工制造业和建筑业采用标准件和预制件的工程化方法大幅 提高了生产效率和产品质量,为社会创造了大量物质财富。 这种搭积木的原理在软件技术发展过程中也得到充分运用。 在软件工程界,这类技术叫组件技术。
机械工业出版社
2.可视化编程的基础 Windows应用编程接口API是在Windows操作系 统下实现可视化编程的基础。Windows API的构 成如下:
基本服务函数 通用控件库 图形设备接口 网络服务 用户界面 Windows命令解释器
机械工业出版社
四、智能化
软件技术的自动化发展趋势集中表现在 CASE工具的发展和软件业的普遍采用方面。
机械工业出版社
main() { long i,c=0,t=0,g,s,b,q; for(i=1001;i<=9999;i=i+2) { g=i%10; s=i/10%10; b=i/100%10; q=i/1000; if((g+s+b+q)%15==0) { c++; t=t+i; } } printf("%ld",t); }
机械工业出版社
2.网络计算模式
客户机/服务器模式的局限 浏览器/服务器模式的优势 分布式网络计算模式(DNA模式)
机械工业出版社
1、计算下面公式的值。T=1/1!+1/2!+1/3!+……+1/m! 当m=5 时的结果(按四舍五入保留3位小数)。(注:所有变量用float数 据类型定义!)答案:1.717
一类是生成图形用户界面及相关的消息响应函数。通常的方法是先生成 基本界面,并在它的外面以图标形式列出所有其他的界面元素,让开发 人员挑选并拖放到窗口指定位置。在逐一安排界面元素的同时,还可以 用鼠标拖动,以使窗口的布局更加合理。 另一类服务是为各种具体的应用程序的各个常规执行步骤提供规范的窗 口,它包括对话框、菜单、列表框、组合框、按钮和编辑框等,以供用 户选择。开发工具还能为所有的选择(事件)提供消息响应函数。
普通高等教育机电类规划教材
计算机软件技术基础
第一章 软件技术概论
机械工业出版社
本章基本内容与要求
基本内容
计算机软件概述 软件技术的发展
要求
掌握计算机软件的基本概念 掌握计算机软件的发展历史
机械工业出版社
第一节 计算机软件概述
一、程序的概念 二、软件的概念 三、作为工业产品的软件 四、软件的版权和许可证
2、8232和9678,它们的个、十、百、千各位数字之 和是15的倍数,8+2+3+2=15,9+6+7+8=30。编 写程序,求四位数的所有奇数中,这样的数(各位数字 之和是15的倍数)的总和。(注:所有变量用long数据 类型定义!) 答案:1533459
机械工业出版社
main() { int i; long jc=1; float s=0; for(i=1;i<=5;i++) { jc=jc*i; s=s+1.0/jc; } printf("%f",s); }
机械工业出版社
三、作为工业产品的软件
软件是一种工业产品,具有一般工业产品的 基本特征。主要体现在下述几个方面:
软件有生命周期。 软件作为工业产品,为了快速发展,必须实现 其规范化、通用化和标准化。 为控制软件产品质量,保证用户使用软件的安 全性,软件产品也有相应的企业认证和行业认 证标准和机构,颁发认证合格证书。
机械工业出版社
四、软件的版权和许可证
软件版权 软件许可证 共享软件 自由软件
机械工业出版社
第二节 软件技术的发展
抽象化 工程化 可视化 智能化 集成化 网络化
机械工业出版社
一、抽象化
软件技术中处处有抽象。例如,系统模型是 系统结构的抽象,类是对象的抽象,封装是 实现的抽象,软件规格是软件行为的抽象等 等。 在软件技术发展进程中,抽象化趋势主要表 现在程序设计语言的抽象化和程序设计方法 的抽象化两个方面。
Case工具概述 集成化的Case工具
机械工业出版社
五、集成化
软件技术的集成化趋势主要表现在软件产品 对程序和技术的集成上。
从DOS操作系统流行的时代就已经开始,例如Borland公司的 Turbo C和Turbo Pascal。 目前,无论是在Windows操作系统,还是在Unix、Linux操 作系统下,都有一些比较好用的可视化开发环境。各家公司在 各种操作系统下的可视化开发环境基本上大同小异,而有代表 性的当首推Microsoft公司和Borland公司的可视化开发环境 。
机械工业出版社
一、程序的概念
程序=算法+数据结构
程序是为解决特定问题而用计算机语言编写的指令序列。 程序处理的对象是数据,它可以将数据处理成人们所需 要的各种信息。执行程序就是把程序装进计算机内存, 在CPU的控制和指挥下,按程序设计的逻辑顺序逐条执 行指令。程序在执行过程需要使用计算机的某些软件和 硬件资源,有时还可能通过人机交互界面,让使用者输 人数据,然后继续往下执行,直到产生运行结果,实现 人们使用计算机的各种目的。
软件特征
软件是设计较成熟、功能较完善的程序系统。 软件是一种工业产品,具有一般工业产品的基 本特征。 软件是高价值的知识产品。 软件很容易复制和传播。
机械工业出版社
软件分类 软件可以从不同的角度进行分类
按软件功能分类 一般分为两大类,一类是系 统软件,另一类是应用软件。 按软件版权特点分类 分为普通商品软件、共 享软件和自由软件。 按软件应用范围分类 分为专用软件和通用软 件。 按软件运行在计算机网络中的客户端还是服务 器端分类 分为客户端软件和服务器端软件。
机械工业出版社
三、可视化
软件技术的可视化趋势主要表现在 Windows开发工具和应用软件普遍采用可 视化方法上。可视化技术也是目前软件产业 的主流技术之一。
机械工业出版社
1.什么是可视化方法
可视化方法就是在可视开发工具提供的图形用户界面上,通过拖 放和调整界面元素做程序设计。界面元素包括菜单、按钮、对话 框、编辑框、单选钮、复选钮、列表框和滚动条等控件,当用户 将这些控件拖到设计窗口的适当位置,并做属性选择之后,由可 视开发工具自动生成界面控件的程序代码。 可视开发工具应提供两大类服务。
机械工业出版社
六、网络化
1. 网络计算
网络计算是一种利用互联网或专用网络把地理上分布很 广的各种计算资源互连在一起的技术。这些计算资源包 括超级计算机、计算机集群、存储系统和可视化系统等, 在必要时,该技术还可以有选择地将这些计算资源作为 单独的或统一的计算资源来处理。 网络计算能带来两大好处: 其一是能够优化现有的计算资源,更快地解决商务计算 问题和工程设计问题。 其二是能够将应用程序的每个部分调整到最适合它的系 统中去,从而能以更短的时间、更低的成本解决整个问 题。
组件技术是基于面向对象的软件技术,是当今软件开发的主流 技术。 组件技术的发展始终遵循着一个指导思想:降低建立大型应用 程序的复杂性,让开发人员可以利用已有的组件及其接口编程, 组件应用的逻辑界限不再是一台机器,软件应用要求将组件开 发的优势扩展到更广泛的多用户应用环境。软件企业希望可运 行于多种硬件平台的共享组件能迅速得到再利用,并通过不同 厂商提供的数以万计的规格统一、可供选择的组件建立起软件 工业的基础。