02_01_软件开发中的人员与过程_1

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第二章软件开发中的人员与过程_1本节目标软件与软件工程软件工程师应具备的素质要求软件工程师职责要求与任职条件软件工程师能力要求软件概述软件(software)与硬件(hardware)相互依存,共同组成计算机系统。软硬件的关系就象人的躯体与灵魂。硬件是计算机的“躯体”,软件是计算机的“灵魂”。在现代社会中,软件应用于多个方面:典型的软件比如有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏等。各个行业几乎都有计算机软件的应用,比如工业,农业,银行,航空,政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。软件定义软件被Boehm定义为“软件是程序以及开发、使用和维护需要的所有文档”。一般认为软件是由程序、数据和相关文档的完整集合。程序是按照设计文档的功能和性能要求所编写的指令序列。数据是程序操作的数据结构和所需的信息,可以以文件或数据库的形式体现。文档是为程序开发而形成的图文资料,文档贯穿软件开发全过程,为的是使我们整个开发过程更加顺畅,保证项目的成功。软件工程软件工程的兴起要源于20世纪六七十年代的软件危机。软件工程(SoftwareEngineering,简称为SE)被定义为在软件开发与维护过程中采用工程的原理、方法、技术并使用正确的管理方法来指导软件生产的全过程。具体来讲,软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。按照工程化的原理、方法与技术,管理和组织软件的开发工作是摆脱软件危机的一个重要出路。软件开发中的人员在软件开发的整体过程中,从某意义上其“艺术”性高于“科学”性,因为融入了艺术的产品有着超群的竞争力,而这一切又都归功于软件产品的主体-人。人的最大潜能的挖掘和团队最大可能的互助必将创造成功的产品。软件工程师概述软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉,需求分析,设计,实现和测试的系统工程。由此可见,软件开发并不仅仅是编程,编程只是软件开发环节中的一部分。软件一般是用某种程序设计语言来实现的。通常采用软件开发工具可以进行开发。软件开发是一项复杂的智力工程,其主体是具有软件开发能力的人-软件工程师。软件工程师一般泛指从事软件开发职业的人。软件工程师按照所处的领域不同可以分为系统分析员,软件设计师,系统架构师,程序员,测试员等等。人们也常常用程序员来泛指各种软件工程师。软件工程师鼻祖程序设计的出现甚至早于电子计算机的出现。英国著名诗人拜伦的女儿AdaLovelace曾设计了巴贝奇分析机上解伯努利方程的一个程序。她甚至还建立了循环和子程序的概念。由于她在程序设计上的开创性工作,AdaLovelace被称为世界上第一位程序员。董铁宝是“中国第一个程序员”。董铁宝1945年赴美国学习,在伊利诺伊大学学习、研究时,参与了第一代电子计算机ENIAC的设计、编程和使用。董铁宝于1956年回到中国并任教于北京大学。软件工程师应具备的素质要求软件工程师应具备的基本素质:智力个人素质技术能力共同合作能力危机感智力字典上将智力定义为认识、理解客观事物并运用知识经验等解决问题的能力。在程序开发语言与工具得到巨大发展与普及的今天,只要具有基本的逻辑思维能力与问题解决能力,就具备从事软件开发基本能力。很多公司在招聘软件工程师时,往往出一些与程序设计关系不大,但是考察人智力水平的问题。一个密不透风的屋子里有三盏灯,门外有三个无序的开关分别控制之,你现在在门外,只有一次机会开门进去看,请问你如何判断哪个开关控制哪盏灯?你有两间屋,甲和乙,甲屋有四个开关,乙屋有四个灯泡,甲屋是看不到乙屋,而甲屋的每一个开关是控制乙屋的其中一个灯泡,问你怎样可以只停留在甲屋一次,停留在乙屋一次,而可以知道那个开关是控制那个灯泡呢?个人素质软件公司招聘软件开发人员时,第一关是通过面试看应试者的基本素质,之后才考察应试者的技术水平。个人素质可以从言谈举止观察出来。其一般来讲,个人素质包括如下几个方面:诚实:诚实是为人的基本品质;自信:了解自己、尊重自己、自己作主,但不自大;敬业:以一种尊敬、虔诚的心灵对待职业,喜欢自己的职业;勇气:敢于挑战自己,突破自己;创造力:不拘泥于书本,能够创新求变。技术能力技术能力主要指能够用特定的技术编写程序,并解决程序中的问题。可以分解为如下几个方面:基本功:包括编程语言、编程工具的掌握,良好的编码能力,运用数据库的能力等;解决问题的能力:编程序出了错误不可怕,关键是能否快速定位并解决问题;技术敏感度:IT是个新技术层出不穷的领域,应该时刻保持着对新技术的敏感;技术热情:具备不断追随、学习新技术的热情。沟通与合作能力现代的软件开发已经走过了个人英雄主义的时代,软件规模越来越大,致使软件开发项目组成员越来越多,沟通与合作能力已经成为软件工程师必备的基本能力之一。沟通能力:包括与客户,与项目组成员,与上级的良好沟通;人际关系:开发项目免不了要与人沟通与交流,开发人员也要学会如何处理人际关系;团队精神:软件是开发团队共同的成果,开发人员必须具有团队合作精神;冲突协商:团队之中人与人难免会有冲突,多数是技术上的冲突。开发人员要具备协商解决的素质。危机感IT行业正在以比传统行业快7倍的速度发展,新技术、新思想、新模式层出不穷,这是一个逆水行舟,不进则退的行业,开发人员必须怀有危机感,不断的学习、进取,才能够追赶上这个行业的前进步伐。两个人在森林里,遇到了一只老虎。A就赶紧从背后取下一双更轻便的运动鞋换上。B边跑边回头道:“你干嘛呢,再换鞋也跑不过老虎啊!”A说:“我只要跑得比你快就行了。”软件工程师职责要求与任职条件我们这里所说的软件工程师泛指狭义程序开发人员,一般在软件公司里,按其分工不同,可以分为:程序员软件工程师系统分析师项目经理程序员职责要求负责完成软件部分详细设计和编程工作;能完成任务分析和分配工作;可独立完成应用软件中具体模块的开发工作;在软件工程师的带领下完成软件模块的设计、开发和单元测试;书写相关的技术文档。程序员任职条件计算机及相关专业专科以上学历,英语水平较好,良好的英语读写能力;了解面向对象技术,UML建模语言及ROSE、PowerDesinger等建模工具;熟练掌握一门以上的面向对象语言,能够利用相应开发工具进行程序编写工作;了解SQL语言的使用方式,有数据库开发经验;具备一定的分析和解决问题的能力。能够高质量地独立完成工作。软件工程师职责要求负责应用软件项目的开发和升级维护,包括安装,部署和配置;参与软件测试和系统性能分析;制作和维护开发和测试文档;参与了解项目的需求分析及系统设计,根据业务的需要,部分参与需求分析,系统设计,并予以实现以提供给客户解决方案;根据项目要求完成模块详细设计和编程实现;根据公司技术文档规范撰写模块详细设计文档。软件工程师任职条件具有三年以上在正规软件过程控制下的程序开发经验;精通面向对象技术,熟悉UML建模语言,能够熟练的使用诸如ROSE、PD之类的建模工具;熟练掌握一到两门面向对象的编程语言,能够熟练的使用相应的开发工具进行程序的编写工作;具有使用Oracle、SQLServer、MySQL、Sybase等一种以上数据库的二年以上的软件开发经验;掌握软件工程理论和方法,熟悉主流面向对象系统分析、设计方法和模式。熟悉软件开发生命周期,需求分析,面向对象设计及软件测试;有较强的分析能力,高度的责任心,为人诚恳,积极主动,性格开朗、具良好沟通能力,具有团队合作精神。系统分析师职责要求1协助项目经理工作,参与项目的需求分析、总体设计和详细设计,承担关键功能模块的编码工作,参与项目的集成测试、用户测试和项目实施工作。能够在项目组中起到骨干作用;负责分析用户提供的需求,并就需求的具体内容与用户反复进行交流,达成需求共识;并形成“业务需求说明书”,由用户认可;负责项目的系统分析和设计工作以及部分编码,测试工作,编写相关分析和设计报告及相关文档;协助制定软件开发计划;系统分析师职责要求2参与软件需求与设计审核和代码检查;为整个研发工作提供技术指导;提供售前技术方案支持;协助项目经理完成项目各项质量记录的编写;计算机软件领域的前沿技术的跟踪研究,并对竞争对手的技术路线、产品定位进行分析。系统分析师职任职条件1具有三年以上在正规软件过程控制下的程序开发经验和两年以上规范的需求分析/系统分析经验;精通主流业务分析、系统设计工具,很好地理解OOD和OOA方法,熟练掌握基于UML和模式的面向对象分析与设计,精通一到两门UML工具,能熟练运用UML进行技术交流和讨论;掌握B/S三层结构和中间件技术,精通一种以上企业级技术体系架构;系统分析师职任职条件2具备扎实的数据库理论基础,熟悉主流关系型数据库;精通主流数据库平台的设计使用(至少精通Oracle、SQLserver、DB2等大中型数据库其中二种以上);熟悉多种操作系统(Unix、Linux、Windows2000);熟悉软件工程管理,熟悉主流面向对象系统分析、设计方法和模式,能够组织,管理中小型项目团队的需求分析工作。项目经理职责要求系统需求分析与系统设计;负责软件部的软件产品开发管理工作;负责项目计划的制定、项目的实施、项目队伍的管理及项目验收;负责项目期间与客户的沟通与交流。项目经理任职条件1具有良好的阅读能力、文字写作能力和语言表达能力;3年以上工作经验,二年以上的项目管理经验,有大型项目实施经验;有独立开发大型项目的成功案例,能推进项目按计划实施,确保项目完成的质量,并能带领团队与各支持部门、各级管理层保持良好的合作关系;了解大型数据库的分析设计;项目经理任职条件2熟悉常用的编程工具,精通一种以上UML设计工具,能理解、分析并对项目进行分析设计,并能应用到实际项目开发过程中;责任心强,具有良好的团队协作精神和沟通能力,具有突出的组织领导才能和强烈的奋斗精神,能够在压力下完成工作;工作作风严谨、态度认真,遵守公司制度、富于创新精神。职责要求与任职条件总结在国外,项目经理可以不懂技术,仅负责项目开发过程的控制即可。但是在中国,不懂技术的项目经理很难在项目组成员中建立威信。因此中国对软件开发项目经理的要求也必须有过项目开发经验。一个编程高手并不一定是一个优秀的软件工程师,一个优秀的软件工程师是将编程能力和开发技巧同严格的软件工程思想有机结合。一个好的开发人员不一定能够成为一名好的项目经理,项目经理的工作重点在于沟通、组织与协调,而不是去具体编写代码。讨论讨论自身的发展规划在校期间毕业1-2年毕业3-5年毕业10年最终目标软件工程师能力要求1基本素质一,是具有良好的编码能力。编码能力直接决定了项目开发的效率,这就要求软件工程师精通两门编程语言,比如当前常用的C/C++、Java、C#等,熟悉它的基本语法、技术特点和API(应用程序接口)。基本素质二,自觉的规范意识和团队精神。企业希望招聘到的程序员编程不一定很快,但是需要非常规范,个人能力不一定很强,但需要合作意识好。基本素质三,是认识和运用数据库的能力,即会使用目前常用的数据库软件,如Oracle和微软公司的数据库等。软件工程师能力要求2基本素质四,较强的英语阅读和写作能力。程序世界的主导语言是英文,编写程序开发文档和开发工具帮助文件离不开英文。作为基础软件工程师,具有一定的英语基础对于提升自身的学习和工作能力极有帮助。基本素质五,是具有软件工程的概念。从项目需求分析开始到安装调试完毕,基础软件工程师都必须能清楚地理解和把握这些过程,并能胜任各种环节的具体工作。基本素质六,是求知欲和进取心。软件业是一个不断变化和不断创新的行业,软件人才的求知欲和进取心就显得

1 / 39
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功