欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    软件工程课件.ppt

    • 资源ID:1294107       资源大小:3.70MB        全文页数:366页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件工程课件.ppt

    软件工程,内容摘要,本书为配合国家技能型紧缺人才培养培训工程并根据计算机应用和软件专业领域技能型紧缺人才培养培训指导方案的要求而编写。 本书针对职业院校学生的特点,充分体现指导方案中素质为基础、能力为本位、需求为依据、就业为导向的基本原则,教学内容注重选择当前软件工程中的一些新理论、新方法与新技术,通过一个小型软件项目为案例贯穿全书,使学生在学完后能基本掌握软件工程的基本理论与方法在软件项目开发中的实际应用。其主要内容涉及软件工程中的软件策划、需求分析、软件设计、编码实现、软件测试及实施与维护等方面的内容,考虑职业院校学生的就业定位,重点侧重于详细设计、软件编码、软件测试、软件维护这几个方面的基本知识与技能。为保持教学内容的先进性同时便于对教学进行科学灵活的组织,对诸如UML方法、面向对象的分析、设计与编程、面向对象软件测试、CMM等也作了介绍。 本书可以作为职业院校计算机类专业的软件工程课程的教材或教学参考书,也可作为IT行业程序员、测试员、维护员等的培训教材或参考书。,主要内容,第1章 软件工程概述,第2章 系统策划,第3章 需求分析,第4章 软件设计,第5章 编码,第6章 软件测试,第7章 软件实施与维护,第8章 软件项目管理,第9章 软件过程管理,第一章 软件工程概述,本章主要内容,1.1 软件与软件工程,1.2 软件生存周期与开发模型,1.3 软件工程过程,1.4 软件开发工具简介,1.5 学习指南,11 软件及软件工程软件,软件的定义,在运行中能提供所希望的功能与性能的程序 使程序能够正确运行的数据及其结构描述软件研制过程和方法所用的文档,软件的特点,软件角色的双重性 软件不是传统意义上的被制造 软件不会“磨损”,但会退化 软件都是手工定制的 开发过程的复杂与费用的昂贵,11 软件及软件工程软件,软件的分类,11 软件及软件工程软件工程,软件危机,软件开发的生产率远远不能满足客观需要 开发的软件产品往往不能满足用户的实际需要 软件产品的质量低下且可维护性差 很难估计软件开发的进度计划与成本,软件神话,有了软件开发书籍,就可以解决软件开发中的一切问题进度滞后了?好,增加程序员只要程序正确,项目就成功,文档可有可无软件质量只能在正式投入运行后才知道,11 软件及软件工程软件工程,软件工程的定义,IEEE定义:软件工程是将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件。通俗地说,软件工程是指导软件开发和维护的一门工程学科。它采用工程的概念、原理、技术和方法,把经过时间检验而证明是正确的管理技术和当前能够得到的最好的技术方法结合起来,用于开发和维护软件。,11 软件及软件工程软件工程,软件工程层次化技术,软件工程三个要素:方法、工具、过程,11 软件及软件工程软件工程,软件工程的作用,【成功案例】美国联邦速递公司(FedEX)的管理信息系统 【失败案例】英国伦敦的急救服务管理信息系统,软件工程的基本原理,用分阶段的生存周期计划严格管理 坚持进行阶段评审 实行严格的产品控制 采用现代程序设计技术 结果应能清楚地审查 开发小组的人员应该少而精 承认不断改进软件工程实践的必要性,12 软件生存周期与开发模型生存周期,软件生存周期,人的生存周期,婴儿幼儿儿童少年青年中年老年死亡,软件的生存周期,软件定义,软件开发,软件支持,问题定义,可行性分析,需求分析,概要设计,详细设计,编 码,测 试,软件发布,软件运行,维护或退役,12 软件生存周期与开发模型生存周期,软件定义阶段,问题定义可行性分析立项或签订合同,软件开发阶段,需求分析软件设计编码与测试 发布或安装验收,软件开发阶段,软件的使用、运行软件维护,12 软件生存周期与开发模型开发模型,问题的提出软件工程需要解决什么问题?,软件开发模型,做什么软件?怎么做软件?软件如何适应变化?,软件开发过程概括,是软件工程思想的具体化它是跨越整个软件生存周期的各个阶段所需要的全部工作与任务的结构框架,12 软件生存周期与开发模型开发模型,瀑布模型线性顺序模型,可行性分析,需求分析,设 计,编 码,测 试,支 持,12 软件生存周期与开发模型开发模型,瀑布模型的特点:,瀑布模型的应用范围,阶段间具有顺序性和依赖性每个阶段必须完成规定的文档;每个阶段结束前完成文档审查,及早改正错误,但:开发过程一般不能逆转,否则代价太大。实际的项目开发很难严格按该模型进行。客户往往很难清楚地给出所有的需求,而该模型却要求如此。软件的实际情况必须到项目开发的后期客户才能看到,这要求客户有足够的耐心。,用户的需求非常清楚全面,且在开发过程中没有或很少变化 开发人员对软件的应用领域很熟悉。用户的使用环境非常稳定。开发工作对用户参与的要求很低,12 软件生存周期与开发模型开发模型,原型模型,用户测试运行原型,建造/修改 原型,听取用 户意见,12 软件生存周期与开发模型开发模型,原型模型的特点:,原型模型的应用范围,可以得到比较良好的需求定义,容易适应需求的变化。有利于开发与培训的同步。开发费用低、开发周期短、维护容易且对用户更友好。 客户与开发者对原型理解不同准确的原型设计比较困难不利于开发人员的创新,对所开发的领域比较熟悉而且有快速的原型开发工具项目招投标时,可以以原型模型作为软件的开发模型进行产品移植或升级时,或对已有产品原型进行客户化工作时,原型模型是非常适合的。,12 软件生存周期与开发模型开发模型,基于构件的开发模型,特点:,属于演化式开发或迭代式开发,其开发过程:客户的交流,获得问题的定义标识基本类计划与风险分析类的复用或重新开发构造系统用户评估,采用了先进的面向对象技术。 基于构件库的开发,这是软件复用的基础,开发速度快。 融合了螺旋模型特征支持软件开发的迭代方法,是一种演化型的开发技术。,13 软件工程过程,软件工程过程的概念,ISO9000,过程:软件工程的三要素之一从开发到维护软件相关产品所采取一系列管理活动。主要包括项目管理、配置管理、质量管理、文档管理等。,IS09001:设计、开发、生产、安装和服务的质量保证模式 IS09002:生产、安装和服务的质量保证模式 IS09003 :最终检验和试验的质量保证模式。,13 软件工程过程,CMM软件能力成熟度模型,CMM (Capability Maturity Model),CMM的级别,开发工具的作用与功能,14 软件开发工具简介CASE工具,计算机辅助软件工程,CASE,作用,认识与描述系统需求,保存与管理开发过程中的信息,代码的生成,文档的编制与生成,软件项目的管理,开发工具的分类,14 软件开发工具简介CASE工具,分类方法,按应用阶段划分,按功能划分,设计工具,分析工具,项目管理,软件配置,质量保证,分析设计,计划工具,界面开发,客户服务器,Web开发,IBM Rational工具,14 软件开发工具简介常用CASE工具,Rational公司是专门从事CASE工具研制与开发的软件公司,2003年被IBM公司收购。该公司所研发的Rational系列软件是完整的CASE集成工具,贯穿从需求分析到软件维护的整个软件生存周期。,需求分析与设计工具,产品主要构成,测试工具,软件配置管理工具,Rose,PurifyPlus Robot,ClearCase,北大青鸟工具,14 软件开发工具简介常用CASE工具,北大青鸟系列CASE工具北京北大青鸟软件有限公司开发研制的,在国内有较高的知名度,北京大学软件工程国家工程研究中心就设在该公司。,产品主要构成,微软版本管理器VSS,14 软件开发工具简介常用CASE工具,版本管理是软件配置管理中的核心工作,由Microsoft公司开发的Visual SourceSafe 6.0使用非常广泛而且很容易获得。,文件检入与检出,产品主要功能,版本控制,文件的拆分与共享,权限管理,本书案例介绍教师教学网络测评系统,15 学习指南学习案例,为实现教学质量的量化考核,借此评价教师的教学水平并有针对性的提高教学质量,某高校开发了基于校园网的教学质量网上测评系统四大功能模块数据采集模块,学生对一个学期中所学课程的各任课教师的教学水平及师德两个方面给予的百分制评价分值数据统计模块,根据教务处规定的统计方法统计出每位任课教师在一个学期中的教学水平及师德的最终测评得分。数据查询模块,查询全校任课教师的最终得分及名次,还能够查询各个班级的学生对任课教师的教学水平及师德的评分情况。辅助功能模块,包括基础数据的管理、测评类型的管理等。,本书案例介绍教师教学网络测评系统,15 学习指南学习案例,系统运行界面浏览器端:,本书案例介绍教师教学网络测评系统,15 学习指南学习案例,系统运行界面服务器端:,第二章系 统 策 划,这个项目是做还是不做呢?,还是先去做一下市场调研或与客户谈谈签约的事吧!,2.1可行性研究,2.2 软件项目计划,本章主 要内容,21可行性研究-问题的定义,问题定义,确定软件开发项目必须完成的目标 。其关键问题是:“要解决什么问题?”,含义,主要内容,问题的背景、总体要求与目标、类型范围、功能规模、实现目标的方案、开发的条件、环境要求等,问题定义报告应包括内容,项目名称,使用方,对问题的概括定义,项目的目标,项目的规模,21可行性研究-问题的定义,案例分析,某校在校生近5000人,每学期在期中都要进行一次对教师的教学质量测评,要求所有学生都要参加。以前测评的方式都是手工操作,由教务处发出书面问卷调查表,每个同学填写完成后交回到教务处。然后教务处再使用手工的方法对问卷进行统计汇总,最后得出学生对每一位教师的总体评价。这种方法一方面浪费了大量的财力、人力,另一方面统计繁琐且容易出错。考虑到现在学校校园网已经建成,为节省开支,提高效率,学校决定委托计算机系开发一套基于校园网的教师教学网络测评系统,1、问题的提出,21可行性研究-问题的定义,案例分析,2、问题分析,系统分析人员经过与学校教务部门及各相关单位进行充分的调查后,了解了该项目的一些背景资料与基本要求。教师测评分两大部分,一是师德测评;二是教学质量测评。师德测评有4项指标,教学质量测评有14项指标。系统要实现的目标是: 所有学生在指定时间内在指定机房的计算机上完成对任课教师的测评打分,测评过程全部采用选择的方法,不需要输入任何信息 所有的测评数据保存在学校中心服务器上,有较为严格的安全措施 系统能对所有的数据进行统计汇总,得出每一位教师的测评结果,并能进行排序、输出。 系统开发的大体费用在1.2万元左右,开发周期大约6个人月。,21可行性研究-问题的定义,案例分析,3、系统定义报告,根据以上分析,形成如下的系统定义报告。,案例文档之一系统定义报告用户单位:XX学校教务处 负责人:XXX开发单位:XX学校计算机系 分析员:XXX项目名称:基于校园网的教学质量测评系统问题概述:教师教学质量测评每学期必须进行一次,原有的手工方法存在资源浪费、效率极低、结果不准确等问题。(其它的相关说明)项目目标:开发一个效率高且相对通用的教师教学网络测评系统。项目规模:开发成本大约1.2万元,开发周期约6个人月。可行性研究:建议进行一周,费用不超过500元。,21可行性研究-可行性研究的任务与步骤,一、可行性研究的任务,2、经济可行性,3、社会因素的考虑,分析成本收益与短期效益长远利益这两个方面 。要作出投资的估算和系统投入运行后可能获得的经济效益或可节约的费用估算 。,分析利用现有的技术能否实现,能否解决系统中的技术难题,所开发的系统能否达到所要求的功能和性能,系统对技术人员的要求,现有的技术人员能否胜任,开发所需要的软件与硬件能否如期得到等,1、技术可行性,主要考虑的是市场、政策与法律方面的问题,21可行性研究-可行性研究的任务与步骤,二、可行性研究的步骤,1、重新检查系统定义报告中相关内容 ,明确对目标系统限制与约束。,2、研究目前正在使用的系统,找出其基本功能和所需要的基本信息,绘制系统流程图。,3、设想新系统高层逻辑模型,分析归纳现有系统,最后建造新物理系统。,4、导出各种实现方案并对方案进行评价,5、推荐可行性方案,6、编写可行性研究报告,21可行性研究-技术可行性分析,技术可行性分析 的三个方面,1、在给定的时间内能否实现系统定义中的功能 。,2、软件的质量如何? 如实时性、正确性和精确性。,3、软件的生产率如何? 高生产率意味着利润。,做得了吗?做得好吗?做得快吗?,先分析,21可行性研究-技术可行性分析,在进行技术可行性分析时,一个重要的内容是对现有系统与拟开发的系统绘制系统流程图。系统流程图中所用的符号与程序设计语言中的程序流程图所用的符号类似。但系统流程图与程序流程图不同,系统流程图表达的是信息在系统中各个部件之间的流动情况,而程序流程图表达的是程序对信息进行加工处理的控制过程,系统流程图,21可行性研究-技术可行性分析,系统流程图中的常用符号,系统流程图中的常用符号,21可行性研究-技术可行性分析,教师教学网络测评系统流程图,21可行性研究-技术可行性分析,21可行性研究-经济可行性分析,经济可行性分析,1. 成本分析,2. 收益分析,办公成本,人员成本,资源成本,其它成本,货币的时间价值,纯收入,如果从经济可行性的角度分析得出纯收入小于或等于零的结论,则这个项目是不能投资的,最难准确核算,纯收入=总收入折现-总成本折现,P=F(1+i)-n 称为折现,21可行性研究-经济可行性分析,常用成本估算策略,1、在项目后期进行估算,即完全精确核算,2、基于已经完成的类似项目进行估算,3、使用相对简单的分解技术以生成项目成本及工作量的估算,4、使用一个或多个经验模型进行软件成本及工作量的估算估算,不能选择,比较切实可行,两种常用策略,21可行性研究-经济可行性分析,两种成本估算方法,代码行法(LOC),功能点法(FP),每行代码的平均成本乘以程序的行数,采用软件所提供的功能来测量的,21可行性研究-案例分析 (可行性研究),可行性研究最终生成可行性研究报告,案例文档之二可行性研究报告1引言1.1编写目的本报告分析了教师教学网络测评系统开发的可行性,请院领导审阅并对是否进行该系统的开发做出批示。1.2项目背景建议进行教师教学网络测评系统的开发。(背景介绍略)我院计算机系具备进行该软件系统开发的能力并承担本软件系统的开发与维护工作。该软件系统由我院教务处使用。,详见教材,22软件项目计划,系统定义报告,用户的需求报告,可行性研究报告,项目开发计划及相关的一些专题计划,如:测试计划、质量保证计划、配置管理计划、人员培训计划、系统安装计划,22软件项目计划 -软件项目计划的主要内容制订方法,软件项目计划,资源计划,软件估算计划,进度安排计划,人力资源,可复用的构件,开发环境,高层管理人员,项目经理,开发人员,客户、最终用户,软件/硬件环境,采用任务分解技术对软件的规模与工作量进行估算,并将总的开发费用分配到开发的各个阶段中,软件规模,工作量,进度,成本,进度安排要确定最终的软件交付日期,并在限定的日期内安排和分配工作量;或者在合理复用各种资源分配工作量的基础上确定最终交付日期。,其它专题计划,如质量保证计划、配置管理计划、里程碑及评审计划、测试计划等,22软件项目计划 -案例分析(软件项目开发计划书),案例文档之三软件项目开发计划书1引言1.1编写目的为保证教师教学网络测评系统的开发成功,按期交付使用,特编写项目开发计划,请参与开发的人员遵照执行。1.2项目背景(略)1.3定义教师教学网络测评系统以下简称测评系统。 。,详见教材,第三章 需求分析,本章主要内容,3.1 需求分析概述,3.2 结构化分析,3.3 面向对象分析,3.4 UML概述,31 需求分析概述-需求分析的重要性,需求分析是发现、求精、建模、规格说明和复审的过程;需求分析是系统设计的基础,关系到程的成败和软件产品的质量。,重要性,需求获取困难,原因有三,一是用户需求的动态性(不稳定性),二是需求的模糊性(不准确性),三是需求必须得到用户的确认,否则毫无意义,31 需求分析概述需求分析的任务,1、确定对系统的综合要求: 系统界面要求、系统功能要求、系统性能要求、完全性可靠性保密性要求、系统运行要求、异常处理要求、将来可能提出的要求、分析系统的数据要求。 2、分析系统的数据要求 3、异出系统的逻辑模型 4、修正项目开发划 5、开发原型系统,需求分析任务,需求工程层次分解图,31 需求分析概述-需求分析的过程与方法,一、需求分析过程,需求获取,用户,概要信息,业务需求,功能需求,用户需求,非功能性需求,可行性报告,系统定义报告,分析,调研,座谈法调查表法观察法,31 需求分析概述-需求分析的过程与方法,需求分析,获取数据,目标逻辑模型,需求获取,从数据流和数据结构出发,找出系统各元素之间的联系、接口特征及设计限制、能否满足功能需求,31 需求分析概述-需求分析的过程与方法,需求规格说明书,编写,目标系统的基本描述系统各项需求系统限制及条件系统数据定义 ,需求分析结果,需求文档编写,31 需求分析概述-需求分析的过程与方法,评审、验证的四个方面,一致性,完整性,现实性,有效性,所有需求必须一致,不能前、后和相互矛盾,说明书应包括用户需求的每一方面,在现有基础上可实现,必须证明需求有效,能解决用户提出的问题,需求评审与确认,31 需求分析概述-需求分析的过程与方法,31 需求分析概述-需求分析的过程与方法,二、需求分析的方法,分析方法,结构化分析方法,面向对象的分析方法,面向数据的方法,以数据流为中心 。其核心概念包括:进程、数据流、数据存储、外部实体、数据组和数据元素。有代表性的模拟工具有:数据流图、数据字典、原始进程规格说明。,面向对象分析以对象及其服务作为建模标准,比较自然,对象也具有相对的稳定性。主要模拟的元素有:对象、类、属性、关系、方法、消息传递、用例等。其主要原理包括分类、继承、层次、信息隐藏、汇集关系等。,基本思想,自顶向下逐层分解,结构化分析(Structured Analysis),它是一种面向数据流的需求分析方法,适用分析大型数据处理系统,是一种简单、实用的方法。,32 结构化分析,问题域,问题,行为(功能),对应于软件子系统,对应于子软件的软构件,对应于软件子系统,32 结构化分析,自顶向下需求分析模型图,S = D1,D2,D3, Dn ,Di = P1,P2,P3, Pm ,Pj = F1,F2,F3, Fk ,概念,是描述数据信息的集合,是对系统中所有数据元素定义的集合。,包含信息,数据、控制项、数据存储或外部实体的主要名称和别名,使用数据和对象的列表、使用对象的方式,描述数据或控制内容的符号,关于数据类型、预置值、限制等其他补充信息,32 结构化分析-数据字典,一、定义,32 结构化分析-数据字典,二、数据项的定义,数据字典符号,三、数据字典举例,教师测评系统中,数据字内部分内容,测评子项得分=测评子项编号+子项得分学生评测数据=序号+教师姓名+所任课程+测评子项得分以测评子项得分为单位的评测数据记录=学期+被评对象编号+测评类型编号+评测者区别编号+测评子项名称+测评子项所得分值以测评类型得分为单位的评测数据记录=学期+被评对象编号+测评类型编号+评测者区别编号+本测评类型所得分值被评对象各测评类型的得分记录=学期+被评对象编号+测评类型编号+测评类型得分+本测评类型占总分的比率,32 结构化分析-数据字典,定义,数据流,变换数据的处理,数据存储,数据的源/宿,32 结构化分析-数据流图,数据流图(DFD)是一种图形化技术,它描绘信息和数据从输入到输出的过程中所经受的变换。,符号,数据流图说明:描绘“做什么”,不考虑“怎么做”,箭头:数据流图和程序图中用箭头表示的控制流有本质不同,不能混淆。在数据流图中应该描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件。处理:处理并不一定是一个程序。一个处理框可以代表一系列程序、单个程序或者程序的一个模块,也可代表一个人工处理过程,如用户目视检查数据正确性。 数据存储:一个数据存储并不等同于一个文件,它可以表示一个文件、文件的一部分、数据库的元素或记录的一部分等;数据可以存储在磁盘、磁带、磁鼓、主存、微缩胶片、穿孔卡片及其他任何介质上(包括人脑)。 数据存储和数据流都是数据,仅仅所处的状态不同。数据存储是处于静止状态的数据,数据流是处于运动中的数据。,32 结构化分析-数据流图,32 结构化分析-数据流图,案例,状态转换图简称状态图,描述的是系统的状态及引系统状态转换的事件,可用来表示系统的行为。状态图指出了作为特定事件的结果将执行哪些动作(如处理数据)。所以说,状态图提供了行为建模机制。,表示从一个状态到另一个状态的转换,箭头的方向表示转换的方向。,表示状态。,定义,符号,状态图示例,32 结构化分析-状态转换图,软件需求规格说明阐述一个软件系统必须提供的功能和性能以及它所要考虑的限制条件,它不仅是系统测试和用户文档的基础,也是所有子系列项目规划、设计和编码的基础。它应该尽可能完整地描述系统预期的外部行为和用户可视化行为。除了设计和实现上的限制,软件需求规格说明不应该包括设计、构造、测试或工程管理的细节。,说明,格式,见教材,32 结构化分析-需求规格说明书,33面向对象的分析,面向对象分析方法的核心是利用面向对象的概念和方法为软件需求建造模型。它包含面向对象的图形语言机制以及用于指导需求分析的面向对象的方法学。 本节主要介绍面向对象的概念、面向对象方法及面向对象分析过程。,33面向对象的需求分析-面向对象的概念,面向对象对象分类继承通信,对象,对象是现实世界中个体或事物的抽象表示,它封装了特殊的属性(数据)和行为方法。,例如,大型客机可视为对象,它具有位置、速度、颜色、容量等属性,对于该对象可施行起飞、降落、加速、维修等操作,这些操作将或多或少地改变飞机的属性值(状态)。,类,类是具有相同属性和操作的一组相似对象的抽象,例如,飞行器类是所有能够飞行的器械的抽象(如各种飞机、航天器等),它可以包含位置、速度、颜色等属性,同时也具有起飞、降落、加速等操作。显然类是一个支持继承的抽象数据类型,而对象就是类的实例。,33面向对象的需求分析-面向对象的概念,实例,是由某个特定的类所描述的一个具体的对象,例如,圆具有半径和圆心等属性,它是一个抽象类,可用circle类来定义,有许多不同半径和不同圆心的具体的圆,它们是类的一个个实例。,33面向对象的需求分析-面向对象的概念,属性,是类或对象中所定义的数据,它是描述客观世界实体静态特征的数据项。当类被实例化而形成具体的对象后,它不仅包含类所具有的一些属性,而且还有自己所特有的属性值,例如,Circle类中定义的代表圆心坐标、半径、颜色等的数据成员,就是圆类所具有的属性,当实例一个具体的圆后,其属性也必然存在,还可能增加一些特殊的属性。,33面向对象的需求分析-面向对象的概念,方法,方法是对象所能执行的操作,也就是类中所定义的服务。方法描述了对象执行操作的算法,响应消息的方法,在C+语言中把方法称为成员函数。例如在圆的对象中可以定义一个方法GetColor(),用来取得圆的颜色。,33面向对象的需求分析-面向对象的概念,消息,就是要求某个对象执行在定义它的那个类中所定义的某个操作的规格说明。通常,一个消息由以下三部分组成:接收消息的对象;消息选择符即消息名;零个或多个变元。,例如,MyCircle是一个半径4cm、圆心位于(100,200)的Circle类,也就是一个实例,当要求它以绿颜色在屏幕上显示自己时,在C+语言中应该向它发下列消息:MyCircle.Show(GREEN);其中,MyCircle是接受消息的对象名,Show是消息选择符(即消息名),圆括号内的GREEN 是消息的变元。当Mycircle接收到这个消息后,将执行在Circle类中所定义的Show操作。,33面向对象的需求分析-面向对象的概念,封装,所谓封装就是把某个事物包起来,使外界不知道该事物的具体内容。在面向对象的程序中,把数据和实现操作的代码集中起来放在对象内部。,* 数据与方法代码的内部细节对外界隐藏,这样对其的任何改变可能引起的副作用只能作用在内部,不会传播。 * 封装是软件复用的基础。 *被封装对象间的接口大大地简化了,对象之间通过消息联系它时不再关心对象内部的数据结构,系统的耦合度降低了。,含义,优点,33面向对象的需求分析-面向对象的概念,继承,含义,分类,类之间的继承关系是现实世界中遗传关系的直接模拟,它表示类之间的内在联系以及对属性和操作的共享,即子类可沿用父类(被继承)的某些特征。当然也可以具有自己独有的属性和操作。,单重继承,多重继承,子类仅从一个父类继承属性和行为,而且子类可以覆盖父类的部分属性和方法,子类可从多个父类继承属性和方法,33面向对象的需求分析-面向对象的概念,类继承实例,汽车是抽象层次较高的概念,在汽车类的基础上可以分出轿车类与货车类等,如果再细分,还可在轿车类的基础上分出商用轿车与家用轿车等。由于商用轿车与家用轿车作为轿车在绝大多数的属性和行为上是一致的,可以把轿车类看成是家用轿车的父类,而家用轿车这个子类继承了父类所拥有的属性与行为,并在父类的基础上加入了特殊化的属性与行为而形成了新的类。,在类的层次结构中,相对上层的是超类(superclass),相对下层的是子类(subclass),33面向对象的需求分析-面向对象的概念,33面向对象的需求分析-面向对象方法简介,面向对象方法支持三种基本的活动,识别对象和类描述对象和类之间的关系通过描述每个类的功能定义对象的行为。,面向对象方法,Booch方法 :提出面象对象的软件工程的概念OMT方法 :提出面象对象的建模技术方法OOSE方法 :用例贯穿于软件整个开发过程,UML,在Booch方法、OMT方法和OOSE方法的基础上推出了统一的建模语言(UML),1997年被国际对象管理组织(OMG)确定为标准的建模语言,33面向对象的需求分析-面向对象分析过程,面向对象方法实际上是一整套的软件开发方法,它包括面向对象的分析OOA、面向对象的设计OOD、面向对象的编程OOP、面向对象的测试OOT等,可以看出面向对象方法可以贯穿软件开发的整个过程。 OOA方法的关键,是识别问题域内的对象,并分析它们相互间的关系,最终建立起问题域的简洁、精确、可理解的正确模型。这是面向对象分析的首要任务 在实际工作中,建模的步骤并不一定严格按照前面讲述的次序进行,OOA分析过程,分析用户需求,识别类与对象,确定对象的内部特征,识别对象之间的关系,定义主题词,系统分析员应该深入地理解用户需求,抽象出目标系统的本质属性,并用模型准确表示来 ;另外要向领域专家学习。,确定问题域中的类和对象,确定对象的属性的操作,分类关系(一般/特殊)、组成关系(整体/部分),还有反映对象属性之间联系的实例连接、反映对象行为之间依赖关系的消息等,概念上把大型的、复杂的系统包含的内容分解成若干个范畴,33面向对象的需求分析-面向对象分析过程,34 UML概述,1997年UML1.1被对象管理组织OMG确定为标准建模语言是软件工程领域最重要的、具有划时代重大意义的事件。 UML是一种定义良好、易于表达、功能强大且普遍适用的标准的图形化建模语言,用它可以简明、准确地为目标系统建立模型 。它融入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。,34 UML概述-UML的结构,一、UML中的基本构造块UML建模的积木块,构成UML模型的基本构造块有三种积木元素或积木组合体,即:,反应的是类与类之间联系的方法与性质,关系有依赖、关联、继承、实现和聚合5种,图是软件系统在不同角度上的投影,它是一组元素的表示,包含了事物及其关系的组合 。UML有九种图,事物是UML模型中的静态元素,UML中共有11种不同的事物,事物,关系,图,UML中的“事物”,34 UML概述-UML的结构,二、UML中的规则UML建模的“粘合剂”,UML中的规则是为了将UML中的构造块有机地组装在一起形成一个结构良好的模型而对事物进行描述的语义规则。,5种规则,1、为事物、关系命名的命名规则2、给一个名字以特定含义的范围规则3、使名字可见或如何使用的可见性规则4、描述事件正确、一致地相互联系的完整性规则5、描述运行或模拟动态模型含义的执行规则,34 UML概述-UML的结构,三、应用于UML的通用机制UML模型的图纸说明,为了对UML模型进行进一步的说明,同时增强其表达能力,UML提供了4种在整个语言中可以一致应用的“通用机制”,可以认为是对UML模型的图纸说明,四种机制,规格说明,修饰,通用划分,扩展机制,UML图形每个部分后面的语法语义描述,UML表示法中每个元素都有一个基本符号,UML构造块有两种划分,即类与对象、接口与实现,提高UML语言表达能力,它包含构造型、标记值和约束等3种类型,34 UML概述-UML的结构,34 UML概述-UML的图,UML主要用图来表达模型的内容,而图又由代表模型元素的图形符号组成。学会使用UML的图,是学习、使用统一建模语言UML的关键。 UML的重要内容可以由下列五类图(共9种图形),UML图,用例图(Use-case diagram),静态图 (Static diagram),行为图(Behavior diagram),交互图(Interactive diagram),实现图 ( Implementation diagram ),34 UML概述-UML的应用,UML的目标是用面向对象的图形方式来描述任何类型的系统,因此,具有很宽的应用领域。其中最常用的是建立软件系统模型,但是它同样也可以用于描述非计算机软件的其他系统,如机械系统、商业系统、企业机构或业务过程、处理复杂数据的信息系统、具有实时要求的工业系统或工业过程等。总之,UML是一个通用的标准建模语言,可以为任何具有静态结构和动态行为的系统建立模型。,UML适用于系统开发全过程,需求分析,分析,设计,编码,测试,捕获用户的需求、用例建模,用UML的逻辑视图和动态视图来描述问题域中的基本概念(例如抽象、类和对象等)和机制 。类图描述系统的静态结构,合作图、顺序图、活动图和状态图描述系统的动态行为。,把分析阶段的结果扩展成技术解决方案,加入新的类来定义软件系统的技术方案细节。设计阶段用和分析阶段类似的方式使用UML。,这个阶段的任务是把来自设计阶段的类转换成某种面对象程序语言的代码(如VB、C+、Java等),UML模型可作为测试阶段的依据 。单元测试使用类图和类规格说明;集成测试使用构件图和合作图;系统测试使用用例图来验证系统的行为,34 UML概述-UML的应用,一、UML的应用领域,二、UML的建模机制,UML9个模型,UML9种图,UML5个视图,业务模型、领域模型、用例模型、分析模型、设计模型、过程模型、部署模型、实现模型、测试模型,用例视图、设计视图、进程视图、实现视图、实施视图,用例图 、静态图(包括类图、对象图和包图)、行为图(包括状态图和活动图) 、交互图 (包括顺序图和协作图 )、实现图 (构件图和配置图 ),34 UML概述-UML的应用,静态建模,动态建模,反映的是目标系统的静态数据 ,用例图、类图、对象图、包、构件图、配置图等是静态建模机制,其中尤以用例图和类图最为重要。,强调的是系统的行为,动态建模所建立的模型或者可以执行,或者表示执行时的时序状态或交互关系。它包括状态图、活动图、顺序图和合作图等四个图形,是标准建模语言UML的动态建模机制。,UML建模,34 UML概述-UML的应用,在UML中可以通过用例图来构造目标系统的用例模型,它通过用例来捕获用户需求,通过用例建模,描述对系统感兴趣的外部角色及其对系统(用例)的功能要求。它从系统外部观察系统,而不涉及到技术上如何做这些事。,34 UML概述-UML中的需求分析(用例图的创建 ),一、用例模型(Use case model),描述的是外部执行者(Actor)所理解的系统功能。用例模型用于需求分析阶段 。,在UML中,一个用例模型由若干个用例图描述,用例图的主要元素是用例和执行者。,用例模型是开发者和用户对需求规格达成的共识,用例模型,描述了待开发系统的功能需求;它将系统看作黑盒,从外部执行者的角度来理解系统;它驱动了需求分析之后各阶段的开发工作,影响开发工作的各个阶段和 UML 的各个模型。,用例模型功能,34 UML概述-UML中的需求分析(用例图的创建 ),二、用例(use case),一个用例是用户与计算机之间的一次典型交互过程 。在UML中,用例表示为一个椭圆,含义,1、 用例捕获某些用户可见的需求,实现一个具体的用户目标。 2、 用例由执行者激活,并提供确切的值给执行者。 3、用例可大可小,但它必须是对一个具体的用户目标实现的完整描述。,特点,34 UML概述-UML中的需求分析(用例图的创建 ),举例,教师测评系统用例图,以测评系统为例,“一个学生测评某位老师”和“管理员进行测评数据处理”便是两个典型的用例,34 UML概述-UML中的需求分析(用例图的创建 ),三、执行者(Actor),含义,执行者是指用户在系统中所扮演的角色。其图形化的表示是一个小人。,通信联系,不带箭头的线段将执行者与用例连接到一起,表示两者之间交换信息,注意,尽管执行者在用例图中是用类似人的图形来表示的,但执行者未必是人 。,意义,面对一个大系统,要列出用例清单常常是十分困难。这时可先列出执行者清单,再对每个执行者列出它的用例,问题就会变得容易很多,34 UML概述-UML中的需求分析(用例图的创建 ),四、使用和扩展(Use and Extend),扩展关系,当一个用例使用另一个用例时,这两个用例之间就构成了使用关系,当一个用例与另一个用例相似,但所做的动作多一些,就可以用到扩展关系,使用关系,说明,使用和扩展是两种不同形式的继承关系,34 UML概述-UML中的需求分析(用例图的创建 ),举例,例中学位课程的学习包括课程设计,因此构成了使用关系;学位课程学习比专业课程学习有更多的要求,因此构成了扩展关系。,34 UML概述-UML中的需求分析(用例图的创建 ),五、用例模型的获取,步骤,获取执行者,1、使用系统的主要功能(主要使用者)。 l2、谁需要系统支持他们的日常工作。 l3、 谁来维护、管理使系统正常工作(辅助使用者)。 4、系统需要操纵哪些硬件。 5、 系统需要与哪些其它系统交互,包含其它计算机系统和其它应用程序。,获取用例,l 执行者要求系统提供哪些功能(执行者需要做什么)? l 执行者需要读、产生、删除、修改或存储的信息有哪些类型。 l 必须提醒执行者的系统事件有哪些?或者执行者必须提醒系统的事件有哪些?怎样把这些事件表示成用例中的功能? l 为了完整地描述用例,还需要知道执行者的某些典型功能能否被系统自动实现? l 系统需要何种输入输出?输入从何处来?输出到何处? 当前运行系统(也许是一些手工操作而不是计算机系统)的主要问题?,34 UML概述-UML中的需求分析(用例图的创建 ),举例,教师测评系统用例模型,34 UML概述-UML中的需求分析(用例图的创建 ),第四章 软件设计,41软件设计基本概念,软件设计工作内容,将软件需求转化为软件体系结构,确定系统级接口、全局数据结构或数据库模式。,确立每个模块的实现算法、局部数据结构,用适当方法表示算法和数据结构的细节。,41软件设计基本概念,软件模块定义,整个软件被划分成若干单独命名和可编址的部分,称之为模块。,模块的基本属性,模块实现什么功能,模块的内部实现逻辑,该模块使用时的环境和条件,41软件设计基本概念,模块划分的原则,划分模块的重要目标是提高模块的独立性。度量模块独立性的两个准则是模块间的内聚性和耦合性。好的软件结构应该具有高内聚、低耦合的模块化结构。,内聚性,耦合性,内聚性是一个模块内部各

    注意事项

    本文(软件工程课件.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开