精华内容
下载资源
问答
  • 本文的目的是找出在技术行业中如何提高员工在虚拟工作环境中的敬业度的方法。 为了进行研究,研究人员以自决理论为基础,并根据领导者行为描述问卷和Development Dimensions International的E3:registered:参与度...
  • 什么样的环境才是最理想的工作环境呢? 突然看到去年找的关于《理想工作环境》的相关资料,现在贴出来分享给大家。这个源于一个面试题, 忘了是哪家公司问我,你心中理想的工作环境是怎样的,我一时语塞,甚至从来...

    转自:https://www.cnblogs.com/wangyaning/p/6131475.html

    什么样的环境才是最理想的工作环境呢?

    突然看到去年找的关于《理想工作环境》的相关资料,现在贴出来分享给大家。这个源于一个面试题, 忘了是哪家公司问我,你心中理想的工作环境是怎样的,我一时语塞,甚至从来没有考虑过这样的问题。理想的工作环境?!能有人要我就非常不错了,后来还是找了非常多的资料总结了总结。因为准备面试所以也找了不少双语的材料,各位凑合看吧。

    Can you describe your ideal working environment to me?

    Alternative and related questions: 
    Which of your previous working environments was the best? 
    The meaning behind the question:

    As with other questions which ask you to describe your ‘ideal’ of something work-related, the interviewer is attempting to assess how closely your ideal fits with the reality of their organisation. Unless you see through this aspect of their question, you could easily reveal reasons for them to notch up black marks on your application. They’re testing your compatibility.

    Your answer:

    How much do you know about the working environment in the organisation to which you’re applying? Shallow as it may seem, this is what you need to be describing.

    With a bit of luck, you’ll already have been able to glean quite a bit of useful information from the interviewer during the course of your interview – information which you can now feed back to them.

    Example:

    My ideal working environment is one where there’s a good sense of team spirit. A strong work ethic is obviously important but the human side is also important. I enjoy working with people who have a decent sense of humour and who, while they might take their work very seriously, don’t necessarily take themselves overly seriously! I like people who are down to earth but who have a dynamic and progressive approach to their work. I really enjoy working as part of a highly committed and professional team.

    Word of warning
    Avoid saying anything along the lines of the way they’ve described their organisation’s working environment as sounding like your idea of the ideal working environment. Don’t be seen to be overtly sucking up! Subtly does it.

    The Interview Question & Answer Book

    The Interview Question and Answer Book (推荐一本书)

    图书—————————————————–介绍
    col 3 isTake the fear out of your interview and never be stuck for the right answer to even the toughest questions with The Interview Question & Answer Book.The job market is fierce, competition has never been greater and it’s important that you can grab every opportunity for competitive advantage and stay one step ahead. Written by one of the world’s leading careers experts and bestselling author of The Interview Book, this definitive guide to questions and answers encourages every job-hunter to think on your feet and express your individuality while supplying ideal responses to interview questions so that you’re seen as the ideal candidate for the job.

    https://www.amazon.co.uk/gp/product/0273763717?ie=UTF8&tag=thcvce-21

    理想工作环境的核心—-充分的自由

    管理大师彼得·杜拉克指出,理想的工作环境要能够授权给员工,免除不必要的监督,员工知道公司对他们的期望,也很清楚公司如何评量他们的工作。 

    用计算机的时候,我是半躺在椅子上。思考的时候,我习惯把脚翘的比头还高,坐相就别说有多难看了。但公司要的是我写的程序,不是要我来当美姿示范的。所有的布置装潢、茶点饮料供应,以及充足的软硬件供应,都是为了能提供一个不同一般的工作环境。以促进软件人员的生产力来说,这些投资相对来说是很便宜的

    Management guru Peter Drucker pointed out, the ideal working environment for employees to be able to authorize, eliminating unnecessary oversight, employees know their company’s expectations, it is very clear how companies evaluate their work.

    When using a computer, I was half lying on a chair. Thinking, I used Alice’s feet higher than the head, let alone sit with how ugly. But the company is that I want to write a program, not to me when Timmia demonstration. All furnished decor, refreshments supply and adequate supply of hardware and software, are generally in order to provide a different working environment. To promote staff productivity software, these investments are relatively cheap

    工资比较高,工作环境宽敞充满了人文关怀以及绿色植物。高科技快节奏的IT 企业。 
    有一套完整的培训计划,这样我有很多机会能跟企业一同完善自我,一同成长。

    当我能够在家附近找到工作,这当然是最好的,但是趁着年期,多在外地闯荡一下也是好的,能够积累很多经验,俗话说,读万卷书,行万里路,这也是宝贵的人生体验嘛

    随着时间的推移,IT时代的到来告诉我们,每一个人都能成为自己的老板,如果你的创意足够,你就能开发一款流行的app应用,从运营商的分成模式中整取不菲的收益,现在的我们应该转变思维模式,从为了给别人打工,每时每刻的学习积累经验,最后在生活中成为自己的老板

    Relatively high wages, working environment full of humanistic care and spacious greenery. Fast-paced high-tech IT enterprise. 
    Has a comprehensive training program, so I have many opportunities to talk to companies with self-improvement, to grow together.

    When I was able to find a job close to home, which of course is the best, but taking advantage of young, mostly in the field battles what is good, can accumulate a lot of experience, saying,‘Read a thousand books, travel a thousand miles.’ this is a valuable life experience

    Over time, the arrival of the era of IT tells us that everyone can be your own boss, if you are creative enough, you can develop a popular app application to get into a lot of money from the operator mode income, now we should change mindset from others in order to work, the experience accumulated learning all the time, and finally become your own boss in your life.

    理想的工作环境是多元的

    这里写图片描述

    理想的工作环境是由“理想的企业”、“理想的领导”和“理想的员工”这三个元素组合而成,这种组合是动态的,时刻都在自我平衡。

    人活着就必须要工作,有很大一部分时间是在工作,所以往往很多时候,人的压力都是来自工作,回家通常会好点,在上班的时候,很多压力往往会让人很不快乐,甚至有的时候会将这些不快乐的心情带回家。在我看来,每个人潜意识里可能都在追求一个理想的工作环境,它是我们快乐生活一个基础。有了这个开始,我就问自己什么叫理想的工作环境?它怎么组成的?我认为理想的工作环境包括三个元素:一个是理想的企业,一个是理想的上司,一个是理想的员工。

    首先,理想的企业是一个环境,有了一个理想的环境,我们作为一个员工进去,我们可能扮演一个基层员工,也可能扮演一个上司,很多时候往往是同时扮演两个角色,我们有上司,同时我们也有下属,所以我认为一个理想的工作环境,就是这三个元素动态的互动,最后出来的结果就是我们的工作环境。

    这三个元素里面,其实包括了心态、沟通和知识。理想的企业,需要理想的企业文化,理想的沟通机制,还有一个套方法,就是怎么样让这个公司发展的很好,发展得好的公司才会创造出一个快乐的环境,如果有很多内耗的话,也会影响到员工的成长。那么同样的这三个元素也会用在上司和员工上。所以我们可以这样来想象,一个就是心态、沟通、知识,横着的就是企业、上司、员工,这样组成一个 3 x 3 的结构。 
    我以前讲“理想的工作环境”的时候,采取的是互动的方式,跟很多学员在互动,我问大家是否同意理想工作环境是具备了这些因素,反馈回来的结果有7点,有几点其实不重要,它只是提出一种参考,没有对错,不是一定是要7个5个6个3个,这个不重要,重要的是理想的工作环境对每个人来讲可能都不太一样,但是对很多人来讲就是有这7个方面考虑:

    第一是“清晰的企业目标” 
    很多员工为什么在一个企业里面做得不是很顺利,因为他们对一个企业到底想做什么、它的目标都不太清晰,如果他不知道企业的目标是什么,他就很难与这个企业去配合,也很难找到他自己的价值,所以最后还是反映到他个人的身上,所以一个企业必须要有一个清晰的目标,这个目标也是给员工一个清晰的目标去追随,这个很关键。

    第二是“能体现个人价值” 
    在这个环境里面,从员工的角度来讲,不管你是管理者还是一个员工,这个环境里应该是一个可以让你“体现自己价值的工作环境”,就是你上班不光是为薪水,而是你觉得有些理念,有些追求,是能够在这个环境里面实现的。

    第三是有一个“开放的沟通渠道” 
    就是能够畅所欲言,能够表达自己的思路、想法,并且感觉到很安全,这样的环境是每个人都追求的,特别是我们现在的年轻人,都追求这个。

    第四是“协作的同事关系” 
    不要看小这个,其实我们发觉很多,虽然我没有真正的数据,但是我相信,很多所谓工作的压力都是与同事关系不顺引发的,这些同事可能是平级,可能是跟上司,这种同事关系的不协调是带来工作压力的最大原因,所以很多时候,并不是工作原因给你带来很多压力,而是同事的关系不太顺给你带来很多压力。

    第五是“发展与学习” 
    ,这个工作环境能否提供一个“持续发展与学习的平台”,一个人要不断进步的话就要不断学习,不断去提高自己,所以工作环境要提供这个条件,让员工一方面工作、付出的同时,也可以在这个环境里面去学习,自己不断的去进步。

    第六就是“工作环境与家庭的平衡” 
    就是在这个工作环境里面我还能得到一个与家庭平衡的一个生活状态,比如有些企业就是整天要你无缘无故加班,你基本上没有什么家庭生活,理想的工作环境是会考虑到员工是需要一个生活的平衡。

    第七就是“持续改善的生活素质” 
    你如果在一个工作环境里面很多条件都很好,但是企业经营不好,经营得不好的话,你的收入每年降低,你的生活素质也难以改善。 
    所以基本上上来讲,理想的工作环境就是有这七方面的考虑,当然这七点也不是很完全,但是覆盖的面也已经是蛮大的了。

    环境是一种人文关怀

    google,facebook等的咱就不说了。我狭隘的认为环境好的公司一定也不会差到哪去:

    这里写图片描述 
    这里写图片描述 
    这里写图片描述 
    这里写图片描述 
    这里写图片描述

    p.s.

    国内大部分公司是这个吊样:

    这里写图片描述

    希望终有一天,我们都能有个好的办公环境!

    参考文献

    1.http://www.cyzone.cn/a/20130926/245740.html

    展开全文
  • 程序员理想中的工作环境是什么样的? 字数1666 阅读739 评论5 喜欢20 即使是程序员,也有向往诗和远方的权利。 可以穿拖鞋?可以戴着耳机听着歌?配备两个显示器?身边总是围绕这MM端茶递...

    程序员理想中的工作环境是什么样的?

    字数1666  阅读739  评论5 


    即使是程序员,也有向往诗和远方的权利。

    可以穿拖鞋?可以戴着耳机听着歌?配备两个显示器?身边总是围绕这MM端茶递水果?还是以上都不是,而是诗和远方?

    程序员,一个高薪却严重亚健康的群体。他们有着极客精神,疯狂coding的时候可以废寝忘食,但他们也追求精神自由,喜欢自由自在。对于这样一个群体,良好而又恰到好处的工作环境显得尤为重要。

    针对程序员理想中的工作环境之说,有篇文章列举了四个方面,文章出处及作者已经找不着了,大概有以下三点,如原作者介意请及时联系小编哦。

    1. 弹性上班制

    常规企业的朝九晚五上班制度,说实话并不适合程序员一族,因为这种制度一定程度上扼杀了这个最需要差异性的群体的差异性,把程序员的Coding灵感等同于工厂流水线上机械手臂,希望按钮一按下,灵感发动,按钮再一按下,灵感结束。这是一种一厢情愿的想法。

    所以对于高层次的程序员群体,请不要在作息时间上严格限制他们,因为他们不是装配工,有着独一无二的个体差异性,有着不同的思维G点,他们需要差异性的时间作息来调整自己的最佳状态,从而迸发激情和灵感。

    2. 宽松的工作氛围

    程序员群体讨厌管理,任何自上而下的所谓管理都容易引起程序员们的心理抵触,特别是那种死板的、指令式的管理模式,尤其让程序员们作呕。

    程序员们希望自己做的事情是出于内心的意愿,那样他们就会干劲十足,而不是来自于经理计划文档中那条冷冰冰的文字,哪怕是他们心里意愿的和经理的计划本是同一件事。所以对于程序员群体的管理需要技巧,要化管理于无形,让他们感觉不到管理的痕迹,让他们感觉着做这些事情就是出自于他们自己的意愿。

    总结来说就是让他们作为自己的管理者,而团队的管理者所要做就是培养他们这种自管理的能力。

    适度的压力可以产生做事的动力,但长时间的持续的压力却是扼杀激情和创造力的罪魁祸首。压力会让程序员焦虑,同时也会造成低劣的设计和代码实现,因为交付的压力会让程序员对匆忙设计出来的方案妥协,而不会持续的优化找到最优方案。而一系列看似微不足道的缺陷设计集合到一起,就会形成让人意想不到的、不可控制的乱象。

    所以,“快”不见得是好事,“慢”也不见得是坏事。

    3. 鼓励参与开源项目

    开源项目社区的欣欣向荣,是一朵盛开的奇葩,无论怎么赞誉都不为过。

    一些著名的开源项目,例如Linux,Apahce, openssl等等,数不胜数的优秀设计,给我们带来了多少的惊喜,同时也催生了多少的商业公司。

    参与到开源项目中,是一个程序员从初级走向高级、完善技术的最有效途径之一。一些著名的开源项目,架构设计和Coding技巧上都属上乘之作, 浸淫其中,受益匪浅。

    其实以上三点不仅是对程序员群体,对任何一个职业的人来说都是适用的。再看下知乎上程序员们理想中的工作环境是怎样的。

    @萧井陌:我读书的时候就有一个执念,一定要找一家可以穿拖鞋背心大裤衩上班的公司(当然我不穿大裤衩),如果我找不到这样的公司,说明我学得不好,所以我一直以来努力的目标似乎只是为了进一个能穿拖鞋的公司?哈哈哈哈。。。

    @知乎用户:我只想要2个显示器

    @知乎用户:1.安静,没有人随便喊你或者在你耳边说话;2.绝对的自由,程序员都有一定的怪癖,比如我喜欢听着摇滚乐写代码。这些都要被允许。3.温度,气味舒适的环境;

    4.有个养眼的MM同事,大概是这样的:


    嘿,箭头方向那个哥们才是真正的程序员吧

    5.独立10M光钎线

    @Indream Luo,软件工程师:1.女多男少,人均年龄不到27;2.身处白云山上,与广东外语外贸大学一墙之隔;3.无边界文化,有问题可以找任何人沟通,包括高层,如果你见得到;4.健康文化,加班有补休,提倡8小时,自建食堂和农场,买下巴马泉眼特供矿泉水

    @石磊

    硬件:

    1. 顶配的 MacBook Pro。

    2. 上厕所不需要排队。

    与人相关:

    1. 不会在开发到一半时被通知要重新讨论功能,然后把以前做的东西全部推翻。

    2. 没有不必要的会议,必要的会议速战速决。

    3. 行政人事什么的做事清爽高效,这样不用在各种日常手续上浪费时间,只管写代码就好。

    4. 同事们效率高、工作态度严肃、善于沟通、活泼有趣。

    @张英锋:最理想的工作环境应该是能帮助团队沉下心来,开发出最好产品的环境。

    1.上级对程序员工作的认可和尊重;

    2.对所作的工作有自主权和决定权;

    3.营造能让程序员专注于工作的设施,比如大家都提到的安静、以及各种提高生产率的硬件条件;

    4.最后是公司是盈利的,最好是暴利,能持续提供更多福利。

    @庄生:其实最重要的工作环境,还是有一帮靠谱的同事,真心的。可以术业有专攻,但是该你负责的你负责到底,保质保量,不要麻烦别人。

    那你呢?你希望你的工作环境是怎样的?

    展开全文
  • 工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使...

    工作流的概念

    工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。
    工作流管理系统(Workflow Management System, WfMS)是一个软件系统,它完成工作量的定义和管理,并按照在系统中预先定义好的工作流逻辑进行工作流实例的执行。工作流管理系统不是企业的业务系统,而是为企业的业务系统的运行提供了一个软件的支撑环境。
    工作流管理联盟(WfMC,Workflow Management Coalition)给出的关于工作流管理系统的定义是:工作流管理系统是一个软件系统,它通过执行经过计算的流程定义去支持一批专门设定的业务流程。工作流管理系统被用来定义、管理、和执行工作流程。
    工作流管理系统的目标:管理工作的流程以确保工作在正确的时间被期望的人员所执行在自动化进行的业务过程中插入人工的执行。

    常见的工作流框架

    Activity5.1.3、JBPM4.4、OSWorkFlow、WorkFlow
    工作流框架的底层需要有数据库提供支持,activiti5.13版本,有23张表。JBPM4.4框架底层有数据库支持,18张表。JBPM底层使用hibernate操作数据库。Activiti框架底层使用的mybatis操作数据库。

    Activiti介绍

    Activiti5是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。Activiti基于Apache许可的开源BPM平台,创始人Tom Baeyens是JBoss jBPM的项目架构师,它特色是提供了eclipse插件,开发人员可以通过插件直接绘画出业务流程图。

    工作流引擎

    工作流引擎是Activiti工作的核心。负责生成流程运行时的各种实例以及数据、监控和管理流程的运行。

    BPMN2.0*

    业务流程建模与标注(Business Process Model And Notation, BPMN) ,描述流程的基本符号,包括这些图元如何组合成一个业务流程图(Business Process Diagram)

    数据库

    Activiti的后台是有数据库的支持,所有的表都以ACT_开头。第二部分表示用途的两个字母标识。用途也和服务的API对应。
    (1) ACT_RE_*:'RE' 表示repository。这个前缀的表包含了流程定义和流程静态资源(图片,规则,等等)。
    (2) ACT_RU_*:'RU' 表示runtime。这些运行时的表,包含流程实例,任务,变量,异步任务,等运行中的数据。Activiti只在流程实例执行过程中保存这些数据,在流程结束时就会删除这些记录。这样运行时表可以一直很小速度很快。
    (3) ACT_ID_*:'ID' 表示identity。这些表包含身份信息,比如用户,组等等。
    (4) ACT_HI_*:'HI' 表示history。这些表包含历史数据,比如历史流程实例,变量,任务等等。
    (5) ACT_GE_*:通用数据,用于不同场景下。

    资源库流程规则表

    (1) act_re_deployment  部署信息表。
    (2) act_re_model           流程设计模型部署表。
    (3) act_re_procdef         流程定义数据表。

    运行时数据库表

    (1) act_ru_execution    运行时流程执行实例表。
    (2) act_ru_identitylink   运行时流程人员表,主要存储任务节点与参与者的相关信息。
    (3) act_ru_task             运行时节点表
    (4) act_ru_variable       运行时流程变量数据表

    历史数据库表

    (1) act_hi_actinst           历史节点表
    (2) act_hi_attachment    历史附件表
    (3) act_hi_comment       历史意见表
    (4) act_hi_identitylink     历史流程人员表
    (5) act_hi_detail             历史详情表,提供历史变量的查询
    (6) act_hi_procinst         历史流程实例表
    (7) act_hi_taskinst         历史人物实例表
    (8) act_hi_varinst           历史变量表
    注意:inst 是instance 实例 的缩写

    组织机构表

    (1) act_id_group            用户组信息表
    (2) act_id_info               用户扩展信息表
    (3) act_id_membership 用户与用户组对应的信息表
    (4) act_id_user              用户信息表
    这四张表很常见,基本的组织机构管理,关于用户认证方面建议自己开发一套,组件自带的功能太简单,很难满足项目中的很多需求。

    通用数据表

    (1) act_ge_bytearray   二进制数据表
    (2) act_ge_property    属性数据表中存储整个流程引擎级别的数据,初始化表结构时,会默认插入三条记录。

    activiti.cfg.xml

    Activiti核心配置文件,配置流程引擎创建工具的基本参数和数据库连接池参数。
    定义数据库配置参数:
    jdbcUrl: 数据库的JDBC URL。
    jdbcDriver: 对应不同数据库类型的驱动。
    jdbcUsername: 连接数据库的用户名。
    jdbcPassword: 连接数据库的密码。
    基于JDBC参数配置的数据库连接 会使用默认的MyBatis连接池。 下面的参数可以用来配置连接池(来自MyBatis参数):
    jdbcMaxActiveConnections: 连接池中处于被使用状态的连接的最大值。默认为10。jdbcMaxIdleConnections: 连接池中处于空闲状态的连接的最大值。
    jdbcMaxCheckoutTime: 连接被取出使用的最长时间,超过时间会被强制回收。 默认为20000(20秒)。
    jdbcMaxWaitTime: 这是一个底层配置,让连接池可以在长时间无法获得连接时, 打印一条日志,并重新尝试获取一个连接。(避免因为错误配置导致沉默的操作失败)。 默认为20000(20秒)。
    示例数据库配置:
    <!-- 配置流程引擎创建工具参数 -->
    <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
    	<!-- 数据库连接配置,默认使用MyBatis连接池 -->
    	<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/activiti"/>
    	<property name="jdbcDriver" value="com.mysql.jdbc.Driver"/>
    	<property name="jdbcUsername" value="root"/>
    	<property name="jdbcPassword" value="root"/>
    	<!-- 
    		databaseSchemaUpdate: 设置流程引擎启动和关闭时如何处理数据库表
    		false:(默认) 检查数据库的版本和依赖库的版本,如果版本不匹配就抛出异常。
    		true:构建流程引擎时,执行检查,如果需要就执行更新,如果不存在就创建
    		create-drop:构建流程引擎时创建数据库表,关闭流程引擎时就删除这些表
    	 -->
    	 <property name="databaseSchemaUpdate" value="true"/>
    	 <!-- 是否启动任务调用 -->
    	 <property name="jobExecutorActivate" value="false"/>
    	 <!-- 邮件服务器配置 -->
    	 <property name="mailServerHost" value=""/> <!-- 邮件服务器地址 -->
    	 <property name="mailServerPort" value=""/> <!-- 邮件服务器端口 -->
    	 <property name="mailServerUsername" value=""/> <!-- 邮件服务器的用户名 -->
    	 <property name="mailServerPassword" value=""/>
    </bean>
    也可以使用第三方的连接池 比如Apache的DBCP连接池
    <!-- 方式二:使用别的数据源 -->
    <!-- 配置DBCP连接池基本参数 -->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    	<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    	<property name="url" value="jdbc:mysql://localhost:3306/activiti"/>
    	<property name="username" value="root"/>
    	<property name="password" value="root"/>
    </bean>
    
    <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
    	<!-- 配置第三方连接池 -->
    	<property name="dataSource" ref="dataSource"/>
    	<!-- 
    		databaseSchemaUpdate: 设置流程引擎启动和关闭时如何处理数据库表
    		false:(默认) 检查数据库的版本和依赖库的版本,如果版本不匹配就抛出异常。
    		true:构建流程引擎时,执行检查,如果需要就执行更新,如果不存在就创建
    		create-drop:构建流程引擎时创建数据库表,关闭流程引擎时就删除这些表
    	 -->
    	 <property name="databaseSchemaUpdate" value="true"/>
    	 <!-- 是否启动任务调用 -->
    	 <property name="jobExecutorActivate" value="false"/>
    	 <!-- 邮件服务器配置 -->
    	 <property name="mailServerHost" value=""/> <!-- 邮件服务器地址 -->
    	 <property name="mailServerPort" value=""/> <!-- 邮件服务器端口 -->
    	 <property name="mailServerUsername" value=""/> <!-- 邮件服务器的用户名 -->
    	 <property name="mailServerPassword" value=""/>
    </bean>

    log4j.properties

    日志配置文件

    准备环境

    activiti5 软件环境

    (1)JDK1.6或者更高版本
    (2)支持的数据库有:h2, mysql, oracle, postgres, mssql, db2等。
    (3)支持activiti5运行的jar包
    (4)开发环境为Eclipse3.7或者以上版本,myeclipse为8.6版本

    相关资源下载

    1)JDK可以到sun的官网下载
    http://www.oracle.com/technetwork/java/javase/downloads/index.html
    2)数据库,例如:mysql可以在官网上下载。
    http://www.mysql.com
    3)activiti也可以到Activiti官方网站下载得到。
    http://activiti.org/download.html
    4)Eclipse3.7或者MyEclipse8.6也可以到相应的网站上获得下载。

    安装流程设计器(eclipse插件)

    在有网络的情况下,安装流程设计器步骤如下:
    (1)打开 Help -> Install New Software
    (2)在如下的Install界面,点击Add按钮

    配置新装插件的地址和名称
    (3)然后填入下列字段
    Name: Activiti BPMN 2.0 designer
    Location: http://activiti.org/designer/update/
    如图所示:

    (4)回到Install界面,在面板正中列表中把所有展示出来的项目都勾上:

    (5)点击复选框
    在Detail部分记得选中 "Contact all updates sites.." , 因为它会检查所有当前安装所需要的插件并可以被Eclipse下载.
    (6)安装完以后,点击新建工程new->Other…打开面板,如果看到下图内容:

    注意:MyEclipse是无法安装此插件的,即使安装成功 也无法保存图片
    另一种方法直接将下载好的activiti-eclipse-plugin.zip解压后 放入Eclipse安装目录的dropins文件夹 重启即可。

    流程设计器的使用说明

    打开菜单Windows->Preferences->Activiti->Save下流程流程图片的生成方式:

    虽然流程引擎在单独部署bpmn文件时会自动生成图片,但在实际开发过程中,自动生成的图片会导致和BPMN中的坐标有出入,在实际项目中展示流程当前位置图会有问题。
    所在完成以上配置后,会由我们自己来管理流程图片。在发布流程时把流程规则文件和流程图片一起上传就行了。

    准备Activiti5开发环境

    添加Activiti5的jar包

    在activiti-5.16.1->wars目录下是一些示例项目,解压activiti-rest项目,导入activiti-rest目录中WEB-INF\lib下所有包。添加到classpath中。
    由于我使用的是Mysql数据库,Mysql数据库的链接驱动Activiti官方包中并没有提供,需要导入。手动导入mysql-connector-java.jar,添加到classpath

    初始化数据库

    方式一:使用Activiti提供的建表语句


    方式二:使用Activiti的自动建表功能

    (1)不使用配置文件(不建议采用)
    /**
     * 使用框架提供的自动建表功能(不提供配置文件)
     */
    @Test
    public void testDb1() {
    	// 创建Activiti流程引擎配置对象
    	ProcessEngineConfiguration cfg = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();
    	
    	// 配置数据库驱动
    	cfg.setJdbcDriver("com.mysql.jdbc.Driver");
    	// 配置数据库连接
    	cfg.setJdbcUrl("jdbc:mysql://localhost:3306/activiti?createDatabaseIfNotExist=true");
    	// 配置用户名
    	cfg.setJdbcUsername("root");
    	// 配置数据库密码
    	cfg.setJdbcPassword("root");
    	/**
    	 * 设置自动建表
    	 */
    	cfg.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
    	// 根据引擎配置对象创建流程引擎
    	ProcessEngine processEngine = cfg.buildProcessEngine();
    }
    在Activiti中,在创建核心的流程引擎对象时会自动建表。如果程序正常执行,mysql会自动建库,然后创建23张表。
    (2)使用指定的配置文件
    在Actiiti5中定制流程必定会操作到数据库,如果都像上面写一大段代码会非常麻烦,所以我们可以把数据库连接配置写入配置文件。
    在Activiti5的官方示例中并没有现成的配置文件,所以先得找到activiti-rest\WEB-INF\classes下有:
    1.activiti-context.xml : 一个类似spring结构的配置文件,清空内容后改名为activiti.cfg.xml,用来做流程引擎的相关配置。按照上面代码配置ProcessEngineConfiguration对象,主要定义数据库的连接配置和建表策略,配置文件代码如下:
    <!-- 配置流程引擎配置对象 -->
    <bean id="processEngineConfiguration"
    	class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
    	<property name="jdbcDriver" value="com.mysql.jdbc.Driver" />
    	<property name="jdbcUrl" value="jdbc:mysql:///activiti" />
    	<property name="jdbcUsername" value="root" />
    	<property name="jdbcPassword" value="root" />
    	<property name="databaseSchemaUpdate" value="true" />
    </bean>
    Java代码如下:
    /**
     * 使用框架提供的自动建表功能(使用配置文件)--可以从框架提供的例子中获取
     */
    @Test
    public void testDb2() {
    	String resource = "activiti-context.xml";// 配置文件名称
    	String beanName = "processEngineConfiguration";// 配置id值
    	ProcessEngineConfiguration conf = ProcessEngineConfiguration
    			.createProcessEngineConfigurationFromResource(resource,
    					beanName);
    	ProcessEngine processEngine = conf.buildProcessEngine();
    }
    createProcessEngineConfigurationFromResource的参数值为我们添加的配置文件activiti.cfg.xml的名称,执行java代码,流程引擎对象创建成功运行后数据库会自动建表。
    log4j.properties 日志配置文件
    log4j提供的日志级别:Fatal error warn info debug trace
    ### direct log messages to stdout ###
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.Target=System.err
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
    
    ### direct messages to file mylog.log ###
    log4j.appender.file=org.apache.log4j.FileAppender
    log4j.appender.file.File=c:\mylog.log
    log4j.appender.file.layout=org.apache.log4j.PatternLayout
    log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
    
    ### set log levels - for more verbose logging change 'info' to 'debug' ###
    
    log4j.rootLogger=info, stdout
    把两个文件放入resource目录下即可。
    注意:数据库编码要指定为utf8
    (3)使用配置文件(使用默认配置)
    要求配置文件的名称必须为activiti-context.xml或者activiti.cfg.xml 配置的信息必须如下所示(Bean的id不能改变):
    <!-- 配置流程引擎配置对象 -->
    <bean id="processEngineConfiguration"
    	class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
    	<property name="jdbcDriver" value="com.mysql.jdbc.Driver" />
    	<property name="jdbcUrl" value="jdbc:mysql:///activiti" />
    	<property name="jdbcUsername" value="root" />
    	<property name="jdbcPassword" value="root" />
    	<property name="databaseSchemaUpdate" value="true" />
    </bean>
    
    <!-- 配置一个流程引擎工程bean,用于创建流程引擎对象 -->
    <bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean">
    	<property name="processEngineConfiguration" ref="processEngineConfiguration" />
    </bean>
    获取流程引擎的代码:
    		ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();

    核心API

    ProcessEngine

    (1)在Activiti中最核心的类,其它的类都是由此类获取的
    (2)产生方式:ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
    有好多种创建ProcessEngine(流程引擎)的方式,而此中方式简化很多,调用ProcessEngines的getDefaultProcessEngine方法时会自动加载classpath下名为activiti-context.xml或activiti.cfg.xml配置文件。
    (3)可以产生RespositoryService
    RepositoryService repositoryService = processEngine.getRepositoryService();
    (4)可以产生RuntimeService
    RuntimeService runtimeService = processEngine.getRuntimeService();
    
    (5)可以产生TaskService
    TaskService taskService = processEngine.getTaskService();
    各个Service的作用:
    Respository:管理流程定义
    RuntimeService:执行管理,包括启动、推进、删除流程实例等操作。
    TaskService:任务管理
    HistoryService:历史管理(执行完数据的管理)
    IdentityService:组织结构管理
    FormService:一个可选服务,任务表单管理

    RepositoryService

    是Activiti的仓库服务类。所谓的仓库指流程定义文档的两个文件:bpmn文件和流程图片。
    (1)产生方式
    RepositoryService repositoryService = processEngine.getRepositoryService();
    
    (2)可以产生DeploymentBuilder,用来定义流程部署的相关参数。
    DeploymentBuilder deploymentBuilder = repositoryService.createDeployment();
    (3)删除流程定义
    repositoryService.deleteDeployment(deploymentId);

    RuntimeService

    是Activiti的流程执行服务类。可以从这个服务类中获取很多关于流程执行相关的信息。

    TaskService

    是activiti的任务服务类。可以从这个类中获取任务的信息。

    ProcessDefinition

    流程定义类。可以从这里获得资源文件等。

    ProcessInstance

    代表流程定义的执行实例。例如企业某员工请了一周的假期,那么他就必须发出一个流程实例的申请。一个流程实例包括了所有的运动节点。我们可以利用这个对象来了解当前流程实例的进度信息。
    如下图是ProcessInstance的源代码:

    从源代码中可以看出ProcessInstance就是Execution的子接口。也可以说ProcessInstance就是Execution。但是在实际意义上是有所区别的:

    在单线流程中,如上图的贷款流程,ProcessInstance与Execution是一致的。

    这个例子有一个特点:write money(汇钱)和archive(存档)是并发执行的。此时,总线路流程代表ProcessInstance,而分线路中的每个活动代表Execution。

    Execution

    Activiti用这个对象去描述流程执行的每一个节点,在没有并发的情况下,等同于ProcessInstance。


    展开全文
  • 2019年互联网企业软件测试面试题(常考)

    万次阅读 多人点赞 2019-04-22 09:32:26
    很多软件测试工程师在面试互联网企业的时候都会遇到考官给的几道面试题,这也反应了测试工程师对企业的重要性,今天传智播客整理了一份2019年的互联网企业软件测试面试题,希望能帮助到大家。 2019年互联网企业软件...

    很多软件测试工程师在面试互联网企业的时候都会遇到考官给的几道面试题,这也反应了测试工程师对企业的重要性,今天传智播客整理了一份2019年的互联网企业软件测试面试题,希望能帮助到大家。
    在这里插入图片描述
    2019年互联网企业软件测试面试题(常考)

    1、什么是兼容性测试?

    答:兼容性测试是检查软件在不同软件平台,硬件平台上是否可以正常运行的测试。主要查看软件在不同操作系统、浏览器、数据库中运行是否正常。

    2、你能不能说下你3-5年的职业规划?

    答:首先,要巩固自己的测试基础知识,在基本知识扎实的情况下提高理解需求文档的能力。

    其次,学习自动化测试工具,并将它运用到测试中去。

    然后,在测试技术达到一定程度后,要学会如何带领一个测试团队。

    最后,争取在最快的时间内达到测试经理的水平。

    3、软件的评审一般由哪些人员参加?其目的是什么?

    答:参加人员:客户、项目经理、开发人员、测试人员。

    目的:查看软件在未正式投入运行前是否还存在问题。对于不同软硬件平台能否正常运行,是否存在着与客户理解不一致的地方,同时可以对一些可以改进的地方再进行修改。

    4、什么是软件测试,软件测试的目的?

    答:软件测试是通过人工或者自动化的操作进行还没有商业化用途的程序,查看他们的功能是否满足客户需求。

    目的:在最短时间内找出尽可能多的软件缺陷。

    5、开发人员总是犯一些低级错误怎么解决?

    答:要在开发的前期就制定好一些编码规范,这样子可以减少很多由于个人习惯引起的错误。同时,测试人员在发现开发人员犯一些低级错误的时候不可以指责他们,要耐心的给他们指出错误所在。然后在让开发人员自己进行测试,从而找出错误。

    6、什么是软件测试?

    答:为了发现程序中的错误而执行程序的过程。

    7、说下一个缺陷测试报告的组成?

    答:缺陷编号、缺陷标题、缺陷描述、缺陷的优先级、缺陷的重要程度、缺陷所述的模块、缺陷所属的版本、缺陷所属的开发人员、输入数据、输出结果、缺陷分析等。

    8、发现的缺陷越多,说明软件缺陷越多吗?

    答:是的,通常如果发现一个缺陷的话,可能就会发现很多类似的缺陷,由于开发人员的习惯,可能一个地方有缺陷,另外一个地方就会有相同的缺陷。

    9、所有的软件缺陷都能修复吗?所有的软件缺陷都要修复吗?

    答:从理论上来说所有的缺陷都是可以修复的,但是并不是所有的缺陷都要修复。

    一些对于软件没有影响的、不影响使用的缺陷我们可以不修复。因为修复些细小的缺陷需要花费很多时间。项目上面可能会因为时间问题而先忽略这些小缺陷。

    10、您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?

    答:我一般都是做的Web测试,搭建测试环境,对于一个程序进行集成测试,系统测试,回归测试等。其中还要编写测试用例以及一些文档,用户使用手册,功能测试文档等等。最擅长的是功能测试。

    11、开发人员说不是bug时,你如何应付?

    答:首先把自己的见解告诉开发人员。在同开发人员沟通到底是不是bug,但是如果开发人员还是认为不是bug的话,就把这个问题提到项目经理处,同时附上自己的见解。由项目经理决定是否为bug。

    12、软件测试项目从什么时候开始,为什么?

    答:一般软件测试越早展开越好,一般是从需要阶段就要进行软件测试。软件测试不仅是测试功能,对于需求文档一类的也要进行测试。越早的找出bug,就会减少后续开发人员修改程序的次数,并且可以降低成本,如果等整个软件开发的差不多了发现一个致命的错误的话,是需要花费很多时间和人力进行重新修改的。如果在一开始就发现的话就不会出现这种情况了。

    13、功能测试用例需要详细到什么程度才是合格的?

    答:测试用例覆盖到所有的测试点。

    14、测试用例通常包括哪些内容?

    答:用例编号、测试环境、用例标题、输入数据、预期结果等。

    15、你用什么测试方法进行测试?

    答:根据不同的系统和模块有不同的方法。主要是黑盒测试和白盒测试。

    以上就是2019年互联网企业软件测试面试题,在企业招聘的时候,这些面试题出现的频率相当的高,希望能帮助到大家。

    传智播客软件测试课程全面覆盖中高端技能清晰的学习路线,可以帮助学员开启软件测试学习之旅。
      软件测试课程:基础部分包括前置基础(DOS命令、HTML、CSS等)、Linux和数据库(操作系统、MySQL高级、Redis数据库等)、功能测试(测试用例设计、Web项目、APP项目测试等);中级部分包括Python编程(Python开发环境、面向对象、异常处理等)、Web自动化(Web自动化入门/基础/高级、Unittest框架等)、移动自动化(Appium、常用API、Pytest等);高级部分包括接口自动化(JMeter、requests、mock等)、性能测试(测试方案、Vugen、Analysis等)、单元测试和shell编程(测试流程、测试报告、shell等)。更多的关于传智播客软件测试培训课程欢迎随时咨询传智播客

    文章来源:http://www.itcast.cn/news/20190422/09131782321.shtml

    展开全文
  • 解决方案概述上下文环境解决方案架构基于MOF的EA模型语言(EAML)模型转换结论引用注释参考资料来自RationalEdge:本文介绍了Unisys公司所完成的为美国联邦政府大规模组织构建核心企业架构(EA)的工作。这部分工作...
  • 本文主要描述针对OpenStack云计算项目的企业级性能测试标准和性能测试实施的解决方案。这套标准和解决方案,为OpenStack云计算项目开发和部署的性能评估提供参考,为云系统的性能瓶颈排查和调优提供有效的依据。同时...
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • 经过几十年的发展业界已经涌现出了很多企业架构以及企业架构框架理论。企业架构创建的方法论,亦即企业架构框架,由于其具备标准化的特性,将被作为本章内容的重点。当然,即便企业架构框架具有其标准性的一面,也并...
  • 第一 ~ 五章 ...第六章 目前,对水利工程进行可行... 环境 伦理 在进行区域水资源配置时,为贯彻公平正义的原则,应该考虑哪些因素? 区域对水资源总量的贡献 区域对水资源的依赖程度 区域的整体经济社会水平...
  • 写在前面 笔者写这篇文章的初衷源于两个故事: ...故事二:当时为内蒙一个企业做上游原材料供应商的数据管理项目,当时我们拿到的只是该企业小部分供应商的数据,下一阶段计划拿到其全国供应商的相关数据
  • 2019工程伦理慕课答案(2019秋)习题及期末答案

    万次阅读 多人点赞 2019-11-08 18:19:53
    企业和政府在维护公共安全和环境安全方面所肩负的责任和各自扮演的角色问题 跨国工程活动中发达国家向发展中国家的环境成本转移问题 跨国公司的双重技术标准问题 如何通过相关法规和制度来保障工程活动中...
  • 控制环境是内部控制体系整体框架的基础,是有效实施内部控制的保障,直接影响着企业内部控制的贯彻执行、企业经营目标及整体战略目标的实现。控制环境确定了公司的总体态度,是内部控制所有其他组成要素的基础。控制...
  • 在我们学习某一门语言初始,我们最先做的就是环境的搭建。相对于PHP开发语言言来说,其环境的搭建已经不是很复杂了,这主要得益于现在越来越多的集成环境发布。本篇博文主要为大家列举一系列国内外知名优秀PHP集成...
  • 2019新的一年已经到来,如何制定个人it工作计划呢? 下面是收集整理的it个人工作计划,欢迎阅读。 下手方向 其实无论你是否是IT行业都可以从以下5个方向入手。 写好年度总结的基本要点 年度工作总结时应本着...
  • 企业微信自建应用开发初探

    千次阅读 2019-04-02 13:30:00
    企业微信是腾讯推出的一个新的办公协作平台,通过与微信一致的沟通体验,为企业员工提供最基础和最实用的办公服务。同时企业微信作为一个开发平台,企业可以根据需要开发定制自己的企业应用集成到企业微信上。ABC ...
  • 当然是有原因,随着不断的学习了解,慢慢意识到之前做法存在很多缺陷,最终对比了比较成熟的解决方案EMR和CDH,最终选择了使用CDH来搭建大数据管理平台,那么我们就开始新的一趴,企业级大数据管理平台CDH的学习吧!...
  • 研究生工程伦理课程答案整理

    万次阅读 多人点赞 2019-12-17 09:55:12
    3.单选(1/1分) 当工程师发现所在的企业或公司进行的工程活动会对环境、社会和公众的人身安全产生危害时,应该及时地给予反映或揭发。这属于工程师的 职业伦理责任 ●社会伦理责任 个人伦理责任 法律责任 正确...
  • 企业架构之道(一)之企业信息化建设

    千次阅读 2018-12-06 12:07:58
    可以说,借助于信息技术的发展,人们的工作方式得以从传统的“蓝领式”的工作方式逐步转变为“白领式”的工作方式。随着时间的推移,企业中的信息系统越来越复杂,而且业务与信息系统的关系也日趋紧密,从而使得组织...
  • 一个产品经理的工作经历与总结

    万次阅读 2018-10-31 22:39:29
    从小城市到大城市,从熟悉的环境到陌生的环境,从熟练的工作换为陌生的互联网产品岗位工作,就需要学习与互联网产品经理相关的知识、技能,需要了解互联网行业相关知识、了解产品经理工作内容、了解产品经理基本工作...
  • 运行环境:C# Visual...4、工作任务信息管理:添加员工任务、管理员工任务 三、注意事项 1、管理员用户名密码均是:51aspx 2、开发环境为VisualStudio2010,数据库为SQLServer2008,数据库文件在数据库文件夹中。
  • 企业架构(Enterprise Architecture),简称EA。是指对企业事业信息管理系统中具有体系的、普遍性的问题而提供的通用解决方案,更确切的说,是基于业务导向和驱动的架构来理解、分析、设计、构建、集成、扩展、运行...
  • 环境信息化是政府信息化建设的重要组成... 本文开发一套系统应用于环境企业的差异化表单填报与用户权限分配的实际场景,可以有效提升系统的管理与业务数据的汇总和分析。 本文完成的主要工作如下: 1.通过对当前业界
  • 企业信息化基础设施建设分析

    千次阅读 2019-07-31 11:29:18
    因为一直从事在SOA综合集成领域,平时...近期的工作中涉及到分析企业信息化基础设施建设的工作,在工作中发现对这部分知识存在很大的盲点,于是花了一些时间去学习,以下是对学习内容的整理,希望可以为存在同样疑惑...
  • Mac在企业环境中的管理瓶颈(2)

    千次阅读 2010-12-28 15:51:00
    Mac在企业环境中的管理瓶颈(2)-活动目录(AD)集成 注:Mac在企业环境中的管理瓶颈(1)  前言: <br /> 前面说了关于平滑迁移的一些想法,这次想说说在企业应用中最最关键和基本条件的,AD集成问题。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 156,478
精华内容 62,591
关键字:

企业工作环境怎么描述