敏捷开发简介

敏捷开发简介
敏捷开发简介

敏捷开发简介

2009-04-21 17:46:34.0 来源:https://www.360docs.net/doc/6c14551867.html,

关键词:Scrum精益开发敏捷开发

在软件工业界,敏捷开发已成为众多高效开发团队的制胜之道。它不仅被许多中小公司青睐,在全球一百强的企业中,敏捷也已大行其道,受到许多资深项目管理者和开发人员的推崇。欧美软件企业中,有近半企业已采用敏捷方法进行开发。大多数尚未应用敏捷的企业,也都对其有所了解,而且很多在计划实施。中国的外企,外包公司和许多知名企业也都开始采用了敏捷方法。例如,腾讯内部几乎所有的开发团队都在实施敏捷。

敏捷方法给这些企业也已带来了巨大的收益。据业内资深人士和长期从事敏捷咨询的服务公司透露,采用敏捷开发的团队一般会提高3-10倍的效率,软件的质量也有了更加可靠的保证。同时,敏捷开发的应用也给团队内的每个成员提供了良好的发展机会。他们的技术和合作水平都能得到响应的提高。敏捷的成功来源于其方法本身的适用性和团队对它的深入理解和合理运用。下面我们就对敏捷开发做一个简单的介绍和讨论。

敏捷开发由几种轻量级的软件开发方法组成。它们包括:极限编程(XP),Scrum,精益开发(Lean Development),动态系统开发方法(DSDM),特征驱动开发(Feature Driver Development),水晶开发(Cristal Clear)等等。所有这些方法都具有以下共同特征,它们也是敏捷开发的原则和方法:1.迭代式开发。即整个开发过程被分为几个迭代周期,每个迭代周期是一个定长或不定长的时间块每个迭代周

期持续的时间一般较短,通常为一到六周。

2.增量交付。产品是在每个迭代周期结束时被逐步交付使用,而不是在整个开发过程结束的时候一次性交付使

用。每次交付的都是可以被部署到用户应用环境中被用户使用的、能给用户带来即时效益和价值的产品。3.开发团队和用户反馈推动产品开发。敏捷开发方法主张用户能够全程参与到整个开发过程中。这使需求变化

和用户反馈能被动态管理并及时集成到产品中。同时,团队对于用户的需求也能及时提供反馈意见。

4.持续集成。新的功能或需求变化总是尽可能频繁地被整合到产品中。一些项目是在每个迭代周期结束的时候

集成,有些项目则每天都在这么做。

5.开发团队自我管理。拥有一个积极的、自我管理的、具备自由交流风格的开发团队,是每个敏捷项目必不可少的条件。人是敏捷开发的核心。敏捷开发总是以人为中心建立开发的过程和机制,而非把过程和机制强加给

人。

简史

许多人认为,相比于“传统”的瀑布开发模式,敏捷开发是一种“现代”的开发模式。但是,实际上敏捷方法,特别是迭代和增量开发方法(IID)起源于20世纪30年代的一些非软件项目。而最早引入一些敏捷方法的项目之一就是20世纪60年代初的美国航天局水星计划。在这个项目中,一些极限编程方法如测试先行等也被使用。此后,迭代和增量开发被IBM联邦系统部(FSD)和沃森研究中心(Watson Research Center)采纳。有趣的是一些研究人员甚至在关于瀑布开发模式的最早的论文中发现了敏捷开发的线索。在这篇论文中,温斯顿.罗伊斯(Winston Royce)建议在一个项目中使用两次瀑布模式,也就是使用两次迭代。

20世纪70年代,最早的有记载的使用迭代和增量开发的主要项目之一,是为第一艘美国三叉戟潜艇开发的第一指挥和控制系统。该项目有大约一百万行代码,进行得非常成功。迭代和增量开发从此开始稳步发展,越来越多的项目开始使用这种开发模式。在1976年,Tom Gilb在他的著作《软件度量》(“Soft ware Metrics”)一书中阐述了他的迭代和增量开发实践,这可能就是第一部阐述这种方法的书籍。迭代和增量开发的另一次出色发挥,是在一个美国宇航局航天飞机软件的开发项目。这个项目负责开发其航空电子设备的软件系统。改项目由IBM联邦系统部(IBM FSD)在1977至1980年完成。一些典型的敏捷做法,如使用8个周迭代以及用反馈推动开发循序渐进等方法都在该项目中得以应用。

20世纪80年代,更多的出版物和更多的项目应用进一步推进了迭代开发的发展。在1895年,巴里贝母(Barry Boehm)正式定义了使用迭代开发的螺旋模型(Spiral model)。80年代初,在美国国防部发生

了一件有趣的事情。美国国防部一直以来都要求其软件开发商在开发过程中使用严格的瀑布开发模型。但是到了1987年末,国防部开始“建议”使用迭代和增量开发作为软件开发模式。后来美国国防部的项目审查显示,早期使用瀑布模式开发的软件项目,有75%以失败告终,有些开发出来的产品根本没有被使用过,只有2%

的软件产品无需大量修改就能被正常使用。

20世纪90年代,推荐使用迭代和增量开发的出版物和文献显著增加。在经历了多次有“瀑布心态”(…waterfall mentality?)项目的失败之后,美国国防部开始“要求”而不是像80年代那样仅仅是“建议”他们的软件开发商使用IID开发模式。Rational统一开发过程(Rational Unified Process)也是在这一时期产生并发展起来的,它具有更规范的迭代渐进过程。到2000年底,更多的敏捷方法被广泛推广并被使用于各种不同的项目中。2001年二月,一组由17位在DSDM,XP,Scrum,FSD等领域的专家组成的代表团齐聚美国犹他州,寻找这些方法的共同点。最终,这些专家制定并宣布了敏捷开发宣言。由此形成了现在我们所

认识的敏捷开发和后来的敏捷联盟。

敏捷优势

为什么瀑布模式多数情况下总会失败?为什么我们需要敏捷开发模式?这个问题在日新月异,飞速发展的今天似乎很容易解释。尽管瀑布模式能够在一个迭代周期内表现优异,但是,在如何管理需求变化面前,瀑布模式却显得无能为力。而事实上,大多数的软件项目都具有以下一些特点:

·在初始阶段,最终用户通常不能准确得知道他们需要什么样的软件。即便知道,也很少有人能准确清楚的表

达出来。

·对于某些项目,在一开始,我们可以很好的定义其所有的功能,但是可能有很多细节只能随着项目的不断深入才能被挖掘出来。即便是我们了解了所有的细节,大多数人还是不能很好的处理这些细节,特别是在项目开

发初期。

·外部环境如客户的业务模式,技术进步,甚至是系统的终端用户都有可能在开发过程中不断改变。而预想或

试图阻止这些改变通常都是徒劳的。

·在互联网时代,许多Web应用程序的开发都是基于对远景客户的预期,而非当前用户的实际需求。在这种情况下,变化从开始就有,而且在系统开始应用后几乎每天都会发生。

敏捷方法处理需求和技术变化主要通过迭代过程来管理。在每一次迭代周期结束时,都应交付用户一个可用的,可部署的系统。使用并体验该系统所获得的有价值的反馈意见将按顺序,在随后的迭代周期中和其它需求变化一起在产品中实现和集成。每次迭代周期应尽可能短,以便能及时频繁地处理需求变化和用户反馈。

采用敏捷开发方式将会给企业和用户带来诸多好处:

·精确。它将带给用户真正需要的软件系统。瀑布模式通常会在产品起点与最终结果之间计划出一条直线,然后沿着直线不断往前走。然而当项目到达终点时,用户通常会发现那已经不是他们想去的地方。而敏捷方法则采用小步的方式向前走,每走完一步,都需要及时调整并为下一步确定当前的方向,直到真正的终点。

·质量。敏捷方法对每一次迭代周期的质量都有严格要求。一些敏捷方法如XP等,甚至使用测试驱动开发(test-driven development),即在正式开发功能代码之前,先开发该功能的测试代码。这些都对敏捷项

目的整个开发周期提供了可靠的质量保证。

·速度。敏捷开发提倡避免较大的前期规划,认为那是一种很大的浪费。因为很多预先计划的东西都会发生改变,大规模的前期规划通常是徒劳的。敏捷团队只专注于开发项目中当前最需要的,最具价值的部分。这样能很快地投入开发。另外,较短的迭代周期使团队成员能迅速进入开发状态。

·丰厚的投资回报率(ROI)。在敏捷开发过程中,最具价值的功能总是被优先开发,这样能给客户带来最大

的投资回报率。

·高效的自我管理团队。这既是采用敏捷开发的必然结果,也是推动敏捷开发不断前进的动力。敏捷开发要求团队成员必须积极主动,自我管理。在这样的团队中工作,每个团队成员的技术能力,交流,社交,表达和领

导能力也都能得以提高。

主要的敏捷方法

极限编程(XP)

极限编程(XP)的主要目的是降低需求变化的成本。它引入一系列优秀的软件开发方法,并将它们发挥到极致。比如,为了能及时得到用户的反馈,XP要求客户代表每天都必须与开发团队在一起。同时,XP要求所有的编程都采用结对编程(pair-programming)的方式。这种方式是传统的同行审查(peer review)的

一种极端表现,或者可以说是它的替代方式。

XP定义了一套简单的开发流程,包括:编写用户案例,架构规范,实施规划,迭代计划,代码开发,单元测

试,验收测试等等。

像所有其他敏捷方法一样,XP预期并积极接受变化。它具有以下的价值观或原则:

·互动交流。团队成员不是通过文档来交流,文档不是必须的。团队成员之间通过日常沟通,简单设计,测

试,系统隐喻以及代码本身来沟通产品需求和系统设计。

·反馈。反馈是一种信息的交流,能使系统更加完善。反馈也和交流密切相关,客户的实际使用、功能测试、单元测试等都能为开发团队提供反馈信息。同时,开发团队也可以通过估计和设计用户案例的方式将信息反馈

给客户。

·简单。XP提倡简单的设计,简单的解决方案。XP总是从一个简单的系统入手,并且只创建今天,而不是明天,需要的功能模块。因为它认为,创建明天需要的功能模块可能会由于需求的变化而成为浪费。

·勇气。XP在这一点所要达到的目的(我们认为)是鼓励一些有较高风险的良好的做法。例如,它要求程序员尽可能频繁地重构代码,必须删除过时的代码,不解决技术难题就不罢休,等等。

·团队。XP提倡团队合作,相互尊重。XP以建立并激励团队为一项重要任务。同时它把互相尊重和实际的开发习惯相结合。比如,为了尊重其他团队成员的劳动成果,每个人不得将未通过单元测试的代码集成到系统

中。因此,每个人的代码质量必须过关。

核心做法:

·小规模,频繁的版本发布,短迭代周期。

·测试驱动开发(Test-driven development)。

·结对编程(Pair programming)。

·持续集成(Continuous integration)。

·每日站立会议(Daily stand-up meeting)。

·共同拥有代码Collative code ownership.

·系统隐喻(System metaphor)。

SCRUM

Scrum是一个敏捷开发框架,它由一个开发过程,几种角色以及一套规范的实施方法组成。它可以被运用于软件开发,项目维护,也可以被用来作为一种管理敏捷项目的框架。

在Scrum中,产品需求被定义为产品需求积压(product backlogs)。产品需求积压可以是用户案例,独立的功能描述,技术要求等。所有的产品需求积压都是从一个简单的想法开始,并逐步被细化,直到可以被开

发的程度。

Scrum将开发过程分为多个Sprint周期,每个Sprint代表一个2-4周的开发周期,有固定的时间长度。首先,产品需求被分成不同的产品需求积压条目。然后,在Sprint计划会议(Sprint planning meeting)上,最重要或者是最具价值的产品需求积压被优先安排到下一个Sprint周期中。同时,在Sprint计划会上,将会预先估计所有已经分配到Sprint周期中的产品需求积压的工作量,并对每个条目进行设计和任务分配。在Sprint开发过程中,每天开发团队都会进行一次简短的Scrum会议(Daily Scrum Meeting)。会议上,每个团队成员需要汇报各自的进展情况,同时提出目前遇到的各种障碍。每个Sprint周期结束后,都会有一个可以被使用的系统交付给客户,并进行Sprint审查会议(Sprint review meeting)。审查会上,开发团队将会向客户或最终用户演示新的系统功能。同时,客户会提出意见以及一些需求变化。这些可以以新的产品需求积压的形式保留下来,并在随后的Sprint周期中得以实现。Sprint回顾会随后会总结上次Sprint周期中有哪些不足需要改进,以及有哪些值得肯定的方面。最后整个过程将从头开始,开始一个新的

Sprint计划会议。

Scrum定义了4种主要的角色:

·产品拥有者(Product Owner):该角色负责产品的远景规划,平衡所有利益相关者(stakeholder)的利益,确定不同的产品需求积压的优先级等。它是开发团队和客户或最终用户之间的联络点。

·利益相关者(Stakeholder):该角色与产品之间有直接或间接的利益关系,通常是客户或最终用户代表。

他们负责收集编写产品需求,审查项目成果等。

·Scrum专家(Scrum Master):Scrum专家负责指导开发团队进行Scrum开发与实践。它也是开发团

队与产品拥有者之间交流的联络点。

·团队成员(Team Member):即项目开发人员。

Scrum提供一个敏捷开发框架,其他许多敏捷方法都可以被集成到Scrum中。比如测试驱动开发(test-driven development)和结对编程(pair programming)等都可以被整合到Scrum中。

精益开发(LEAN DEVELOPMENT)

精益软件开发模式是从丰田公司的产品开发方法中演化而来。它主要包括两个部分:一部分是核心思想及原

则,另外一部分由一些在相应的工具构成。

精益开发的核心思想是查明和消除浪费。在软件开发过程中,错误(bugs),没用的功能,等待以及其他任何对实现结果没有益处的东西都是浪费。浪费及其源头必须被分析查明,然后设法消除。精益开发的其它原则

包括:

·强调学习。软件开发过程是一个不断学习的过程。每个团队成员都需要从日常的失败,互动,交流以及信息

反馈中学习,不断改进所开发的产品和开发效率。

·在最后时刻做决定。这样可以避免在可能改变的事情上做无谓的努力,从而有效的避免浪费。

·用最快的速度交付用户。较短的迭代周期能够加速产品的开发及交付,加快交流,提高生产力。

·给团队自主权。激励团队并让所有团队成员自我管理始终是所有敏捷方法获得成功的基本因素之一。

·诚信。确保整个系统正常工作,真正满足客户的需求是整个团队需要努力坚持的诚信和和对用户的承诺。

·全局观。精益开发强调整体优化的系统。无论开发的组织还是被开发的产品,从整体上考虑优化比从各个局

部去优化更高效。

对于上述的每个原则,都有一些相应的实现工具。这些工具包括价值流图(Value Stream Mapping),基于集合的开发(set-based development),拉系统(pull system),排队论(queuing theory),等

等。

和其它敏捷方法相比,精益软件更重要的是不断完善开发过程的一种思维方式。因此,将精益模式与其他敏捷

开发模式一起使用将会取得很好的效果。

其它敏捷方法

动态系统开发方法(DSDM)是由快速应用程序开发(RAD)方法演变而来的敏捷开发模式。DSDM在普遍的敏捷价值和原则的基础上,定义了更加详细的流程,以涵盖更完整的项目生命周期。它们包括项目前期活动(pre-project activities),项目可行性研究,功能建模,设计和开发,实施或部署,项目后期维护(post-project maintenance),等等。同时,每个过程都定义了诸如如何将每个功能模型转化为实际代码,如何将原型交付最终用户使用并审查,如何处理反馈信息等的详细步骤。因此,DSDM相比于其它敏捷

方法在过程上显得比较繁重。

特征驱动开发(FDD)是另一种敏捷开发方式,它将用户的功能需求划分成更小的功能特征,然后逐步地在每个迭代周期中开发实现这些产品特征。与DSDM方式一样,FDD仍然会在项目初期对整个项目做较大的规划和建模,以获得对该系统的全面了解。但是相比DSDM来说,FDD在这些方面简捷了一些。

Crystal Clear是另一种敏捷方法。Crystal Clear更专注于人。相比于其他的敏捷方法,它可使人获得更大的解放。据称这种方法更适合于较小规模的开发小组(由2-8个人组成)和非关键项目。Crystal Clear定义了七种属性。前3个属性 - 频繁的交付(frequent delivery),渗透交流(osmotic communication),反思提高(reflective improvement)- 反映出基本的敏捷开发做法和价值,如周期较短的迭代式开发,自我管理的开发团队和反馈带动增量发展等等。另外的4个属性分别是:个人安全(personal safety),集中(focus),容易接触专家用户(easy access to expert users)和技术环境(technical environment)。其中,容易接触专家用户实际就是敏捷方法中提到的客户持续参与,但Crystal Clear对此要求比较宽松。Crystal Clear也提供了一些通用的做法,比如,它提供了三种回顾分析的方法:访谈,问卷调查和工作组。Crystal Clear的过程也是相当简单,其中涉及短的迭代周期,日常会议及持续集成等。

还有其他一些敏捷方法如敏捷统一过程(Agile Unified process),上下文驱动开发(Context Driven Development),Getting Real等。这些方法都是增量和迭代开发过程,并且重视人多过于整个过程。而各种敏捷方法的区别在于它们对敏捷的不同阐释和不同侧重。理解这些方法可以帮助我们从多个角度理解敏捷

开发,并且了解更多的最佳应用。

如何选择一种敏捷方法

选择一种合适的方法取决于多种因素。在做出决定之前,我们需要充分考虑以下这些方面:

·方法的复杂度。确保你的团队或组织能够应付这种复杂度。

·社区和业界支持。流行的方法可能并不是你最理想的选择,但流行的方法至少有较多的社区及行业支持,可

以使你受益匪浅。

·实用工具。选择一种可以为你提供支持工具的方法。一个良好的软件工具可以帮助团队有效的处理日常工

作,促进团队协作,并减少管理成本。

·你目前的开发方式以及团队关于敏捷方法的认识程度。选择一些与你当前开发方式比较接近的敏捷方法将有

助于推动该方法的实施。

·你的团队规模。较小规模的团队最好从简单的方式入手。当然,这并不意味着你必须选择那些本身就比较简单的方法如Crystal Clear。你可以选择一些相对比较全面的方法,但从简单入手。当你的团队规模逐渐扩

大,再增加相应的细节。

·你不需要只遵从一种方法。你可以为团队选择一个主要的方法(如Scrum),然后从其他方法中借鉴对你的

团队或组织有所帮助的其他方式加以整合。

敏捷总是在不断发展演变,因此,没有一个人能保证目前的敏捷方法都是正确的。每个采用敏捷开发的团队都可以通过发现并形成自己的想法和最佳实践,对敏捷开发做出自己的贡献。

相关培训服务请查看:https://www.360docs.net/doc/6c14551867.html,/services/training

1. SCRUM

SCRUM?这个单词我以前没见过,所以我就不喜欢它,呵呵.SCRUM本义表示"混乱",它包括

多个“怪异”的方法/过程名称。比如,SCRUM将开发过程分为30天的迭代周期,每个

迭代周期叫做一个Sprint(原意:冲啊!);每天有一个15分钟的短会,用来决定第二天

的任务安排这样的短会就叫做scrum。

我不喜欢SCRUM的原因如下:

1)一个方法,搞出这么多名词,加重我们程序员的负担,不好;

2)SCRUM的迭代周期为30天,而且一个周期叫一个"冲",那不是要累死我们程序员?

3)每天有一个15分钟的短会,唉,XX党的会多!

4)15分钟的短会叫"混乱",那....,15分钟能结束吗?

5)SCRUM强调,开发者每天要向管理者报告项目进度,唉,我受不了了....

2. Crystal

Crystal根据项目规模和项目的重要性(如发射火箭的项目和一个"hello world"程序的

重要性当然是不一样的)来区别项目,并赋以相应的方法,所以,crystal是方法的组合.

相对于其它敏捷方法,Crystal强调软件开发流程的纪律性,所以,它比其它敏捷方法易

于使用,但它的生产率不如XP等其它敏捷方法.

3. ASD(Adaptive Software Development)

ASD强调开发方法的适应性(Adaptive),这一思想来源于复杂系统的混沌理论(这个

名字大家应该都听说过了,炒股的用的很多,呵呵)。ASD不象其他方法那样有很多具体

的实践做法,它更侧重于理论,因为它的作者就是搞理论出身的。

4. FDD

FDD(Feature Driven Development)定义了5个流程,

分别是Develop an Overall Model、Build a Features List、Plan by Feature、Design by Feature和Build by Feature。

前3个流程是在项目开始就进行的,其实总体相当于我们现在的系统分析;后两个则出

现在每次迭代周期中,FDD的迭代周期是两周,相当于我们现在的设计/编码/测试。

开发人员被归为两种,一种是主程序员,另一种是class所有者。主程序员不作具体的

编程工作,但要负责将Feature和Class对应起来,并充当开发协调者、设计者、技术

支持和指导者等;class所有者则进行实际的编程。我认为这样的划分对国内的软件开

发情况不合适,因为,真正达到主程序员水平的人,太少了!

对于ASD和FDD,国内介绍的还是比较多的.

5.XP

1 VISUAL C 集成开发环境(IDE)介绍

【实验准备】 一、Visual C++集成开发环境(IDE)介绍 集成开发环境(IDE)是一个将程序编辑器、编译器、调试工具和其他建立应用程序的工具集成在一起的用于开发应用程序的软件系统。Visual C++软件包中的Developer Studio就是一个集成开发环境,它集成了各种开发工具和VC编译器。程序员可以在不离开该环境的情况下编辑、编译、调试和运行一个应用程序。IDE中还提供大量在线帮助信息协助程序员做好开发工作。Developer Studio中除了程序编辑器、资源编辑器、编译器、调试器外,还有各种向导(如AppWizard 和ClassWizard),以及MFC类库,这些都可以帮助程序员快速而正确地开发出应用程序。 向导(Wizard):向导是一个通过一步步的帮助引导你工作的工具。Developer Studio中包含三个向导,用来帮助程序员开发简单的Windows程序,它们是: AppWizard:用来创建一个Windows程序的基本框架结构。AppWizard向导会一步步向程序员提出问题,询问他所创建的项目的特征,然后AppWizard会根据这些特征自动生成一个可以执行的程序框架,程序员然后可以在这个框架下进一步填充内容。AppWizard支持三类程序:基于视图/文档结构的单文档应用、基于视图/文档结构的多文档应用程序和基于对话框的应用程序。也可以利用AppWizard生成最简单的控制台应用程序(类似于DOS下用字符输入输出的程序)。ClassWizard:用来定义AppWizard所创建的程序中的类。可以利用ClassWizard在项目中增加类、为类增加处理消息的函数等。ClassWizard也可以管理包含在对话框中的控件,它可以将MFC 对象或者类的成员变量与对话框中的控件联系起来。ActiveX Control Wizard:用于创建一个ActiveX控件的基本框架结构。ActiveX控件是用户自定义的控件,它支持一系列定义的接口,可以作为一个可再利用的组件。 MFC库:库(library)是可以重复使用的源代码和目标代码的集合。MFC(Microsoft Fundamental Casses)是Visual C++开发环境所带的类库,在该类库中提供了大量的类,可以帮助开发人员快速建立应用程序。这些类可以提供程序框架、进行文件和数据库操作、建立网络连接、进行绘图和打印等各种通用的应用程序操作。使用MFC库开发应用程序可以减少很多工作量。 二、项目开发过程 在一个集成的开发环境中开发项目非常容易。一个用C++开发的项目的通用开发过程可以用

产品开发个人简历模板

产品开发个人简历模板 以下是关于产品开发个人简历模板,希望内容对您有帮助,感谢您得阅读。 1:水池灯、充气泵的结构开发、评审、样板测试、开模、安规认证及到量产的相关工作内容。 离职原因:家庭原因 **公司 (2009-01 ~ 2011-08) 公司性质:外资企业行业类别:家具、家电、工艺品、玩具 担任职位:开发工程师岗位类别: RD/研发工程师 工作描述:主要从事: 1:慢炖锅、暖风机、清新机的产品结构开发、测试、模具跟进及认证。 2:负责从产品的立项、结构设计、评审、开模、工程建立到量产的所有相关事宜。 离职原因:个人职业发展 **公司 (2006-03 ~ 2009-01) 公司性质:外资企业 行业类别:汽车、摩托车及零配件 担任职位:项目工程师 ·

岗位类别: RD/研发工程师 工作描述:主要从事: (1)马达的开发、产品测试、 (2)产品的生产建立及相关6sigma项目的跟进。 (3)新Projects的展开、以及“one-piece-flow"的推动。 离职原因:个人职业发展 项目经验 暖风机、清新机、慢炖锅项目开发。 (2009-05 ~ 2011-06) 担任职位: leader 项目描述:项目描述: 进入公司到现在高效的完成公司指定的暖风机、清新机及咖啡机的项目。从项目的最初立项、设计、工程建立、开模到量产的所有相关事宜。 责任描述:项目负责人 风扇马达磁铁碎裂次品改善 (2008-01 ~ 2008-05) 担任职位:项目Leader 项目描述:此款马达由于设计、生产工艺问题,造成生产次品率极高,报废严重。 责任描述:作为leader 成功的完成项目计划。 汽车风扇马达磁碎次品由改善前的65000PPM下降到1000. ·

QuartusII开发环境简介

Quartus II开发环境简介 一. Quartus II概述 Quartus II是Altera提供的FPGA/CPLD开发集成环境,Altera是世界最大可编程逻辑器件供应商之一。Quartus II在21世纪初推出,是Altera前一代FPGA/CPLD集成开发环境MAX+plus II的更新换代产品,其界面友好,使用便捷。在Quartus II上可以完成设计输入、HDL综合、布线布局(适配)、仿真和下载和硬件测试等流程,它提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。 Altera的Quartus II 提供了完整的多平台设计环境,能满足各种特定设计的需要,也是单芯片可编程系统(SOPC)设计的综合性环境和SOPC开发的基本设计工具,并为Altera DSP开发包进行系统模型设计提供了集成综合环境。Quartus II设计工具完全支持VHDL、Verylog的设计流程,其内部嵌有VHDL、Verilog逻辑综合器。Quartus II 也可以利用第三方的综合工具,如Leonardo Spectrum、Synplify Pro、FPGA Complier II,并能直接调用这些工具。同样,Quartus II具备仿真功能,同时也支持第三方的仿真工具,如ModelSim。此外,Quartus II与MATLAB和DSP Builder结合,可以进行基于FPGA的DSP系统开发,是DSP硬件系统实现的关键EDA工具。 Quartus II包括模块化的编译器。编译器包括的功能模块有分析/综合器(Analysis & Synthesis)、适配器(Filter)、装配器(Assembler)、时序分析器(Timing Analyzer)、设计辅助模块(Design Assistant)、EDA网表文件生成器(EDA Netlist Writer)和编辑数据接口(Complier Database Interface)等。可以通过选择Start Complication 来运行所有的编译器模块,也可以通过选择Start单独运行各个模块。还可以通过选择Complier Tool(Tools 菜单),在Complier Tool 窗口中运行该模块来启动编辑器模块。 在Complier Tool 窗口中,可以打开该模块的设置文件或报告文件,或打开其他相关窗口。 此外,Quartus II还包含许多十分有用的LPM(Library of Parameterized Modules)模块,它们是复杂或高级系统构建的重要组成部分,在SOPC设计中被大量使用,也可在Quartus II普通设计文件一起使用。Altera提供的LPM函数均基于Altera器件的结构做了优化设计。在许多实用情况中,必须使用宏功能模块才可以使用一些Altera特定器件的硬件功能。例如各类片上存储器、DSP模块、LVDS驱动器、PLL以及SERDES 和DDIO电路模块等。 图1-1中所示的上排是Quartus II编译设计主控界面,它显示了Quartus II自动设计的各主要处理环节和设计流程,包括设计输入编辑、设计分析与综合、适配、编程文件汇编(装配)、时序参数提取以及编程下载几个步骤。在图1-1下排的流程框图,是与上面的Quartus II设计流程相对照的标准的EDA开发流程。 Quartus II编译器支持的硬件描述语言有VHDL(支持VHDL’87及VHDL’97标准)、Verilog HDL及AHDL(Altera HDL),AHDL是Altera公司自己设计、制定的硬件描述语言,是一种以结构描述方式为主硬件描述语言,只有企业标准。 Quartus II允许来自第三方的EDIF文件输入,并提供了很多EDA软件的接口,Quartus II支持层次化设计,可以在一个新的编辑输入环境中对使用不同输入设计方式完成的模块(元件)进行调用,从而解决了原理图与HDL混合输入设计问题。在设计输入之后,Quartus II的编译器将给出设计输入的错误报告。Quartus II 拥有良好的设计输入定位器,用于确定文本或图形设计中的错误。对于使用HDL的设计,可以使用

浅谈敏捷项目管理在软件开发中的应用

浅谈敏捷项目管理在软件开发中的应用 摘要:本文先介绍了使用传统项目管理技术管理软件开发项目的方法,然后介绍了使用敏捷项目管理的初步实践,通过两者比较,提出了使用敏捷项目管理进行软件开发的方法。 一、使用传统项目管理技术管理软件开发项目的方法 按照《人月神话》的说法,软件开发是个焦油坑,书店里关于软件开发管理的书籍林良满目,各个软件开发组织也在尝试和应用不同的软件开发管理办法,希望寻找到“软件开发的银弹”。 在软件开发管理中,引入项目管理的办法,已经得到广大软件开发管理人员的一致认同,但对于具体实施何种项目管理办法,各个软件开发组织都有不同的答案,更多的迷茫,因为引入的项目管理办法不能从根本上解决软件开发项目面临的进度拖后、费用超支等问题,软件开发的银弹到底在哪里? 以下是笔者对国内软件开发组织不同项目管理成熟度的归纳和总结,大概可以分如下几类;1)小作坊、混沌形的,这样的组织还处在接单求生存的阶段,管理者还根本没有项目的意识,以满足客户需求、定制开发和回款为第一要务;2)尝试按照项目管理的思路与方法管理软件开发项目,但发现推

行困难,不得要领,目前很多中小型的软件开发组织都处于这个阶段;3)大型的软件企业,已经通过CMM|ISO认证、有足够的资源做保障,实行规范的项目管理做法,如一些软件外包工厂。 本文主要讲述处于第二个层次的软件开发组织的项目管理问题。软件开发项目管理涉及非常多的内容,从软件开发本身的业务出发,有需求管理、变更控制、配置管理、测试管理、系统分析与设计等;从项目管理的知识领域角度,有范围管理、时间管理、沟通管理、人力资源管理等内容。 按照传统的经典项目管理方法,通过一定的项目管理模板与IT工具,总结多个项目的经验,笔者总结有如下经典步骤来完成项目管理的计划编制与进度控制过程: 计划编制的经典步骤: ①建立企业和项目资源库:这个是进行项目管理的基础工作。 ②设置项目日历、资源日历。 ③设置项目的主要里程碑点。 ④在WBS(工作包)下列出工作清单(Task,Activity)。工作分解结构(WBS)和作业是进行项目范围管理的途径。 ⑤对每个Task估计工期。 ⑥连接每个Task间的逻辑关系(SS,FS,FS,FF,延时)。

新产品开发流程简介--Eric

新产品开发流程简介  LRBU   2011-8-5 

Guiding Principle Time  t o  M arket:  并行开发,缩短开发时程,加速新产品                               导入时间  (Schedule)  Time  t o  V olume:在新产品设计开发时,即能充分考虑成                               本  (Cost)、品质(Quality)、易制造  (Manufacturing)                               等因素  Time  t o  M oney:把握DFx之精神,使新产品能在具竞争性                              的成本下競爭,快速爬坡大量生产,为公                              司带来利润 

Terms Definition PM:  P roduct  M anagement  产品管理  ID:  I ndustrial  D esign  工业设计  F/W:  F irmware  韧体设计  DQA:  D esign  Q uality  A ssurance  设计品质保证  ETP:  E ngineering  T echnology  P latform  工程技术平台  EMC/Safety:  E lectric  M agnetic  C ompatibility  电磁相容/安规  PE:  P roduct  E ngineering  产品工程  CS:  C ustomer  S ervice  客户服务  BM:  B usiness  M anagement  经营管理  IP:  I ntellectual  P roperty  智慧财产(智权)  MRD:  M arketing  R equirement  D ocument  市场需求评估报告  FMEA:  F ailure  M ode  &  E ffect  A nalysis  失效模式与效应分析  E-BOM:  E ngineering  B ill  O f  M aterial  工程材料列表  P-BOM:  P roduction  B ill  O f  M aterial  生产材料列表 

集成开发环境的配置及使用说明

集成开发环境的配置及使用说明 本文讲解如何编写MSBuild脚本文件执行编译系统、运行FxCop检查代码、运行NUnit以及NCover进行单元测试、运行SandCastle生成帮助文档四项功能,并如何在集成开发环境中使用。 一、集成开发环境的配置 1.1 工具软件准备 1.1.1 MSBuild 只要安装过VS2005或VS2008后,就可以是路径C:\WINDOWS\https://www.360docs.net/doc/6c14551867.html,\Framework中看到MSBuild的三人版本,本例中使用V3.5。另外还得从下面的网站下载一个https://www.360docs.net/doc/6c14551867.html,munity.Tasks.msi文件,里面有MSBuild的已经编写好的各种任务。下载地址如下: https://www.360docs.net/doc/6c14551867.html,/ 1.1.2 NCover NCover现有网上使用的主要有两个版本NCover3.1和NCover1.5.8,但由于后者是免费版本,所以本例中使用NCover1.5.8版本,下载地址如下:https://www.360docs.net/doc/6c14551867.html,/download/community 1.1.3 其它软件 其它软件如下所示: NUnit 2.5.1 FxCop 1.36 HTML Help Compiler Sandcastle Help File Builder v 1.8.0.2 以上包括1.1.1和1.1.2的软件均可在Redmine项目管理的集成开发环境的配置的文件管理中下载,此处就不一一给链接了。下载后均按默认安装即可。但因为要在命令行中使用MSBuild和FxCopcmd命令,所在在环境变量Path中加入: C:\WINDOWS\https://www.360docs.net/doc/6c14551867.html,\Framework\v3.5; C:\Program Files\Microsoft FxCop 1.36; 另外再增加两个新变量: DXROOT C:\Program Files\Sandcastle和 HHCEXE C:\Program Files\HTML Help Workshop

产品研发个人简历

产品研发个人简历 姓名:陈先生性别:男 学历:大专身高:cm 籍贯:湖北出生年月:1984-04-01 目前所在地:未在深圳 毕业院校:南昌理工学院 主修专业:机械工程与地矿类=机械设计制造及其自动化 工作经验:未知目前年薪:保密/年 技能专长:本人能够独立设计完成非标工程项目,项目范围为电镀行业,工业清洗行业,部分涂装行业;同时待人诚恳热情,工作认真负责,工作期间独立完成镀铬生产线,阳极氧化生产线,镀金镀银生产线及配套设备等的选型和设计,使用三菱plc和触摸屏独立完成注塑机械手等的机械设计,接线,编程,调试;参与完成伺服驱动五轴平面喷涂自动化生产线和精确点胶机,各种清洗机等设备的开发,送排净风的无尘车间。熟悉使用solidworksXX,pro/eXX,autocad,各种办公软件,熟悉iso14000及iso9001期望从事职业:研发工程师,机电工程师,自动化工程师期望月薪:面议目前状况:我目前在职,正考虑换个新环境(如有合适的工作机会,到岗时间一个月左右) -------求职意向------- 寻求职位:研发工程师 求职地区:罗湖区福田区南山区 工资待遇:面议

到岗时间:随时到岗 自我评价:本人能够独立设计完成非标工程项目,项目范围为电镀行业,工业清洗行业,部分涂装行业;同时待人诚恳热情,工作认真负责,工作期间独立完成镀铬生产线,阳极氧化生产线,镀金镀银生产线及配套设备等的选型和设计,使用三菱plc和触摸屏独立完成注塑机械手等的机械设计,接线,编程,调试;参与完成伺服驱动五轴平面喷涂自动化生产线和精确点胶机,各种清洗机等设备的开发,送排净风的无尘车间。熟悉使用solidworksXX,pro/eXX,autocad,各种办公软件,熟悉iso14000及iso9001期望从事职业:研发工程师,机电工程师,自动化工程师期望月薪:面议目前状况:我目前在职,正考虑换个新环境(如有合适的工作机会,到岗时间一个月左右) -------教育培训------- 起止时间就读院校名称主修专业学历 XX.09~XX.06南昌理工学院机械设计制造及其自动化大专 -------工作经验(1)------- 就职公司:璇瑰塑胶工业有限公司公司行业:仪器仪表及工业自动化 就职时间:XX年07月到XX年05月就职部门:工业工程部 公司性质:其它就职职位:技术研发工程师 工作描述:服务公司的宏伟目标,既是计划在未来5-XX年的实现整个工厂自动化。职位期间主要负责完成项目管理包括机械设计,plc编程和调试,部门合作及进度跟进,完成了涂装生产线,注塑机

敏捷软件开发

敏捷软件开发:SRP单一职责原则 (2009-03-24 20:30:24) 转载 标签: it 这条原则实际就是体现内聚性原则的体现,一个模块的组成元素之间的功能相关性。把内聚性概念扩展一下:把内聚性和引起一个模块或者类改变的作用力联系起来。 一个类应该只有一个发生变化的原因。若Game类有2个不同的职责,一个是记录当前轮,另一个式计算分数,最后要把这两个职责分离到两个类中。为何把这两个职责分在单独的类中呢?因为每个职责都是变化的一个轴线,当需求变化会反映为类的职责的变化。如果一个类承担了多于一个职责,那么引起它变化的原因就会有多个。 如果一个类承担的职责太多,就等于把这些职责耦合在一起了。一个职责的变化可能会削弱或抑制这个类完成其他职责的能力,这种耦合或导致脆弱的设计,当变化发生时,设计会遭受到预想不到的破坏。 定义职责:如果你能够想到多于一个的动机去改变一个类,那么这个类就具有多于一个的职责,有时候我们很难注意到这点,我们习惯以组的形式去考虑职责。 public interface Modem{ public void Dial(String pno); public void Handup(); public void Send(char c); public char Recv(); } 接口包括了2个职责,第一个职责是连接管理,第二个职责是数据通信。 如果应用程序的变化方式总是导致这两个职责同时变化,那么就不要分离他们,分开他们就会有不必要的复杂性味道。仅当变化发生时,变化的轴线才有实际意义,如果没有征兆,那么应用SRP或者任何其他原则都是比明智的。 分离耦合的职责:经常会有一些和硬件或者操作系统的细节有关的原因,迫使我们把不愿意耦合在一起的东西欧和在一起了。然而,对于应用的其余部分来说,通过分离他们的接口我们已经解耦概念。 如果ModenImplementation implemet DataChannel,Conection。ModenImplementation看起来是一个混杂物,或者有缺陷的类,所有的依赖关系都是从它发出来的。谁都不需要依赖它,谁都不需要知道它的存在。因此,我们已经把丑陋的部分隐藏起来了。其丑陋性不会泄露出来,污染应用程序的其它部分。 持久化:如Emplyee:CalculatePay,Store,Emplyee类包括了业务规则和对于持久化的控制,这两个职责在大多数情况下绝不应该混合在一起。业务规则往往会频繁地变化,而持久化的方式却不会如此频繁的变化,并且变化的原因也不一样。把持久化系统和业务规则绑定在一起是自讨苦吃的做法。如果发现这种情况存在了,应该使用FACADE、dao或者proxy模式对设计进行重构,分离这两个原则。 SRP是所有原则中最简单的原则之一,也是最难正确运用的原则之一。

IntelliJ IDEA——Java 集成开发环境介绍

最智能的Java IDE 使用Java、Scala和Groovy进行极其出色的企业、移动和web开发,提供所有即开即用式的最新现代 技术和框架 IntelliJ IDEA 关键概述 IntelliJ IDEA 这款屡获殊荣的Java IDE 旨在提高开发人员的生产力。其智能的编辑器、代码分析器和一组强大的重构功能支持大量编程语言、框架和技术,而且能够立即投入使用。 IntelliJ IDEA 主要优点 ?允许开发人员在确保所有例程任务顺利进行的同时专注于开发。 ?让编写、调试、重构、测试和代码了解都变得轻松简单。 ?无缝处理异构式的Java、Ruby、Groovy、Python 和Scala 代码库。 ?自动维护代码质量。 ?跟踪和修复所有级别的错误——从语句到整个架构。 ?以最短的时间生成简洁、快速的执行代码。 ?适用于所有规模的项目——从个人级别项目到企业级别项目。 ?支持所有主要语言、技术和框架。 ?适用于流行的版本控制系统和持续集成服务器TeamCity。 IntelliJ IDEA 重要功能 智能编码辅助 ?智能完成代码 ?600 多种代码检查和即时代码分析功能 ?智能的快速修复 ?自动代码生成和样式设置 语言、技术和应用程序服务器的一致支持 ?为使用以下语言和技术进行的开发提供出色的支持,包括Java、 JavaScript/ ActionScript /Flex、HTML/XHTML/CSS、XML/XSL、PHP、 Ruby/JRuby、Groovy、SQL、FreeMarker/Velocity、JSP、JSF 和 JSF 2.0、EJB、AJAX、GWT、GWT 2.0、Google App Engine、Struts、 Struts 2、JBoss Seam、Spring、Spring 2.5 和3.0、Spring Security 2.0、Hibernate/JPA 和JPA 2.0、Tapestry、Web Beans、Bean Validation、

集成开发环境

集成开发环境(简称IDE)软件是用于程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。就是集成了代码编写功能、分析功能、编译功能、debug 功能等一体化的开发软件套。所有具备这一特性的软件或者软件套(组)都可以叫做IDE。如微软的Visual Studio系列,Borland的C++ Builder,Delphi系列等。该程序可以独立运行,也可以和其它程序并用。例如,BASIC语言在微软办公软件中可以使用,可以在微软Word 文档中编写WordBasic程序。 IDE为用户使用Visual Basic、Java和PowerBuilder等现代编程语言提供了方便。不同的技术体系有不同的IDE。比如visual https://www.360docs.net/doc/6c14551867.html,可以称为C++、VB、C#等语言的集成开发环境,所以visual https://www.360docs.net/doc/6c14551867.html,可以叫做IDE。同样,Borland的JBuilder也是一个IDE,它是Java的IDE。zend studio、editplus、ultra edit这些,每一个都具备基本的编码、调试功能,所以每一个都可以称作IDE。 IDE多被用于开发HTML应用软件。例如,许多人在设计网站时使用IDE(如HomeSite、DreamWeaver、FrontPage,等等),因为很多项任务会自动生成。IDE集成代码编辑,代码生成,界面设计,调试,编译等功能,目前还融合了建模功能。 Mylyn 简介 Mylyn(旧称Mylar)是eclipse的一个插件,用于将任务管理和上下文管理无缝集成到Eclipse中。 首先它是一个高度集成到ECLIPSE中的任务管理工具。 把任务列表与具体的代码联系到了一起。你只要激活一个任务,之相关的所有文件、函数将被突出的显示在ECLIPSE界面的每个“角落”――Package Explorer,Open Type, Open Resource,Debug View…… 相信很多人都有过这样的经验,改一个东西可能就几分钟,但找到在哪改、会影响到什么地方,却要花半小时。有了这个工具,让我们在非常大的项目里,在文件和代码的海洋里能马上找到所要关注的部分。有的人说,我有CTRL+SHIFT+T,可是你能记住几年前一个项目里的类名吗?而查阅文字描述的任务却要容易得多。 Mylyn是如何做到任务与代码的关联呢?你唯一要做的就是,在完成一个编码任务前,激活相应的任务!这样,随后你的编辑、访问各种元素的操作都被Mylyn记录,它会根据你的访问频率分析相关程度。当你的任务成百上千,或者你过一段时间再回头来修改代码时,只要激活相应的任务,它就会自动将相关的文件窗口打开,并在各种查找、显示界面里根据当初的记录突出显示相应元素。 1. 安装下载相应的Mylyn zip包,解压缩开就是两个文件夹:features和plugins,以及一个XML文件:site.xml。将这两个文件夹拷入或者以配置方式导入合适版本的Eclipse中就可以了。 2. 使用重启Eclipse,Window的preference配置窗口里就多了一个Task的菜单,用于对Mylyn的配置。 点击Window>show view> other(我的eclipse是英文版本),弹出的对话框中可以找到Mylyn的选项,它下面有两个View可供选择:Task List和Task Repositories。把两个view 都打开,可以看到Task List里是空的列表,因为还没和任何存储库建立查询联接。Mylyn的文档中说可以与Bugzilla, Trac 和JIRA等存储库集成,由于没有Trac和JIRA环境,

产品开发人员简历范文

产品开发人员简历范文 姓名:性别:男 更新日期:20XX年11月17日民族:汉族 户籍:广西玉林年龄:23 婚姻状况:未婚身高:178cm 现所在地:广东东莞 希望地区:广东广东广东 希望岗位:工业/工厂类-产品开发 待遇要求:¥3000元/月(可面议要求提供住宿) 最快到岗:随时到岗 教育/培训 毕业证 工作经验至今3年9月工作经验,曾在2家公司工作 (20XX-03~20XX-01) 公司性质:外资企业行业类别:生产、制造、修饰加工 担任职位:助理电子工程师 工作描述:担任助理电子工程师一职;负责从开发到生产所有过程中每个细节。本能够根据客户要求功能,独立进行确定方案和设计电路,输出BOM,独立完成PCBLayot工作!熟练电子仪器,进行各项指标测试,对产品在设计中所遇到的问题,调试过程中遇到的问题,从发现到解决能够独立处理。 (20XX-09~20XX-08) 公司性质:外资企业行业类别:生产、制造、修饰加工 担任职位:电子修理组长

工作描述:20XX年9月至20XX年8月在横沥镇三江工业区巨扬电器任修理组长.主要生产电子感应,开关电源,红外感应灯,节能灯,感应灯,流程圖編寫,生產不良品分析和改善措施報告。 技能/专长 专业职称:助理电子工程师 语言能力:普通话流利,粤语流利 英语水平:较差 英语口语:一般 第一外语:英语一般 其它:白话 计算机能力:中级 计算机详细技能:熟练运用Protel99SE软件、Office办公软件、等. 其它技能:电子线路设计、电路板设计;动手能力强,能独立完成一定的设计、熟练应用数字电路和模拟电路进行电子产品的设计。 具有对电子线路系统进行设计、调试、维护的能力;具有一定的设计经验. 发展方向 寻求职就我在电子界摸爬滚打这几年,积累了一点电子方面的东西.电子技术是一门非常崭新的学科,目前研究的内容还不很深入,但电子技术系我的一个成长中的专业. 自我评价

前端开发环境介绍

前端开发环境介绍 在过去的几年时间里,出现了许多全新的网页应用程序,不过,由于应用程序的功能越来越丰富,也导致了前端开发的复杂度大幅增加。 现在也有不少前端开发工具,比如Backbone和EmberJS框架都能提供稳定的App开发解决方案。同时,Javascript的应用也越来越常广泛,而且它还能和Node.JS在后端协同工作,快速搭建易于扩展的网络应用。实际上,为了应对前端开发复杂度所带来的挑战,开发人员创建了许多工具来简化开发流程。从测试框架,到分析工具,前端开发工具已经非常成熟了,正是得益于这些有用的工具才让用户体验到最佳的互联网服务。 开发人员都喜欢使用高质量的软件开发工具,本文就推荐几个优秀的前端开发工具: Chrome浏览器 这是目前最好的前端开发工具。自从其诞生以来,Chrome在其开发者工具中投入了大量精力,而且直到现在,谷歌仍在不断优化这些工具。一般而言,谷歌会在每六周发布对Chrome开发者工具的优化,并推出一些全新功能。Grunt Grunt在任务自动化中很有用,它是一个基于任务的JavaScript命令行构建工具,支持捆绑任务插件。此外,Grunt是可扩展的,开发人员可以按照自己的需要编写不同的任务,而且Grunt支持将多任务整合在一起,提供更强大的功能。 每天你会在键盘上点击多少次“刷新”键呢?很多次吧。LiveReload是一个简单的网页协议,可以触发事件到客户端,无论文件什么时候被改动,客户端

都能及时刷新、处理事件。 LiveReload 反复测试有没有让你觉得想吐?通常情况下,如果在前端开发的初始阶段没有设计好测试,那么后面的工作往往会变得非常困难。幸运的是,我们有不少优秀的测试框架,它们就像之前使用过的那些开发语言一样强大。目前主流的两个测试框架就是Jasmine和Mocha。 以上就是小编介绍的关于“前端开发环境介绍”,如有不解和疑问,欢迎大家访问千锋教育官网给我们留言,千锋HTML5讲师会为大家详细解决问题。

研发中心简介模板

XX有限公司 电子研发中心简介 XX有限公司电子研发中心由电子研发工程一部、电子研发工程二部、电子研发工程三部、电感研发工程部、灯饰研发工程部、测试中心、综合管理部七个部门组成。如图: 电子研发工程一部: 负责节能灯、太阳能光伏发电技术转换装置等项目的研究开发工作。 电子研发工程二部: 负责电子变压器等电子类项目的研究开发工作。 电子研发工程三部: 负责开关电源、LED适配器等项目的研究开发工作。 电感研发工程部: 负责电感变压器、HID镇流器、UPS干式变压器、调压器等项目的研究开发工作。 灯饰研发工程部: 负责灯饰产品等项目的研究开发工作。 测试中心:

(1)负责产品样板的检测工作,并出具检测报告。 (2)负责组织产品安规认证、EMC测试的咨询、谈价、签约,并对认证工作的实施进行协调和跟进。 (3)负责组织公司内产品认证前的预测及产品认证的部分检测工作。 (4)负责组织认证机构对本公司已经安规认证产品的年度审核工作。 (5)负责组织物料ROHS检测和产品的ROHS认证确认,并提供物料ROHS检测报告和产品的ROHS认证报告。 (6)负责对内、对外测试业务的接单、报价、测试、出具测试报告、统计等工作。 综合管理部 (1)负责科技情报的收集整理及科研成果、专利项目的申报工作。 (2)负责落实每年的人员培训工作。 电子研发中心主要工作任务是,除完成日常产品设计外,还负责搜集、整理各种信息,跟踪国内外电源产品、节能灯、太阳能照明及递延产品的前沿信息,准确做出判断,指导企业新产品研发方向。有效地解决企业在技术创新及产品研发过程中遇到的困难及难题,提高企业的科技含量及技术水平,使中心成为国内电源产品、太阳能照明产品的研究开发基地,填补国内技术空白并不断替代进口产品,技术水平达到国内领先或行业领先。

产品开发个人简历范文

产品开发个人简历范文 以下是关于产品开发个人简历范文,希望内容对您有帮助,感谢您得阅读。 姓名:个人简历网国籍:中国 目前住地:花都民族:汉族 户籍地:花都身高体重: 156 cm?55 kg 婚姻状况:已婚年龄: 31 岁 求职意向及工作经历 人才类型:普通求职? 应聘职位:经营/管理类:PMC管理、工业/工厂类、贸易类:工作年限: 12 职称:无职称 求职类型:全职可到职日期:随时 月薪要求: 3500--5000 希望工作地区:花都广州佛山 工作经历: 公司名称:广州***体育发展有限公司起止年月:2007-06 ~2010-03 公司性质:外商独资所属行业:文娱体育,办公用品 担任职务:商品部--产品开发 工作描述: 1.根据市场的需求及客户,公司发展的需要按季 ·

节开发新产品来引导市场消费 负责核心供应商考核、开发和管理,以保证产成本和供应业绩与公司目标相匹配。 2. 负责完善供应资源管理流程。管理采购单在执行期内生产情况的跟踪、协调与质量检验。 3. 负责管理BOM成本,目标价格和供应商供应能力的风险分析。 4. 建立并维护核心供应商的长期合作体系,保证公司及其客户在全球供应保障和成本等方面保持领先竞争优势。 5. 新品开发上市铺货及落实整合计划,指导采购订单的制作与各类报表的分析。 6. 做好有关商品资料的收集和档案工作,根据各门店的销售情况,进行配货并制作采购计划,控制库存,做好呆料的处理方案和销售量。 7. 与供应商进行有效的RFQ谈判,以保证获取及时和竞争性的价格。 8. 优化供应模式,持续对采购工作进行标准化和流程化管理。任职期间工作认真负责,工作态度积极,处理突发事件得当有效,获得了上级,供应商及同事的一致肯定。 离职原因: ·

VC++6.0 集成开发_环境简介

C程序上机指南 VC环境下C程序的开发与调试 开发C语言程序,一般包括四步: (1)编辑。可以用任何一种编辑软件将在纸上编写好的C语言程序输入计算机,并将C语言源程序文件*.c以纯文本文件形式保存在计算机的磁盘上(不能设置字体、字号等)。 (2)编译。编译过程使用C语言编译程序将编辑好的源程序文件“*.c”翻译成二进制目标代码文件“*.obj”。编译程序对源程序逐句检查语法错误,发现错误后,不仅会显示错误的位置(行号),还会告知错误类型信息。我们需要再次回到编辑软件修改源程序的错误,然后,再进行编译,直至排除所有语法和语义错误。 (3)连接。程序编译后产生的目标文件是可重定位的程序模块,不能直接运行。连接将编译生成的各个目标程序模块和系统或第三方提供的库函数“*.lib”连接在一起,生成可以脱离开发环境、直接在操作系统下运行的可执行文件“*.exe”。 (4)运行程序。如果经过测试,运行可执行文件达到预期设计目的,这个C 语言程序的开发工作便到此完成了。如果运行出错,这说明程序处理的逻辑存在问题,需要再次回到编辑环境针对程序出现的逻辑错误进一步检查、修改源程序,重复编辑→编译→连接→运行的过程,直到取得预期结果为止。 一、Visual C++ 6.0开发环境介绍 Visual C++ 6.0(以后简称VC)是Microsoft公司推出的可视化开发环境Developer Studio下的一个组件,为我们提供了一个集程序创建、编辑、编译、调试等诸多工作于一体的集成开发环境(IDE)。VC集成开发环境功能强大,不仅提供了大量的向导(Wizard ),还有完备的帮助功能(MSDN)。所以,初学者学习C语言编程,并不需要全面了解开发环境的全部功能。我们可以在安装VC 时选择完全安装MSDN,然后在遇到问题时再去查阅MSDN中的相关说明。 通过“开始”菜单或桌面快捷方式启动Visual C++进入集成开发环境,如图1-1所示。 图1-1 Visual C++界面 跟大多数的 Windows 应用程序一样,Visual C++最上面是菜单,然后是工具栏,中央是工作区(左侧窗口是项目工作区,C程序员可以在ClassView页的

QuartusII开发环境简介

Quartus II开发环境简介 一.Quartus II概述 Quartus II是Altera提供的FPGA/CPLD开发集成环境,Altera是世界最大可编程逻辑器件供应商之一。Quartus II在21世纪初推出,是Altera前一代FPGA/CPLD集成开发环境MAX+plus II的更新换代产品,其界面友好,使用便捷。在Quartus II上可以完成设计输入、HDL综合、布线布局(适配)、仿真和下载和硬件测试等流程,它提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。 Altera的Quartus II 提供了完整的多平台设计环境,能满足各种特定设计的需要,也是单芯片可编程系统(SOPC)设计的综合性环境和SOPC开发的基本设计工具,并为Altera DSP开发包进行系统模型设计提供了集成综合环境。Quartus II设计工具完全支持VHDL、Verylog的设计流程,其内部嵌有VHDL、Verilog逻辑综合器。Quartus II 也可以利用第三方的综合工具,如Leonardo Spectrum、Synplify Pro、FPGA Complier II,并能直接调用这些工具。同样,Quartus II具备仿真功能,同时也支持第三方的仿真工具,如ModelSim。此外,Quartus II与MATLAB和DSP Builder结合,可以进行基于FPGA 的DSP系统开发,是DSP硬件系统实现的关键EDA工具。 Quartus II包括模块化的编译器。编译器包括的功能模块有分析/综合器(Analysis & Synthesis)、适配器(Filter)、装配器(Assembler)、时序分析器(Timing Analyzer)、设计辅助模块(Design Assistant)、EDA网表文件生成器(EDA Netlist Writer)和编辑数据接口(Complier Database Interface)等。可以通过选择Start Complication来运行所有的编译器模块,也可以通过选择Start单独运行各个模块。还可以通过选择Complier Tool (Tools 菜单),在Complier Tool 窗口中运行该模块来启动编辑器模块。在Complier Tool 窗口中,可以打开该模块的设置文件或报告文件,或打开其他相关窗口。 此外,Quartus II还包含许多十分有用的LPM(Library of Parameterized Modules)模块,它们是复杂或高级系统构建的重要组成部分,在SOPC设计中被大量使用,也可在Quartus II普通设计文件一起使用。Altera提供的LPM函数均基于Altera器件的结构做了优化设计。在许多实用情况中,必须使用宏功能模块才可以使用一些Altera特定器件的硬件功能。例如各类片上存储器、DSP模块、LVDS驱动器、PLL以及SERDES和DDIO电路模块等。 图1-1中所示的上排是Quartus II编译设计主控界面,它显示了Quartus II自动设计的各主要处理环节和设计流程,包括设计输入编辑、设计分析与综合、适配、编程文件汇编(装配)、时序参数提取以及编程下载几个步骤。在图1-1下排的流程框图,是与上面的Quartus II设计流程相对照的标准的EDA开发流程。 Quartus II编译器支持的硬件描述语言有VHDL(支持VHDL’87及VHDL’97标准)、Verilog HDL及AHDL(Altera HDL),AHDL是Altera公司自己设计、制定的硬件描述语言,是一种以结构描述方式为主硬件描述语言,只有企业标准。 Quartus II允许来自第三方的EDIF文件输入,并提供了很多EDA软件的接口,Quartus II支持层次化设计,可以在一个新的编辑输入环境中对使用不同输入设计方式完成的模块(元件)进行调用,从而解决了原理图与HDL混合输入设计问题。在设计输入之后,Quartus II的编译器将给出设计输入的错误报告。Quartus II 拥有良好的设计输入定位器,用于确定文本或图形设计中的错误。对于使用HDL的设计,可以使用Quartus II带有的RTL Viewer观察综合后的RTL图。在进行编译后,可对设计进行时序仿真。

敏捷开发过程中如何开发高质量的软件

.、八、- 刖言 什么是软件质量?很多技术同仁都认为软件质量是软件是否存在Bug,是否性 能高,安全性好等等。其实软件质量的含义远多与此。质量就是软件产品对于 某个(或某些)人的价值;价值是指创造利润,又或是降低成本。总的来说, 软件质量是软件的灵魂和存在意义。另外,我们知道现在敏捷开发日趋流行, 其实敏捷开发也是顺应市场的对价值的诉求和日益复杂的业务而产生的方法论, 敏捷开发是追求高质量软件的方法论和过程。 本文将和大家一起探讨软件质量的含义,以及敏捷开发中如何进行高质量软件 的开发。 软件质量的理解 首先,我们先来看看什么是软件产品质量?先有了软件质量定性的了解,才能 介绍如何影响、控制和改进质量。 大师温伯格在《质量?软件?管理系统思维》说到:“质量就是软件产品对于 某个(或某些)人的价值”(某个或某些人文章中统称之为用户),这里面包含两个层次的质量含义,即“正确的软件”及“软件运行正确”: 1.“正确的软件”是说,一个软件要能够满足用户的需求,为用户创造价值 此处的价值可以体现在两个方面,即为用户创造利润或者减少成本。如果一个软 件能够满足需求的用户群体越大、创造的利润越大或减少的成本 越大,则该软件产品的质量越高。反之,一个产品尽管运行良好,没有 Bug,扩展性很强,性能很好,但如果没有服务的用户人群,没有为用户 创造价值,则这样的软件尽管运行良好,也无任何质量可言。 2.“软件运行正确”是说软件没有或很少Bug,扩展性很强,性能良好,易 用性高等。这样的软件是一个运行良好的软件,但还不能称之为高质量 的软件。只有在软件符合用户的需求的基础上,运行良好的软件,才是 一个高质量的软件。当然,如果软件完全符合用户需求,但不易使用, 经常出错,性能很差,这样的软件也不是一个高质量的软件。 “正确的软件”及“软件运行正确”二者相辅相成,前者关系到软件的成败, 后者关系到软件的好坏。在现实的很多开发团队中,特别是偏技术的开发团队中,往往过分注重后者(软件的Bug率,性能,可扩展性,架构等),经常陷入在软件开发过程的细节之中,而忽略了前者(软件需要符合用户的需求),开发出的软件经常能用但无用,不是最终用户期望的软件,这样的软件是能用但无用零质量软件。 在产品开发中,能用但无用的现象尤为明显。产品和项目不一样,项目往往是 为某个客户而开展,有特定的需求来源,而产品往往是一个更广泛的概念,是

相关文档
最新文档