计算机组成原理
文章平均质量分 76
hu19930613
这个作者很懒,什么都没留下…
展开
-
设计模式---设计模式及实现
1 Abstract Factory 模式 1.模式名称 Abstract Factory,也经常称之为抽象工厂模式。 2.意图解决的问题 在程序中创建一个对象似乎是不能再简单的事情,其实不然。在大型系统开发中存在以下问题: (1)object new ClassName 是最常见的创建对象方法,但这种方法造成类名的硬编码,需要根据不同的运行环...原创 2018-09-19 16:55:55 · 1027 阅读 · 0 评论 -
嵌入式系统开发设计---嵌入式系统开发设计
嵌入式系统设计的主要任务是定义系统的功能、决定系统的架构,并将功能映射到系统实现架构上。这里,系统架构既包括软件系统架构也包括硬件系统架构。一种架构可以映射到各种不同的物理实现,每种实现表示不同的取舍,同时还要满足某些设计指标,并使其他的设计指标也同时达到最佳化。 嵌入式系统的设计方法跟一般的硬件设计、软件开发的方法不同,是采用硬件和软件协同设计的方法,开发过程不仅涉及软件领域...原创 2018-09-20 07:42:01 · 46914 阅读 · 0 评论 -
开发管理---项目的范围、时间与成本
美国国防部曾于 20 世纪 70 年代中期专门针对软件项目失败的原因做了调查。调查结果显示70%的失败软件项目都是因为管理不善引起的,而并不是事先以为的技术实力不够。到了 20 世纪90 年代,据对美国软件工程实施现状的调查显示,大约只有 10%的项目,尤其是商用软件,能够按预先计划的费用和进度交付。因此,业界认为影响软件研发项目全局的因素是管理水平,而技术只影响局部,这就有必要从项目...原创 2018-09-20 07:42:12 · 7499 阅读 · 0 评论 -
开发管理---配置管理与文档管理
随着软件规模和复杂性的增大,许多大型开发项目往往都会延迟和超出预算,软件开发不得不直面越来越多的问题,表现为开发的环境日益复杂,代码共享日益困难,需跨越的平台增多;软件的重用性需要提高;软件的维护越来越困难。 为了解决这些问题,作为控制软件系统一系列变化的学科,软件配置管理(Software Configuration Management,SCM)应运而生。其主要作用是通过结构...原创 2018-09-20 07:42:36 · 2299 阅读 · 0 评论 -
开发管理---软件需求管理
在软件开发的整个过程中,随着客观条件的变化和客户对软件或业务理解的加深,会产生很多新的软件需求,项目经理需要经常面对需求变更。需求管理的目的就是控制和维持事先约定,保证项目开发过程的一致性,使用户能够得到他们最终想要得到的软件产品。下面的内容主要涉及需求管理的两个方面:需求变更、需求跟踪。 1 需求变更 需求变更是指在软件开发过程中,用户确定软件需求之后,由于各种客观和主观...原创 2018-09-20 07:42:44 · 659 阅读 · 0 评论 -
系统分析与设计方法---定义问题与归结模型
对于架构设计师而言,如何进行系统设计是其“看家本领”,而设计是在对系统进行分析的基础上进行的,否则,设计就是“无米之炊”。从软件开发项目中的角色分配来看,系统架构设计师应该在信息系统项目管理师的协调下,与系统分析师协同工作。定义问题与归结模型 软件系统的目的是为了解决问题,因此在建模之初最重要的步骤是对问题的分析与定义,并在此基础上归结模型,这样才能够获得切实有效的模型。定义...原创 2018-09-14 20:19:40 · 3869 阅读 · 0 评论 -
系统分析与设计方法---需求分析与软件设计
需求分析是软件生命周期中相当重要的一个阶段。根据 Standish Group 对 23000 个项目进行的研究结果表明,28%的项目彻底失败,46%的项目超出经费预算或者超出工期,只有约 26%的项目获得成功。需求分析工作在整个软件开发生命周期中有着十分重要的意义。而在这些高达 74%的不成功项目中,有约 60%的失败是源于需求问题,也就是差不多有一半的项目都遇到了这个问题,这一可怕的现...原创 2018-09-14 20:22:35 · 79306 阅读 · 1 评论 -
系统分析与设计方法---结构化分析与设计
结构化分析与设计 结构化分析与设计方法是一种面向数据流的需求分析和设计方法,它适用于分析和设计大型数据处理系统,是一种简单、实用的方法,曾获得广泛的应用。1 结构化分析 结构化分析方法的基本思想是自顶向下逐层分解。分解和抽象是人们控制问题复杂性的两种基本手段。对于一个复杂的问题,人们很难一下子考虑问题的所有方面和全部细节,通常可以把一个大问题分解成若干个小问题,每个小问...原创 2018-09-14 20:24:52 · 34738 阅读 · 2 评论 -
系统分析与设计方法---面向对象的分析与设计
面向对象的分析与设计 面向对象方法是一种非常实用的软件开发方法,它一出现就受到软件技术人员的青睐,现已成为计算机科学研究的一个重要领域,并逐渐成为软件开发的一种主要方法。面向对象方法以客观世界中的对象为中心,其分析和设计思想符合人们的思维方式,分析和设计的结构与客观世界的实际比较接近,容易被人们接受。在面向对象方法中,分析和设计的界面并不明显,它们采用相同的符号表示,能够方便地从分析阶段...原创 2018-09-14 20:26:32 · 23527 阅读 · 0 评论 -
系统分析与设计方法---用户界面设计的原则
用户界面设计 接口设计主要包括三个方面的内容:一是设计软件构件间的接口;二是设计模块和其他非人的信息生产者和消费者(如外部实体)的接口;三是人(如用户)和计算机间界面设计。 软件构件间接口的设计与架构的设计紧密相关,而设计模块和外部实体的接口则与详细设计相关,人机界面接口是相当容易被忽视的环节,在此就对其重点内容进行一个概要性描述。1 用户界面设计的原则 用户界...原创 2018-09-14 20:30:03 · 11627 阅读 · 0 评论 -
信息系统基础知识---信息系统概述
信息系统是一个由人、计算机等组成的能进行信息的收集、传递、存储、加工、维护和使用的系统,它是一门综合了经济管理理论、运筹学、统计学、计算机科学的系统性和边缘性学科,是一门尚处在不断发展完善的多元目的的新兴学科。 信息系统包含三大要素,分别是系统的观点、数学的方法和计算机应用。而它又不同于一般的计算机应用,它能够充分利用数据资源为企业经营管理服务;它能够利用信息和模型辅助企业决策,...原创 2018-11-26 15:20:13 · 10953 阅读 · 2 评论 -
嵌入式系统设计---实时系统与嵌入式操作系统
简单地说,实时系统可以看成对外部事件能够及时响应的系统。这种系统最重要的特征是时间性,也就是实时性,实时系统的正确性不仅依赖于系统计算的逻辑结果,还依赖于产生这些结果的时间。 目前,大多数实时系统都是嵌入式的,并且实际运行中的嵌入式系统也都有实时性的需求,因此,在诸多类型的嵌入式操作系统中,实时嵌入式操作系统是最具代表性的一类,它融合了几乎所有类型的嵌入式操作系统的特点,所以本节...原创 2018-09-20 07:41:51 · 5616 阅读 · 0 评论 -
嵌入式系统设计---嵌入式数据库管理系统
随着嵌入式技术的发展,嵌入式数据库逐步走向应用。本质上,嵌入式数据库是由通用数据库发展而来的,在各种嵌入式设备上或移动设备上运行,在嵌入式系统中更显示出其优越性,由于受到嵌入式系统本身应用环境的制约,嵌入式数据库有着与通用数据库不同的特点。 通常,嵌入式数据库管理系统就是在嵌入式设备上使用的数据库管理系统。由于用到嵌入式数据库管理系统的多是移动信息设备,诸如掌上电脑、PDA、车载...原创 2018-09-20 07:41:29 · 3075 阅读 · 0 评论 -
设计模式---设计模式总结
7 种设计模式:Abstract Factory、Singleton、Decorator、Facade/Session Facade、Mediator、Observer 和 Intercepting Filter。目前总结出的设计模式远远不止这些,除了 23 种 GoF 模式外,很多学者都在这方面进行了有益的尝试,总结出了大量良好设计的范例。 学习设计模式最重要的是理解,而不是生搬...原创 2018-09-19 16:58:01 · 139 阅读 · 0 评论 -
测试评审方法---测试方法
软件测试与评审是软件质量保证的主要手段之一,也是在将软件交付给客户之前所必须完成的步骤。目前,软件的正确性证明尚未得到根本的解决,软件测试与评审仍是发现软件错误(缺陷)的主要手段。 本章重点要求读者掌握测试方法、评审方法、验证与确认、测试自动化、面向对象的测试等5 个方面的知识。 1 测试方法 在介绍软件测试之前,首先应该明确“错误”(error)和“缺陷”...原创 2018-09-19 20:59:11 · 4951 阅读 · 0 评论 -
测试评审方法---评审方法
评审方法 根据 IEEE 1028 的定义,评审是对软件元素或者项目状态的一种评估手段,以确定其是否与计划的结果保持一致,并使其得到改进。 狭义的“软件评审”通常指软件文档和源程序的评审。广义的“软件评审”还包括与软件测试相结合的评审及管理评审。软件评审包括软件需求评审、概要设计评审、详细设计评审、软件验证和确认评审、功能检查、物理检查、综合检查和管理评审。 (1)...原创 2018-09-19 21:01:31 · 5186 阅读 · 0 评论 -
测试评审方法---验证与确认
验证与确认 验证与确认都是确定软件产品是否满足其预期要求和条件的过程。验证可适用于分析、设计、编码、测试和评审等众多的过程,而确认通常用于验收过程。 1.验证 软件项目的验证一般应包括合同验证、过程验证、需求验证、设计验证、编码验证、集成验证和文档验证。 (1)合同验证。应根据下列准则验证合同: 供方具有满足需求的能力。 需求是一致的并覆盖了...原创 2018-09-19 21:02:30 · 2479 阅读 · 0 评论 -
测试评审方法---测试自动化
测试自动化 软件测试的工作量很大,但测试却极有可能应用计算机进行相当一部分自动化的工作,原因是测试的许多操作是重复性的、非智力创造性的、需要细致注意力的工作,而计算机就最适合于代替人类去完成这些任务。测试自动化会对整个开发工作的质量、成本和周期带来非常明显的效果。 一些适于考虑进行自动化的测试工作为: (1)测试用例的生成(包括测试输入、标准输出、测试操作指令等)。...原创 2018-09-19 21:04:02 · 594 阅读 · 0 评论 -
测试评审方法---面向对象的测试
传统的软件测试策略是从“小型测试”开始,逐步走向“大型测试”。即从单元测试开始,然后进入集成测试,最后是系统测试。 面向对象程序的结构不再是传统的功能模块结构,作为一个整体,原有集成测试所要求的逐步地将开发的模块搭建在一起进行测试的方法已成为不可能。而且,面向对象软件抛弃了传统的开发模式,对每个开发阶段都有不同以往的要求和结果,已经不可能用功能细化的观点来检测面向对象分析和设计的...原创 2018-09-19 21:06:19 · 2813 阅读 · 1 评论 -
嵌入式系统设计---嵌入式系统概论
随着计算机技术、微电子技术、通信技术以及集成电路技术的发展,嵌入式技术逐渐发展和成熟起来。嵌入式系统的应用日益广泛,并 在数量上远远超越了通用计算机系统,成为了计算机技术和计算机应用领域的一个重要组成部分。 本章主要讨论嵌入式系统的基本知识与嵌入式系统的开发设计两部分内容,主要包括嵌入式系统的概念、软/硬件组成与基本架构、嵌入式操作系统和嵌入式数据库系统、网络系统以及窗口系统等核...原创 2018-09-19 21:07:38 · 831 阅读 · 0 评论 -
嵌入式系统设计---嵌入式系统的组成
嵌入式系统的组成 嵌入式系统一般都由软件和硬件两个部分组成,其中嵌入式处理器、存储器和外部设备构成整个系统的硬件基础。嵌入式系统的软件部分可以分为 3 个层次:系统软件、应用支撑软件和应用软件。其中,系统软件和支撑软件是基础,应用软件则是最能体现整个嵌入式系统的特点和功能的部分。 1 硬件架构 图 12-1 是一个嵌入式系统的基本硬件架构。微处理器是整个嵌入式系统的核...原创 2018-09-19 21:12:13 · 4344 阅读 · 0 评论 -
嵌入式系统设计---嵌入式开发平台与调试环境
1. 嵌入式系统软件开发平台 嵌入式系统的软件开发方法采用的不是通用的开发方法,而是交叉式开发方法。本小节主要介绍嵌入式系统软件开发的交叉编译环境的基本概念和特点,以及软件调试常用的几种方法。 1.交叉平台开发环境 嵌入式系统的软件开发采用交叉平台开发方法(Cross Platform Development,CPD),即软件在一个通用的平台上开发,而在另一个嵌入式目...原创 2018-09-19 21:17:27 · 1627 阅读 · 0 评论 -
嵌入式系统设计---嵌入式网络系统
嵌入式网络系统 嵌入式网络是用于连接各种嵌入式系统,使之可以互相传递信息、共享资源的网络系统。嵌入式系统在不同的场合采用不同的连接技术,如在家庭居室采用家庭信息网,在工业自动化领域采用现场总线,在移动信息设备等嵌入式系统则采用移动通信网,此外,还有一些专用连接技术用于连接嵌入式系统。 1. 现场总线网 现场总线(FieldBus)是 20 世纪 80 年代中期继模拟...原创 2018-09-20 07:41:20 · 2226 阅读 · 0 评论 -
信息系统基础知识---信息系统工程
1 信息系统工程的概念 系统是由相互作用和相互依赖的若干部分,按一定规律结合成的、具有特定功能的有机整体。系统有下述特性: (1)集合性。系统是由许多元素有机地组成的整体。每个元素服从整体,追求全局最优。 (2)相关性。系统的各个组成部分之间是互相联系、互相制约的。 (3)目的性。任何系统都是有目的和目标的。 (4)层次性。一个系统往往由多个部门(...原创 2018-11-26 15:24:12 · 4437 阅读 · 0 评论 -
信息系统基础知识---政府信息化与电子政务
政府信息化与电子政务 政府信息化是传统政府向信息化政府的演变过程。具体地说,政府信息化就是应用现代信息技术、网络技术和通信技术,通过信息资源的开发和利用来集成管理和服务,从而提高政府的工作效率、决策质量、调控能力,并节约开支,改进政府的组织结构、业务流程和工作方式,全方位地向社会提供优质、规范、透明的管理和服务。 这个定义包含三个方面的内容:第一,政府信息化必须借助于信息技术和...原创 2018-11-26 15:29:55 · 6704 阅读 · 0 评论 -
信息系统基础知识---企业信息化与电子商务
首先介绍企业信息化的概念、目的、规划、方法,然后再介绍 ERP、CRM、PDM(Product Data Management,产品数据管理)、企业门户、EAI、SCM 等内容,最后介绍电子商务的类型和标准。1 企业信息化概述 企业信息化是指企业以业务流程的优化和重构为基础,在一定的深度和广度上利用计算机技术、网络技术和数据库技术,控制和集成化管理企业生产经营活动中的各...原创 2018-11-26 15:33:22 · 8104 阅读 · 0 评论 -
安全性和保密性设计---计算机病毒与防治
计算机病毒与防治 计算机技术和网络技术的飞速发展,为人们的工作、学习、生活带来了极大的方便。计算机已经成为人们不可缺少的现代化工具。但是计算机病毒的出现带给人们不安和忧虑,同时向人们提出了挑战。1 计算机病毒概述 计算机病毒(Computer Virus)的概念最早是由美国计算机病毒研究专家 F.Cohen博士提出的。对于计算机病毒的定义,不同的国家、不同的专家从不同的角度给...原创 2018-12-22 14:32:54 · 939 阅读 · 0 评论 -
安全性和保密性设计---身份认证与访问控制
身份认证与访问控制 访问控制是通过某种途径限制和允许对资源的访问能力及范围的一种方法。它是针对越权使用系统资源的保护措施,通过限制对文件等资源的访问,防止非法用户的侵入或者合法用户的不当操作造成的破坏,从而保证信息系统资源的合法使用。 访问控制技术可以通过对计算机系统的控制,自动、有效地防止对系统资源进行非法访问或者不当地使用,检测出一部分安全侵害,同时可以支持应用和数据的安全...原创 2018-12-22 14:37:24 · 6393 阅读 · 0 评论 -
安全性和保密性设计---网络安全体系
网络安全体系 ISO 的 OSI/RM 是著名的网络架构模型,但是,OSI/RM 并没有在安全性方面作专门的设计,因此该模型本身的安全性是很弱的。为了改善网络的安全状况,提高网络安全强度,ISO 又在 OSI/RM 的基础上提出了一套 OSI 安全架构,用以强化网络的安全性。1 OSI 安全架构 OSI 安全架构是一个面向对象的、多层次的结构,它认为安全的网络应用是由安全...原创 2018-12-22 14:43:27 · 3411 阅读 · 0 评论 -
安全性和保密性设计---系统的安全性设计
系统的安全性设计 要设计一个安全的系统,除了要了解一些前面讲到的常用的保护手段和技术措施外,还要对系统中可能出现的安全问题或存在的安全隐患有充分的认识,这样才能对系统的安全作有针对性的设计和强化,即“知己知彼,百战百胜”。 下面以物理安全、防火墙、入侵检测为例讲解系统安全中可能出现的问题及如何采取相应的措施。1 物理安全问题与设计 物理安全包括物理设备本身是否安全可...原创 2018-12-22 14:49:05 · 4039 阅读 · 0 评论 -
安全性和保密性设计---安全性规章
1 安全管理制度 信息系统安全,不仅要从技术角度采取若干措施,还要从组织管理的角度出发,制定明确的安全管理的规章制度,以确保安全技术实施的有效性。只有依靠安全管理规章的有力支持和保障,信息安全的技术解决方案才能够切实地取得预期的效果。 事实上,管理的缺失是信息安全失败的非常重要的原因。有统计表明,危害信息系统安全的因素中,70%以上来自组织内部。系统管理员随意性的配置或者软件升...原创 2018-12-22 14:52:16 · 609 阅读 · 0 评论 -
系统的可靠性分析与设计---可靠性的概述
系统的可靠性分析与设计是系统架构设计师在系统分析与设计阶段、系统集成阶段应该重点考虑的问题。内容主要为可靠性设计、系统的故障模型、系统的可靠性模型、组合模型可靠性计算、马尔柯夫模型可靠性计算,以及硬件冗余、信息校验码等方面;另外也涉及系统可靠性分析与计算、系统可靠性评估和系统配置方法等概念与理论的实际工程运用等内容。 与可靠性相关的概念主要有:可靠度、可用度、可维度、平均无故障时间、平均...原创 2018-12-22 15:00:47 · 7022 阅读 · 0 评论 -
系统的可靠性分析与设计---系统故障模型
1 故障的来源以及表现下面先介绍几个概念。 (1)失效:硬件的物理改变。 (2)故障:由于部件的失效、环境的物理干扰、操作错误或不正确的设计引起的硬件或软件中的错误状态。 (3)错误(差错):故障在程序或数据结构中的具体位置。错误与故障位置之间可能出现一定距离。故障或错误有如下几种表现形式。 永久性:描述连续稳定的失效、故障或错误。在硬件中,永久性...原创 2018-12-22 15:04:53 · 1401 阅读 · 0 评论 -
系统的可靠性分析与设计---系统配置方法
系统配置方法 容错技术是保证系统在某些组成部分出现故障或差错时仍能正常工作的技术。通常根据不同的系统配置方法而采用相应容错技术:单机容错技术、双机热备份技术和服务器集群技术。 1 单机容错技术 容错技术是保证系统在某些组成部分出现故障或差错时仍能正常工作的技术。系统的故障可分为两类:一类是“致命的”,不可能自行修复,例如系统的主要部件全部损坏;另一类是局部的,可能被修复,例...原创 2018-12-22 15:08:55 · 853 阅读 · 0 评论 -
系统的可靠性分析与设计---系统可靠性模型
系统可靠性模型 与系统故障模型对应的就是系统的可靠性模型。人们经常说某系统“十分可靠”,那么这个“十分”究竟如何衡量呢?下面介绍几种常用的模型。1 时间模型 最著名的时间模型是由 Shooman 提出的可靠性增长模型,这个模型基于这样一个假设:一个软件中的故障数目在 t = 0 时是常数,随着故障被纠正,故障数目逐渐减少。 在此假设下,一个软件经过一段时间的调试后...原创 2018-12-22 15:17:59 · 4470 阅读 · 1 评论 -
系统的可靠性分析与设计---系统的可靠性分析与可靠度计算
1 组合模型 组合模型是计算机容错系统可靠性最常用的方法。一个系统只要满足以下条件,就可以用组合模型来计算其可靠性。作如下假设。 (1)系统只有两种状态:运行状态和失效状态。 (2)系统可以划分成若干个不重叠的部件,每个部件也只有两种状态:运行状态和失效状态。 (3)部件的失效是独立的。 (4)系统失效当且仅当系统中的剩余资源不满足系统运行的最低资...原创 2018-12-22 15:32:26 · 3567 阅读 · 0 评论 -
安全性和保密性设计---安全协议
安全协议 Internet 是 IT 领域中发展的重大成就,它的迅速发展和全面普及给人们的生产、生活带来了很大的帮助。 但是,Internet 在当初是为了让更多的人来使用网络、共享资源,并且容易扩充、容易治理等而设计的,因此它是一个全面开放的系统,而没有在安全方面作充分的考虑。加上日益增加的庞大的用户、各种不同的动机等因素,使得 Internet 上的安全事件层出不穷。 ...原创 2018-12-20 17:40:34 · 5155 阅读 · 0 评论 -
安全性和保密性设计---数字证书与秘钥管理
数字证书与密钥管理 过去,人们总是依赖于对于加密算法和密钥的保密来增加保密的强度和效果。随着现代密码学的发展,大部分的加密算法都已经公开了。一些典型的算法(例如,DES、IDEA、 RSA 等)更是成了国际标准,被广泛接纳。人们可以从多种途径来获取算法的细节,也已经有很多采用这些算法的软件、硬件设备可以利用。 因此,在现代密码系统中,算法本身的保密已经不重要了,对于数据的保密在...原创 2018-12-20 17:19:44 · 1729 阅读 · 0 评论 -
信息系统基础知识---知识管理与商业智能
知识管理与商业智能 知识管理是企业信息化发展的高级阶段,而商业智能则是知识管理的实际应用。1 知识管理 知识管理是信息化时代重要的管理理论和管理方法,管理大师彼得·德鲁克早在一九六五年即预言:“知识将取代土地、劳动、资本与机器设备,成为最重要的生产因素。”在信息化的过程中,知识管理成为构建企业核心竞争力,获得市场竞争优势的有力武器。 知识管理可以定义为:在组织中建...原创 2018-11-26 15:34:38 · 1135 阅读 · 0 评论 -
信息系统基础知识---业务流程重组
业务流程重组 1990 年,美国迈可·哈默(Michael Hammer)博士首先提出了业务流程重组(BusinessProcess Reengineering,BPR)的概念。哈默认为,BPR 是对业务流程进行根本反思,要对其进行重新设计,从而使得衡量现代企业绩效的关键指标,如成本、质量、服务和速度等得到奇迹般的改善。 哈默对 BPR 的定义较全面地反映了业务流程重组的本质...原创 2018-11-26 15:35:35 · 2420 阅读 · 0 评论