关于职业培养模式的混乱思路(暂存)

by sundy 11/25/2009 4:24:01 PM

直接或者间接的打开产业通道 。 办学办到前端去。

专业要有梯度 , 培养要有梯度,就业要有梯度 , 。

1,专业要有梯度;分为软件开发 ,电脑艺术设计 , 电子商务 ,IT服务 四大专业 。

从专业难度置顶而下的为 : 电脑艺术设计 -> 软件开发 -> IT服务 -> 电子商务
同时我们的招生以及收费也要由这些专业的梯度而形成收费梯度 。

专科本科的培养要有梯度。

2,培养要有梯度; 学生每个学期的培养计划要有层次感,在职业素质和职业技能上都要提出层次的要求 。
提出“适配器”培养模式 。学生不断进行纵横两个方向的适配 。 纵向是匹配各学期目标,鼓励自学。看能否预先达到学期目标以及未达到上学期目标。
横向是匹配各专业本学期要求 ,若不能匹配,则换专业班级学习。

3,就业要有梯度;明确各方向就业目标以及就业出口 。

解决学生基础弱,底子差,自信心不足,缺乏主动性,对课程不敢兴趣等问题
缺乏主动性是我们学生普遍存在的问题 。究其原因,主要表现在缺乏目标,缺乏兴趣,不知道当前的学习对自己的作用,再加上自我约束能力差。
自信心不足,兴趣不够,是因为刚进来一直就没有目标感,不愿意努力,不能吃苦。下课不花精力,因此跟不上学习进度 ,一而再再而三的跟不上进度,就自我放弃了。

要解决如上问题 。
1,公示专业目标 ,不断让学生明确目标 ,让学生始终目标清晰  。
2,公示企业和就业岗位以及素质&技能要求,让学生明确就业导向 。(要提出我们对学生的素质要求以及各专业技能要求)
3,建立老师帮助学生评估的机制,不断明确和引导学生目标和行为 。
4,建立学生自我评估机制,鼓励创新和自我评估 ,鼓励学生自学 。
5,引入企业参与学生培养,以讲座等形式给学生灌输概念 。
6,鼓励老师指导下,学生走入社会 ,进行实践  。

解决问题的思路:
1)一本薄薄的国信安学生手册,让学生明白自己几年后应该是什么样,在校如何做 ,有什么游戏规则。(手册要写的与众不同,生动有趣,又能明确指导,作为他们在校的切实的行为和技能指导手册),以后我们用4年时间来解释这本手册,不断强调灌输这本手册
2)优化培养课程,减少理论课时间,加大软件工厂实践 ,社会实践比例
3)提出明确品牌打造理念。包括品牌专业,品牌学生 。 申请一个品牌就业学生给科室发放1000元奖金,申请一个品牌专业的打造给科室发放20000元奖金
品牌学生的界定待拟(比如成都地区圈定企业就业范围,圈定薪金底线,确定专业就业岗位等) ; 品牌专业界定待拟(比如具有较大的自有特色,连续两年专业就业率达到50%,品牌就业比率达到,就业率达到99%,竞赛获奖次数等)
4)抽象并且提取企业对应届毕业生的普遍素质要求,并且形成国信安对学生的素质要求,并且明确提出;抽象并且提取各专业核心岗位的技能要求,并且明确提出 。 让学生一开始就明确自己所就业的岗位,素质与技能要求,需要学习的课程内容以及可就业的企业等 。包装在学生手册中
5)提出“泛专业”概念 。进来的学生一开始报的是“第一专业” ,获取“职业状态表”。职业状态表标明了不分专业的目前该生可以指向的所有岗位  。以这个专业为主,进行主要课程学习 。 每月自评,每月老师也进行评定 。 若当月本专业岗位评定指向不能,则视为评定不合格 。老师要与该生直接沟通 。若学期末的职业综合评定本专业岗位就业不能,则视为学期不合格  。原则上不能在本班参与学习 。可去职业状态表的其它岗位所属专业班级学习。 或者每学期评定不合格的取一定比例离开本班 。 当学生的“职业状态表”中所有职业状态我们评定皆就业不能,则建议学生休学或走读(不上课,考试,拿文凭)。建议不纳者,取比例退学。
这个过程牵涉到转专业的需要与目前合作模式冲突的地方,要详细讨论 。比如我们只合作一个专业来培养 。或者每学期控制因评定不合格转专业数量。

6) 用好“学生会” 。 学生会作为学生管理组织,要充分发挥好学生管理学生的作用和目的 。 建议学生的内部评定,寝室评定,操行评定。可以考虑逐渐交给学生会做日常的细节工作 。 由老师进行抽查。学生成员人数控制在50人以内,有组织分工。学生进入学生会有三个月试用期,试用期间,月职业状态评定不合格者不予录用,转正的学生会成员,每月领取学校发放的50元补助,以兹荣誉与刺激 。

7) 鼓励学生在老师的指导下自学,在老师的指导下走入社会 , 在老师的指导下创业 。

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Education & Consultation

DACUM法概述[转]

by sundy 11/25/2009 2:49:27 PM

DACUM是Develop A Curriculum的缩写,可直译为“课程开发”,其实质涵义是以工作任务分析为基础来开发职业教育课程。其主要程序和形式是首先按照确定DACUM研讨委员会的标准,针对所分析的职业,从工作现场精心选聘10~20位优秀工作人员,作为DACUM研讨委员会成员,组成CACUM委员会。待CACUM研讨委员会成员了解DACUM之后,用1~2天时间在DACUM主持人的协调下,邀请研讨委员会成员集中开会,运用“头脑风暴法”(在研讨时主持人不能对任何意见加以评论)和DACUM表,分析相应工作岗位所需要的工作任务模块,并进而对工作任务模块所需要的知识、技能和态度进行分析。

(一)参加DACUM研讨会的成员

参加DACUM研讨会的成员包括CACUM组织者、主持人、DACUM研讨委员会成员、记录员和列席人员等。

1、DACUM组织者

DACUM组织者是DACUM研讨会自始至终人力、物力、财力和准备工作的负责人。他不但要了解DACUM的后勤工作,而且要有权利或已得到授权调动DACUM研讨会所需的人力、物力和财力,以保证DACUM研讨工作的顺利进行。

2、DACUM主持人

DACUM研讨会的主持人,要求不能是本专业教师,而必须是一位DACUM法的专家。因为他不是一般会议的主持人,而是一位在进行DACUM研讨时,自始至终引导DACUM研讨委员会成员抓住主要问题讨论的引导人员。

3、记录员

他是整个会议过程的记录员,要求书写工整,并记录主持人要求记录的内容。如果记录员文字录入速度快,能用计算机记录更好。

4、DACUM研讨委员会成员

他们是DACUM研讨的主体。DACUM研讨委员会成员的选择标准,除考虑他们在地区与行业上有代表性外,每个成员的选择还应具备如下一些重要条件:(1)具有职业的综合能力;(2)直接从事该领域的专职工作;(3)具有严谨作风和前瞻眼光;(4)能用语言表达职业的任务需求或技能;(5)能与他人协同工作;(6)不存在偏见;(7)充满自信;(8)工作期间能全身心地投入。

5、DACUM研讨会列席人员

主要是本专业的教师、教管人员和教辅人员。让他们列席DACUM研讨会,有利于改变他们传统的职业教育课程观念,充分了解企业对职业教育课程的要求。

(二)DACUM表的编制

DACUM表一般地说包括名称、任务领域、单项任务和任务完成评定标准四项内容。

1、名称

它通常用所分析的职业来表示,比如“机电技术员DACUM表”、“电气自动化DACUM表”等。

2、任务领域

它是指一组单项任务的组合。某职业由多少任务领域组成,要视具体职业而定。通常是6~9个。

3、单项任务

每个单项任务必须有明确的起点和终点,由两个或多个步骤构成,可以观察和测量,并且要能产生产品、服务和决策之类的成果,必须能在短期内独立完成。

4、任务完成评定标准

表4-1是一个任务完成评定表,它既可以作为对个体完成任务的要求,又可以作为对个体完成任务情况的评价。

表4-1    任务完成评定表

等级

评 定 标 准

能高质量、高效率地完成此项任务的全部内容,并能指导他人完成;

能高质量、高效率地完成此项任务的全部内容,并能解决遇到的问题;

能高质量、高效率地完成此项任务的全部内容。

能圆满地完成此项任务的全部内容,不需要任何指导。

能圆满地完成此项任务的全部内容,偶尔需要帮助和指导。

能圆满地完成此项任务的全部内容,但需要在现场指导下,才能圆满地完成此项技能的全部内容。

(三)工作任务的表述

工作任务表述要求采取动词+对象的格式,通常不超过8个字。比如选择和使用常用玻璃仪器、识别和挑选零件、采集和处理样品、配制和标定溶液、测定物理常数、鉴定离子和官能团、维护、保养仪器及设备、处理实验数据、显示个人能力、应用计算机计算等。工作任务的表述必须明确,必须能反映出行业的职责,或实际要做的事情和任务,并且必须是行业能接受的术语。

为了使得工作任务的表述能够明确,在表述工作任务时不能使用“知道”、“了解”“懂得”、“熟悉”之类的动词,否则,所描述的工作任务就是非常模糊的。通常采用的动词有:

1、操作类。这类动词常见的有:操作、采集、配置、标定、使用、挑选等。

2、程序类。这类动词常见的有:排序、连接、制造、调整、准备、安装等。

3、理会类。这类动词常见的有:理会、阅读、摘录、寻找等。

4、解决问题类。这类动词常见的有:计划、设计、排除、估算、计算、选择、布置等。

5、管理组织类。这类动词常见的有:组织、管理、指导、协调、监控等。

(四)DACUM法的工作程序

一般地说,用DACUM法进行工作任务分析,可以按以下程序来进行。

1、前期准备

正式召开DACUM研讨会之前的准备工作是十分重要的。需要准备的内容有选定DACUM研讨会成员、帮助他们明确各自的职责、准备研讨会所需要的物质条件、计划好研讨会进程等。

2、开幕式

在正式进行研讨之前,可举行一个短暂的开幕式。

3、确定任务领域

在正式开始研讨后,首先要采用头脑风暴法确定大的任务领域。

4、确定单项任务

确定大的任务领域后,再逐个确定每个任务领域的单项任务。

5、检查与完善各任务领域与单项任务及其表述方式的准确度。

6、将各项任务领域和单项任务按其重要性、使用频率进行排序,如果时间允许还可以进行今后有关活动的商定。

7、宣布闭会。

(五)DACUM法的注意事项

在使用DACUM法进行工作分析时要注意以下事项:

1、DACUM研讨会成员在讨论时是平等的,不能因为他们的学历、职务、职称、单位不同而有意无意地确定他们在研讨会中的重要性。

2、允许成员自由地提出自己的意见。

3、要提建设性意见,而不是非建设性批评。

4、列席人员不能参与讨论。

5、对各项任务的描述,必须用动词开头并表达一个可见的、可评价的活动。

6、全部建议都要被认真地讨论。

7、讨论者要相互尊重对方的建议。

8、主持人要特别注意提问方式

许多人会这样对研讨会成员提问:“你们希望学校培养的学生具备什么知识和能力”?这种提问方式获得的往往是“具备问题解决能力”、“掌握生产工艺知识”这些非常模糊的答案。正确的提问方式应当是:“学校的毕业生到贵单位会需要完成哪些任务”?只有这样才能获得非常明确的工作任务模块。也就是说要从工作任务分析开始,然后再分析完成每个任务所需要的知识、技能和态度。

(六)DACUM法的优势

使用DACUM法进行职业教育课程门类开发具有以下优势:

1、使毕业生更符合用人单位的要求;

2、能加强学校与用人单位的合作关系;

3、能为学生提供明确、具体的学习目标;

4、利用了工作现场优秀工作人员和学校教学管理人员各自的所长;

5、能经济、快速和高质量地确定学生培养目标。

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Education & Consultation

浅谈国外职业教育发展现状及我们职业教育的思考

by sundy 11/24/2009 3:12:00 PM

摘要:欧、美发达国家在职业教育的培养模式、课程设计、教学方法、校企合作等方面,均有许多值得借鉴之处。其成功经验告诉我们;职业教育要想有大的发展,必须转变教育观念,重新确立培养目标和课程体系,完善资格认证制度,实行产学合作,积极发展具有自己特色的“拳头项目”。

关键词:职业教育;培养模式;课程设计;教学方法;校企合作

 

一、培养模式

1.德国“双元制”模式。“双元制”是一种国家立法支持、校企合作共建的办学制度。“双元制”中的一元是指职业学校,其主要职能是传授与职业有关的专业知识;另一元是企业或公共事业单位等校外实训场所,其主要职能是让学生在企业里接受职业技能方面的专业培训。这种“双元制”模式针对性较强,重能力,能充分调动企业办学的积极性。在这种制度保证下,企业不仅会制订完善的培训规划,促进专业理论与职业实践相结合,强化技能培养,而且能提供充足的培训经费,使教学有足够的物质保证。这种模式对德国高素质劳动者的培养,产品的高质量,以及保持其经济在国际上的竞争力,都起着重要的作用。但其对企业的过分依赖,培训职业的过分专业化,使其极易受到经济发展起伏的制约。

2.以美国、加拿大为代表的CBE模式。“以能力为基础的教育(Competency based education)”简称CBE,产生于二次大战后。现在广泛应用于美国、加拿大等北美的职业教育中,也是当今一种较为先进的职业教育模式。其主要特点是:首先由学校聘请行业中一批具有代表性的专家组成专业委员会,按照岗位群的需要,层层分解,确定从事这一职业所应具备的能力,明确培养目标。然后,再由学校组织相关教学人员,按照教学规律,将相同、相近的各项能力进行总结、归纳,构成教学模块,制定教学大纲,依此施教。其科学性体现在它打破了以传统的公共课、基础课为主导的教学模式,强调以岗位群所需职业能力的培养为核心,保证了职业能力培养目标的顺利实现。

3.以英国、澳大利亚为代表的“CBET”模式。“能力本位的教育和培训(Competency based education and training)”简称CBET。CBET的特点是依赖职业能力分析的结果,确立权威性国家能力标准。通过与这些标准相比较,可确定学员的等级水平。所谓国家能力标准,指的是按照就业中所必须履行的工作职责和所必须执行的工作任务,就其所涉及的知识技能以及这些知识、技能的应用所作的明确说明。国家能力标准的确定,可以使有关方面据此制定全国通用的职业资格证书,也能够使每一个普通公众从不同阶段,以不同的水平或方式进入职业教育体系,并可在这一体系中经过自身的不断努力取得所需要的职业资格。由此可见,CBET在学习成果的认可上,体现了很强的灵活性和开放性。这种模式能增进公众和各行业对国家证书整体上的认可和信心。

二、课程设计

目前,国外最典型的课程设计有德国模式和加拿大CBE课程设计模式。德国职业教育课程设计是以职业活动的行为过程为导向,将基础知识、专业知识合理地组合成一个专业技术知识体系。普通理论课教学内容较为浅显,不过多强调高深的理论知识,做到浅而实在、学以致用,而专业必修课门类虽少,却几乎覆盖了专业所需的所有理论,知识面广、综合性强,非常有利于培养“宽基础、复合型”的职业技术人才。同时,其普通理论教学与专业实践教学的课时之比为3∶7,加强了现场实习与实务的课程和学分,大大提高了学生掌握技能的熟练程度,有利于增强学生对企业生产、管理的广泛适应性,便于其迅速就业和转岗。加拿大的CBE课程设计与德国有所不同,其具体步骤分为两步:第一步制定DACUM表,第二步编制课程大纲。DACUM表的制定是由校方邀请企业代表组成委员会,由委员会通过分析、归纳确定这一职业应具备的综合能力。编制教学大纲则是由学校组织有关的教学人员对DACUM表进行分析。首先将相同或相近的知识归类在一起,构成可以在一定时朗内完成的教学模块,也就是构成一门课程;然后将课程排序,按基础、专业和实际工作需要顺序排列,构成课程大纲。同时,课程大纲中再加入一些非专业课程,约占25%。这种课程设计,既有利于调动企业助学的积极性,又可在很大程度上避免培养目标脱离实际的现象,是一种较为实用和易于操作的方法。

三、教学方法

70年代以来,国外职教界开始探索以学生为主体,引导学生积极思维,充分发挥他们主观能动性的教学方法。CBE教学模式采用了“自我培训评估系统”,强调学生的自我评估,重视学生反馈能力的培养。教师在教学过程中不再主要是知识的传授者、讲解者,而是指导者、咨询者;学生不再是被动地接受,而是主动地获取。这就极大地培养了学生的自觉性和责任心。在教学手段上,CBE综合运用了演示法、读书指导法、练习法、参观法、讨论法、模拟法、实习实验法及现代化电教手段,体现了个体化教学,使学生的积极性得到了最大限度的调动,学生的独立思考能力、创新能力均得到了全面的提高.

四、校企合作

在德国,政府出面干预,使产学合作制度化,使学校和企业相互支援、共同受益。一方面,企业要按给予学校的财力支援比例来分享教育成果;另一方面,学校要通过培养企业所需人才,来接受企业的资金援助。同时,政府设立“产业合作委员会”,对企业和学校双方进行控制和监督,对与学校合作的企业给予一定的财政补偿。对不依靠大学培养人才的企业则增加一定的税金,并公开因教育水平低而不能满足企业需要的学校名单,减少或停止对其的财政支持,以此来促进企业与学校间的相互合作。

五、启示

1.转变教育观念,重新确定培养目标。长期以来,我国在发展职业教育的问题上,思想观念上始终存在着误区,认为职校生低人一等,只能做些简单的、重复性的工作,或者认为应让高考落榜生接受高职教育等等,这都是对职业教育的错误认识。职业教育与普通教育的主要区别在于:各自的培养目标不同,侧重点不同。职业教育是以能力为本位的教育,以培养实用型、技能型人才为目的,培养面向生产第一线所急需的技术、管理、服务人才。

2.改革专业设置和教学内容,建立新的课程体系和教材体系。在专业设置上,要根据地方经济建设对实用型人才的需求及时进行调整。要通过深入的调查研究,以敏锐的眼光,及时发现潜在的人才需求,适时开办相应的新专业,形成自己的专业优势。同时,教学内容要以培养一线人才的岗位技能为中心,充分体现培养目标。按照理论教学与实践并重、相互渗透的原则,适当增加实验和实训的比例,改革专业过于狭窄的状况,实行弹性学制等等,探索不同专业的教学体系和人才培养模式。教材改革应加强宏观调控和政策倾斜,不能只管编,不管试验,不能只靠下发几个指导文件来推进教材改革。必须设置相应职能部门、监督部门等层面进行系列配套改革。

3.积极探索产学合作的办学路子。产学合作、社会参与是职业教育的基本特征,也是充分利用社会资源的基本渠道。产学双方要努力加强对话:学校应主动采取行动,积极满足产业界的需要;企业应当完善与产学合作有关的各项制度,建立完备的交流基础。只有引进产学结合的办学机制,充分发挥学校和企业的各自优势,才能真正做到成果共享,尽快地增加教学投入,改善教学条件,提高教学质量。

4.完善资格认证制度。为确认职业教育与普通教育的同等地位,应成立一个机构来规范职业教育的管理,建立一个统一的全国性的资格证书体系,来保证各职业资格相互间的认可。加强学术教育与职业教育的一体化,完善学术资格与职业资格之间的转换;实行职业资格证书和学位证书并举的制度,增强两者之间互补的灵活性和渗透性。

5.积极发展我国教育的“拳头项目”。德国要求其职业教育处于世界领先水平的做法是值得借鉴的。我国在职业教育的某些领域,发展自己的“拳头项目”是完全必要和可能的。我国若能在有些领域主要依靠自己的力量建立起具有国际先进水平的训练基地,将在国际上具有很强的说服力,也能更好地指导、激励和促进我国职业教育的普及和发展。

 

〔参考文献〕

 

〔1〕北京高校高职教育教学质量检查专家组.高职教育教学质量有待提高〔J〕.中国高等教育,2000,(3).

〔2〕雷正光.德国双元制模式的三个层面及其可借鉴的若干经验〔J〕.外国教育资料,2000,(1).

〔3〕高奇.加拿大社区学院CBE的教学管理〔J〕.中国职业技术教育,1999,(4).

〔4〕黄日强,周琪.能力本位职业教育:当代职业教育的发展趋势〔J〕.外国教育研究,1999,(2).

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Education & Consultation

测试计划编写(转)

by sundy 11/23/2009 2:59:00 PM

有同学需要,因此放在这里:

1.          文档的要求

好的模板是经验和智慧的积累,是团队的财富。它可以将一个团队中最好的工作方法迅速传播给每个成员。从而使整个团队的战斗力增强。

大企业不惜重金引入“模板”。例如,联想。

2.       微软实践—从做好需求开始

要像法律条文一样。刚性不强的法律执行起来难度很大,容易偏差。

3.       软件测试计划的目标

计划先行是做好工作的良好习惯。

软件测试也一样,先要制定测试计划,是做好整个测试工作的前提。所以在进行实际测试之前,应制定良好的、切实可行的、有效的测试计划。由不确定到确定,然后执行+跟踪+控制。

l          有效:计划具有可执行性。是可以做得到的。

l          全面:各种测试的手段(功能、性能、稳定、可靠等),各种方法(测试技巧运用合理),各种资源调配情况(软件、硬件、人力),各种风险(时限、优先级、变更等等)

4.       软件测试计划的要点

l          测试目标:要做什么;

l          质量标准:要达到什么样的质量,怎样就算“足够好了”;

l          测试策略:怎样安排测试;

l          测试范围:哪些是要测的(哪些不需要测);

l          测试用例设计方法:方法是否合理,是否能够覆盖测试范围,能否符合质量标准等;

l          所需资源和日程安排:要有计划性;

l          风险:对风险考虑周全,并计划好应对措施。

测试规划与软件开发活动同步进行,在需求分析时,就开始测试策划,确定测试需求、目标、资源等。测试计划可以按不同的测试阶段(集成测试、系统测试等)来组织,也可以为每个测试任务或目标(安全性、性能、可靠性等测试) 进行考虑。

让质量和效率可以量化。

5.       软件测试计划——制定策略

制定测试策略主要分析测试的目标和质量指标、确定测试的对象和依据,测试的重点和所采用的方法,包括在规定的时间内哪些测试内容要完成,软件产品的特性或质量在哪些方面得到确认。

l          全面细致地了解产品的项目信息:应用领域、测试范围、市场需求、产品特点、主要功能和技术架构;

l          基于模块、功能、系统、版本、性能、配置和安装等各个因素对产品质量的影响,客观地、全面地展开测试计划;

l          根据软件单元在系统结构的重要性差异和一旦发生故障将给客户造成的损失大小,来确定软件测试的等级、重点和先后次序;

l          需要在测试用例数和测试覆盖率上进行权衡而获得一个平衡点,以便能使用尽可能少的有效测试用例去发现尽可能多的程序错误。测试不足意味着让用户承担隐藏错误带来的危险;同时反过来看,过度测试则又会浪费许多宝贵的资源或耽误软件产品的发布时间。

6.       软件测试计划——确定范围

根据需求和产品设计规格说明来确定哪些功能和特性要测试,哪些功能和特性不需要测试。幻灯片中的内容是需要优先和重点考虑的。

例如:ES414不是做的全面测试,ES415做了全面的测试。

7.       软件测试计划——日程安排

工作流程以及工作任务的分配。积累的经验数据。

目的:可控。

由于涉及到不同的项目、不同的测试人员、不同的前期介入方式,要对每人每天能够完成的平均测试用例数目做出一个准确的估计确实很困难,但是可以根据以前一些项目测试的经验或历史积累下来的数据进行判断推理,并适当增加10%-20%的余量,估算结果就比较准确了。我们的项目目前就是按照这个估计的。
    在估算的基础上,进行有效的、合理的资源安排。在不同的测试阶段人力资源的需求是不一样的,所以人力资源的计划要有一定的灵活性和动态性,形成有机的动态平衡,保证测试的进度和资源的使用的效率。

8.       软件测试计划——资源配置

测试资源的分配,不仅要考虑测试团队的构成,而且要考虑不同的所需要的人数和对人员的要求是不同的。其次,软件测试项目所需的人员和要求在各个阶段是不同的:

l          在初期需要项目经理或测试组长介入进去,为测试项目提供总体方向、制定测试策略、测试计划,申请系统资源;

l          在测试前期,需要一些比较资深的测试设计、开发人员,对被测软件的详细了解、测试评估、测试需求的分解,设计测试用例、开发测试脚本;

l          在测试中期,主要是测试执行,要看测试自动化实现的程度,如果测试自动化程度高,人力的投入没有明显的增加;如果测试自动化程度低,测试执行的人员要求多,需要比较早的计划,保证足够的资源。

l          在测试后期,资深的测试人员可以抽出部分时间去做新项目的准备工作。

一个有效的软件测试项目管理者(测试组长,QA经理或测试经理),在测试资源的分配上尽量做到合理,既不过于保守,浪费资源,也不过于激进,使资源的使用总是处于紧张状态,随时有“崩盘”的危险。所以,在资源分配和管理中,要做到:

l          注意合理分配任务,明确规定每一个人在测试工作中的具体任务、职责和权限,每个组员都明确自己该做什么、怎么做、负什么责任、做好的标准是什么。做到人人心中有数,为保证和提高产品质量(或服务质量)提供基本的保证。

l          在安排任务时,尽量考虑每个人不同的技术特长、能力、性格、工作风格等,因为资源需求的估计依赖于工作量的估计和每个工程师的能力评估。

l          在不同的测试阶段,可以进行人员的相互调换,起到相互补充、相互督促/控制的作用。

l          人员的安排应该有一个提前量和余量(buffer,10%左右),因为一个合格的测试人员可能需要一个较长的培训、熟悉产品特性和适应测试流程的过程。

9.       软件测试计划——风险评估

测试风险是不可避免的、总是存在的,所以对测试风险的管理非常重要,必须尽力降低测试中所存在的风险,最大程度地保证质量和满足客户的需求。在测试工作中,主要的风险见PPT。
       前面三种风险是可以避免的,而4)至7)的四种风险是不能避免的,可以降到最低。最后一种回归测试风险是可以避免,但出于时间或成本的考虑,一般也是存在的。

针对上述软件测试的风险,有一些有效的测试风险控制方法,如:

测试环境不对可以通过事先列出要检查的所有条目,在测试环境设置好后,由其他人员按已列出条目逐条检查; (Checklist)(单子条目要细)
有些测试风险可能带来的后果非常严重,能否将它转化为其他一些不会引起严重后果的低风险。如产品发布前夕,在某个不是很重要的新功能上发现一个严重的缺陷,如果修正这个缺陷,很有可能引起某个原有功能上的缺陷。这时处理这个缺陷所带来的风险就很大,对策是去掉(Diasble)那个新功能,转移这种风险; 例如:审计
有些风险不可避免,就设法降低风险,如“程序中未发现的缺陷”这种风险总是存在,我们就要通过提高测试用例的覆盖率(如达到99.9%)来降低这种风险。
为了避免、转移或降低风险,事先要做好风险管理计划和控制风险的策略,并对风险的处理还要制定一些应急的、有效的处理方案,如:

在做资源、时间、成本等估算时,要留有余地,不要用到100%;
在项目开始前,把一些环节或边界上的可能会有变化、难以控制的因素列入风险管理计划中;
对每个关键性技术人员培养后备人员,作好人员流动的准备,采取一些措施确保人员一旦离开公司,项目不会受到严重影响,仍能可以继续下去;
制定文档标准,并建立一种机制,保证文档及时产生;
对所有工作多进行互相审查,及时发现问题,包括对不同的测试人员在不同的测试模块上相互调换;
对所有过程进行日常跟踪,及时发现风险出现的征兆,避免风险。例会制度。

要想真正回避风险,就必须彻底改变测试项目的管理方式;针对测试的各种风险,建立一种“防患于未然”或“以预防为主”的管理意识。与传统的软件测试相比,全过程测试管理方式不仅可以有效降低产品的质量风险,而且还可以提前对软件产品缺陷进行规避、缩短对缺陷的反馈周期和整个项目的测试周期。风险管理的方法不在这里讨论.

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xumiao_09005108/archive/2009/10/10/4649204.aspx

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Software's industrialization

不错的图片来几张

by sundy 11/18/2009 11:09:51 AM

untitled1 untitled2  untitled4 untitled5 untitled6

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Gossip

《轻公司》之尾声:轻公司法则[转]

by sundy 11/17/2009 6:46:12 AM

原文出处:http://ucdchina.com/snap/5184

2009年2月底,美国在线购物网站亚马逊发售了电子书阅读器Kindle 2,这个只能显示黑白双色的阅读器,样子老土得像从上世纪70年代研究所里爬出来,却仍然在经济危机下热销到断货。

而它的前辈Kindle 1,在2008年的总销售量约为50万台,与iPod刚面市第一年的销量近似。虽然以数码产品来说,Kindle的销售总量仍不算大,但如果从传统出版业的角度来看,50万已经是一个相当惊人的数字,尤其是在一本书卖上5万册就能登上排行榜、一本杂志卖上10万册就能获取影响力的当今社会。

但是,和数码玩意儿iPod本质上不同的是,Kindle的东家亚马逊并没有将其看成数码产品,它的真正使命是书籍的载体——在互联网影响下的商业环境里,传统世界的价值正在往互联网迁移,图书业曾经在本世纪初实现了第一次迁移,亚马逊建立了书籍的电子商务网站,并且在多年后的今天成功转型为百货的大型交易平台,并且将冗余的互联网能力出售给那些意欲在互联网上开展业务的传统企业,比如全美第二大零售企业Target,这些被亚马逊泽被的传统企业们,其网站将被烙上“Power By Amazon”的印记。

Kindle是图书业的第二次互联网迁移,更纯粹,更高效,它可以预示的是,纸张的书籍未来将完成全面电子化的改造。

现在,往互联网迁移的并不仅仅是图书业,我们在书中讨论的大量传统行业,比如服装、消费电子、化妆品、珠宝首饰等大量的消费品行业,正在往互联网进行着价值迁移。

在由传统行业往互联网的大迁移过程中,一些新的商业法则颠覆了旧有的秩序,这就是轻公司法则,同时也是未来商业趋势。

透明平等的商业文化

法则一:透明平等

互联网令企业间的商务合作变得可视化,而且也是一个与消费者建立双向沟通机制的理想环境。所有的信息得以无缝流动,令企业与合作伙伴以及客户的互动变得更加高效。

传统行业中的IT系统互联互通,实际上是一种类互联网环境。商业数据的共享,令企业之间的关系变得更加平等,同时也建立了透明之上的信用机制。

透明平等,是新的商业法则的基础。

法则二:新的利益分配机制

过去的传统行业之间的合作,更像是一个零和游戏,在利润池不变的情况下,合作的企业之间互相蚕食利润。但是新的商业环境下,跨行业、跨领域之间的企业在互联网和IT构筑的信息透明共享机制之上,结成新的利益联盟,它们在一个逐渐开放平等的环境中寻找新的利润空间。

新的利益分配机制由此而形成——在可视化的商业行为中进行透明分账。Google凭借透明的利益分配机制,集结了大量的民间独立站点,而亚马逊也借此吸引了各类合作伙伴加盟到网络零售的狂欢中。

去中心化和再中心化

法则三:开放性平台

在传统的互联网商业环境里,我们看到的是一个去中心化的架构,消费者个性化的需求越来越明显,大热门不再是惟一的利益创造者。互联网上诞生了大量的个体群落,而分布式架构等技术力量,使得去中心化的趋势越来越明显。

但是,当大量的去中心化个体独立存在后,一些拥有市场能力或者客户组织能力的企业开始了再中心化的再造过程。和以往的集权式中心化不同,新的再中心化的表现形式,则是由一个多接口的开放性平台为核心去组织外部资源,它们以透明可视化的利益联盟为前提,实现规模化成长。

法则四:成为资源的组织者

传统企业里集权制的发号施令角色不见了,新的商业环境里,轻公司的角色是组织者,它们通过更加强有力的客户获取能力以及渠道能力,根据市场需求,反向进行资源匹配。在组织者对价值网络的动态调配下,整体的商业价值得以提升。

法则五:外骨骼式杠杆增长

在成熟的产业链上出现的轻公司,总是将自己擅长的能力抓在手里,而将不善长的能力外包给价值网络伙伴。与有机一体化企业或者传统的一成不变的契约制合作模式相比,轻公司以开放的形态组织一个价值网络。

和过去强调的价值链相比,轻公司与价值网络成员的合作关系是动态的,却又比以前的传统契约关系更加灵活紧密。因为组织者轻公司的客户获取能力可帮助价值网络成员在过剩的制造环境中快速建立核心竞争力。动态的关系有利于整个价值网络建立良性竞争机制,使得网络成员在竞争中不停地优化。在轻公司组建的可视化价值网络中,所有成员快速共享的市场信息,整个网络成员都具有灵活的市场反应能力。

法则六:建立商业生态系统

价值网络的最高形态是商业生态系统。未来的商业战争不再是企业之间的战争,而是商业生态系统之间的战争。一个多层级的商业生态系统将更具安全性,这也包括了这个系统中一些强势的群体建立的自己的生态圈,只有每个成员都能在这个系统中获利,商业生态系统才是健康和可持续发展的。

互联网和IT系统的互通互联,使得商业生态系统成员之间沟通更加便捷,可视化的交互令商业文化也变得更加民主。

重新认识消费者

法则七:用互联网组织消费者

这场商业环境的变革,发起者实际上是消费者。他们的力量越来越强势,开始从渠道端影响到企业的制造端,甚至上溯到设计端。由个体和企业互动进行价值共创,以及商业生态系统里每个成员的价值共创,成为未来的商业趋势。

社区正在成为黏合消费者的渠道,以兴趣点和个人偏好为出发点的社区,可以帮助企业找到自己的潜在目标客户,同时培育客户忠诚度,提升重复购买率。

社区也正在成为轻公司进入传统行业的切入点。篱笆网就是通过装修社区切入家装市场渠道,以高忠诚度的人群为吸引力,反向整合家装市场资源。

另外,互联网赋予了消费者更多的权利,他们甚至有机会参与到企业的设计流程中,直接投票自己心仪的产品。传统的研发设计——制造——销售的流程被颠覆,在产品转变为商品的每一个环节中,消费者都通过互联网参与进来,发表自己的意见,并且投票选出自己心仪的产品。那些呼声最高的产品,往往最有市场潜力。企业由此打破了以前的市场预期不明朗的信息盲区,透明的参与过程,也令企业降低了市场风险,并且借助维基式的外部力量,企业得以低成本地获得更多的市场反馈。

由消费者主宰商业环境的时代来临了。这也是价值共创时代的开端。

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Gossip | Internet Communion

电子商务 成都要做西部第一

by sundy 11/6/2009 5:19:40 AM

摘自: http://news.163.com/09/1106/06/5NDRPS2G000120GR.html

数年后,成都人可以畅享这样一种时光:生活中的大事小事,都能在互联网上滑动鼠标,通过电子商务来轻松解决。每天将购菜订单发送至农产品配送公司,而不用下班时分再去挤超市、农贸市场;年休假前,登录旅游网站,让专业人才为您量身定制自助游方案,并预订好机票、门票、酒店……市政府新闻办昨日举行第36次专题新闻发布会,正式公布了《成都市电子商务规划(2009—2012)》(以下简称《规划》),提出到2012年,成都电子商务交易额突破3000亿元,在中心城区形成3—5个电子商务专业楼宇,拥有国内最佳的电子商务产业生态环境,电子商务综合竞争力位居西部第一。同时,我市还将制定电子商务相关标准和规范,加快推动电子商务地方性法规建设。

关键词:发展优势

成都网民两成网上购物

“中国互联网信息中心(CNNIC)发布的《2008四川省互联网络发展状况统计报告》显示,成都市互联网普及率达到60%,高于全国25.5%的平均水平。上网用户约660万户,网上购物的网民约为141万人,占网民总数的21.4%。”《规划》中对成都网民的成长优势进行了详尽分析,认为网上购物、在线支付等B2C消费模式日益被成都网民接受,网民结构从“80后、90后一族”开始向中老年人群多样化发展,网上消费开始普及,网民行为日趋成熟,为我市B2C、C2C电子商务发展奠定了良好基础。

在基础设施方面,成都是全国八大通信枢纽之一,拥有较先进的信息化基础设施、较高的信息化应用水平和庞大的移动通讯用户群,为电子商务发展提供了良好的基础设施条件和信息服务承载能力。

关键词:发展目标

电子商务交易额将猛增

市商务局局长郭启舟在新闻发布会上介绍说,《规划》制定的我市电子商务业的发展目标是:到2012年,拥有国内最佳的电子商务产业生态环境,形成较为完善的电子商务发展基础和支撑体系,电子商务与实体经济高度融合,对三次产业的促进作用明显增强,初步建成西部地区产业集中度最高、市场辐射力最强的电子商务城市。电子商务综合竞争力位居西部第一,进入全国城市前列。到2012年,我市电子商务交易额要突破3000亿元。还将引进30家国内外知名电子商务服务企业在成都设立区域性总部,培育20家注册用户超过20万户的本土第三方平台;在中心城区形成3—5个电子商务专业楼宇;在成都高新区形成平台集中度最高、研发能力最强的电子商务集聚区等。

关键词:招大引强

区(市)县将形成几大发展方向

根据《规划》,我市将出台招大引强的突破性政策,着力引进国内外知名电子商务服务企业设立区域运营中心、结算中心、呼叫中心及研发中心。在具体的招大引强规划上,将以高新区、青羊区工业总部基地电子专业楼宇、武侯区“198”区域等为载体,重点发展电子商务技术创新和项目研发、企业与高校和科研院所合作开发科技项目或实施科技成果转化、专利申请和转化、争取上级重大科技专项等;金牛区、青白江区、龙泉驿区、双流县等商品集中发展区,则重点吸引典当、拍卖、租赁、期货、分拨、配送等电子商务运营商提供配套服务、搭建公共服务平台,提升市场园区批发交易服务功能和现代化水平等。

关键词:产业推广

建设西部“网上春熙”

为全面提升电子商务应用水平,《规划》以我市产业基础较好、电子商务较易推广的行业和领域为突破口,分别提出了推广目标,包括制造业、农业、商贸流通业、民生服务业、旅游业、教育培训业、文化创意产业、软件和服务外包、房地产业等九大产业。如商贸流通业,支持成都零售商协会牵头整合我市大型卖场和连锁店的网购业务,建立成都网购门户和联盟营销、联合配送的市场化机制,建设西部“网上春熙”和网购中心。

关键词:政策支持

将支持个人网上创业

按照《规划》,我市将实行积极的财政支持政策。对入驻创业孵化园区、专业楼宇和集聚区的电子商务企业在培育期内给予房租补贴;对电子商务平台建设等重大项目给予贷款贴息,对我市企业加入电子商务第三方平台的注册费用给予补贴等。我市还将支持个人网上创业,积极探索通过网络办理工商执照和税务登记等事项,建立适应电子商务发展的行政管理和政务服务体制。

在电子商务人才培训方面,我市将对被电子商务企业新录用并签订一年以上劳动合同、按规定参加社会保险的大学生给予其参加技能培训取得职业资格证书或培训结业证书的培训补助;对新引进电子商务总部的高管人才实行个人所得税奖励和安家补助

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Education & Consultation | Electronic Commerce

如何让你的网站排名靠前

by sundy 11/3/2009 6:12:55 PM

网站做好了,怎样才能让你的网站在各大搜索引擎中排名靠前呢?网上的帖子很多,通过搜索和总结,整理出了一套自己行之有效的方法,写出来供大家参考
成功案例推荐:http://sooboo.com.cn/
还在继续整理中,而且我们的网站也在不断优化中.........
1、 网站建好后首先到各大搜索引擎免费登录你的网站
http://www.sowang.com/freesubmit.htm
http://bbs.5ixb.com/simple/index.php?t584.html
2、 下载一个spider模拟器, 来查看你网页被SE检测到的信息, 可以在这个网址查看你页面被搜索引擎收集到的信息: http://www.webconfs.com/search-engine-spider-simulator.php, 根据这些信息, 修改页面, 去掉无用信息, 增加你认为有用的信息。
3、 尽量不要把整个页面都用Flash或者图片来实现, 这样SE无法找到页面的有用信息.
4、 用标准代码设计网页,一个页面最主要有2个部分需要关注, 一个是<head></head>, 另外一个是<boy></body>, 至少这2部分应该设计好了, SE喜欢从左到右,自上而下搜索信息, 它认为页面上面的信息更重要, 所以尽量把你要突出的信息放在页面的上面
5、 <title>标志:
title标志作为页面的重要信息, SE非常看重, 应该把本页面要突出的信息精简到20个字以内作为title的值. 但不要用与页面无关的关键字作为title值, 否则会被SE惩罚.
6、<Meta>标志:
每页都加上关键词比较好,但是不要堆砌关键词,堆砌关键词会被搜索引擎视为作弊,最好是有2、3百字的内容。在内容中有主要关键词,而关键词密度在2%到8%之间(这是目前几个月的最佳关键词密度,以后可能会变). 关键词要注意:Title和网页内容中含有关键词最重要、其次是Meta描述&Meta 关键词。然后网页内容中的<h></h>之间的标题中是否含有关键词也很重要。Meta最重要的是Description,而Meta Keywords现在大型的搜索引擎都不会在意,比如Google和Yahoo都不会根据Meta Keywords来进行网页排名。Description中关键词的原则同样是搜索量最大最相关的放在最前面,比如我们网站是做汽车保险报价的,原来我们网站的关键字是这样描述的
<meta content="平价车险,搜保,搜保网,低价车险,搜保车险网,车险,北京车险,车险报价,车险超市,搜保车险,汽车保险,车险网,华安车险,中保车险,中华联合车险,平安车险,太平洋车险,便宜车险,保险超市,在线投保"name="keywords">,在baidu中打入“保险”,你会发现“车险计算”这个关键词的搜索量是最高的,这个关键词不用,等于浪费,按照百度确定关键词搜索量的方法,排在最前面的关键词是:车险计算,平安车险,人保车险,北京车险,强制车险,中保车险,太平洋车险,车险论坛,车险知识,上海车险,车险理赔,车险种类,保得车险网,车险营销,武汉车险,天平车险,车险网,中国车险网,网上车险,所以我改成这样:
<meta content="车险计算和车险投保尽在搜保网。国内首家网上专业代理平安车险,人保车险,中保车险,太平洋车险。向消费者提供平价、快速、高品质的汽车保险销售服务。" name="DESCRIPTION">
<meta content="车险,车险计算,平安车险,人保车险,北京车险,强制车险,中保车险,太平洋车险,车险知识,车险理赔,车险种类,车险网,网上车险,车险报价,搜保网,车险报价,搜保车险,汽车保险,低价车险,搜保车险网,平价车险,便宜车险,在线投保" name="keywords">
一般可以把这段子写到一个title.lbi文件中,如
<title>搜保网-全国首家专业车险报价平台,为您提供精确快速的网上报价服务</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta content="车险,车险计算,平安车险,人保车险,北京车险,强制车险,中保车险,太平洋车险,车险知识,车险理赔,车险种类,车险网,网上车险,车险报价,搜保网,车险报价,搜保车险,汽车保险,低价车险,搜保车险网,平价车险,便宜车险,在线投保" name="keywords">
<meta content="车险计算和车险投保尽在搜保网。国内首家网上专业代理平安车险,人保车险,中保车险,太平洋车险。向消费者提供平价、快速、高品质的汽车保险销售服务。" name="DESCRIPTION">
然后嵌入到页面中,如
<HTML>
<HEAD>
<!--#include virtual="/Library/title.lbi" -->
</head>
<html>
7、我之所以把“车险报价”放在了后面,是因为你按照我的方法在百度中搜索会发现“车险报价”这个关键词根本没有什么人搜索,所以放在后面,没有人搜索就表示没有人流,关键词是别人的搜索习惯,不是俺们做网页的自己想出来的,所以首先要分析什么关键词别人用的最多
8、 javascript: SE一般对javascript不感冒, 尽量不要在页面的<head></head>间放置大量的javascript函数, 这样会使SE不知所措, 而且大部分SE在爬行你的页面时都有时间限制, 或者最大信息量限制, 在前面放置很多javascript代码会使SE运行缓慢, 降低对你的兴趣, 最主要还是这部分代码把你后面有用信息占用了,使得SE无法获取你页面有用的信息, 如果你实在要用javascript, 尽量把所有javascript代码放在一个js文件里, 然后在页面连接这个JS文件即可
9、 给所有<img>加上alt属性, 这个一个好的习惯, 尤其是指向一个连接的图片一定要加上要连接网址的关键信息, SE会对有连接指向的图片的ALT属性进行识别, 但对无连接的图片不作处理.
10、 <h1><h2>: SE对这样的信息很感兴趣, 而且会对其增加权重, 所以把最重要的信息用<h1></h1>标识出来, 把次重要的信息用<h2></h2>标识出来. 注意: 一个页面应该只有一个<h1></h1>, 可以有多个<h2></h2>, 否则会被SE认为是作弊的
11、 尽量不要用mouseovers, 最好在css里用hover来实现
12、 尽量不要套用多层次的<table>, SE一般最多只能读取3个<table>的嵌套, 如果多了, 它就懒得读下去了, 造成你的有用信息没有被检测到.
13、 <b><strong>: 这些标识也会被SE很好的注意到, 虽然权重不如<h1><h2>那么高, 可以灵活使用.
14、 一个页面的连接数量最多不要超过100个, google认为只有前100个是有用的
15、 对于搜索引擎来说,页面各个元素的权重比例。
内部连接: 10 分.
标题title: 10 分.
域名: 7 分.
<h1>和<h2>: 5 分.
页面第一个段落的开始部分: 5 分.
路径和文件名: 4 分.
相似关键词: 4 分.
每个句子的开始部分 1.5 分.
<b>和<strong>: 1 分.
内容: 1 分.
Title属性: 1 分. (注意不是<title>, 是title属性, 比如<a href=… title=””>)
alt 标志: 0.5 分.
<meta>的description属性: 0.5 分.
<meta>的 keywords属性: 0.05 分.
16、 尽量用HTML的格式, 如果的确要用数据库, 尽量减少参数的长度
17、 我的网站( http://www.sooboo.com.cn/ )以前显示商品都是用一个aspx文件通过参数传递的, 结果这个aspx文件只能被SE收录1页, 而且排名根本找不到; 后来我把动态页面转换成了静态页面,用HTML格式显示, 每个商品一个HTML页面, 结果google收录增加了5000多页, 而且每个商品在google的排行基本都在第一页了, 一搜的也是. 最近来自一搜的访问量成倍增加. 一搜基本上只对HTML文件感兴趣, 对动态页面不太感冒.
可以写个基类,如
public class BasePage: System.Web.UI.Page
{
public BasePage()
{
}
protected override void Render(System.Web.UI.HtmlTextWriter writer)
{
string name=Request.Url.AbsolutePath.Substring(1,Request.Url.AbsolutePath.Length-1).Replace("aspx","htm");
string newurl="";
if(name.IndexOf("/")>0)
{
newurl=Server.MapPath("../") + name;
}
else
{
newurl=Server.MapPath("./") + name;
}
MemoryStream ms = new MemoryStream();
StreamWriter sww = new StreamWriter(ms);
StreamWriter swr = new StreamWriter(newurl);
System.Web.UI.HtmlTextWriter htmlw = new HtmlTextWriter(swr);
base.Render(htmlw);
htmlw.Flush();
htmlw.Close();
string strLL = System.Text.Encoding.UTF8.GetString(ms.ToArray());
Response.Write(strLL);
Response.Redirect(Request.Url.AbsoluteUri.Replace("aspx","htm"), true);
}
}
然后在需要生成静态页面的页面中继承就可以了
18、 反向连接:google非常重视反向连接, 可以通过以下方式来增加反向连接:
A: 友情连接, 最好找PR高的, 而且被SE收录很多页面, 排名靠前的连接, 千万不要和看起来PR很高, 但一眼就看出来是作弊的网站连接. 也不要和PR状态栏是灰色的连接, 这样的网站有可能是没有被收录, 也有可能是被惩罚了; 另外, 连接的时候也不一定非要连接你的首页, 也可以多连接些你的其他重要的页面, 比如网站的站点地图等页面, 首页外部连接不要太多,不超过40个. 20个以内最好.
B: 登陆网址站, 象dmoz, yahoo等目录要使出浑身解数来登陆, 但不要隔两天就登陆一次, 其他的网址站登陆越多越好, 至于如果找网址站, 你可以看看你的竞争对手在google里的反向连接, 在google输入 “link:www.****.com”, 就可以看到对方网站的反向连接, 你可以挨个进入搜索的结果, 在每个页面里也申请你的连接, 可以方便的找到很多连接网址站.
C: 留言板留言: 类似网址站登陆, 但写法一定要科学, 否则就没有意义了, 一般我是这样写的:
<a href=http://….>网站名</a>
网站名
网站名 http://.... 申请和贵站友情连接
D: Blog博客
现在博客也在中国兴起了, 完全可以充分利用一下, 可以注册一个帐号,来宣传你的网站, 也可以直接发表评论, 评论内容基本和留言板的格式一样
E: 论坛宣传
这个我就不多说了, 反正不要让人一看就是广告就行了
19、 内部连接
很多人只看重外部连接, 岂不知道内部连接也相当重要, 我的基本思路是, 所有页面都包含主页和其他重要页面的连接, 和本页相关的页面也加上连接, 最终让你所有的页面都能够互连.
20、 域名和文件名
SE看重域名和页面文件名, 但多情况下, 域名已经不想改了, 只好修改文件名了, 尽量让你的文件名包含页面关键字的英文名称
21、 不要用作弊的手段来欺骗SE, 即使成功一时, 也不会成功永久, 到时候肯定会被惩罚. 所谓善恶到头终有报, 只挣来早与来迟.况且, 合法优化网站也完全可以达到这个效果
22、 网站速度的影响,网站速度对SE的排名也很有影响, 访问速度慢, 会让SE爬行你页面的时候失去耐性, 从而减少你页面的信息量, 让你的排名靠后, 如果你的服务器非常慢, 就应该考虑重新换应该快点的服务器了
23、 经常更新你的重要页面, 哪怕只是更换应该图片也好, 这样会让SE了解到你的网站更新很快, 有生命力, 对你的重视程度会增加, 排名当然也会提高的. 我网站基本2天google更新一
24、 用Blogger.com做一个甚至几个个人博客,博客中首页几篇文章中含有搜保网的链接。将这个博客的RSS提交到Yahoo和各个rss登录站点,因为rss会每天搜索你的网站,一旦rss被别的网站引用,就等于别人免费的间接的加入了你的搜保的网站,而你根本不需要交换链接,这种链接比交换链接更有效
可以从以下网站中登录
http://www.feedss.com/
http://www.okrss.com/search.html
http://www.rss-cn.com/
http://rss.blogbeta.com/
http://www.92rss.com/cn/
http://www.bloghome.cn/posts/506
http://www.sorss.com/rss.htm
http://bbs.5ixb.com/thread.php?fid=49
http://www.rssfav.com/baimin/rss.htm
http://www.jingzhengli.cn/baogao/f20060613.htm
http://www.700net.com/article.asp?id=112
http://blog.caihongxu.com/index.php/archives/70-OEAEBlogRSSyCo.html
http://www.rsschina.com.cn/
25、 在大型的汽车网站上要求买一个广告位,买之前先看看PR值,这种地方往往PR在3、4左右的1000到2000元以下就可以搞定(看你的图片大小),有的甚至100到200元就可以搞定。在这种PR4以上的网站上放广告3个月以上,你的网站至少会有PR为3。这时候人流自然就会滚滚来。
26、 我用的最多的还有一个方法是写文章。比如我要做汽车保险,我会找到排名靠前的人气网站,或者个人网站,我不会说要交换链接,我会说我有一篇我自己写的专业文章,和你的网页内容很相关,我愿意免费放在你的网站上,你只需要允许我的文章中保留我的出处就行,而这个出处就是我的真正要赚钱的商业网站链接,这个方法如果你的文章真的写的很好,有三分之一的站长会同意。而这些网站都是我研究过PR很高,或者人气很旺的网站,所以在这些网站上一旦发表了你的文章,你的网站PR自然会提高,而且人气会上来,这个文章一定要原创并且题材吸引人。我的经验是吸引人的题材90%都是“我是如何解决......?"之类的文章

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Internet Communion

HttpWebRequest Detail

by sundy 11/3/2009 5:55:58 PM

Determining Whether the Device Is Connected

Most network applications need to know whether the device is currently connected to the network. A well-designed mobile application allows the user to make use of it even if the device isn’t connected. For example, if the device has lost wireless connectivity, it should be able to operate using data cached on the device, and then possibly re-sync with a server when network connectivity is regained.
There is no class in the .NET Compact Framework that raises events to inform an application when connection to the network is lost and regained. Instead, you must code with this eventuality in mind and make sure your application is tolerant of network outages. You might need to write code that polls for a network resource to determine when the device has network connectivity.

For example, if your application uses XML Web services, you might need to connect to the service to upload data changes and download data to the device when a network connection is available. In your application, you should write a method that uses the WebResponse class to send an HTTP GET request to a valid URL on the server where the XML Web service is located. If the HttpWebResponse.StatusCode property in the response equals HttpStatusCode.OK, connectivity to the server is confirmed. You should call this method from a TimerEvent of a System.Threading.Timer instance to poll the server at intervals; when the method succeeds, the application knows that it can make a successful HTTP connection to the server, so the interaction with the XML Web service or access to other network resources can proceed.
Understanding WebRequest and WebResponse Basics
The most important classes in the System.Net namespace are the WebRequest and WebResponse classes, which are abstract classes.

using System.Net;
using System.IO;

    WebRequest req = WebRequest.Create(uri);
    WebResponse res = req.GetResponse();    // GetResponse blocks until the response arrives
    Stream ReceiveStream = res.GetResponseStream();    // Read the stream into a string
    StreamReader sr = new StreamReader( ReceiveStream );
    string resultstring = sr.ReadToEnd();

Fetching a Resource Using HTTP

If the scheme of the URI is http:// or https://, the Create method returns an instance of the HttpWebRequest class. The GetResponse method of this instance makes a request to the resource and returns an HttpWebResponse instance that contains the response.

HttpGetSample
using System;
using System.IO;
using System.Net;

namespace NETCFDevelopersReference
{
class HttpGetSample
{
/**//// <summary>
/// The main entry point for the application.
/// </summary>
static void Main(string[] args)
{
            HttpGetSample thisclass = new HttpGetSample();
            thisclass.getPage("target URL here"); // <-- EDIT THIS!
        }

public void getPage(String url) 
{
            WebResponse result = null;

try
{
                WebRequest req = WebRequest.Create(url);
                result = req.GetResponse();
                Stream ReceiveStream = result.GetResponseStream();

//read the stream into a string
                StreamReader sr = new StreamReader( ReceiveStream );
string resultstring = sr.ReadToEnd();

                Console.WriteLine("\r\nResponse stream received");
                Console.WriteLine(resultstring);
            }
catch(Exception exp) 
{
                Console.Write("\r\nRequest failed. Reason:");
                Console.WriteLine(exp.Message);
            }
finally
{
if ( result != null ) 
{
                    result.Close();
                }
            }

            Console.WriteLine("\r\nPress Enter to exit.");
            Console.ReadLine();
        }
    }
}

The Finally block ensures that the WebResponse object is closed, regardless of the success or failure of the program. This is important to ensure that network resources are not wasted.
Handling Errors
You get an exception of type UriFormatException when the URI cannot be parsed or an exception of type WebException for other errors. The Status property of WebException returns a value from the WebExceptionStatus enumeration. If Status is WebExceptionStatus.ProtocolError, the exception is a result of an HTTP protocol error. You can then access the WebException.Response property, which returns an HttpWebResponse object containing the response from the server. Use the HttpWebResponse.StatusCode property to find out the HTTP status code the server sent back, and use HttpWebResponse.StatusDescription to obtain the description string that corresponds to that status code.

Working with HTTP Headers

The HttpWebRequest class allows you to control the HTTP headers sent with your request, which you do by setting properties or by executing methods of the class.

HTTP Headers Sent

HTTP Header

Set By

Accept

HttpWebRequest.Accept property

Connection

HttpWebRequest.Connection and HttpWebRequest.KeepAlive properties

Content-Length

HttpWebRequest.ContentLength property

Expect

HttpWebRequest.Expect property

Date

Set to the current system date

Host

Not set

If-Modified-Since

HttpWebRequest.IfModifiedSince property

Range

HttpWebRequest.AddRange method

Referer

HttpWebRequest.Referer property

Transfer-Encoding

HttpWebRequest.TransferEncoding property (the HttpWeb­Request.SendChunked property must be true)

User-Agent

HttpWebRequest.UserAgent property

The HttpWebResponse instance exposes HTTP headers as properties in a similar way.

HTTP Headers Received

HTTP Header

Read By

Content-Encoding

HttpWebResponse.ContentEncoding property

Content-Length

HttpWebResponse.ContentLength property

Content-Type

HttpWebResponse.ContentType property

Length

HttpWebResponse.Length property

Server

HttpWebResponse.Server property

Both classes also have a Headers property that exposes HTTP headers as a System.Net.WebHeaderCollection instance. For example, instead of using the UserAgent property, you can add the User-Agent header using the following code:

HttpWebRequest req = (HttpWebRequest) WebRequest.Create(uri);
req.Headers.Add("User-Agent", "dotNETCF Test Program");
HttpWebResponse res = (HttpWebResponse) req.GetResponse();
String server = res.Headers["Server"];

Network Transfer Encoding
All data transferred over the network is encoded. The Windows CE operating system uses Unicode to represent characters, but this requires at least 2 bytes to represent any character, which is not as efficient as the U.S. ASCII character set, which requires only one byte per character. But ASCII represents only commonly used characters in Western alphabets, so it is unusable in languages requiring other characters, such as European languages, Chinese, Japanese, or Arabic.

The compromise solution is to use character encodings. The most common of these is UTF-8, which is a variable-length multibyte encoding requiring a single byte for 7-bit characters that are in the U.S. ASCII character set and 2 bytes for characters outside it. This results in efficient encodings for Western alphabets and the flexibility to handle non-Latin characters.
The default encoding assumed by the HttpWebRequest and HttpWebResponse classes is UTF-8

You can determine the character set encoding of a response by getting the HttpWebResponse.CharacterSet property. However, beware, there is a trick to this! You must set the MediaType property on the request; otherwise, the CharacterSet property on the HttpWebResponse will be blank. Even then, CharacterSet will only return the character set encoding used if the first part of the Content-Type header returned with the response (which is the media type) matches the value you set in the MediaType property of the request.
For example, if you set HttpWebRequest.MediaType to “text/html” before calling HttpWeb­Request.GetResponse, and the Content-Type header returned with the response is “text/html; charset=utf-8”, the HttpWebResponse.CharacterSet property will contain the name of the character set encoding (“utf-8”) because the “text/html” media type sent in the first part of the Content-Type header matches the value set in HttpWebRequest.MediaType. If the media types differ, HttpWeb­Response.CharacterSet is a null string.

Decoding
HttpWebRequest req = (HttpWebRequest) WebRequest.Create(url);
// You MUST set the MediaType property on the request, otherwise
// the CharacterSet property on the HttpWebResponse object will be
// blank.
    req.MediaType = "text/html";
    HttpWebResponse result = (HttpWebResponse) req.GetResponse();
// Note that the HttpWebResponse.ContentType property always
// returns the Content-Type header, which will be something like
// "text/html; charset=utf-8"
string contenttype = result.ContentType;
// Character set encoding may be something like ISO-10646-UCS-2, 
// or UTF-8, us-ascii etc
string charsetencoding = result.CharacterSet; 
//read the stream using the decoder
    Stream ReceiveStream = result.GetResponseStream();
    Encoding encode = System.Text.Encoding.GetEncoding(charsetencoding);
    StreamReader sr = new StreamReader( ReceiveStream, encode );

Using HTTP GET Query String
In the full .NET Framework, the System.Web.HttpUtility class provides methods to encode and decode URL-encoded data, but this class is not supported in the .NET Compact Framework. You must write your own code to handle URL encoding, such as the example code shown here:

UrlEncode
using System;
using System.IO;
namespace NETCFDevelopersReference
{
/// <summary>
/// Replacement for HttpUtility.UrlEncode
/// </summary>
public class HttpUtility
    {
public static string UrlEncode(string instring)
        {
            StringReader strRdr = new StringReader(instring);
            StringWriter strWtr = new StringWriter();
int charValue = strRdr.Read();
while (charValue != -1)
            {
if (((charValue >= 48) && (charValue <= 57)) // 0-9
                    ││((charValue >= 65) && (charValue <= 90)) // A-Z
                    ││((charValue >= 97) && (charValue <= 122))) // a-z
                    strWtr.Write((char) charValue);
else if (charValue == 32)    // Space
                    strWtr.Write('+');
else
                    strWtr.Write("%{0:x2}", charValue);
                charValue = strRdr.Read();
            }
return strWtr.ToString();
        }
    }
}

Using HTTP POST

To use POST, just set the HttpWebRequest.Method property to “POST” and then proceed as for GET. A typical HTML page shown in a Web browser posts data as key=value pairs, with the data URL-encoded, so your application must format the data in that way if that is what the Web server application expects. If you are simply posting application content or XML, just post it as is.

post
public void doPost(String url, String payload) 
    {
        WebRequest req = WebRequest.Create(url);
        req.Method = "POST";
        req.ContentType = "text/plain; charset=utf-8";
// Encode the data
byte[] encodedBytes = Encoding.UTF8.GetBytes(payload);
        req.ContentLength = encodedBytes.Length;
// Write encoded data into request stream
        Stream requestStream = req.GetRequestStream();
        requestStream.Write(encodedBytes, 0, encodedBytes.Length);
        requestStream.Close();
        WebResponse result = req.GetResponse();
    }

Alternatives to Cookies for Session State Support
The .NET Compact Framework implementation of the HttpWebResponse class does not support the Cookies property found in the full .NET Framework implementation. 
If you are using an ASP.NET application on the server, you can utilize the ASP.NET support for cookieless clients to track your smart device applications session. You enable this by setting cookieless to “true” in the sessionState configuration in the ASP.NET application’s Web.Config 
ASP.NET uses a munged URL to track sessions for cookieless clients, meaning it embeds a session ID into the response URI. For example, if your application makes a request to http://myserver/myserverapp.aspx, the response URI that returns to the client is actually something like http://myserver/(1en4l345qq203lr2f0h4xt45)/myserverapp.aspx. To the client, it looks like a server-side redirect. In the client application, this response URI is in the HttpWebResponse.ResponseUri property, so the client application need only use this URI for subsequent requests for the server application to be able to identify those requests as coming from that particular client.
Authenticating Requests with the NetworkCredential Class

WebRequest req = WebRequest.Create(url);
   NetworkCredential creds =
new NetworkCredential("andy", "pA55w0rd", "");
   req.Credentials = creds;
   WebResponse result = req.GetResponse();

Making Network Requests via a Proxy Server

//  Pass Proxy string and bypass local machine
   WebProxy myProxy = new WebProxy(
"http://myproxyserver.mine.com:8080", true);
// If  this proxy requires authentication
   myProxy.Credentials =
new NetworkCredential("loginname","password");
   Request.Proxy = myProxy;

Asynchronous Web Requests

HttpGetAsyncSampleMain.cs
using System;
using System.IO;
using System.Threading;

namespace NETCFDevelopersReference
{
class HttpGetAsyncSample 
{
public static void Main(string[] args) 
{
            HttpGetAsyncSample thisclass = new HttpGetAsyncSample();
            thisclass.Run();
        }

private bool isComplete;

public void Run()
{
            Console.WriteLine();
            Console.WriteLine("Test Program makes HTTP AsyncGet"
+ " to http://www.gotdotnet.com/team/netcf");
            Console.WriteLine("Press Enter to continue");
            Console.ReadLine();

            GetHttpAsync callit = new GetHttpAsync();
// Wire up to handle the complete event
            callit.GetComplete += new
                GetHttpAsync.GetCompleteHandler(this.GetCompleteHandler);
// Set the flag we will check for completion
            isComplete = false;

            Console.WriteLine("Making async call");
            callit.getPage("http://www.gotdotnet.com/team/netcf");

            Console.WriteLine("Main thread writes these dots, "
+ "while async fetch proceeds");
            Console.WriteLine("in secondary thread");
int count = 0;
while (!isComplete)
{
                Console.Write(".");
if (++count == 80) Console.WriteLine();
                Thread.Sleep(500); // Sleep for half a second
            }
            Console.WriteLine("\r\nResponse Received");
            Console.WriteLine("Press Enter to exit");
            Console.ReadLine();

return;
        }

protected void GetCompleteHandler()
{
// Event handler for get complete
            isComplete = true;
        }
    }
}

HttpGetAsyncSampleGetHttpAsync.cs
using System;
using System.Net;
using System.IO;
using System.Text;

namespace NETCFDevelopersReference
{
// The RequestState class is used to pass data
// across async calls
public class RequestState
{
public HttpWebRequest Request;

public RequestState()
{
            Request = null;
        }
    }

/**//// <summary>
/// Class makes asynchronous HTTP Get to remote URL
/// </summary>
public class GetHttpAsync
{
public delegate void GetCompleteHandler();
public event GetCompleteHandler GetComplete;

public void getPage(String url) 
{
try
{
                HttpWebRequest req =
                    (HttpWebRequest) WebRequest.Create(url);
// Create the state object
                RequestState rs = new RequestState();

// Add the request into the state 
// so it can be passed around
                rs.Request = req;

// Issue the async request
                req.BeginGetResponse(
new AsyncCallback(this.ResponseCallback), rs);
            }
catch(Exception exp) 
{
                Console.WriteLine("\r\nRequest failed. Reason:");
while (exp != null)
{
                    Console.WriteLine(exp.Message);
                    exp = exp.InnerException;
                }
            }
        }

private void ResponseCallback(IAsyncResult ar)
{
// Get the RequestState object from the async result
            RequestState rs = (RequestState) ar.AsyncState;

// Get the HttpWebRequest from RequestState
            HttpWebRequest req = rs.Request;

// Get the HttpWebResponse object
            HttpWebResponse resp =
                (HttpWebResponse) req.EndGetResponse(ar);

// Read data from the response stream
            Stream responseStream = resp.GetResponseStream();
            StreamReader sr =
new StreamReader( responseStream, Encoding.UTF8);
string strContent = sr.ReadToEnd();

// Write out the first 512 characters
            Console.WriteLine("Length: {0}", strContent.Length);
            Console.WriteLine(strContent.Substring(0, 
                strContent.Length < 512 ? strContent.Length : 512));

// Raise the completion event 
            GetComplete();

// Close down the response stream
            responseStream.Close();
        }
    }
}

---------------------------------------------------------------------

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Microsoft Domain

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.
© Copyright 2007 - 2008 Design by Sundy Linghua-Zhang 蜀ICP备08108648号

About the author

Name of author Author name
Something about me and what I do.

E-mail me Send mail

Calendar

<<  September 2010  >>
MoTuWeThFrSaSu
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

View posts in large calendar

Recent comments

Authors

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2010

Sign in