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