您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 软件工程与项目管理_1
软件工程与项目管理当你把所有的错误都犯过之后,你就是正确的了课程引导学生工作不从事软件设计和研发,并不表示不接触软件和软件的相关知识。当涉及到与软件单位打交道时,交流会比较困难课程引导岗位岗位要求岗位技术难度设计岗系统分析能力、需求分析能力、设计能力要求高、一般要求有较长时间的开发经验编码岗熟练掌握某种语言、能看动相关设计文档,MIS系统编码一般要求掌握一种数据库系统一般技术支持岗熟练了解某种特定的软件、能解决客户提出的各种技术问题、对软件硬件都应当有所了解一般软件企业维护岗熟练了解某种特定软件、能接收并解决客户提出的问题、能进行软件的二次开发、熟悉某种开发语言、掌握一种数据库系统一般软件测试岗熟悉软件开发流程、熟悉某种开发语言、有较长的项目开发经验;进行确认测试人员需要了解客户单位工作业务流程较高,一般要求有开发经验后再从事测试工作应用企业维护岗了解某种特定软件应用、和软件公司接洽反映软件问题、掌握一般软硬件维护技能较低软件生产和相关行业的主要岗位课程引导必须应用工程设计左图可自行设计,自行施工,右图可能需工程队施工课程引导“工程”强调的是将自然科学的理论应用到具体生产部门的过程软件=程序+文档软件工程是开发、运行、维护和修复软件的系统方法软件项目是为创建某一独特软件产品而临时进行的一次性努力课程引导课程综述本课程是计算机专业的专业课之一,通过本课程的学习,要求学生理解在软件开发过程中应用软件工程方法的必要性和迫切性,要求学生掌握软件工程的基本原理、概念与技术方法本门课程最主要的作用就是帮助学生建立系统、完整的专业基础理论体系,不仅培养学生分析问题、解决问题的能力,而且全面锻炼学生将来成为现代软件工程师需要的团队协作、谈判沟通、适应发展等等能力,为在今后工作中从事计算机大规模软件开发与维护打下扎实的基础内容安排第一部分软件工程基础软件工程的基本概念、软件过程的概念以及软件生存期模型第二部分软件工程技术方法综述结构化和面向对象技术的综述第三部分软件工程过程从需求、设计、测试与维护各个阶段的分析和建模详细描述软件工程过程的实施第四部分软件工程项目管理软件项目管理相关内容,包括各种组织原则、方式和方法等第一部分软件工程基础软件工程基本概念软件工程、软件危机……软件工程模型软件项目开发路线图,管理路线图……软件过程模型瀑布模型、增量模型、喷泉模型……软件项目管理的问题管理的范围、管理的方法等概述软件工程基本概念软件工程与软件危机1946:ENIAC1946年世界上第一台电子计算机的诞生,标志着人类由工业化社会进入了信息化社会,以计算机产业和计算机应用服务业为蜘蛛的信息工业,成了信息化社会的主要基础之一……软件工程基本概念软件工程与软件危机程序设计阶段60年代70年代系统设计阶段70年代80年代软件工程阶段80年代90年代国外国内软件发展阶段第一代算法技术第二代结构化软件技术第三代面向对象技术第四代分布式面向对象技术第五代软件构件技术软件与软件技术的发展软件工程基本概念软件工程与软件危机软件工程基本概念软件工程与软件危机OS360是第一个超大型的软件项目,它使用了1000人左右的程序员,经历了数十年,是一个极度复杂的软件项目,甚至产生了一套不包括在原始设计方案之中的工作系统。其管理者承认软件开发中犯了一个价值数百万美元的错误。软件工程基本概念软件工程与软件危机FredBrooks在软件开发过程里是没有万能的终杀性武器的,只有各种方法综合运用,才是解决之道银弹软件工程基本概念软件工程与软件危机软件危机:计算机软件的开发和维护过程所遇到的一系列严重问题阿里亚娜火箭:上万人10余年的努力,耗资高达70亿美元,升空仅40秒后发生大爆炸,由于火箭导航的电脑软件系统发生故障造成的。软件工程基本概念软件工程与软件危机软件危机:计算机软件的开发和维护过程所遇到的一系列严重问题软件危机的具体表现:对软件开发的成本和进度估计不够准确用户对已完成的软件不满意的现象时有发生软件常常是不可维护的软件产品的质量往往不可靠软件开发生产率提高的速度远远跟不上日益增长的软件需求,满足不了社会发展的需要软件工程基本概念软件工程与软件危机软件危机:计算机软件的开发和维护过程所遇到的一系列严重问题缓解软件危机的途径必须做好以下几个方面的工作:加强软件开发过程的管理,做到组织有序、各类人员协同配合,共同保证工程项目完成,避免软件开发过程中个人单干的现象推广使用开发软件的成功技术和方法,并且不断探索更好的技术和方法,消除一些错误的概念和做法开发和使用好的软件工具,支持软件开发的全过程软件工程基本概念软件工程与软件危机软件工程:是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来软件工程包含三要素:方法工具过程软件工程基本概念软件工程与软件危机软件工程:是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来软件工程包含三要素:方法、工具和过程提供一系列软件开发技术。包括完成开发过程中各方面任务的方法并用某种特殊的语言或图形来描述。为软件开发提供“如何做”的技术软件工程基本概念软件工程与软件危机软件工程:是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来软件工程包含三要素:方法、工具和过程软件工具为软件方法提供了自动的或半自动的支撑环境。将多种工具集成在一起可构成计算机辅助软件工程(CASE)的软件开发支撑系统为软件工程方法提供支撑环境软件工程基本概念软件工程与软件危机软件工程:是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来软件工程包含三要素:方法、工具和过程软件过程是将软件工程的方法和工具综合起来,进行软件开发定义了:方法使用的顺序、要求交付的文档资料、为保证质量和适应变化所需要的管理、软件开发各个阶段完成的里程碑软件过程包括将用户需求转变成软件产品所需的所有活动软件开发活动:软件过程的核心软件项目管理活动:管理好项目范围、进度和成本软件过程改进活动:提高软件开发组织的软件过程能力,提高软件生产能力软件工程基本概念软件开发项目管理过程改进软件工程三段论软件过程软件过程提供了一个体系框架结构该框架可应用于不同的任务集合:任务、里程碑、交付物、质量保证点保护性活动(质量保证、配置管理等)软件开发过程中脑力活动的“不可见性”大大增加了过程管理的困难,软件工程中管理的指导思想就是“变不可见为可见”,至始至终的贯彻质量管理,保证软件质量软件工程基本概念软件工程模型依照工程化的思想,软件过程的工程模型基本由5个阶段构成:初始阶段:立项,供应商选择,合同签署计划阶段:范围计划,时间计划,成本计划,质量计划,沟通计划,人力资源计划,合同计划,配置管理计划执行阶段:需求分析,概要设计,详细设计,编码,单元测试,集成测试,系统测试,项目验收,项目维护控制阶段:范围计划控制、时间计划控制,成本计划控制,质量计划控制,沟通计划控制,人力资源计划控制,合同计划控制,配置管理计划控制结束阶段:合同结束,项目总结硬件和网络维护销售签订合同需求开发或者二次开发软件培训软件维护测试软件应用软件实施专用软件软件开发单位软件应用单位签订合同发货通用软件软件项目开发路线图软件开发过程是软件人员生产软件的过程,例如需求分析、设计、编码、测试等,相当于生产线上的生产过程,是软件过程的核心过程软件工程模型维护产品提交测试编码详细设计概要设计需求分析软件项目管理路线图软件管理过程是项目管理者规划软件开发、控制软件开发的过程,相当于生产线上的管理过程,管理过程是伴随开发过程进行的过程软件工程模型软件工程模型合同管理生存期需求管理任务分解项目进度项目估算质量计划配置计划风险计划团队管理项目度量集成项目跟踪控制项目结束软件过程改进过程改进相当于对软件开发过程和软件管理过程的“工艺流程”进行管理和改进,如果没有好的工艺生产不出好的产品,它包括对开发过程和管理过程的定义和改进软件工程模型启动诊断建立实施评估软件过程模型软件生命周期与软件过程模型一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程称为软件生存期或叫生命期为了能高效开发一个高质量的软件产品,通常把软件生存期中各项开发活动的流程用一个合理的框架——开发模型来规范描述,这就是软件过程模型1、需要造一个房子,讲述想法2、开始建造,边造边画图造房的方法论-简易房3、造了两层了,想在二楼加卫生间4、修改设计,最终房屋建成造房的方法论-简易房小型工程可边做边设计施工过程中修改方案不会带来致命影响以经验为主造房和施工方不一定需要通过图纸来沟通,不需要太多的工程知识,双方边商量边施工造房的方法论-总结谈可行性设计原形并讨论造房的方法论-金贸大厦严格按照图纸施工可耸立百年的大楼是精确设计的产物造房的方法论-金贸大厦大型工程需要进行可行性分析要进行精密的设计和原型分析要进行严格的施工管理并强调方法论姑且将房屋的:规划-》设计-》施工-》交付-》使用-》报废-》拆除这个过程叫“房屋的生命周期”只有严格按照房屋生命周期进行规划、设计才能交付一个可用百年的房屋造房的方法论-金贸大厦总结造房的方法论-总结软件过程模型制定计划需求分析软件设计程序编写软件测试运行维护开发阶段计划阶段维护阶段40软件计划问题定义“要解决的问题是什么?”可行性研究经济技术管理社会环境软件过程模型41需求分析确定系统逻辑模型确定目标系统必须具备的如下内容功能性能接口约束、限制条件软件过程模型42软件设计总体设计方案划分子系统功能确定共享数据的组织进行详细设计处理模块设计数据库系统设计输入输出界面设计编码的设计软件过程模型43软件测试单元测试:测试模块集成测试:把经单元测试的模块按某种选定的策略装配起来,在装配过程中对程序进行必要的测试验收测试:验收测试是按照需求规格说明书的规定,由用户对目标系统进行验收通过各种类型的测试,使软件达到预定的要求软件过程模型44软件维护日常运行管理根据一定的规格对系统进行必要的修改评价系统的运行效率、工作质量和经济效益对运行费用和效果进行监理审计软件过程模型45瀑布模型演化模型增量模型螺旋模型统一过程模型……软件生存期模型软件过程模型软件过程模型瀑布模型最早出现的软件开发模型,它提供了软件开发的基本框架系统需求软件需求需求分析设计编码维护测试制定周密过河计划的瀑布模型制定周密过河计划的瀑布模型过河前:详细勘察,制定计划一旦过河计划制定,将不会大更改,开始过河每步骤即将完成时,都会对这一步骤进行总结,如进行下一步骤的条件不具备,将停留在原地,等待条件具备瀑布模型瀑布模型瀑布模型的本质是一次通过,即每个活动只执行一次,最后得到软件产品瀑布模型有利于大型软件开发过程中人员的组织及管理,有利于软件开发方法和工具的研究与使用,从而提高了大型软件项目开发的质量和效率里程碑或基线驱动,或者说文档驱动瀑布模型瀑布模型的特点头绪简单,理解容易适合小型项目,修改较少项目修改较难,需求变更工作量较大适合教学,用于理解各个过程的大致步骤客户:我们程序做的怎样了?程序员:差不多做好了,可以试用了。瀑布模型的表现客户:我们的程序有没有**的功能?程序员:没有,上次你没有说要这个功能?客户:那怎么办?我们要这个功能,上次我们忘记说了。瀑布模型的表现程序员:那…..我们要重新设计数据库,很多东西要重新做过了,再给
本文标题:软件工程与项目管理_1
链接地址:https://www.777doc.com/doc-793852 .html