版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
v计算机学科概论(第3版)第6章应用软件
在1985年6月~1987年1月,用于追踪癌变细胞的Therac-25型放射治疗仪由于软件错误导致了意外辐射,结果造成一名患者死亡,一名患者严重受伤。
1990年1月,AT&T(美国电话电报公司)经历了一场令人难忘的通信大灾难,AT&T的长途电话网瘫痪9个小时,导致了几十亿美元的损失,并引发了各种骚乱。最后技术人员发现问题出在100万行编码中的一条错误的语句上,一个函数接受了一个错误的参数。
1996年6月,欧洲空间局发射的无人火箭Ariane5在升空40秒后就爆炸了,原因是一个相对于平台的水平速率是64位的浮点数,结果被转换成16位的整数,导致火箭偏离了航道,然后解体、爆炸。情景问题——“著名”软件错误1991年2月,海湾战争期间,一枚伊拉克“飞毛腿”导弹袭击了靠近沙特阿拉伯城市达兰的一个美军基地,造成28名美军士兵死亡,100多人受伤,而位于达兰的美国“爱国者”导弹发射器没有能够成功地跟踪并拦截“飞毛腿”导弹。原因是“爱国者”导弹发射软件的一个运算涉及到十进制数0.1,而这个数没有被精确地转换为对应的二进制数,在大约100个小时的发射操作中,这个算术运算的累计误差是0.34秒,足以使导弹偏离目标。
1999年9月,美国发射的火星气候探测仪在接近火星时被烧毁,原因是混淆了英国计量单位和国际计量单位,使飞船进入火星大气层的进入点比预计的低了大约100公里。情景问题——“著名”软件错误软件开发与建造房屋的类比一个人就可以建造。需要的是:最小限度的设计——建模简单的建造过程简单的工具由一个团队来建造。需要的是:认真的建模认真定义的建造过程功能强大的工具情景问题——“著名”软件错误需要多个专业团队来共同建造。需要的是:认真的建模认真定义的建造过程功能强大的工具标准化构件化软件作为一种思维产品和其他工程产品相比,有着很多不同的特性,几乎所有的软件在特定条件下都会有意想不到的行为。情景问题——“著名”软件错误软件开发与建造房屋的类比交互(也称对话):两个或两个以上相关的同时又是自主的实体间进行的一系列信息交换过程。人机交互(也称人机对话):人与计算机之间使用某种对话语言,以一定的交互方式,为完成确定任务而进行的人与计算机之间的信息交换过程。人机交互技术:研究人与计算机之间如何交互和协同的技术。一个交互过程总是由启动者和响应者双方组成,如果只有启动者一方,另一方没有响应则不会形成交互。6.1人机交互人机交互的定义从是否具有适应性的角度,可以将人机交互分为以下三种:(1)系统适应:计算机系统具有自适应能力,可以逐渐调整系统来适应人(用户);(2)用户适应:计算机系统不具有适应能力,人(用户)必须逐渐适应计算机系统;(3)互相适应:计算机系统具有一定的适应能力,人机交互是互相适应。目前的人机交互大多属于相互适应。6.1人机交互人机交互的定义计算机系统用户
系统适应
用户适应
界面走向以人为本计算机系统用户自然人机界面界面
系统适应用户适应计算学科人员性能提高6.1人机交互人机交互的发展趋势1.数据交互:人通过输入数据的方式与计算机交互,是人机交互的重要内容和形式,其一般过程是:(1)计算机向操作者发出提示,提示用户输入及如何输入;(2)用户通过输入设备把数据输入进计算机;(3)计算机对用户输入进行检查和响应,给出反馈信息或响应结果,并显示在屏幕上(或以其他方式给出结果)。例如:问答式对话、菜单选择、填充表格、直接操纵、命令语言等。数据交互设备主要有键盘、鼠标、跟踪球、操纵杆、触摸屏、光笔、显示器、打印机等。6.1人机交互人机交互的基本形式2.语音交互:语音交互就是研究人们如何通过自然的语音或机器合成的语音与计算机交互的技术。人机之间的语音交互不仅需要基于语音识别、语音合成和语音理解等技术,还涉及到人在语音通道下的交互机理、交互行为等。3.图像交互:计算机根据人的行为去理解图像并做出反应,其中让计算机具备视觉感知能力是首先要解决的问题。图像交互取得进展成果的有人脸识别、指纹识别、虹膜识别等。4.行为交互:计算机通过定位和识别技术、跟踪人类的肢体运动和表情特征,从而理解人类的动作和行为,并做出响应的过程。6.1人机交互人机交互的基本形式你用过语音交互、图像交互、行为交互吗?请举例说明。命令行交互界面:用户通过键盘在命令行界面键入命令和操作系统或应用程序对话。6.1人机交互人机交互的界面图形交互界面:用户不仅可以用键盘操作计算机,也可以用鼠标对出现在界面上的对象直接进行操作,人机交互过程极大地依赖视觉和手动控制的参与,具有直接操作的特点。6.1人机交互人机交互的界面多媒体交互界面:用户可以交替或同时利用多种感觉通道,通过整合来自多个通道的输入来捕捉用户的交互意图,并以多媒体的表现形式反馈给用户。6.1人机交互人机交互的界面虚拟现实交互界面:用户通过传感装置直接对虚拟环境进行操作,虚拟现实技术进行多通道整合,并得到实时三维显示信息和其他反馈信息。理想的虚拟现实就是具有人类所具有的所有感知功能。6.1人机交互人机交互的界面数据独立存储,产生冗余和修改不一致分别存储了教师的职称信息,某位教师由副教授评为教授,如何更改?6.2数据库管理系统数据库DB为了满足同一个单位的不同部门共享数据的要求,解决数据重复存储和修改不一致等问题,可以将教师的数据信息组织到一起并存储到数据库中,对数据进行集中的存储和管理。数据库(DataBase,DB)是能够被统一管理的相关数据集合,这些数据具有一定的结构,能够长期存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为多个用户共享。6.2数据库管理系统数据库DB
数据库管理系统(DataBaseManagementSystem,DBMS)是为数据库的建立、使用和维护而配置的系统软件,是用户和数据库之间的一个接口,用户通过数据库管理系统定义和操纵数据库中的数据,并保证数据的安全性、完整性、并发操作以及故障发生后的系统恢复。目前,流行的数据库管理系统有Oracle、DB2、Sybase、SQLServer和Access等。如何建立和使用数据库?6.2数据库管理系统数据库管理系统DBMS用户对数据库的操作过程是:
(1)用户(通过应用程序)向DBMS提出操作请求并提交必要的参数,控制转入DBMS;(2)DBMS分析用户提交的命令和参数向操作系统发出相应的执行命令,控制转移到操作系统;(3)操作系统分析命令参数,在数据库上实现具体的操作,将操作结果送入系统缓冲区,控制返回给DBMS;(4)DBMS将系统缓冲区中的数据取出呈现给用户。DBMS在计算机系统中的位置6.2数据库管理系统数据库管理系统DBMS(1)数据定义。能够对数据库的数据模型进行定义,能够对数据库的完整性、安全性和保密性进行定义。(2)数据操纵。提供操作接口,使得用户能够方便地对数据进行增加、删除、修改、查询、统计和打印等各种操作。(3)事务管理。通过并发控制、存取控制、完整性控制、安全性控制、系统恢复等机制,实现事务管理功能,以保证数据库的完整性和有效性。(4)数据维护。能够对数据库进行各种维护,包括数据库的初始化、数据转储、数据库性能监测、数据库重组等。(5)其他功能。为了扩大数据库的应用,数据库管理系统还应提供与其他类型数据库之间的格式转换以及网络通信等功能。DBMS的基本功能6.2数据库管理系统DBMS的基本功能
结构化查询语言(StructuredQueryLanguage,SQL语言):是一种通用的国际标准数据库语言,用户可以使用SQL语言对来自各种不同厂商的数据库进行操作。
SQL语言属于4GL,是非过程式程序设计语言,当用户提出某项操作请求时,只需指明“做什么”,而不必指明“如何做”,由DBMS来决定对指定数据使用何种存取手段以保证最快的操作速度。
SQL语言不仅功能强大,而且语法接近英语口语,符合人类的思维习惯,因此,较为容易学习和掌握。6.2数据库管理系统结构化查询语言SQL用户使用SQL语言向DBMS提出操作请求用户使用SQL语言向DBMS提出操作请求可以在DBMS中直接键入SQL命令,还可以嵌入到程序语言中6.2数据库管理系统结构化查询语言SQL两类用户有什么区别?计算机科学用实体这个概念来表示客观存在的事物。一般说来,一种事物都会有各种各样的特征,表示了事物不同方面的性质。从业务处理的需要出发,从事物的特征中选取出有限个特征作为属性来刻画这个实体。将现实世界抽象为E-R模型
6.2数据库管理系统数据表示——建立数据库事物-特征实体-属性抽象
实体之间的联系通常有以下3种:(1)一对一联系;(2)一对多联系;(3)多对多联系。通常用实体-联系图(E-R图)来描述实体以及实体之间的联系。实体属性属性联系6.2数据库管理系统数据表示——建立数据库将现实世界抽象为E-R模型
例6.1为学生选课系统建立实体-联系图。6.2数据库管理系统数据表示——建立数据库将E-R模型影射为关系模型
关系模型的基本思想是把实体以及实体之间的联系都看成是关系,以二维表的形式描述,称为数据表。表中的列对应实体的属性,每一列的数据总是取自同一个集合,这个集合称为域,每个实体对应表中的行,称为记录,可以惟一标识一个记录的属性称为主键。6.2数据库管理系统数据表示——建立数据库属性名主键记录(行)属性(列)字符串整数男/女计算机、……日期型域基础科学1986/03/26女汤晓影0003工商管理1987/12/25男李明0002计算机1986/09/02男陆宇0001所在学院出生日期性别姓名学号关系6.2数据库管理系统数据表示——建立数据库例6.2将例6.1抽象出的E-R模型映射为关系模型。学生关系——学生信息表(学号,姓名,所在学院,所学专业,班级)课程关系——课程信息表(课程号,课程名,学时,学分)选课关系——学生成绩表(学号,课程号,成绩)6.2数据库管理系统数据表示——建立数据库6.2数据库管理系统数据表示——建立数据库例6.2将例6.1抽象出的E-R模型映射为关系模型。为什么学生成绩表只存储学号?存储姓名?学号和姓名?6.2数据库管理系统数据表示——建立数据库SQL语言使用CREATETABLE语句定义数据表。例如,定义学生选课系统的学生信息表,其SQL语句为:
采用SQL语言定义数据库
6.2数据库管理系统数据表示——建立数据库通过SQL语言向DBMS发出操作请求。1.数据查询:SQL语言使用SELECT语句进行数据查询。例如,从student数据表中查找080401班级的所有学生,其SQL语句为:2.数据更新:主要包括对记录进行增加、删除和修改等操作。例如,在数据表student中删除陆宇同学的记录信息,其SQL语句为:6.2数据库管理系统数据处理——操作数据库你能读懂上述SQL语句吗?3.数据控制:主要实现用户对数据的存取权限进行控制,包括数据表的授权、完整性规则的描述和事务控制等。例如,把数据表student的查询权限授予用户U2,其SQL语句为:你体会到4GL语言的好处了吗?6.2数据库管理系统数据处理——操作数据库通过SQL语言向DBMS发出操作请求。
数据库集中存储了企业数据,是企业重要的信息资源,如何保证数据的正确性和安全性是数据库应用极其关键的课题。现代数据库系统主要从安全性、完整性、并发控制、故障恢复等方面保护数据库。
事务是并发控制和故障恢复的基本单位,
事务:是由用户定义的一个数据库操作序列,是一个不可分割的逻辑工作单元,这些操作或者全部执行成功,或者一个也不执行。6.2数据库管理系统数据保护机制数据库的安全性主要通过控制数据库的访问权限,防止非法入侵和破坏。(1)身份识别:数据库最基本的安全保护措施,例如设置口令和密码;(2)访问权限:对有权进入数据库的用户要进一步进行存取控制,事先规定允许用户访问数据的范围以及有权执行的操作,然后在用户发出数据库操作请求的时候进行合法权限的检查。(3)加密存储:在对安全性要求非常高的应用系统,也可以将数据进行加密后存储在数据库中。6.2数据库管理系统数据保护机制数据库的完整性在于保证数据库里的数据语义是正确的。例如,在数据库里要执行一个转帐事务:
(1)从一个账户减去一笔钱;
(2)在另外一个账户里加上同样数目的钱。如果不进行完整性检验,可能出现对这个两个账户的更新操作只做了其中之一或转帐的数目不同,显然,破坏了数据的完整性。6.2数据库管理系统数据保护机制对数据库的并发操作可能会破坏数据库的完整性。例如:(1)A售票点读出某航班的余票数T,设T为100;(2)B售票点读出同一航班的余票数T,则T也为100;(3)A售票点售出一张机票,修改余票数T为99写回数据库;(4)B售票点售出一张机票,修改余票数T为99写回数据库。通常采用封锁保证数据库的完整性。所谓封锁是指事务A在对某个数据对象操作之前,先向系统发出操作请求,并对其进行加锁,于是事务A对该数据对象具有一定的控制权,其他事务不能更新此数据对象直到事务A释放这个锁。6.2数据库管理系统数据保护机制故障恢复。任何系统都免不了会发生故障,运行的突然中断可能使数据库处在错误状态,而故障排除后通常没有办法让系统精确地从断点继续执行下去,这就要求数据库管理系统有一套故障后的数据恢复机制。任何数据修复的方法都要基于数据备份,其核心是记录运行日志,记录每个事务的关键操作信息,如果发生故障时事务未执行完,恢复时就要把做了一半的事务取消,这称为滚回,也就是将数据库的状态恢复到故障发生之前的状态。6.2数据库管理系统数据保护机制软件危机:指在计算机软件的开发和维护过程中遇到的一系列严重问题。软件危机的典型表现是:(1)软件开发成本和进度无法预测。(2)用户对已完成的软件系统不满意。(3)软件可靠性没有保证。(4)软件没有适当的文档资料。(5)软件维护费用不断上升。软件危机不仅仅是不能正常运行的软件才具有的,实际上,几乎所有软件都不同程度地存在这些问题。6.3软件工程软件危机6.3软件工程软件危机软件工程包含三个要素:
方法、工具和过程。6.3软件工程软件工程的定义需求描述过程方法工具做成什么样什么时候做什么怎么做用什么做软件工程:是应用计算机科学、数学及管理科学等原理,借鉴传统工程的原则、方法来创建软件,从而达到提高质量、降低成本的目的。计算机科学和数学用于构造模型、分析算法;工程科学用于制定规范、明确样例、评估成本、权衡;管理科学用于进度、质量、成本等的管理。方法:软件工程的方法指的是完成软件开发的各项任务的技术方法,回答“如何做”的问题。结构化方法的基本思想是“自顶而下,逐步求精”,核心是模块化
6.3软件工程软件工程的定义面向对象方法的基本思想是“自底向上”,核心是抽象、继承等6.3软件工程软件工程的定义方法:软件工程的方法指的是完成软件开发的各项任务的技术方法,回答“如何做”的问题。
工具:是为方法的运用提供自动的或半自动的软件支撑环境。软件工程的研究重点之一就是提出可以在开发过程中使用的各种支持工具。
例如,(1)用于数据分析的实体-联系图;(2)用于结构化方法的数据流图、模块结构图;(3)用于面向对象方法的类图、UML建模;(4)能够对软件开发全过程提供支持的软件工程环境,例如RUP和Rose。6.3软件工程软件工程的定义
过程:软件工程的过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。过程定义了运用方法的顺序、应该交付的文档资料、为保证软件质量和协调变化所需要采取的管理措施以及标志软件开发各个阶段任务完成的里程碑。例如:软件生命周期、CMM、文档资料等。6.3软件工程软件工程的定义ISO9000把过程定义为“把输入转化为输出的一组彼此相关的资源和活动”。
软件生命周期:一个软件从提出开发要求开始,到开发完成投入使用,直至废弃为止的整个时期。软件生命周期有两个要点:分阶段和文档。
分阶段:从时间进程的角度,整个软件生命周期被划分为若干个阶段,每个阶段有明确的目标和任务,要确定完成任务的理论、方法和工具,要有检查和审核的手段,要规定每个阶段工作完成的标志,即所谓的里程碑。
文档:指以某种可读形式存在的技术资料和管理资料。文档是在软件开发过程中产生的。软件生命周期
6.3软件工程过程1.软件定义:主要解决的问题是“做什么”。(1)问题定义:确定软件的处理对象、软件与外界的接口、软件的功能和性能、界面。(2)软件项目计划:可行性分析报告、项目计划书。(3)需求分析:需求规格说明书。2.软件开发:主要解决的问题是“怎么做”。(1)软件设计:确定软件结构。(2)编码:程序清单。(3)软件测试:软件测试计划、软件测试报告。3.软件维护:软件维护计划、软件维护报告。软件生命周期
6.3软件工程过程使用程序的人一般不是写这个程序的人,他们很可能不懂程序,因此需要有使用说明,甚至需要培训教材;修改程序的人可能不是写这个程序的人,他们需要理解这个程序的设计思想和程序的演变过程;为什么需要文档
6.3软件工程过程这个程序可能是一个大系统的一部分,承担其他任务的人需要知道怎样才能在系统中利用这个程序。
软件质量:指软件与明确叙述的功能和性能需求、明确描述的开发标准以及任何专业开发的软件产品都应该具有的隐含特征相一致的程度。(1)软件需求。与需求不一致就是质量不高。(2)开发标准。开发标准定义了一组指导软件开发的准则,没有遵守这些准则就不能开发出高质量的软件产品。(3)隐含需求
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026 年鼻窦炎护理宣讲病例分享
- 2026 年药物过敏性休克急救流程护理实操课
- 品质培训相关试题及解答
- 2026年70岁驾驶证年审三力能力测试题附答案
- 2026年城市公共安全设施建设与运营方案
- 2026年度全国保密教育线上培训试题(含答案)
- 南通遴选常见试题及完整答案
- 2026年企业员工招聘渠道反馈策略方案
- 2026年育婴员考试备考冲刺模拟试卷含答案解析
- 2026年初中历史真题试卷真题解析
- 耕地保护三级责任书
- 院前急救诊疗常规和技术操作规范(2025 年版)
- 小儿孤独症谱系障碍诊疗指南(2025年版)
- 2026年北京市劳动合同范本三篇
- 2026年GCP复习提分资料附完整答案详解(名校卷)
- 2026年水利机械运行维护工试卷【考点梳理】附答案详解
- 石油化工工程建设费用定额(2025版)
- 2026届山东省济宁市实验中学高三上学期开学考试数学试卷
- 推拿基本手法
- 认识有机化合物课件2025-2026学年高一下学期化学人教版必修第二册
- 2026年河北唐山市高三一模高考英语试卷试题(含答案详解)
评论
0/150
提交评论