




已阅读5页,还剩97页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电子商务系统分析与设计 方世强fangshiqiang 1 复习 系统设计的任务是什么系统设计的基本原理耦合和聚合总体设计说明书和评审系统设计的方法 2 要求1 掌握详细设计工具 包括图形工具 程序流程图 N S图和PAD图 表格工具 判定表和判定树 语言工具 PDL语言 2 结构化程序设计方法 3 环形复杂度的度量方法 4 人 机界面设计的要求与设计 5 代码的设计6 详细设计文档 3 7 1详细设计概述1 详细设计目的详细设计也可以叫做过程设计 详细设计的目的是为系统结构图中的每一个模块确定采用的算法和块内数据流图 用某种选定的表达工具给出清晰的描述 使程序员可以将这种描述直接翻译为某种语言程序 2 详细设计的原则为了能够使模块的逻辑描述清晰准确 在详细设计阶段应遵循下列原则 1 将保证程序的清晰度放在首位 2 设计过程中应采用逐步细化的实现方法 3 选择适当的表达工具 4 3 详细设计的过程详细设计的过程主要包括以下步骤 1 为每个模块确定采用的算法 并用适当的工具表达算法的过程 给出详细的描述 2 确定每一模块使用的数据结构和模块接口的细节 包括内部接口 外部接口 模块的输入 输出及局部数据等 3 为每个模块设计一组测试用例 以便在编码阶段对模块代码进行预定的测试 4 编写详细设计说明书 提交复审 5 4 详细设计说明书 通常 详细设计说明书中应主要包括以下几方面的内容 1 引言 用于说明编写本说明书的目的 背景 定义所用到的术语和缩略语 以及列出文档中所引用的参考资料等 2 总体设计 用于给出软件系统的体系结构图 3 模块描述 依次对各个模块进行详细的描述 主要包括模块的功能和性能 实现模块功能的算法 模块的输入及输出 模块接口的详细信息等 6 7 2详细设计的工具描述程序处理过程的工具称为过程设计工具 它们可以分为图形 表格和语言三类 1 图形工具 包括程序流程图 N S图和PAD图 2 表格工具 包括判定表和判定树 3 语言工具 包括PDL语言 7 1 程序流程图程序流程图也称为程序框图 它是历史最悠久 使用最广泛的一种描述程序逻辑结构的工具 1 程序流程图的符号和表示方式程序流程图常用的基本符号如图7 1所示 用程序流程图表达的三种基本控制结构如图7 2所示 8 9 2 程序流程图的实例下面以求一组数中的最大值为例说明程序流程图的画法 如果要实现找出一组数中最大值这个功能 可将这组数存于一个数组A中 如果用语言描述其计算过程如下 1 输入一个数组A 元素个数为N 2 令最大数MAX A 1 数组中的第1元素 3 从A 2 至A N 即第2个元素至最末一个元素 依次与最大数MAX进行比较 4 如新元素 MAX 则MAX 新元素 5 输出最大数MAX 10 用程序流程图来描述这一算法的过程 结果如图7 3所示 图7 3用程序流程图描述的求最大值的算法 11 3 程序流程图的优缺点 可以随心所欲地画控制流程线的流向 容易造成非结构化的程序结构 编码时势必不加限制地使用GOTO语句 导致基本控制块多入口多出口 这样会使系统质量受到影响 与系统设计的原则相违背 程序流程图本质上不支持逐步求精 它使程序员容易过早地考虑程序的具体控制流程 而忽略了程序的全局结构 程序流程图难以表示系统中的数据结构 对于大型系统而言 程序流程图描述过于琐碎 不容易阅读和修改 为了克服程序流程图的缺陷 要求程序流程图都应由三种基本控制结构顺序组合和完整嵌套而成 不能有相互交叉的情况 这样的程序流程图才是结构化的程序流程图 12 课堂练习 13 14 存钱处理流程图 yes no 15 2 盒图盒图又称为N S图 Nassi Shneiderman图 它是由Nassi和Shneiderman按照结构化的程序设计要求提出的描述一种图形算法工具 1 盒图的表示方式用盒图表达的三种基本控制结构如图7 4所示 16 2 盒图的实例以前面求一组数中最大值的算法为例 如用盒图描述 结果如图7 5所示 17 3 盒图的优缺点盒图有如下一些优点 所有的程序结构均用方框来表示 无论并列或者嵌套 程序的结构清晰可见 它的控制转移不能任意规定 必须遵守结构化程序设计的要求 很容易确定局部和全程数据的作用域 很容易表现嵌套关系 也可以表示模块的层次结构 盒图不足的是 当程序内嵌套的层数增多时 内层的方块越画越小 不仅会增加画图的困难 并将使图形的清晰性受到影响 当需要对设计进行修改时 盒图的修改工作量会很大 18 课堂练习 19 20 3 PAD图PAD是问题分析图 ProblemAnalysisDiagram 的英文缩称 PAD图的基本原理是 采用自顶向下 逐步细化和结构设计的原则 力求将模糊的问题解的概念逐步转换为确定的和详尽的过程 使之最终可采用计算机直接进行处理 1 PAD图的表示方式用PAD图表达的三种基本控制结构如图7 6所示 21 2 PAD图的实例以前面求一组数中最大值的算法为例 如用PAD图来描述 结果如图7 7所示 22 3 PAD图的优缺点PAD图的主要优点如下 支持自顶向下 逐步求精的要求 PAD图满足结构化程序设计要求 因此采用PAD图导出的程序必然是结构化的 PAD图描述的算法结构清晰 易读易懂 使用方便 图中每条竖线表示一个嵌套层次 图示随层次增加向右伸展 PAD图既可以描述控制 也可以描述数据结构 很容易将PAD图描述的算法转换为源程序代码 可自动生成程序 但是 与程序流程图和盒图相比 PAD图的使用不是很普遍 23 课堂练习 24 25 4 运用程序流程图 盒图和PAD图的一个综合实例下面分别使用程序流程图 盒图和PAD图来表达计算应发工资模块的算法过程 结果如图7 8所示 a 采用程序流程图描述计算应发工资模块 26 b 采用N S图描述计算应发工资模块 c 采用PAD图描述计算应发工资模块图7 8三种详细设计中使用的图形工具示例 27 5 判定表和判定树判定表和判定树工具在需求分析阶段已经详细地介绍过 这里就不再重复 下面举个实例再复习一下 请分别用判定表和判定树工具来描述某单位工资档案管理系统中 职务津贴计算 加工逻辑过程 假定职工的职称只分为助工 工程师和高工三种 保低津贴分别是350 400 500元 并且单位根据职工的工作年限给予津贴适当的上浮奖励 具体上浮情况如下 无论助工 工程师和高工工作年限在10年以下的无浮动 对于在单位工作超过10年但不到20年的职工 助工 工程师津贴上浮20 高工上浮30 对于在单位工作超过20年的职工 助工津贴上浮30 工程师津贴上浮35 高工上浮40 28 对应的判定表如表7 1所示 29 对应的判定树如图7 9所示 30 6 PDL语言PDL语言即过程设计语言 ProcessDesignLanguage 是一种用于描述程序算法和定义数据结构的伪码设计语言 1 PDL的构成 PDL是一种 混杂 语言 它使用一种语言 通常是某种自然语言 的词汇来表示实际操作 同时却使用另一种语言 某种结构化的程序设计语言 的语法来定义控制结构和数据结构 自然语言的采用使算法的描述灵活自由 清晰易懂 结构化程序设计语言的采用使控制结构的表达具有固定的形式且符合结构化设计的思想 PDL语言的构成与用于描述加工的结构化语言相似但又有区别 主要区别在于 由于PDL语言表达的算法是编码的直接依据 因此其语法结构更加严格并且处理过程描述更加具体详细 31 2 PDL的实例前面求一组数中最大值的过程如果用PDL语言描述 结果如下 INPUTARRAYAMAX A 1 DOFORI 2TONIFMAX A I SETMAX A I ENDIFPRINTMAX 中文也可以 32 3 PDL语言的优缺点PDL语言具有如下一些优点 PDL虽然不是程序设计语言 但是它与高级程序设计语言非常类似 只要对PDL描述稍加变换就可变成源程序代码 因此 它是详细设计阶段很受欢迎的表达工具 用PDL写出的程序 既可以很抽象 又可以很具体 因此 容易实现自顶向下逐步求精的设计原则 PDL描述同自然语言很接近 易于理解 PDL描述可以直接作为注释插在源程序中 成为程序的内部文档 这对提高程序的可读性是非常有益的 PDL的缺点是不如图形工具那样描述形象直观 对复杂条件的描述 不如判定表清晰 简单 因此常常将PDL描述与一种图形描述工具结合起来使用 33 7 3结构化程序设计方法1 结构化程序设计的概念结构化程序设计方法可以定义为 结构化程序设计是一种设计程序的技术 采用自顶向下 逐步细化的设计方法和单入口 单出口的控制技术 认为任何程序都可以通过顺序 选择 IF THEN ELSE型选择 和循环 DO WHILE型循环 三种基本控制结构的复合实现 如果只允许使用顺序 IF THEN ELSE型分支和DO WHILE型循环这三种基本控制结构 则称为经典的结构程序设计 如果除了上述三种基本控制结构之外 还允许使用DO CASE型多分支结构和DO UNTIL型循环结构 则称为扩展的结构程序设计 如果再加上允许使用LEAVE 或BREAK 结构 则称为修正的结构程序设计 34 2 结构化程序设计的原则结构化程序设计的主要原则包括 1 使用语言中的顺序 选择 重复等有限的基本控制结构表示程序逻辑 2 选用的控制结构只准许有一个入口和一个出口 3 复杂结构应该用基本控制结构进行组合嵌套来实现 4 语言中没有的控制结构 可用一段等价的程序段模拟 5 严格控制GOTO语句 仅在下列情形才可使用 1 用一个非结构化的程序设计语言来实现一个结构化的构造 2 若不使用GOTO语句就会使程序功能模糊 3 在某种可以改善的而不是损害程序可读性的情况下 35 3 使用结构化程序设计技术的优缺点使用结构化程序设计技术的好处体现在 1 自顶向下 逐步细化的方法符合人类解决复杂问题的普遍规律 可以显著提高系统开发的成功率和生产率 2 先全局后局部 先整体后细节 先抽象后具体的逐步求精过程开发出的程序有清晰的层次结构 3 使用单入口单出口的控制结构而不使用GOTO语句 使得程序的静态结构和它的动态执行情况比较一致 4 控制结构有确定的逻辑模式 编写程序代码只限于使用很少几种直截了当的方式 5 程序清晰和模块化使得在修改和重新设计一个系统时可以重用的代码量最大 6 程序的逻辑结构清晰 有利于程序正确性证明 36 结构程序设计技术的主要缺点是 结构化方法编制的源代码较长 存储容量和运行时间有所增加 估计增加10 20 有些非结构化语言不直接提供单入 单出的基本控制结构 个别情况下结构化程序的结构也十分复杂 然而随着计算机硬件技术的发展 存储容量和运行时间已经不是严重问题 如果使用非结构化语言编程 有限制地使用GOTO语句 常常可以达到既满足程序结构清晰的要求 又能够保证程序执行的效率 37 4 自顶向下 逐步细化的设计方法在详细设计以及编码阶段采用自顶向下 逐步细化的方法 可以把一个模块的功能再逐步细化为一系列具体的处理步骤或某种高级语言的语句 逐步细化的步骤可以归纳为三步 1 由粗到细地对程序进行逐步的细化 每一步可选择其中一条或数条将它们分解为更多或更详细的程序步骤 2 在细化程序过程时 对数据的描述同时进行细化 3 每步细化均使用相同的结构语言 最后一步一般直接用伪码来描述 38 下面用一个简单的例子来说明 逐步细化 的实现方法 设学生信息管理系统模块图中统计模块的功能之一是 输入一个班学生某门课的成绩 分别统计成绩在85分 100分 60分 84分和60分以下各分数段的人数 编程思路是 读入学生成绩 可利用已存在的学生成绩数据文件 成绩用score表示 对每一个成绩确定它所在的分数段 并将所在分数段人数加 为此须设三个计数变量num1 num2 num3来存放各分数段人数 39 一级算法过程为 1 将各分数段人数设置为 2 循环 循环控制变量 初值 终值 班级人数 改变量 若从数据文件读成绩 执行循环体条件应是 未到文件尾 3 读入成绩 4 确定成绩所在分数段 并将所在分数段人数加 5 输出各分数段人数 其中第 步和第 步需细化求精 二级求精过程为 1 num1 0 num2 0 num3 0 4 IFscore 85THENnum1 num1 1ELSEIFscore 60THENnum2 num2 1ELSEnum3 num3 1 40 7 5程序的复杂性度量定量度量程序复杂程度的方法很有价值 把程序的复杂程度乘以适当常数即可估算出系统中故障的数量以及系统开发需要用的工作量 定量度量的结果可以用来比较两个不同的设计或两个不同算法的优劣 程序的定量的复杂程度可以作为模块规模的精确限度 下面着重介绍使用得比较广泛的环形复杂度的度量方法和文本复杂度的度量方法 41 7 5 1环形复杂度的度量方法1 程序图使用McCabe方法首先需要画出程序图 ProgramGraph 所谓程序图可以看成是 退化了的 程序流程图 也就是把程序流程图中的每个处理符号都退化成一个点 原来连接不同处理符号的箭头变成连接不同点的有向弧 这样得到的有向图就称为程序图 几种基本结构的程序图如图7 14所示 42 例如 对如图7 15 a 所示的程序流程图进行简化 可得到如图7 15 b 所示的程序图 43 2 环形复杂度的度量方法环形复杂度等于强连通的程序图中线性无关的有向环的个数 根据图论 在一个强连通的有向图中线性无关环的个数由下面的公式给出 V G m n 1m 有向边 进口和出口默认为一条有向边 n 节点数1 44 例如对图7 15 b 所示的程序图添加虚弧后 就得到了如图7 16所示的强连通图 45 现在用来源于图论中的公式 来计算图7 16所示的强连通程序图的环形复杂度 根据公式可得 V G 13 10 1 4实质上 除了采用上面的公式 可以计算环形复杂度的值以外 还可以使用下面两个公式来计算程序图中的环形复杂度 V G 强连通的程序图在平面上围成的区域数 V G 判定结点数 1 结构化程序的程序图总是平面图 因此均可采用公式 来进行环形复杂度的计算 图7 16中 程序图围成的区域有 b c d f b c d f e c g h E g 和 S a b g E S 因此 根据公式 可得该程序图的环形复杂度为4 通过公式 可以看出 一个程序的环形复杂度取决于它的程序图中所包含的判定结点的个数 在图7 16中 判定结点分别为b c和g 每个判定结点都在程序图中产生一个环域 因此 程序中的分支或循环结构越多 嵌套层次数越多 程序的环形复杂度就越大 根据公式 可得图7 16的环形复杂度为 3 1 4 46 3 环形复杂度的用途McCabe研究大量程序后发现 程序的环形复杂度越高 程序的可理解性就越差 程序测试和维护的难度也就越大 并且 环形复杂度高的程序 往往就是最容易出问题的程序 实践证明 模块规模以V G 10为宜 即尽量将程序的环形复杂度控制在10以下 47 练习 根据下列程序段VoidSort intiRecordNum intitype intx 0 inty 0 while iRecordNum 0 If ityoe 0 X y 2 elseIf itype 1 X y 10 ElseX y 20 画出控制流图 计算环形复杂度 48 人机界面设计 人机界面 HumanComputerInterface 简称HCI 通常也称为用户界面 49 界面的设计原则 分析用户类型应用程序和界面分离一致性尽量减少用户工作提供反馈出错处理和帮助功能增加可视化图形表示 50 黄金规则 在有关界面设计的著作中 TheoMandel创造了三条黄金原则 置用户于控制之下减少用户的记忆负担保持界面一致 51 黄金规则 置用户于控制之下 Mandel定义的一组允许用户操作控制的原则 以不强迫用户进入不必要的或不希望的动作的方式来定义交互方式提供灵活的交互允许用户交互可以被中断和撤消当技能级别增加时可以使交互流水化并允许定制交互使用户隔离内部技术细节设计应允许用户和出现在屏幕上的对象直接交互 52 黄金规则 减少用户的记忆负担 Mandel定义了一组设计原则 使界面能够减少用户记忆负担 减少对短期记忆的要求建立有意义的缺省定义直觉性的捷径界面的视觉布局应该基于真实世界的隐喻以不断进展的方式揭示信息 53 54 缺省值 55 黄金规则 保持界面一致 用户应以一致的方式展示和获取信息所有可视信息的组织均按照均按照贯穿所有屏幕显示所保持的设计标准输入机制被约束到有限的集合 在整个应用中被一致地使用从任务到任务的导航机制被一致地定义和实现Mandel定义了一组帮助保持界面一致性的设计原则允许用户将当前任务放入有意义的语境在应用系列内保持一致性如过去的交互模型已建立起了用户期望 除非有迫不得已的理由 不要改变它 56 用户友好性设计 用户友好性一般属软件的性能特性 它独立于所有具体功能 却影响着所有功能的重用性 用户友好性应体现在与用户有接口的软件特性上 用户友好性的根本目的是为了软件可重用性 可维护性 57 用户友好性的标志 可操作性健壮性易学习性可扩展性 58 用户界面设计过程 用户界面设计过程包括四种不同的框架 用户 任务和环境分析及建模界面设计界面构造界面确认 59 用户分析 偶然型生疏型熟练型专家型 新手对系统有了解的中级用户对系统有了解的经常用户 用户类型 60 影响用户行为特性的因素 人 机匹配性人的固有技能人的固有弱点用户的知识经验用户对系统的期望和态度 61 用户对计算机系统的要求 让用户灵活地使用适应不同类型用户系统的行为及效果对用户透明用户对系统的期望和态度提供联机帮助功能人机交互尽可能和人际通信相似 62 用户技能方面的使用需求 应让系统去适应用户使用易于理解 掌握的准自然语言一致性的系统设计用户对系统的期望和态度能通过系统学习系统提供演示及范例 63 用户习性方面的使用需求 系统应让用户有耐心系统应很好地对付人的易犯错误系统应对不同用户提供不同交互方式 64 用户经验 知识方面的使用需求 系统应能让未经专门训练的用户使用系统能对不同经验用户做出不同反应提供同一系统的一致性 建立标准化人 机界面系统必须适应用户在应用领域的知识变化 提供动态的自适应的设计 65 用户对系统的期望方面的要求 用户界面应提供形象 生动 美观的布局显示和操作环境系统处理问题应尽可能简单 提供学习机制系统应对不同用户提供不同交互方式 66 人 机界面的交互方式 1菜单界面按显示形象分类 正文菜单图标菜单正文图标混合菜单按屏幕位置和操作风格分类 固定浮动下拉式嵌入式 67 图标式菜单 菜单条 弹出式菜单 弹出式帮助文本 68 下拉式菜单 瀑布式菜单 瀑布式菜单 69 70 71 72 界面设计开发 界面设计过程的步骤 建立任务的目标和意图为每个目标和意图制定特定的动作序列按在界面上执行的方式对动作序列进行规约指明系统状态 即执行动作时的界面表现定义控制机制 即用户可用的改变系统状态的设备和动作指明控制机制如何影响系统状态指明用户如何通过界面上的信息解释系统状态 73 定义界面对象和动作 为创建描述图符的图形设计和放置 描述性屏幕文字的定义 窗口的规约和命名 菜单项的规约的屏幕布局提供基础 响应时间 命令和动作结构 错误处理和帮助设施等设计问题应该在精化设计模型时考虑 74 导航方式 线性 层次 75 网络式 混合式 76 数据输入界面设计 数据输入的规则明确的输入明确的动作明确的取消确认删除提供反馈允许编辑提供复原 Undo 自由格式提示输入的范围 77 数据显示界面设计 数据显示的规则只显示必要的数据在一起使用的数据显示在一起显示出的数据应与用户执行的任务有关每一屏数据的数量不应超过整个屏幕面积的30 屏幕布局规则尽量少用代码和缩写多个显示画面 应建立统一格式提供明了的标题 标栏及其它提示信息遵循用户习惯采用颜色 字符大小 下划线 不同字体等方式强化重要数据 78 79 80 81 82 设计评估 初步设计 创建原型 n界面 修改设计 用户评估界面 设计者研究评估结果 创建原型 1界面 界面设计评价周期 83 HELP系统设计 HELP系统设计不属于界面设计范围 涉及系统整体结构 是结构级用户友好性设计 84 HELP系统设计 帮助方式 操作指南文档 植入系统 未植入系统 基于帮助文件的要求性帮助 命令级帮助 说明性帮助嵌入系统的要求性帮助嵌入培训功能的智能帮助系统 85 代码设计的原则 1 标准化 规范化国际 国家和行业的有关标准是代码设计的重要依据 应尽量采用已标准化的编码 此外 系统内部使用的代码也应统一 在一个代码体系中 代码结构 类型 编写格式必须统一 2 惟一性在一个编码体系中 一个对象只能赋予一个惟一的标识代码 3 简明性代码设计要尽可能简单 明了 以便降低误码率 提高工作效率 4 可扩充性必须留有一定的后备余量 以适应发展的需要 5 系统性代码可以分组 且有一组分组规划 从而在整个系统中使代码具有通用性和一贯性 6 适应性要尽可能地反映对象的特点 代码有逻辑含义 清晰直观 帮助记忆 便于填写 对于一些容易混淆的字符和数字应少用 7 合理性代码结构要与所描述对象的分类体系相匹配 86 代码设计的种类 代码 无含义码 有含义码 顺序码 无序码 系列顺序码 数值化字母顺序码 层次码 特征组合码 复合码 87 无含义码 只起代替编码对象名称的作用 并不提供有关编码对象的其他信息 有顺序码和无序码两类 顺序码 是一种最简单 最常用的代码 此种代码是将顺序的自然数字和字母赋予编码对象 如规定1为男 2为女 通常非系统化的编码对象采用此代码 无序码 是将无序的自然数或字母赋予编码对象 此种代码无任何规律 是先靠机器的随机程序编写的 88 有含义码 系列顺序码 用连续数字代表编码对象的码 通常从1开始 有序码没有逻辑含义 一般不说明信息的任何特征 块码是有序码的特例 将有序码分为各个块 每块代表一定类型的编码对象 这种编码允许扩充 数值化字母顺序码 数值化字母顺序码是按编码对象名称的字母排列顺序编写的代码 此种代码是将所有的编码对象按其名称的字母顺序排列 然后分别赋予不断增加的数字码 编码对象容易归类 便于检索 层次码 适用于线性分类体系 它是按分类对象的从属 层次关系为排列顺序的一种代码 其优点是能明确地表示分类对象的类别 有严格的隶属关系 代码结构简单 容量大 便于机器汇总 缺点是代码结构弹性较差 当层次较多时 代码位数较长 特征组合码 特征组合码常用于面分类体系 它是将分类对象按其属性或特征分成若干个面 每个面内的诸类目按其规律分别进行编码 因此 面与面之间的代码没有层次关系 也没有隶属关系 使用时 根据需要选用各面的代码 并按预先确定的面的顺序将代码组合 以表示类目 其优点是代码结构具有一定的柔性 适于机器处理 缺点是容量利用率低 不便于求和 汇总 复合码 复合码是一种应用较广的有含义代码 它是由两个或两个以上完整的 独立的代码组成 如由分类部分和标识部分组成 复合码的优点是代码结构具有很大的柔性 易于扩大代码容量和调整对象的所属类别 缺点是长度较长 89 代码校验 校验码又称编码结构中的校验位 为保证正确的输入 有意识地在编码设计结构中原代码的基础上 通过事先规定的数学方法计算出校验码 一位或两位 附加在原代码的后面 使它变成代码的一个组成部分 使用时与原代码一起输入 此时计算机会用同样的数学运算方法按输入的代码数字计算出校验位 将它与输入校验位进行比较 以检验输入是否有错 90 接口的设计 设计相关接口 包含名称 参数 返回值等 91 小结 工具结构化环行复杂度人机界面设计 92 第八章信息系统的程序编码1 编码的目的2 程序设计语言的选择和编程的风格4 程序的效率问题 3 程序设计工具 93 8 1编码的目的编码的目的是使用选定的程序设计语言 把模块的过程描述翻译为用该语言书写的源程序 1 程序设计语言要了解一种程序设计语言 首先必须了解它的基本成分 程序设计语言的基本成分包括下面四部分 1 数据部分 程序中能构造的数据类型 用以描述程序中使用的各种类型的数据 如变量 数组 指针 文件等 2 运算部分 程序中允许执行的运算 用以描述程序中所需执行的运算 3 控制部分 程序中允许使用的控制结构 用它们构造程序的控制逻辑 4 传输部分 程序中用以传输数据的方式 如输入 输出语句 94 8 2 程序设计语言的分类1 面向机器语言面向机器语言包括机器语言和汇编语言两种 2 高级语言高级语言按其应用特点的不同 可分为通用语言和专用语言两大类 1 通用语言通用语言是指可用于解决各类问题 可广泛应用于各个领域的程序设计语言 2 专用语言专用语言是为了解决某类特殊领域的问题而专门设计的具有独特语法形式的程序设计语言 目前还有一种按代 Generation 划分程序设计语言的方法 第一代语言 如机器语言 汇编语言 第二代语言 如FORTRAN COBOL 第三代语言 如Pascal C C 和第四代语言 如SQL 95 3 程序设计语言的选择在选择程序设计语言时通常要考虑以下一些因素 1 项目的应用领域 2 系统开发的方法 3 系统的运行环境 4 算法和数据结构的复杂性 5 系统开发人员的知识 6 系统用户的要求7 工程的规模8 可以得到的软件开发工具9 系统的可移植性要求 96 8 3程序的编程风格所谓编码风格就是程序员在编写程序时遵循的具体准则和习惯做法 为了写出好程序应该遵循在下述四个方面的规则 源程序文档化 数据说明 语句结构 输入 输出方法 97 8 4程序的效率问题程序效率是指程序的执行速度及程序占用的存储空间 下面给出讨论程序效率的几条准则 1 效率是一个性能要求 目标在需求分析给出 2 追求效率应建立在不损害程序可读性或可靠性基础之上 要先使程序正确 清晰 再提高程序效率 3 提高程序效率的根本途径在于选择良好的设计方法 良好的数据结构与算法 而不是靠编程时对程序语句做调整 在满足上述准则的基础上 依照下述一些方法来提高程序的效率 98 1 算法对效率的影响源程序的效率与详细设计阶段确定的算
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 济宁市2024-2025学年九年级上学期语文期中模拟试卷
- 集安市2024-2025学年七年级下学期语文期末模拟试卷
- 电脑操作系统版本与课件播放
- 电脑基础知识培训班课件
- 电脑培训知识点总结课件
- 电能表检定规程培训课件
- ps考试画图题及答案
- mysql数据库考试试题及答案
- 电缆基本知识培训内容课件
- 电磁吊安全知识培训课件
- 新版人教版八年级上册生物全册教案教学设计含教学反思
- 2025山西晋中昔阳县文化旅游发展有限责任公司社会招聘15人笔试备考题库及答案解析
- 2025-2026学年统编版(2024)初中历史八年级上册教学计划及进度表
- 成人2型糖尿病口服降糖药联合治疗专家共识解读 2
- 2025-2026学年统编版小学语文五年级上册教学计划及进度表
- 入职岗前培训之工会知识课件
- 媒介融合传播概论课件
- 2025 - 2026学年教科版科学三年级上册教学计划
- JT-T 495-2025 公路交通安全设施产品质量检验抽样方法
- 销售话术培训方案
- 23G409先张法预应力混凝土管桩
评论
0/150
提交评论