第七章 软件工程 实现_编码

合集下载

软件工程软件代码编程规范

软件工程软件代码编程规范

软件代码编程规范软件代码编程规范编号:发布日期:编制部门:研发部审核人:批准人:目录0.版本记录 (5)1.目的 (6)2.适用范围 (6)3.术语定义 (6)3.1 原则 (6)3.2 规则 (6)3.3 建议 (6)3.4 说明 (6)3.5 正例 (6)3.6 反例 (7)4.职责 (7)5.工作程序 (7)5.1 基本原则 (7)5.1.1 原则1-1 (7)5.1.2 原则1-2 (7)5.1.3 原则1-3 (7)5.1.4 原则1-4 (7)5.1.5 原则1-5 (7)5.1.6 原则1-6 (8)5.1.7 原则1-7 (8)5.2 布局 (8)5.2.1 基本格式 (8)5.2.2 对齐 (10)5.2.3 空行空格 (12)5.2.4 断行 (14)5.3 注释 (15)5.3.1 规则3-1 (15)5.3.3 规则3-3 (16)5.3.4 规则3-4 (16)5.3.5 规则3-5 (17)5.3.6 规则3-6 (17)5.3.7 规则3-7 (18)5.3.8 规则3-8 (18)5.3.9 规则3-9 (19)5.3.10 规则3-10 (20)5.3.11 建议3-1 (20)5.3.12 建议3-2 (20)5.4 命名规则 (20)5.4.1 规则4-1 (21)5.4.2 规则4-2 (21)5.4.3 规则4-3 (21)5.4.4 规则4-4 (23)5.4.5 规则4-5 (23)5.4.6 规则4-6 (23)5.4.7 规则4-7 (23)5.4.8 规则4-8 (23)5.4.9 规则4-9 (24)5.4.10 规则4-10 (24)5.4.11 规则4-11 (25)5.4.12 规则4-12 (25)5.4.13 规则4-13 (25)5.4.14 规则4-14 (25)5.4.15 规则4-15 (26)5.4.16 规则4-16 (26)5.4.17 规则4-17 (26)5.4.19 规则4-19 (27)5.4.20 建议4-1 (27)5.4.21 建议4-2 (27)5.5 声明 (27)5.5.1 规则5-1 (27)5.5.2 规则5-2 (27)5.5.3 建议5-1 (27)5.6 表达式与语句 (28)5.6.1 规则6-1 (28)5.6.2 规则6-2 (29)5.6.3 规则6-3 (29)5.6.4 规则6-4 (29)5.6.5 规则6-5 (30)5.6.6 规则6-6 (30)5.6.7 建议6-1 (30)5.6.8 建议6-2 (30)5.6.9 建议6-3 (31)5.6.10 建议6-4 (31)5.6.11 建议6-5 (32)5.7 类和接口 (33)5.7.1 规则7-1 (33)5.7.2 建议7-1 (34)5.7.3 建议7-2 (34)5.7.4 建议7-3 (34)5.7.5 建议7-4 (34)5.7.6 建议7-5 (35)5.7.7 建议7-6 (35)6.相关文件 (35)0.版本记录以C#代码为例,规范编码规则和注意事项,明确编程的各项要求,提高代码的可靠性、可读性、可修改性、可维护性、一致性、可再利用性等。

软件工程(pankaj jalote版)第7章编码(上)

软件工程(pankaj jalote版)第7章编码(上)

代码规模
重构技术
2
2
复杂度量
第7章 编码和单元测试
第7章 编码和单元测试 编码重点是易于阅读和理解。
维 维 护 护
易读
易读
易读
测 试
易读
易读
易读
编码
设计
第7章 编码和单元测试 为什么代码易于理解很重要?表中有答案。
排名 工作量 语句 工作 量少 语句 最少 内存 最小 1 2.5 5 4 1 2 可理解 内存 清晰度平均分 性 4 2 1 5 3 4 5 5 4 3.8 2.7 3.2 方差 2.16 1.76 2.16 标准差 1.47 1.33 1.47
不编程,你就废了
——第7章编码和单元测试
藏宝图
数据隐藏 1 编码原则
1
过程测试
2
3
实践经验
7.1
原则 指南
4 1
编码标准
7.4 第七章
单元 测试
2
测类单元
一个例子
1
计划
测试优先
7.2
增量 开发
2
结队编程
编码
单元 测试
7.5
检查 代码
代码自查
2
小组会议
3
3
版本控制
1
7.3
代码 演化
7.6
度量 代码
1
单出口单入口 的模块
含义
作用
含义
作用
含义
作用
7.1.1结构化编程(3)
单出口单入口让程序很容易读
入口
1 1 1 1 1 1 1
1
1
1
1
1
1
1
1
1
1
1

软件工程综合复习题连答案

软件工程综合复习题连答案

《软件工程》综合复习资料第一章软件工程概述一、选择题1、瀑布模型本质上是一种()。

A、线性迭代模型B、顺序迭代模型C、线性顺序模型D、及早见产品模型2、计算机辅助软件工程,简称()。

A、SAB、SDC、SCD、CASE3、以下判断正确的是()。

A、所谓软件开发就是编写程序。

B、利用软件工程的思想,已成功的解决了软件危机。

C、完成软件测试工作以后,为了缩短程序的长度应删除程序中的注释。

D、一般来说,程序中存在错误的概率与在该段程序中已发现的错误数成正比。

4、_____是以提高软件质量为目的的技术活动。

A.技术创新B.测试C.技术创造D.技术评审5、瀑布模型的存在问题是()。

A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求6、软件生命周期中所花费用最多的阶段是()。

A.详细设计B.软件编码C.软件测试D.软件维护7、计算机系统就是()A.主机,显示器,硬盘,软驱,打印机等。

B.CPU,存储器,控制器,I/O接口及设备。

C.计算机硬件系统和软件系统。

D.计算机及其应用系统。

8、产生软件危机的原因主要与两个方面的问题有关:A.软件在计算机中很难识别,存在磁盘中也看不到。

B.软件设计对人的智商要求很高,也要求很高的资金投入。

C.软件产品本身的特点与其它工业产品不一样,而且在软件的开发和维护过程中用的方法不正确。

D.软件很难理解,硬件也很复杂。

9、软件开发瀑布模型中的软件定义时期各个阶段依次是()A.可行性研究,问题定义,需求分析。

B.问题定义,可行性研究,需求分析。

C.可行性研究,需求分析,问题定义。

D.以上顺序都不对。

10、下列选项中()是软件开发中存在不正确的观念、方法。

A.重编程、轻需求B.重开发,轻维护C.重技术,轻管理D.以上三条都是二、填空题1、软件工程的三个基本要素包括()、()和()。

2、一般软件应该有三部分组成:()、()和()。

3、按软件的功能可将软件分成()、()和()等三类。

程序编码方法

程序编码方法

函数式编程
编码语言及工具
03
以机器语言和汇编语言为代表,包括x86、ARM等指令集。
低级语言
以面向过程、面向对象和脚本语言为代表,包括C/C、Java、Python、JavaScript、Ruby等。
高级语言
常用编程语言
IDE
集成开发环境,如Visual Studio、Eclipse、PyCharm等,提供代码编辑、编译、调试等功能。
编码的基本原则
编码应该具有唯一性,即每个符号、字母、数字等元素应该映射到计算机中唯一的二进制数据流。
唯一性
规范性
可扩展性
可读性
编码应该具有规范性,即各个编码符号、字母、数字等元素应该按照一定的规范进行组合和使用。
编码应该具有可扩展性,即能够适应现实世界信息不断变化和计算机技术的不断发展。
编码应该具有可读性,即编码结果应该易于阅读和理解,方便人类使用和维护。
日志记录
错误处理与异常处理
编码中的常见问题
05
VS
内存泄漏指的是在程序运行过程中,无法释放已经不再使用的内存空间。这通常是由于程序员的错误,如未正确初始化变量、未释放对象等。
内存泄漏可能会导致程序运行缓慢、崩溃或出现其他异常行为,对程序的稳定性和可靠性产生严重影响。
内存泄漏
性能问题通常包括程序响应慢、运行卡顿、CPU和内存使用率高等。
添加必要的注释
对于复杂的代码逻辑或算法,应该添加注释以解释其功能和实现方法。
代码复用与模块化
对于可能出现的错误,应该在程序中进行相应的错误处理。
错误处理
对于程序中可能出现的异常情况,应该考虑使用异常处理机制来处理异常情况,以确保程序的稳定性和可靠性。
异常处理

软件工程编码和语言PPT学习教案

软件工程编码和语言PPT学习教案

01
02
03
04
பைடு நூலகம்
总结词:性能优化是提高软件运行效率的重要手段,通过优化算法和数据结构,可以显著提升软件的性能。
总结词:安全编码是防止软件被攻击的重要手段,通过遵循安全编码规范和实践,可以降低软件被攻击的风险。
感谢您的观看
THANKS
软件工程编码最佳实践
设计模式
单例模式
工厂模式
观察者模式
设计模式是解决常见问题的最佳实践方案,可以提高代码的可重用性和可维护性。
确保一个类只有一个实例,并提供一个全局访问点。
提供了一种创建对象的最佳方式,通过抽象创建对象的过程,降低代码之间的耦合度。
实现了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,以便在主题对象状态发生变化时,所有依赖它的对象都能得到通知并自动更新。
A
B
C
D
面向对象
Java是一种面向对象的语言,支持类和对象的概念,有助于理解复杂系统。
企业级应用广泛
Java在企业级应用开发中广泛应用,如Web开发、大数据处理等。
复杂度较高
Java的语法相对复杂,学习曲线较陡峭,需要投入更多时间和精力。
跨平台
Java的“一次编写,到处运行”的特点,使得Java程序可以在任何安装了Java虚拟机(JVM)的设备上运行。
详细描述
在编写代码时,应遵循简单直接的逻辑,避免使用过于复杂的语句或算法。同时,应注重代码的可读性,使用有意义的变量名和注释,以便于他人理解和维护。
总结词
代码重构是一种有效的降低代码复杂度的方法,通过将复杂的代码分解为更小、更易于理解的部分,可以提高代码的可维护性和可读性。
详细描述
在代码重构过程中,应将大函数或大块代码拆分成更小、更具体的函数或方法,每个函数或方法都应有明确的职责和名称。此外,应删除不必要的代码和冗余注释,使代码更加简洁明了。

计算机科学与技术专业课课件_软件工程SE_Chapter7

计算机科学与技术专业课课件_软件工程SE_Chapter7

◆ 软件测试准则
● ● ● ● ● ● 所有测试都应该能追溯到用户需求。 测试开始之前就制定出测试计划。 Pareto原理:80%的错误很可能是20%的模块造成的 从“小规模”测试逐步到“大规模”测试。 穷举测试是不可能的。 为了达到最佳的测试效果,应该由独立的第三方从事测试工作。
2013-8-31
1) 2) 3) 4) 5) 6) 7) 系统用户的要求 可以使用的编译程序 可以得到的软件工具 工程规模 程序员的知识 软件可移植性要求 软件的应用领域
2013-8-31
上海大学计算机学院
3
编码风格
◆ 编码风格的作用就是使代码容易读; ◆ 风格良好的代码更容易阅读和理解,错误更少; ◆ KIS(Keep it Simple)。
集成测试
●系统测试
经过测试的子系统装配成一个完整的系统来测试 发现的往往是软件设计中的错误,也可能发现需求说明中的错误
●验收测试(确认测试)
它的目标是验证软件的有效性(如果软件的功能和性能如同用户所 合理期待的那样,软件就是有效的) 用户积极参与,可能主要使用实际数据进行测试 发现的往往是系统需求说明书中的错误
第7章 实现
◆编码 ◆软件测试基础 ◆单元测试 ◆集成测试
◆确认测试
◆白盒测试技术
◆黑盒测试技术
◆调试 ◆软件可靠性
2013-8-31 上海大学计算机学院 1
主要任务
◆编码和测试统称为实现 ◆编码
● 把软件设计结果翻译成程序。 ● 程序的质量主要取决于软件设计的质量。 ● 程序设计语言的特点及编码风格。
● 对一段程序注释,而不是每一个语句
◆ 输入输出
● 对所有输入数据都进行检验 ● 检查输入项重要组合的合法性 ● 保持输入格式一致 ● 应允许缺省值 ● 保持输入格式简单 ● 使用数据结束标记(EOF、BOF),不要指定数据的数目

软件工程导论(第7章)


测试的正确定义:“为了发现程序中的错 误而执行程序的过程。”
7.2.2 软件测试准则
1)所有测试都应该能追溯到用户需求;
2)应该远在测试前就制定出测试计划;
3)把Pareto原理应用到软件测试中;Pareto原理 说明测试发现的错误中的80%很可能是由程序 中20%的模块造成的。
4)应该从“小规模”测试开始,并逐步进行“大 规模”测试;
USER32.DLL; GDI32.DLL; KERNEL32.DLL。
Windows消息机制:
1)基于消息的事件驱动 消息可以是由硬件发来的(存于系统队列),
也可以由Windows系统和应用程序发来(存于 程序队列中);
每一个Windows程序在不停的捕捉各种消息, 并进行处理;
每个窗口都必须有一个窗口函数,来负责消息 的判断与处理。
3)重要的执行路径 由于不可能进行穷尽测试,因此选择测试
路径是非常关键的。 4)出错处理通路 5)边界条件
7.3.2 代码审查
审查小组: 1)组长; 2)程序的设计者; 3)程序的编写者; 4)程序的测试者。
7.3.3 计算机测试
由于软件模块不是一个独立的系统,不能独 立运行,要依靠其他模块调用,或需要调用其 他模块。
1.模块测试 模块测试又称单元测试,它把每个模块作为
单独的实体来测试。 2.子系统测试
子系统测试是把经过单元测试的模块放在一 起形成一个子系统来测试。
3.系统测试 系统测试是把经过测试的子系统装配成一个完
整的系统来测试。 4.验收测试
验收测试把软件系统作为单一的实体进行测试 (利用用户的实际数据测试)。 5.平行运行
如PL/1、PASCAL、C、ADA等 3)专用语言 如APL、BLISS、FORTH、LISP、PROLOG等

软件工程 编码

软件工程编码在软件工程的广阔领域中,编码无疑是最为关键和基础的环节之一。

它就像是一座大厦的基石,直接决定了软件的质量、性能和可维护性。

编码,简单来说,就是将软件设计转化为可执行的计算机程序的过程。

这可不是一件轻松的任务,它需要开发者具备扎实的编程技能、深厚的算法知识,以及对问题的清晰理解和解决能力。

首先,选择合适的编程语言是编码的第一步。

不同的编程语言有着各自的特点和适用场景。

比如,C 和 C++常用于系统编程和性能要求极高的应用;Python 则在数据科学、机器学习和快速开发方面表现出色;Java 广泛应用于企业级应用开发。

开发者需要根据项目的需求、性能要求、团队的技术栈等因素,综合考虑选择最适合的语言。

在开始编码之前,充分理解软件的需求和设计是至关重要的。

如果对需求理解有误,那么编写出的代码很可能无法满足实际的业务需求,导致大量的返工和修改。

因此,开发者需要与需求分析师、设计师等密切沟通,确保自己对软件的功能、性能、界面等方面的要求有清晰准确的认识。

良好的代码结构和规范是高质量编码的重要保障。

代码应该具有清晰的层次结构,模块划分合理,函数和变量的命名清晰易懂。

遵循一定的代码规范,比如缩进、注释的写法等,不仅能够提高代码的可读性,也便于团队成员之间的协作和代码的维护。

想象一下,一个没有规范的代码库,各种奇怪的命名、混乱的结构,对于后来的开发者来说简直就是一场噩梦。

算法的选择和优化也是编码中不能忽视的部分。

一个高效的算法可以大大提高软件的性能,而一个糟糕的算法可能会导致程序运行缓慢甚至崩溃。

比如,在处理大规模数据时,选择合适的数据结构(如数组、链表、树、图等)和算法(如排序算法、搜索算法等)就显得尤为重要。

而且,在代码实现过程中,还需要注意对算法的优化,减少不必要的计算和内存消耗。

错误处理也是编码中必须要认真对待的环节。

在程序运行过程中,可能会遇到各种各样的错误,如输入错误、网络故障、资源不足等。

软件工程编码


▪ 移行也叫做向右缩格。
▪ 对于选择语句和循环语句,把其 中的程序段语句向右做阶梯式移 行。使程序的逻辑结构更加清晰。
▪ 例如,两重选择结构嵌套,写成 下面的移行形式,层次就清楚得 多。
IF(…) THEN IF(…) THEN …… ELSE …… ENDIF ……
ELSE …… ENDIF
数据说明
▪ 有关项目包括:
➢ 程序标题;
➢ 有关本模块功能和目的的说明; ➢ 主要算法; ➢ 接口说明:包括调用形式,参数描述,
子程序清单; ➢ 有关数据描述:重要的变量及其用途,
约束或限制条件,以及其它有关信息; ➢ 模块位置:在哪一个源文件中,或隶
属于哪一个软件包; ➢ 开发简历:
功能性注释
▪ 功能性注释嵌在源程序体中, 用以描述其后的语句或程序段 是在做什么工作
100 write ( C ); goto 140;
110 wr if ( A < C ) goto 130; goto 100;
130 write ( A );
140 end
程序2
if ( A < B ) and ( A < C ) then
write ( A ) else
if
xf(o0fr0=(*aif;1=<x1=1;=0i
){ b; <= n;i++
)
{
xiiefflms{(a(ea=xbfb00s(s(=*(xx0ffx1+mmm->);x<x10f0)e)0)/p<=2s;fe|m|p;fsm)}=brfe(axkm;); x1 = xm;
}
}
f0 = f (a);f1 = f (b); //程序3

软件工程导论编码(共24张PPT)

有良好的风格。
– 源程序文档化 – 数据说明 – 语句结构 – 输入/输出方法
4
第四页,共24页。
(1)源程序文档化
– 标识符的命名 – 安排注释 – 程序的视觉组织
5
第五页,共24页。
★ 符号名的命名
• 符号名即标识符,包括模块名、变量名、常量名、标 号名、子程序名、 、数据区名以及缓冲区名等。
意追求技巧性,使程序编写得过于紧凑。
例如:A[I] = A[I]+A[T]; A[T] = A[I]-A[T]; A[I] = A[I]-A[T];
WORK = A[T]; A[T] = A[I];
A[I] = WORK;
13
第十三页,共24页。
▪ 例如:
int i,j; for ( i = 1; i <= n; i++ )
√ 写程序之前先简化算术的和逻辑的表达式; √ 仔细研究嵌套的循环,以确定是否有语句可以从内层往外移;
√ 尽量避免使用多维数组;
√ 尽量避免使用指针和复杂的表;
√ 使用执行时间短的算术运算;
√ 不要混合使用不同的数据类型;
√ 尽量使用整数运算和布尔表达式。
在效率是决定性因素的应用领域,尽量使用有良好优化特 性的编译程序,以自动生成高效目标代码。
for ( j = 1; j <= n; j++ ) V[i][j] = ( i/j ) * ( j/i )
n for ( i=1; i <= n; i++ )
for ( j=1; j <= n; j++ )
if ( i == j )
V[i][j] = 1;
else
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10
7.1.2 编码-编程标准及开发规范
文件命名约定 文件命名约定又有系统程序约定,数据文件命名约定, 文件命名约定又有系统程序约定,数据文件命名约定, 程序文件和其它文件命名约定等.如对系统程序中的安 程序文件和其它文件命名约定等.如对系统程序中的安 装程序名,启动程序名,编译后的代码文件, 装程序名,启动程序名,编译后的代码文件,设置程序 等进行规范.对数据文件中的编码文件 编码文件, 等进行规范.对数据文件中的编码文件,公用数据表文 基础数据表文件,统计汇总及输出类数据表文件 及输出类数据表文件, 件,基础数据表文件,统计汇总及输出类数据表文件, 临时数据表等进行命名规范 程序文件包括主程序 公用过程, 包括主程序, 程序文件包括主程序,公用过程,全局函数内容 其他文件有系统信息文件 帮助文件,说明文件, 有系统信息文件, 其他文件有系统信息文件,帮助文件,说明文件,辅助 文件,开发文档文件, 文件,开发文档文件,接口文件等 系统程序文件名以sys_开头, sys_开头 例:系统程序文件名以sys_开头,账务处理程序文件名 zw_开头 工资核算程序文件名以gz_ 开头, gz_开头的方式 以zw_开头,工资核算程序文件名以gz_开头的方式 数据表命名原则为: 编码类数据表用bm_开头, bm_开头 数据表命名原则为 : 编码类数据表用 bm_ 开头 , 基本数 据表用jb_开头, 系统数据表用sys_开头, jb_开头 sys_开头 据表用 jb_ 开头 , 系统数据表用 sys_ 开头 , 统计信息表 tj_开头 视图表用v_开头,存储过程采用p_开头. 开头, v_开头 p_开头 用tj_开头,视图表用v_开头,存储过程采用p_开头.
5
7.1.1 编码-选择程序设计语言
4,程序设计语言的选择 总的来说,高级语言明显由于汇编语言,因此, 总的来说,高级语言明显由于汇编语言,因此,除了在很 特殊的应用领域,或者大型系统中执行时间非常关键的( 特殊的应用领域,或者大型系统中执行时间非常关键的( 或直接依赖于硬件的)一小部分代码, 或直接依赖于硬件的)一小部分代码,需要用汇编语言书 写之外,其他程序代码应该一律用高级语言书写 一律用高级语言书写. 写之外,其他程序代码应该一律用高级语言书写. 选择时,不能仅仅使用理想标准, 选择时,不能仅仅使用理想标准,还必须同时考虑实用方 面的种种限制. 面的种种限制.主要有 语言自身的功能 软件的应用领域 算法和计算复杂性 数据结构的复杂性 软件运行环境 用户的要求 用户需求中关于性能的需求 可以使用的软件工具 软件的可移植性要求 开发软件系统的工程规模 可用的编译器和交叉编译器 程序设计人员的知识水平
11
7.1.2 编码-编程标准及开发规范
变量名约定 变量名约定可以按变量类型进行分类规范其命名规则. 变量名约定可以按变量类型进行分类规范其命名规则. 如按数据列(字段)变量,全局变量,局域变量,实例变 如按数据列(字段)变量,全局变量,局域变量, 窗口变量,临时变量,函数接口传输变量等分类. 量,窗口变量,临时变量,函数接口传输变量等分类. 对个别数量较多的变量类型还可以按变量性质进行二次 分类规范.如分时间日期,系统信息,注册用户信息, 分类规范.如分时间日期,系统信息,注册用户信息, 文件路径,数据型,字符型,日期时间型,逻辑型, 文件路径,数据型,字符型,日期时间型,逻辑型,记 数器型,中间结果型等类型. 数器型,中间结果型等类型. 函数命名约定 函数分全局公共函数,窗口函数,事件函数等, 函数分全局公共函数,窗口函数,事件函数等,在命名 时应分清类型和函数的返回值,传输值等. 时应分清类型和函数的返回值,传输值等. 全局函数采用gf_+英文名称,窗口函数采用wf_+ gf_+英文名称 wf_+英文名 全局函数采用gf_+英文名称,窗口函数采用wf_+英文名 称,自定义事件函数采用ue_+英文名称 自定义事件函数采用ue_+英文名称 ue_+
7
7.1.2 编码-编程标准及开发规范
开发规范使用是为系统管理人员, 开发规范使用是为系统管理人员, 软件开发人员 软件维护人员和用户制定的. ,软件维护人员和用户制定的.其中系统管理人员 是指在软件开发过程中负责软件管理及项目管理的 人员. 人员. 开发规范包括系统环境规范,命名规范,程序书写 开发规范包括系统环境规范,命名规范, 规范,功能键规范,输入输出界面规范, 规范,功能键规范,输入输出界面规范,数据标准 规范等内容. 规范等内容. 3,系统环境规范 包括硬件 , 系统软件 ( 操作系统 , 汉字操作系统 , 包括硬件,系统软件(操作系统,汉字操作系统, 网络操作系统,数据库等) 网络操作系统,数据库等),开发工具及有关工具 软件等内容. 软件等内容.
8
7.1.2 编码-编程标准及开发规范
硬件规范: 硬件规范: 服务器:CPU:PentiumⅡ以上 内存128 以上; 128M 显示卡8 服务器:CPU:PentiumⅡ以上;内存128M,显示卡8M,硬 盘空间:建议2 剩余空间以上. 盘空间:建议2G剩余空间以上. 客户机: CPU: PentiumⅡ以上 内存64 以上, 64M 显示卡8 客户机 : CPU : PentiumⅡ 以上 , 内存 64M , 显示卡 8M , 硬 盘空间至少200 剩余空间以上,打印机为任何PC 200M PC机兼容针 盘空间至少200M剩余空间以上,打印机为任何PC机兼容针 喷墨,激光打印机均可. 式,喷墨,激光打印机均可. 系统软件规范: 系统软件规范: 服 务 器 操 作 系 统 : MS Windows Server 4.0 或 / MS Server简体中文版 Windows 2000 Server简体中文版 数据库: 数据库:MS SQL Server 7.0 客户机操作系统: 95/98/2000简体中文版 客户机操作系统:MS Windows 95/98/2000简体中文版 系统开发软件: Builder7 系统开发软件:Sybase Power Builder7.0 数据库设计软件: 32数据库设计软件:Sybase Power Designer 6.1.2 32-bit
4
7.1.1 编码-选择程序设计语言
1,程序设计语言的分类及演变 第一代: 第一代:机器语言和汇编语言 第二代:FORTRAN,COBOL,ALGOL60,BASIC(GOTO) 第二代:FORTRAN,COBOL,ALGOL60,BASIC(GOTO) 第三代: 第三代:C,PASCAL 4GL(平台) 抽象层次更高, 4GL(平台):抽象层次更高,已不再涉及太多的算法性细节 程序设计语言的特点(理想的高级程序设计语言) 2,程序设计语言的特点(理想的高级程序设计语言) 有良好的模块化机制 可读性好的控制结构和数据结构 编译程序能够尽可能多地发现程序代码中的错误 有良好的独立编译机制 一致性,二义性,紧至性,局部性, 一致性,二义性,紧至性,局部性,线性 3, 程序设计语言的基本机制 对象说明 类型说明 程序对象的局部性 程序模块 循环控制结构:for,while_do和repeat_until 循环控制结构:for,while_do和 分支控制结构:case,IF,IF ELSE 分支控制结构:case,IF, 异常处理 独立编译
6
7.1.2 编码-编程标准及开发规范
1,编程标准 编制易于修改和维护的代码 编制易于测试的代码 必须将编程与编文档的工作统一起来 采用统一的标准和约定,降低程序复杂性 采用统一的标准和约定, 限定每一层的副作用,减少耦合度 限定每一层的副作用, 尽可能地重用 2,开发规范 系统开发规范的目的是使整个系统开发过程阶段清晰,要 系统开发规范的目的是使整个系统开发过程阶段清晰, 求明确,任务具体,使之规范化,系统化和工程化, 求明确,任务具体,使之规范化,系统化和工程化,向从 事软件开发的技术人员提供一系列行之有效的基本准则和 方法. 方法.
软件工程 第七章 实现
1
第七章 实现-编码
7.1 编码 程序设计语言 编成标准及开发规范 程序测试统称为实现. 通常把编码和测试统称为实现. 编码: 编码:把软件设计结果翻译成用某种程序设计语言书写的 程序 作为软件工程过程的一个阶段, 作为软件工程过程的一个阶段,编码是对设计的进一步具 体化,因此,程序的质量主要取决于软件设计的质量. 体化,因此,程序的质量主要取决于软件设计的质量. 但是, 但是,所选用的程序设计语言的特点及编码风格也将对程 序的可靠性,可读性, 序的可靠性,可读性,可测试性和可维护性产生深远的影 响. 正如任何产品在交付使用之前都必须经过严格的检验过程 一样,由于软件开发的复杂性和困难性, 一样,由于软件开发的复杂性和困难性,软件产品在交付 使用之前尤其应该经过严格的检验过程. 使用之前尤其应该经过严格的检验过程. 目前,软件测试仍然是保证软件质量的主要途径, 目前,软件测试仍然是保证软件质量的主要途径,它是对 软件需求规格说明,软件设计和编码的最后复审. 软件需求规格说明,软件设计和编码的最后复审.
9
7.1.2 编码-编程标准及开发规范
4,命名约定规范 命名约定包括文件命名约定,变量名约定,函数命名约定 命名约定包括文件命名约定,变量名约定, 对象命名约定等内容. ,对象命名约定等内容. 在命名上,可以使用引导字符代表某类对象,中间使用下 在命名上,可以使用引导字符代表某类对象,中间使用下 引导字符代表某类对象 分隔, 划线分隔 划线分隔,具体内容可以使用英文缩写或汉字拼音声母等 进行分段命名时,采用分隔符下划线" , ,进行分段命名时,采用分隔符下划线"_",中文拼音首 字母缩写要用大写,英文采用小写,脚本,函数,控件, 缩写要用大写 采用小写 字母缩写要用大写,英文采用小写,脚本,函数,控件, 对象的命名采用"引导符+下划线+名称" 对象的命名采用"引导符+下划线+名称".这种命名方法 简短,便于记忆和区分. 简短,便于记忆和区分.如上级模块向下级模块传递的变 量名首字符为s 作用域只有在本模块的变量名首字符为w 量名首字符为s,作用域只有在本模块的变量名首字符为w 全局变量名首字符为g , 数据窗口名首字符统一用 d , 全局变量名首字符为 g 等 .
相关文档
最新文档