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