《软件工程一讲》PPT课件.ppt
《《软件工程一讲》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《软件工程一讲》PPT课件.ppt(58页珍藏版)》请在三一办公上搜索。
1、软件工程 Software Engineering,主讲:李铁柱,教材,软件工程与UML案例解析 何晓蓉 铁道出版社软件工程方法与实践 许家珆 电子工业出版社 Software Engineering,6th EditionIan Sommerville(英)机械工业出版社(影印版),参考书目,软件工程导论(第五版),张海藩,清华大学出版社软件工程实践导论-有关方法、设计、实现、管理之三十六计,金尊和,清华大学出版社,2005.软件开发的科学与艺术,微软亚洲研究院,电子工业出版社,2002年 软件工程实践者的研究方法,R S.Pressman,机械工业出版社现代软件工程,周之英编著,科学出版社
2、软件工程思想,林锐。人月神话,FREDERICK P.BROOKS,JR.清华大学出版社。,学习要求,听理解知识点和思想无需死记硬背做实践体会软件工程的原则、方法和技术,在实践中提高培养抽象思维能力培养独立解决问题的能力培养合作精神想阅读相关资料,学习方式,完成必要的作业完成每次的实验题目完成一次综合性的项目分析开发,软件工程师的基本功底,扎实的基础 丰富的想象力最简单的是最好交流能力良好的编程风格韧性和毅力,项目有关常识,流程重于项目QC(就是QA)独立于研发部门,专门检查研发部门的开发流程是不是按照既定流程走.如果QC觉得流程不对,他会直接上报高层,项目肯定就此停止.所谓的项目经理(PC)
3、一般也是从编码人员升上来的,并不是所谓的不懂技术,一般都至少有四年以上的经验,所有的东西(包括草稿)都必须有文档详细文档要求达到只有这个文档就可以编码的程度,一般写文档时间占60%,编码时间极少有各种详细的review(同行评审),项目组内的,项目组之间的,客户的.计划很详细,的确能达到小时级,但是实际情况还是误差比较大,所以加班是家常便饭的事情。,项目有关常识,学习目的,有助于正确理解和认识“软件”的概念及其特点理解软件开发面临的问题和挑战掌握软件工程的原则、方法和思想来系统地开发软件,尤其是复杂、庞大的软件的开发了解和接触软件开发所需的各种技术手段 软件工程是典型的计算机科学和数学,管理科
4、学,心理学,社会学等学科的综合。,软件的发展,程序设计阶段(20世纪40年代初60年代中期)程序系统阶段(60年代中期到70年代末期)软件工程阶段(20世纪70年代中)第四阶段,个体化的软件环境,软件规模小,编写者和使用者往往是同一个人,除程序清单外,无其它文档资料。,“软件作坊”,比较广泛使用产品软件,仍沿用个体化开发方法。软件维护工作很难进行,甚至不可维护(不能修改运行时发现的错误,不能适应新的硬件环境)由于软件的“不可维护”,而导致了“软件危机”。,微处理器出现,个人计算机产品、分布式系统对软件开发提出更高要求,软件在工业、学术界应用广泛,个人应用少。,更强大的硬件和软件,复杂操作系统控
5、制的强大的桌面系统,局域网和广域网,先进的应用软件配合,成为主流。集中主机环境转变为分布的C/S,B/S环境。面向对象技术取代传统技术。,例:Windows95有1000万行代码 Windows Vista有超过5000万行代码Exchange2000和 Windows2000开发人员结构,四个阶段典型技术,第一阶段:面向批处理 有限的分布 自定义软件第二阶段:多用户 实时 数据库 软件产品第三阶段:分布式系统 嵌入“智能”第四阶段:OO 专家系统 AI PC NC,软件工程概论,什么是软件 软件的分类 软件的特点软件的生存期软件开发面临的问题 软件危机 软件工程 软件工程的目的和要求,软件是
6、计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合 软件程序数据文档资料程序是按事先设计的功能和性能要求执行的指令序列数据是使程序能正常操纵信息的数据结构文档是与程序开发,维护和使用有关的图文材料,软件的分类,按软件的功能进行划分:系统软件支撑软件应用软件,系统软件,使计算机系统各个部件、相关软件和数据协调、高效地工作的软件操作系统数据库管理系统设备驱动程序通信处理程序等,支撑软件 协助用户开发软件的工具软件文本编辑程序文件格式化程序磁盘向磁带进行数据传输的程序程序库系统支持需求分析、设计、实现、测试和支持管理的软件,应用软件商业数据处理软件工程与科学计算软件计算机
7、辅助设计制造软件系统仿真软件智能产品嵌入软件医疗、制药软件事务管理、办公自动化软件计算机辅助教学软件,按软件规模进行划分:类别 参加人员数 研制期限 源程序行数 微型 1 14周 0.5k 小型 1 16月 1k2k 数值计算或数据处理,通常没有与其它程序的接口。需要按一定的标准化技术、正规的资料书写以及定期的系统审查。只是没有大题目那样严格。中型 25 12年 5k50k 软件人员之间、与用户之间的联系、协调的配合关系。因而计划、资料书写以及技术审查需要比较严格地进行。应用程序和系统程序。系统的软件工程方法是完全必要的。,大型 520 23年 50k100k 编译程序、小型分时系统、实时控制
8、系统等。二级管理,若干小组,每组5人以下。人员调整往往不可避免,新手的培训。采用统一的标准,实行严格的审查是绝对必要的。甚大型 1001000 45年 1M(=1000k)若干个子项目,每一个子项目都是一个大型软件。子项目之间具有复杂的接口。如远程通信系统、多任务系统、大型操作系统、大型数据库管理系统、军事指挥系统通常现有这样的规模。很显然,这类问题没有软件工程方法的支持,它的开发工作是不可想象的。极大型 20005000 510年 1M10M军事指挥、弹道导弹防御系统。,按软件工作方式划分:实时处理软件 分时软件 交互式软件 批处理软件,按软件失效的影响进行划分:高可靠性软件 一般可靠性软件
9、,软件的特点,软件是一种逻辑实体,而不是具体的物理实体。因而它具有抽象性软件的生产与硬件不同,在它的开发过程中没有明显的制造过程在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题,软件的特点-软件的失效曲线,软件的特点-软件规模与复杂度关系,以美国宇航局的软件系统为例:1963年 水星计划系统 200万条指令1967年 双子星座计划系统 400万条指令1973年 阿波罗计划系统 1000万条指令1979年 哥伦比亚航天飞机系统 4000万条指令假设1个人一年生产一万条有效指令,那么是否4000人生产一年,或400人生产10年就能完成任务吗?答案是否定的。一万条指令的复杂度决不仅仅是100
10、条指令复杂度的100倍。,软件的特点-软件成本构成,12%需求率,4%,生产率,开发人员,成本构成不同:主要投资在研制;软件研制是一种人力、资金密集的产业,而软件生产只是简单的复制、安装和培训。,软件的特点-改正一个问题需付出的代价,需求分析,结构设计,详细设计,编码,集成测试,系统测试,现场,改正一个问题的估计费用,改正一个问题估计的工作量,20,200,2000,1000,5.0,2.5,0.05,0.5,(美元),(人天),软件的特点-软件开发进度难以预测,拖延工期几个月甚至几年的现象并不罕见,这种现象降低了软件开发组织的信誉。以丹佛新国际机场为例。该机场规模是曼哈顿机场的两倍,宽为希思
11、机场的10倍,可以全天侯同时起降三架喷气式客机;投资1.93亿美元建立了一个地下行李传送系统,总长21英里,有4,000台遥控车,可按不同线路在20家不同的航空公司柜台、登机门和行李领取处之间发送和传递行李;支持该系统的是5,000个电子眼、400台无线电接受机、56台条形码扫描仪和100台计算机。按原定计划要在1993年万圣节前启用,但一直到1994年6月,机场的计划者还无法预测行李系统何时能达到可使机场开放的稳定程度。,软件的生存期 life cycle,软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为计算机软件的生存期软件生存期的六个步骤,即制定计划、需求分析、设计、程序编
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程一讲 软件工程 PPT 课件

链接地址:https://www.31ppt.com/p-4860121.html