版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1.第三章计算机软件计算机软件是基于一类计算机硬件标准开发的程序产品,具有特定的功能,满足一定的稳定性和可靠性标准,满足用户应用需求。软件的质量:能满足用户的需求(功能描述);根据标准和规范进行开发(代码规范、规范测试);满足客户需求(隐含需求、功能测试);满足可靠性和可用性标准(性能测试);满足安全要求(安全测试)。程序:它是一组指令和数据(按顺序),代表某个功能。功能:解方程或控制某个过程,并显示一个字符集。指令:人工指定并可由计算机执行的基本操作。指令可以分为机器指令和程序指令。数据:指令的操作对象。2.计算机机器指令和程序指令机器指令是指由中央处理器中的硬件实现的基本操作。编译加。程序
2、指令是指一种编程语言的指令语句,它可能包含几十条机器指令。添加a,b,分配文件(文件1,c:text.txt),3,机器指令是人们设计CPU时CPU的基本操作单元。目前,有两种类型的中央处理器指令设计:CISC和RISC。中国人发明的一个是MISC。CISC的代表是英特尔公司的RICS,IBM Berkeley Stanford Cray MISC,复杂指令集计算机。精简指令集计算机、宏指令集计算机的特征指令,4、3。CISC是人类设计的一种关系,它是通过电子电路实现的,通过输入一个值就可以根据给定的关系输出一个值。设计者将指令分为:数值计算、逻辑运算、数据传输、寻址、输入输出操作、特殊操作(
3、堆栈、队列、中断等)。)。对于CISC系统,所有指令集:分两个阶段实现。第一部分是硬件和电子电路。第二部分是微指令。对于CISC指令系统,指令的长度、执行时间和机器周期是不固定的,指令的数量随着功能的增加而增加。有些指令是通过增加二级微指令来实现的,而另一些则需要通过电子电路来实现,这使得中央处理器和指令系统越来越复杂。一般来说,CISC指令集中有200,500条中央处理器指令。4.RISC的特点:支持RISC技术的制造商、学校和公司有:IBM 801小型伯克利RISCI)斯坦福Mips、加州大学帕克利分校、斯坦福大学CRAY-1 CRAY-1。6、RISC结构改进了CISC结构:在CISC指
4、令系统中,应用效率超过80%的指令只占指令总数的20%。简化说明。双层指令系统(微指令)延长了每条指令的执行周期。CISC中央处理器直接访问内存中的数据,降低了指令执行速度。可变长度指令结构。RISC架构的特点是: (1)周期时间短。(时钟周期变短)(2)在单个周期内执行指令。(硬件指令)(3)加载/存储结构。(批量数据交换)(4)简单的固定格式指令。(易于翻译和设计)(5)没有微码技术。(直接硬件指令),7,(6)大寄存器文件。(CACHE) (7)哈佛总线结构。(哈佛)高速双总线动态接入(8)高速流水线操作。(指令预测功能)(9)延迟传输。(在RISC编译系统的配合下,可以改变前后的指定位
5、置,以减少指令的加载量。)(10)硬件控制。(代替微码)(11)重叠寄存器窗口技术。(打电话。跳。快速)(12)优化编译器。(优化数据流和控制流)(13)增强存储管理功能。(14)高级语言。(可以一次生成直接硬件执行指令)。大约有100条RISC指令,它们通常面向特定的应用程序,通常用于工作站和小型计算机。8的特点,MISC结构:英特尔80586采用CACHE技术,这使得指令执行速度比原来快75%。将微指令与直接硬件指令相结合。(使用新的编译系统),5。指令的执行过程,9,6。计算机软件是指除了有形的硬件实体之外,能够反映整个系统的水平和功能的其他抽象和逻辑的东西。计算机软件的核心内容是指程序
6、,它是一种产品化的程序。与程序不同,除了程序的功能之外,软件还必须具有一定的可靠性、可用性、稳定性并满足一定的标准。特定属性:基于特定的硬件基础。为某类问题开发的程序。可以作为商品出售。软件分类必须符合标准。一般的分类标准是:根据软件的功能;根据计算机系统的组成。根据软件的功能:11,根据计算机系统划分:12,2。编程的步骤和方法在特定计算机平台上编程的概念,使用编程语言,设计和编译满足特定应用功能的指令集。面向机器语言面向机器汇编语言面向机器面向人类的高级程序设计语言,13汇编语言程序,机器语言,计算机执行,高级语言程序,机器语言,计算机执行,(源程序),(源程序),汇编(翻译)(目标程序)
7、,(翻译)(目标程序),汇编,编译,解释。典型编程语言(高级):FORTRAN科学计算COBOL业务管理(数据描述和处理)PASCAL结构化,数字语言c语言专业应用语言LISP逻辑演绎语言(智能推理)JAVA跨平台网络编程语言,编程是:在特定的计算机系统平台上,应用编程语言,开发和设计满足特定应用功能的程序流程。15,3。编程的思维方法。算法定义:用计算机解决问题的精确描述。该算法具有以下属性:有限数量的步骤(动作序列)合成一组有序的指令(程序);(有效)只有一个初始动作;(输入)每个动作只有一个后续动作;(输出)序列的终止表明问题已经结束。(有解或无解,终止),程序是用编程语言实现算法的一种
8、逻辑产品。算法设计是程序设计的核心,一个好的算法应该节省时间和空间,并且解决方案是正确的。16,2。算法设计的基本思想是,抽象的方法用变量代替具体的值,这个变量是具体值的抽象。一旦你学会了如何在编程中使用变量,你就会掌握编程的精髓。月薪乘以岗位工资加上奖金,然后从其他扣除项目中扣除。y,a,x,b1,b2,y=ax b1-b2,(摘要),17,程序文本1y:浮点;a:整数;x,b1,b2:浮子;开始写(“a=“,a”);写下“(x=,x);填写(“b1=“,B1”);写下“(b2=,B2);写下“(y=,ax B1-B2);结束。枚举一个方法不能工作,改变另一个方法,不能,改变另一个方法,直到
9、所有的思想方法都用完。在用计算机解决问题时,如果我们一时找不到规律性的描述,或者花太多精力去寻找规律性是不值得的,我们就用枚举法。(查找表,数字滤波)。归纳归纳归纳是列举的反义词(思维的反义词)。它指的是从特殊到一般的归纳推理。如何从特殊性中找到一般规律需要智慧。19,=(n/2)*n n/2=(n/2) *(n 1),20。回溯的基本思想是尝试。典型的应用是解密。A:排列组合产生数据。b:功能代码产生数据。子问题法根据问题的结构关系将问题分成几个更简单的问题。因此每次突破。这是编程必须掌握的方法。21、软件工程中程序的评价标准规定:正确性,当子程序结构容易阅读时,空效率,文档通用性,正确性,
10、根据原程序,程序是否正确地完成了要做的工作。对于大规模的程序来说,用正确性作为衡量标准是不够的。我们还应该考虑程序对环境的适应性(如计算硬件配置的变化、异常输入、参数变化等)。),用“适合度”表示。4.程序评估标准,早期(20世纪60年代)的评估标准:在正确性上很快,并且占用较少的内存,22。如何证明程序的正确性是一个重要的问题。目前常用的方法是手工测试,主要采用枚举法,这对于研究大规模软件正确性的自动验证方法非常重要。程序结构是否以实现逻辑子功能的方式建立子程序。程序的可读性主要是为了满足测试和维护的方便。从社会的角度来看,它可以节省人力和物力。一般来说,注释程序占编程工作量的20.30%。
11、小时。空效率速度,内存空间小时。空效率是程序的执行效率。迪杰斯特拉提出了:枚举法、归纳法和抽象法,每个子程序都有相对独立的逻辑功能。23、程序的技术文件和程序的指令文件是否清楚。代码共享可以提高程序开发的效率。程序设计采用模块化、抽象思维和标准化。时间效率取决于:a:源程序转换为目标程序的时间b:目标程序执行的时间和空间效率:在编程中,占用的内存越少越好,主要是在算法中,每个存储单元的有效利用。24,5。程序和软件的体系结构程序的基本结构,25,软件的基本结构混合结构软件的C/S结构三层C/apS/dbS结构三层B/WeB/DBs结构四层B/WeB/APs/DBs,26,软件的基本结构,应用程
12、序数据,应用程序。应用服务器、数据库服务器、客户端、三层C/apS/dbS结构、软件C/S结构、混合结构、27、数据库服务器、浏览器浏览器、网络服务器、应用服务器、数据库服务器、浏览器浏览器、网络服务器、四层B/WeB/APs/DBs、三层B/WeB/DBs结构、B/S结构、28、软件工程一级学科产生的原因:(1)软件工程学科已发展成为计算机科学(2)软件工程学科已形成相对完整的理论和工程技术体系,课程体系基本清晰,高端人才和培养能力基本形成,社会对创新型和复合型人才的需求不断提高。软件工程涉及软件产业、信息产业和现代服务业,代表着未来社会产业的发展方向。(4)现有软件工程人才培养体系不完善,
13、需要进一步进行学科建设,以满足行业发展对高端人才的需求。软件工程学科主要支持两个学科:软件工程理论、软件工程技术、软件工程管理、软件服务工程,软件工程学科的主要研究方向和研究内容:(1)软件工程理论:主要研究软件工程的形式化方法、软件的自动生成与演化、软件建模、分析与验证、软件行为等。软件工程技术:主要研究需求工程、软件方法论、软件规范语言、软件体系结构、软件测试和质量保证、软件再工程、基于模型和逻辑推理的软件验证方法、软件工程环境、开发工具、面向领域的软件工程方法和技术等。软件工程管理:主要研究软件配置管理、软件过程技术、软件项目管理、软件度、数量方法和技术等。软件服务工程:主要研究软件服务
14、、软件工程过程服务、服务、面向服务计算和服务工程的理论、方法、技术和应用。研究生培养方面,软件工程学科研究生的课程设置侧重于软件理论知识和学术基础研究,核心课程包括算法分析与设计、并行与分布式计算、软件工程的形式化方法、软件工程的统计方法、软件工程经济学、软件需求工程、软件体系结构、软件质量工程、软件项目管理和信息部门等。软件工程一级学科出现的原因:(1)软件工程学科已经发展成为计算机科学与技术、数学、工程、管理等相关学科的交叉学科。传统的计算机科学与技术学科不能涵盖软件工程所属的两个学科问题,也不能满足软件产业对软件工程人才培养的需求。(2)软件工程学科已形成相对完整的理论和工程技术体系,课
15、程体系基本清晰,高端人才和培养能力基本形成,社会对创新型和复合型人才的需求不断提高。软件工程涉及软件产业、信息产业和现代服务业,代表着未来社会产业的发展方向。(4)现有软件工程人才培养体系不完善,需要进一步进行学科建设,以满足行业发展对高端人才的需求。软件工程学科主要支持两个学科:软件工程理论、软件工程技术、软件工程管理、软件服务工程,软件工程学科的主要研究方向和研究内容:(1)软件工程理论:主要研究软件工程的形式化方法、软件的自动生成与演化、软件建模、分析与验证、软件行为等。软件工程技术:主要研究需求工程、软件方法论、软件规范语言、软件体系结构、软件测试和质量保证、软件再工程、基于模型和逻辑推理的软件验证方法、软件工程环境、开发工具、面向领域的软件工程方法和技术等。软件工程管理:主要研究软件配置管理、软件过程技术、软件项目管理、软件度、数量方法和技术等。软件服务工程:主要研究软件服务、软件工程过程服务、服务、面向服务
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 糖尿病患者营养膳食控制方案
- 固体废物分类贮存管理指南
- 前台接待服务标准化操作规范
- 售后服务质量考核管理标准
- 环保设施升级改造方案
- 茄子嫁接育苗定植田间操作指南
- 突发环境事件风险防控方案
- 广东省梅州市兴宁市中考2026年数学一模试卷附答案
- 孕期产后营养调理手册
- 蔬菜地下害虫化学防治操作规程
- 数值分析(华东交通大学)知到智慧树章节测试课后答案2024年秋华东交通大学
- 施工作业A票操作手册
- 五年(2020-2024)高考生物真题分类汇编(全国版)专题14 神经调节(解析版)
- 第六章-专家系统与IDSS
- 2021年西藏地区中考满分作文《平凡生活别具温情》
- (正式版)SH∕T 3548-2024 石油化工涂料防腐蚀工程施工及验收规范
- 傅里叶变换红外光谱仪FTIR简介课件
- 慢性疼痛的药物治疗:慢性疼痛的药物治疗方案
- 跖骨骨折护理查房
- 施工员学习课件第7章建筑构造与建筑结构
- 住院精神疾病患者攻击行为预防-2023中华护理学会团体标准
评论
0/150
提交评论