版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件工程概论,李光洙2011-03-15,第1页,计算机软件领域,编程语言数据结构人机交互编程方法软件工程,第2页,教材和参考书,张海文3360软件工程概论(第5版),清华大学出版社,22 本课程有助于准确理解和理解“软件”的概念和特性,因为它有助于理解软件开发面临的问题和挑战,并掌握软件工程的原则、方法和想法,从而有助于系统地开发软件。 特别是复杂庞大的软件开发软件开发有助于理解、掌握和应用软件开发所需的各种技术手段,第6页,理解,软件工程需要软件工程的原因(背景生成)软件工程需要解决这些问题的原因软件工程相关内容,第7页,主控,软件工程概念技术流程工具,第8页,利用,工程创意分析软件开发可
2、行性研究要求,全面设计详细设计实施软件维护第10页,听学习要求、知识点和想法,不需要记住练习经验软件工程的原则、方法和技术,实际上,通过开发抽象思维能力,培养独立解决问题的能力,培养合作精神,阅读相关资料的第11页,通过课程实践,内容选择项目开发主题,软件工程的想法,可以了解其开发过程。 完成需求分析、详细设计、测试、项目报告。以小组为单位,6人一组为宜。第12页,内容提交电子文件和印刷文件评价方法文件:完整性,合理性,规范主义:严格按照要求执行。第13页,印度软件产业,全球软件外包市场规模达1000亿美元。全球软件外包的软件包市场主要集中在美国占40%,日本占10%的北美、西欧、日本等国家。
3、印度垄断了美国市场,印度软件产业的80%依赖软件外包业务,印度是软件外包第一国家中国海关的统计资料,2003年中国外包和软件出口业务总额约10亿美元,接近全球外包总额的1%,印度10多年前水平,60%以上的业务来自日本。现在软件公司的年销售增长率为25%-45%,而网络鼎盛时期达到了100%。在纳斯达克上市的印度人设立的软件公司至少有25家比尔盖茨已经预见到印度将成为21世纪的软件超级大国,现在这个预言正在成为现实。第14页,计算机人才需求每年增加100万(2004年),目前我国的计算机应用水平还处于初期阶段,现有计算机及信息技术设施的功能开发利用不足,落后于发达国家1020年。但是我国的信息
4、技术目前软件营业收入是10年前的25倍,到2005年,软件产业规模将达到2500亿元。随着我国软件产业规模的扩大,软件人才的结构性矛盾日益突出。据教育部有关人才不足的报告,软件从业人员近60万人,其中专业人员约34万人(其中高级人员为4万人,中级人员为20万人,初级人员为10万人)。人才结构在两个小的中间是一个大的橄榄结构,不仅拥有高水平的系统分析员、负责项目的首席设计师,而且还没有很多基础软件开发人员。根据国际经验,软件人才高,中,初费为147。按照合理的人才结构比例推算,到2005年,我国将有软件高级人才6万人,中级软件人才28万人,初级软件人才46万人,企业、社区、机关、学校等行业初步估
5、计,全国计算机应用专家的需求每年将增加100万人左右。,第15页,软件测试人才差距30万年薪10万(2008年),30万软件测试人才差距30万名未来无忧招聘网络统计显示,目前国内120万软件从业人员中,实际能担任软件测试职位的人不足5万人,软件测试人才差距已超过20万人,正在迅速向30万人迈进。最近在中华英才网发表的2007 10大人气职业中,软件测试员也名列前三。为了吸引10万名软件测试人才,10万名年薪多10万名人才的高薪战略。据统计,测试工程师的工资比同龄人10000000元约为4005000元,享受带薪年假、内部教育、住房公积金等优惠。23年的工资大约在800013元之间。但是,很多企
6、业仍然感叹:“高薪难找什么人才。”1: 8目前,我国软测试人员和开发人员比例微软的软件测试工程师表示,在微软内部,软件测试工程师和开发工程师的比例基本上是1: 1左右,国内其他软件企业则只有1: 5到1: 8左右。“招聘软件测试员比招聘博士难!单击。不少企业发出了类似的感叹。第16页,it行业收入,此次调查数据从2006年5月到2007年4月通过互联网收集,受访者主要集中在北京、上海、深圳、广州、天津等。据统计,IT行业的平均年薪为51073元。在IT行业的每个职位上,年薪平均值都相当领先,这就是高薪行业。以项目管理职位为例,IT行业年薪平均值高于总年薪平均值25.19以上。工厂管理职位高于2
7、6.8。上海、深圳和北京是IT高工资城市。其中,上海IT行业的年薪平均达16000元,达到了最高水平。第17页,处于十字路口的中国软件产业的主权强国必须建立基于自主技术的完整软件产业系统。软件自我提供率:中国约三分之一,美国97%“印度模式”或“中国模式”软件人才结构不合理,中级和高级软件人才软件人员不足软件工程概念不足。http:/BBS . ufs dk . org/view thread . PHP?Tid=21extra=,Page 18,Page 19,每一章的主要内容,第一章软件工程概述第二章可行性研究(重要)第三章要求分析(重要)第四章正式说明技术第五章完整设计(重要)第六章详细
8、设计(重要) 第一章软件工程概述、软件工程的背景(软件危机)软件工程定义软件工程方法软件流程模型摘要、第21页、1.1页软件工程的背景、软件a .软件的定义软件(Software)是计算机系统中与硬件相互依赖的另一部分、程序、数据(Data)和相关Software=Program Data Document程序是根据预先设计的功能和性能要求执行的命令序列数据,是允许程序适当操作信息的数据结构文档,是与程序开发、维护和使用相关的图形资料。第22页,软件的特征是软件是逻辑实体,而不是特定的物理实体。因此,与抽象的软件生产和硬件不同,在开发过程中没有明显的制造过程软件操作和使用期限,没有硬件等机械磨
9、损,老化问题软件的开发和操作经常受到计算机系统的限制,对计算机系统的依赖程度不同的软件开发迄今为止完全手工的开发方式,第23页,软件的特性,非常复杂的实际问题非常复杂的逻辑复杂的开发复杂的成本估算难以保证人的质量要求质量,96年Ariane火箭发射失败, 浮点转换时出错,第24页,软件特性,高成本,第25页,软件特性,维护困难修改维护多样性:更正错误完整性:增强功能适应性:迁移维护成本提高55-70%的问题,第26页,软件特性,软件特性按软件功能分类的系统软件操作系统数据库管理系统设备驱动程序通信处理程序,第28页,软件分类,支持软件文本编辑器文件格式程序库系统支持要求分析,设计,实施,测试和
10、支持管理软件,第29页,软件分类,应用软件业务数据处理软件工程和科学计算软件计算机支持设计/制造软件系统模拟软件智能产品嵌入式软件医疗,约束软件事务根据软件规模分类,第31页,软件分类,软件工作方式的实时处理系统分时系统交互式软件部署软件,第32页,软件分类,软件服务对象范围的项目软件产品软件使用频率,经常使用,第33页,软件分类,软件故障影响的高可靠性软件一般可靠性软件,第34页三阶段分布式系统对“智能”低成本硬件消费者的内置影响,四阶段强大的桌面系统面向对象技术专家系统人工神经网络并行计算网络计算机, 第35页,努力解决软件危机,1960年软件危机,软件工程正式提出了以软件结构为重点的研究
11、,20世纪70年代,编程方法成为研究热点,结构分析和设计方法开始成为20世纪80年代,软件开发方法开始成为研究的焦点,面部对象技术出现并在20世纪90年代逐渐普及,软件复用和软件组件技术是解决软件危机的现实方法,是,Page 36,软件危机案例,美国IBM corporation在1963-1966年开发的IBM360机器操作系统。这个项目有5000人工作了一年,多达1000人投入开发工作,写了近100万行的源程序。据统计,每次此操作系统发布新版本时,都会在以前的发行版中查找并更正1000个程序错误。第37页,该项目的负责人F. D. Brooks后来这样总结了组织开发过程中所经历的沉痛教训。
12、“逃跑的野兽掉进泥潭,打着垂死的挣扎,挣扎得更深,陷入得更深,最终就像是无法避免毁灭的灾难。程序员们不得不陷入泥潭,挣扎着,谁也没有料到会陷入这样的困境。”.IBM360操作系统的历史教训已成为软件开发项目的典型示例。如果落后于第38页,myth:时间表,则可以添加更多程序员以跟上进度。Reality:软件开发不是制造业这样的机械过程。Brooks说:“如果将人员添加到落后的软件项目中,项目进度只会变慢。”项目理解得不好。计划不周,结果进度推迟了。问题在哪里?第39页,与人交流比写程序困难得多。如果没有足够的文档,myth:成功项目所需的唯一程序是运行的程序。在Reality:上运行的程序不仅
13、是软件配置的一部分,而且还包含程序库存、文档和相关数据。文档是开发工作成功进行的基础,更重要的是提供软件维护的指南。Page 40,缺少软件可靠性度量标准,无法保证质量。如何确保软件产品质量是一个非常复杂和困难的问题,尤其是对于大型软件。Myth:一旦我们写完程序并可以执行,我们的任务就完成了。Reality:的一个人曾说:代码开始得越早,完成工作的时间就越晚.据业界统计,产品首次传递给用户后,需要花费60%-80%的时间维护软件编写。软件维护困难,升级不容易,第41,2页第41,2页)软件危机软件危机的征兆,通常从两个方面来看,如何开发软件以满足不断增加的软件需求如何维护扩展的现有软件,第4
14、2页(3)软件产品的质量往往不可靠。(4)软件往往无法维护。(5)软件通常没有相应的文档信息。(6)软件成本在整个计算机系统成本中所占的比重逐年增加。(7)软件开发生产力的提高比计算机应用程序迅速普及的趋势快得多。Page 43,软件危机的原因,与软件本身的特性相关(维护困难,逻辑复杂)错误的软件开发和维护方法相关的:软件程序愿望=某个领域,没有法律,Page 44,软件工程(学习)是由危机引起的。开发具有一定规模和复杂性的软件系统与编写简单的程序不同。构建狗屋和高层建筑的大型复杂软件系统是一个项目,要根据工程方法组织和管理软件,并通过分析、设计、实施、测试、维护等一系列软件过程和活动。第45页,提出了消除软件危机的技术方法、有效的方法和工具支持软件开发。1960年软件危机正式开始,以软件结构为重点的研究在20世纪70年代,程序设计方法成为研究热点,结构分析和设计方法出现,20世纪80年代,软件开发方法成为研究焦点,面部对象技术开始出现,逐渐在20世纪90年代,软件重用和软件组件技术被认为是解决软件危机的现实可行的方法,基于组件的软件开发方法成为主流技术之一。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《职业病防治法》宣传周专题宣讲
- 2025北京八中高二(上)期中数学试题及答案
- 职业规划原则详解
- 脑出血诊疗与护理专项试题(一)
- 2026九年级上《醉翁亭记》教学课件
- 2026五年级下《数学广角》同步精讲
- 医院病理科安全生产管理制度
- 医院集中带量采购制度汇编
- 单位人民防线工作制度
- 卫生巾发货日常管理制度
- 重度颅脑损伤的急救与护理
- 石家庄市桥西区(2025年)辅警协警笔试笔试真题(附答案)
- 恒丰银行招聘真题及答案
- GB/T 11918.1-2025工业用插头、固定式或移动式插座和器具输入插座第1部分:通用要求
- 工装夹具设计规范
- 小区改造施工脚手架施工方案
- 事业单位A类综合应用能力试题答案
- 桥梁满堂支架施工方案(3篇)
- 2025至2030年中国短肽型肠内营养制剂行业竞争格局分析及投资发展研究报告
- QGDW11499-2025直升机吊挂运输输电线路物资施工导
- 南水北调(遵义)水网有限公司招聘笔试题库2025
评论
0/150
提交评论