信息系统分析与设计InformationSystemsAnalysisandDesign_第1页
信息系统分析与设计InformationSystemsAnalysisandDesign_第2页
信息系统分析与设计InformationSystemsAnalysisandDesign_第3页
信息系统分析与设计InformationSystemsAnalysisandDesign_第4页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、信息系统分析与设计Information Systems Analysis and Design南京大学主讲 刘友华题型说明四种题型:单选题(共20小题,每题2分)主要考核基本概念和知识点。判断题(共15小题,每题1分)主要考核基本知识点、一些比较重要的注意点。填空题(共25空,每空1分)简答题(共3小题,共20分)要求列出要点,并简单说明,不需详细论述。第一章 信息系统概论信息系统概念系统分析员所需的基本技能系统开发生命周期五个阶段、系统开发方法学构成系统分析员信息系统的求解者系统分析员所要具备的四个方面的知识和技能 技术方面的知识和技能/Technical Knowledge and Sk

2、ills 有关组织的业务知识及管理技能/Business Knowledge and Skills 人际关系及协调技能/People Knowledge and Skills 诚信和道德/Integrity and EthicsSDLC(系统开发生命周期)过程性-通常由5个阶段(phase)构成-活动(activity)-任务方法学-如何支持所有活动/任务的完成-模型、工具、技术例题1、下面哪个系统开发阶段完成新系统逻辑设计工作?_。A A.系统分析阶段 B.系统设计阶段 C.系统实施阶段 D.系统计划阶段2、软件需求分析的任务不应包括_。C A.问题分解 B.可靠性与安全性要求 C.结构化程

3、序设计 D.确定逻辑模型3、在软件的生命周期中,下列哪一种说法是错误的?B A软件生命周期分为计划、分析、设计、运行和维护5个阶段 B在开发初期要进行可行性研究和详细设计 C在开发后期要进行代码编写和软件测试 D运维阶段主要是进行软件维护第二章 相关概念、原理及技术基础IS和MIS的关系管理的基本职能、管理活动和决策层次TPS和MIS的含义、功能特征数据库设计的基本步骤C/S、B/S计算模式的特征事务处理系统事务处理系统(TPS: Transaction Processing Systems)几个名词几个名词事务事务 一个组织中日常发生的基本业务活动一个组织中日常发生的基本业务活动 事务处理事

4、务处理 面向日常的、重复的、普通的事务,对之进行记录、更新、分类等面向日常的、重复的、普通的事务,对之进行记录、更新、分类等 事务处理的特点事务处理的特点 事务处理系统事务处理系统 将以事务处理为主的信息系统称之为将以事务处理为主的信息系统称之为 TPSA)事事务处理流程有规律、稳定务处理流程有规律、稳定B) 业务量大业务量大C) 事务数据的完整性、准确性、及时性要求高事务数据的完整性、准确性、及时性要求高 TPS的基本活动的基本活动 数据收集数据收集 获取和收集完成事务处理所需数据的过程获取和收集完成事务处理所需数据的过程数据验证数据验证 检查数据的有效性和完整性检查数据的有效性和完整性 数

5、据修改数据修改 提供潜在问题的反馈并要求用户重新更新错误的数据提供潜在问题的反馈并要求用户重新更新错误的数据数据操作数据操作 执行计算和其它与组织事务相关的数据转换过程执行计算和其它与组织事务相关的数据转换过程数据存储数据存储 用新事务来更新数据库,将事务数据放在一个或多个数据库中用新事务来更新数据库,将事务数据放在一个或多个数据库中文档生成文档生成 生成输出记录和报表的过程,可以是硬拷贝的纸质文档或软拷贝的屏幕输出生成输出记录和报表的过程,可以是硬拷贝的纸质文档或软拷贝的屏幕输出 事务处理系统事务处理系统(TPS: Transaction Processing Systems) 事务处理系统

6、的目标事务处理系统的目标 确保数据的正确性、完整性确保数据的正确性、完整性 提高劳动生产率提高劳动生产率 有助于改善产品或服务有助于改善产品或服务 有助于建立和维持客户忠诚度有助于建立和维持客户忠诚度管理信息系统管理信息系统 MIS的概念的概念 (该词最早出现在该词最早出现在1970年,由年,由Walter T. Kennevan率先提出率先提出)管理信息系统管理信息系统是是以书面或口头的形式,在合适的时间向经理、职员以及外界人员提供过去的、以书面或口头的形式,在合适的时间向经理、职员以及外界人员提供过去的、现在的、预测未来的有关企业内部及其环境的信息,以帮助他们进行决策。现在的、预测未来的有

7、关企业内部及其环境的信息,以帮助他们进行决策。 定义定义1 (1985年年 “现代现代”MIS的创始人的创始人-美国明尼苏达大学卡尔森管理学院著名美国明尼苏达大学卡尔森管理学院著名Prof. Gordon D.)管理信息系统管理信息系统是一个利用计算机软件和硬件、手工作业、分析、是一个利用计算机软件和硬件、手工作业、分析、计划、控制和决策模型以及数据库的用户计划、控制和决策模型以及数据库的用户机器系统,它能提供信息支持企机器系统,它能提供信息支持企业或组织的运行、管理和决策功能。业或组织的运行、管理和决策功能。 定义定义2 (1984年年中国企业管理百科全书中国企业管理百科全书)管理信息系统管

8、理信息系统是一个由人、计算机等组是一个由人、计算机等组成的能进行管理信息的收集、传递、存储、加工、维护和使用的系统。它能成的能进行管理信息的收集、传递、存储、加工、维护和使用的系统。它能实测企业的各种运行情况,利用过去的数据预测未来,从全局出发辅助企业实测企业的各种运行情况,利用过去的数据预测未来,从全局出发辅助企业进行决策,利用信息控制企业的行为,帮助企业实现其规划目标。进行决策,利用信息控制企业的行为,帮助企业实现其规划目标。定义定义3 强调强调MIS是一种技术,一种先进的管理方法和手段是一种技术,一种先进的管理方法和手段 避免避免所谓所谓MIS就是计算机应用的认识上的误区就是计算机应用的

9、认识上的误区现代管理信息系统是一个以计算机为工具,具有数据处理、预测、控制和辅现代管理信息系统是一个以计算机为工具,具有数据处理、预测、控制和辅助决策功能的信息系统。助决策功能的信息系统。管理信息系统管理信息系统 MIS的输入和输出的输入和输出 MIS的输入的输入: A) 内部的内部的TPS或其它有关数据或其它有关数据 B)外部数据外部数据MIS的输出的输出: 分发给管理决策者的各种报表分发给管理决策者的各种报表业业务务处处理理应应用用数数据据库库事事务务处处理理系系统统管管理理信信息息系系统统专专家家系系统统主主管管信信息息系系统统决决策策支支持持系系统统业业务务数数据据库库外外部部数数据据

10、的的数数据据库库内内部部数数据据的的数数据据库库有有效效事事务务处处理理数数据据库库输输入入和和错错误误列列表表常常规规报报表表异异常常报报表表需需求求报报表表关关键键指指标标报报表表进进度度报报表表数据库设计数据库设计数据库设计是建立数据库及其应用系统的技术。具体地,是指对于一个给定的应是建立数据库及其应用系统的技术。具体地,是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。数据库设计是数据库在应用领域的一个主要储数据,满足各种用户的应用需求。数据库设

11、计是数据库在应用领域的一个主要研究领域。研究领域。最为著名的数据库设计方法是新奥尔良最为著名的数据库设计方法是新奥尔良(New Orleans)方法,它按方法,它按SE的思想,的思想,提出了数据库设计的规范,将数据库设计分为提出了数据库设计的规范,将数据库设计分为6个阶段:个阶段:需求分析需求分析(分析用户数据及数据处理需求分析用户数据及数据处理需求) 概念设计概念设计(数据分析、抽象和定义数据分析、抽象和定义) 逻辑设计逻辑设计(数据结构描述数据结构描述)物理设计物理设计(数据存储方法数据存储方法)数据库实施阶段数据库实施阶段数据库运行和维护阶段数据库运行和维护阶段 数据库设计一般步骤数据库

12、设计一般步骤基于基于新奥尔良方法新奥尔良方法使使用用、维维护护数数据据库库需需求求收收集集和和分分析析设设计计概概念念结结构构设设计计逻逻辑辑结结构构数数据据模模型型优优化化设设计计物物理理结结构构设设计计评评价价物物理理实实现现试试验验性性运运行行转转换换规规则则、DBMS功功能能、优优化化方方法法应应用用要要求求、DBMS详详细细特特征征应应用用需需求求(数数据据、处处理理)不不满满意意不不满满意意需需求求分分析析阶阶段段概概念念设设计计阶阶段段逻逻辑辑设设计计阶阶段段物物理理设设计计阶阶段段数数据据库库实实施施阶阶段段数数据据库库运运行行维维护护阶阶段段数据库设计客户机客户机-服务器(服

13、务器(C/S)计算模式)计算模式 Architecture 基于基于LAN,数据库服务器,数据库服务器(database server端端)客户机客户机(client端端)C/S计算本质计算本质: 共享资源并协同工作,即由若干个互联的计算机共同分担共享资源并协同工作,即由若干个互联的计算机共同分担 完成系统指定的某个计算任务完成系统指定的某个计算任务。数数据据库库服服务务器器应应用用程程序序逻逻辑辑 应应用用程程序序逻逻辑辑应应用用程程序序逻逻辑辑服服务务请请求求结结果果SELECT FROM studentWHERE 学学号号=*客客户户机机提提交交的的SQL处处理理接接受受结结果果SQL请

14、请求求返返回回一一条条记记录录查查询询操操作作在在服服务务器器端端进进行行带带有有若若干干条条记记录录的的数数据据库库表表格格的的student文文件件数数据据库库服服务务器器客客户户机机客户机客户机-服务器(服务器(C/S)计算模式)计算模式 Features 降低网络负荷、缩短相应时间降低网络负荷、缩短相应时间 开放性开放性/客户机平台与服务器平台无关性客户机平台与服务器平台无关性-middleware Middleware is a computer software that implements communication protocols on the network and h

15、elps different systems communicates. /中间件的主要功能就是中间件的主要功能就是通过简单的、较高层次的应用程序编程接口通过简单的、较高层次的应用程序编程接口(API)将处于高层将处于高层的应用和处于底层的网络屏蔽开来的应用和处于底层的网络屏蔽开来. . 可伸宿性可伸宿性 - 3/N layer architecture 3-layer architecture is a client-server architecture that contains the three layers of view layer, business logic layer,

16、and data layer 性能改进性能改进(避免胖客户机和瘦服务器现象避免胖客户机和瘦服务器现象) 便于管理和维护应用处理逻辑便于管理和维护应用处理逻辑 前端应用前端应用软件软件中间件中间件用户用户服务服务后端服务后端服务软件软件中间件中间件客户机客户机服务器服务器网络网络 3-layer architecture 数据层:用户管理和存储的数据,一般用数据层:用户管理和存储的数据,一般用DBMS(的的SQL)来实来实现对现对DB的管理的管理/ /处理。处理。 业务逻辑层:实现用户业务的处理过程和处理规则。业务逻辑层:实现用户业务的处理过程和处理规则。 用户层:接受用户的输入,或格式化的形式

17、显示处理结果。用户层:接受用户的输入,或格式化的形式显示处理结果。 客户机客户机-服务器(服务器(C/S)计算模式)计算模式数据层数据层数据库数据库查询查询查询响应查询响应应用逻辑应用逻辑层层信息请求信息请求非格式化非格式化响应响应用户视图用户视图层层用户请求用户请求第一层第一层第二层第二层第三层第三层数据库服务器数据库服务器客户机客户机应用服务器应用服务器浏览器浏览器/服务器(服务器(B/S)计算模式)计算模式 Background ArchitectureC/S结构与结构与Web环境相融合环境相融合 Internetwidely implemented standardsWeb brows

18、ers and Internet connections are nearly ubiquitous数据库服务器数据库服务器 HTML+AnchorsWeb服务器服务器/ /数据库客户机数据库客户机 网络网络 Webbrowser Webbrowser Webbrowser Internet C/S B/S 最好在同一最好在同一LAN TCP/IP + HTTP Web环境环境=Browser+HTTPWeb server+HTML例题1、事务处理系统(TPS)的主要目的是_。B A.为管理者提供决策服务 B.提高事务处理工作效率 C.解决管理者难以解决的问题 D.减轻管理者的工作强度2、网络

19、环境下C/S计算模式的多层逻辑结构中不包括以下哪一层。C A.用户视图层 B.业务逻辑层 C.中间件层 D.数据库层3、在数据库设计中,选择合适的存储结构和存取方法的设计属于( )B。A.系统结构设计B.物理结构设计C.逻辑结构设计D. 概念结构设计3、管理信息系统是一种信息系统,信息系统也就是管理信息系统。F4、和传统的观点相比,现代信息系统是任何组织的价值链的一个有机组成部分。T第三章 信息系统的开发方法结构化系统开发方法的特征和开发过程原型化方法开发过程开发方法选择或重构的依据原型化方法的开发过程原型化方法的开发过程基于原型的系统开发步骤基于原型的系统开发步骤:基于迭代的渐增式的开发方法

20、基于迭代的渐增式的开发方法 一组基本的一组基本的用户需求用户需求建立初始原型建立初始原型运行原型运行原型满意否?满意否?放弃否?放弃否?修改原型修改原型可用原型可用原型原型作为原型作为应用系统应用系统原型作为原型作为开发依据开发依据停止停止是是是是否否否否第第1步步第第2步步第第3步步第第4步步开发方法选择或重构的依据开发方法选择或重构的依据The exact way in which we choose or restructure will depend on Project size / 项目规模项目规模 The degree of (un)certainty of requiremen

21、ts or feasibility at the start of the project / 在项目之初需求或可行性在项目之初需求或可行性(不不)确定程度确定程度 The expected rate of change in user requirements during the life of the project / 在项目周期中需求的变化率在项目周期中需求的变化率 The experience and confidence that developers have in the proposed implementation technology / 开发人员对要求的实现技开发人员

22、对要求的实现技术所具有的经验和信心术所具有的经验和信心注注 顺序开发顺序开发 最最“古老古老”的开发方法的开发方法, 其时代背景其时代背景: 系统相对简单且彼此独立系统相对简单且彼此独立 计算机资源非常昂贵计算机资源非常昂贵 软件开发工具相对原始软件开发工具相对原始顺序开发顺序开发传统开发传统开发迭代开发迭代开发顺序顺序迭代迭代底底高高系统规模、系统规模、需求和技术需求和技术的不确定性的不确定性开发方法选择或重构的依据开发方法选择或重构的依据Suggestions Conventional development is usually most efficient when requireme

23、nts are well known and relatively static. / 结构化开结构化开发方法通常适用于系统需求已明确且其相对稳定的系统。发方法通常适用于系统需求已明确且其相对稳定的系统。 Evolutionary developments is generally best when requirements are poorly understood or rapidly shifting. /原型原型化方法通常适用于系统需求未知或需求易于变化的系统。化方法通常适用于系统需求未知或需求易于变化的系统。 Object-oriented development is gener

24、ally best for systems that will evolve over relatively long period of time. / OO方法方法通常适用于其生命周期要求相当长的系统。通常适用于其生命周期要求相当长的系统。 Some portion of the requirements cannot be fully specified independently of detailed design. / 部分需求需经过部分需求需经过详细设计之后才能被完全确定详细设计之后才能被完全确定 Technical feasibility for some system fun

25、ctions is unknown or uncertain. / 系统一些功能的技术可行性不可知或不确定系统一些功能的技术可行性不可知或不确定 Prototype development tools are powerful enough to create a fully functional system. / 原型化的开发工具支持快速构原型化的开发工具支持快速构造一个功能完备的系统造一个功能完备的系统 For example, When to Use a Prototyping Approach例题1、在选择开发方法时,不适合使用原型法的情况是 。D A用户需求模糊不清 B系统设计方案

26、难以确定 C系统使用范围变化很大 D用户的数据资源缺乏组织和管理2、结构化程序设计思想的主要目的是( )。AA.提高程序的可读性和可维护性B.保证程序的正确性C.提高程序的可靠性D.支持模块的可重用性 3、结构化方法的基本思想可理解成“自顶向下,逐步求精”, “抽象”和“组合”是结构化方法解决复杂问题的两个基本手段。T4、结构化设计技术是结构化程序设计技术的简称。F5、自顶向下开发顺序的一个主要优点避免了自底向上开发顺序的不足,也就是说所有的编程人员一开始就可以立即投入工作。F第四章 信息系统开发的若干组织和管理工作项目含义、项目可行性的确认软件产品质量因素软件质量保证QA(计划QA活动、结构

27、化预排、复查和管理工作、测试)文档的作用、分类例题1、 在下面的活动图中,从A到J的关键路径是()B。A.ABEGJ B. ADFHJ B.C. ACFGJ D. ADFIJ2、某工程计划图示如下,各个作业所需的天数如下表所列,设该工程从第0天开工,则作业I最迟应在第()天开工。BA11 B13 C14 D16例题3、 结构化预排也称静态测试,其目标是发现错误以便即时更正,下面的描述不正确的是( )。CA.是在项目早期对质量进行有效控制的一项技术B.是指对调查结果和根据这些结果建立的原型进行评审C.预排工作的参与者通常只由项目客户、业务骨干及行业业务专家组成等评审者组成D.预排的四个要素:WH

28、AT,WHEN,WHO,HOW4、可靠性越强的软件其运行效率往往也越高。F第五章 系统分析的任务需求类型、获得模型、事件、事物含义数据流程图(DFD)构造DFD需考虑的问题定义系统需求数据流程图1. DFD的概念及其符号定义DFD以图形的方式将事件列表中描述的事件和ERD中定义的数据实体有机地集成在一起 一个DFD的例子 1查询可用性查询可用性商品条目商品条目客户客户商品条商品条目查询目查询可用条可用条目细节目细节商品目录商品目录产品条目产品条目库存条目库存条目1查询可用性查询可用性商品条目商品条目客户客户商品条商品条目查询目查询可用条可用条目细节目细节商品目录商品目录产品条目产品条目库存条目

29、库存条目外部实体、数据流、过程来自外部实体、数据流、过程来自于事件列表中有关事件的信息于事件列表中有关事件的信息数据存储来自于数据存储来自于ERD事件源事件源触发触发行为行为事件宿事件宿响应响应定义系统需求构造DFD需考虑的问题避免“信息过载”现象,提高DFD的可读性和可理解性(把握好“72法则” )保证数据流的一致性 Data Flow Consistency 确保DFD最低的复杂性 Minimizing Complexity避免DFD分解过程中因疏忽、遗漏、差错等而造成的数据流不一致 注意数据流包含的信息在“父图”和“子图”之间的平衡性数据流的流入端与其流出端需相符(“黑洞”现象)数据流的

30、流出端与其流入端需相符(“奇异”现象) 定义系统需求细化DFD的其他模型1. 过程描述-处理逻辑的表达 / process descriptions 结构化英语 / Structured English 决策表 / Decision table 判定树 / Decision tree 数据流定义 数据元素的定义 数据存储的定义2. 数据定义 Definition of data例题1、 系统分析是信息系统开发重要的阶段。系统分析的困难不包括()。BA.问题空间的理解 B. 系统建模工具的复杂性C. 人与人之间的沟 D. 环境的不断变化2、 ()是一种最常用的结构化分析工具,它从数据传递和加工的

31、角度,以图形的方式刻画系统内数据的运行情况。AA.数据流图 B. 数据字典 C. ER 图 D. 判定表3、通常使用()作为该工具的补充说明。BA.数据流图 B. 数据字典 C. ER 图 D.判定表4、系统的需求包括功能需求与技术需求,下列属于系统的技术需求的是( )。AA.同时响应多个请求 B.计算工资C.维护员工资料 D.计算仓储量例题5、系统分析阶段,向用户收集需求信息的方法多样,下面列举的方法哪种通常被认为是最为有效的( )。BA.分发与收集调查表 B.面谈与讨论C.观察商业流程 D.亲自参与业务实践活动6、模型便于开发人员之间、开发人员与用户之间的相互交流,但其抽象性往往增加了对系

32、统认识的复杂性。 F7、事件类型中的时间事件和状态事件相似,其区别仅在于时间事件不能预先确切地定义所发生的时刻。F 8、事件列表是在系统设计阶段建立的一种表格模型。 F在结构化分析方法的数据流程图模型中,使用_来表示ERD中的数据实体。数据存储第六章 系统设计的任务 模块、模块结构图 评价模块结构图的质量标准 了解关系数据库(6.4.1) 掌握关系数据模型设计(6.4.2) 关系数据模型质量的评估,知道并理解一个好的数据模型应具备的特征(6.4.3) 系统控制及输入、输出设计 用户界面设计的指导原则评价模块结构图的质量标准 模块结构图设计质量的好坏直接影响到系统实施 的软件质量的高低, 高质量

33、的模块结构图能保证 系统的可维护性、灵活性和易测试性 模块独立的概念是良好设计的关键 模块的独立程度可以由两个定性标准度量: 模块耦合和模块内聚 模块耦合模块耦合是对一个应用程序体系结构内两个不同模块之间联接程度的一种度量。模块间的依赖程度越大, 则其耦合程度也就越大, 最终系统的质量也就越低; 反之, 模块间的依赖程度越小, 则其耦合程度也就越小,最终系统的质量也就越高。 模块耦合的类型: 按其耦合程度由低到高1) 数据耦合: 两个模块之间的接口即调用只通过数据信息的传递来关联2) 控制耦合: 两个模块之间除了数据信息的传递之外, 还有控制信息的传递, 而且 这种控制信息是用以控制被调用模块

34、的内部处理逻辑3) 内容耦合/病态耦合: 两个模块之间不是通过显式的调用关系发生关联, 而是一 个模块直接存取或修改另一个模块的数据结论1: 尽量使用数据耦合, 少用控制耦合, 完全不用内容耦合 评价模块结构图的质量标准 模块内聚模块内聚是对一个模块内部各元素在功能上内在联系紧密程度的一种度量. 或者说, 内聚是对模块内各处理动作组合强度的一种度量.模块内聚的类型: 按其内聚程度由低到高结论2: 模块层次分解设计过程中, 没有必要精确确定模块内聚的级别, 重要的是 设计时力争做到高内聚, 并且能够辨认出低内聚的模块. 模块耦合和模块内聚两者往往相辅相成、相互一致, 一般说来, 模块内聚性越高则

35、模块间的耦合性就越低, 若所有模块都是功能内聚的话, 那么模块间必然都是数据耦合, 从而可以获得较高的模块独立性. 评价模块结构图的质量标准 模块作用范围和控制范围模块的作用范围也称为影响范围: 定义为若干模块的集合, 集合中的模块内含有依赖于这个判断结果的处理. 模块的控制范围: 该模块本身及其所有的下属模块组成的集合.两者关系的原则 或者 结论3:一个模块的判定的作用范围必须是判定所在模块的控制范围的一个真子集.A:计算工资计算工资模块模块A控制控制范围范围: A, B, C, D模块模块A作用范围作用范围: B, CB:计算工人工资计算工人工资C:计算干部工资计算干部工资D:计算工资总额

36、计算工资总额评价模块结构图的质量标准 深度、宽度、模块的扇入和扇出系数(fan-in and fan-out) 深度表示软件结构中控制的层数.宽度是软件结构内同一层次上的模块总数的最大值.扇出是一个模块直接控制(调用)其它模块的数目.扇入是指一个模块有多少个上级模块直接调用它. 标志一个系统的规模大小和复杂程度扇出越大意味着模块越复杂;扇入越大意味着模块的通用性越强 结论4: 随着层次深度的增加, 高扇出数目逐渐减少, 而逐步争取更大的扇入, 软件 体系结构呈现“上尖、中宽、底小”形状. Mfan-out=3Mfan-in=4数据库设计数据库设计 数据冗余问题数据冗余问题 “第几范式第几范式”

37、原意是表示关系的某一种级别原意是表示关系的某一种级别, 现常用来表示符合某一种级别的关现常用来表示符合某一种级别的关系模式的集合,记为系模式的集合,记为R xNF.5NF4NFBCNF3NF2NF1NF各种范式之间的关系各种范式之间的关系: :5NF 4NF BCNF 3NF 2NF 1NF 其中其中, 满足满足1NF是关系模型中关系的最基本条件是关系模型中关系的最基本条件, 它要求关系的每个分量必须是一个不可分的数据它要求关系的每个分量必须是一个不可分的数据项项, 即不允许表中有表即不允许表中有表.一个低一级范式的关系模式一个低一级范式的关系模式, 通过模式分解可以转换为若干个高一级范式的关

38、系通过模式分解可以转换为若干个高一级范式的关系模式的集合模式的集合, 这种过程就叫这种过程就叫规范化规范化. 函数依赖函数依赖 职工号职工号姓名姓名基本基本职务职务水电水电公积金公积金实发实发工资工资扣款扣款86051陈平陈平18058002003002105. .SupervisorSpecialityPG1PG2Postgraduate李远清李远清信息专业信息专业李勇李勇刘成刘成. .非规范化关系的两个例子非规范化关系的两个例子 数据库设计数据库设计 数据冗余问题数据冗余问题 设设R(U)是属性集是属性集U上的关系模式,上的关系模式,X、Y是是U的子集,若对于的子集,若对于R(U)的任意一

39、个可能的任意一个可能的关系的关系r,r中不可能存在两个元组在中不可能存在两个元组在X上的属性值相等,而在上的属性值相等,而在Y上的属性值不等,上的属性值不等,则称则称X函数确定函数确定Y或或Y函数依赖于函数依赖于X,记作,记作XY。若若R 1NF,且每一个非主码属性函数依赖于主码,则,且每一个非主码属性函数依赖于主码,则R 2NF。说明说明: 现要确定现要确定R是否满足是否满足2NF, 首先应先确定它是否是第首先应先确定它是否是第1范式范式 当主码有两个或多个属性组成时当主码有两个或多个属性组成时, 要确定一个关系是否是要确定一个关系是否是2NF时时, 必须要判断每必须要判断每个非主属性是否都

40、函数依赖于组成主码的属性组合个非主属性是否都函数依赖于组成主码的属性组合, 而不只是其中的一部分属性而不只是其中的一部分属性 ( 若满足若满足R 1NF, 且且R的主码只有一列的主码只有一列, 则它自动满足则它自动满足2NF )一个例子一个例子: 课程选修课程选修(学号学号, 课程代码课程代码, 课程名称课程名称, 成绩成绩) 非主码列非主码列“课程名称课程名称”仅依赖于组合主码的一部分仅依赖于组合主码的一部分“课程代码课程代码”, 因此它不符合因此它不符合2NF. 对该模式规范化也是把它分解成两个模式对该模式规范化也是把它分解成两个模式: “课程课程”和和 “课程选修课程选修”, 即即课程课

41、程(课程代码课程代码, 课程名称课程名称); 课程选修课程选修(学号学号, 课程代码课程代码, 成绩成绩)数据库设计数据库设计 数据冗余问题数据冗余问题 一个例子一个例子:课程课程(课程代码课程代码, 课程名称课程名称, 教师代码教师代码, 教师姓名教师姓名);因为非主码属性因为非主码属性“教师姓名教师姓名”依赖于另一非主码属性依赖于另一非主码属性“教师代码教师代码”, 所以该关系所以该关系模式不符合模式不符合3NF, 其解决办法也是把它分解成两个关系模式其解决办法也是把它分解成两个关系模式: “课程课程”和和“教师教师”课程课程(课程代码课程代码, 课程名称课程名称, 教师代码教师代码);教

42、师教师(教师代码教师代码, 教师姓名教师姓名)这时这时, 这两个模式均满足这两个模式均满足3NF.若若R 2NF,且没有非主码属性函数依赖于任何其它的非主码属性,则,且没有非主码属性函数依赖于任何其它的非主码属性,则R 3NF。说明说明: 现要确定现要确定R是否满足是否满足3NF, 首先应先确定它是否是第首先应先确定它是否是第2范式范式 不论一个关系的非主码属性数目是多少不论一个关系的非主码属性数目是多少, 都必须考虑每一个非主码属性对另一都必须考虑每一个非主码属性对另一个非主码属性的函数依赖性个非主码属性的函数依赖性 设非主码属性数目为设非主码属性数目为N, 则要验证的函数依赖性数目则要验证

43、的函数依赖性数目是是N(N-1) 若一个属性的值能从一个或多个属性的值中计算出来若一个属性的值能从一个或多个属性的值中计算出来, 则也违背了则也违背了3NF的要求的要求 例题1、()可用于描述数据流图中数据存储及其之间的关系,最初用于数据库概念设计。在某学生选课系统中使用该工具来描述,学生的学号属于()。ACA. 实体关系图 B. 数据字典 C. IPO 图 D. 判定表A. 实体 B. 关系 C. 属性 D. 方法2、下列聚合类型中内聚程度最高的是 () ,下列耦合类型中耦合程度最低的是() 。CAA. 偶然内聚 B. 时间内聚 C. 功能内聚 D. 过程内聚A. 数据耦合 B. 控制耦合

44、C. 公共耦合 D. 内容耦合 例题3、关系数据库的规范化理论事针对(1)的问题设计的。这种理论适用于(2)设计。到目前为止规范化理论已提出许多类范式,但在实际应用中最有价值的是(C)或BCNF。一个关系模式是否属于某种范式是由(4)确定的。DBCC(1)A.一个关系太大,引起应用数据库的独立性下降B.数据安排太分散,引起应用数据的共享性下降C.数据存取路径不适当,引起数据存取时间效率下降D.数据冗余,引起更新(插入、修改、删除等)异常(2) A.数据库管理系统B.数据库C.数据定义语言D.数据操纵语言(3) A.1NFB.2NFC.3NFD.4NF(4) A.数据模型B.关系操作C.函数依赖

45、D.关系值第七章 系统实施、转换和维护程序开发的顺序软件测试相关内容(7.2):测试目标和步骤、黑盒测试和白盒测试、测试用例的设计软件安装、转换三种方法软件维护的定义程序开发程序开发程序开发的顺序程序开发的顺序就是组成系统的若干功能单元模块的先后开发次序就是组成系统的若干功能单元模块的先后开发次序。常见顺序常见顺序:了解它们的思想和优缺点了解它们的思想和优缺点q 输入输入-处理处理-输出的开发顺序输出的开发顺序q 自顶向下自顶向下 或或 自底向上的开发顺序自底向上的开发顺序q 面向对象的框架开发顺序面向对象的框架开发顺序q 其它开发顺序的考虑其它开发顺序的考虑 软件测试软件测试 软件测试的目标

46、软件测试的目标/定义定义: 测试测试是为了发现程序中的错误而执行程序的过程是为了发现程序中的错误而执行程序的过程 好的好的测试用例测试用例是极有可能发现迄今为止尚未发现的错误的测试用例是极有可能发现迄今为止尚未发现的错误的测试用例 成功的测试是发现了至今为止尚未发现的错误的测试成功的测试是发现了至今为止尚未发现的错误的测试 “测试是为了表明程序是正确的测试是为了表明程序是正确的” “成功的测试是没有发现任何错误的测试成功的测试是没有发现任何错误的测试” 测试本身的目的是尽可能多地暴露程序中的错误测试本身的目的是尽可能多地暴露程序中的错误, 最终目标最终目标: 纠正错误纠正错误 黑盒测试黑盒测试

47、(Black box testing)和白盒测试和白盒测试(White box testing)黑盒测试法黑盒测试法把程序看成一个把程序看成一个“黑盒子黑盒子”, 不考虑程序的内部结构和处理过程不考虑程序的内部结构和处理过程, 只只检查程序功能是否按照规格说明书的规定正常使用检查程序功能是否按照规格说明书的规定正常使用, 程序是否能正确地接收输入程序是否能正确地接收输入数据并产生正确的输出信息数据并产生正确的输出信息 又称为又称为“功能测试功能测试”.白盒测试法白盒测试法把程序看成装在一个透明的把程序看成装在一个透明的“白盒子白盒子”里里, 按照程序的内部逻辑来测按照程序的内部逻辑来测试程序试

48、程序, 检查程序中的每条可能的通路是否都能按预定要求正确工作检查程序中的每条可能的通路是否都能按预定要求正确工作 又称为又称为“结构测试结构测试”.软件测试的基本概念软件测试的基本概念软件测试步骤软件测试步骤 软件测试的步骤软件测试的步骤/类型类型单元测试单元测试(Unit testing) 对单个代码模块进行测试的过程对单个代码模块进行测试的过程集成测试集成测试(Integration testing) 对一组模块进行测试的测试行为对一组模块进行测试的测试行为系统测试系统测试(System testing) 对一个完整的系统或独立的子系统的行为的测试对一个完整的系统或独立的子系统的行为的测试

49、测试用例的设计测试用例的设计设计测试用例设计测试用例的基本目标是确定一组最有可能发现某个错误或某类错误的测试数据的基本目标是确定一组最有可能发现某个错误或某类错误的测试数据.现已有多种设计测试数据的技术现已有多种设计测试数据的技术:q 等价类划分等价类划分q 边界值分析边界值分析q 错误推测法错误推测法q 逻辑覆盖法逻辑覆盖法 等价类划分等价类划分基本思想:基本思想:因不可能穷尽测试,因此只能选取少量最有代表性的输入数据,以期用较小的代因不可能穷尽测试,因此只能选取少量最有代表性的输入数据,以期用较小的代价暴露出较多的程序错误价暴露出较多的程序错误 把所有的可能的输入数据把所有的可能的输入数据

50、(有效的和无效的有效的和无效的)划分成划分成若干个等价类,使得每类中的一个典型值在测试中的作用与这一类中所有其它值若干个等价类,使得每类中的一个典型值在测试中的作用与这一类中所有其它值的作用相同。的作用相同。根据等价类设计测试用例的步骤:根据等价类设计测试用例的步骤: 设计一个新的测试用例以尽可能多地覆盖尚未被覆盖的有效等价类,重复这一设计一个新的测试用例以尽可能多地覆盖尚未被覆盖的有效等价类,重复这一 步骤直到所有有效等价类都被覆盖为止步骤直到所有有效等价类都被覆盖为止 设计一个新的测试用例,使它覆盖一个而且只覆盖一个尚未被覆盖的无效等价设计一个新的测试用例,使它覆盖一个而且只覆盖一个尚未被

51、覆盖的无效等价 类,重复这一步骤直到所有无效等价类都被覆盖为止类,重复这一步骤直到所有无效等价类都被覆盖为止测试用例的设计测试用例的设计 边界值分析边界值分析1)边界边界指诸如变量取值范围、数组下标的上限下限、循环控制变量的初值终值等。指诸如变量取值范围、数组下标的上限下限、循环控制变量的初值终值等。经验表明,程序在处理边界情况时最容易发生错误经验表明,程序在处理边界情况时最容易发生错误。2)基本思想基本思想应该选取刚好等于、稍小于和稍大于边界值的数据作为测试数据,而不是选取每应该选取刚好等于、稍小于和稍大于边界值的数据作为测试数据,而不是选取每个等价类的典型值或任意值作为测试数据个等价类的典

52、型值或任意值作为测试数据 3)工作步骤工作步骤设计测试用例时通常联合使用等价类划分和边界值分析两种技术设计测试用例时通常联合使用等价类划分和边界值分析两种技术 错误推测错误推测基本思想基本思想列举出程序中可能会有的错误和容易发生错误的情况,并据此选择测试用例列举出程序中可能会有的错误和容易发生错误的情况,并据此选择测试用例 仔细分析系统规格说明书仔细分析系统规格说明书 凭经验和直觉凭经验和直觉测试用例的设计测试用例的设计3. 测试用例的设计测试用例的设计 逻辑覆盖逻辑覆盖所谓所谓逻辑覆盖逻辑覆盖是关于程序结构的一系列测试过程的总称,由这组测试过程来逐步是关于程序结构的一系列测试过程的总称,由这

53、组测试过程来逐步进行越来越完整的路径测试。进行越来越完整的路径测试。按照测试数据执行按照测试数据执行(或称覆盖或称覆盖)程序逻辑的程度可大致分成程序逻辑的程度可大致分成6种不同的种不同的覆盖标准覆盖标准: q 语句覆盖语句覆盖语句覆盖语句覆盖是指设计足够多的测试用例,使得被测试程序中的每条语句至少执是指设计足够多的测试用例,使得被测试程序中的每条语句至少执行一次。语句覆盖是行一次。语句覆盖是6种种逻辑覆盖标准中最弱的一种测试标准。逻辑覆盖标准中最弱的一种测试标准。q 判定覆盖判定覆盖判定覆盖判定覆盖又称为又称为分支覆盖分支覆盖,是指设计足够多的测试用例,不仅使得每条语句,是指设计足够多的测试用例,不仅使得每条语句必须至少执行一次,而且还使得每个判定的每种可能的结果都应至少执行一必须至

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论