- 1、本文档共79页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程简介及教学目标 “软件工程”是计算机科学与技术、计算机软件与理论、信息与计算科学及其相关专业的一门专业基础课,它是软件设计与开发以及各种计算机应用系统开发的重要基础。是本科培养目标——软件系统设计师和软件开发工程师的必备知识。主要内容包括软件工程概述、可行性分析、需求分析、概要设计、详细设计、面向对象分析与设计、编码、软件质量与质量保证、项目计划与管理等。课程的学习对提升同学们的能力、素质、道德修养、团队精神等都具有非常重要的意义。 在课程的学习和实践中,同学们应理解和掌握软件工程中的软件生命周期各阶段的任务、过程、结构化方法和工具;面向对象方法学、面向对象分析、设计和实现;软件工程应用的管理技术等。本课程的目的与任务是使同学们通过本课程的学习,了解软件项目开发和维护的一般过程,掌握软件开发的传统方法和最新方法,为今后更深入地学习和从事有关软件工程实践工作打下良好的理论基础。 今天…… 什么是软件 ? 现在,被普遍接受的软件的定义是: 软件(software)是计算机系统中与硬件(hardware)相互依存的另一部分,它包括程序(program)、相关数据(data)及其说明文档(document)。 软件 — 软件特征 软件是一种逻辑实体,具有抽象性 软件没有明显的制造过程 软件在使用过程中,没有磨损、老化的问题 软件对硬件和环境有着不同程度的依赖性 软件的开发至今尚未完全摆脱手工作坊式的开发方式,生产效率低 软件是复杂的,而且以后会更加复杂 软件的成本相当昂贵 ,大多数软件是自定的,而不是通过已有的构件组装而来的 软件工作牵涉到很多社会因素 软件开发与人才需求 未来软件开发的生产模式及对人才的要求 现有模式:小作坊的、一人身兼多职、 英雄式的软件开发 生产模式:大规模的软件生产,专业化、 分工越来越细,团队合作开发 对人才的要求:除精通开发技术外,更需 要软件工程意识和团队 合作精神 1.1.1 软件危机的介绍 1.1.2 产生软件危机的原因 1.4 软件过程(生存期模型) 1.4.1 瀑布模型(文档驱动) 主要思想: 软件开发过程与软件生命周期是一致的 相邻二阶段之间存在因果关系 需对阶段性产品进行评审 1.4.6 智能模型(intelligent model) 中国软件产业 中国软件产业的途径之一(软件外包) 印度软件产业发展与软件外包 中国向印度学习——发展软件外包业务 中国目前外包业务与市场分析 中国目前80%的外包业务来自日、韩等亚洲国家 印度的外包业务主要来自于美国 中国和印度的不同(文化、语言、软件工程意识) 软件工程教育的定位 我国软件工程的专业教育与软件人才的链之间的关系可描述为如下图: 软件工程教育的定位 观点: 不同的人才培养或者不同软件开发的岗位对软件工程的知识要求是不一样的。 我们在学习软件工程知识与选用教材时,充分地考虑到这一因素,采取因材取舍的原则。 不同的软件工程教材,适用于不同层次的人员学习,所以不同层次的人才选用不同的教材。 ——例:海南纽康信息系统有限公司 岗位能力规定 1. 程序员岗位能力规定 2. 软件工程师岗位能力规定 3. 高级软件工程师岗位能力规定 4. 项目主管岗位能力规定 5. 项目经理岗位能力规定 1.4 软件过程 1.4.8 敏捷过程与极限编程 1.敏捷过程 由四个价值观生命组成: 1)个体和交互胜过过程和工具; 2)可以工作的软件胜过面面俱到的文档; 3)客户合作胜过合同谈判; 4)响应变化胜过遵循计划。 注意:声明只不过是对不同因素在保证软件开发成功方面所起作用的大小做了比较,说一个因素更重要并不是说其他因素不重要,更不是说某个因素可以被其他因素代替。 1.4 软件过程 2.极限编程 极限:是指把好的开发实践运用到极致。 1)极限编程的有效实践 客户作为开发团队的成员;使用用户素材;短交付周期;验收测试;结对编程;集体所有;测试驱动开发;持续集成;开放的工作空间;及时调整计划;简单的设计;重构;使用隐喻。 1.4 软件过程 2)极限编程的整体开发过程 图1.14 XP项目的整体开发过程 1.4 软件过程 3)极限编程的迭代过程 图1.15 XP迭代开发过程 1.4 软件过
文档评论(0)