软件工程学 第1章 软件工程概述1_第1页
软件工程学 第1章 软件工程概述1_第2页
软件工程学 第1章 软件工程概述1_第3页
软件工程学 第1章 软件工程概述1_第4页
软件工程学 第1章 软件工程概述1_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第1章 软件工程概述1.0 引言1.1 软件工程与软件危机1.2 软件工程1.3 软件生命周期1.4 软件过程1.5 软件质量评价11.0 引言什么是软件?硬件?固件?你学过某种计算机程序设计语言吗?考过程序员吗?具体写程序代码有什么要求?软件国家标准是什么?什么叫软件产品?软件等同于程序吗?软件产品是如何开发的?21.0 引言如何与他人合作完成软件产品开发?如何组织和分配软件产品开发任务?什么是软件文档管理?软件如何维护?分析员与程序员是一回事吗?如何区别面向过程的软件开发与面向对象的软件开发?有面向可靠性维护性的软件开发吗? 。31.0 引言“软件工程”课程与其它软件专业课区别立足于系统的

2、整体讲授系统分析、系统设计、系统测试及系统维护的理论和方法构筑一个软件系统,实现软件开发全过程41.0 引言本课程要解决的问题(教学目标):软件开发的一般步骤、方法和过程如何编写出合格的程序代码和合格的软件技术文档(例:发生火灾时要抢救出的东西是软件设计文档!而不是计算机!) 理解、学会软件项目的划分和实现方法,以及自己在软件开发过程中的位置软件工程的思想绝不仅仅局限于软件开发过程!硬件开发、固件开发、系统开发等 51.0 引言本课程要解决对问题(培养目标):转变对软件的认识:程序 上升 系统转变思维定式:程序员 上升 系统工程师 (系统分析员)61.0 引言学好本课程的关键: 动脑:动脑分析

3、实际问题! 动手:动手撰写文档、编写程序!71.0 引言本课程的主要内容:软件工程概述软件危机、软件工程、软件生命周期、软件过程等可行性研究可行性研究任务、可行性研究过程、数据流图、数据字典等需求分析需求分析的任务、沟通方法、分析建模、实体联系图、数据规范化、状态转换图等总体设计设计过程、设计原理、启发规则、图形工具、设计方法等81.0 引言详细设计编码与测试编码方法、软件测试基础、单元测试、集成测试、确认测试、白盒测试、黑盒测试等UML基础(面向对象的软件工程技术)UML简介、用例建模、结构建模、行为建模等总计:32学时91.0 引言其他教学环节:按照软件工程要求,完成软件产品各个开发阶段报

4、告,作业!主要参考书:软件工程技术导论,张海藩,清华大学出版社(第5版)UML及建模,郭宁,清华大学出版社考试:闭卷笔试101.1 软件工程与软件危机软件的概念、特点和分类软件的概念:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合程序是按事先设计的功能和性能要求编写的指令序列;程序是完成指定功能的一段特定语言代码c, c+, delphi, matlab, Java数据是使程序能正常操纵信息的数据结构文档是与程序开发、维护和使用有关的图文材料111.1 软件工程与软件危机软件的定义为:计算机程序、方法、规则相关的文档资料以及在计算机上运行时所必须的数据软件

5、的特点软件是一种逻辑实体软件的开发,是人的智力的高度发挥,而不是传统意义上的硬件制造软件维护与硬件维修有着本质的区别121.1 软件工程与软件危机软件的特点软件的开发至今尚未完全摆脱手工艺的开发方式,使软件的开发效率受到很大限制软件的开发是一个复杂的过程软件的成分非常昂贵131.1 软件工程与软件危机软件的分类基于软件功能的划分系统软件:windows、linux、mac应用软件:qq、word、office支撑软件:visual c+、matlab、delphi141.1 软件工程与软件危机软件的分类基于软件工作方式的划分实时处理软件:各种实时在线监控系统分时软件:各种定时软件操作系统交互式

6、软件:大部分软件都是交互式软件批处理软件:特定软件151.1 软件工程与软件危机软件工程的背景和历史1968年由NATO(北大西洋公约组织)在德国Garmish召开的学术会议上,Feitz Bauer首先提出了“软件工程”概念软件工程与编写程序(编程)前者是一门学科,一种科学理论来指导软件系统开发的标准化、自动化的过程后者是单纯的代码编写161.1 软件工程与软件危机前者考虑如何分解一个系统,以便个人分工开发;考虑如何说明每个部分的规格要求;怎样才能易于维护后者是软件工程发展的前身后者是软件工程中占据很少时间和空间的一部分 特别提示:南辕北辙! 容易关注编程,忽略软件工程的作用! 更容易关注技

7、能,忽略理论指导!171.1 软件工程与软件危机计算机学科的发展 计算机科学 计算科学18计算机科学(CS)计算机工程(CE)软件工程(SE)信息系统(IS)(CS)Computing Discipline1.1 软件工程与软件危机计算机系统的发展历程第一代(20世纪60年代中期以前):程序设计阶段第二代(20世纪60年代中期到70年代中期):程序系统阶段“软件工程”学科诞生第三代(20世纪70年代中期到80年代中期):软件工程阶段第四代(20世纪80年代中期至今):软件产业在世界经济中已经占有举足轻重的地位191.1 软件工程与软件危机从第一代至今工厂管理病人监护工资统发图书馆管理机票预定。

8、201.1 软件工程与软件危机软件发展早期(1960)面向批处理有限的分布自定义软件简单的设计和实时的控制21第二阶段(1960-1975)多用户实时数据库软件产品较复杂的设计、实时控制和集中管理1.1 软件工程与软件危机第三阶段(19751988)分布式系统嵌入“智能”低成本硬件消费者的影响简单的设计和实时的控制22第四阶段(1988-今)强大的桌面系统面向对象技术专家系统人工神经网络并行计算网络计算机超大规模的设计、超高速实时控制和海量存储与运算等1.1 软件工程与软件危机软件工程为什么发展如此之快不准确的时间和金钱的估算软件质量低下相对硬件产品开发,软件开发费用增加维护、增强软件系统的必

9、要性硬件价格大幅度下降根本原因在于需求!软件危机的存在!231.1 软件工程与软件危机软件危机概念软件开发和维护中存在的一系列严重问题,称为“软件危机”1968年,北大西洋公约组织的计算机科学家在德国召开的国际会议上,为解决“软件危机”问题,提出了“软件工程”的概念241.1 软件工程与软件危机软件危机表现成本和进度难掌握对用户需求了解模糊,用户对软件不满意,“闭门造车”质量不可靠:可靠性和质量保证审查、复审和测试不可维护:“可重用软件”251.1 软件工程和软件危机没有文档:对管理者、开发者、维护者都是至关重要的软件成本逐年上升跟不上硬件发展实例讲评:软件没有适当的文档资料导致软件废弃:石英

10、摆片测试软件261.1 软件工程与软件危机实例讲评软件维护性实例:Microsoft word发展历程:Microsoft word 5.0 Microsoft word 6.0Microsoft word 7.0 Microsoft word 95Microsoft word 97 Microsoft word 98Microsoft word 2003, XP, Vista, 2007实例讲评硬盘刻录机软件:软件bug无法出来271.1 软件工程与软件危机软件危机原因与软件特点有关:管理和控制软件开发过程相当困难!开发和维护方法不正确:个体化特点忽视需求分析忽视评审忽视测试忽视维护等281.1 软件工程与软件危机软件危机面临的问题:进展难衡量、质量难评估、管理难控制如何开发软件,以满足对软件日益增长的需求如何维护数量不断膨胀的已有软件规模、复杂性、生产率291.1 软件工程与软件危机实例讲评:Windows95有1000万行代码Windows2000有5000万行代码Exchange2000和W

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论