原型法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
统一建模语言(UML)介绍
• 统一建模语言(Unified Modeling Language,UML)介绍
• 面向对象的分析与设计(OOA&D)方法的发 展在80年代末至90年代中出现了一个高 潮,UML是这个高潮的产物。它不仅统一了 Booch、Rumbaugh和Jacobson的表示 方法,而且对其作了进一步的发展,并最终统 一为大众所接受的标准建模语言。
MIS主要开发方法的比较
从国外最新的统计资料来看,信息系统开发 工作的重心向系统调查、分析阶段偏移。开发各 个环节所占比重如下表:
阶段 调查 分析 设计 实现
工作量 >30% >40% <20% <10%
系统调查、分析阶段的工作量占总开发量的 60%以上。而系统设计和实现环节仅占总开发工 作量比率不到40%。
UML介绍(续)
•
标准建模语言UML适用于以面向对象技术来描述任何
类型的系统,而且适用于系统开发的不同阶段,从需求规
格描述直至系统完成后的测试和维护。
•
UML的目标是以面向对象图的方式来描述任何类型的
系统,具有很宽的应用领域。其中最常用的是建立软件系
统的模型,但它同样可以用于描述非软件领域的系统。总
(1)CASE应该能为用户提供支持各种方法的开发环境,在 实际开发一个系统时,CASE开发系统时必须依赖一种具体的 开发方法。
(2)CASE可帮助开发者方便、快捷地产生出系统开发过程 中各类图表、程序和说明性文档,使开发者从繁杂的分析设计 图表和程序编写工作中解放出来。产生出统一的标准化的系统 文档,使软件的各部分能重复使用。
4)程序实现: 用面向对象的程序设计语言将上一步 整理的范式直接映射(即直接用程序设计语言来 取代)为应用软件。一般称之为面向对象的程序, 即OOP。
识别客观世界中的对象以及行为,分别独立 设计出各个对象的实体;分析对象之间的联系和 相互所传递的信息,由此构成信息系统的模型; 由信息系统模型转换成软件系统的模型,对各个 对象进行归并和整理,并确定它们之间的联系; 由软件系统模型转换成目标系统。
之,UML是一个通用的标准建模语言,可以对任何具有
静态结构和动态行为的系统进行建模。
•
UML是一种语言,它是一种可视化的语言,它是一
组图形符号。它可用于详细描述。它又是一种构造语言,
可以直接生成代码。用Rational XDE就可以实现从UML
到C#,或者从C#到UML的双向工程。
UML介绍(续)
CASE开发环境
2.CASE开发环境 CASE作为一个通用的软件支持环境,它应能
支持所有的软件开发过程的全部技术工作及其管 理工作。
(1)图形功能 (2)查错功能 (3)CASE中心信息库 (4)对软件生命周期的全面覆盖 (5)支持建立系统的原型
(6)代码自动生成 (7)对结构化方法的支持
3.CASE的特点
(3)对象之间的联系通过传递消息来实现,传递消息 (message)的方式是通过消息模式(message pattern)和方法所定义的操作过程来完成的。
(4)对象可按其属性进行归类
类(class)有一定的结构,类可以有超类(super class)这种对象或类之间的层次结构是靠继承关系维系 的。
(3)自动检测的方法大大地提高了软件的质量,简化了软件 的管理和维护,加速了系统的开发过程。
(4)CASE方法解决了从客观世界对象到软件系统的直接映 射问题,有力地支持软件/信息系统开发的全过程。利用CASE 开发系统与传统方法在许多方面有所不同。例如:考虑问题的 角度、开发过程的做法以及实现系统的措施等。
面向对象的开发方法
面向对象的开发方法可描述为: (1)客观事物都是由对象组成的对象 (object),对象是在客观事物基础上抽 象的结果,任何复杂的事物都可以通过对 象的某种组合构成。 (2)对象由属性和方法组成 属性(attribute)反映对象的信息特征。 如:特点、值、状态等。 方法(method) 则用 来定义改变对象属性状态的各种操作 方式。
此外,UML适用于系统开发过程中从需求规格描述 到系统完成后测试的不同阶段。在需求分析阶段,可以用 用例来捕获用户需求。通过用例建模,描述对系统感兴趣 的外部角色及其对系统(用例)的功能要求。分析阶段主 要关心问题域中的主要概念(如抽象、类和对象等)和机 制,需要识别这些类以及它们相互间的关系,并用UML 类图来描述。为实现用例,类之间需要协作,这可以用 UML动态模型来描述。在分析阶段,只对问题域的对象 (现实世界的概念)建模,而不考虑定义软件系统中技术 细节的类(如处理用户接口、数据库、通讯和并行性等问 题的类)。这些技术细节将在设计阶段引入,因此设计阶 段为构造阶段提供更详细的规格说明。
面向对象的方法--从另外一个全新的角度来看问题,即从 系统的基本构成入手,从现实世界中抽象出系统组成的基本实 体(对象)。面向对象方法的局限性在于对计算机工具要求高: 在没有进行全面的系统性调查分析之前,把握这个系统的结构 有困难。因此,目前该方法的应用也是需要与其他方法相结合 的。
综上所述,只有结构化系统开发方法是真正能较全面支 持整个系统开发过程的方法。其他几种方法尽管有很多优点, 但都只能作为结构化系统开发方法在局部开发环节上的补充, 暂时都还不能替代其在系统开发过程中的主导地位。
4.2.4 面向对象的开发方法
1.面向对象(Object Oriented,OO)开发方法的基 本思想 面向对象的开发方法基于类和对象的概念,把 客观世界的一切事物都看成是由各种不同的对象 组成,每个对象都有各自内部的状态、机制和规 律;按照对象的不同特性,可以组成不同的类。 不同的对象和类之间的相互联系和相互作用就构 成了客观世界中的不同的事物和系统。
Hale Waihona Puke BaiduO方法特点
–优点:
–(1)是一种全新的系统分析设计方法(对象、类、结构属 性、方法)。
–(2)适用于各类信息系统的开发。 –(3)实现了对客观世界描述到软件结构的直接转换 ,大大
减少后续软件开发量。 –(4)开发工作的重用性、继承性高,降低重复工作量。 –(5)缩短了开发周期。
OO方法特点(续)
1)系统调查和需求分析: 对系统将要面临的具体管 理问题以及用户对系统开发的需求进行调查研究, 即先弄清要干什么的问题。
2)分析问题的性质和求解问题: 在繁杂的问题域中 抽象地识别出对象以及其行为、结构、属性、方 法等。一般称之为面向对象的分析,即OOA。
3)整理问题(详细设计): 对分析的结果作进一步的 抽象、归类、整理,并最终以范式的形式将他们 确定下来。一般称之为面向对象的设计,即OOD。
CASE方法的基本思路
1.CASE方法的基本思路
CASE方法的基本思路是:借助专门的软件工具, 使系统开发过程中的每一步与一定的程序形成对应关 系。CASE方法只是为具体的开发方法提供支持每一 过程的专门工具,也就是把原先手工完成的开发过程, 转变为以自动化工具和支撑环境支持的自动化开发过 程。在实际开发过程中,通常各过程只是在一定程度 上部分与程序对应,而不是绝对的一一对应,对于不 完全一致的地方需要由系统开发人员作具体修改,所 以,软件工具不能一次“映射”出最终结果。
目前缺乏全面完善的CASE工具。
4.2.6 MIS主要开发方法的比较
结构化的系统开发方法--是经典的开发方法,强调从系统 出发, 自顶向下、逐步求精地开发系统。
原型法--强调开发方与用户的交流,从动态的角度看待系 统变化,采用的是以变应变的思路,思路上比结构化的系统开 发方法要先进。原型法对于中小型的信息系统开发应该说效果 很好,但对于大型、复杂的系统在原型的制作上有相当的困难; 在实际应用中,通常与结构化方法结合起来一起使用。
原型法的特点
• 原型法的特点 – 优点: • 1、开发效率高; • 2、开发工具先进,与用户交流直观; • 3、符合人们认识事物的规律; • 4、能及早暴露系统实施后潜在的一些问题; • 5、能调动用户参与的积极性。
原型法的特点
– 缺点: • 1、不适合大型系统的开发; • 2、不适合大量运算及逻辑性强的模块,不 适合批处理系统; • 3、对原企业基础管理工作要求较高;否则 容易走上机械模拟原手工系统的轨道; • 4、没有充分的系统需求分析,很难构造出 原型。
1.原型法的基本思想
首先根据用户的要求,由用户和开发者共同确 定系统的基本要求和主要功能,利用系统快速生 成工具,建立一个系统模型。再在此基础上与用 户交流,将模型不断补充、修改、完善,如此反 复,最终直至用户和开发者都比较满意为止,就 形成了一个相对稳定、较为理想的管理信息系统。
原型法
采用原型法开发管理信息系统可以分为如下几个阶段
(5)对象是被封装的实体,类可以有子类 (subclass)。
所谓封装(encapsulation),即指严格的模块化。这 种封装的对象满足软件工程的要求,而且可以直接被面向 对象的程序设计语言所接受。
对象的描述实例
以下是面向对象的C++语言对对象的描述和操作示例。
class TDate {
private: int year, month, day;
public: void SetDate(int y, int m, int d); int IsLeapYear(); void Print();
}; 在程序中所操作对象是类的一个实例。
调用对象的方法相当于给对象发送消息,收到消息的对象 通过改变自身的状态或者向其它对象发送消息来响应消息。
2.面向对象方法的开发过程
–缺点:
–(1)需要一定的软件支持环境。 –(2)不太适宜大型的MIS开发,若缺乏整体系统
设计划分,易造成系统结构不合理、各部分关 系失调等问题。 –(3)只能在现有业务基础上进行分类整理,不 能从科学管理角度进行理顺和优化。 –(4)初学者不易接受、难学。
4.2.5 计算机辅助软件工程方法
计算机辅助软件工程(CASE, Computer Aided Software Engineering),它集图形处理技术、程序 生成技术、关系数据库技术和各类开发工 具于一身,全面支持系统调查以外的每个 开发步骤。严格地讲,CASE并不是真正意 义上的独立方法。
4.2.3原型法
所谓原型,是指由系统分析设计人员与用户合 作,在短期内定义用户基本需求的基础上,开发出 来的一个只具备基本功能、实验性的、简易的应用 软件。
原型法(Prototyping),也称渐进法 (Evolutionary)或迭代法(Iterative),是在关系 数据库系统、第四代程序生成工具和各种系统开发 生成环境诞生的基础上,逐步形成的一种设计思想、 过程和方法全新的系统开发方法。