欢迎来到天天文库
浏览记录
ID:33927546
大小:1.32 MB
页数:46页
时间:2019-02-28
《软件开发概述》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件开发系列——软件开发概述邵志东点击添加MSN机器人小新为您收听下载MSDN中文网络广播课程加油助力!收听本次课程需具备的条件•.NetFrameWork•VS.NET2005VS.NET2005•C#/VB.NETLevel300软件开发系列1.软件开发概述2.软件需求分析3.软件系统设计4.软件编码5.软件测试6.产品化和规范化引子拿什么去就业?计算机专业大学毕业生的困惑议程•你是一名合格的程序员吗?•程序员基本素质•关于项目和产品•软件开发流程•质量标准和过程控制•软件程序员职业发展软件程序员专业技能自检表基础项是否熟
2、练掌握是否有项目经验是否列入学习计划Windows□□□Linux□□□操作系统Unix□□□其他请注明□□□SQLServer□□□ORACLE□□□数据库DB2□□□其他请注明□□□HTML语言□□□XML语言□□□基础知识数据结构常用算法□□□UML知识□□□VC++□□□C++□□□开发语言和工具VS.NET(VB.NET、C#等)□□□Java□□□其他请注明□□□软件工程理论□□□质量体系和过程控制□□□软件设计□□□单元测试工具□□□软件过程软件加密□□□软件程序员岗位技能图基础技能开发工具流程相关项目组建设操作
3、系统使用.NET软件工程理论编码规范数据库使用或Java质量体系源代码控制规范Html网页知识或C++软件设计数据库设计规范XML或嵌入式C单元测试工具公共组件或基类数据结构算法。。。软件加密方法界面设计规范UML基础知识源代码控制说明书编写程序的安装议程•你是一名合格的程序员吗?•程序员基本素质•关于项目和产品•软件开发流程•质量标准和过程控制•软件程序员职业发展程序员基本技能项目实践专业技能程序员基本素质职业素质个人素质一、个人素质•成己:积极的心态、良好的工作和生活态度•待人:和谐的人际关系•理事:专业的做事精神二、职业
4、素质•忠诚•守信•责任心•敬业精神•自动自发三、程序员的基本素质1.写文档的档和注释的习惯2.模块复用性思维习惯3.测试习惯4.学习、总结的习惯5.团队精神6.沟通能力1.写文档和注释的习惯•注释•开发过程文档:良好的文档是正规研发流程中非常重要的环节,作为代码程序员,30%的工作时间写技术文档是很正常的,而作为高级程序员和系统分析员,这个比例还要高很多。缺乏文档,一个软件系统就缺乏生命力,在未来的查错,升级以及模块的复用时就都会遇到极大的麻烦。2.复用性,模块化思维能力•软件最大的优点是能够复用,因此程序员在完成任何一个模块
5、或函数的时候,不要局限在完成当前任务的上,要多想一些,想想看该模块是否可以脱离这个系统存在,是否能够重复使用?•用户控件•组件技术3.测试习惯•单元测试•集成测试•系统测试•稳定性测试•软件研发作为一项工程而言,一个很重要的特点就是问题发现的越早,解决的代价就越低,程序员在每段代码,每个子模块完成后进行认真的测试,就可以尽量将一些潜在的问题最早的发现和解决,这样对整体系统建设的效率和可靠性就有了最大的保证。4.学习和总结的能力•学习:程序员是人才很容易被淘汰,很容易落伍的职业,因为一种技术可能仅仅在三两年内具有领先性,程序员如
6、果想安身立命,就必须不断跟进新的技术,学习新的技能。•总结:善于总结,也是学习能力的一种体现,每次完成一个研发任务,完成一段代码,都应当有目的的跟踪该程序的应用状况和用户反馈,随时总结,找到自己的不足,这样逐步提高,一个程序员才可能成长起来。5.团队精神•木桶论桶理论•学习性组织6.沟通能力•在软件开发过程中,不仅程序员之间要进行交流合作,程序员和销售人员、测试人员等各个部门的人、甚至客户都要沟通交流。四、项目实践•软件程论软件工程理论•质量体系:ISO9001和CMM体系•UML基本理论•测试理论和测试工具使用•加密理论和加
7、密方法•源代码控制工具使用•说明书编写•程序的安装和部署高级程序员的基本素质1.需求分析能力2.项目设计方法和流程处理能力3.复用设计和模块化分解能力4.整体项目评估能力5.团队组织管理能力1.需求分析能力•需求分析是软件开发流程中非常重要的一个环节。对于研发项目的组织和管理者来说,他们不但要理解客户需求,还要具备把用户需求转化为系统设计的能力。2.系统设计能力•高级程序员者必须能够掌握不少于两到三种的项目设计方法(比如自顶至下的设计方法,比如快速原型法等等),并能够根据项目需求和资源搭配来选择合适的设计方法进行项目的整体设计
8、。3.模块分解能力•一个成熟的软件行业,在一些相关项目和系统中,不同的部件是可以随意换装的,比如微软的许多桌面软件,在很多操作模块(如打开文件,保存文件等等)都是复用的同一套功能模块,而这些接口又通过一些类库提供给了桌面应用程序开发者方便挂接,这就是复用化的模块设计明显的一个
此文档下载收益归作者所有