信息系统开发的方法.pptx_第1页
信息系统开发的方法.pptx_第2页
信息系统开发的方法.pptx_第3页
信息系统开发的方法.pptx_第4页
信息系统开发的方法.pptx_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

第3章 信息系统开发的方法,结构化方法 快速原型化方法 面向对象方法 敏捷方法 面向方面方法,1,信息系统开发过程是在信息系统规划的基础上,研制信息系统的全过程。,2,信息系统生存周期(Information System Life Cycle)是指从提出信息系统建设的设想开始,历经规划,开发,演化等过程,一直到被其它信息系统所替代的全过程。,3,需求分析,系统设计,系统实现,系统测试,信息系统开发的一般阶段,4,3.1 结构化方法,结构化分析,结构化设计,结构化编程,5,6,基本策略是跟踪数据流,即研究问题域中数据如何流动以及在各个环节上进行何种处理,从而发现数据流和加工。 问题域被映射为数据流图(DFD),并用处理说明和数据字典进行详细说明。,结构化分析法,结构化方法以瀑布模型为基础,7,结构化方法的优缺点,顺序性 推迟实现 良好的文档支持,缺少对需求变化的应对 分析与设计之间容易产生不一致,优势,缺点,8,3.3 面向对象的方法,面向对象分析,面向对象设计,面向对象编程,9,面向对象的主要概念,类,对象,继承,封装,多态,消息,10,类的标识,类图显示了系统的静态结构,表示了不同的实体(人、事物和数据)是如何彼此相关联起来。,11,12,类,属性,操作,对象标识,类,一般类,特殊类,抽象,13,14,继承:,继承意味着自动地拥有, 子类从父类中继承属性和操作,根据需要添加自己的属性和方法。,继承简化了人们对事物的认识和描述,非常有益于软件复用,是00技术提高软件开发效率的重要原因之一。,公司人员,姓名 身份证号码,股东,股份 ,职员,工资 ,例:,一般类与特殊类之间的关系叫泛化关系(继承关系),简称泛化。,继承关系的语义:“is a kind of”,15,多重继承:允许一个特殊类具有一个以上一般类的继承模式称作多重继承,例:,系统中消息的传递,在OO方法中,把向对象发出的操作请求称为消息。,16,消息的种类,17,18,聚合:,一个(较复杂的)对象由其他若干(较简单的)对象作为其构成部分,称较复杂的对象为聚集,称较简单的对象为成分,称这种关系为聚合。 这种关系的语义是“has a”或“is a part of”,聚合刻画了现实事物之间的构成关系,19,例:,汽 车,发动机,1,46,0.1,01,车 轮,公 司,0*,0*,法律顾问,20,关联:,类之间的静态联系称作关联。 在实例化后,由类产生对象,由关联产生连接对象的链。 链是关联的实例。 关联的表示符号也称作实例连接,教 师,学 生,0*,1,指导论文,教师为学生指导论文,例:,标识类的关系,使用频率:关联 聚合 继承 组合 耦合度:关联 聚合 继承 组合,21,22,(1)抽象,从事物中舍弃个别的非本质的特征,而抽取共同的、本质特征的做法叫抽象。 过程抽象、数据抽象 只考虑与问题域有关的角色 不同程度的抽象,3.3.2 面向对象中的技术要点,23,(2)封装:把对象的属性和操作结合成一个独立的系统单位,并尽可能隐蔽对象的内部细节。只是向外部提供接口,降低了对象间的耦合度。,由封装机制保证:数据不能被对象的使用者直接访问。只允许通过由对象提供的方法或代码访问数据。,24,(3)继承,25,(4)多态,多态是指同一个命名可具有不同的语义。OO方法中,在一般类中定义的属性或操作被特殊类继承之后,具有不同的数据类型或表现出不同的行为。 用途: 把具有共同基类的对象组成一组,并对它们进行一致的处理。 例如,多边形下的三角形、长方形、正多边形。,26,多态:,27,3.3.4 面向对象的建模,关系机制为我们提供了用同等(关联)和层次(泛化和聚合)结构组织类/对象的方法。这部分结构称作静态模型。 然而,一个应用/系统有了结构分析并不充分,还需要进行行为分析。行为分析是我们用来考察一个对象(类)是怎样提供它的操作的过程。 从分析的视点,有两种类型的行为: 静态的 动态的,28,静态行为,在静态行为中,实现操作的代码不被任何外部或内部的事件(动作)所影响。 示例:一个类中有一个“求平方根”的操作。如果对数码4执行“求平方根”操作,其结果总会是2。没有外部的或内部的动作能够引起该类的代码改变计算平方根的结果。,29,动态行为,在行为中发生这些变化的原因可能是由于对象存在很多不同的状态。随后,对象根据它的状态做出反映。称为有限状态机的机制会更好地捕获这样的方法。 例:灯泡的状态图,30,面向对象方法也是多种多样的,尽管各种面向对象方法不同,但都是以上述的基本思想为基础的。 一种方法要包含一组概念和相应的表示法以及用其构造系统的过程指导,面向对象方法也不例外。 贯穿本课程的面向对象概念及表示法均取自UML (Unified Modeling Language)的2.0版本。,关于统一建模语言UML,UML概述 StarUML软件,31,UML起源与发展,UML是一种通用的标准建模语言,由著名的面向对象技术专家Booch、Rumbaugh、Jacobson 综合各自的方法几经修改完成的,已被OMG 采纳为标准,是面向对象软件开发方法的一部分。,32,但是UML 不是一种程序设计语言或语言实现系统。 而UML则负责建立系统的模型,这个模型可以用Java、C+或任何一种程序语言来实现。 UML 不依赖于特定的软件开发过程,因此具有强大的生命力。,33,2.2 UML的概念范围,34,用例视图,逻辑视图,组件视图,部署视图,StarUML建模工具中的视图机制,35,StarUML,StarUML是一款开放源码的UML开发工具,是由韩国公司主导开发出来的产品,可在StarUML()下载大约22MB的执行文件。,36,StarUML的主要特色,可绘制9款UML图:用例图、类图、序列图、状态图、活动图、通信图、模块图、部署图以及复合结构图。 多种格式影像文件:可导出JPG、JPEG、BMP、EMF和WMF等格式的影像文件。 语法检验:StarUML遵守UML的语法规则,不支持违反语法的动作。,37,StarUML的主要特色,正反向工程:StarUML可以依据类图的内容生成Java、C+、C#代码,也能够读取Java、C+、C#代码反向生成类图。 注:反向工程有两个主要用途,其一是旧有的源码反转成图之后,可以构建UML模型的方式继续将新的设计添加上去;其二是想要解析源码时,可以通过反转的类图来理解。,38,StarUML的主要特点,支持XML:支持以XML为基础的交换格式,用以交换不同开发工具所生成的UML模型 导入Rose:可以读取Rational Rose生成的文件 支持模式:支持23种Gof模式和3种EJB模式,39,课堂练习,自动饮料售卖系统由售卖机和饮料两部分组成。 销售的饮料又可分为碳酸饮料、酒精饮料和矿泉水三种。 顾客可以根据自身需要进行选择。 画出对象间的关系图。,40,结构化方法:从算法的角度进行建模,所有的软件都用过程或函数作为其主要构造块。人们把大量精力都集中在控制流程和大算法的分解上。 这种建模的缺点是模型脆弱。需求变动、维护困难。 面向对象方法:以众多的类及交互模式(类间的协同工作)为中心。,41,42,与传统方法相比,面向对象方法的主要优点: (1)把易变的数据结构和部分功能封装在对象内并加以隐藏, 一是保证了对象行为的可靠性; 二是对它们的修改并不会影响其他的对象,有利于维护,对需求变化有较强的适应性。 (2)封装性和继承性有利于复用对象。 把对象的属性和操作捆绑在一起,提高了对象的内聚性,减少了与其他对象的耦合,这为复用对象提供了可能性和方便性。在继承结构中,特殊类对一般类的继承,本身就是对一般类的属性和操作的复用。,面向对象方法有助于提高软件的质量和生产率,按照现今的质量观点,不是仅仅要在编程后通过测试排除错误,而是要着眼于软件开发过程的每个环节开展质量保证活动,包括分析和设计阶段。 系统的高质量不是仅指系统没有错误,而是系统要达到好用、易用、可移植和易维护等。采用OO方法进行软件开发,相对而言是更容易做到这些的。,43,有数据表明,使用OO技术从分析到编程阶段能提高效率20%,在维护阶段(完善性维护、纠错性维护、适应性维护、预防性维护)提高得就更多。这主要体现在如下几方面: 设计的投入在编程、测试时会得到回报 OO方法使系统更易于理解 分析文档、设计文档、源代码对应良好 功能变化引起的全局性修改较少 有利于OOA结果的复用,44,45,3.3.5面向对象方法的特点,面向对象方法改变了开发软件的方式,面向对象语言为客观世界和计算机语言架起了桥梁,面向对象方法统一了分析和设计,46,问题域,OOA,计算机,自然语言,面向对象的 编程语言,OOD,OOP,OOT,面向对象的软件工程方法,3.2 原型法,原型:是一个可以实际运行、反复修改,可以不断完善的系统。 1、确定系统的基本要求和功能-依据 2、构造初始原型 3、运行、评价、修改原型 4、确定原型后处理,47,原型法的开发过程,48,原型法的适用范围,适合于:处理过程明确、简单系统;涉及面窄的小型系统。 不适合于:大型、复杂系统,难以模拟;存在大量运算、逻辑性强的处理系统;管理基础工作不完善、处理过程不规范的系统;大量批处理系统。,49,“在线支付”模块的原型,50,需求变更,51,52,3.4 敏捷开发,敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。 在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。,53,54,55,CMM是指“能力成熟度模型”,其英文全称为Capability Maturity Model for Software,英文缩写为SW-CMM,简称CMM。它是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。,56,57,3.5 面向方面的方法,面向方面AOP的方法是在OOP的基础上,将系统不同的关注点分离出来进行单独设计。 主要针对软件的非功能需求建模,功能需求,非功能需求,与系统责任无关的,58,关注点分离的过程,59,软件系统面向方面开发框图,60,例:远程看护系统的面向方面建模,远程看护系统的非功能需求可分为: 网络质量需求: 网络连接出现问题或者失败要能进行故障排除或通知用户。 视频质量需求: 视频传输的质量必须达到一定的要求,满足一定的门限值,传输图像的分辨率可根据网络的实际带宽自动调整,当实际带宽大时,图像传输的分辨率高,当实际带宽小时,图像传输的分辨率低。,61,例:远程看护系统的面向方面建模,组件可用性需求: 系统中的每个组件在系统运行时必须可用。 截止时间需求: 每个请求必须在规定的时间内完成,每个消息也必须在规定的时间发送给接收者,即满足一定的时间要求。,62,63,结构化方法(瀑布模型、生存周期模型),分析与设计的一致性,面向对象方法,原型法,敏捷方法,行业积累,小型系统,面向方面方法,非功能需求,电风扇和肥皂盒的故事,说某跨国家化公司,肥皂生产线上面存在有包装时可能漏包肥皂的问题。于是该公司

温馨提示

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

评论

0/150

提交评论