版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于方针的三合一管理体系文件编写模式的探讨(完整资料)(可以直接使用,可编辑优秀版资料,欢迎下载)
基于方针的三合一管理体系文件编写模式的探讨基于方针的三合一管理体系文件编写模式的探讨(完整资料)(可以直接使用,可编辑优秀版资料,欢迎下载)基于方针的三合一管理体系文件编写模式的探讨[摘要]本文通过对企业现有三合一管理体系文件常见模式分析,提出其存在的问题,并探讨基于方针的管理体系文件模式的编写方法,以解决这些问题,帮助企业有效的建立更适合其实际运作的管理体系文件。[关键词]手册、文件、三合一(ISO9001:2008、ISO14001:2004、OHSAS18001:1999)、整合、管理体系、方针、模式一、前言这几年,随着中国经济的发展和对外贸易的不断升级,为提高市场竞争力和自身管理水平,申请和通过管理体系认证的企业数量越来越多.而且,随着国际社会和我国政府及公民对环境和职业健康安全重视程度的不断提高,许多企业依据ISO9001:2008《质量管理体系要求》、ISO14001:2004《环境管理体系要求及使用指南》、OHSAS18001:1999《职业健康安全管理体系规范》建立了三合一的管理体系,并通过了三个体系的认证,取得证书.ISO9001:2008《质量管理体系要求》、ISO14001:2004《环境管理体系要求及使用指南》和OHSAS18001:1999《职业健康安全管理体系规范》三个标准虽然目的和适用范围不同,根据它们所建立的体系的侧重点也不同,但由于它们都是组织管理的一部分,是组织管理体系中的子系统,遵循着相同的管理原则,如系统的管理原则、领导作用原则、全员参与原则、统一方向原则、过程方法原则、预防为主原则和持续改进原则等,所以,在实际的质量管理、环境管理和职业健康安全管理中往往可以采用相同的管理方法,如管理的教育方法、管理的法律方法、管理的行政方法和管理的经济方法等。同时,在三个标准中存在着许多管理的共性条款,ISO9001:2008标准在编写中考虑了与ISO14001标准的相容性,ISO14001标准在2004版改版时也考虑了与ISO9001标准的兼容性,使得三个标准在共性要求方面更为趋近。以上这些均为依据三个标准建立整合型的管理体系奠定了良好的基础。二、目前的管理体系文件编写模式作为三体系的审核员,笔者审核了八十多家企业的三合一体系,在审核中,阅读和文审了它们的体系文件。这些企业的文件体系架构基本一致,大多为如下的金字塔结构,将体系文件分成三个层面:
也有些中小企业将程序文件合并到手册中,或将程序文件列为作业指导书的范畴,形成只有两个层面的文件架构,更简单实用。在上述文件体系架构基础上,不同企业的体系文件模式往往又会有所差别,总体而言,目前三合一管理体系建立的模式主要有以下几种:第一种模式:三个体系分别建立体系,或质量管理体系单独建立体系,环境管理体系和职业健康安全管理体系整合建立体系。这种文件体系编写模式多见于企业先建立并通过了ISO9001认证,而后由于市场压力或自身管理需要,再建立了环境管理体系和职业健康安全管理体系体系。该模式下的手册,其编写顺序一般是按三个标准的条款顺序进行编写。第二种模式:三个体系整合建立体系,形成统一的一本手册.该模式下的手册往往是以ISO9001标准为主线,同时将环境管理体系和职业健康安全管理体系的内容嵌入质量管理体系体系相应章节中来进行编写.手册目录举例如下:章节号标题对照ISO9001/ISO14001/OHSAS18001标准条款0.0公司概况0。1管理者代表任命书………………5.5.2/4。4.10。2手册颁布令1.0体系文件架构及手册说明………4.2。1,4。2.2/4。1,4。4.41.1体系覆盖范围及删减合理性说明………………1.2,4.2.2/4。11.2手册修改控制页2。0引用标准3.0术语和定义4.0质量/环境/职业健康安全管理体系总要求……4.14.1文件控制…………4。2.3/4.4.4,4.4。54。2记录控制…………4。2.4/4.5。4/4.5。34.3环境因素识别、评价控制………4.3.14。4危险源识别、评价控制…………4.3.14.5法律法规管理……5.1/4.3.25。0管理职责…………55.1管理承诺…………5。15.2以顾客为关注焦点………………5.25.3质量/环境/职业健康安全方针、目标…………5。3,5.4.1/4。2,4.3。35.4管理体系策划及管理方案………5。4.2/4.3。3/4。3.45。5组织结构图………5。5.1/4。4.15.6职能分配表………5.5。1/4。4.15。8沟通与协商………5.5.3/4.4.35。9管理评审…………5.6/4。66。0资源管理及提供…………………6。1,6.4/4。4.16。1人力资源管理……6。2/4。4。26。2基础设施管理……6。3/4.4.16.3工作环境…………6。47。0产品实现及环境、职业健康安全实施与运行…7/4.47。1产品实现的策划…………………7.17.2与顾客有关过程控制……………7.27.3设计控制…………7.37。4采购控制…………7.47.5生产过程的控制…………………7.5.17.7重要环境因素运行控制…………4。4.67.8不可容许风险的运行控制………4。4.67.9相关方施加影响控制……………4.4.67。10应急准备和响应控制……………4.4.77。11标识和可追溯性控制……………7.5。37.12顾客财产控制……7.5。47.13产品的防护控制…………………7。5.57。14监视和测量装置的控制…………7.6/4.5.18.0测量、分析和改进………………8/4。58。1顾客满意度测量控制……………8。2.18.2内部审核…………8。2.2/4.5。5/4.5.48。3过程的监视和测量………………8。2。38.4产品的监视和测量………………8。2。48.5环境监测控制……4。5.18。6职业健康安全监测控制…………4.5。18.7合规性评价控制…………………4。5.2/4.5.18.8不合格品控制……8。38.9事故、事件调查和处理控制……4.5.3/4.5.28。10数据分析…………8.48。11持续改进控制……8.5/4。5.3/4.5.2目前,这种模式最为常见,有些做得好的企业其体系文件整合也较为到位,如在写“设计和开发”章节时,不仅考虑质量管理的内容,同时兼顾和涉及到环境管理和职业健康安全管理的相关内容。第三种模式:以卓越绩效管理模式为蓝本,手册按《卓越绩效管理评价准则》标准的条款顺序进行编写,并将三个管理体系的相关内容体现在其相应的章节中.该模式目前较少企业使用,多见于通过或拟通过省级或国家级质量奖的企业。三、对目前编写模式的优缺点分析上述三种体系文件编写模式均有其优缺点,现分析如下:第一种模式:由于其手册直接按照管理体系标准的章节进行编写,难度小,编写效率高。但由于三个管理体系或质量管理体系与环境管理体系/职业健康安全管理体系体系的手册相对独立,手册之间重复内容多,并可能存在相互矛盾之处,整合程度低,使用起来烦琐.第二种模式:由于其手册将三个管理体系标准进行了必要的整合,避免了共性部分的重复描述,整合程度较高,但由于编写时要兼顾三个管理体系的内容,具有一定的编写难度.第三种模式:由于其手册是按《卓越绩效管理评价准则》标准的条款顺序编写,超越了三个管理体系标准的要求,所考虑和描述的内容更多,故编写难度较大,对编写人员要求较高.又由于《卓越绩效管理评价准则》标准与三个管理体系标准编制的原则不尽相同,造成质量管理、环境管理和职业健康安全管理的内容在手册中不能较为直观的得以体现,不利于使用。以上三种模式的手册均是按管理体系标准或《卓越绩效管理评价准则》标准来进行编写,对企业中不熟悉标准的大部分员工来说,阅读起来难度较大,不易被理解和掌握。所以,笔者在现场审核中经常发现,除了手册中的组织结构、职责、方针和目标外,手册的其余章节很少有员工会光顾到,一问三不知.手册成为了一种形式、一种摆设,只是为接受认证审核而存在,其余时候均被束之高阁。编写模式编写效率编写难度整合程度易理解性第一种模式高小弱一般第二种模式中中中较难第三种模式低大中难从上表可看出,目前的三种编写模式均不尽完美,如何解决这个问题呢?是否有更好的模式?四、基于方针的管理体系文件编写模式的理论基础在探讨上述问题之前,让我们来共同了解一下手册的定义和存在意义。在ISO9000:2005标准中,有如下定义:1.质量手册:规定组织质量管理体系的文件。注:为了适应组织的规模和复杂程度,质量手册在其详略程度和编排格式方面可以不同。2.管理体系:建立方针和目标并实现这些目标的体系。3.质量管理体系:在质量方面指挥和控制组织的管理体系。在ISO14001:2004标准中,有如下定义:1.环境管理体系:组织管理体系的一部分,用来制定和实施环境方针,管理环境因素。注1:管理体系是用来建立方针和目标,并进而实现这些目标的一系列相互关联的要素的集合。注2:管理体系包括组织结构、策划活动、职责、惯例、程序、过程和资源。在OHSAS18001:1999标准中,有如下定义:5.职业健康安全管理体系:总的管理体系的一个部份,便于组织对与其业务相关的职业健康安全风险的管理,它包括为制定、实施、实现、评审和保持职业健康安全方针所需的组织结构、策划活动、职责、惯例、程序、过程和资源。从上述定义可以看出,手册是规定管理体系的文件,而管理体系是企业用来建立方针和目标并实施、实现这些方针和目标的体系。根据术语的替代规则,故手册是规定企业用于建立、实施、实现、评审和改进方针和目标的体系的一种文件,其内容应包括组织结构、职责、相关活动/过程/程序、资源等,应体现对质量、环境因素和职业健康安全风险的管理内容。所以,手册的内容应紧紧围绕方针和目标而展开。另,在ISO9000:2005标准2.7.2质量管理体系中使用的文件类型中,有如下描述:在质量管理体系中使用下述几种类型的文件:a)向组织内部和外部提供关于质量管理体系的一致信息的文件,这类文件称为质量手册;···大家知道,体系文件的价值即存在的意义主要是沟通意图、统一行动(ISO9000:2005标准2。7。1条),而从上述描述中我们可看出,手册的主要目的应该是向组织内外部沟通意图、传达信息。我们从手册的定义中可推理出,手册要传达的信息主要是管理体系的相关内容,即企业如何建立、实施、实现和改进方针和目标。方针是企业最高管理者确定和发布的总的宗旨和方向,所以手册在描述和传达方针的有关信息的同时,在总方向上也起到了统一行动的作用。可以说,手册是企业管理体系中的纲领性文件,其应更接近于企业经营理念、企业文化层面,而程序文件、作业指导书更多的则是体现实施、执行层面的内容。综合上述观点,我们可认为,企业的手册并不是常规式地按相关管理标准顺序进行编写,而应该是能很好地体现方针的相关内容,包括建立、实施、实现和改进的内容,只有这样,手册才能更好地表达和传达最高管理者的思想和理念,起到传递信息,明确方向和统一行动的目的,才能更好地被员工和相关方所理解和关注。即原有的管理体系文件模式为“标准→手册→方针”(根据管理体系标准来编写手册,在写手册的过程中覆盖方针的相关内容),现改进为“方针→手册→标准"(根据方针来编写手册,在写手册的过程中覆盖管理体系标准的相关内容,同时应包括目标及相应管理方案,以体现目标的建立和实现的有关内容),这种模式,我们可称其为“基于方针的管理体系文件编写模式”。五、基于方针的管理体系文件编写模式的通用编写方法那么,如何按此模式编写体系文件,尤其是手册呢?首先,我们要先了解三个管理体系标准对方针有哪些要求。在ISO9001:2008标准中:5。3质量方针最高管理者应确保质量方针:a)与组织的宗旨相适应;b)包括对满足要求和持续改进质量管理体系有效性的承诺;···在ISO14001:2004标准中:4。2环境方针最高管理者应确定本组织的环境方针,并在界定的环境管理体系范围内,确保其a)适合于组织活动、产品和服务的性质、规模和环境影响;b)包括对持续改进和污染预防的承诺;c)包括对遵守与其环境因素有关的适用法律法规和其他要求的承诺;···在OHSAS18001:1999标准中:4.2职业健康安全方针组织应有一个经最高管理者批准的职业健康安全方针,该方针应清楚阐明职业健康安全总目标和改进职业健康安全绩效的承诺。职业健康安全方针应:a)适合组织的职业健康安全风险的性质和规模;b)包括持续改进的承诺;c)包括组织至少遵守现行职业健康安全法规和组织接受的其他要求的承诺;···从上述条款内容可看出,方针应包括“遵守法律法规及其他要求”和“持续改进"承诺的内容(环境方针中的“污染预防"承诺,其目的是为了降低有害的环境影响,提高环境绩效,实际上也是“持续改进”的承诺内容,只是其要求更具体,企业必须从源削减开始考虑改进工作),这是三体系标准的共性。所以,我们可考虑在手册中编写“遵守法律法规”篇章和“持续改进"篇章,涵盖三个管理体系标准的相应内容。同时,三个管理体系的方针内容又有其所在领域的特性,要适合企业在质量、环境、职业健康安全方面的现状及宗旨,所,方针可以是合并为一个,或各管理体系分别制定方针,故手册中还应有“质量管理”、“环境保护"和“职业健康安全"等专项篇章。另外,为实现上述这些章节的内容,企业必须配备相应的资源加以支持,故还应有“资源支持”篇章,此处的资源不仅包括ISO9001标准第6章的人力资源、基础设施和工作环境,还可包括信息、文件、记录、监测设备等资源。按新模式编写的手册目录举例如下:章节号标题对照ISO9001/ISO14001/OHSAS18001标准条款前言1手册修改控制页2手册颁布令3公司概况5体系覆盖范围及删减合理性说明……………1.2,4.2。2/4.16体系变更的策划和实施………5.4.27管理者代表任命书……………5.5。2/4.4.18引用标准9术语和定义第一篇宗旨与承诺1管理方针及内涵………………5.3/4.22方针的管理……5.3/4。23最高管理层的承诺……………5.1,5。2,5。4.24目标、指标及方案……………5.4.1/4。3。3/4.3.3,4.3.45目标、指标及方案的管理……5.5。1/4.3。3/4。3.3,4.3.4第二篇组织结构及职权2职能分配表……5.5。1/4.4。13职责与权限……5。5.1/4.4.1第三篇资源支持1资源提供………6。1/4.4.12人力资源管理…………………6.2/4.4。23基础设施管理…………………6.3/4.4。14监测设备管理…………………7。6/4.5.15影响质量的工作环境管理……6.46文件控制………4。2.3/4.4.57记录控制………4.2.4/4.5.4/4.5.38信息收集、传递及管理………5。5.3/4.4.39财务支持………6.1/4。4.1第四篇遵守法律法规1法律法规和其他要求的收集、识别…………7。2。1/4。3.23法律法规和其他要求的实施…7,8。2.4/4.3.2,4.4。6,4。4。7,4。5。14合规性评价……4.5.2/4。5.1第五篇持续改进1持续改进的策划………………8.12数据分析………8.43内部审核………8。2。2/4.5。5/4.5.44管理评审………5.6/4.65纠正和预防措施………………8。5.2,8.5。3/4.5.3/4。5。2第六篇质量管理1产品实现的策划………………7.12顾客有关过程控制……………7.23设计控制………7。34采购控制………7。45生产过程的控制………………7。5.16生产过程的能力确认…………7。5。27识和可追溯性控制…………7。5.38顾客财产控制…………………7。5.410产品的监视和测量……………8。2。411不合格品控制…………………8.312顾客满意度测量………………8.2。113过程的监视和测量……………8.2。314不符合的改进…………………8。5。2/8.5。3第七篇环境保护1环境因素识别、评价及控制…4。3。1,4.3。3,4。4。6,4.4.72重要环境因素运行控制………4。4.63相关方施加影响控制…………4.4。64应急准备和响应控制…………4.4.75对外信息交流…………………4。4.36环境监测和测量………………4.5.17不符合调查、处理及改进……4。5。3第八篇职业健康安全1危险源识别、评价及控制……4.3.1,4。3。3,4.3。4,4.4。6,4。4.72不可容许风险的运行控制……4.4.63应急准备和响应控制…………4。4。74员工代表………4.4。35协商与沟通……4.4.36职业健康安全绩效监测和测量………………4.5.17事故、事件、不符合调查、处理及改进……4.5.2附录1程序文件目录…………………4.2.2/4.4.42适用的主要法律法规一览表结合上述例子,企业在按新模式编写体系文件时应注意以下几点:1。方针内涵描述时,应引用相应篇章的名称,使方针与后续篇章能有机的联系起来.2.在实际编写工作中,各篇章的名称可结合企业方针内容重新予以命名,以使阅读者、使用者更易于理解。如方针中有“…以人为本,实现环境和谐完美,追求卓越…”,则“环境保护"篇章就可更名为“实现环境和谐完美”。3.在专项篇章中,“质量管理”篇章是以产品及顾客要求的识别、控制、监测为主干线进行描述;“环境保护"篇章是以环境因素的识别、控制、监测为主干线进行描述;“职业健康安全”篇章是以危险源的识别、控制、监测为主干线进行描述。4。由于手册是按三个管理体系标准分别编写专项篇章,使得企业的一项工作可能在多个篇章中被描述。如原材料的采购控制,在“质量管理"篇章第4节会被提到,在“环境保护"篇章第3节会被提到,还会在“职业健康安全”篇章第2节被提到,较为分散,不利于实际操作。这就要求在编写执行层面的文件(如《采购控制程序》或《采购管理办法》)时,必须将三个管理体系标准的要求即三个专项篇章中相应的内容结合起来进行编写。另外,由于上述的原因,使得用新模式编写的手册不宜包含全部的程序文件,所以若企业想建立只有两个层面的文件架构,则可考虑将程序文件列为作业指导书的范畴。5.“遵守法律法规”篇章中“法律法规和其他要求的实施"章节涉及管理体系标准条款较多,描述应全面,但原则性描述即可。6.“遵守法律法规”篇章中“法律法规和其他要求的传达”章节,可考虑引用“资源支持”篇章中第2、6、8章节.7.三个专项篇章中最后一节均有“改进”的内容,可考虑引用“持续改进”篇章中“纠正和预防措施”章节。六、基于方针的管理体系文件编写模式的优点1.由于基于方针的编写模式要求企业在编写手册时,应从方针着眼和着手,这就要求方针及其内涵的确定必须全面、准确,使得最高管理者必须认真学习和理解管理体系标准的相关要求,充分考虑企业的发展战略和发展方向后,再慎重确定出方针。这样确定的方针,其内容更能体现标准的要求和企业的实际运作情况,内涵更为充实。2.根据方针而展开编写的手册,能更充分地体现最高管理者的理念和价值观,更容易被最高管理者所接受并予以重视,从而保证了“领导作用”原则的履行,为体系的有效运行提供了强有力保障.3.基于方针的体系文件条理清晰,便于培训,利于被员工理解和掌握,从而提高了员工的质量、环保、职业健康安全意识和执行力,使方针、目标的实现更有保证,增强了体系的有效性。4.由于基于方针的手册只是将三个管理体系标准共性的部分加以整合,个性的部分则形成专项篇章加以描述,在编写难度降低,编写效率提高的同时,又保证了三个管理体系的有机整合.综上所述,笔者认为基于方针的管理体系文件编写模式在许多方面均优于目前的其他三种模式,更易于理解和实施,所以企业在建立或改进三合一管理体系文件时可考虑采用。[参考文献]1。GB/T19000-2008idtISO9000:2005《质量管理体系基础和术语》2.GB/T19001—2008idtISO9001:2008《质量管理体系要求》3。GB/T24001—2004idtISO14001:2004《环境管理体系要求及使用指南》4.GB/T28001-2001idtOHSAS18001:1999《职业健康安全管理体系规范》5。方圆标志认证集团公司《BD004整合审核协调文件》6。方圆标志认证集团公司《GB/T19001—2000、GB/T24001—2004、GB/T28001—2001管理体系整合》7.福建省南平铝业有限公司《质量、环境、职业健康安全管理手册》(第1版),2005—8—1相关信息:无相关信息《计算机网络系统实践》报告设计题目设计题目:网络文件传输学生姓名:郑波学号:2013211644专业班级:计算机科学与技术13-2班2015年12月设计要求实现单线程文件传输功能在以上的基础上,掌握多线程技术,在文件网络传输时,可选择单线程或多线程加入异常控制机制,增强程序的鲁棒性(Robust)了解如何提高套接字传输的速率,以及如何加强传输的稳定性二、开发环境与工具Windows7下MicrosoftVisualStuio三、设计原理1、网络传输协议 TCP/IP协议栈中的两个协议: ﻩ TCP(TransmissionControlProtocol):传输控制协议ﻩ ﻩUDP(UserDatagrmProtocal):用户数据报协议TCP是面向连接的通信协议,TCP提供两台计算机之间的可靠无错的数据传输。应用程序利用TCP进行通信时,源和目标之间会建立一个虚拟连接.该连接一旦建立,两台计算机之间就可以把数据当做一个双向字节流进行交换.UDP是无连接的通信协议,UDP不保证可靠数据的传输,但能够向若干个目标发送数据,接受发自若干个源的数据.就是说,如果一个主机向另外一台主机发送数据,这个数据就会立即发出,而不管另外一台主机是否已准备接收数据。如果另外一台主机接收到了数据,它不会确认收到与否。本次工程目的是传输文件,显然需要用TCP建立连接,而TCP连接需要“三次握手”。2、三次握手三次握手具体过程:1、客户端主动与服务器联系,TCP首部控制位中的SYN设置为1,发送带有SYN的TCP段,并把初始序号告诉对方2、服务端收到带有SYN的报文,记录客户端的初始序号,选择自己的初始序号,设置控制位中的SYN和ACK.因为SYN占用一个序号,所以确认序号设置为客户端的初始序号加1,对客户端的SYN进行确认3、服务端的报文到达客户端,客户端设置ACK控制位,并把确认好设为服务器的初始序号加1,以确认服务器的SYN报文段,这个报文只是确认消息,告诉服务器已经成功建立了连接四、系统功能描述及软件模块划分1、系统功能描述ﻩ 软件实现了点对点的文件传输。传输前的接收提醒以及传输过程中的控制。2、软件模块划分本程序可以划分成以上三个模块:传输控制模块,文件传输模块和服务连接模块。其中:服务连接模块用来建立客户端到服务器的连接ﻩ文件传输模块主要用两个线程:_SendThread和_ListenThread来完成,实现发送和接收文件的功能。 传输控制模块主要通过封装好的可串行化信息类CMessage互相传递两端的文件操作消息,响应“暂停传输”,“关闭连接”等功能五、设计步骤1、服务连接模块ﻩﻩ先要建立起客户端与服务器之间的连接,大致过程如下:服务器启动:if(m_nServerType==SERVER) { //创建服务器套接字 m_psockServer=newCListenSocket(this); if(!m_psockServer—>Create(m_wPort))//绑定端口ﻩﻩ{ﻩﻩ deletem_psockServer;ﻩﻩ m_psockServer=NULL; ﻩ MessageBox(GetError(GetLastError()),_T(”错误"),MB_ICONHAND);ﻩﻩﻩreturn; ﻩ}ﻩ //开启线程,监听客户端连接ﻩ if(!m_psockServer—>Listen())ﻩﻩ{ﻩﻩﻩdeletem_psockServer; ﻩm_psockServer=NULL; MessageBox(GetError(GetLastError()),_T(”错误"),MB_ICONHAND);ﻩﻩﻩreturn; } }客户端填入相应的IP地址,连接服务器ﻩ if(((CIPAddressCtrl*)GetDlgItem(IDC_IPADDRESS))—>IsBlank())ﻩﻩ{ﻩﻩ MessageBox("IP地址不能为空","错误",MB_ICONHAND); ﻩﻩreturn; ﻩ} //创建客户端套接字ﻩ m_psockClient=newCClientSocket(this);ﻩﻩif(!m_psockClient-〉Create()) ﻩ{ﻩﻩﻩdeletem_psockClient;ﻩﻩﻩm_psockClient=NULL;ﻩ MessageBox(GetError(GetLastError()),_T(”错误"),MB_ICONHAND);ﻩ ﻩreturn; }ﻩ //与服务器建立连接ﻩ CStringstrIPAddress; GetDlgItem(IDC_IPADDRESS)-〉GetWindowText(strIPAddress); if(!m_psockClient—>Connect(strIPAddress,m_wPort))//Connect连接服务器,服务器用OnAccept响应 { ﻩdeletem_psockClient; ﻩm_psockClient=NULL;ﻩﻩﻩMessageBox(GetError(GetLastError()),_T(”错误”),MB_ICONHAND);ﻩﻩﻩreturn;ﻩﻩ} //初始化客户端套接字ﻩ m_psockClient->Init();服务器响应 CClientSocket*pSocket=newCClientSocket(this);ﻩ//接收请求后获得新的套接字,交由新的套接字处理请求 if(m_psockServer—>Accept(*pSocket))//非零则接收连接请求成功 { ﻩ//初始化Accpet返回的套接字ﻩﻩpSocket—>Init();ﻩ CMessage*pMsg; //检测套接字是否为空,空则还没有连接任何客户端ﻩ if(m_psockClient==NULL) ﻩ{ﻩ pMsg=newCMessage(CONNECT_BE_ACCEPT); ﻩﻩpSocket->SendMsg(pMsg);ﻩ ﻩ//发回“这边可以连接”消息回去,客户端的Receive接收 ﻩm_psockClient=pSocket;//若为服务器,则之前未初始化,可保存这个套接字,用来跟客户端交互ﻩ ﻩGetDlgItem(IDC_SELECT_FILE)->EnableWindow(TRUE);ﻩ } ﻩelse { pMsg=newCMessage(CONNECT_BE_REFUSE); ﻩpSocket—〉SendMsg(pMsg);ﻩﻩ}ﻩ}客户端收到连接成功消息 if(pMsg->m_nType==CONNECT_BE_ACCEPT) {ﻩ GetDlgItem(IDC_SELECT_FILE)->EnableWindow(TRUE); ﻩreturn; }2、传输控制模块该工程用了两对套接字,一对用来接收传输控制消息,一对用来收发文件.我们这个模块用的是第一对在MFC中定义了一个在套接字编程中使用的CSocketFile类,可以充分发挥CSocket类的特性。CSocketFile类是CFile的派生类,主要用来在WindowsSockets编程中发送和接收序列化数据(如结构体数据)。通过把CSocketFile类对象、CArchive对象和CSocket创建的套接字对象联系起来,可以实现数据的加载(接收)和存储(发送)。ﻩ MFC集成CSocketFile、CSocket、CArchive可以简化网络传输.下图可以直观地反应这三者是如何结合来在客户端和服务器之间传输消息的先来看看服务器和客户端的套接字初始化工作:m_pFile=newCSocketFile(this);m_pArchiveIn=newCArchive(m_pFile,CArchive::load);m_pArchiveOut=newCArchive(m_pFile,CArchive::store);这样一来,当使用m_pArchiveIn对象来调用可串行化消息类CMessage的Serialize时,接收方就能响应OnReceive消息,来完成控制信息的传递.本工程在主类CsendFileDlg中定义了传输的三种状态:m_bIsWait: ﻩ已连接,正在等待传输文件 ﻩ m_bIsTransmitting:正在传输文件ﻩ ﻩﻩm_bIsStop:ﻩﻩ ﻩ传输已终止本工程定义的可串行化消息类CMessage,用来传递文件名m_strFileName、文件长度m_dwFileSize以及当前的传输状态m_nType,大致流程如下图:其中,我在建工程的时候,把客户端和服务器集成在了一个界面OnReceive就用来接收两方的消息,关键代码如下:CMessage*pMsg=newCMessage(); pSocket->ReceiveMsg(pMsg);ﻩif(pMsg->m_nType==CONNECT_BE_ACCEPT)ﻩ{ ﻩGetDlgItem(IDC_SELECT_FILE)—〉EnableWindow(TRUE);ﻩﻩreturn; }ﻩif(pMsg->m_nType==CONNECT_BE_REFUSE) { MessageBox(_T("服务器正在和另外的客户端连接,稍等"),_T("错误”),MB_ICONHAND);ﻩﻩdeletem_psockClient; m_psockClient=NULL;ﻩﻩreturn;ﻩ} if(pMsg—>m_nType==DISCONNECT)ﻩ{ﻩMessageBox(_T("对方已经关闭”),_T("警告"),MB_ICONHAND); if(m_psockClient!=NULL) { ﻩ deletem_psockClient;ﻩﻩﻩm_psockClient=NULL; ﻩ}ﻩ} //接收请求 if(pMsg—〉m_nType==REQUEST)ﻩ{ﻩﻩm_bIsWait=TRUE;//忙状态置1 ﻩm_strFileName=pMsg->m_strFileName;ﻩﻩm_dwFileSize=pMsg—>m_dwFileSize; CStringstrName,strSize;ﻩ strName.Format("文件名:%s”,m_strFileName); ﻩstrSize。Format(”文件大小:%ld字节",strSize);ﻩ //这里完成了发送文件前给对方提示的功能ﻩ if(MessageBox(strName+"\r\n”+strSize,"对方请求向你发送文件”,MB_OKCANCEL)==IDCANCEL)ﻩﻩ{ﻩﻩ CMessage*pMsg=newCMessage(REFUSE); ﻩﻩm_psockClient->SendMsg(pMsg);ﻩﻩ return;ﻩﻩ} CFileDialogdlg(FALSE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"所有文件(*.*)|*.*||”,this); ﻩdlg。m_ofn.lpstrTitle=_T("另存为”); strcpy(dlg。m_ofn.lpstrFile,m_strFileName.GetBuffer(m_strFileName。GetLength())); ﻩﻩﻩif(dlg。DoModal()==IDOK){ if(m_bIsWait==FALSE){ ﻩMessageBox(_T("对方已经取消文件发送”),_T(”警告"),MB_ICONEXCLAMATION); ﻩﻩ return; }ﻩ m_bIsClient=FALSE;ﻩﻩﻩm_strPath=dlg。GetPathName(); ﻩﻩ//启动接收文件的线程 ﻩGetDlgItem(IDC_SR)—〉SetWindowText(”已接收:”); pThreadListen=::AfxBeginThread(_ListenThread,this);//服务器接收到RUEST,开启接收文件线程 ﻩ return;ﻩﻩ}ﻩﻩif(m_bIsWait==TRUE)ﻩﻩ{ //告诉对方文件发送请求被拒绝CMessage*pMsg=newCMessage(REFUSE); ﻩﻩm_psockClient—〉SendMsg(pMsg);ﻩ } ﻩm_bIsWait=FALSE;ﻩ return; } //当对方同意,并且已经准备好接收文件的时候ﻩif(pMsg—>m_nType==ACCEPT)ﻩ{ ﻩKillTimer(1);ﻩ m_bIsWait=FALSE;//等待状态清空ﻩﻩ//启动发送文件线程ﻩﻩGetDlgItem(IDC_SR)->SetWindowText("已发送:");ﻩﻩpThreadSend=::AfxBeginThread(_SendThread,this); ﻩreturn; } //当发送文件请求被拒绝ﻩif(pMsg-〉m_nType==REFUSE){ﻩﻩm_bIsWait=FALSE; ﻩﻩMessageBox(_T("请求被拒绝”),_T("警告"),MB_ICONEXCLAMATION);ﻩﻩreturn;ﻩ}ﻩ//当对方取消文件传输时执行该if语句里面的内容if(pMsg->m_nType==CANCEL) {ﻩﻩm_bIsWait=FALSE; ﻩreturn;ﻩ}3、文件传输模块 两个线程: ﻩ_ListenThread():建立新的监听套接字,准备接收文件 ﻩ _SendThread():建立客户端套接字,连接监听套接字,发送文件 当两方建立了可靠的连接,一方选择文件后,就会使用传输控制模块给对方发送文件发送请求,对方的ProcessReceive接收到后查看当前的消息状态,(上个模块的OnReceive已经写得很清楚),同意接受后,开启文件接收线程,同时给发送方返回一个准备完成状态,于是,发送方开启文件发送线程,最后完成文件的传输工作,同时置状态m_bIsStop为TRUE,便于双方传输控制发送线程关键函数SendFilevoidCSendFileDlg::SendFile(CSocket&senSo){ m_bIsTransmitting=TRUE; CFilefile;ﻩif(!file。Open(m_strPath,CFile::modeRead|CFile::typeBinary))ﻩ{ﻩ AfxMessageBox(_T("文件打开失败"));ﻩﻩsenSo.Close(); return;ﻩ} m_ctrlProgress。SetRange32(0,m_dwFileSize);ﻩintnSize=0,nLen=0; DWORDdwCount=0; charbuf[BLOCKSIZE]={0};ﻩfile。Seek(0,CFile::begin);ﻩ//开始传送ﻩwhile(1) { ﻩ//每次读取BLOCKSIZE大小ﻩﻩnLen=file.Read(buf,BLOCKSIZE);ﻩﻩif(nLen==0) ﻩbreak;ﻩ //发送文件内容 ﻩnSize=senSo。Send(buf,nLen);ﻩ dwCount+=nSize; ﻩm_ctrlProgress。SetPos(dwCount);ﻩﻩCStringstrTransfersSize;ﻩ strTransfersSize.Format(”%ld字节",dwCount);ﻩ //设置进度条属性 GetDlgItem(IDC_RECEIVE_SIZE)—>SetWindowText(strTransfersSize); intp=((double)dwCount)/((int)m_dwFileSize+1)*100+1; ﻩstrTransfersSize.Format(”%d",p); strTransfersSize+=”%"; ﻩ//判断用户是否停止发送 if(m_bIsStop) ﻩ{ m_bIsStop=FALSE;ﻩﻩﻩbreak; } if(nSize==SOCKET_ERROR) ﻩﻩbreak;ﻩ} file.Close(); senSo.Close();ﻩif(m_dwFileSize==dwCount) AfxMessageBox(_T(”文件发送成功"));ﻩelse AfxMessageBox(_T("文件发送失败")); m_ctrlProgress.SetPos(0);ﻩm_bIsTransmitting=FALSE;ﻩ}接收线程关键函数ReceiveFilevoidCSendFileDlg::ReceiveFile(CSocket&recSo){ﻩ//停止等待超时计时器ﻩKillTimer(2); m_bIsWait=FALSE; m_bIsTransmitting=TRUE;//正在传输置1 m_ctrlProgress。SetRange32(0,m_dwFileSize); intnSize=0;ﻩDWORDdwCount=0;ﻩcharbuf[BLOCKSIZE]={0}; CFilefile(m_strPath,CFile::modeCreate|CFile::modeWrite); //开始接收文件 while(1) { ﻩ//每次接收BLOCKSIZE大小的内容 ﻩnSize=recSo.Receive(buf,BLOCKSIZE);ﻩﻩif(nSize==0)ﻩ ﻩbreak; ﻩ//写入文件 file。Write(buf,nSize); ﻩdwCount+=nSize;ﻩ m_ctrlProgress.SetPos(dwCount); CStringstrTransfersSize; ﻩstrTransfersSize.Format(”%ld字节”,dwCount);ﻩGetDlgItem(IDC_RECEIVE_SIZE)->SetWindowText(strTransfersSize);ﻩﻩintp=((double)dwCount)/((int)m_dwFileSize+1)*100+1; ﻩstrTransfersSize.Format(”%d",p); ﻩstrTransfersSize+=”%";ﻩGetDlgItem(IDC_PECENT)->SetWindowText(strTransfersSize)ﻩ //用户是否停止了接收 ﻩif(m_bIsStop)ﻩ {ﻩ m_bIsStop=FALSE; ﻩ break; } }ﻩfile。Close(); recSo.Close(); if(m_dwFileSize==dwCount) AfxMessageBox(_T("文件接收成功”)); elseﻩ AfxMessageBox(_T(”文件接收失败")); m_ctrlProgress.SetPos(0); m_bIsTransmitting=FALSE;}六、关键问题及其解决方法1、在传输文件前、中、后能让程序响应各类控制消息集成后的互通消息代码集成后的互通消息代码很简单:voidSerialize(CArchive&ar){ if(ar.IsStoring()){ ar<<m_nType; ar<<m_strFileName; ar<<m_dwFileSize; } else { ar>>m_nType; ar>>m_strFileName; ar>>m_dwFileSize; }} 2、解决单线程传输阻塞的非“非阻塞”式方法在使用AfxBeginThread实现多线程的同时,也增加了诸如发送超时、接收超时等判断(使用Windows定时器SetTimer响应OnTime来实现),这一定程度上增强了程序的鲁棒性文件的传输时阻塞式的,所以在主线程中直接传输文件必然导致界面卡死,所以这里我用到了多线程技术,为传输文件和接受文件分别开设线程.在使用AfxBeginThread实现多线程的同时,也增加了诸如发送超时、接收超时等判断(使用Windows定时器SetTimer响应OnTime来实现),这一定程度上增强了程序的鲁棒性_ListenThreadUINT_ListenThread(LPVOIDlparam){ CSendFileDlg*pDlg=(CSendFileDlg*)lparam; //创建服务器端套接字ﻩCSocketsockSrvr;ﻩif(!sockSrvr.Create(pDlg-〉m_wPort+PORT)) {ﻩ pDlg->TransfersFailed(); ::MessageBox((HWND)lparam,pDlg->GetError(GetLastError()),_T("错误"),MB_ICONHAND|MB_OK);ﻩ return-1; } if(!sockSrvr。Listen())//监听 { pDlg-〉TransfersFailed();ﻩ ::MessageBox((HWND)lparam,pDlg—〉GetError(GetLastError()),_T("错误"),MB_ICONHAND|MB_OK); ﻩreturn-1;ﻩ}ﻩ//接收套接字已经创建向主对话框发送自定义消息,该消息发送一个消息给发送方,可以开始传数据 pDlg—〉SendMessage(WM_ACCEPT_TRANSFERS);ﻩCSocketrecSo; if(!sockSrvr.Accept(recSo)) { ::MessageBox((HWND)lparam,pDlg->GetError(GetLastError()),_T(”错误"),MB_ICONHAND|MB_OK); return-1;ﻩ} sockSrvr。Close(); //调用主对话框类中的ReceiveFile成员函数进行文件的接受pDlg->ReceiveFile(recSo); return0;}_SendThreadUINT_SendThread(LPVOIDlparam){ CSendFileDlg*pDlg=(CSendFileDlg*)lparam; //创建套接字 CSocketsockClient; if(!sockClient。Create())ﻩ{ pDlg-〉TransfersFailed(); ::MessageBox((HWND)lparam,pDlg-〉GetError(GetLastError()),_T("错误"),MB_ICONHAND|MB_OK);ﻩ return-1; }ﻩCStringstrIPAddress;ﻩUINTnPort;ﻩ//获取对方地址ﻩpDlg-〉m_psockClient->GetPeerName(strIPAddress,nPort);ﻩ//连接服务器 if(!sockClient.Connect(strIPAddress,pDlg-〉m_wPort+PORT))ﻩ{ﻩ pDlg-〉TransfersFailed(); ::MessageBox((HWND)lparam,pDlg—>GetError(GetLastError()),_T("错误"),MB_ICONHAND|MB_OK); return-1; } //调用主对话框类进行文件发送 pDlg->SendFile(sockClient);ﻩreturn0;}3、在文件传输前,提前让对方了解文件信息,以便对方判断是否接受文件。ﻩﻩ由于本工程实现了“文件传输与两端消息响应”的明确划分,该功能实现相当简单,只需要在发送端SelectFile之后向接收端发送一个“准备发送”的消息(该消息由于CMessage的封装,包含了文件的基本消息),该消息被接收后弹出对话框,由接收方来选择是否接受. 接收端由接收方选择对话框选项,根据MessageBox返回值IDOK或是IDCANCLE,若为IDOK,则发送一个Accpet消息给发送方,否则发送一个REFUSE回去,均由发送方的OnReceive虚函数处理,大致过程如下:七、设计结果1、服务器客户端的选择(服务器客户端集成)说明:根据每个进程实例的用户选择RadioBox来更改界面外观初始默认服务器:InitDialog时设置按钮文本及调用gethostname获取本机IPv4地址及设置端口号 ﻩ根据用户选择响应RadioBox消息,若为客户端,则更改界面外观,同时内部变量“m_bIsCilent”设置为TRUE(默认为FALSE),便于程序的后续工作2、简单的文件传输及简单的传输控制说明:ﻩ文件的发送专门由两个线程完成,线程中创建用于文件传输的套接字,而文件的传输控制则由主界面响应消息来完成,分工明确3、设计思考题的回答①套接字有基于阻塞和非阻塞的工作方式,试问你编写的程序是基于阻塞还是非阻塞的?各有什么优缺点?答:本程序文件传输基于阻塞、传递文件控制消息基于非阻塞。阻塞传输具有稳定性好,代码逻辑简单,编写程序方便的优点,但是阻塞传输效率低非阻塞传输相对应的效率较高,但是编写程序较为复杂,传输也更难控制②如何将上述通信改为非阻塞,避免阻塞?答:在源代码采用Send发送文件和Receive来接收文件的基础上,改用OnReceive和OnSend来响应文件发送和接收消息,结合MFC的CasyncSocket异步非阻塞套接字类来编程③在传输前能否先将要传输的文件的相关属性现行报告给对方,以便对方判断是否接受该文件的传输?答:由于本工程实现了“文件传输与两端消息响应"的明确划分,该功能实现相当简单,只需要在发送端SelectFile之后向接收端发送一个“准备发送”的消息(该消息由于CMessage的封装,包含了文件的基本消息),该消息被接收后弹出对话框,由接收方来选择是否接受.八、软件使用说明打开一个进程实例后,一端选择服务器(默认为服务器),软件会自动调用库函数获取本机IPv4地址以及自动设置端口号,点击【启动】按钮开始监听客户端的接入客户端打开软件后,点选【客户端】,此时IP地址控件置空,用户输入正在监听的客户端的IP地址,必要时输入对应的端口号,点选【连接】,开始申请连接服务器。连接选项设有超时器,超时会提示连接超时,成功后两端建立连接。连接成功后,两端的【选择文件】按钮点亮,可以选择文件发送。点击【选择文件】后弹出文件选择对话框,发送方成功选择文件,点击【确定】。此时启动发送超时器,超时显示超时。若成功,接收方弹出文件保存对话框,接收方选择好接收目录后点击【确定】,文件传输正式开始。传输开始后,双方【停止传输】【取消】点亮,双发可以通过点选这两个按钮来进行传输控制.传输失败会提示失败消息。九、参考资料[1]zhuyf87。TCP三次握手。博客园博客,2012. [2]高传善,毛迪林,曹袖。计算机网络教程.高等教育出版社,2008. [3]孙鑫。VC++深入详解。电子工业出版社,2006。十、验收时间及验收情况验收时间:2016.12。29验收情况:演示了文件传输的程序,从建立连接单选择文件再到传输文件,到终止传输,没有出现问题。①通信方式是阻塞还是非阻塞的?答:本程序使用了两对套接字,一对工作于阻塞方式,用于传输文件,由于阻塞,故开辟了线程供其传输,一对工作于非阻塞方式,通过响应来实现客户端服务器的消息控制。②客户端服务器建立连接的过程?ﻩ答:使用MFC的CSocket类简化C/S连接:服务器Create()创建监听套接字,Listen()开始监听;服务器创建一个连接套接字,Connect()请求服务器连接,服务器OnAccept响应,并使用另外创建的套接字开始与客户端通信。③程序的鲁棒性怎么样?ﻩ答:程序在创建套接字,连接服务器等操作时用了比较多的错误检测与提示,比如在套接字创建过程:对Create()的返回值进行分析,如果是0则代表创建失败,立即调用GetLastError()分析错误原因,并使用MessageBox弹出提醒用户.另外也使用了TRY…CATCH块,增强程序的错误检测和恢复能力。十一、设计体会1、之前写的程序大多都是“单机"的,这次工程的实践让我更加深入地了解了互联网程序的编写,认识了Socket套接字的使用.2、通过编写程序,在应用层面理解了TCP的“三次握手”,深切体会到了基于TCP连接的传输稳定性.3、在设计时遇到了阻塞和非阻塞的选择,好在工程实现的时候,由于微软对Win_Sock的封装,结合CSocket、CSocketFile、CArchive三个类的使用,很好地简化了两端的通信问题,从而可以放心地把传输数据作为阻塞方式放到新开的线程中。4、在工程初步完成的时候,把程序放到两台不处于一个局域网内的机子上,发现不能连接。通过课本的翻阅和网上资料的查询,了解了NAT以及NAT穿越技术,知道了许多基于互联网的技术都需要用到“NAT穿孔”。5、文件传输涉及到了很多的异常处理,在之前编写的大部分程序要么没有异常处理,要么单纯地使用ifelse解决,在本次工程中用到了一些TRYCATCH块,体会到了异常处理机制的重要性.路由器配置实验一、实验目的1.认识路由器的端口、型号2.掌握路由器的路由配置3.理解网络互联的基本原理二、实验环境与设备本实验在PC机上利用模拟软件PacketTracerV6进行操作。三、实验内容1.路由器接口的配置2.静态路由配置3。默认路由配置4。动态路由配置本次实验的主要任务是了解路由器的基本设置,和网络之间的连接关系。通过这次的实验很好的掌握了各个网段之间的,各个路由器下的pc的连接情况。通过对静态,默认,动态路由配置,使得各个路由器下的PC相互通信.四、实验步骤1、路由器接口的配置创建拓扑结构图:(1)为主机PC0,PC1,PC2配置IP地址、子网掩码和默认网关.配置情况如下:IP地址和子网掩码的配置:(2)为路由器的各个接口分配IP地址和子网掩码,交换机不用配置。配置方法入下:WAN口配置:(3)查看路由器的路由表使用命令:showiproute显示路由表中的路由信息。保存此时路由器显示的路由信息,以便与后面的实验结果进行比较。(C表示直连路由)Router0的路由表:Router1的路由表Router2的路由表(4)测试主机之间的连通性PC0与PC2的连通性:可以看到PC0ping不到PC2,可见PC0是不知道PC2的网段的PC1与PC2的连通性:根据网关发回的消息,同样PC1是ping不到PC2的2.配置静态路由(1)在Router0中添加一条到网络192.168。3.0的静态路由,命令如下:(2)再去查看Router0路由表,与步骤(2)中的路由表进行对比,观察路由表的变化情况。可以看到,路由器0多了一条S的路由信息,之后有目的为该IP的包到达路由器,路由器就能根据路由表做出路由。(3)在Router2中添加一条到网络192.168。1.0的路由后,路由表如下:Router(config)#iproute192.168.1.0255.255.255.0172。16。1.2同样,路由器1也增加了一条路由信息(4)测试PC0与PC2的连通性PC0与PC2的连通性如下图:可以看到,添加静态路由后PC0与PC2接通(5)在Router1和Router2中各添加一条静态路由,以实现PC1与PC2的互通.路由器1增加静态路由:路由器2增加静态路由:根据之前的实验,现在PC2和PC1应该能互相ping通了.P1与P2的连通性:由于来回经过两次路由器,TTL(128)—2=126(6)测试PC0与PC1的连通性可以看到,PC0ping不到PC1。查看Router0的路由表可知,其中不存在到达PC1所在网络(192.168.2.0)的路由,查看Router2的路由表可知,其中不存在到达PC0所在网络(192.168.1.0)的路由,因此,PC0与PC1的连通性为不通。(7)分别在Router0和Router1中添加静态路由,以实现PC0与PC1的互通。PC0增加到PC1的路由:PC1增加到PC0的路由:此时PC0和PC1的连通性:可以看到,PC0和PC1终于能ping通了,可见若是配置静态路由,一边的路由器不能只配置与其相连的路由器的静态路由,若还想发至其他路由器所在的网络,同时也要配置到那个网络的静态路由。3。设置默认路由(1)首先删除Router0中到达PC1和PC2所在网络的静态路由:使用showiproute命令查看可知,删除已成功(2)在Router0中添加一条默认路由:(3)再测试PC0与PC1,PC2的连通性:可以看到,PC0在设置默认路由后,都能ping到PC2和PC1,原因是当PC0由数据包发送至PC1或者PC2,可是到达路由器0的时候,路由器0的路由表中没有相应的路由信息,这时候,默认路由就成为了一个“救命稻草”,路由器0会将所有的不匹配数据包都通过这个路由信息发送出去。因为默认路由匹配的是路由器2,故路由器2自然能收到,而此时路由器2有路由器1的静态路由信息,所以PC1也就能收到了4.动态路由协议RIP的配置(1)在Router0上配置RIP协议(2)在Router1,Router2上配置RIP协议Router2:Router1:(3)查看三个路由器的路由表,可看到各路由器学到的网段。下图是运行RIP协议后路由器中的路由信息:(R为RIP动态路由)Router0:Router1:Router2:5)测试各主机间的连通性.PC0和PC1的连通性以及PC0和PC2的连通性:PC1和PC2的连通性五、实验总结通过思科的这款仿真软件,我切身地体会到了什么是最最基础的组网.①通过简单地“拖拉”路由器、交换机、PC终端,还有这些原件之间的连接线,让我体会到了各种不同的网络部件所处的地位以及它们各自所起的作用②思科的这款软件非常强大,不仅有命令行,还有可视化的操作面板,在用两种方式配置路由器的过程中,让我真切地感受到了路由器就是一台实实在在的微型机,只是功能比较单一.③在对路由器IP地址、子网掩码,PC网关地址配置的过程中,理解了网络互联的原理就在于“通过路由器的路由信息表找到对方的地址”。④本实验涉及到了静态路由的配置、默认路由的配置以及RIP动态路由协议的配置,在分别使用这三种方法连接时,思考了三种方式的区别与联系,进一步理解了网与网之间的连接。郑州华信学院课程设计说明书题目:网络工资管理系统设计与实现姓名:贾慧萍院(系):信息工程系专业班级:10计算机科学与技术学号:1001110156指导教师:杨杨成绩:时间:2013年9月03日至2013年10月24日郑州华信学院课程设计任务书题目基于B/S模式的工资管理系统设计与实现专业、班级10计算机科学与技术学号1001110156姓名贾慧萍主要内容:首先,开发一个采用B/S结构的企业网络工资管理系统,使用ASP。NET技术和SQLserver2000数据库实现的三层结构Web应用程序,通过ADO。NET访问数据库结合网络编程开发动态网页。
本系统是适合于各企事业单位使用的通用工资管理软件,系统开发目的主要是针对工资管理系统落后、数据环境混乱等问题提出可行的解决方案。给工资管理系统带来先进的管理理念、完善的工资管理制度,从而提高管理水平、节约资源、提高办事效率。基本要求:要求系统界面友好,操作简单方便,任意设定工资项目,任意定义工资计算公式,任意定义输出表格等功能健全。主要参考资料:[1]赵强。J2EE应用开发[M]。电子工业出版社,2006[2]明日科技.JSP开发技术大全[M].人民邮电出版社,2007[3]BertBates.HeadFirstServlets&JSP(影印版)[M]南京:东南大学出版社2002。8[4]oracle数据库进阶.林树泽李渊编。清华大学出版社,2011。3完成期限:09月03日-10月24日指导教师签名:课程负责人签名:2013年09月12日目录TOC\o"1-3"\h\z\uHYPERLINK\l"_Toc373142590"1.总体设计PAGEREF_Toc373142590\h3HYPERLINK\l"_Toc373142591”1。1企业网建设规划PAGEREF_Toc373142591\h3HYPERLINK\l”_Toc373142592"1。2工资管理系统任务概述PAGEREF_Toc373142592\h3HYPERLINK\l”_Toc373142593"1。3工资管理系统功能需求PAGEREF_Toc373142593\h41。4工资管理系统可行性分析PAGEREF_Toc373142594\h5HYPERLINK\l"_Toc373142595”1。5工资管理系统开发环境PAGEREF_Toc373142595\h6HYPERLINK\l"_Toc373142596"2。结构化系统设计PAGEREF_Toc373142596\h62.1系统功能模块设计PAGEREF_Toc373142597\h62。2数据库设计PAGEREF_Toc373142598\h72.3界面设计PAGEREF_Toc373142599\h8HYPERLINK\l"_Toc373142600”3。软件的测试PAGEREF_Toc373142600\h24HYPERLINK\l"_Toc373142601"3.1测试原则PAGEREF_Toc373142601\h243。2测试方法PAGEREF_Toc373142602\h24HYPERLINK\l"_Toc373142603"3.3测试环境PAGEREF_Toc373142603\h24HYPERLINK\l”_Toc373142604”3.4测试内容PAGEREF_Toc373142604\h24HYPERLINK\l"_Toc373142605"总结PAGEREF_Toc373142605\h28HYPERLINK\l”_Toc373142606”4。1系统可改进的地方PAGEREF_Toc373142606\h28HYPERLINK\l"_Toc373142607"4。2发展前景PAGEREF_Toc373142607\h281。总体设计1.1企业网建设规划(1)概述企业网分内部和外部两部分.外部的页面是展示给所有人员浏览的页面,在外部主要对企业的宣传.在产品展示的页面提供顾客注册的功能,进行网上订购的功能.只有注册的顾客用户才能进行网上订购.内部的页面只有企业内部人员才能浏览,而且必须登录才能进入,没有注册的功能,只有在人事部门进行添加的用户才能进入。(2)组织结构,见图1.1(a)职务为总经理,副总经理;最高级别机构有主管、财务主管、开发部主管、人事部主管、市场部主管;部门设部门经理,普通职员。(3)总体设计,见图1.1(b)1.2工资管理系统任务概述项目名称:基于B/S模式的工资管理系统开发意图:使员工工资管理更加科学、规范;使员工工资查询更加方便、快捷;发挥网络在工资管理与查询中的作用,实现工资管理与查询的网络化应用目标:通过本系统,能帮助财务人员利用计算机,快速方便的对员工工资进行管理、输入、输出、查找等所需操作,使大量的员工工资能够集中方便的进行管理。员工则能够利用自己的用户名和密码通过本登陆,方便
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 洛阳理工学院《VB语言程序设计》2023-2024学年第一学期期末试卷
- 单位人事管理制度范文选集
- 单位人力资源管理制度集粹选集
- 饮料生产降水施工合同
- 高端别墅区房屋转让租赁协议
- 2024年标准餐饮服务合同模板版
- 商务写字楼外墙改造合同
- 造纸工程分包协议
- 矿区生态恢复复垦承诺书
- 瑜伽馆门头施工合同
- 第2课+古代希腊罗马【中职专用】《世界历史》(高教版2023基础模块)
- 金属屋面工程防水技术规程
- 《福建省安全生产条例》考试复习题库45题(含答案)
- 人工智能增强战略规划
- 无机材料与功能化学
- 110kV变电站及110kV输电线路运维投标技术方案(第一部分)
- 消防设施安全检查表
- 餐厅用电安全承诺书
- 吉林省延边州2023-2024学年高一上学期期末学业质量检测数学试题(解析版)
- 2024年全国两会精神主要内容
- 小学六年级数学上册应用题100道(全)-及答案
评论
0/150
提交评论