版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、大连理工大学软件学院软件工程软件工程2022-3-4大连理工大学软件学院2第第2 2章章 可行性研究可行性研究 许多问题不可能在预定的系统规模或时间期限内解决 目的:使用最小的代价,尽可能在短的时间内,确定问题是否能够解决2022-3-4大连理工大学软件学院3第第2 2章章 可行性研究可行性研究 2.1 可行性研究的任务 2.2 可行性研究过程 2.3 系统流程图 2.4 数据流图 2.5 数据字典 2.6 成本/效益分析2022-3-4大连理工大学软件学院42.1 2.1 可行性研究的任务可行性研究的任务 确定问题是否值得去解确定问题是否值得去解 分析可能的解法分析可能的解法 判定系统规模和
2、目标是否能够实现判定系统规模和目标是否能够实现 效益是否可观效益是否可观 较高层次的系统分析和设计过程较高层次的系统分析和设计过程2022-3-4大连理工大学软件学院52.1 2.1 可行性研究的任务可行性研究的任务 问题定义问题定义 是否正确是否正确 如有错误加以改正如有错误加以改正 如有约束和限制必须清楚的列出如有约束和限制必须清楚的列出 系统逻辑模型系统逻辑模型主要解法主要解法研究可行研究可行性。性。2022-3-4大连理工大学软件学院62.1 2.1 可行性研究的任务可行性研究的任务 可行性的可行性的4个方面个方面 技术可行性技术可行性 经济可行性经济可行性 操作可行性操作可行性 法律
3、可行性法律可行性 预期工程总成本的预期工程总成本的5%10%2022-3-4大连理工大学软件学院72.2 2.2 可行性研究过程可行性研究过程 1. 复查系统规模和目标复查系统规模和目标 改正含糊或不确切的叙述改正含糊或不确切的叙述 清晰地描述限制和约束清晰地描述限制和约束 解决正确的问题解决正确的问题2022-3-4大连理工大学软件学院82.2 2.2 可行性研究过程可行性研究过程 2. 研究目前正在使用的系统研究目前正在使用的系统 完成现有系统的基本功能完成现有系统的基本功能 解决现有系统的问题解决现有系统的问题 绘制高层系统流程图绘制高层系统流程图 掌握与其他系统的接口掌握与其他系统的接
4、口2022-3-4大连理工大学软件学院92.2 2.2 可行性研究过程可行性研究过程 3. 导出新系统的高层逻辑模型导出新系统的高层逻辑模型 现有物理系统现有物理系统现有系统的逻辑模型现有系统的逻辑模型目标系目标系统逻辑模型统逻辑模型新的目标系统新的目标系统 高层数据流图高层数据流图 初步的数据字典初步的数据字典2022-3-4大连理工大学软件学院102.2 2.2 可行性研究过程可行性研究过程 4. 进一步定义问题进一步定义问题 分析员和用户分析员和用户 以数据流图和数据字典为基础以数据流图和数据字典为基础 复查问题定义、工程规模和目标复查问题定义、工程规模和目标 重复重复14步,直至提出的
5、逻辑模型完全符合系步,直至提出的逻辑模型完全符合系统目标统目标2022-3-4大连理工大学软件学院112.2 2.2 可行性研究过程可行性研究过程 5. 导出和评价供选择的解法导出和评价供选择的解法 从技术角度出发,考虑解决问题的不同方案从技术角度出发,考虑解决问题的不同方案 技术可行性,排除不现实的系统技术可行性,排除不现实的系统 操作可行性,排除用户不能接受的方案操作可行性,排除用户不能接受的方案 经济可行性,排除利润低的方案经济可行性,排除利润低的方案 (成本成本/效益分析效益分析) 制定进度表制定进度表 (估算生命周期每个阶段的工作量估算生命周期每个阶段的工作量)2022-3-4大连理
6、工大学软件学院122.2 2.2 可行性研究过程可行性研究过程 6. 推荐行动方针推荐行动方针 如果值得开发,则选择最好的解法如果值得开发,则选择最好的解法 成本成本/效益分析效益分析 7. 草拟开发计划草拟开发计划 工程进度表工程进度表 各类开发人员、各种资源需求情况各类开发人员、各种资源需求情况 生命周期每个阶段的成本生命周期每个阶段的成本 下一个阶段详细进度表和成本估计下一个阶段详细进度表和成本估计2022-3-4大连理工大学软件学院132.2 2.2 可行性研究过程可行性研究过程 8. 书写文档提交审查书写文档提交审查 用户、客户组织负责人、评审组审查用户、客户组织负责人、评审组审查
7、见见可行性报告格式可行性报告格式.doc2022-3-4大连理工大学软件学院142.3 2.3 系统流程图系统流程图 系统流程图系统流程图 概括描绘物理系统的传统工具概括描绘物理系统的传统工具 用图形符号,以黑盒子形式描述组成系统的每用图形符号,以黑盒子形式描述组成系统的每个部件个部件 程序、文档、数据库、人工过程程序、文档、数据库、人工过程 数据在各部件之间的流动情况(非处理过程)数据在各部件之间的流动情况(非处理过程)2022-3-4大连理工大学软件学院152.3 2.3 系统流程图系统流程图 2.3.1 符号符号 基本符号基本符号2022-3-4大连理工大学软件学院162.3 2.3 系
8、统流程图系统流程图 系统符号(符号具体化)系统符号(符号具体化)2022-3-4大连理工大学软件学院172.3 2.3 系统流程图系统流程图 系统符号(符号具体化)系统符号(符号具体化)2022-3-4大连理工大学软件学院18系统流程图例子系统流程图例子 例子例子 每个符号用黑盒每个符号用黑盒子形式定义了组子形式定义了组成系统的一个部成系统的一个部件。件。 没有部件内部的没有部件内部的具体工作过程具体工作过程 箭头确定通过系箭头确定通过系统的逻辑路径统的逻辑路径(信息流动路径)(信息流动路径)2022-3-4大连理工大学软件学院192.3 2.3 系统流程图系统流程图 分层分层(逐层细化的思想
9、逐层细化的思想) 高层次系统流程图描绘总体概貌高层次系统流程图描绘总体概貌 分别描绘每个关键功能分别描绘每个关键功能2022-3-4大连理工大学软件学院202.4 2.4 数据流图数据流图 当数据在软件系统中移动时,它将被一系列当数据在软件系统中移动时,它将被一系列“变换变换”所修所修改。改。 数据流图数据流图(DFD)是一种图形化技术,它描绘信息流和数据是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。从输入移动到输出的过程中所经受的变换。 在数据流图中没有任何具体的物理部件,只是描绘数据在在数据流图中没有任何具体的物理部件,只是描绘数据在软件中流动和被处理的逻辑过程
10、。软件中流动和被处理的逻辑过程。2022-3-4大连理工大学软件学院212.4.1 2.4.1 符号符号 数据流图有四种基本符号:数据流图有四种基本符号: 数据流与程序流程图中用箭头表示的控制流有本质不数据流与程序流程图中用箭头表示的控制流有本质不同,千万不要混淆。同,千万不要混淆。2022-3-4大连理工大学软件学院222022-3-4大连理工大学软件学院23 假设一家工厂的采购部每天需要一张定货报表,报表按假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。零件编号排序,表中列出所有需要再次定货的零件。 对于每个需要再次定货的零件应该列出下述数据;
11、零件对于每个需要再次定货的零件应该列出下述数据;零件编号、零件名称、定货数量、目前价格、主要供应者和编号、零件名称、定货数量、目前价格、主要供应者和次要供应者。次要供应者。 零件入库或出库称为事务。零件入库或出库称为事务。 通过放在仓库中的通过放在仓库中的CRT终端把事务报告给定货系统。当终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定某种零件的库存数量少于库存量临界值时就应该再次定货。货。2.4.2 2.4.2 示例示例2022-3-4大连理工大学软件学院242.4.2 2.4.2 示例示例2022-3-4大连理工大学软件学院252.4.2 2.4.2 示例示例
12、一旦把数据流图的四种成分都分离出来以后,就可以着手画数据一旦把数据流图的四种成分都分离出来以后,就可以着手画数据流图。流图。任何系统的基本模型都由若干个数据源点任何系统的基本模型都由若干个数据源点/终点以及一个处理组成,终点以及一个处理组成,这个处理就代表了系统对数据加工变换的基本功能。这个处理就代表了系统对数据加工变换的基本功能。定货系统的基本系统模型(突出表明了数据的源点和终点)26/130结构化分析方法中的抽象与分解结构化分析方法中的抽象与分解 抽象:从作为整体的软件系统开始抽象:从作为整体的软件系统开始(第一层第一层),每一每一抽象层次上只关注于系统的输入输出抽象层次上只关注于系统的输
13、入输出 分解:将系统不断分解为子系统、模块分解:将系统不断分解为子系统、模块 随着分解层次的增加,抽象的级别越来越低,也随着分解层次的增加,抽象的级别越来越低,也越接近问题的解越接近问题的解(算法和数据结构算法和数据结构)2.42.32.22.121431.31.21.1X2022-3-42022-3-4大连理工大学软件学院27 把基本系统模型细化,描绘系统的主要功能。把基本系统模型细化,描绘系统的主要功能。 在图在图2.6中给处理和数据存储都加了编号,中给处理和数据存储都加了编号,这样做的目的是便于引用和追踪。这样做的目的是便于引用和追踪。2.4.2 2.4.2 示例示例2022-3-4大连
14、理工大学软件学院282.4.2 2.4.2 示例示例图2.6 定货系统的功能级数据流图2022-3-4大连理工大学软件学院292.4.2 2.4.2 示例示例图2.7 把处理事务的功能进一步分解后的数据流图2022-3-4大连理工大学软件学院30 注意:注意: 当进一步分解将涉及如何具体实现一个功能时,就不当进一步分解将涉及如何具体实现一个功能时,就不应该再分解了。应该再分解了。 当对数据流图分层细化时必须保持当对数据流图分层细化时必须保持信息连续性信息连续性,也就,也就是说,当把一个处理分解为一系列处理是说,当把一个处理分解为一系列处理时,分解前和时,分解前和分解后的输入分解后的输入/输出数
15、据流必须相同。输出数据流必须相同。 对处理进行编号的方法。对处理进行编号的方法。2.4.2 2.4.2 示例示例2022-3-4大连理工大学软件学院31数据流图中每个成分的命名是否恰当,直接影响数据流数据流图中每个成分的命名是否恰当,直接影响数据流图的可理解性。图的可理解性。命名时应注意的问题:命名时应注意的问题:1.为数据流为数据流(或数据存储或数据存储)命名命名名字应代表整个数据流名字应代表整个数据流(或数据存储或数据存储)的内容,而不是仅仅反映它的的内容,而不是仅仅反映它的某些成分。某些成分。不要使用空洞的、缺乏具体含义的名字不要使用空洞的、缺乏具体含义的名字(如如“数据数据”、“信息信
16、息”、“输入输入”之类之类)如果在为某个数据流如果在为某个数据流(或数据存储或数据存储)起名字时遇到了困难,则很可能起名字时遇到了困难,则很可能是因为对数据流图分解不恰当造成的,应该试试重新分解,看是是因为对数据流图分解不恰当造成的,应该试试重新分解,看是否能克服这个困难。否能克服这个困难。2.4.3 2.4.3 命名命名2022-3-4大连理工大学软件学院322.为处理命名为处理命名通常先为数据流命名,然后再为与之相关联的处理命名。这通常先为数据流命名,然后再为与之相关联的处理命名。这样命名比较容易,而且体现了人类习惯的样命名比较容易,而且体现了人类习惯的“由表及里由表及里”的思的思考过程。
17、考过程。名字应该反映整个处理的功能,而不是一部分功能。名字应该反映整个处理的功能,而不是一部分功能。名字最好由一个具体的及物动词,加上一个具体的宾语组成。名字最好由一个具体的及物动词,加上一个具体的宾语组成。应该尽量避免使用应该尽量避免使用“加工加工”、“处理处理”等空洞笼统的动词作等空洞笼统的动词作名字。名字。通常名字中仅包括一个动词,如果必须用两个动词才能描述通常名字中仅包括一个动词,如果必须用两个动词才能描述整个处理的功能,则把这个处理再分解成两个处理可能更恰整个处理的功能,则把这个处理再分解成两个处理可能更恰当些。当些。如果在为某个处理命名时遇到困难,则很可能是发现了分解如果在为某个处
18、理命名时遇到困难,则很可能是发现了分解不当的迹象,应考虑重新分解。不当的迹象,应考虑重新分解。2.4.3 2.4.3 命名命名2022-3-4大连理工大学软件学院33人事部门后勤部门出勤表业绩表水电扣款表职工银行工资条工资存款清单工资计算系统2022-3-4大连理工大学软件学院34工资计算系统第一层数据流图工资计算系统第一层数据流图人事部门后勤部门出勤表业绩表水电扣款表职工银行工资条1计算工资实发工资表3工资转存2打印工资清单工资存款清单工资清单F32022-3-4大连理工大学软件学院35工资计算系统的第二层数据流图工资计算系统的第二层数据流图(a) “计算工资计算工资”子数据流图;子数据流图
19、;(b)“工资转存工资转存”子数据流图子数据流图2022-3-4大连理工大学软件学院36人事部门1.1.2计算业绩奖出勤表业绩表请假、旷工时数出勤时数1.1.3计算出勤奖1.1.4计算缺勤扣款业绩奖奖惩条例F1缺勤扣款表1.1.5计算各项奖金之和奖金发放表1.1.1统计出勤、请假及旷工时数出勤奖1.2.1计算各项基本数据之和1.2.2计算工资奖金之和工资档案F2应发工资表奖金发放表基本工资37分层数据流图的审查分层数据流图的审查 检查图中是否存在错误或不合理检查图中是否存在错误或不合理(不理想不理想)的部分的部分 一致性:分层一致性:分层DFD中不存在矛盾和冲突中不存在矛盾和冲突 完整性:分层
20、完整性:分层DFD本身的完整性,即是否有本身的完整性,即是否有遗漏的数据流、加工等元素遗漏的数据流、加工等元素2022-3-4大连理工大学软件学院38分层数据流图的一致性分层数据流图的一致性 父图与子图平衡父图与子图平衡 任何一张任何一张DFD子图边界上的输入子图边界上的输入/输出数据流必须与输出数据流必须与其父图中对应的加工的输入其父图中对应的加工的输入/输出数据流保持一致输出数据流保持一致 数据守恒数据守恒 一个加工所有输出数据流中的数据,必须能从该加一个加工所有输出数据流中的数据,必须能从该加工的输入数据流中直接获得,或者能通过该加工的工的输入数据流中直接获得,或者能通过该加工的处理而产
21、生处理而产生 一个加工的输出数据流不能与该加工的输入数一个加工的输出数据流不能与该加工的输入数据流同名据流同名2022-3-4大连理工大学软件学院39父图与子图不平衡的实例父图与子图不平衡的实例 加工加工2的输入数据流有的输入数据流有M和和N,输出数据,输出数据流是流是T 而子图而子图(右图右图)边界上的输入数据流是边界上的输入数据流是N,输出数据流是输出数据流是S和和T123ABCMNT2.12.22.3NPSTQ2022-3-4大连理工大学软件学院40父图与子图平衡的实例父图与子图平衡的实例 注意:如果父图某加工的一个数据流,对应于子图中几注意:如果父图某加工的一个数据流,对应于子图中几个
22、数据流,而子图中组成这些数据流的数据项全体正好个数据流,而子图中组成这些数据流的数据项全体正好等于父图中的这个数据流,那么它们仍算是平衡的等于父图中的这个数据流,那么它们仍算是平衡的e2.52.42.32.22.1b2b1acdb21acde(a) 父图(b) 子图a:考生通知单;b:统计分析表;b1:分类统计表;b2:难度分析表;c:错误成绩清单;d成绩清单;e合格标准。2022-3-4大连理工大学软件学院41数据不守恒的实例数据不守恒的实例由于由于“正式成绩清单正式成绩清单”中缺少中缺少“考生通知单考生通知单”中的姓名、中的姓名、通信地址等数据,这些数据也无法由加工通信地址等数据,这些数据
23、也无法由加工2.3自己产生,因自己产生,因此,加工此,加工2.3不满足数据守恒的条件不满足数据守恒的条件考生名册2.5分析试题难度难度分析表2.4分类统计成绩分类统计表2.3制作通知单考生通知单2.2审定合格者正式成绩清单合格标准试题得分清单2.1检查成绩清单成绩清单正确成绩清单错误成绩清单由此可见:由此可见:1.1.数据流的组成对数据流的组成对DFDDFD是有影响的是有影响的2.2.构建构建DFDDFD与建立数据字典应交替与建立数据字典应交替进行,以便于对分层进行,以便于对分层DFDDFD的校验的校验42加工的输出数据流不能与该加工的输入数据流同名加工的输出数据流不能与该加工的输入数据流同名
24、 同一个加工的输出数据流和输入数据流即同一个加工的输出数据流和输入数据流即使组成成份相同,仍应对它们取不同的名使组成成份相同,仍应对它们取不同的名字,以表示它们是不同数据流字,以表示它们是不同数据流 例如,例如,“报名单报名单”和和“合格报名单合格报名单” 允许一个加工有两个相同的数据流分别流允许一个加工有两个相同的数据流分别流向两个不同的加工向两个不同的加工2022-3-4大连理工大学软件学院43分层数据流图的完整性分层数据流图的完整性 每个加工至少有一个输入数据流和一个输出数据每个加工至少有一个输入数据流和一个输出数据流流 在整套分层数据流中,每个文件应至少有一个加在整套分层数据流中,每个
25、文件应至少有一个加工读该文件,有另一个加工写该文件工读该文件,有另一个加工写该文件 分层数据流图中的每个数据流和文件都必须命名分层数据流图中的每个数据流和文件都必须命名(除了流入或流出文件的数据流除了流入或流出文件的数据流),并保持与数据字,并保持与数据字典的一致典的一致 分层分层DFD中的每个基本加工中的每个基本加工(即不再分解子图的加即不再分解子图的加工工)都应有一个加工规约都应有一个加工规约2022-3-4大连理工大学软件学院44其它需注意的问题其它需注意的问题-1-1 适当命名:每个数据流、加工、文件、源和宿都应被适应适当命名:每个数据流、加工、文件、源和宿都应被适应地命名,名字应符合
26、被命名对象的实际含义地命名,名字应符合被命名对象的实际含义 名字应反映整个对象名字应反映整个对象(如数据流、加工如数据流、加工),而不是仅反映它的某一,而不是仅反映它的某一部分部分 避免使用空洞的、含义不清的名字,如数据、信息、处理、统计避免使用空洞的、含义不清的名字,如数据、信息、处理、统计等等 如果发现某个数据流或加工难以命名时,往往是如果发现某个数据流或加工难以命名时,往往是DFD分解不当的分解不当的征兆,此时应考虑重新分解征兆,此时应考虑重新分解 画数据流而不是画控制流画数据流而不是画控制流 判断准则:这条线上是否有数据流过判断准则:这条线上是否有数据流过2022-3-4大连理工大学软
27、件学院45其它需注意的问题其它需注意的问题-2-2 避免一个加工有过多的数据流避免一个加工有过多的数据流 当一个加工存在许多数据流时往往意味着分解不合理当一个加工存在许多数据流时往往意味着分解不合理 解决办法:重新分解解决办法:重新分解 1)把需要重新分解的某张图把需要重新分解的某张图(含有该复杂加工的图含有该复杂加工的图)的所有子图的所有子图连接成一张图连接成一张图 2)把连接后的图重新划分成几个部分,使各部分之间的联系最把连接后的图重新划分成几个部分,使各部分之间的联系最小小 3)重新定义父图,即第重新定义父图,即第2)步中的每个部分作为父图中的一个加步中的每个部分作为父图中的一个加工工
28、4)重新建立各子图,即第重新建立各子图,即第2)步中的每个部分都是一张子图步中的每个部分都是一张子图 5)为所有的加工重新命名和编号为所有的加工重新命名和编号2022-3-4大连理工大学软件学院46其它需注意的问题其它需注意的问题-3-3 分解尽可能均匀分解尽可能均匀 理想目标:任何两个加工的分解层数之差不超过理想目标:任何两个加工的分解层数之差不超过1 应尽可能使分解均匀,对于分解不均匀的情况应重新分解应尽可能使分解均匀,对于分解不均匀的情况应重新分解 先考虑稳定状态,忽略琐碎的枝节先考虑稳定状态,忽略琐碎的枝节 先考虑稳定状态下的各种问题,暂时不考虑系统如何启动、如先考虑稳定状态下的各种问
29、题,暂时不考虑系统如何启动、如何结束、出错处理以及性能等问题何结束、出错处理以及性能等问题 随时准备重画随时准备重画 对于一个复杂的软件系统,往往要经过反复多次的重画和修改对于一个复杂的软件系统,往往要经过反复多次的重画和修改才能构造出完整、合理、满足用户需求的分层才能构造出完整、合理、满足用户需求的分层DFD 分析阶段遗漏下来的一个错误,到开发后期要化费几百倍代价分析阶段遗漏下来的一个错误,到开发后期要化费几百倍代价来纠正这个错误来纠正这个错误2022-3-4大连理工大学软件学院47分解的程度分解的程度 可参照以下几条与分解有关的原则:可参照以下几条与分解有关的原则: 7加减加减2 分解应自
30、然,概念上合理、清晰分解应自然,概念上合理、清晰 只要不影响只要不影响DFD的易理解性,可适当多分解几个的易理解性,可适当多分解几个加工,以减少层数加工,以减少层数 一般说来,上层分解得快些一般说来,上层分解得快些(即多分解几个加工即多分解几个加工),下层分解得慢些下层分解得慢些(即少分解几个加工即少分解几个加工) 分解要均匀分解要均匀2022-3-4大连理工大学软件学院2022-3-4大连理工大学软件学院482.4.4 2.4.4 用途用途 交流信息的工具交流信息的工具 一张数据流图处理少于一张数据流图处理少于9个个 分层分层 分析和设计的工具分析和设计的工具 在数据流图上划分自动化边界在数
31、据流图上划分自动化边界 每个边界意味着一个不同的物理系统每个边界意味着一个不同的物理系统2022-3-4大连理工大学软件学院492.4.4 2.4.4 用途用途2022-3-4大连理工大学软件学院502.4.4 2.4.4 用途用途图2.8 这种划分自动化边界的方法暗示以批量方式更新库存清单 2022-3-4大连理工大学软件学院512.4.4 2.4.4 用途用途图2.9 另一种划分自动化边界的方法建议以联机方式更新库存清单 2022-3-4大连理工大学软件学院522.4.4 2.4.4 用途用途意味着什么样的系统?2022-3-4大连理工大学软件学院532.4.4 2.4.4 用途用途联机更
32、新库存,批量处理定货2022-3-4大连理工大学软件学院542.4 2.4 数据流图数据流图:反应:反应主体框架主体框架,无细,无细节处理。节处理。 :反应:反应数据走向数据走向,仅描述数据在系统中如何流动,如何处理和存储,它不仅描述数据在系统中如何流动,如何处理和存储,它不考虑时序关系。图中的有向线段表示了考虑时序关系。图中的有向线段表示了数据流数据流。:描述程序中控制流的:描述程序中控制流的情况,即程序中处理的执行顺序和执行序列所依赖的条情况,即程序中处理的执行顺序和执行序列所依赖的条件,图中的有向线段表示的是件,图中的有向线段表示的是控制流控制流, ,从一个处理走到从一个处理走到下一个处
33、理。人们对解决问题的方法、思路或算法的一下一个处理。人们对解决问题的方法、思路或算法的一种描述。种描述。 2022-3-4大连理工大学软件学院552.4 2.4 数据流图数据流图2022-3-4大连理工大学软件学院562.4 2.4 数据流图数据流图:就是:就是用一些规定的符号及连线来表示某个具体业务处用一些规定的符号及连线来表示某个具体业务处理过程。理过程。 业务流程图的基本图形符号:业务流程图的基本图形符号: 圆圈表示业务处理单位;圆圈表示业务处理单位; 方框表示业务处理内容方框表示业务处理内容; 报表符号表示输出信息报表符号表示输出信息(报表、报告、文件、图形等报表、报告、文件、图形等)
34、; 不封口的方框表示存储文件不封口的方框表示存储文件; 卡片符号表示收集资料卡片符号表示收集资料; 矢量连线表示业务过程联系。矢量连线表示业务过程联系。2022-3-4大连理工大学软件学院572.4 2.4 数据流图数据流图 2022-3-4大连理工大学软件学院582.5 2.5 数据字典数据字典 需要有一种系统化的方式,来表示每个数据对象和控需要有一种系统化的方式,来表示每个数据对象和控制信息的特征。制信息的特征。 数据字典是为了描述在结构化分析过程中定义的对象数据字典是为了描述在结构化分析过程中定义的对象的内容,而使用的一种半形式化的工具。的内容,而使用的一种半形式化的工具。 数据字典是所
35、有与系统相关的数据元素的有组织的列数据字典是所有与系统相关的数据元素的有组织的列表,并且包含了对这些数据元素的精确、严格的定义,表,并且包含了对这些数据元素的精确、严格的定义,从而使得用户和系统分析员双方对输入、输出、存储从而使得用户和系统分析员双方对输入、输出、存储的成分甚至中间计算结果有共同的理解。的成分甚至中间计算结果有共同的理解。 简而言之,数据字典是描述数据的信息的集合,是对简而言之,数据字典是描述数据的信息的集合,是对系统中使用的所有数据元素的定义的集合。系统中使用的所有数据元素的定义的集合。2022-3-4大连理工大学软件学院592.5 2.5 数据字典数据字典 数据字典的用途是
36、供人查阅不了解的条目的解释。数据字典的用途是供人查阅不了解的条目的解释。提供分析设计过程中关于数据的描述。提供分析设计过程中关于数据的描述。 数据字典与数据字典与DFD相辅相成。相辅相成。 只有只有DFD和对应的元素的精确定义放在一起,才和对应的元素的精确定义放在一起,才能构成系统的规格说明。能构成系统的规格说明。2022-3-4大连理工大学软件学院602.5 2.5 数据字典数据字典 2.5.1 数据字典的内容数据字典的内容 数据流数据流 数据流分量(即数据元素)数据流分量(即数据元素) 数据存储数据存储 处理处理2022-3-4大连理工大学软件学院61 数据字典信息:数据字典信息: 名字名
37、字数据、控制项、数据存储或外部实体的主要名称数据、控制项、数据存储或外部实体的主要名称 别名别名第一项中对象的其他名字。第一项中对象的其他名字。 使用地点与方式使用地点与方式使用数据或控制项的处理的列表,以及使用这使用数据或控制项的处理的列表,以及使用这些对象的方式些对象的方式(例如作为处理的输入,从处理输出,作为数据存储,例如作为处理的输入,从处理输出,作为数据存储,作为外部实体作为外部实体)。 内容描述内容描述描述数据或控制项内容的符号。描述数据或控制项内容的符号。 补充信息补充信息关于数据类型、预置值、限制等的其他信息。关于数据类型、预置值、限制等的其他信息。2.5 2.5 数据字典数据
38、字典2022-3-4大连理工大学软件学院62 2.5.2 定义数据的方法定义数据的方法 对数据自上而下的分解对数据自上而下的分解 数据元素组成数据的方式数据元素组成数据的方式 顺序:分量的连接次序顺序:分量的连接次序 选择:两个或多个元素中选取选择:两个或多个元素中选取一个一个 重复:可指定重复次数重复:可指定重复次数 可选:重复可选:重复0或或1次次2.5 2.5 数据字典数据字典2022-3-4大连理工大学软件学院63 虽然可以使用自然语言描述由数据元素组成数据的关系,虽然可以使用自然语言描述由数据元素组成数据的关系,但是为了更加清晰简洁起见,建议采用下列符号:但是为了更加清晰简洁起见,建
39、议采用下列符号: 意思是等价于意思是等价于(或定义为或定义为); 意思是和意思是和(即,连接两个分量即,连接两个分量); 意思是或意思是或(即,从方括弧内列出的若干个分量中选择一个即,从方括弧内列出的若干个分量中选择一个),通常用通常用“”号分开供选择的分量;号分开供选择的分量; 意思是重复意思是重复(即,重复花括弧内的分量即,重复花括弧内的分量); ( )意思是可选)意思是可选(即,圆括弧里的分量可有可无即,圆括弧里的分量可有可无)。2.5 2.5 数据字典数据字典2022-3-4大连理工大学软件学院64 常常使用上限和下限进一步注释表示重复的花括弧。常常使用上限和下限进一步注释表示重复的花
40、括弧。 一种注释方法是在开括弧的左边用上角标和下角标分别表明重一种注释方法是在开括弧的左边用上角标和下角标分别表明重复的上限和下限;复的上限和下限; 另一种注释方法是在开括弧左侧标明重复的下限,在闭括弧的另一种注释方法是在开括弧左侧标明重复的下限,在闭括弧的右侧标明重复的上限。例如:右侧标明重复的上限。例如:A和和 1A5 含义相同。含义相同。2.5 2.5 数据字典数据字典512022-3-4大连理工大学软件学院652.5 2.5 数据字典数据字典 描述数据内容的示例:描述数据内容的示例: 定义长度不超过定义长度不超过8个字符的字符串个字符的字符串 第一个字符是字母第一个字符是字母 随后的字
41、符随后的字符 既可以是字母既可以是字母 也可以是数字也可以是数字标识符标识符=字母字符字母字符+字母数字串字母数字串字母数字串字母数字串=0 字母或数字字母或数字 7字母或数字字母或数字=字母字符字母字符|数字字符数字字符2022-3-4大连理工大学软件学院662.5 2.5 数据字典数据字典 2.5.3 数据字典的用途数据字典的用途 分析阶段的工具分析阶段的工具 避免模块间接口出现问题避免模块间接口出现问题 掌握改变一个数据能产生的影响掌握改变一个数据能产生的影响 开发数据库的第一步开发数据库的第一步2022-3-4大连理工大学软件学院672.5 2.5 数据字典数据字典 2.5.4 数据字
42、典的实现数据字典的实现 CASE工具工具 人工卡片人工卡片2022-3-4大连理工大学软件学院68思考题思考题 一个修改磁带上主文件的系统。文件管理员把修一个修改磁带上主文件的系统。文件管理员把修改信息穿孔在卡片上,系统读入穿孔卡片上的信改信息穿孔在卡片上,系统读入穿孔卡片上的信息并按照记录号把修改信息顺序排列好。然后系息并按照记录号把修改信息顺序排列好。然后系统逐个读入主文件上的记录,根据记录上的校验统逐个读入主文件上的记录,根据记录上的校验码核对每个读入的记录,丢掉出错的记录,按照码核对每个读入的记录,丢掉出错的记录,按照修改信息修改余下的记录,产生的新文件存储在修改信息修改余下的记录,产
43、生的新文件存储在磁盘上。最后,系统输出一份修改报告供文件管磁盘上。最后,系统输出一份修改报告供文件管理员参阅。理员参阅。 分层画出上述主文件修改系统的数据流图。分层画出上述主文件修改系统的数据流图。2022-3-4大连理工大学软件学院69思考题答案思考题答案 源点:文件管理员,提供修改信息源点:文件管理员,提供修改信息 终点:文件管理员,接收修改报告终点:文件管理员,接收修改报告2022-3-4大连理工大学软件学院70思考题答案思考题答案 处理:处理: 接收修改信息、读主文件、校核记录、修改接收修改信息、读主文件、校核记录、修改原始记录、产生报表原始记录、产生报表 数据流:数据流: 修改信息、主文件、正确的记录、修改后的修改信息、主文件、正确的记录、修改后的主文件、修改报告主文件、修改报告 数据存储:数据存储: 修改信息、主文件、修改后的主文件修改信息、主文件、修改后的主文件2022-3-4大连理工大学软件学院71思考题答案思考题答案2022-3-4大连理工大学软件学院72思考题思考题 北京某高校可用的电话号码有以下几类:北京某高校可用的电话号码有以下几类:校内电话号码由校内电话号码由4位数字组成,第位数字组成,第1位数字位数字不是不是0;校外电话又分为本市电话和外地电;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨话两类,拨校外电话需先
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能化生产安全培训课件
- 智能财务分析平台搭建与决策支持能力提升方案
- 电梯安全操作题库及答案
- 顶尖教案期末综合试卷及答案
- 芜湖数学真题试卷及答案
- 护理安全给药与护理课件
- 拼图的策划方案
- 人力资源专员面试技巧及案例分析
- 职教高考机电专业试卷及答案
- 关于提高物业管理服务质量的其他思考
- 新版西师版三年级上册数学全册教案教学设计含教学反思
- 友邦新人培训课件
- 特殊工序标准化作业指导书(SOS)
- 【新教材】2025-2026学年教科版(2024)三年级体育全一册教案(教学设计)含教学计划及进度表
- 翡翠培训知识课件
- 人工智能+科学技术空天地海一体化感知能力提升研究报告
- 国开电大2025秋《形势与政策》大作业参考答案
- 2025年及未来5年中国橄榄油市场运行态势及行业发展前景预测报告
- 四季皮肤的特点及保养方案
- 经皮肾动脉造影课件
- 封条安全培训课件
评论
0/150
提交评论