数学与计算科学学院课件_第1页
数学与计算科学学院课件_第2页
数学与计算科学学院课件_第3页
数学与计算科学学院课件_第4页
数学与计算科学学院课件_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

数学与计算科学学院

软件工程课程2007年3月数学与计算科学学院

软件工程课程2007年3月1课程内容1基本概念软件危机软件工程软件过程软件生命周期几种模型课程内容1基本概念2课程内容2结构化的软件工程方法学结构化分析结构化设计结构化实现这是传统的软件工程方法学课程内容2结构化的软件工程方法学3课程内容3面向对象的软件工程方法学面向对象分析面向对象设计面向对象实现需要有一定的面向对象概念基础较现代的软件工程方法学课程内容3面向对象的软件工程方法学4课程内容4软件项目管理规模衡量工作量与成本衡量进度管理项目组织方法风险与质量控制配置与版本管理课程内容4软件项目管理5课程内容5统一建模语言UML配合使用的实现工具Micrsoftvisio或IBMRational课程内容5统一建模语言UML6主要教材软件工程(第二版)张海藩人民邮电出版社UML基础,案例与应用(第三版)JosephSchmuller著李虎等译人民邮电出版社主要教材软件工程(第二版)张海藩7参考书与课外阅读材料人件人月神话软件工程经济学与UML有关的书参考书与课外阅读材料人件8基本概念软件危机计算机系统发展经过的4个阶段1早期没有通用软件,软件为具体应用编写特点A程序很小B开发者通常就是使用者基本概念软件危机9软件危机C根本无须预先计划D除了程序代码清单以外,通常无须任何文档大概和大家在计算机编程课里做作业的情形类似这个情形大概出现在1960s中期以前软件危机C根本无须预先计划10软件危机2软件作坊这个时代大概在60s中期到70s中期多用户,多进程的分时系统开始出现,在线存储技术进步促进了第一代数据库管理系统诞生特点A已经有产品性的通用程序B开发方式基本还是沿用第一代的,用户一旦有新的需求就必须去大幅度修改程序软件危机2软件作坊11软件危机由于开发模式的落后,在这个阶段暴露出很多问题,例如资源被大量消耗浪费在维护工作上程序的个体化特性使它们最终成为不可维护的(工作量上无法承受)两个概念由此诞生软件危机:特指上述的,由于软件开发上的随意性,而造成可维护性风险软件危机由于开发模式的落后,在这个阶段暴露出很多问题,例如12软件工程软件工程1968年北约的计算机学者在西德召开的伙计会议上第一次提到这个概念,一门新兴的工程学科由此诞生3微处理时代计算机系统的复杂性越来越高,对软件开发者提出更高的要求,软件工程手段日益受到重视软件工程软件工程13软件工程这个时期大约从70s中到80s中4网络时代软件趋向分布式,的网络应用,空前的复杂程度本阶段出现了面向对象技术(取代了传统的结构化技术,降低了系统设计和实现的难度)机器参与软件设计(专家系统,人工智能系统,计算机辅助设计系统…)软件工程这个时期大约从70s中到80s中14什么是软件危机主要包括两方面的含义1如何开发需求越来越复杂的软件?2怎样维护规模和数量都不断膨胀的现有软件?什么是软件危机主要包括两方面的含义15什么是软件危机软件危机的典型表现1对开发成本和进度的估计不准确,实际成本比估计成本可能高一个数量级别2用户对”已完成”的软件感到不满意3软件质量不可靠4软件不可维护,错误难以纠正,不能适应新的硬件环境,不能增加新的功能什么是软件危机软件危机的典型表现16什么是软件危机5软件没有文档资料6软件成本(所占比例)逐年提高7软件开发速度不能追随硬件发展速度,硬件的潜在能力没有充分发挥什么是软件危机5软件没有文档资料17产生软件危机的原因1软件产品本身的特点软件产品缺乏”可见性”,不同的人对开发的最终目标理解不一致开发进程缺乏可衡量性,软件质量难以评价软件维护往往意味着修改原先的设计,由于不同的部分彼此关联,牵一发动全身,使软件维护变的困难产生软件危机的原因1软件产品本身的特点18产生软件危机的原因2软件开发与维护的方法不正确软件的复杂度与规模呈指数增长关系,规模越大,越不能通过人脑的直觉所控制用户通常倾向于没有经过详细的系统分析就匆忙着手编写程序,而实际编程一般只占工作量的10%-20%,主要的工作量在于需求分析,和系统测试等步骤产生软件危机的原因2软件开发与维护的方法不正确19产生软件危机的原因轻视文档,而实际上程序仅是软件产品中的一个小部分,完整的软件产品还包括数据和文档轻视维护,对维护的工作量估计不足,事实上维护花费大约占总费用的55%-70%产生软件危机的原因轻视文档,而实际上程序仅是软件产品中的一个20消除软件危机1认识上纠正错误的观念2良好的管理方法3使用软件工具作软件工程支撑环境消除软件危机1认识上纠正错误的观念21什么是软件工程1993年IEEE给出的定义软件工程是1把系统化的,规范的,可度量的途径应用于软件开发,运行和维护的过程,也就是把工程化应用于软件中2研究1中提到的途径什么是软件工程1993年IEEE给出的定义22软件工程的基本原理1用分阶段的生命周期严格管理软件工程的基本原理1用分阶段的生命周期严格管理23软件工程的基本原理2坚持阶段评审软件工程的基本原理2坚持阶段评审24软件工程的基本原理3实行严格的产品控制软件工程的基本原理3实行严格的产品控制25软件工程的基本原理4采用现代化的程序设计技术软件工程的基本原理4采用现代化的程序设计技术26软件工程的基本原理5结果应能清楚的审查软件工程的基本原理5结果应能清楚的审查27软件工程的基本原理6开发小组应该少而精软件工程的基本原理6开发小组应该少而精28软件工程的基本原理承认不断改进软件工程技术的重要性软件工程的基本原理承认不断改进软件工程技术的重要性29软件工程方法学三大要素:方法,工具,过程传统方法学与面向对象方法学软件工程方法学三大要素:方法,工具,过程30数学与计算科学学院

软件工程课程2007年3月数学与计算科学学院

软件工程课程2007年3月31课程内容1基本概念软件危机软件工程软件过程软件生命周期几种模型课程内容1基本概念32课程内容2结构化的软件工程方法学结构化分析结构化设计结构化实现这是传统的软件工程方法学课程内容2结构化的软件工程方法学33课程内容3面向对象的软件工程方法学面向对象分析面向对象设计面向对象实现需要有一定的面向对象概念基础较现代的软件工程方法学课程内容3面向对象的软件工程方法学34课程内容4软件项目管理规模衡量工作量与成本衡量进度管理项目组织方法风险与质量控制配置与版本管理课程内容4软件项目管理35课程内容5统一建模语言UML配合使用的实现工具Micrsoftvisio或IBMRational课程内容5统一建模语言UML36主要教材软件工程(第二版)张海藩人民邮电出版社UML基础,案例与应用(第三版)JosephSchmuller著李虎等译人民邮电出版社主要教材软件工程(第二版)张海藩37参考书与课外阅读材料人件人月神话软件工程经济学与UML有关的书参考书与课外阅读材料人件38基本概念软件危机计算机系统发展经过的4个阶段1早期没有通用软件,软件为具体应用编写特点A程序很小B开发者通常就是使用者基本概念软件危机39软件危机C根本无须预先计划D除了程序代码清单以外,通常无须任何文档大概和大家在计算机编程课里做作业的情形类似这个情形大概出现在1960s中期以前软件危机C根本无须预先计划40软件危机2软件作坊这个时代大概在60s中期到70s中期多用户,多进程的分时系统开始出现,在线存储技术进步促进了第一代数据库管理系统诞生特点A已经有产品性的通用程序B开发方式基本还是沿用第一代的,用户一旦有新的需求就必须去大幅度修改程序软件危机2软件作坊41软件危机由于开发模式的落后,在这个阶段暴露出很多问题,例如资源被大量消耗浪费在维护工作上程序的个体化特性使它们最终成为不可维护的(工作量上无法承受)两个概念由此诞生软件危机:特指上述的,由于软件开发上的随意性,而造成可维护性风险软件危机由于开发模式的落后,在这个阶段暴露出很多问题,例如42软件工程软件工程1968年北约的计算机学者在西德召开的伙计会议上第一次提到这个概念,一门新兴的工程学科由此诞生3微处理时代计算机系统的复杂性越来越高,对软件开发者提出更高的要求,软件工程手段日益受到重视软件工程软件工程43软件工程这个时期大约从70s中到80s中4网络时代软件趋向分布式,的网络应用,空前的复杂程度本阶段出现了面向对象技术(取代了传统的结构化技术,降低了系统设计和实现的难度)机器参与软件设计(专家系统,人工智能系统,计算机辅助设计系统…)软件工程这个时期大约从70s中到80s中44什么是软件危机主要包括两方面的含义1如何开发需求越来越复杂的软件?2怎样维护规模和数量都不断膨胀的现有软件?什么是软件危机主要包括两方面的含义45什么是软件危机软件危机的典型表现1对开发成本和进度的估计不准确,实际成本比估计成本可能高一个数量级别2用户对”已完成”的软件感到不满意3软件质量不可靠4软件不可维护,错误难以纠正,不能适应新的硬件环境,不能增加新的功能什么是软件危机软件危机的典型表现46什么是软件危机5软件没有文档资料6软件成本(所占比例)逐年提高7软件开发速度不能追随硬件发展速度,硬件的潜在能力没有充分发挥什么是软件危机5软件没有文档资料47产生软件危机的原因1软件产品本身的特点软件产品缺乏”可见性”,不同的人对开发的最终目标理解不一致开发进程缺乏可衡量性,软件质量难以评价软件维护往往意味着修改原先的设计,由于不同的部分彼此关联,牵一发动全身,使软件维护变的困难产生软件危机的原因1软件产品本身的特点48产生软件危机的原因2软件开发与维护的方法不正确软件的复杂度与规模呈指数增长关系,规模越大,越不能通过人脑的直觉所控制用户通常倾向于没有经过详细的系统分析就匆忙着手编写程序,而实际编程一般只占工作量的10%-20%,主要的工作量在于需求分析,和系统测试等步骤产生软件危机的原因2软件开发与维护的方法不正确49产生软件危机的原因轻视文档,而实际上程序仅是软件产品中的一个小部分,完整的软件产品还包括数据和文档轻视维护,对维护的工作量估计不足,事实上维护花费大约占总费用的55%-70%产生软件危机的原因轻视文档,而实际上程序仅是软件产品中的一个50消除软件危机1认识上纠正错误的观念2良好的管理方法3使用软件工具作软件工程支撑环境消除软件危机1认识上纠正错误的观念51什么是软件工程1993年IEEE给出的定义软件工程是1把系统化的,规范的,可度量的途径应用于软件开发,运行和维护的过程,也就是把工程化应用于软件中2研究1中提到的途径什么是软件工程1993年IEEE给出的定义52软件工程的基本原理1用分阶段的生命周期严格管理软件工程的基本原理1用分阶段的生命周期严格管理53软件工程的基本原理2坚持阶段评审软件工程的基本原理2坚持阶段评审54软件工程的基本原理3实行严格的产品控制软件工程的基本原理3实行严格的产品控制5

温馨提示

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

评论

0/150

提交评论