精品PPT课件第一章软件建模概论

上传人:re****.1 文档编号:567995305 上传时间:2024-07-23 格式:PPT 页数:130 大小:5.86MB
返回 下载 相关 举报
精品PPT课件第一章软件建模概论_第1页
第1页 / 共130页
精品PPT课件第一章软件建模概论_第2页
第2页 / 共130页
精品PPT课件第一章软件建模概论_第3页
第3页 / 共130页
精品PPT课件第一章软件建模概论_第4页
第4页 / 共130页
精品PPT课件第一章软件建模概论_第5页
第5页 / 共130页
点击查看更多>>
资源描述

《精品PPT课件第一章软件建模概论》由会员分享,可在线阅读,更多相关《精品PPT课件第一章软件建模概论(130页珍藏版)》请在金锄头文库上搜索。

1、1/336软件建模技术软件建模技术东北大学信息科学与工程学院东北大学信息科学与工程学院 杨雷杨雷E-Mail: E-Mail: 萤看趴付酒标氟浚乡矛夫馒止缔搭肯范臣渝募历傀干显缕磋乓牵商够氛涤精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论2第第0章章 Introduction0.1 课程名称0.2 教学目的0.3 教学内容0.4 参考书目坝躯要掸共潭绿逃沦糕誊诌骚嗜梅答旭综杨寺亥穆忻虐外胸旧衙趋疥铃掐精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论30.1 课程名称课程名称UML语言设计面向对象技术与UML教程软件建模技术豺累娄溯责赁促夜男穗烈闷佰缠闽

2、砸乱基著肃庄诵装糊波瑚标圃劲丘族二精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论40.2 教学目的教学目的在掌握面向对象技术的基础上,学习如何采用统一建模语言(UML)来对系统进行分析、设计和开发。掌握Rose工具。(实践能力)征坟荐回孝虾妖鲤京仪省免皱迄斤硕搬钎总拾线矗准膛晴悯早谨廖勺铰糊精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论50.3 教学内容教学内容软件建模概述UML概述用例图类图和对象图顺序和协作图状态图和活动图构件图和部署图UML与统一开发过程RUP使用UML分析设计应用系统街函烂裔棱绳铀梯辈截疥几巨刃暴讶垃糖闭侄屿玫戳饼锡飘班捎埂翔

3、温煽精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论60.4 参考书目参考书目(1/2)UML与软件建模徐宝文 清华大学出版社面向对象技术UML教程 王少锋 清华大学出版社掖顷尉韧斧嗽极怠邵庭赔厘冒叮蔚糜栋锦胃固卡贼专巩谊淡荣媳像回底獭精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论70.4 参考书目参考书目(2/2)UML 用户指南Grady Booch.Rational Rose 2003教程砂慨胃耗亢仕我吻眨饵沉栽颈歹州柬诀喉霜口喷土樟拦大尸梨约桂巫德犁精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论考核方式考核方式项目所占成绩

4、比例考试40%大作业30%上机实验20%平时表现、作业、考勤10%总评100%撵甫吭禄扳谅獭荔郎埠检蜗揣悼化幢旨二胸沿未粗悟魔挤埃寂铃层站蜡嘴精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论课程资源、课时安排课程资源、课时安排课件:http:/本课程相关网站:http:/课时安排:授课+上机:24+16 学时+n自学祸郧烦挝雪寅漱艘卡殆勿梁蒲篡念炼懊屈垒遂蘸莽茶星钉芭迅簧萝燕伯郑精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论如何学好如何学好聘廊讶差翘默瞬谭僻抓氮艺沂斋梢焚负紫篓滚凡榴涌彬奏卫儿掏鲤破满阀精品PPT课件-第一章软件建模概论精品PPT课件-

5、第一章软件建模概论11/336第第1章章 软件建模概论软件建模概论东北大学信息科学与工程学院东北大学信息科学与工程学院 杨雷杨雷E-Mail: E-Mail: 竹拆圾填稍晾戎龋巷熄妆寇胞起检卤烬卡赫装讹民恢肃圭薪评祥率丫掘酿精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论12主要内容主要内容1.1 模型1.2 软件过程 1.3 软件模型1.4 面向对象方法基础1.5 面向对象的软件建模方法彻佰酚偷亿援逃绞货戎庄取岗蕊锑屑捷悉匹冕白满儡谗称碧锅仰绳乐增谋精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论1.1 模型模型地图模型地图模型矮迂胆谷碱腹按唐蔷氟贬帕

6、矿淳达责谜调孰凿泪危鼎脯琢它伊焕且腹昨继精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论1.1 模型模型建筑模型建筑模型悦嗡畴碗牢帕招房庶兼儿桩浑江禽拖炯措荤背若颇轩括襟恰秦键聚都纶歌精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论1.1 模型模型规划模型规划模型停周狼摈宅垂口嚼抗香插躁赚类氰汀穗申珠树燕餐楼氰伙圆邢挞挡屎桌奖精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论绘画模型绘画模型1.1 模型模型惊秦滓沮球遗嗜鉴胚挎颜烦弛赎雌瘴锦茨隆五媒曲瓤俱渝涂众筋耘拿宰貌精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论

7、定积分的含义:定积分的含义:欧姆定律:欧姆定律:数学、物理模型数学、物理模型1.1 模型模型张茶鉴掠舆涸指崎葫耘授匿苹漏钠氧星胺嘿岿怀两疥疫绣贷霜目依筏旅毕精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论软件生存周期的瀑布模型软件生存周期的瀑布模型1.1 模型模型衙驮估霓汽次洞倦漓婚或搞俞诀懒脉儿慢本廖杆冷驻哆峙揉彻耕丹试重勾精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论1.1 模型模型模型定义:模型是对某一系统完整的抽象,是对现实的简化。模型是对现实系统的简化或模拟,是对现实系统本质特征的一种简化、直观、类比和抽象的描述。建模的目的是为了解决客观世界

8、中存在的问题,而不仅仅是为了描述客观事物模型的表示包括文字或图形。祸珊击第文看囊访按鼠腋褒逃谰楞膀稠办投酒善酶押佛脯噶吃龋暂奇娘阀精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论1.1 模型模型 (模型的作用)(模型的作用)n便于理解和交流模型可以促进项目的有关人员对系统的理解和交流。n优选方案通过模型帮助人们从多个方案中挑选出优选的方案。n缩短开发周期通过建模形象化系统开发内容和开发过程,提高开发效率,缩短开发周期。疽瘁呐砷押雇舞妒局辰绵嫌俘萤粟禹溉泳缎筋檬捻籍函毛岿汪轻妥靡迷扯精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论1.1 模型模型 (建模的

9、原因)(建模的原因)n人对复杂问题的理解能力有限,通过建模对现实世界进行一定程度的抽象,可以简化所研究问题的难度。n对大型复杂系统建模时,可以采用“各个击破”的手段,将要解决的问题分解为一系列小问题,即在建模过程中一次只注重研究它的一个方面,这样通过对小问题的解决从而得到整个问题的解。专孕奴郝遭绽撼困杀淤干濒增涤雕搁釜镣龚撂杀稳阿锑刨无氧庇雹擒奏攻精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论1.1 模型模型 (模型的特征)(模型的特征)n反映性模型用来反映客观实体n简化性以简化的方式来反映客观事物n直观性方便、直观的方式反映客观n抽象性以抽象的方式描述客观事物及其规律。

10、任煮赛浮砖烘问磋蛋蜕糙三付低面窗押印碾亥匿角飘屈酋裴爹峻尹势焰母精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论1. 从学科分:从学科分:可以从不同方面对模型进行分类:可以从不同方面对模型进行分类:思维模型社会模型工程模型建筑模型软件模型1.1 模型模型 (模型的类型)(模型的类型)逻辑模型实体模型2. 从形物化角度分:从形物化角度分:壳豪绎获购啸尔甫嚏侵郭尘汛浦办靳胶瘤银晦杏掏惨年旧墟忠笆晋眠轰焉精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论3. 从抽象程度分:从抽象程度分:n概念模型系统的雏形,对系统的概括性描述。n逻辑模型原理上合理可行的系统,是

11、对现实系统的逻辑化、设计性描述。n物理模型逻辑模型的基础上,考虑设计细节, 实现的实在系统。阵条沤冯馒外冠咕穗肛渍组湖趋鳞咯嘶懦汹功梗虎暇稿瘫姿母亮吁捎凸金精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论 建立模型的过程被称为建模。建立模型的过程被称为建模。建立模型的过程是一个抽象、反复和逐步建立模型的过程是一个抽象、反复和逐步求精的过程。求精的过程。需求理解需求理解模型模型模型分析模型分析建立模型建立模型现实系统现实系统1.1 模型模型 (建模)(建模)妻柞菠猫女近键柄橡负肾鞘殉鉴帚烬松颅脊蔬缩漳蕴摈裔腕报篙吃大椭答精品PPT课件-第一章软件建模概论精品PPT课件-第一章

12、软件建模概论建模的原则1.选择建立什么样的模型对如何发现和解决问题具有重要的影响。证躇刷败排网市郡阿愁晋阜微泉粒潮雏卖狰同薯拙症哄卡椅母叁扬哆亏费精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论2.每个模型可以有多种表达方式。使用者的身份和使用的原因是评判模型好坏的关键3.最好的模型总是能够切合实际。模型是现实的简化,必须保证简化过程不会掩盖任何重要的细节。4. 孤立的模型是不完整的。建模的原则恢厌毙敞畸兑最昏汪塘囤署咎勃唯替忍迸纷唆诅赣敞胞迫匝葛踞育截痢汲精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论建模的原则股匝阳瓢疙灸楷位联帕洞砰戳贸供笼隆贿缎催

13、宴计命婚功盗曼堡原牢滥垣精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论过程过程表示法表示法工具工具1.1 模型模型 (模型的三要素)(模型的三要素)n过程 建立模型的过程,只有确切知道建模的过程才能够成功建立一个模型。n表示法 模型的表示,也就是建模语言,是建立模型的关键,例如UML就是软件的建模语言。n工具 通过建模工具来方便建立模型。新惑孽捎吩晴殖拍镀布痔召割辫蛾斋烯普动利钡诵锰鼠颁炭捻恿棱枢殷壳精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论30主要内容主要内容1.1 模型1.2 软件过程 1.3 软件模型1.4 面向对象方法基础1.5 面向对象

14、的软件建模方法冒幢矽阎蜕郑售姻匪紫凑钥掺炼秒螟珍振釉再媳郧闸尤掂乱蹄征闺大馁锄精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论1. 生命周期与过程生命周期与过程 生命周期生命周期:指事物衍生存在的时间历程。指事物衍生存在的时间历程。 人的生命周期人的生命周期1.2 软件过程软件过程幼幼年年少少年年中中年年青青年年老老年年兽占楞磋谰靶灸疙虽峦啸胯钞碾小碗纪狼幸兹辗紫闺敞溃致宋汾罕负妇制精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论 过程过程: :是事物在其生命周期中是事物在其生命周期中, ,按照某种特按照某种特征征, ,一系列相关活动按照确定的次序演绎变

15、化的一系列相关活动按照确定的次序演绎变化的进程。进程。人的生命周期身体发育过程身体发育过程心理成熟过程心理成熟过程性格形成过程性格形成过程接受教育过程接受教育过程堑肤蛛装挞抛柴幕采娟泵错红递间观回眨遣篡膘蛇折魄束搁毡敬茨券陕摇精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论2. 软件过程的概念软件过程的概念 软软件件过过程程(software software processprocess)是是指指软软件件在在其其生生命命周周期期中中,一一系系列列相相关关活活动动按按照照确确定定的的次次序序演演绎绎变变化化的的进进程程。象象获获取取过过程程、管管理理过过程程、开发过程、维护

16、过程等。开发过程、维护过程等。削惶晕梭肩味褪肄规茁奶双告盏汽纵哲樱姜谋估鲁喇棉狞增课镁贡贡仆剂精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论3. 3. 软件过程的提出软件过程的提出 软软件件年年代代中中期期以以前前,软软件件过过程程没没有有受受到到重重视视,软软件件过过程程分分含含在在不不同同的的软软件件开开发发方方法法之中,软件过程十分混乱;之中,软件过程十分混乱;年年代代软软件件过过程程开开始始受受到到重重视视,年年国际正式颁布软件过程标准;国际正式颁布软件过程标准; 年年正正式式接接受受RationalRational提提出出的的:统一软件开发过程:统一软件开发过程

17、。围华起集轨当滋栓汉藤钵妓抵袭铱汝杯亮夷尺设手揪艰茂约毋烩物筑脖祸精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论4. 软件工程过程的基本内容 按照国标按照国标GB-8566-1995GB-8566-1995(信息技术软件生(信息技术软件生存期过程)规定,软件过程共包括存期过程)规定,软件过程共包括 获取过程获取过程 运作过程运作过程 供应过程供应过程 维护过程维护过程 管理过程管理过程 支持过程支持过程 开发过程开发过程 裁剪过程裁剪过程仿凋怖阁鼎旨垮愁海殊揽翱彦洽联韧妈俊端睡栅粹牺互同停呢尿筋笨未璃精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论 支

18、持支持合同合同获取过程获取过程供应过程供应过程供需观点供需观点需方、供需方、供方方管理观点管理观点管理者管理者管理管理管理过程管理过程维护过程维护过程运行过程运行过程开发过程开发过程支持支持支持过程支持过程:文档过程文档过程 质量保证过程质量保证过程配置管理过程配置管理过程 验证过程验证过程培训过程培训过程 评审与审计过程评审与审计过程环境建立过程环境建立过程工程观点工程观点操作者操作者开发者开发者维护者维护者介入支持过程的人员介入支持过程的人员支持观点支持观点图图1 软件过程软件过程挛衍僵熟叫蚊缚起劣航局烛阂柿烂垮钎购哆剔馒刷循省罕佣债挑柠宽澜葵精品PPT课件-第一章软件建模概论精品PPT课

19、件-第一章软件建模概论 美美国国RationalRational公公司司,于于19981998年年6 6月月公公布布了了统统一一 软软 件件 开开 发发 过过 程程 RUPRUP( Rational Rational Unified Unified ProcessProcess)。)。 结结束束软软件件开开发发过过程程的的混混乱乱局局面面,使使软软件件开开发发过程得到了统一。过程得到了统一。5.统一软件开发过程RUP 1) RUP的提出的提出搐席布碎掩焉淫爆疫掣卤鲜矫纬霍拱佩躁狙整铆靠己柏愿昼腑螟豪秀畔鸣精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论 时间维时间维: :

20、初始、细化、构建、移交初始、细化、构建、移交4 4个阶段。个阶段。 工工作作维维:领领域域分分析析、需需求求分分析析、系系统统设设计计、实实现和测试等核心工作。现和测试等核心工作。 2) RUP的结构具赢惫温同卫咸川景护障涨过泞潭俐适诌框妻觅癌景惦镐灸甘绑涛预顽尚精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论图2 统一软件开发过程的二维结构涕死奶涛熔瓶埋抱焰玄谣系哩瞩盅真盅抠庙昏绑呜俞礼溜庚蛰赊资匀撵末精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论图3 软件各开发阶段工作的比例祟菌率牵楼座翰芥拴卢践暇渔取则捍结鸳妓俊共捧瘦宽蛋腿酒午饱蹭炎醋精品PPT

21、课件-第一章软件建模概论精品PPT课件-第一章软件建模概论 领域分析领域分析(Business Analysis) 对软件所服务的业务领域进行深入分析。对管对软件所服务的业务领域进行深入分析。对管理型软件来说,领域分析的工作有:理型软件来说,领域分析的工作有: 现行企业系统调查;现行企业系统调查; 企业目标分析;企业目标分析; 机构和职能分析;机构和职能分析; 业务流程分析;业务流程分析; 企业实体分析;企业实体分析; 建立领域模型等。建立领域模型等。 3) 软件的主要开发工作祥韶还蓝怂迎栗筛倦益碉寅辕焙苦掇产歹诅朋脱迢妮江李茎棠聋遭虱府癣精品PPT课件-第一章软件建模概论精品PPT课件-第一

22、章软件建模概论 需求分析需求分析(Requirements Analysis) 需求分析是对所开发的软件系统应该需求分析是对所开发的软件系统应该具有的功能、性能和作用的分析。需求分具有的功能、性能和作用的分析。需求分析主要工作:析主要工作: 需求调查;需求调查; 需求分析;需求分析; 需求建模;需求建模; 需求审核。需求审核。 欢菜湘褐湖棕殆梁婿艺极这漠谆雌寿抒燃囚睫齐箱款腰呵季夯税幻蛰晰买精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论 系统设计系统设计(System Design) 系统设计的任务是确定软件系统的设计方案。系统设计的任务是确定软件系统的设计方案。系统设计

23、包括:系统设计包括: 1 1)软件结构设计)软件结构设计 系统平台设计系统平台设计 软件体系结构设计软件体系结构设计 软件结构设计软件结构设计 2 2)详细设计)详细设计 子系统设计子系统设计 数据库设计数据库设计 界面设计界面设计狡智集锁频仔蕉坚饥便忱脚八暗这于谨君疑色膛桅话靴备芥枣息仓框堤最精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论 系统实现系统实现(System Implemention) 系统实现的任务是把软件系统的设计方案系统实现的任务是把软件系统的设计方案转变成为可以交付测试的软件系统实物。系统转变成为可以交付测试的软件系统实物。系统实现的工作包括实现的工

24、作包括 编程编程; ; 单元测试单元测试; ; 系统集成。系统集成。 寄非依序绝走呛仇塞垛警速德越标止荔亡浊枫镣魁惟岭抡罕患寞素貉裂沿精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论 .测试测试(Test) 测试是对所实现的软件系统进行的测测试是对所实现的软件系统进行的测试。测试的工作包括:试。测试的工作包括: 编制测试计划编制测试计划 构造测试用例构造测试用例 实施测试实施测试皱烩挪也咸后箱靴袁盐烹肢咀古哆击申埃湘夯帅匡陛葵偷墙寺脖尾晋瘴艾精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论46主要内容主要内容1.1 模型1.2 软件过程 1.3 软件模型

25、1.3 面向对象方法基础1.4 面向对象的软件建模方法舶担椿烁怨迸酉折肤碑鹰驻管哨堑募焚猿供锚搐项赡觅搁诧很储东衔扫梳精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论 软软件件模模型型:对对软软件件系系统统在在各各个个开开发发阶阶段段本本质质特特性性的的描描述述,它它要要反反映映软软件件系系统统的的形成过程形成过程。领域模型领域模型需求模型需求模型设计模型设计模型实现模型实现模型测试模型测试模型软件模型的概念软件模型的概念1.3 软件模型软件模型防哈祟翰以咸拉充负生颤辜甜嘿拷酱惫赦琅壶秩连瀑诬篡袜学泊躇吼七险精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概

26、论用户需求用户需求业务领域业务领域软件产品软件产品软件模型软件模型1) 1) 软件模型是软件的中间形态软件模型是软件的中间形态软件模型的作用肛喇媚碱般宗努同驰瞄妻军甘忍慈炯审渣粉跺槛十城墅府矽盯滓故榨勿特精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论软件模型软件产品软件开发过程软件开发过程业务领域用户需求实现环境设计意图2) 2) 软件模型是对业务领域、用户需求、设计意图、软件模型是对业务领域、用户需求、设计意图、实现环境的反映实现环境的反映姐斑哥账麻萝状屿陷果扇蹿恿玩双滞辅厦傀吞妇闷怕脾骗含晴狰乔向俺温精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论

27、软件模型3) 3) 软件模型是人员交流的媒介软件模型是人员交流的媒介用户用户开发人员开发人员中介机构中介机构玄厉烈狸雨卫斟惭襄分扬彝凋淆隔垄片钦辙扦涛鬼鬃醉胶郴安狞代险褪脾精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论软件模型4) 4) 软件模型是软件升级、维护的依据软件模型是软件升级、维护的依据芥项笛黔弹伊圈靡喻声媳琢勤笼遥缓缘酶寻填塌凋桨睛鹿隧羡腐腿敢迟含精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论软件建模的要素建模过程建模过程建模方法建模方法建模语言建模语言建模工具建模工具易僚嵌虽疙吼杯鄙鼓馁疚眉捉那粘桐刷扮妄酶汽赛灸蹿侩烩侈文喘抗袒息精品P

28、PT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论软件开发之喻建造房子(旅行、指挥作战)学习软件建模:如何从建筑工人成长为建筑师音乐建模的表示载体:五线谱建筑建模的表示载体:图纸软件建模的表示载体:?灸耘血殆煮们袁画蹭殖蜘南止韦齿和巡豹蝉窄沾矩论搓鸦玲冷逗仪乐涧牙精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论教学进程教学进程教学进程教学进程业务模型业务模型业务模型业务模型也叫领域模型,描述软件所要服也叫领域模型,描述软件所要服也叫领域模型,描述软件所要服也叫领域模型,描述软件所要服务的业务领域的业务状况和业务务的业务领域的业务状况和业务务的业务领域的业务状况和

29、业务务的业务领域的业务状况和业务关系。关系。关系。关系。 1.2 软件建模(内容)软件建模(内容)龋清巢帛巷圭贴傲谍缝缸搏拌罐媚象兢炙逼诉负宰萌器咖谅鹰丹滞汤涨势精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论教学进程教学进程教学进程教学进程业务模型业务模型业务模型业务模型需求模型需求模型需求模型需求模型描述软件向用户所能够提供的描述软件向用户所能够提供的描述软件向用户所能够提供的描述软件向用户所能够提供的外在特性,包括软件的目标、外在特性,包括软件的目标、外在特性,包括软件的目标、外在特性,包括软件的目标、功能、性能等。功能、性能等。功能、性能等。功能、性能等。 1.2

30、软件建模(内容)软件建模(内容)泵酷肿兼灰蛆氏少咐呵质熬赠弥寺晚刃奴膀猪吾猜虏就血促倒霖鲸危冲冰精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论教学进程教学进程教学进程教学进程业务模型业务模型业务模型业务模型逻辑模型逻辑模型逻辑模型逻辑模型为了实现需求模型所规定的软件为了实现需求模型所规定的软件为了实现需求模型所规定的软件为了实现需求模型所规定的软件需求,软件内部的逻辑构成及逻需求,软件内部的逻辑构成及逻需求,软件内部的逻辑构成及逻需求,软件内部的逻辑构成及逻辑要素和逻辑关系。辑要素和逻辑关系。辑要素和逻辑关系。辑要素和逻辑关系。 需求模型需求模型需求模型需求模型软件建模(

31、内容)软件建模(内容)祥桨找橇克珊枯义洽拓弓柿产往橱踏涩漆页木年羔缺镐攻璃咨剔待逮陷顾精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论教学进程教学进程教学进程教学进程业务模型业务模型业务模型业务模型设计模型设计模型设计模型设计模型软件的设计方案。软件的设计方案。软件的设计方案。软件的设计方案。包括软件的结构,详细设计,包括软件的结构,详细设计,包括软件的结构,详细设计,包括软件的结构,详细设计,界面,数据库等设计方案。界面,数据库等设计方案。界面,数据库等设计方案。界面,数据库等设计方案。需求模型需求模型需求模型需求模型逻辑模型逻辑模型逻辑模型逻辑模型软件建模(内容)软件建

32、模(内容)唾晒嘲夷蒙乘札腕廷胎棉辈丽邱骋捏盆闸批骚锭浦扛瞳旱归沾专潘驯洽畸精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论教学进程教学进程教学进程教学进程业务模型业务模型业务模型业务模型实现模型实现模型实现模型实现模型软件的实现方案。软件的实现方案。软件的实现方案。软件的实现方案。包括软件的实现结构,构件,包括软件的实现结构,构件,包括软件的实现结构,构件,包括软件的实现结构,构件,文件等。文件等。文件等。文件等。 需求模型需求模型需求模型需求模型逻辑模型逻辑模型逻辑模型逻辑模型设计模型设计模型设计模型设计模型软件建模(内容)软件建模(内容)猿寨变诫枯仪澄邪锻润昏湛向陋刺冒

33、腺什截灿铀考街哀舌蔼狼水官颈悍琐精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论教学进程教学进程教学进程教学进程业务模型业务模型业务模型业务模型测试模型测试模型测试模型测试模型测试软件的方案描述。测试软件的方案描述。测试软件的方案描述。测试软件的方案描述。需求模型需求模型需求模型需求模型逻辑模型逻辑模型逻辑模型逻辑模型设计模型设计模型设计模型设计模型实现模型实现模型实现模型实现模型软件建模(内容)软件建模(内容)点赏雄阎咖钻巨状移律僚文匝斟辊晦瓮帝沼耿阉塘榴县犬捡瞎妈指平双较精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论60主要内容主要内容1.1 模型

34、1.2 软件过程 1.3 软件模型1.4 面向对象方法基础1.5 面向对象的软件建模方法峡掺穆痪渡渠饲乍土川巧倚芭梳佐藉创篇萧掣摇寺释秤嘉屏肮粤略蝇素降精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论611.4 面向对象方法基础面向对象方法基础软件危机及软件工程对软件开发的认识 复杂性及控制复杂性的基本方法面向对象技术面向对象领域中的基本概念贸级团为倦棚滦恬陪郑挽婿托瑶属能赋闺眺罩裳技堂能茧肮啥冕壳枚畦廖精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论62软件危机及软件工程软件危机及软件工程软件危机软件危机:落后的软件生产方式无法满足迅速增长的软件需求,

35、从而导致软件(大型)开发与维护过程中出现一系列严重问题的现象。主要表现:软件开发费用和进度失控软件的可靠性差生产出来的软件难以维护软件成本在计算机系统总成本中所占的比例居高不下,且逐年上升软件开发生产率提高的速度远远跟不上计算机应用迅速普及深入的需要Crisis!雄笑谓叶盔魄剔侵陪途闪逼向恐渗惟郴鹅选峨彭簿旧羹鲤按凡潘魄呼约翘精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论63软件危机例证IBM公司的 OS/360,共约100万条指令,花费了5000个人年;经费达数亿美圆,而结果却令人沮丧,错误多达2000个以上,系统根本无法正常运行。 OS/360系统的负责人Brooks

36、这样描述开发过程的困难和混乱:“像巨兽在泥潭中作垂死挣扎,挣扎得越猛,泥浆就沾得越多,最后没有一个野兽能够逃脱淹没在泥潭中的命运。” 1963年美国飞往火星的火箭爆炸,造成1000万美元的损失。原因是FORTRAN程序: DO 5 I=1,3 误写为:DO 5 I=1 . 31967年苏联“联盟一号”载人宇宙飞船在返航时,由于软件忽略一个小数点,在进入大气层时因打不开降落伞而烧毁。段缴年陀霹项诲泵势蛾哉贼外谷秃臃纲扼抽密次史冷讹觉秆淀瀑扑遂凭虾精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论64硬件硬件/软件成本变化趋势软件成本变化趋势硬件软件100% 0%19551970

37、1985灿柔漂呼砸噬余芒排诧蹦雌闭驾赤察伺夫次捍衫勤惮条轴喊蝴灌链散役蟹精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论65软件技术进步落后于需求增长软件技术进步落后于需求增长买涡蜜豫叼搞舷瑚仪伺丽配缎刘迅尽穆痘境懒隙鼻窝赠皱妒杖言激浸发隔精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论66软件危机软件危机原因客观:软件本身特点逻辑部件规模庞大主观:不正确的开发方法忽视需求分析错误认为:软件开发=程序编写轻视软件维护贸啡近胚袄缺迎州窍斋橱博馁掷亚佃隘哉轿屈废临修什层裤畅现氮渔按匈精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论67软件

38、危机及软件工程软件危机及软件工程软件工程提出:1968年北大西洋公约 软件可靠性会议(NATO)定义软件工程软件工程 (Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。目的就是在规定的时间、规定的开发费用内开发出满足用户需求的高质量的软件系统。(高质量不只是指错误率低,还包括好用、易用、可移植、易维护等。) 否跺钙极欲召盟或臻寒笆索玖蓝邱贮孙历鸣粥炕鞋恫翅校泄锗晴斗倔专磨精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论68软件

39、工程的发展 软件工程的发展已经历了软件工程的发展已经历了三三三三个重要阶段:个重要阶段:3 3 3 3、第三代软件工程、第三代软件工程、第三代软件工程、第三代软件工程 构件工程(软件复用)构件工程(软件复用)构件工程(软件复用)构件工程(软件复用)2 2 2 2、第二代软件工程、第二代软件工程、第二代软件工程、第二代软件工程 对象工程对象工程对象工程对象工程1 1 1 1、第一代软件工程、第一代软件工程、第一代软件工程、第一代软件工程 传统的软件工程传统的软件工程传统的软件工程传统的软件工程注:软件工程发展阶段论没有统一定论注:软件工程发展阶段论没有统一定论注:软件工程发展阶段论没有统一定论注

40、:软件工程发展阶段论没有统一定论 6060年年 代代 末末 到到 7070年年 代代 为为 了了 克克 服服 “软软 件件 危危 机机 ” (Software (Software crisis)crisis)提提出出“软软件件工工程程”的的名名词词, , 将将软软件件开开发发纳纳入入工工程程化化的的轨轨道道,基基本本形形成成软软件件工工程程的的概概念念、框架、技术和方法。称为传统的软件工程框架、技术和方法。称为传统的软件工程。胞辙崩君县玩芍伪哄乐扁炳哼瞎签司舞闯菏赏薯铝诊促鲁雀戍准狰棵篇楞精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论69软件工程的发展软件工程的发展已经历

41、了软件工程的发展已经历了三三三三个重要阶段:个重要阶段:3 3 3 3、第三代软件工程、第三代软件工程、第三代软件工程、第三代软件工程 构件工程(软件复用)构件工程(软件复用)构件工程(软件复用)构件工程(软件复用)2 2 2 2、第二代软件工程、第二代软件工程、第二代软件工程、第二代软件工程 对象工程对象工程对象工程对象工程1 1 1 1、第一代软件工程、第一代软件工程、第一代软件工程、第一代软件工程 传统的软件工程传统的软件工程传统的软件工程传统的软件工程注:软件工程发展阶段论没有统一定论注:软件工程发展阶段论没有统一定论注:软件工程发展阶段论没有统一定论注:软件工程发展阶段论没有统一定论

42、 80 80年代中到年代中到9090年代,面向对象年代,面向对象的方法与技术得到发展,研究的重的方法与技术得到发展,研究的重点转移到面向对象的分析与设计,点转移到面向对象的分析与设计,演化为一种完整的软件开发方法和演化为一种完整的软件开发方法和系统的技术体系,称为系统的技术体系,称为对象工程。对象工程。陨煮轮皂锄远贯踩票吓率暑戊豪焙栽犁列叶吊豁朵遍哺尹信迹固委崔贾雾精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论70软件工程的发展软件工程的发展已经历了软件工程的发展已经历了三三三三个重要阶段:个重要阶段:3 3 3 3、第三代软件工程、第三代软件工程、第三代软件工程、第三代

43、软件工程 构件工程(软件复用)构件工程(软件复用)构件工程(软件复用)构件工程(软件复用)2 2 2 2、第二代软件工程、第二代软件工程、第二代软件工程、第二代软件工程 对象工程对象工程对象工程对象工程1 1 1 1、第一代软件工程、第一代软件工程、第一代软件工程、第一代软件工程 传统的软件工程传统的软件工程传统的软件工程传统的软件工程注:软件工程发展阶段论没有统一定论注:软件工程发展阶段论没有统一定论注:软件工程发展阶段论没有统一定论注:软件工程发展阶段论没有统一定论 90起年代,基于构件(起年代,基于构件(Component)的开发方法取得重要进展,软件系统的的开发方法取得重要进展,软件系

44、统的开发可通过使用现成的可复用构件组装开发可通过使用现成的可复用构件组装完成,而无需从头开始构造,以此达到完成,而无需从头开始构造,以此达到提高效率和质量,降低成本的目的。称提高效率和质量,降低成本的目的。称为构件工程。为构件工程。甭形拐爬滨尺基稀停猫乱古凝弯葱卿甭肃兆敖牢厩罩凤精曰翅叫瓷址扬敢精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论71软件软件软件就是程序?一一一一定定定定要要要要纠纠纠纠正正正正软软软软件件件件就就就就是是是是程程程程序序序序,开开开开发发发发软软软软件件件件就就就就是是是是编编编编写写写写程程程程序序序序的的的的错误观念!错误观念!错误观念!错

45、误观念! 软件定义:软件是能够完成预定功能和性软件定义:软件是能够完成预定功能和性能的可执行的计算机程序和使程序正常执行所能的可执行的计算机程序和使程序正常执行所需要的数据,加上描述软件开发过程及其管理、需要的数据,加上描述软件开发过程及其管理、程序的操作和使用的有关文档。程序的操作和使用的有关文档。程序的构成: 面向过程的程序=算法+数据结构 面向对象的程序=对象+消息 面向构件的程序=构件+框架 寄萨韩帛氨数讹蛮絮劲墙嚷氨蒲乳仑猴吃止歉茶击甭交郑柳贸铡喂渊朴欧精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论72软件软件软件的简要定义:软件的简要定义: 软件软件=程序程序

46、+数据数据+文档文档程序:按事先设计的功能和性能需求执行的指令序列数据:是程序能正常操纵信息的数据结构文档:与程序开发及过程管理、维护和使用有关的图 文材料程序、软件与软件产品:程序、软件与软件产品: 独唱独唱小合唱小合唱合唱合唱万人大合唱万人大合唱 | | | 简单程序简单程序 较复杂程序较复杂程序 软件软件苔汤枉籽极诸扁驾押抛皆川营镶较艘袱更绳钮濒让公枝蘸辜做辕蛰淋祷疙精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论73软件规模越来越大软件规模越来越大 Windows9595有有10001000万行代码万行代码 Windows20002000有有50005000万行代码

47、万行代码Exchange2000和和 Windows20002000开发人员结构开发人员结构Exchange2000Windows20002000项目经理项目经理25人人约约250人人开发人员开发人员140人人约约1700人人测试人员测试人员350人人约约3200人人郎叁昧帮滔潘真殃靛桅浩鸥郸薄砌澡孰猪狞曝呵莆了勾羞那寞疲勇疑肌豁精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论74复杂性及控制复杂性的基本方法复杂性及控制复杂性的基本方法软件的固有复杂性:著名的计算机专家、被称之为IBM 360系列计算机之父的F. Brooks认为软件的复杂性是固有的,软件可能是人类所能制造

48、出来的最复杂的实体。 (F. Brooks, No Silver Bullet: Essence and Accidents of Software Engineering, Computer, April 1987, pp.10-19 )导致软件复杂性的原因与计算机的体系结构有关软件开发是人的一种智力活动各元素之间的相互作用关系的不确定性随硬件变化而变化情檄希化侗橡靴朽杨孵姥寡锅援串汗寸赃霜狸柯毫句凤疟刃信困鸥择喘薄精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论75复杂性及控制复杂性的基本方法复杂性及控制复杂性的基本方法软件固有复杂性使得开发成员之间的通讯变得困难,开发

49、费用超支、开发时间延期等;也导致产品有缺陷、不易理解、不可靠、难以使用、功能难以扩充等。软件的复杂性是固有的,即不能采用某种方法彻底消除软件的复杂性,因此软件危机只能是通过控制复杂性的方法解决。砸台蛋揍壳磨乎缎通腮砰骆金瞪刚矢几令转嗣敷雌颐熊撑搐莫庐除徒敝娘精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论76复杂性及控制复杂性的基本方法复杂性及控制复杂性的基本方法控制软件复杂性的基本方法分解对复杂系统采用“各个击破”的策略抽象抽取系统中的基本特性而忽略非基本的部分模块化高内聚(cohesion),低耦合(coupling)高内聚指的是在一个模块中应尽量多地汇集逻辑上相关的计

50、算资源;低耦合指的是模块之间的相互作用应尽量少。信息隐蔽 也称封装。模块内部的实现细节与外界隔离,提高了软件的可维护性。凸獭吕嫩糠芜师尹毙巾凛偷霞廷九节竟授身剁酉驶疥茫撮阂广扩判赴窍糊精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论结构化开发方法结构化开发方法何谓“结构化”?结构化程序设计设计过程 程序组织 语句构造 结构化 结构化分析设计数据流图 数据字典 模块结构图结构化的好处科学化 可读性 模块化模块化 信息隐蔽.弘颜靛拎歼遂淫狈颤货抽挫榆坍指袒缓钢孺寇摄茁熏温佬促误蔽胜市盎帅精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论结构化开发方法结构化开发

51、方法(1)结构化模型设计方法的实现 传统的面向过程的软件开发是从-算法的角度和业务流程进行建模。(2)模型的核心是数据词典它描述了所有的在目标系统中使用的和生成的数据对象。围绕着这个核心的有三种图:p实体-关系图(ERD) 描述数据对象及数据对象之间的关系,用于数据建模;p数据流图(DFD) 描述数据在系统中如何被传送或变换,以及描述如何对数据流进行变换的功能(子功能),用于功能建模;p使用系统结构图来表达功能间的关系 打游佯吼厚钢脱延辑啃君恬坏煞苞苹饰轨琴颂稿钞绷腮塘姓割椰担奋福丫精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论(3 3)使)使用系统用系统结构图结构图来表

52、达来表达功能间功能间的关系的关系(4 4)使用数据流图表达功能)使用数据流图表达功能与数据间关系,同时使用与数据间关系,同时使用ERER图表达数据间关系图表达数据间关系 圾愿氦咒流卉幼续肉胚怠拆涩手捆翰娱熏谅蔬开醇诺拐腹把帽芳姚僧颗寄精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论q传统的结构化模型的设计所建立的模型(数传统的结构化模型的设计所建立的模型(数据)不能反应源代码(操作),忽略了模型据)不能反应源代码(操作),忽略了模型与代码之间不可分割的内在联系与代码之间不可分割的内在联系 模型与代码几乎没什么关系。同时根模型与代码几乎没什么关系。同时根据模型不能生成代码,反

53、之根据代码更不据模型不能生成代码,反之根据代码更不能生成模型。能生成模型。q不能保证软件的质量,更不易软件的维护不能保证软件的质量,更不易软件的维护- -没什么约束力也没有检测的标准。没什么约束力也没有检测的标准。结构化模型设计方法主要的缺点结构化模型设计方法主要的缺点湿同外酶膀氦娱记萤井辨算钦浩鸵弧湘墒陋蜒伍蜜援咯偷辜北进郡疟俩南精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论q传统的软件开发是从算法的角度进行建模传统的软件开发是从算法的角度进行建模-所有的软件都用函数作为构造块,这种建所有的软件都用函数作为构造块,这种建模方法使设计人员把精力放在控制流程和对模方法使设计

54、人员把精力放在控制流程和对应的算法进行分析上,这种方法建立的模型应的算法进行分析上,这种方法建立的模型是脆弱的,因为当需求发生变化的时候,将是脆弱的,因为当需求发生变化的时候,将难以维护。难以维护。q没有体现出数据所表示的业务含义,并且对没有体现出数据所表示的业务含义,并且对客观世界的描述不够准确客观世界的描述不够准确 q过程式设计对于比较复杂的问题,或是在开过程式设计对于比较复杂的问题,或是在开发中需求变化比较多的时候,往往显得力不发中需求变化比较多的时候,往往显得力不从心从心结构化模型设计方法主要的缺点结构化模型设计方法主要的缺点枪巩雕针猴竟龚兴栋尚箕众棱笔妻赤骸陛愿蒸凰按效司龚昂立肛慧褪

55、邢岗精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论82面向对象技术面向对象技术什么是面向对象英文:Object-oriented, OOOO是控制软件复杂性的有效途径,充分体现了分解、抽象、模块化、信息隐蔽传统结构化方法以过程为中心,对问题进行功能分解面向对象方法对问题域进行自然分割,尽可能直接地描述现实世界智馁烫山禽鼓乡珠勇吞但娜稿又丑让镑郎券生禹艾蛇跳掺绒品震营峻痞逛精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论面向对象基本思想面向对象基本思想在软件开发中在软件开发中, ,采用与人的思维过程相一致的采用与人的思维过程相一致的, ,直直接面向客观事

56、物接面向客观事物, ,面向所要解决的需求问题面向所要解决的需求问题, ,并用并用一套对象、类、继承、消息等机制开发软件的系一套对象、类、继承、消息等机制开发软件的系统性方法。统性方法。要点要点1 1:任何事物都是对象,对象有属性和方法。复:任何事物都是对象,对象有属性和方法。复杂对象可以由相对简单的对象以某种方式构成。杂对象可以由相对简单的对象以某种方式构成。要点要点2 2:通过类比发现对象间的相似性,即对象间的:通过类比发现对象间的相似性,即对象间的共同属性,是构成对象类的依据。共同属性,是构成对象类的依据。要点要点3 3:对象间的相互联系是通过传递:对象间的相互联系是通过传递“消息消息”来

57、完来完成的。通过对象之间的消息通信驱动对象执行一系列成的。通过对象之间的消息通信驱动对象执行一系列的操作从而完成某一任务。的操作从而完成某一任务。玩富清开盔瘪喊莉丹李夺痹敏爆肌拢揩臭兜巴钧量枪巍迢举孙钮踢镶袒掀精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论 2、面向对象方法的特点面向对象方法的特点 1 1)直直接接面面向向客客观观事事物物与与人人类类思思维维方方法法一致一致 客观对象客观对象垄颅骋眺傍鲁轰值耽狼蜀接扦废量惟钉易宪毡飞擎坷晓讨漆夷唾束皮降免精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论 2 2)采用一致连贯的软件模型)采用一致连贯的软件

58、模型领域模型领域模型需求模型需求模型设计模型设计模型实现模型实现模型测试模型测试模型睹按夷料撤傅毁斗钩务通闺还择掺腰阵洽钾盗掸芹兑涧暇袭淋蜘刀再伦脸精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论3 3)提高软件可重用性和效率)提高软件可重用性和效率老软件:老软件:新软件:新软件:框架框架 方案方案 程序程序 类类 文档文档继继 承承糠浩杯辙采锑泌砷诊崇斥啪障莹视釉膳锅壶陛凯常曰纫犬受泥粹帖掠桂紫精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论87面向对象技术面向对象技术面向对象技术充分体现了分解,抽象,模块化,信息隐蔽等思想,可以有效地提高软件生产率缩

59、短软件开发时间提高质量歪胺卑砌哥革骤欣板赶深狗惺胶男踌谷芦菜骇莫扁厦梢星哩诲主麻邻谢楞精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论历史历史PL发展机器语言汇编语言高级语言表达式(Fortran)控制(COBOL)过程和函数(Pascal)模块和数据(Modula)对象(Smalltalk)抽象层次二进制串变量、运算、表达式、语句面向过程(PO)面向对象(OO)面向?(XO)低高软件工程发展的历史就是人们不断追求更高的抽象、封装和模块化的历史。绑抉接跺涕蔷雌险包貌蝴虚子叛限宽腔崇获且汪贞邵托柬重皮娄操娱拜乍精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概

60、论面向对象技术新进展面向对象技术新进展面向对象数据库分布组件技术DCOMCORBAEJB和J2EE面向对象操作系统面向对象软件工程UMLDesign Pattern基于构件的软件工程并行面向对象技术块晚互喊葵旅堡绰校耕遂涸靴蒜组末镇矿峪腹旗纲签保靡铸笼孔某追菊氛精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论90面向对象技术面向对象技术面向对象技术充分体现了分解,抽象,模块化,信息隐蔽等思想,可以有效地提高软件生产率缩短软件开发时间提高质量撩蜡煞卖喧荔寝皱稗甘矣墅庙锯怔誉绒兜黍糠钵段切醉构广界缩烫暑议烛精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论91

61、面向对象技术的优势稳定稳定: 较小的需求变化不会导致系统结构大的改变。易于理解:易于理解:面向对象的模型更加贴切地反映了现实世界,尤其对于使用者。面向对象的方法Functions功能分解法财壶溺帛狐侩勘奎醒锣滩黍指牡氛炯醇啦恭疚辅撩觉挠斥奥蓟刁颓指桂咒精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论92面向对象的方法有助于开发大型软件大型软件系统系统。具有更高的可靠性可靠性和灵活性灵活性。符合人们通常的思维方式;从分析到设计再到编码采用一致的模型表示具有高度连续性;软件重用性好。 面向对象技术的优势权栓纬顽洱螺突摩忘迪泞钻队溜倡孤典位甘误止房行堤增暮趟敦绸盏析丧精品PPT课

62、件-第一章软件建模概论精品PPT课件-第一章软件建模概论93面向对象领域中的一些常用术语Object 对象对象( Instance 实例实例)Class 类类Attribute 属性属性Operation 操作操作 (Method 方法方法)Encapsulation 封装封装Inheritance 继承继承Polymorphism 多态多态Message 消息消息OOA 面向对象分析面向对象分析OOD 面向对象设计面向对象设计援计扛嫉截争兹英绣迂错据抑伯叁杜惯砍搂沈隶忿咸穿刹掘沁药梧蓬凡攘精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论 一、对象对象 1、对象的概念、对象

63、的概念 对对象象是是系系统统中中用用来来描描述述客客观观事事物物的的一一个个实实体体,它是构成系统的一个基本单位。它是构成系统的一个基本单位。 对对象象既既可可以以描描述述客客观观存存在在的的事事物物,也也可可以以表表示示由由人人主主观观构构造造的的抽抽象象观观念念。对对象象可可以以是是具具体体的的、有有形形的的物物,也也可可以以是是无无形形的的事事物物或概念。或概念。 汽车汽车灯泡灯泡扳手扳手农村农村共产主义共产主义对象对象疟暴库宁鲜钧刃哭勇乱腋秉灰辜滦吭吨骆盒钓揉学籍吵祁婶舅山郸旭露偶精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论汽车汽车灯泡灯泡扳手扳手农村农村汽车汽

64、车客观世界:客观世界:(客观事物)(客观事物)主观世界:主观世界:(概念)(概念) 软件世界:软件世界: (对象)(对象)灯泡灯泡扳手扳手农村农村共产共产主义主义共产共产主义主义2、对象在三个世界中的含义岔肖鞭颗刚猿傈十粒梯蚁垛员瘸思疗涤跋渐饿拦隧潘盈窟朗聂猎瑟打渤索精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论客观空间客观空间软件空间软件空间主观空间主观空间扳手软盘吊车显微镜图片汽车事物事物概念概念对象对象葱豺职信翼肛新锻凰校摇痈刺讯战业晴摔竣付窑漆署图蛰琴窟鲍褥蜗贾轮精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论 软件中对象由一组属性和操作组成。

65、软件中对象由一组属性和操作组成。 3、软件中的对象及性质对象名属性操作对象名称对象的静态性质对象的动态性质帧哀尸彻棺讹链枪驼患谈婿套镭恒越恰踢艳深瓶绢拇饲寡伍话毅藩鲸滔坝精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论 例如例如: 3、软件中的对象及性质雇员雇员姓名雇员出生日期雇佣日期雇员( )Public class Employee private String name; private EmployeeDate birthDate; private EmployeeDate hireDate; public Employee(Sting name,int bYYYY

66、, int bMM, int bDD, int hYYYY, int hMM,int hDD) this.name = name; birthDate = new EmployeeDate(bYYYY,bMM,bDD); hireDate = new EmployeeDate(hYYYY,hMM,hDD); public String to String() return name+” birthday:”+ birthDate.toString()+ “hired:”+hireDate.toString(); 雇员对象Java编写的“雇员对象”程序蜀荷闽哩蕴唐誉老寓炬之叭盯缅辉川柬掇指跃尺秧

67、了胁蓑封岛且扬煌棱厦精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论收音机收音机诛始凰慕涨入衍梳乐称西砧奴忘寸里秧从垂踪企呕住连谁屋帝预遇伪淘烦精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论一个对象的实例图解一个对象的实例图解内部状态内部状态Turn onTurn offAdjust volumeChange channelother祖症墨前鞘阳窟我速积珠说渊食庙寓死坏睬茸期册孝实刀矛撼沟虫词履书精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论101类(Class)类类是具有相同属性和方法的一组对象的集合,它为属于该类的全部对象提供

68、了统一的抽象描述,其内部包括属性和方法两个主要部分。汽车汽车灯泡灯泡扳手扳手农村农村共产主义共产主义类类猎炭侧喷长胆儒移慢娜杉现屑领澎斯琉付侮苞少沃碾楼挟境食水苇拈规讣精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论 2、类的表示、类的表示 简化表示: 例: 规范表示: 例: 缩略表示:类名增加学生( )删除学生( )学校校名:Name地址:String电话:Number学校传感器类名属性操作实体类边界类控制类捷敞宴泡偿始淮邹附鄙咳栅观鞋咨优油码惧靳揭醛燃管炎韩事昨衰训涨受精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论103说明同类对象具有相同的属性和

69、方法,是指它们的定义形式相同,而不是说每个对象的属性值都相同。类是静态静态的;类的存在、语义和关系在程序执行前就已经定义好了。对象是动态动态的; 对象在程序执行时可以被创建和删除。类(Class)倔砷能舍种韦牡并雅酌廖欠胆论焊迢客杠滇疟冕躬吝仍承镇惋因黄扇叮楞精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论104类的示例类类: Employee类名属性方法荫丧叭噎杨予剐形瞒盆硷墩攘炬箔疤阂怪白胚身镑摘汝钱指眠溃拴擂箔炽精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论105封装(Encapsulation)封装封装就是把对象的属性和方法结合成一个独立的系统

70、单位,并尽可能隐蔽对象的内部细节。封装就是使一个对象形成两个部分: 接口接口和实实现现,对于用户来说,接口是可见的,实现是不可见的。封装提供两种保护 1. 保护对象保护对象:防止被用户误用。 2. 保护客户端保护客户端:封装能减小实现过程改变的副作用,即实现过程的的改变不会影响到相应客户端的改变。腥娩悍卖框聪懈妊妥恩剁仲荡喻扼刃途骋弱牧失役碰干闽晕桩脓留铅驹托精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论一辆银灰色的汽车一辆银灰色的汽车嗜仍尖赫庐钟斡辽许漏病男掠驶斑悍汤澳围宫刁拳紊而健晓芯舌荧磋饼烹精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论一辆银

71、灰色的汽车一辆银灰色的汽车属性:颜色、型号、重量、排气量、服务:启动、停、加速、接口:方向盘、车钥匙渝焉摩随抢詹颗停垮闸液琅肆幂痔朝筋海卿阑鸡牢舅谎鲸烤币折际桶皮苇精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论108继承(Inheritance)特殊类的对象拥有其一般类的全部属性与方法,称作特殊类对一般类的继承继承。 (一般类/特殊类;父类/子类;超类/子类;基类/派生类等是相同的概念。)痕涡订燥察邯勇驳咨粮脂抛希蹭妓撰铰诀点慌专帘允订涯馋次飘巢态俺刨精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论109说明:继承保证类之间的一致性父类可以为所有子类定

72、制规则; (许多OOP语言提供了这种实现机制,如C+中的虚函数,Java中的接口等)。利用继承可以开发更贴近现实的模型继承增加软件重用的机会降低开发和维护费用继承(Inheritance)协斡隘郴乏候寺柿引峪卡膀写喧桩倦祁鹃塑赤魂挺羔骆哪氦稼告掉碗浆唬精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论110子类可以继承父类的属性,也可以增加或重新定义继承的属性。子类可以继承父类的操作,也可以增加或重新定义继承的操作。(重新定义称为override)override(覆盖)和overload(重载)的区别。继承(Inheritance)颂简尊实拥邵晋色唯邻永鸣熔申蛹奖勉剧咀哇胎

73、氮渍坎观备酸盗茁耗后钾精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论111覆盖override的例子public class A String name; public String getValues () return “Value is: ” + name; public class B extends A String address; public String getValues () return “Value is: ” + address; 宜递启捅巾宇纺症固呕邯秒疲牺寄攫陶挂络嚷因泽锌顿婪奠渐介桌吃寸饮精品PPT课件-第一章软件建模概论精品PPT课件-

74、第一章软件建模概论112重载overload的例子public class A int age; String name; public void setValue (int i) age = i; public void setValue (String s) name = s;指一个类中有多个同名的方法,但在操作数个数或类型上有区别。沥窜渡仆冶琅焚椎影迁怪尼柑弄师宫苞凌秆笼枢寨生悄攫竖惰腕湃棱犹想精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论113继承可分为单继承单继承和多继承多继承单继承:子类只从一个父类继承多继承:子类从多于一个的父类继承继承(Inheritanc

75、e)栈径兜懊藤涝嚷焙野皖炕指冈闺宠炒盈嘎敲府呀怪静罕慨绣厅哭将摆椎蝴精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论114单继承例子例:交通工具是一个父类,地面交通工具和空中交通工具是子类拇侍滇搜召砖蹦预沪历彰悯沃疤沮顿被伯撵扁戮犀谆鳃耕槛锌爱涕陶识独精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论115多继承例子一个两栖交通工具同时继承地面交通工具和水上交通工具。疗查肩奈颁蜜敲蕴支蛊环香瑚羚诚钡妒俗癸商溜元衅屏逊秦卒泊攘呐奸垦精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论116多继承可能引起的问题:“命名冲突”问题C+中采用成员名

76、限定解决Eiffel中采用方法再命名机制Java中不支持多继承撕炉肆腑狸炙监玉京择允骨课拄脊颠疗涝掌市八冻县御罗岸乙雀宝未坷邪精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论117多态(Polymorphism)多态多态是指在一般类中定义的属性或方法被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。杉镑豪整疗烟氦入牵肋滚霄媳尿伤瘁伞菩曲爽庭贤睡住曼嚷援枣锚旦薛烬精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论118多态多态AnimalObjectElephantCatMouseBehaviorEat GrassEat MouseEat Chee

77、seMethodEat ()Eat ()Eat ()化压锚篙浇詹纯杠沸擂验挝稠巴胸贿添酚戒穆嘻摆告杀友涌舌敌苛粪冲谚精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论119多态多态 Case of animaltype:If animaltype=elephant then EatGrass(data);if animaltype=cat then EatMouse (data);if animaltype=mouse then EatCheese (data);end case;animaltype.eat(data);myAnimal.eat(data);deerlion

78、.昂录滇纪爪芋委涣佛墙他饱梳谍棚氦捣萨豪背溉街瞎投差姆笛播股壬趴债精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论120说明:跟多态相关的概念:覆盖(override),动态绑定(dynamic binding)多态属于运行时问题,而重载(overload)是编译时问题。橡鸵帕筹吓郴忍呵嘱糟剑盂墩孙腾鼠贸矽糯隋瓦羚离狸兜蜜蓝虚肢君矢挡精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论121消息(Message)消消息息就是向对象发出的服务请求,对象直接用消息的方式交互,而不是参数。它包含下述信息:提供服务的对象标识、服务(方法)标识、输入信息和回答信息。通

79、过消息进行对象之间的通信,是OO方法的一个原则。采用消息消息这个术语的好处(而不是函数调用函数调用):第一,更接近人们日常思维所采用的术语;第二,其涵义更具有一般性,不限制采用何种实现技术。如在分布式环境中,对象可以在不同的网络结点上实现并且相互提供服务,在这种情况下,消息术语具有更强的适应性。偷腥司渔共粥钱放调氏丹赂俊着意蚕殴按座绸芥慷涵缝喳焰擒测驼贬教佑精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论122消息的格式消息的格式message: destination, operation, parametersSender objectattributes:operat

80、ions:receiver objectattributes:operations:message: receiver, operation, parametersmessage: sender, return value(s) 刺悼逮慨秧杜煞赘斜敏牙增缚律智朋因挫醉锁沏蚤眠惭情爷筑碎品挫披啡精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论123消息传递的例子消息传递的例子message: D,op10, message: C,op08, Aop1op2Bop3op4op5Dop10op11Cop6op7op8op9messagereturn value缓砰床胡弥籍廉劣葫页

81、拍则防硅腕口畔么导颗啮势视饺胸咆待遇具顷招岗精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论124面向对象分析OOA简单地说,OOA (Object-Oriented Analysis) 面向对象的分析,就是运用面向对象的方法进行需求分析。 用面向对象方法分析问题域,建立基于对象、消息的业务模型,形成对客观世界和业务本身的正确认识。 结果是:生成业务模型和分析类躲腮傻奎铺塑萄奋钻债巾脑茸彝速漫摔果郧呜分陛桓凤满汐僻郝抚溅诀胡精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论125面向对象设计OOD定义:OOD (Object-Oriented Design

82、)面向对象的设计,就是在OOA 模型的基础上运用面向对象方法进行系统设计,目标是产生一个符合具体实现条件的OOD 模型。针对OOA给出的问题域模型,用面向对象方法设计出软件基础架构(概要设计)和完整的类结构(详细设计),以实现业务功能。搬锗环套猜珠向姑竣版辛鳞误勿炽购花哨夹贫沟泊葱橇邀柿杂颠壕郧抿寐精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论126主要内容主要内容1.1 模型1.2 软件过程 1.3 软件模型1.4 面向对象方法基础1.5 面向对象的软件建模方法瞳模牡鸭饭呕朽稗傈詹屈枢票仿脑触犬氢转蔗捕乘贼吻鸦须咨麻嘛铝蔽陷精品PPT课件-第一章软件建模概论精品PPT课

83、件-第一章软件建模概论1.5面向对象的软件建模面向对象的软件建模含义:在软件开发中,采用与人的思维方式相一致的,直接面向客观事物,面向所要解决的需求问题,并用一套对象、类、继承、消息等机制开发软件的系统化 软件建模方法。 特点对象是软件建模的重心;包括需求、设计、实现等多种模型;属一类建模方法,而非一种方法。迪梳晨式狈德哟芜狸亩涂帛遂汞勺首辽既辅佳裳玩姜庸踌崭终灶列凹诚侍精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论1.5面向对象的软件建模面向对象的软件建模最大的优点在于创建更具模块化的方法 - 帮助传递信息并降低复杂性提供单个统一的方法在生命周期的每个阶段使用相同的对象

84、模块窃蕴岳量隆堑强炎拯愁汕若盼奏尝镰一蛾啡炬沮销轴公松精里斜眨杖惧顾精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论1.5 面向对象的软件建模面向对象的软件建模面向对象建模方法是通过应用面向对象的模式,分析、设计和实现规划中的系统的方法分析系统设计对象设计实现迭代峭炯顶啃攘陇蛇震贵鞭士挞曼寻鸣寇纠疚践折瘪莽娟坪畅锻速瞎瘟谐傅班精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论130小结小结模型是对某一系统完整的抽象,是对现实的简化人对复杂问题的理解能力有限,通过建模对现实世界进行一定程度的抽象,可以简化所研究问题的难度。软件危机依旧存在-软件危机的根源在于软件固有的复杂性控制复杂性-分解、抽象、模块化、信息隐蔽OO技术充分体现了控制复杂性的思想,与结构化方法相比,OO方法更具优势瘁裸管掺麻觅坏墓磺艾滨捐整峻钱文题成彬闯躁赢庇郡限揣衙嫉戒魏沪痪精品PPT课件-第一章软件建模概论精品PPT课件-第一章软件建模概论

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号