精品PPT课件-第一章软件建模概论131页PP.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《精品PPT课件-第一章软件建模概论131页PP.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 PPT 课件 第一章 软件 建模 概论 131 PP
- 资源描述:
-
1、1软件建模技术软件建模技术东北大学信息科学与工程学院东北大学信息科学与工程学院 杨雷杨雷2第第0章章 Introduction 0.1 课程名称 0.2 教学目的 0.3 教学内容 0.4 参考书目30.1 课程名称课程名称 UML语言设计 面向对象技术与UML教程 软件建模技术40.2 教学目的教学目的 在掌握面向对象技术的基础上,学习如何采用统一建模语言(UML)来对系统进行分析、设计和开发。 掌握Rose工具。(实践能力)50.3 教学内容教学内容 软件建模概述 UML概述 用例图 类图和对象图 顺序和协作图 状态图和活动图 构件图和部署图 UML与统一开发过程RUP 使用UML分析设计
2、应用系统60.4 参考书目参考书目(1/2)UML与软件建模 徐宝文 清华大学出版社面向对象技术UML教程 王少锋 清华大学出版社70.4 参考书目参考书目(2/2) UML 用户指南Grady Booch .Rational Rose 2019教程考核方式考核方式项目所占成绩比例考试40%大作业30%上机实验20%平时表现、作业、考勤10%总评100%课程资源、课时安排课程资源、课时安排 课件:bb.neu.edu 本课程相关网站:uml.org 课时安排:授课+上机:24+16 学时+n自学如何学好如何学好11第第1章章 软件建模概论软件建模概论东北大学信息科学与工程学院东北大学信息科学与
3、工程学院 杨雷杨雷12主要内容主要内容 1.1 模型 1.2 软件过程 1.3 软件模型 1.4 面向对象方法基础 1.5 面向对象的软件建模方法1.1 模型模型地图模型地图模型1.1 模型模型建筑模型建筑模型1.1 模型模型规划模型规划模型绘画模型绘画模型1.1 模型模型定积分的含义:定积分的含义:欧姆定律:欧姆定律:数学、物理模型数学、物理模型1.1 模型模型软件生存周期的瀑布模型软件生存周期的瀑布模型1.1 模型模型1.1 模型模型模型定义:模型是对某一系统完整的抽象,是对现实的简化。模型是对现实系统的简化或模拟,是对现实系统本质特征的一种简化、直观、类比和抽象的描述。建模的目的是为了解
4、决客观世界中存在的问题,而不仅仅是为了描述客观事物模型的表示包括文字或图形。1.1 模型模型 (模型的作用)(模型的作用)n便于理解和交流模型可以促进项目的有关人员对系统的理解和交流。n优选方案通过模型帮助人们从多个方案中挑选出优选的方案。n缩短开发周期通过建模形象化系统开发内容和开发过程,提高开发效率,缩短开发周期。1.1 模型模型 (建模的原因)(建模的原因)n人对复杂问题的理解能力有限,通过建模对现实世界进行一定程度的抽象,可以简化所研究问题的难度。n对大型复杂系统建模时,可以采用“各个击破”的手段,将要解决的问题分解为一系列小问题,即在建模过程中一次只注重研究它的一个方面,这样通过对小
5、问题的解决从而得到整个问题的解。1.1 模型模型 (模型的特征)(模型的特征)n反映性模型用来反映客观实体n简化性以简化的方式来反映客观事物n直观性方便、直观的方式反映客观n抽象性以抽象的方式描述客观事物及其规律。可以从不同方面对模型进行分类:可以从不同方面对模型进行分类:思维模型社会模型工程模型建筑模型软件模型1.1 模型模型 (模型的类型)(模型的类型)逻辑模型实体模型n概念模型系统的雏形,对系统的概括性描述。n逻辑模型原理上合理可行的系统,是对现实系统的逻辑化、设计性描述。n物理模型逻辑模型的基础上,考虑设计细节, 实现的实在系统。需求理解需求理解模型模型模型分析模型分析建立模型建立模型
6、现实系统现实系统1.1 模型模型 (建模)(建模)建模的原则建模的原则建模的原则过程过程表示法表示法工具工具1.1 模型模型 (模型的三要素)(模型的三要素)n过程 建立模型的过程,只有确切知道建模的过程才能够成功建立一个模型。n表示法 模型的表示,也就是建模语言,是建立模型的关键,例如UML就是软件的建模语言。n工具 通过建模工具来方便建立模型。30主要内容主要内容 1.1 模型 1.2 软件过程 1.3 软件模型 1.4 面向对象方法基础 1.5 面向对象的软件建模方法1. 生命周期与过程生命周期与过程 生命周期生命周期:指事物衍生存在的时间历程。指事物衍生存在的时间历程。 人的生命周期人
7、的生命周期1.2 软件过程软件过程幼幼年年少少年年中中年年青青年年老老年年 过程过程: :是事物在其生命周期中是事物在其生命周期中, ,按照某种特按照某种特征征, ,一系列相关活动按照确定的次序演绎变化的一系列相关活动按照确定的次序演绎变化的进程。进程。人的生命周期身体发育过程身体发育过程心理成熟过程心理成熟过程性格形成过程性格形成过程接受教育过程接受教育过程2. 软件过程的概念软件过程的概念 软件过程软件过程(software processsoftware process)是指软件)是指软件在其生命周期中,一系列相关活动按照确定的在其生命周期中,一系列相关活动按照确定的次序演绎变化的进程。
8、象获取过程、管理过程、次序演绎变化的进程。象获取过程、管理过程、开发过程、维护过程等。开发过程、维护过程等。3. 3. 软件过程的提出软件过程的提出 软件年代中期以前,软件过程没有受软件年代中期以前,软件过程没有受到重视,软件过程分含在不同的软件开发方法到重视,软件过程分含在不同的软件开发方法之中,软件过程十分混乱;之中,软件过程十分混乱;年代软件过程开始受到重视,年年代软件过程开始受到重视,年国际正式颁布软件过程标准;国际正式颁布软件过程标准; 年正式接受年正式接受RationalRational提出的提出的:统一软件开发过程:统一软件开发过程。4. 软件工程过程的基本内容 按照国标按照国标
9、GB-8566-2019GB-8566-2019(信息技术软件生(信息技术软件生存期过程)规定,软件过程共包括存期过程)规定,软件过程共包括 获取过程获取过程 运作过程运作过程 供应过程供应过程 维护过程维护过程 管理过程管理过程 支持过程支持过程 开发过程开发过程 裁剪过程裁剪过程 支持支持合同合同获取过程获取过程供应过程供应过程供需观点供需观点需方、供需方、供方方管理观点管理观点管理者管理者管理管理管理过程管理过程维护过程维护过程运行过程运行过程开发过程开发过程支持支持支持过程支持过程:文档过程文档过程 质量保证过程质量保证过程配置管理过程配置管理过程 验证过程验证过程培训过程培训过程 评
10、审与审计过程评审与审计过程环境建立过程环境建立过程工程观点工程观点操作者操作者开发者开发者维护者维护者介入支持过程的人员介入支持过程的人员支持观点支持观点图图1 软件过程软件过程 美国美国RationalRational公司,于公司,于20192019年年6 6月公布了月公布了统统一软件开发过程一软件开发过程RUPRUP(Rational Unified Rational Unified ProcessProcess)。)。 结束软件开发过程的混乱局面,使软件开发结束软件开发过程的混乱局面,使软件开发过程得到了统一。过程得到了统一。5.统一软件开发过程RUP 1) RUP的提出的提出 时间维时
11、间维: : 初始、细化、构建、移交初始、细化、构建、移交4 4个阶段。个阶段。 工作维:工作维:领域分析、需求分析、系统设计、实领域分析、需求分析、系统设计、实现和测试等核心工作。现和测试等核心工作。 2) RUP的结构图2 统一软件开发过程的二维结构图3 软件各开发阶段工作的比例 领域分析领域分析(Business Analysis) 对软件所服务的业务领域进行深入分析。对管对软件所服务的业务领域进行深入分析。对管理型软件来说,领域分析的工作有:理型软件来说,领域分析的工作有: 现行企业系统调查;现行企业系统调查; 企业目标分析;企业目标分析; 机构和职能分析;机构和职能分析; 业务流程分析
12、;业务流程分析; 企业实体分析;企业实体分析; 建立领域模型等。建立领域模型等。 3) 软件的主要开发工作 需求分析需求分析(Requirements Analysis) 需求分析是对所开发的软件系统应该需求分析是对所开发的软件系统应该具有的功能、性能和作用的分析。需求分具有的功能、性能和作用的分析。需求分析主要工作:析主要工作: 需求调查;需求调查; 需求分析;需求分析; 需求建模;需求建模; 需求审核。需求审核。 系统设计系统设计(System Design) 系统设计的任务是确定软件系统的设计方案系统设计的任务是确定软件系统的设计方案。系统设计包括:。系统设计包括: 1 1)软件结构设计
13、)软件结构设计 系统平台设计系统平台设计 软件体系结构设计软件体系结构设计 软件结构设计软件结构设计 2 2)详细设计)详细设计 子系统设计子系统设计 数据库设计数据库设计 界面设计界面设计 系统实现系统实现(System Implemention) 系统实现的任务是把软件系统的设计方案系统实现的任务是把软件系统的设计方案转变成为可以交付测试的软件系统实物。系转变成为可以交付测试的软件系统实物。系统实现的工作包括统实现的工作包括 编程编程; ; 单元测试单元测试; ; 系统集成。系统集成。 .测试测试(Test) 测试是对所实现的软件系统进行的测测试是对所实现的软件系统进行的测试。测试的工作包
14、括:试。测试的工作包括: 编制测试计划编制测试计划 构造测试用例构造测试用例 实施测试实施测试46主要内容主要内容 1.1 模型 1.2 软件过程 1.3 软件模型 1.3 面向对象方法基础 1.4 面向对象的软件建模方法 软件模型软件模型:对软件系统在各个开发阶对软件系统在各个开发阶段本质特性的描述,它要反映软件系统的段本质特性的描述,它要反映软件系统的形成过程形成过程。领域模型领域模型需求模型需求模型设计模型设计模型实现模型实现模型测试模型测试模型软件模型的概念软件模型的概念1.3 软件模型软件模型用户需求用户需求业务领域业务领域软件产品软件产品软件模型软件模型软件模型软件产品软件开发过程
15、软件开发过程业务领域用户需求实现环境设计意图软件模型用户用户开发人员开发人员中介机构中介机构软件模型软件建模的要素建模过程建模过程建模方法建模方法建模语言建模语言建模工具建模工具 软件开发之喻建造房子(旅行、指挥作战)学习软件建模:如何从建筑工人成长为建筑师 音乐建模的表示载体:五线谱 建筑建模的表示载体:图纸 软件建模的表示载体:? 1.2 软件建模(内容)软件建模(内容) 1.2 软件建模(内容)软件建模(内容) 软件建模(内容)软件建模(内容)软件建模(内容)软件建模(内容) 软件建模(内容)软件建模(内容)软件建模(内容)软件建模(内容)60主要内容主要内容 1.1 模型 1.2 软件
16、过程 1.3 软件模型 1.4 面向对象方法基础 1.5 面向对象的软件建模方法611.4 面向对象方法基础面向对象方法基础 软件危机及软件工程 对软件开发的认识 复杂性及控制复杂性的基本方法 面向对象技术 面向对象领域中的基本概念62软件危机及软件工程软件危机及软件工程 软件危机 软件危机:落后的软件生产方式无法满足迅速增长的软件需求,从而导致软件(大型)开发与维护过程中出现一系列严重问题的现象。 主要表现:软件开发费用和进度失控软件的可靠性差生产出来的软件难以维护软件成本在计算机系统总成本中所占的比例居高不下,且逐年上升软件开发生产率提高的速度远远跟不上计算机应用迅速普及深入的需要Cris
17、is!63软件危机例证 IBM公司的 OS/360,共约100万条指令,花费了5000个人年;经费达数亿美圆,而结果却令人沮丧,错误多达2000个以上,系统根本无法正常运行。 OS/360系统的负责人Brooks这样描述开发过程的困难和混乱:“像巨兽在泥潭中作垂死挣扎,挣扎得越猛,泥浆就沾得越多,最后没有一个野兽能够逃脱淹没在泥潭中的命运。” 1963年美国飞往火星的火箭爆炸,造成1000万美元的损失。原因是FORTRAN程序: DO 5 I=1,3 误写为:DO 5 I=1 . 3 1967年苏联“联盟一号”载人宇宙飞船在返航时,由于软件忽略一个小数点,在进入大气层时因打不开降落伞而烧毁。6
18、4硬件硬件/软件成本变化趋势软件成本变化趋势硬件软件100% 0%19551970198565软件技术进步落后于需求增长软件技术进步落后于需求增长66软件危机软件危机 原因客观:软件本身特点逻辑部件规模庞大主观:不正确的开发方法忽视需求分析错误认为:软件开发=程序编写轻视软件维护67软件危机及软件工程软件危机及软件工程 软件工程 提出:1968年北大西洋公约 软件可靠性会议(NATO) 定义 软件工程软件工程 (Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设
19、计模式等方面。 目的 就是在规定的时间、规定的开发费用内开发出满足用户需求的高质量的软件系统。 (高质量不只是指错误率低,还包括好用、易用、可移植、易维护等。) 68软件工程的发展 软件工程的发展已经历了软件工程的发展已经历了个重要阶段:个重要阶段: 6 06 0 年 代 末 到年 代 末 到 7 07 0 年 代 为 了 克 服年 代 为 了 克 服 “ 软 件 危 机软 件 危 机 ” (Software crisis)(Software crisis)提出提出“软件工程软件工程”的名词的名词, , 将软件将软件开发纳入工程化的轨道,基本形成软件工程的概念、开发纳入工程化的轨道,基本形成软
20、件工程的概念、框架、技术和方法。称为框架、技术和方法。称为传统传统的软件工程的软件工程69软件工程的发展软件工程的发展已经历了软件工程的发展已经历了个重要阶段:个重要阶段: 80 80年代中到年代中到9090年代,面向对象年代,面向对象的方法与技术得到发展,研究的重的方法与技术得到发展,研究的重点转移到面向对象的分析与设计,点转移到面向对象的分析与设计,演化为一种完整的软件开发方法和演化为一种完整的软件开发方法和系统的技术体系,称为系统的技术体系,称为对象工程。对象工程。70软件工程的发展软件工程的发展已经历了软件工程的发展已经历了个重要阶段:个重要阶段: 90起年代,基于构件(起年代,基于构
21、件(Component)的开发方法取得重要进展,软件系统的的开发方法取得重要进展,软件系统的开发可通过使用现成的可复用构件组装开发可通过使用现成的可复用构件组装完成,而无需从头开始构造,以此达到完成,而无需从头开始构造,以此达到提高效率和质量,降低成本的目的。称提高效率和质量,降低成本的目的。称为构件工程。为构件工程。71软件软件软件就是程序? 软件定义:软件是能够完成预定功能和性软件定义:软件是能够完成预定功能和性能的可执行的计算机程序和使程序正常执行能的可执行的计算机程序和使程序正常执行所需要的数据,加上描述软件开发过程及其所需要的数据,加上描述软件开发过程及其管理、程序的操作和使用的有关
22、文档。管理、程序的操作和使用的有关文档。程序的构成: 面向过程的程序=算法+数据结构 面向对象的程序=对象+消息 面向构件的程序=构件+框架 72软件软件软件的简要定义:软件的简要定义: 软件软件=程序程序+数据数据+文档文档程序:按事先设计的功能和性能需求执行的指令序列数据:是程序能正常操纵信息的数据结构文档:与程序开发及过程管理、维护和使用有关的图 文材料程序、软件与软件产品:程序、软件与软件产品: 独唱独唱小合唱小合唱合唱合唱万人大合唱万人大合唱 | | | 简单程序简单程序 较复杂程序较复杂程序 软件软件73软件规模越来越大软件规模越来越大 Windows9595有有10001000万
23、行代码万行代码 Windows20002000有有50005000万行代码万行代码Exchange2000和和 Windows20002000开发人员结构开发人员结构Exchange2000Windows20002000项目经理项目经理25人人约约250人人开发人员开发人员140人人约约1700人人测试人员测试人员350人人约约3200人人74复杂性及控制复杂性的基本方法复杂性及控制复杂性的基本方法 软件的固有复杂性:著名的计算机专家、被称之为IBM 360系列计算机之父的F. Brooks认为软件的复杂性是固有的,软件可能是人类所能制造出来的最复杂的实体。 (F. Brooks, No Si
24、lver Bullet: Essence and Accidents of Software Engineering, Computer, April 1987, pp.10-19 ) 导致软件复杂性的原因 与计算机的体系结构有关 软件开发是人的一种智力活动 各元素之间的相互作用关系的不确定性 随硬件变化而变化75复杂性及控制复杂性的基本方法复杂性及控制复杂性的基本方法 软件固有复杂性使得开发成员之间的通讯变得困难,开发费用超支、开发时间延期等;也导致产品有缺陷、不易理解、不可靠、难以使用、功能难以扩充等。 软件的复杂性是固有的,即不能采用某种方法彻底消除软件的复杂性,因此软件危机只能是通过控
展开阅读全文