软件工程初步.ppt课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件工程初步.ppt课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 初步 ppt 课件
- 资源描述:
-
1、电子教案制作人员邬 天 菊贾 长 云朱 敏 本书为配合国家技能型紧缺人才培养培训工程并根据计算机应用和软件专业领域技能型紧缺人才培养培训指导方案的要求而编写。本书针对职业院校学生的特点,充分体现指导方案中素质为基础、能力为本位、需求为依据、就业为导向的基本原则,教学内容注重选择当前软件工程中的一些新理论、新方法与新技术,通过一个小型软件项目为案例贯穿全书,使学生在学完后能基本掌握软件工程的基本理论与方法在软件项目开发中的实际应用。其主要内容涉及软件工程中的软件策划、需求分析、软件设计、编码实现、软件测试及实施与维护等方面的内容,考虑职业院校学生的就业定位,重点侧重于详细设计、软件编码、软件测试
2、、软件维护这几个方面的基本知识与技能。为保持教学内容的先进性同时便于对教学进行科学灵活的组织,对诸如UML方法、面向对象的分析、设计与编程、面向对象软件测试、CMM等也作了介绍。本书可以作为职业院校计算机类专业的软件工程课程的教材或教学参考书,也可作为IT行业程序员、测试员、维护员等的培训教材或参考书。主要内容主要内容第第1章章 软件工程概述软件工程概述第第2章章 系统策划系统策划第第3章章 需求分析需求分析第第4章章 软件设计软件设计第第5章章 编码编码第第6章章 软件测试软件测试第第7章章 软件实施与维护软件实施与维护第第8章章 软件项目管理软件项目管理第第9章章 软件过程管理软件过程管理
3、第一章 软件工程概述本章主要内容本章主要内容1.1 软件与软件工程软件与软件工程1.2 软件生存周期与开发模型软件生存周期与开发模型1.3 软件工程过程软件工程过程1.4 软件开发工具简介软件开发工具简介1.5 学习指南学习指南11 11 软件及软件工程软件及软件工程软件软件软件的定义软件的定义v在运行中能提供所希望的功能与性能的程序在运行中能提供所希望的功能与性能的程序 v使程序能够正确运行的数据及其结构使程序能够正确运行的数据及其结构v描述软件研制过程和方法所用的文档描述软件研制过程和方法所用的文档 软件的特点软件的特点v软件角色的双重性软件角色的双重性 v软件不是传统意义上的被制造软件不
4、是传统意义上的被制造 v软件不会软件不会“磨损磨损”,但会退化,但会退化 v软件都是手工定制的软件都是手工定制的 v开发过程的复杂与费用的昂贵开发过程的复杂与费用的昂贵 11 11 软件及软件工程软件及软件工程软件软件软件的分类软件的分类分类方法分类方法软件类型软件类型按功能按功能(1)(1)系统软件系统软件(2)(2)支撑软件支撑软件(3)(3)应用软件应用软件按版权按版权(1)(1)商业软件商业软件(2)(2)共享软件共享软件(3)(3)自由自由(免费免费)软件软件(4)(4)公有领域软件公有领域软件按工作方式按工作方式(1)(1)实时软件实时软件(2)(2)分时软件分时软件(3)(3)交
5、互式软件交互式软件(4)(4)批处理软件批处理软件按销售方式按销售方式(1)(1)订制软件订制软件(2)(2)产品软件产品软件11 11 软件及软件工程软件及软件工程软件工程软件工程软件危机软件危机v软件开发的生产率远远不能满足客观需要软件开发的生产率远远不能满足客观需要 v开发的软件产品往往不能满足用户的实际需要开发的软件产品往往不能满足用户的实际需要 v软件产品的质量低下且可维护性差软件产品的质量低下且可维护性差 v很难估计软件开发的进度计划与成本很难估计软件开发的进度计划与成本 软件神话软件神话v有了软件开发书籍,就可以解决软件开发中的一切问题有了软件开发书籍,就可以解决软件开发中的一切
6、问题v进度滞后了?好,增加程序员进度滞后了?好,增加程序员v只要程序正确,项目就成功,文档可有可无只要程序正确,项目就成功,文档可有可无v软件质量只能在正式投入运行后才知道软件质量只能在正式投入运行后才知道11 11 软件及软件工程软件及软件工程软件工程软件工程软件工程的定义软件工程的定义vIEEEIEEE定义:定义:软件工程是将系统化的、严格约束的、可软件工程是将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件。化应用于软件。v通俗地说,软件工程是指导软件开发和维护的一门工通俗地说,软件工程是指导软件开发和维
7、护的一门工程学科。它采用工程的概念、原理、技术和方法,把经程学科。它采用工程的概念、原理、技术和方法,把经过时间检验而证明是正确的管理技术和当前能够得到的过时间检验而证明是正确的管理技术和当前能够得到的最好的技术方法结合起来,用于开发和维护软件。最好的技术方法结合起来,用于开发和维护软件。质量焦点质量焦点11 11 软件及软件工程软件及软件工程软件工程软件工程软件工程软件工程层次化技术层次化技术过程过程方法方法软件工程软件工程三个要素:三个要素:方法、工具、过程方法、工具、过程工具工具11 11 软件及软件工程软件及软件工程软件工程软件工程软件工程的作用软件工程的作用v【成功案例】美国联邦速递
8、公司【成功案例】美国联邦速递公司(FedEX)的管理信息系统的管理信息系统 v【失败案例】英国伦敦的急救服务管理信息系统【失败案例】英国伦敦的急救服务管理信息系统 软件工程的基本原理软件工程的基本原理v用分阶段的生存周期计划严格管理用分阶段的生存周期计划严格管理 v坚持进行阶段评审坚持进行阶段评审 v实行严格的产品控制实行严格的产品控制 v采用现代程序设计技术采用现代程序设计技术 v结果应能清楚地审查结果应能清楚地审查 v开发小组的人员应该少而精开发小组的人员应该少而精 v承认不断改进软件工程实践的必要性承认不断改进软件工程实践的必要性 80:20原则12 12 软件生存周期与开发模型软件生存
9、周期与开发模型生存周期生存周期软件生存周期软件生存周期v人的生存周期人的生存周期婴儿婴儿幼儿幼儿儿童儿童少年少年青年青年中年中年老年老年死亡死亡 v软件的生存周期软件的生存周期软件定义软件定义软件开发软件开发软件支持软件支持问题定义问题定义可行性分析可行性分析需求分析需求分析概要设计概要设计详细设计详细设计编编 码码测测 试试软件发布软件发布软件运行软件运行维护或退役维护或退役12 12 软件生存周期与开发模型软件生存周期与开发模型生存周期生存周期软件定义阶段软件定义阶段v问题定义问题定义v可行性分析可行性分析v立项或签订合同立项或签订合同软件开发阶段软件开发阶段v需求分析需求分析v软件设计软
10、件设计v编码与测试编码与测试v 发布或安装验收发布或安装验收软件开发阶段软件开发阶段v软件的使用、运行软件的使用、运行v软件维护软件维护12 12 软件生存周期与开发模型软件生存周期与开发模型开发模型开发模型问题的提出问题的提出软件工程需要解决什么问题?软件工程需要解决什么问题?软件开发模型软件开发模型v做什么软件?做什么软件?v怎么做软件?怎么做软件?v软件如何适应变化?软件如何适应变化?v软件开发过程概括,是软件工程思想的具体化软件开发过程概括,是软件工程思想的具体化v它是跨越整个软件生存周期的各个阶段所需要的全部它是跨越整个软件生存周期的各个阶段所需要的全部工作与任务的结构框架工作与任务
11、的结构框架 12 12 软件生存周期与开发模型软件生存周期与开发模型开发模型开发模型瀑布模型瀑布模型线性顺序模型线性顺序模型可行性分析可行性分析需求分析需求分析设设 计计编编 码码测测 试试支支 持持定义阶段定义阶段开发阶段开发阶段支持阶段支持阶段12 12 软件生存周期与开发模型软件生存周期与开发模型开发模型开发模型瀑布模型的特点:瀑布模型的特点:瀑布模型的应用范围瀑布模型的应用范围v阶段间具有顺序性和依赖性阶段间具有顺序性和依赖性v每个阶段必须完成规定的文档每个阶段必须完成规定的文档;每个阶段结束前完成文每个阶段结束前完成文档审查档审查,及早改正错误及早改正错误,但:但:开发过程一般不能逆
12、转,否则代价太大。开发过程一般不能逆转,否则代价太大。实际的项目开发很难严格按该模型进行。实际的项目开发很难严格按该模型进行。客户往往很难清楚地给出所有的需求,而该模型却要求如此。客户往往很难清楚地给出所有的需求,而该模型却要求如此。软件的实际情况必须到项目开发的后期客户才能看到,这要软件的实际情况必须到项目开发的后期客户才能看到,这要求客户有足够的耐心求客户有足够的耐心。v用户的需求非常清楚全面,且在开发过程中没有或很用户的需求非常清楚全面,且在开发过程中没有或很少变化少变化 v开发人员对软件的应用领域很熟悉。开发人员对软件的应用领域很熟悉。v用户的使用环境非常稳定。用户的使用环境非常稳定。
13、v开发工作对用户参与的要求很低开发工作对用户参与的要求很低 12 12 软件生存周期与开发模型软件生存周期与开发模型开发模型开发模型原型模型原型模型用户测试用户测试运行原型运行原型建造建造/修改修改 原型原型 听取用听取用 户意见户意见12 12 软件生存周期与开发模型软件生存周期与开发模型开发模型开发模型原型模型的特点:原型模型的特点:原型模型的应用范围原型模型的应用范围v可以得到比较良好的需求定义,容易适应需求的变化。可以得到比较良好的需求定义,容易适应需求的变化。v有利于开发与培训的同步。有利于开发与培训的同步。v开发费用低、开发周期短、维护容易且对用户更友好。开发费用低、开发周期短、维
14、护容易且对用户更友好。客户与开发者对原型理解不同客户与开发者对原型理解不同准确的原型设计比较困难准确的原型设计比较困难不利于开发人员的创新不利于开发人员的创新v对所开发的领域比较熟悉而且有快速的原型开发工具对所开发的领域比较熟悉而且有快速的原型开发工具v项目招投标时,可以以原型模型作为软件的开发模型项目招投标时,可以以原型模型作为软件的开发模型v进行产品移植或升级时,或对已有产品原型进行客户进行产品移植或升级时,或对已有产品原型进行客户化工作时,原型模型是非常适合的。化工作时,原型模型是非常适合的。12 12 软件生存周期与开发模型软件生存周期与开发模型开发模型开发模型基于构件的开发模型基于构
15、件的开发模型特点:特点:v属于演化式开发或迭代式开发,其开发过程:属于演化式开发或迭代式开发,其开发过程:客户的交流,获得问题的定义客户的交流,获得问题的定义标识基本类标识基本类计划与风险分析计划与风险分析类的复用或重新开发类的复用或重新开发构造系统构造系统用户评估用户评估v采用了先进的面向对象技术。采用了先进的面向对象技术。v基于构件库的开发,这是软件复用的基础,开发速度基于构件库的开发,这是软件复用的基础,开发速度快。快。v 融合了螺旋模型特征融合了螺旋模型特征v支持软件开发的迭代方法,是一种演化型的开发技术。支持软件开发的迭代方法,是一种演化型的开发技术。13 13 软件工程过程软件工程
16、过程软件工程过程的概念软件工程过程的概念ISO9000v过程:软件工程的三要素之一过程:软件工程的三要素之一v从开发到维护软件相关产品所采取一系列管理活动。从开发到维护软件相关产品所采取一系列管理活动。主要包括项目管理、配置管理、质量管理、文档管理等。主要包括项目管理、配置管理、质量管理、文档管理等。vIS09001:设计、开发、生产、安装和服务的质量保证设计、开发、生产、安装和服务的质量保证模式模式 vIS09002:生产、安装和服务的质量保证模式:生产、安装和服务的质量保证模式 vIS09003:最终检验和试验的质量保证模式。最终检验和试验的质量保证模式。13 13 软件工程过程软件工程过
17、程CMMCMM软件能力成熟度模型软件能力成熟度模型 vCMM(Capability Maturity Model)CMM(Capability Maturity Model)CMM的级别初始级初始级InitialInitial可重复级可重复级RepeatableRepeatable已定义级已定义级DefinedDefined已管理级已管理级ManagedManaged优化级优化级OptimizingOptimizing开发工具的作用与功能开发工具的作用与功能14 14 软件开发工具简介软件开发工具简介CASECASE工具工具计算机辅助软件工程 CASE作用认识与描述系统需求 保存与管理开发过程
18、中的信息 代码的生成 文档的编制与生成 软件项目的管理 开发工具的分类开发工具的分类14 14 软件开发工具简介软件开发工具简介CASECASE工具工具分类方法按应用阶段划分 按功能划分设计工具分析工具项目管理软件配置质量保证分析设计计划工具界面开发客户服务器Web开发IBM RationalIBM Rational工具工具14 14 软件开发工具简介软件开发工具简介常用常用CASECASE工具工具 Rational公司是专门从事CASE工具研制与开发的软件公司,2003年被IBM公司收购。该公司所研发的Rational系列软件是完整的CASE集成工具,贯穿从需求分析到软件维护的整个软件生存周
19、期。需求分析与设计工具产品主要构成测试工具软件配置管理工具Rose PurifyPlus Robot ClearCase 北大青鸟工具北大青鸟工具14 14 软件开发工具简介软件开发工具简介常用常用CASECASE工具工具 北大青鸟系列CASE工具北京北大青鸟软件有限公司开发研制的,在国内有较高的知名度,北京大学软件工程国家工程研究中心就设在该公司。产品主要构成面向对象软件开发工具集 JBOO 构件库管理系统 JBCLMS 项目管理与质量保证 JBCM JBPM JBCCM 软件测试系统 Safepro 微软版本管理器微软版本管理器VSSVSS14 14 软件开发工具简介软件开发工具简介常用常
20、用CASECASE工具工具版本管理是软件配置管理中的核心工作,由Microsoft公司开发的Visual SourceSafe 6.0使用非常广泛而且很容易获得。文件检入与检出 产品主要功能版本控制 文件的拆分与共享 权限管理 本书案例介绍本书案例介绍教师教学网络测评系统教师教学网络测评系统 15 15 学习指南学习指南学习案例学习案例 为实现教学质量的量化考核,借此评价教师的教学水平并有针对性的提高教学质量,某高校开发了基于校园网的教学质量网上测评系统四大功能模块数据采集模块,学生对一个学期中所学课程的各任课教师的教学水平及师德两个方面给予的百分制评价分值数据统计模块,根据教务处规定的统计方
21、法统计出每位任课教师在一个学期中的教学水平及师德的最终测评得分。数据查询模块,查询全校任课教师的最终得分及名次,还能够查询各个班级的学生对任课教师的教学水平及师德的评分情况。辅助功能模块,包括基础数据的管理、测评类型的管理等。本书案例介绍本书案例介绍教师教学网络测评系统教师教学网络测评系统 15 15 学习指南学习指南学习案例学习案例系统运行界面浏览器端:本书案例介绍本书案例介绍教师教学网络测评系统教师教学网络测评系统 15 15 学习指南学习指南学习案例学习案例系统运行界面服务器端:第二章系 统 策 划这个项目是做还是不做呢?还是先去做一下市场调研或与客户谈谈签约的事吧!2.1可行性研究2.
22、2 软件项目计划本章主本章主 要内容要内容21可行性研究可行性研究-问题的定义问题的定义 问题定义 确定软件开发项目必须完成的目标。其关键问题是:“要解决什要解决什么问题么问题?”含义主要内容问题的背景、总体要求与目标、类型范围、功能规模、实现目标的方案、开发的条件、环境要求等问题定义报告应包括内容 项目名称 使用方 对问题的概括定义 项目的目标 项目的规模 21可行性研究可行性研究-问题的定义问题的定义 案例分析 某校在校生近某校在校生近5000人,每学期在期中都要进行一人,每学期在期中都要进行一次对教师的教学质量测评,要求所有学生都要参加。次对教师的教学质量测评,要求所有学生都要参加。以前
23、测评的方式都是手工操作,由教务处发出书面问以前测评的方式都是手工操作,由教务处发出书面问卷调查表,每个同学填写完成后交回到教务处。然后卷调查表,每个同学填写完成后交回到教务处。然后教务处再使用手工的方法对问卷进行统计汇总,最后教务处再使用手工的方法对问卷进行统计汇总,最后得出学生对每一位教师的总体评价。这种方法一方面得出学生对每一位教师的总体评价。这种方法一方面浪费了大量的财力、人力,另一方面统计繁琐且容易浪费了大量的财力、人力,另一方面统计繁琐且容易出错。考虑到现在学校校园网已经建成,为节省开支,出错。考虑到现在学校校园网已经建成,为节省开支,提高效率,学校决定委托计算机系开发一套基于校园提
24、高效率,学校决定委托计算机系开发一套基于校园网的网的教师教学网络测评系统教师教学网络测评系统 1、问题的提出21可行性研究可行性研究-问题的定义问题的定义 案例分析2、问题分析 系统分析人员经过与学校教务部门及各相关单位进行充分的调查后,了解了该项目的一些背景资料与基本要求。教师测评分两大部分,一是师德测评;二是教学质量测评。师德测评有4项指标,教学质量测评有14项指标。系统要实现的目标是:所有学生在指定时间内在指定机房的计算机上完成对任课教师的测评打分,测评过程全部采用选择的方法,不需要输入任何信息 所有的测评数据保存在学校中心服务器上,有较为严格的安全措施 系统能对所有的数据进行统计汇总,
25、得出每一位教师的测评结果,并能进行排序、输出。系统开发的大体费用在1.2万元左右,开发周期大约6个人月。21可行性研究可行性研究-问题的定义问题的定义 案例分析3 3、系统定义报告、系统定义报告 根据以上分析,形成如下的系统定义报告。案例文档之一案例文档之一系统定义报告系统定义报告用户单位:XX学校教务处 负责人:XXX开发单位:XX学校计算机系 分析员:XXX项目名称:基于校园网的教学质量测评系统问题概述:教师教学质量测评每学期必须进行一次,原有的手工方法存在资源浪费、效率极低、结果不准确等问题。(其它的相关说明)项目目标:开发一个效率高且相对通用的教师教学网络测评系统。项目规模:开发成本大
展开阅读全文