计算机系统组成及常见软件维护

上传人:cn****1 文档编号:473260420 上传时间:2024-01-27 格式:DOCX 页数:9 大小:16.10KB
返回 下载 相关 举报
计算机系统组成及常见软件维护_第1页
第1页 / 共9页
计算机系统组成及常见软件维护_第2页
第2页 / 共9页
计算机系统组成及常见软件维护_第3页
第3页 / 共9页
计算机系统组成及常见软件维护_第4页
第4页 / 共9页
计算机系统组成及常见软件维护_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《计算机系统组成及常见软件维护》由会员分享,可在线阅读,更多相关《计算机系统组成及常见软件维护(9页珍藏版)》请在金锄头文库上搜索。

1、计算机系统组成及常见软件维护一、计算机系统组成计算机系统由硬件和软件两大部分组成。1、硬件的组成硬件主要由输入设备,输出设备,存储器,运算器,控制器组成。输入设备是指使计算机从外部获得信息的设备。如鼠标,键盘,光 笔,扫描仪,话筒,数码相机,摄像头,手写板等。输出设备是把计算机处理信息的结果以人们能够识别的形式表示出来 的设备。如显示器,打印机,绘图仪,音箱,投影仪等。存储器是计算机系统中的记忆设备,用来存放程序和数据。如硬盘, 光驱,U盘等。运算器包括算术运算和逻辑运算。控制器是指按照预定顺序改变主电 路或控制电路的接线和改变电路中电阻值来控制电动机的启动、调速、制 动和反向的主令装置,如从

2、存储器中取出指令,控制计算机各部分协调运 行。控制器和运算器整合在CPU中。2、软件的组成软件是指程序和有关文档资料的合称。软件分为系统软件(使用和管 理计算机的软件)和应用软件(专为某一应用编制的软件)两大类。常见 的系统软件有:操作系统,数据库管理系统和程序设计语言等;常见的应 用软件有:辅助教学软件,辅助设计软件,文字处理软件,信息管理软件 和自动控制软件等。二、软件维护软件维护主要是指根据需求变化或硬件环境的变化对应用程序进行 部分或全部的修改,修改时应充分利用源程序,修改后要填写程序改登 记表,并在程序变更通知书上写明新旧程序的不同之处。. . . . V I 要求进行维护的原因多种

3、多样,归结起来有三种类型:(1)改正在 特定的使用条件下暴露出来的一些潜在的程序错误或设计缺陷;(2)因 在软件使用过程中数据环境变化或处理环境变化而需要修改软件以适 应变化;(3)用户和数据处理人员在使用时提出改进现有功能,增加新 的功能,以改善总体性能。2、软件维护的目的保证软件系统能持续地与用户环境,数据处理操作,政府或其他有 关部门的请求取得协调。3、软件维护的类型(1)正确性维护改正在系统开发阶段已发生的而系统测试阶段尚未发现的错误。一 般来说,这类故障由于遇到了以前从未有过的某种输入数据的组合,或 者是系统的硬件和软件有了不正确的界面而引起的。(2)适应性维护为适应软件的外界环境变

4、化而进行的修改。(3)完善性维护为扩充系统的功能和改善系统性能而进行的修改(4)预防性维护为减少或避免以后可能需要的前三类维护而对软件配置进行的工作。4、软件维护的特点在软件的维护过程中,需要花费大量的工作量,从而直接影响了软 件维护的成本。因此,应当考虑有哪些因素影响软件维护的工作量,相 应应该采取什么维护策略,才能有效地维护软件并控制维护的成本.在 软件维护中,影响维护工作量的程序特性有以下6种:(1)系统大小。系统越小,理解掌握起来越容易,所执行的功能 越简单。系统大,就会需要更多的维护工作量。(2)程序设计语言。功能强的程序设计语言可以控制程序的规模。 语言的功能越强,生成程序所需的指

5、令数就越少;语言的功能越弱,实 现同样功能所需语句就越多,程序就越大。(3)系统年龄。老系统比新系统需要更多的维护工作量.老系统随 着不断地修改,结构越来越乱;由于维护人员经常更换,程序又变得越 来越难于理解。而且,许多老系统当初并未按照软件工程的要求进行开 发,因而没有文档或文档太少,或在长期的维护过程中文档的许多地方 与程序实现变得不一致,这样在维护时就会遇到很大困难。(4)数据库技术的应用。使用数据库可以简单有效地管理和存储 用户程序中的数据,还可以减少生成用户报表应用软件的维护工作量。(5)先进的软件开发技术。在软件开发时,如果使用的分析与设 计技术能使软件结构比较稳定,如面向对象技术

6、,可减少大量的工作量。(6)其他:应用的类型、数学模型、任务的难度、开关与标记、IF 嵌套深度、索引或下标数等,对维护工作量都有影响。此外,许多软件在开发时并未考虑将来的修改。这为软件的维护带 来许多向题。5、软件维护的代价软件维护的费用稳步上升,目前已达到80%。6、软件维护的内容(1)程序维护根据使用的要求,对程序进行全部或部分修改。修改以后,必须书 写修改设计报告。(2)数据维护数据维护指对数据有较大的变动。如安装与转换新的数据库;或者 某些数据文件或数据库出现异常时的维护工作,如文件的容量太大而出 现数据溢出等。(3)硬件维护硬件人员应加强设备的保养以及定期检修,并做好检验记录和故障

7、登记工作。(4)改正性维护是指改正在系统开发阶段已发生而系统测试阶段尚未发现的错误。这方面的维护工作量要占整个维护工作量的17%21%。所发现的错误 有的不太重要,不影响系统的正常运行,其维护工作可随时进行:而有 的错误非常重要,甚至影响整个系统的正常运行,其维护工作必须制定 计划,进行修改,并且要进行复查和控制。(5)适应性维护是指使用软件适应信息技术变化和管理需求变化而进行的修改。这 方面的维护工作量占整个维护工作量的18%25%。由于目前计算机硬 件价格的不断下降.各类系统软件屡出不穷,人们常常为改善系统硬件 环境和运行环境而产生系统更新换代的需求;企业的外部市场环境和管 理需求的不断变

8、化也使得各级管理人员不断提出新的信息需求。这些因 素都将导致适应性维护工作的产生。进行这方面的维护工作也要像系统 开发一样,有计划、有步骤地进行。(6)完善性维护这是为扩充功能和改善性能而进行的修改,主要是指对已有的软件 系统增加一些在系统分析和设计阶段中没有规定的功能与性能特征。这 些功能对完善系统功能是非常必要的。另外,还包括对处理效率和编写 程序的改进,这方面的维护占整个维护工作的50%60%,比重较大.也 是关系到系统开发质量的重要方面。这方面的维护除了要有计划、有步 骤地完成外.还要注意将相关的文档资料加入到前面相应的文档中去。(7)预防性维护为了改进应用软件的可靠性和可维护性,为了

9、适应未来的软硬件环 境的变化,应主动增加预防性的新的功能,以使应用系统适应各类变化 而不被淘汰。例如将专用报表功能改成通用报表生成功能,以适应将来 报表格式的变化。这方面的维护工作量占整个维护工作量的4%左右。7、控制因素主要有:(1)与开发方法有关的因素,如采用什么方法。(2)与开发环 境有关的因素o (3)合格的软件开发人员。(3)可理解的系统结构。(4)与 开发环境有关的因素。(5)系统处理容易。(6)使用标准的编程语言。(7) 使用标准的操作系统。(8)标准化的文档结构。(9)测试用例的有效性o(10) 系统自身拥有的纠错工具。(11)易于维护的计算机。(12)开发该软件的个 人或组织

10、8、可维护性度量主要是可理解性、可测试性、可修改性、可移植性。9、提高软件可维护性的方法主要有以下方法:建立明确的软件质量标准、利用先进的软件技术和工 具、建立明确的质量保证制度、选择可维护的程序设计语言、改进软件的文 档。10、软件维护过程(任务)(1)建立维护组织。一般软件公司没有专门的维护机构,除非大型软 件。维护机构成员一般包括:配置管理员,维护控制员,系统管理员,一般 维护工作人员。(2)安排计划。维护工作不应该采用”一次改一个错”的零打碎敲的方法, 而应当有计划有步骤地统筹安排。维护报告应包括的内容:该维护任务的范围,所需资源,确认的要求, 维修费用及维修进度安排。(3)软件维护实

11、施。软件维护任务与新软件开发的过程基本上一致并 且是并行的。软件修改完成后,由维修主管进行验收,验收标准如下:全部 软件文档已准备齐全,并已更新好;所有测试用例和测试结果已经正确记录 下来;记录和所有寻找软件配置的工序已建立;维护工序和责任已经确定。(4)软件维护文档。除一般文档外,还包括:软件问题报告、软件变动 报告、软件维护记录,如Swanson提出的项目表。(5)软件维护的评价在有维护记录保存的基础上,可以进行软件维护活动的评价,否则很难 评价。主要从以下方面进行评价:(1)每次程序运行时的平均出错次数;(2) 用于每一类维护活动的总”人时”数;(3)每个程序,每种语言,每种维护类 型所

12、做的平均修改数;(4)维护过程中,增加或删除每条源程序语句花费的 平均”人时”数;(5)用于每种语言的平均”人时”数;(6) 一张维护申请报告 的平均处理时间;(7)各类维护类型所占的百分比。11、维护中的问题(1)与软件维护有关的绝大多数问题的根源在于计划阶段和开发阶段 的工作有缺点o (2)读懂原开发人员写的程序通常相当困难。(3)软件人员 的流动性,使得软件维护时,很难与原开发人员沟通o (4)没有文档或文档 严重不足。(5)软件设计时,欠考虑软件的可修改性。(6)频繁的软件升级, 要追踪软件的演化变得很困难,使软件难以修改12、维护的副作用由于软件被修改而导致的错误或其他多余动作的发生

13、,称为是软件维护 的副作用。软件副作用的类型:修改代码的副作用、修改数据的副作用、修改文档 的副作用、修改编码的副作用。通过以下方面对副作用进行修改:(1)对子程序的删除或修改;(2)对 语句标号的删除或修改;(3)对标识符的删除或修改;(4)为改进程序执行 性能所做的修改:(5)改变文件的打开或关闭;(6)对逻辑运算符的修改;(7)把设计的修改翻译成程序代码的修改;(8)对判定的边界条件所做的 修改。为确保编码修改没有引入新的错误,应进行严格的回归测试。一般情况 下,通过回归测试,可以发现并纠正修改编码所带来的副作用。13、修改数据的副作用(1)重新定义局部常量或全程常量;(2)重新定义记录

14、格式或文件格 式;(3)改变一个数组或高阶数据结构的大小;(4)修改全程变量;(5)重 新初始化控制标记或指针;(6)重新排列输入输出或子程序的自变量。修改数据的副作用可以通过完善的设计文档来加以限制。这种文档描述 了数据结构,并且提供了一种把数据元素,记录,文件及其它结构与软件模 块联系起来的交叉对照功能。14、修改文档的副作用维护应该着眼于整个软件配置,而不只是源程序代码的修改。如果源代 码的修改没有反映在设计文档或用户文档中时,就会发生文档的副作用。每当对数据流图,软件结构,模块算法过程和其它有关的特征进行修改 时,必须同时对相应的文档资料进行更新。在软件再次交付使用之前,对整个软件配置

15、进行评审将大大减少文档的 副作用。实际上,某些维护申请的提出只是由于用户文档不够清楚。这时, 只需对文档进行维护即可,并不要求修改软件设计或源程序。15、维护“奇异码”“奇异码”是指很多年(15年以上)之前开发的程序。主要特点有:现 有维护人员没有参与开发;不具备现有的开发规范;文档不完整,修改记录 简略。什么是反推工程通过检验产品的实际样品,获得产品的有关设计或制造的规格说明。软件的反推工程,就是分析一个程序的过程,获得比程序源代码更抽象 的程序表达式,如算法什么是再生工程再生工程也称为更新或改造工程,不仅是恢复设计信息,而且去完善或 重建一个系统,使质量得到提高。再生工程不仅提高系统的整体性能,而且增加新的功能。软件维护工作有它独特的挑战性,迎接这些挑战同样需要技巧和方法, 与开发工作是一样的。在这篇文章里,我列举了在我的工作中发现的一些比 较好的做法,绝不能真的做为软件维护艺术。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

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