第6-7章 数据库、界面和安全设计_第1页
第6-7章 数据库、界面和安全设计_第2页
第6-7章 数据库、界面和安全设计_第3页
第6-7章 数据库、界面和安全设计_第4页
第6-7章 数据库、界面和安全设计_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

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

文档简介

软件工程学教程

第6章数据结构和数据库设计数据存储文件设计数据库设计文件第6章数据结构和数据库设计建立数据处理系统要考虑两方面的问题,即“数据”以及对数据进行的“加工”,这两个问题贯穿了整个开发过程在分析阶段,既要分析用户的“数据要求”(即有哪些数据、数据之间有什么联系、数据本身又有什么性质等),又要分析用户的“加工要求”(对数据进行哪些加工、加工的逻辑要求等)在设计阶段要设计数据结构也要设计程序结构计算机中对大量数据的存储管理有两种方式文件方式——操作系统的文件系统提供了对文件的管理功能数据库方式——操作系统支持下的数据库管理系统则提供了对数据库的管理功能6.1数据存储文件设计数据存储文件(简称文件)设计就是根据使用要求、处理方式、存储的数据量、数据的活动性,以及所能提供的设备条件等确定文件类别选择文件媒体决定文件组织方法设计文件记录格式估算文件的容量在设计过程中,还应注意文件组织的效率问题执行一个操作所花费的时间,即时间效率文件组织所需要的存储空间,即存储效率6.1.1文件设计内容文件设计的主要内容包括在数据分析的基础上,根据数据字典描述的数据存储情况,首先分析哪些数据需要作为文件组织存储,确定哪些是固定数据,哪些是流动数据,哪些是共享数据,哪些是输入数据,哪些是输出数据等,以便确定需要建立的文件类别归纳整个系统的各种数据类型,决定需要建立多少个文件,确定每个文件的用途和内容,并给每个文件指定文件名,以标识不同的文件根据文件的使用要求,选择文件的存储介质根据文件的用途及设备条件,确定文件的编制方法和组织方式根据数据结构设计记录格式根据记录长度、记录个数、文件总数,估算出整个系统的数据存储容量6.1.1文件设计内容经过设计,对系统中的每个文件都必须明确下列内容文件名称文件类别文件的媒体文件编制方法记录类型记录个数每个记录的字符数更新周期更新方法文件各数据项目名每个数据项目位数每个数据项目的数据类型等6.1.2文件类别文件是按一定的组织方式存放在存储介质上的同类记录的集合。在一个系统中,不同类型的数据记录可以组成不同的文件,并有不同的组织方式按文件的内容分类主文件,即存放固定和半固定数据的文件中间文件,用来对主文件记录进行追加、删除、更新的文件等按文件的用途分类系统文件,指与操作系统有关的一些文件,如系统程序等用户文件,是由用户建立并使用的文件,如数据、程序文件等库文件,是操作系统为用户所提供的一种文件,如数据库和应用程序库等6.1.2文件类别按文件的组织方式分类顺序文件、索引文件和直接文件按文件的存储媒体分类磁盘文件、磁带文件、内存文件等

按文件的信息流向分类输入文件、输出文件、输入输出文件按文件的保护级别分类只读文件(保护文件)、读写文件、不保护文件(临时文件)按文件保存性质分类永久文件、临时文件按文件信息性质分类变动性信息、流动性信息、工作性信息、共享性信息6.1.3文件媒体的选择选择文件的存储媒体要考虑以下因素数据量:当前+将来递增处理方式:顺序处理、随机处理、既顺序又随机处理等存取时间和处理时间:成批处理和实时处理数据结构:顺序文件结构、索引文件和直接文件结构操作要求费用要求在满足上述条件的基础上,应尽量选用价格低的媒体,以减少系统的成本费用6.1.4文件组织方式文件的存取方式文件的存取是指将记录写入文件,或从文件中读出顺序存取方式:是指文件的数据按顺序进行处理,可以按文件内数据的物理顺序处理,也可以按记录键的顺序进行处理直接存取方式是对数据进行直接处理的方式,可以按指定键值或按指定的地址,对记录进行直接处理选用哪种方式,一般根据数据的使用率和存取时间的要求决定6.1.4文件组织方式文件的处理形式读出。将文件中的数据读到内存中写入。将内存中的数据写到文件中去更新。对文件中已有的记录项目进行更新。其具体操作可以分为三步:首先读出需要更新的记录;然后在内存中对该记录进行修改,最后再写回到原来文件的位置删除。对文件中不需要的数据进行删除,具体操作也分为三步,首先读出需要删除的记录,再赋予删除记号,最后写回到原来的位置追加/插入。将需要追加或插入的记录,从内存写到文件中去扩充。将需要扩充的记录,从内存连续写到文件记录位置的后面6.1.4文件组织方式文件的组织方式就是文件中记录排列的方式文件由许多具有相同属性的记录组成,而记录又由若干个数据项组成。根据记录的长度和格式不同,有各种不同的记录形式文件组织就是对这些记录进行排列,可以按记录的物理顺序排列,按记录某个键值的顺序排列,或通过某种算法变换为记录地址,直接存取记录的方法等,从而组成不同的文件结构基本的文件组织方式有三种,即:顺序文件、索引文件和直接文件6.1.5文件记录格式设计设计组成文件记录格式的内容包括确定记录的长度——可以是定长或可变长,记录长度的设计既要考虑节约存储空间,又要考虑到处理效率,尽可能与读写单位匹配准备设置的数据项个数以及每个数据项在记录中的排列顺序——一般根据实际需要和使用习惯决定每个数据项的结构——包括数据项名称、数据类型及数据长度,在设计时不仅要考虑实际的需要,还要考虑系统软件所提供的条件6.2数据库设计文件数据库设计说明书的编制目的是:对于设计中的数据库的所有标识、逻辑结构和物理结构作出具体的设计规定第一章

言1.1编写目的1.2背

景1.3定

义1.4参考资料第二章

外部设计2.1标识符和状态2.2使用它的程序2.3约

定2.4专门指导

表6-2数据库设计说明书2.5支持软件第三章

结构设计3.1概念结构设计3.2逻辑结构设计3.3物理结构设计第四章

运用设计4.1数据字典设计4.2安全保密设计

第7章软件界面与安全性设计代码设计输出设计输入设计用户界面设计软件安全性设计第7章软件界面与安全性设计软件界面设计是软件设计的一部分,包括代码设计输入设计输出设计用户界面设计等7.1代码设计对有关数据进行编码,其目的是将冗余度很大的自然语言变换成计算机处理比较简单、非二义性的形态,从而提高机器处理效率和操作等性能软件系统使用的代码涉及面广,代码体系设计是否得当,对系统运行和信息处理的效率有很大的影响必要时,应开发相应的代码联机查询功能,以方便操作人员的使用和查找系统在运行期间还时时伴随着代码的增、删、改、查等处理,因此,有必要对代码进行严格的管理,设计代码管理程序功能,以保证软件系统的正常运行7.1.1代码基础所谓代码是按照使用目的,为了对数据进行识别、分类、排序等操作所使用的数字、文字或符号识别功能是将在文件中存储的数据区别开来(个体识别),或将文件中的数据按组区别开来(小组识别),用于数据更新和查找分类功能是根据数据编码中所给定的意义,对数据进行分类。多用于检索数据或对数据进行统计分析等处理排序功能是根据编码的规则,由系统自动按代码中规定的次序对数据进行排序。常用于信息输出、报表等方面一般情况下,一个数据记录中可能有若干个项目使用代码,并用其中的一个识别码作为主关键字,用几个分类码作为检索用的副关键字代码的性质简洁性

编码的目的是要将冗余度较高的信息用一个简洁的代码表示,既可减少存储空间,又可消除二义性保密性

使得不了解编码规则的人也就不了解代码的含义通融性

在设计代码时留有足够的余量,以保证在软件生存周期内代码有增加的可能持久性

所设计的代码应能在软件生存周期内稳定使用代码设计原则标准化

尽可能采用国际标准、国家标准,或部颁标准、习惯标准,以便日后信息的交换和维护唯一性

每一个信息资料仅有一个代码,或者说每一个代码只代表一个信息资料可扩充性

留有足够位置,以适应日后更新、扩充合理性

编制方法合理,以便和信息资料的分类相适应简单性

代码结构尽量简单,方便记忆和提高处理效率规范性

代码的结构、类型、缩写格式必须统一适应性

代码要尽可能反映信息资料特点7.1.2代码的种类在代码设计中,用数字、字符的组合可以构成各种编码方式顺序码信息块码归组分类码助记码数字式字符码组合码等顺序码这是一种最简单的代码体系,按数字的大小或字母的前后次序排成有序的组合作为代码使用财务凭证、售货发票、支票等票据类数据中都用顺序码来表示单据号信息块码信息块码将代码按某些规则进行排列分成几个信息块在信息块之间留出一些备用码每块中的码是按顺序编排的GB2260-1995《行政区划代码》对我国行政区划做出的代码规定就是典型的信息块码,其代码的结构如下:表7-1省市编码表省(市、自治区)名称代码省(市、自治区)名称代码110000北京市120000天津市130000河北省140000山西省150000内蒙古自治区210000辽宁省220000吉林省230000黑龙江省310000上海市320000江苏省330000浙江省340000安徽省350000福建省360000江西省370000山东省410000河南省420000湖北省430000湖南省440000广东市450000广西壮族自治区460000海南省表7-1省市编码表(续)省(市、自治区)名称代码省(市、自治区)名称代码500000重庆市510000四川省520000贵州省530000云南省540000西藏自治区610000陕西省620000甘肃省630000青海省640000宁夏回族自治区650000新疆维吾尔自治区710000台湾省810000香港特别行政区910000澳门特别行政区归组分类码将代码化对象按一定的标准分为大分类、中分类和小分类,然后在各组分配顺序代码,就构成归组分类码和信息块码不同的是,这种代码不是按整个代码分组,而是按代码的代数分组,且各组内的位数没有限制表7-3归类分组码示例代码摘要哲学宗教社会科学法律商法公司法股份公司法合股公司法10020030032032532523252432525助记码助记码是将数据的名称适当压缩组成代码,有利于记忆助记码多用汉语拼音、英文字母、数字等混合组成数字式字符码按照规定的方式,将字符用数字表示所形成的代码称为数字式字符码计算机中通用的ASCII码就是这种代码表7-5ASCII码部分举例ASCII码

字符

ASCII码字符

ASCII码

字符

ASCII码字符048

0049

1050

2051

3052

4053

5054

6055

7056

8057

9065

A066

B067

C068

D069

E070

F071

G072

H073

I074

J合成码在许多应用场合,仅选用一种代码形式进行编码往往不能满足使用要求,这时,选用几种代码形态合成编码,会起到很好效果这种代码使用起来十分方便,其缺点是代码位数较多7.1.4代码设计步骤确定编码对象确定应该系统化的项目确定需要提高处理效率的项目确定应该标准化的项目明确编码目的编码的目的是什么?确定识别、分类、排序等需要的重要度确定编码对象的代码个数确定当前的代码数和未来可能扩充的代码数确定使用范围、期限确定使用的范围确定使用的期限确定编码方式确定编码的代码体系确定代码位数代码设计书确定编码规则确定是否需要检验位编码给编码实体赋值代码手册代码查询辅助图7-1代码设计步骤7.1.5代码设计文件在系统调查阶段,应将现行系统使用的代码调查清楚,写成现行系统代码文件,其中应包括有编码项目清单、编码规则、使用情况等在系统设计阶段,要与使用人员密切合作,认真讨论代码使用的目的根据计算机处理要求及使用人员的需求进行综合考虑。既要保证计算机处理方便,又要满足使用者的要求,容易记忆和维护作为代码设计的结果,要写成代码词典,并在有关软件文件中予以表达7.1.5代码设计文件代码词典是用编码方式建立的编码数据与代码之间的对应关系手册,其中应记载数据与代码的对应关系代码的使用方法及示例修改代码的手续及其有关规则,如代码管理的部门和权限,修改代码的手续,代码词典发放方法等7.2输出设计进行输出设计时,应充分考虑利用信息的用户(部门或其他系统)的要求,对和该输出信息有关的内容(如输出装置、输出介质、分配方法等)进行分析研究输出设计围绕如何有效地使用输出信息而进行所谓输出设计,实际上是指输出系统的结构设计,而不是指输出信息的物理细节的设计7.2.1输出设计的研究范围输出设计应该研究如下内容信息的输出处理信息的介质化信息的分配最重要的研究内容,是选择合适的输出介质输出的内容及其格式必须满足用户的要求,因此,要充分了解输出信息的使用情况,包括使用对象使用目的使用周期输出信息名允许的输出期限输出副本份数输出保密程度输出作业的信息循环输出信息的传送方法等应该了解用户需要哪些,而不是规定必须接受什么7.2.1输出设计的研究范围越是高层用户,输出的内容综合性越强,数据量相对也少;越是低层用户,输出的内容越是具体在输出设计时应根据不同用户的要求,对输出内容作适当的提炼。其方法有汇总法

对大量输入数据进行分项汇总,最后输出各种报表筛选法

根据上层决策的需要,将下层机构提供的数据进行筛选,将关键的数据提供给上层决策机构,以便使决策者迅速掌握一些关键的变量进行决策监控法

由计算机不断对输出信息进行分析比较,一旦出现异常情况,发出偏差警报,提醒决策者注意调正策略查询法

根据决策者的需要,临时查询一些输出信息,这对于管理者主动发现问题,及时作出决策是非常有用的7.2.1输出设计的研究范围7.2.2输出设计的规则只显示必需的数据。与用户需求无直接关系的一律省略在一起使用的数据应显示在一起显示出的数据应与用户执行的任务有关每一屏数据的数量,包括标题、栏题等等,不应超过整个屏幕面积的30%7.2.2输出设计的规则进行屏幕布局时,还需要考虑其他一些规则应尽量少使用代码和缩写。显示的数据对于读者来说,应是易于理解的如果安排了若干个显示画面,最好建立一个统一的格式。如果用户熟悉了数据显示的位置和显示的方式,则可获得不少的方便提供明了的标题、栏题以及其他提示信息,帮助用户浏览各种显示画面遵循用户的习惯。采用在分析过程中得到的用户模型,并保留用户使用的术语采用颜色、字符大小、下划线或不同字体等方式来强化重要数据7.2.3输出设计方法输出设计从以下五个方面进行用户需求的分析信息分配方式的研究信息介质化的研究信息内容的研究有一部分已在需求分析中作了大体要求。应从系统总体设计的角度再一次进行研究和整理,进一步具体化,将输出设计的结果记录到设计书中7.3输入设计输入设计对输入信息从发生、采集、介质化到投入计算机进行处理的过程进行研究寻找能够满足新系统要求的输入形式,并且在输入系统的结构上反映出来7.3.1输入设计的研究范围输入设计是指输入系统的结构设计,而不是指输入信息的物理细节的设计对输入信息的发生、采集、介质化、投入等各阶段的执行方式进行研究其中最重要的是选择合适的输入介质和输入装置7.3.2输入设计的规则数据输入界面设计的目标是尽量简化用户的工作,并尽可能地减少输入的出错率在设计时要考虑尽可能减少用户的记忆负担,使界面具有预见性和一致性,防止用户输入出错,以及尽可能地增加数据自动输入可以通过以下方法来减少用户输入的工作量对共同的输入内容设置默认值使用代码和缩写自动填入已输入过的内容或需要重复输入的内容如果输入内容是来自一个有限的备选集,可以采用列表选择或指点方式7.3.2输入设计的规则数据输入屏幕应当尽量与输入格式相匹配数据内容应当根据它们的使用频率,或它们的重要性,或它们的输入次序进行组数据输入对话应当使用户可以主动地控制交互通信的序列,而不是用一些诸如自动跳到下一个表格项,或者在用户还没有时间输入命令时就自动输入默认的应答之类的技巧来帮助用户7.3.2输入设计的规则数据输入对话设计的一般规则是明确的输入:只有当用户按下输入的确认键时,才确认输入明确的动作:使用TAB键或回车键控制在表格项间的移动明确的取消:如果用户中断了一个输入序列,已经输入的数据不要马上丢弃确认删除:为避免错误的删除动作可能造成的损失,在键入删除命令后必须进行特别的确认提供反馈:若一个屏幕上可容纳若干输入内容,可将用户先前输入的内容仍保留在屏幕上,以便用户能够随时察看,明确下一步应做的操作允许编辑:在文件输入过程中或输入完成后,允许用户对其编辑提供复原(Undo)

:允许恢复输入以前的状态自由格式:用户可以采用自由格式进行输入提示输入的范围:应当显示有效回答的集合及其范围7.3.2输入设计的规则7.3.4输入设计方法7.4用户界面设计又称人机界面,是使用者和计算机联系的中间媒介,也是应用程序中最重要、最关键的部分之一要重视研究人机工程学,注意在特定环境下影响人的各种心理因素,努力开发友好的用户界面从发展趋势来看,用户界面应包括以下机能系统管理。它包括屏幕规划和动态控制两种功能会话管理。它包括窗口管理和输入/输出管理返回和对错误信息的处理。系统运行时,应保证在任何地方都能返回,但目前由于各种原因还不能完全做到。错误识别和报告错误信息已广泛应用于各种计算机系统中操作者支持。包括帮助(Help)和训练(Training)两个方面。其中,帮助应能联机随时调用,给用户以帮助;训练的目标是动态训练,即用户能够边学边用等6.4.1用户界面开发的基本原则人机工程学不但是研究关于与机器之间如何交互的学问,也是一种设计友好用户界面的技术基于人机工程学的用户界面开发的基本原则是用户界面应具备较高的可靠性、简单性、易学习和易使用性,以及立即反馈性7.4.2出错控制与处理系统的出错处理能力常常被软件开发者忽略重视系统的健壮性区分错误的类型,区别对待7.5软件安全性设计系统安全控制的目的软件安全控制的基本方法软件的安全控制设计社会政治、经济、个人活动等对计算机的依存越来越严重,大量的相关信息存储在计算机中,给社会活动带来了方便和效益,同时也存在着许多危险机器的故障、人为的错误、软件中的隐患等都可能破坏或泄露存储的数据,给社会、个人带来损害因此,在设计计算机软件,尤其是计算机数据处理系统时,必须十分重视软件的安全控制,重视软件的可靠性设计

7.5软件安全性设计7.5.1系统安全的基本概念计算机系统安全问题是一个投资项目,而投资的目的不是为了增加效益,却是力求将系统的危险抑制到最小限度从本质上讲,在技术上不可能提供绝对安全的计算机;在计算机使用上也不可能完全保证具有各种危险的计算机系统不出现事故因此,必须充分重视有关计算机系统安全控制的有效性7.1.1系统安全控制的目的软件系统所发生事故的类型可分为数据被破坏或修改保密的数据被公开数据和系统不能为用户服务7.1.1系统安全控制的目的保证数据的正确性保证输入到机器中的数据与数据描述的客观实体是一致的防止有意和无意地破坏数据、更改数据,即防止对数据的侵害。保护数据的秘密由于偶然错误或违背各种规程所造成的泄密事故有意窃取秘密的行为所造成的泄密事故偶然错误是主要因素,采取安全控制减少偶然行为是首要问题保证系统和数据的有效应用系统的故障或数据的破坏都会导致系统的瘫痪,安全控制的目的就是确保系统正常运行和为用户服务三个目的相辅相成,又有一定的联系和约束7.1.2系统中不安全的因素系统中不安全因素包括输入错误缺少系统使用权限控制数据的使用权限控制不严对数据的访问不进行监查数据没有保护软件错误数据处理中的失误操作系统上的缺陷欺骗行为软件安全控制的基本方法数据的证实用户的同一性检查用户的使用权限检查运行日志违规行为的监察加密7.2软件安全控制的基本方法7.2.1数据的证实数据证实是指在数据处理中对数据的正确性、完整性进行检查。主要方法有检查录入数据的原始凭证录入数据时的安全控制数据的类别检查数据的合理性检查数据的界限检查合计检查平衡检查校验位检查

7.2.2用户的同一性检查用户同一性检查,是指事先检查该用户是否有数据资源的访问权(用户代码)接着检查用户的通行字是否正确设计同一性检查,必须注意设置更改用户报到表的权限,防止恶意修改用户同一性检查的技术方法可分为下述三种类型确认已知的信息确认用户的“所有物”,如用户具有的磁卡、集成电路做成的卡片、锁等确认用户的“生理的、行动的、形态的属性”,如用户的签名、指纹、声音、外形、面孔等特征7.2.3用户的使用权限检查在同一性检查之后,还必须进一步检查用户的处理要求是否合法,即是否有权访问数据规定“哪个用户”对“哪些对象和资源”有“哪些处理权限”“哪个用户”不仅指人,还包括终端和程序模块,包括数据文件、记录、数据库等数据对象命令、程序等可运行的资源终端、打印机等设备磁带、磁盘、光盘等存储媒体业务处理程序应用中的控制码等给用户设置处理权限是系统管理人员的责任。应根据系统运行的要求、组织权限、业务权限等进行设置7.2.4运行日志系统运行日志是指记录系统运行时产生的特定事件运行日志是确认、追踪与系统的数据处理及资源利用有关事件的基础。它提供发现权限检查中的问题、系统故障的回复、系统监查等信息。也为用户提供检查自己使用系统的情况从系统的安全控制和费用两方面进行考虑,要定义记录的信息类型适用的各种参数应该提供的分析应该提供的报告记录数据的保存期7.2.4运行日志记录的信息类型包括事件的特性,其中有数据的输入和输出,数据文件的更新和删除,系统的使用(报到或下机)与事件有关的信息,如事件产生的日期、时刻、成功与否、有关要素的确认状态、系统的应答、更新的项目和地址、生成/更新/删除前后的记录内容、使用的程序、参数检查的结果、是否违背处理手续等确认全部有关的要素,如使用系统的人、使用的设备、软件、数据等在设计上要有法律上的依据7.2.5违规行为的监查违规监查的目的是及时发现各种欺骗、侵犯系统资源或窃取、破坏机密数据等行为及时采取相应措施防止或减少系统损失7.2.6加密加密是将数据按某种算法变换成一种难以识别的形态,其目的是在网络通讯过程中数据有可能被窃取或存储数据媒体有可能丢失的情况下,对数据进行保护、防止泄露数据加密最重要的应用是在通讯网络中传输高度机密数据在设计加密保护中,应该考虑到对数据加密必然导致硬件费用的提高和处理效率的降低等问题,还应该建立保证保密数据所必要的控制组织、计划和各种管理手段7.3软件的安全控制设计软件安全控制设计应该贯穿于软件生存周期的各个阶段软件设计的初级阶段容易忽视安全控制方面的分析软件开发阶段应在系统功能设计的同时进行安全设计软件运行阶段,要结合运行过程中出现的各种问题,不断地改善和充实安全控制功能,保证软件系统安全、可靠地运行7.4初级阶段的安全控制计划软件开发的初级阶段,要制定一个可行的安全控制计划改进现行系统的工程和新建系统的工程,其安全控制计划是不同的在现行系统工程中,设计者首先要考虑安全控制的程度及可行性。在提出改进目标之前,要对现行系统进行认真调查和分析,找出需要解决的不安全问题,并讨论实现控制的可行性,然后提出改进项目、经费及实施计划在设计新系统工程中,在提出明确的系统目标、特点、功能的同时,还应该提出合适的安全控制目标和计划。没有安全控制的软件开发计划是不完备的7.4.1分析软件安全运行的可能性如果对下述问题不能给出满

温馨提示

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

评论

0/150

提交评论