论文部分内容阅读
计算机应用专业的毕业设计,是一项综合实践环节。这一环节是学生将所学知识应用到实践的创新活动。由于理论与实践的差异,学生往往存在一定的误区与迷惑。面对具体的开发项目,不知该如何下手,不知从哪些角度分析问题。其实,学生所欠缺的是一种软件开发的模式,缺乏开发活动中的思维方法。说白了,软件开发是一种思维的转换,是一种计算机应用系统模型搭建的过程。根据多年软件开发的经验和多次毕业设计的辅导,只要通过以下三次思维的转换,应用所学知识就可建立起相应的系统模型:
第一次转换:问题向功能转换,由提出来的问题分析出系统的功能结构
这次转换出现在程序设计的初期,也是设计的重要阶段,它统领着全局,是系统成败的关键。通过可行性分析、需求分析、功能分析的设计来实现,其实质就是由具体“物理模型”到计算机操作的“逻辑模型”的转换。这一阶段占整个系统开发时间的50%以上。
在这一过程中应注意以下几点:
1、充分理解所解决问题的工作流程,把握系统最终要实现的功能。作为一个系统工程,特别要注重各个流程之间的衔接,因为数据在每一个过程中流动。前后的顺序存在着确切的因果关系,这就要求设计者精确把握每一个流程间的输入与输出。
2、面对所要处理的问题,开发者应以具体操作者或客户的身份进行分析和理解。在这里要充分发挥开发者的创造力和想象力。最直接的途径有两条:其一,切身参与到实际的工作中,亲身体验解决问题的工作流程。其二,与提出问题的客户进行长期与及时的交流。在交流中理解、解决问题流程。总之,开发者必须高度理解解决问题的工作流程,为实现现实工作模型到开发模型顺利转换打下坚实的基础。
3、在具体的实现过程中,常常要以文档的形式进行记忆、分析、修改和扩展。在此时,开发者应充分应用软件工程的原理,如数据流图、数据字典等方法和工具,使用自顶向下、逐步细化的方法,实现物理模型到逻辑模型的转换,此时开发者的头脑中已有了确立开发模型。
4、在这次转换的过程中,还需开发者注意的就是软件系统的使用模式,其中有单机版、B/S模式、B/C模式,这些模式的确定是在建立了开发模型后,根据解决问题的操作方式,应用范围,功能结构等方面的特点,所选取的一种模式。如:开发一个网络考试系统,由于是一种及时性的网络系统,就有服务器和客户机的支持,因此选择B/C模式,才符合实际要求。
在第一次转换的过程中,就是要实现实际工作模型到计算机应用模式的等价过渡:包括工作思维的转变,旧过程到新过程的转变,系统硬件的需求与分析等。这一系列软硬件的转变成为解决问题的前提,成为开发是否成功的关键。
第二次转换:信息到数据库的转换
在当今计算机应用系统中,数据是整个系统的灵魂。大多数软件都是针对数据进行采集、处理及存储的。所以,数据是计算机软件应用的主要范畴。因此,如何将大量的信息转换为计算机能够识别处理的数据是程序设计尤为关键的一步。针对当前二维关系数据的广泛应用,一般在设计中要将信息转换为关系型数据库。
面对大量复杂、繁琐的信息,如何转换为关系型数据库,如何实现现实数据到计算机数据的转换,就成了系统中的第二大转换问题。
实际工作中的存在的信息,不管是在使用习惯还是处理方式上,与计算机中处理的数据都有很大的差异。这时,就需要软件设计者使用归纳、分类、抽取等方法运用数据库原理的知识进行分析、总结,一步步地转化为二维的关系表。
1、将大量的信息分成两大类
第一类为基础信息,它代表一个系统中最基本的数据,在系统实施过程中,不再有变化,从始至终固定不变。这一类信息一经建立就不再修改。第二类为可变信息,在系统的执行过程中,这一类信息不断地被插入、删除以及修改。从数据的数量上也在不断地变化。例如:通话记录的信息,一次次地在增加。学生选课信息,可以随时增加,也可以随时删除。这一类信息是动态的信息,是系统中主要操作的对象,也是程序设计的着眼点。举例子来说明:种畜档案管理中,基础信息有种畜类别信息、种畜产地(旗县)信息、种畜技术员信息;可变信息有种畜配种信息。这两类信息的区别之处在哪儿呢?其实基本信息是可变信息的组成部分。看下面的信息:
家畜号 出生日期 体重 产地 种畜类别 负责技术员
001 07-1-1 300 伊旗 绒山羊 张三
002 07-1-2 400 东胜 肉羊 李四
003 07-1-3 350 达旗 绒山羊 王五
在此信息中的后三列就属于基本信息,它们是固定的、有限的数据,一经建立就不再改动。所以,将它分类地在产地信息、种畜类别信息和技术员信息中。
产地信息 种畜类别 技术员
01东胜 01绒山羊 01 张三
02 伊旗 02肉羊 02 李四
… ……
09 鄂前旗 09 阿尔巴斯山羊 09王五
将信息分为这样两类,有这样的优点:⑴减少数据存储的冗余度,提高系统的处理速度。⑵减少数据录入人员的工作量。⑶降低了数据处理中的出错率。⑷提高了数据的扩展度。基础信息和可变信息的分类,使系统模块化更加明显。功能问题的耦合有了很大的降低,增强了软件开发的质量。
2、应用数据编码技术
数据编码技术的应用使系统设计收到事半功倍的效果。如:商场中的商品,都有自己的条形码(是识别该物品的唯一“身份证号”)。通过条码技术可以很快地识别商品的名称、价格、保质期、产地等等。这项技术便于商品管理、汇总、查询,提高了工作效率,减少了了劳动力,降低了成本。在软件系统的数据库存设计中,十分注重这项技术。信息在进行转换时,都要赋予每一种信息唯一编码,便于数据快速索引及处理。例如:学生编号7020104分为四组,07代表入学年,02代表计算机系,01代表一班,04代表在班中的学号。在这简单的几个字符中就包含了四种信息,大大地增加了信息的含量,减少了数据的冗余。在数据处理中,仅从学生编号中就可以进行各种各样的分类、汇总、查询。
在编码技术中,一个关键的问题是:如何才能造成简捷、实用、信息含量大的代码?第一,要把握该信息代表的对象具有什么样的特征。第二,要保证该编码是唯一识别一条记录的关键字。第三,根据编号所代表的实际对象,构造合理、节约的实用编号。例如:有下列编码152701X1234,代表一个人的身份证号。其中X代表性别,由于性别只有男女两类,所以只需一位字符表示——0或1。又如:07XX0101表示学生代号、其中,XX表示系别,由于学院的系总数不会超过100个,所以用两位来表示。这里用到的原则是根据实际情况确定编码上限,然后确定位数。因此,这样的编码不仅合理适用,而且尽量地降低数据的冗余度。
编码技术具有良好的适用性,在程序设计中占有独特的地位,因此在原始信息转换为数据库时加入编码就显得尤为重要,也成为第二大转换中的关键技术。
第三次转换:“角色”的转换,转换为程序能识别的数据结构
软件系统的运行就好比一项建筑工程项目,砖、土、水泥、钢材等好比基础信息,一座座各式各样的房子好比可变信息,而施工的工人、机器、管理者就好比系统中控制信息的各种角色,这些角色中系統管理员、全局变量(对象)、局部变量(对象),对数据库中数据进行控制、处理查询、输出输入都操作。程序运行中,这些成员就起到合理控制操作的功能.因此在系统的分析和开发时,需要将这些类似于实际工作中的动态“角色”转化为程序中的对象(变量)。随着“角色”担当的责任和工作范围的不同,就出现了主要对象(变量)和辅助对象(变量)、全局对象与局部对象。
这一次转换的实现,其实是决定系统的各个流程控制,决定着系统内部的结构,是一次控制层次上的确定与实现。高质量、高水平的转换直接影响系统执行的效率、健壮性及稳定性。
面对众多功能不同、主次不同的“角色”,如何进行转换呢?首先要进行分类;其次要利用数据结构的知识,建立相应的变量与对象。下面分别进行说明。
1、根据“角色”承担的功能、范围(对象的生存期)、使用的频率(对象的复用性),进行“角色”的细化与分类
例如:新闻管理系统中“系统管理员”承担着所有新闻的审核、版面样式的编辑、用户的管理。这类“角色”责任重大,是整个系统的“主角”。而“新闻发布员”只限定在自己的栏目中,增加修改新闻,权限较小,执行的操作少,对系统的影响只在一定范围内,它是“配角”。例如:某一网站的访问量这一信息,从网站建立的时候起,一直被使用着而且不断增加,只要网站服务器不停止,就一直存在。它的生存期就是服务器的生存期,这类角色就是全局的。而一个函数中的循环变量,生存期只是从其定义到函数结束,这类角色就是局部的。另一类“角色”并不明显地体现出控制的功能,而是由于其使用的频率高,为了增加对象的复用性,而将其单独进行定义与说明。在系统中,它是一种对象化了的处理操作“角色”。例如:系统中常常用到的“打印类”、“分页类”、“查询类”等等。由于它们多次被重复使用,为了增加代码的复用性而将其定义为常用对象,起到数据处理加工设备(机器)的作用。
2、利用面向过程和面向对象的数据结构的方法,将各种角色转换为程序中的变量与对象
在前面的分类过程中已不难看出,不同的类别具有不同的属性。类别的不同也就决定了这类角色操作的不同(不同的权限,必将有不同的操作),从而也就决定了这些对象的性质(转换中至关重要,它决定变量的数据类型,决定着对象的行为)。
Public a As integer 全局
Dim b As integer 局部
第三种数据加工(处理)型角色的转换较为复杂,因为这类“角色”不仅具有静态的属性,还具有动态的操作(数据处理),所以需要运用到面向对象的数据结构中类的构建方法,将其静态属性转换为类的数据成员;将其动态的操作转换为类的函数成员。例如:分页类的设计:
分页类 | {取当前页数();
数据成员 | 取总页数();
{一页的记录数; | 上一页();
当前页; | 下一页();
总页数;} | 首页();
函数成员 | 末页();}
以上三类转换,最终都是为了实现現实工作环境到虚拟(逻辑)环境的转换,也是现实模型到计算机逻辑模型的转换,是一个系统模型搭建的过程,是一个开发方法,是一种创作思维。功能的转换为系统开发确立了框架和方向,为下面两次转换奠定了基础;信息的转换实现了系统操作对象的建立,为系统设计提供了输入、处理和输出的算法思路;“角色”的转换明确了系统的控制和执行结构。它们相辅相成、互相补充,完成了系统模型的建立。
综合实践环节(毕业设计)是一种综合知识的应用过程,是计算机理论知识与实践应用的结合,是一种理论指导实践的创造性活动。有了明确的系统开发模型后,结合相关知识,就可以进行界面详细设计、代码编写、测试分析等软件开发的其他阶段。直至完成项目开发,完成毕业设计。
第一次转换:问题向功能转换,由提出来的问题分析出系统的功能结构
这次转换出现在程序设计的初期,也是设计的重要阶段,它统领着全局,是系统成败的关键。通过可行性分析、需求分析、功能分析的设计来实现,其实质就是由具体“物理模型”到计算机操作的“逻辑模型”的转换。这一阶段占整个系统开发时间的50%以上。
在这一过程中应注意以下几点:
1、充分理解所解决问题的工作流程,把握系统最终要实现的功能。作为一个系统工程,特别要注重各个流程之间的衔接,因为数据在每一个过程中流动。前后的顺序存在着确切的因果关系,这就要求设计者精确把握每一个流程间的输入与输出。
2、面对所要处理的问题,开发者应以具体操作者或客户的身份进行分析和理解。在这里要充分发挥开发者的创造力和想象力。最直接的途径有两条:其一,切身参与到实际的工作中,亲身体验解决问题的工作流程。其二,与提出问题的客户进行长期与及时的交流。在交流中理解、解决问题流程。总之,开发者必须高度理解解决问题的工作流程,为实现现实工作模型到开发模型顺利转换打下坚实的基础。
3、在具体的实现过程中,常常要以文档的形式进行记忆、分析、修改和扩展。在此时,开发者应充分应用软件工程的原理,如数据流图、数据字典等方法和工具,使用自顶向下、逐步细化的方法,实现物理模型到逻辑模型的转换,此时开发者的头脑中已有了确立开发模型。
4、在这次转换的过程中,还需开发者注意的就是软件系统的使用模式,其中有单机版、B/S模式、B/C模式,这些模式的确定是在建立了开发模型后,根据解决问题的操作方式,应用范围,功能结构等方面的特点,所选取的一种模式。如:开发一个网络考试系统,由于是一种及时性的网络系统,就有服务器和客户机的支持,因此选择B/C模式,才符合实际要求。
在第一次转换的过程中,就是要实现实际工作模型到计算机应用模式的等价过渡:包括工作思维的转变,旧过程到新过程的转变,系统硬件的需求与分析等。这一系列软硬件的转变成为解决问题的前提,成为开发是否成功的关键。
第二次转换:信息到数据库的转换
在当今计算机应用系统中,数据是整个系统的灵魂。大多数软件都是针对数据进行采集、处理及存储的。所以,数据是计算机软件应用的主要范畴。因此,如何将大量的信息转换为计算机能够识别处理的数据是程序设计尤为关键的一步。针对当前二维关系数据的广泛应用,一般在设计中要将信息转换为关系型数据库。
面对大量复杂、繁琐的信息,如何转换为关系型数据库,如何实现现实数据到计算机数据的转换,就成了系统中的第二大转换问题。
实际工作中的存在的信息,不管是在使用习惯还是处理方式上,与计算机中处理的数据都有很大的差异。这时,就需要软件设计者使用归纳、分类、抽取等方法运用数据库原理的知识进行分析、总结,一步步地转化为二维的关系表。
1、将大量的信息分成两大类
第一类为基础信息,它代表一个系统中最基本的数据,在系统实施过程中,不再有变化,从始至终固定不变。这一类信息一经建立就不再修改。第二类为可变信息,在系统的执行过程中,这一类信息不断地被插入、删除以及修改。从数据的数量上也在不断地变化。例如:通话记录的信息,一次次地在增加。学生选课信息,可以随时增加,也可以随时删除。这一类信息是动态的信息,是系统中主要操作的对象,也是程序设计的着眼点。举例子来说明:种畜档案管理中,基础信息有种畜类别信息、种畜产地(旗县)信息、种畜技术员信息;可变信息有种畜配种信息。这两类信息的区别之处在哪儿呢?其实基本信息是可变信息的组成部分。看下面的信息:
家畜号 出生日期 体重 产地 种畜类别 负责技术员
001 07-1-1 300 伊旗 绒山羊 张三
002 07-1-2 400 东胜 肉羊 李四
003 07-1-3 350 达旗 绒山羊 王五
在此信息中的后三列就属于基本信息,它们是固定的、有限的数据,一经建立就不再改动。所以,将它分类地在产地信息、种畜类别信息和技术员信息中。
产地信息 种畜类别 技术员
01东胜 01绒山羊 01 张三
02 伊旗 02肉羊 02 李四
… ……
09 鄂前旗 09 阿尔巴斯山羊 09王五
将信息分为这样两类,有这样的优点:⑴减少数据存储的冗余度,提高系统的处理速度。⑵减少数据录入人员的工作量。⑶降低了数据处理中的出错率。⑷提高了数据的扩展度。基础信息和可变信息的分类,使系统模块化更加明显。功能问题的耦合有了很大的降低,增强了软件开发的质量。
2、应用数据编码技术
数据编码技术的应用使系统设计收到事半功倍的效果。如:商场中的商品,都有自己的条形码(是识别该物品的唯一“身份证号”)。通过条码技术可以很快地识别商品的名称、价格、保质期、产地等等。这项技术便于商品管理、汇总、查询,提高了工作效率,减少了了劳动力,降低了成本。在软件系统的数据库存设计中,十分注重这项技术。信息在进行转换时,都要赋予每一种信息唯一编码,便于数据快速索引及处理。例如:学生编号7020104分为四组,07代表入学年,02代表计算机系,01代表一班,04代表在班中的学号。在这简单的几个字符中就包含了四种信息,大大地增加了信息的含量,减少了数据的冗余。在数据处理中,仅从学生编号中就可以进行各种各样的分类、汇总、查询。
在编码技术中,一个关键的问题是:如何才能造成简捷、实用、信息含量大的代码?第一,要把握该信息代表的对象具有什么样的特征。第二,要保证该编码是唯一识别一条记录的关键字。第三,根据编号所代表的实际对象,构造合理、节约的实用编号。例如:有下列编码152701X1234,代表一个人的身份证号。其中X代表性别,由于性别只有男女两类,所以只需一位字符表示——0或1。又如:07XX0101表示学生代号、其中,XX表示系别,由于学院的系总数不会超过100个,所以用两位来表示。这里用到的原则是根据实际情况确定编码上限,然后确定位数。因此,这样的编码不仅合理适用,而且尽量地降低数据的冗余度。
编码技术具有良好的适用性,在程序设计中占有独特的地位,因此在原始信息转换为数据库时加入编码就显得尤为重要,也成为第二大转换中的关键技术。
第三次转换:“角色”的转换,转换为程序能识别的数据结构
软件系统的运行就好比一项建筑工程项目,砖、土、水泥、钢材等好比基础信息,一座座各式各样的房子好比可变信息,而施工的工人、机器、管理者就好比系统中控制信息的各种角色,这些角色中系統管理员、全局变量(对象)、局部变量(对象),对数据库中数据进行控制、处理查询、输出输入都操作。程序运行中,这些成员就起到合理控制操作的功能.因此在系统的分析和开发时,需要将这些类似于实际工作中的动态“角色”转化为程序中的对象(变量)。随着“角色”担当的责任和工作范围的不同,就出现了主要对象(变量)和辅助对象(变量)、全局对象与局部对象。
这一次转换的实现,其实是决定系统的各个流程控制,决定着系统内部的结构,是一次控制层次上的确定与实现。高质量、高水平的转换直接影响系统执行的效率、健壮性及稳定性。
面对众多功能不同、主次不同的“角色”,如何进行转换呢?首先要进行分类;其次要利用数据结构的知识,建立相应的变量与对象。下面分别进行说明。
1、根据“角色”承担的功能、范围(对象的生存期)、使用的频率(对象的复用性),进行“角色”的细化与分类
例如:新闻管理系统中“系统管理员”承担着所有新闻的审核、版面样式的编辑、用户的管理。这类“角色”责任重大,是整个系统的“主角”。而“新闻发布员”只限定在自己的栏目中,增加修改新闻,权限较小,执行的操作少,对系统的影响只在一定范围内,它是“配角”。例如:某一网站的访问量这一信息,从网站建立的时候起,一直被使用着而且不断增加,只要网站服务器不停止,就一直存在。它的生存期就是服务器的生存期,这类角色就是全局的。而一个函数中的循环变量,生存期只是从其定义到函数结束,这类角色就是局部的。另一类“角色”并不明显地体现出控制的功能,而是由于其使用的频率高,为了增加对象的复用性,而将其单独进行定义与说明。在系统中,它是一种对象化了的处理操作“角色”。例如:系统中常常用到的“打印类”、“分页类”、“查询类”等等。由于它们多次被重复使用,为了增加代码的复用性而将其定义为常用对象,起到数据处理加工设备(机器)的作用。
2、利用面向过程和面向对象的数据结构的方法,将各种角色转换为程序中的变量与对象
在前面的分类过程中已不难看出,不同的类别具有不同的属性。类别的不同也就决定了这类角色操作的不同(不同的权限,必将有不同的操作),从而也就决定了这些对象的性质(转换中至关重要,它决定变量的数据类型,决定着对象的行为)。
Public a As integer 全局
Dim b As integer 局部
第三种数据加工(处理)型角色的转换较为复杂,因为这类“角色”不仅具有静态的属性,还具有动态的操作(数据处理),所以需要运用到面向对象的数据结构中类的构建方法,将其静态属性转换为类的数据成员;将其动态的操作转换为类的函数成员。例如:分页类的设计:
分页类 | {取当前页数();
数据成员 | 取总页数();
{一页的记录数; | 上一页();
当前页; | 下一页();
总页数;} | 首页();
函数成员 | 末页();}
以上三类转换,最终都是为了实现現实工作环境到虚拟(逻辑)环境的转换,也是现实模型到计算机逻辑模型的转换,是一个系统模型搭建的过程,是一个开发方法,是一种创作思维。功能的转换为系统开发确立了框架和方向,为下面两次转换奠定了基础;信息的转换实现了系统操作对象的建立,为系统设计提供了输入、处理和输出的算法思路;“角色”的转换明确了系统的控制和执行结构。它们相辅相成、互相补充,完成了系统模型的建立。
综合实践环节(毕业设计)是一种综合知识的应用过程,是计算机理论知识与实践应用的结合,是一种理论指导实践的创造性活动。有了明确的系统开发模型后,结合相关知识,就可以进行界面详细设计、代码编写、测试分析等软件开发的其他阶段。直至完成项目开发,完成毕业设计。