版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件工程Software Engineering,任世卿 沈阳理工大学信息学院 2012-2013第2学期,1.掌握软件工程的基本原理、基本概念和相关的技术方法 ,主要包括可行性研究、需求分析、总体设计、详细设计、编码、测试、维护、项目管理等方面的基本知识与方法 ;2.能结合所学知识,在实际项目开发中能灵活运用,要求在课程设计或毕业设计环节中,能正确运用软件工程的思想、方法、技术进行软件开发。,课程目标:,第1章 软件工程学概述,著名软件公司,目前是全球最大的电脑软件提供商。微软公司现有雇员6.4万人,2011年营业额699.4亿美元,其主要产品为Windows操作系统、Internet Ex
2、plorer网页浏览器及Microsoft Office办公软件套件。,第1章 软件工程学概述,著名软件公司,1911年创立,是全球最大的信息 技术和业务解决方案公司,目前 拥有全球雇员 30多万人,业务遍 及160多个国家和地区。该公司创立时的主要业务为商用打字机,及后转为文字处理机,然后到计算机和有关服务。 2011年营业额为1069亿美元。 软件方面,IBM软件集团整合有五大软件品牌,包括Lotus,WebSphere,DB2,Rational,Tivoli,在各自方面都是软件界的领先者或强有力的竞争者。1999年以后,微软的总体规模才超过IBM软件集团。截止目前,IBM软件集团也是世界
3、第二大软件实体。,第1章 软件工程学概述,著名软件公司,Oracle公司(甲骨文公司)是世 界上最大的企业软件公司,向遍 及145个国家的用户提供数据库、 工具和应用软件以及相关的咨询、 培训和支持服务。2011年雇员数目为108429人,年收入为268.2亿美元。 主要有以下几类产品: 数据库:Oracle数据库、数据仓库、MySQL等。 中间件:数据集成、业务分析、SOA、WebCenter等。 管理软件:客户关系管理、企业绩效管理、财务管理。,第1章 软件工程学概述,著名软件公司,Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。 2011年年营业额为380
4、亿美元,2011年员工数为32467。,第1章 软件工程学概述,著名软件公司,百度是全球最大的中文搜索 引擎,2000年1月由李彦宏、 徐勇两人创立于北京中关村, 致力于向人们提供“简单, 可依赖”的信息获取方式。“百度”二字源于中国宋朝词人辛弃疾的青玉案元夕词句“众里寻他千百度”,象征着百度对中文信息检索技术的执著追求。 2011年年营业额:145.01亿元(约23.04亿美元) 2012年员工数:约20000人 搜索市场份额:83.6%,第1章 软件工程学概述,著名软件公司,百度是全球最大的中文搜索 引擎,2000年1月由李彦宏、 徐勇两人创立于北京中关村, 致力于向人们提供“简单, 可依
5、赖”的信息获取方式。“百度”二字源于中国宋朝词人辛弃疾的青玉案元夕词句“众里寻他千百度”,象征着百度对中文信息检索技术的执著追求。 2011年年营业额:145.01亿元(约23.04亿美元) 2012年员工数:约20000人 搜索市场份额:83.6%,第1章 软件工程学概述,著名软件公司,东软是中国领先的IT解决方案 与服务供应商。目前,公司开 发的各种软件已被广泛运用于 工程、电力、电信、房地产、 工厂设计等行业,软件的商品 化率是国内最高的。东软以软件技术为核心,提供行业解决方案和产品工程解决方案以及相关产品与服务。2012年7月24日,东软集团爆出知识产权商业犯罪案,涉案人数多达28人。
6、,第1章 软件工程学概述,1.1 软件危机1.2 软件工程1.3 软件生命周期1.4 软件过程,第1章 软件工程学概述,知识点:1.软件的定义和分类2.软件危机的含义和典型表现3.产生软件危机的原因4.消除软件危机的途径,第1课时,第1章 软件工程学概述,软件,定义:软件是程序、数据及相关文档的完整集合。 程序是能够完成预定功能和性能的可执行的指令序列; 数据是使程序能够适当地处理信息的数据结构; 文档是开发、使用和维护程序所需要的图文资料。,第1章 软件工程概述,软件,Software pervades our world, and we sometimes take for granted
7、 its role in making our lives more comfortable, efficient, and effective.,软件无处不在,有时我们想当然地认为它使我们的生活更加舒适、方便和高效。,第1章 软件工程学概述,软件,系统软件,应用软件,操作系统,语言处理系统,服务程序,分类,2013年1月编程语言排行榜榜单,第1章 软件工程学概述,1 含义:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 例子:IBM公司用6000人年开发了OS360,费用高达5亿多美元。,第1章 软件工程学概述,软件开发历史上规模最宏大的项目应当是IBM于1961年发起的
8、 OS360操作系统项目,希望通过工业化的方式组织实施这个规模巨大的软件开发计划。当时,IBM选择了经验丰富的项目经理Fred Brooks,雇佣了最好的系统分析员、编程员和工程管理人员。但是,在项目将要结束的时候发现,研发费用已经远远超过了预期,甚至比美国政府研制第一个 原子弹的“曼哈顿计划”还要高昂,而且项目起初制定的目标并没有最后完全实现。,第1章 软件工程学概述,1965年,OS360项目完成,虽然产品获得了商业成功,但是当时的 IBM CEO Thomas Watson Jr一直困惑为什么软件项目要比硬件项目花费大得如此多,而且目标如此难以管理。对此,当时主持该项目的Brooks也无
9、法给出答案。10年 后,Brooks在他的The Mythical Man Month一书中回答了这个问题。Brooks认为传统工业化管理的核心在于合理分工,将工作划分为简单的步骤,并且优化这些步骤,然后通过管理这些步骤 完成产品的过程,而这种方法在软件产业中有很大的局限性,无法很好操作和控制。,第1章 软件工程学概述,MicroSoft Vista(2007年-2009年) 数以千万行计的代码,繁多的功能和缺陷,对电脑硬件的苛刻要求,庞大的开发费用,千奇百怪的推广活动 比尔盖茨声称开发Vista用掉的60亿美元是他“花过的最值的钱”。 Vista有5000W行代码,开发人员有2000人,从4
10、000W行代码的XP到Vista只有1000W行代码,而这两千人花费了五年时间,第1章 软件工程学概述,2 典型表现: 对软件开发成本和进度的估计常常很不准确。 无论是CMMI、ISO9000、RUP等重量级方法学还是以极限编程XP为首的轻量级方法学都没能成为拯救软件开发的“银弹”,微软的Vista操作系统、Office2007一拖再拖,软件经理和开发人员都逃不出50%甚至以上的超期和超资怪圈。,第1章 软件工程学概述,2 典型表现: (2) 用户对“已完成的”软件系统不满意的现象经常发生。 (3) 软件产品的质量往往靠不住。 (4) 软件常常是不可维护的。,第1章 软件工程学概述,2 典型表
11、现: (5) 软件通常没有适当的文档资料。 (6) 软件成本在计算机系统总成本中所占的比例逐年上升。,第1章 软件工程学概述,2 典型表现: (7) 软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。,在19601980年期间,计算机硬件的生产由于采用计算机辅助设计、自动生产线等先进工具,使硬件生产率提高了100万倍,而软件生产率只提高了2倍,相差十分悬殊。,1.1 软件危机,1.1.2 产生软件危机的原因 1 客观原因: 缺乏“可见性” 较难维护 规模庞大,复杂性高,须多人分工合作,第1章 软件工程学概述,1.1 软件危机,1.1.2 产生软件危机的原因 2 主观原因: 错误
12、的认识和作法主要表现为忽视软件需求分析的重要性,认为软件开发就是写程序并设法使之运行,轻视软件维护等。,第1章 软件工程学概述,1.1 软件危机,1.1.3 消除软件危机的途径1 首先应该对计算机软件有一个正确的认识,彻底消除 “软件就是程序”的错误观念。,第1章 软件工程学概述,1.1 软件危机,1.1.3 消除软件危机的途径2 必须充分认识到软件开发是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。必须充分吸取和借鉴人类长期以来从事各种工程项目所积累的行之有效的原理、概念、技术和方法,并且研究探索更好更有效的技术和方法。,第1章 软件工程学概述,1.1 软件危机,1.1.3
13、消除软件危机的途径3 开发和使用计算机辅助软件工程(CASE)工具。,第1章 软件工程学概述,IBM Rational2002年12月6日,IBM宣布以21亿美元收购软件设计工具厂商Rational。能够得到蓝色巨人青睐的公司绝非等闲之辈。截至到2002年6月30日止,该公司在之前十二个月里的营收已经高达六亿六千六百四十万美元,全世界几乎所有的大型软件项目中都不同程度地采用了它的技术、服务及软件工程环境或工具。,第1章 软件工程学概述,1.1 软件危机,1.1.3 消除软件危机的途径 软件工程正是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门新兴学科。,第1章 软件工程学概述,知识
14、点:1.软件工程的定义和本质特征2.软件工程的基本原理,第2课时,一、定义:采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。,1.2 软件工程 1.2.1 软件工程的介绍,工程: “工程”是科学的某种应用,通过这一应用,使自然界的物质和能源的特性能够通过各种结构、机器、产品、系统和过程,是以时间最短的和精而少的人力做出高效、可靠且对人类有用的东西,万里长城,秦始皇兵马俑,北京故宫,京杭大运河,神舟飞船/天宫一号,沈阳地铁,二、本质特性 1. 软件工程关注于大型程序的构造 2.
15、软件工程的中心课题是控制复杂性 设C(x)为问题x所对应的复杂度函数, E(x)为解决问题x所需要的工作量函数。 A.如果C(P1) C(P2) ,则E(P1) E(P2) B.C(P1+P2) C(P1)+C(P2)即解决由多个问题复合而成的大问题的复杂度大于单独解决各个问题的复杂度之和。也就是说,对于一个复杂问题,将其分解成多个小问题分别解决比较容易。,3. 软件经常变化 4. 开发软件的效率非常重要 5. 和谐地合作是开发软件的关键 遵守纪律 6. 软件必须有效地支持它的用户 7. 在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品,一、软件工程的7条基本原理 1.
16、 用分阶段的生命周期计划严格管理 有人经统计发现,在不成功的软件项目中有一半左右是由于计划不周造成的。,1.2.2 软件工程的基本原理,2. 坚持进行阶段评审 理由: 第一,大部分错误是在编码之前造成的,例如,根据Boehm等人的统计,设计错误占软件错误的63%,编码错误仅占37%; 第二,错误发现与改正得越晚,所需付出的代价也越高。,3. 实行严格的产品控制,4. 采用现代程序设计技术,多核程序设计技术 多线程编程技术 线程池编程技术 敏捷技术 。,5. 结果应能清楚地审查 多用数学,少用语文 6. 开发小组的人员应该少而精 1+1=? 7. 承认不断改进软件工程实践的必要性 与时俱进,知识
17、点:1.软件工程方法学2.软件的生命周期,第3课时,一、传统方法学 (1)采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务,1.2.3 软件工程方法学,(2)把软件生命周期的全过程依次划分为若干个阶段,然后顺序地完成每个阶段的任务。,(3)每一个阶段的开始和结束都有严格标准,对于任何两个相邻的阶段而言,前一阶段的结束标准就是后一阶段的开始标准。 (4)在每一个阶段结束之前都必须进行正式严格的技术审查和管理复审。,二、面向对象方法学 (1) 把对象(object)作为融合了数据及在数据上的操作行为的统一的软件构件。也就是说,用对象分解取代了传统方法的功能分解。,(2)
18、 把所有对象都划分成类(class)。 (3) 按照父类(或称为基类)与子类(或称为派生类)的关系,把若干个相关类组成一个层次结构的系统(也称为类等级)。,类图,(4) 对象彼此间仅能通过发送消息互相联系。,一、组成:3个时期 1、定义时期: 问题定义:“要解决的问题是什么?” 可行性研究:是否值得去解,是否有可行的解决办法 需求分析:目标系统必须做什么,1.3 软件生命周期,2、开发时期: 总体设计:应该怎样实现目标系统 详细设计:怎样具体地实现这个系统 编码和单元测试:写出正确的容易理解、容易维护的程序模块 综合测试:通过各种类型的测试(及相应的调试)使软件达到预定的要求。,3、维护时期: 软件维护:通过各种必要的维护活动使系统持久地满足用户的需要。,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年短视频IP矩阵账号的商业模式搭建
- 2026年超大型原油船设计建造关键技术突破
- 2026年秸秆打包机作业效率提升与油耗控制操作指南
- 2026年农村养老服务设施改造与互助幸福院建设方案
- 2026年云南省红河州开远市初三第一次中考适应性性考试化学试题含解析
- 广东省广州市南沙区博海校2025-2026学年初三下学期第一次在线考试含解析
- 2026年抗乙肝病毒海洋药物LY102进入临床阶段综述
- 2026年期海南省海口五中初三(下)4月调研化学试题试卷含解析
- 2026届广东省广州市南沙重点达标名校初三5月第二次阶段检测试题化学试题试卷含解析
- 海南省三亚市妙联学校2026届初三2月(线上)适应性测试化学试题含解析
- 2026春统编版三年级下册道德与法治每课知识点清单
- 2025中国国新控股有限责任公司招聘7人笔试历年常考点试题专练附带答案详解
- 2026秋招:平安银行笔试题及答案
- 2026贵州毕节织金县部分县直单位公开考调工作人员47人实施笔试参考题库及答案解析
- 2026年六安职业技术学院单招职业适应性考试题库附参考答案详解ab卷
- 2026陕煤集团榆林化学有限责任公司招聘(162人)考试备考题库及答案解析
- GB/T 27664.3-2026无损检测仪器超声检测设备的性能与检验第3部分:组合设备
- 2026广东江门职业技术学院管理教辅人员招聘4人备考题库带答案详解(基础题)
- GB/T 46977-2026铸造用再生砂氮、硫、磷含量测定方法
- 突发事件创伤伤员医疗救治规范2025年版
- 2026年跨境电商平台合同
评论
0/150
提交评论