当前位置: 首页 > news >正文

系统分析师-软件工程-信息系统开发方法面向对象原型化方法面向服务快速应用开发

一、 信息系统开发方法

1.1 概述

结构是指系统内各个组成要素之间的相互联系、相互作用的框架。

结构化方法也称为生命周期法,是一种传统的信息系统开发方法,由结构化分析(Structured Analysis,SA)、结构化设计(Structured Design,SD)和结构化程序设计(Structured Programming,SP)三部分有机组合而成,其精髓是自顶向下、逐步求精和模块化设计。

结构化方法的主要特点
  1. 开发目标清晰化。结构化方法的系统开发遵循“用户第一”的原则。

  2. 开发工作阶段化。每个阶段工作完成后,要根据阶段工作目标和要求进行审查,这使各阶段工作有条不紊地进行,便于项目管理与控制。

  3. 开发文档规范化。结构化方法每个阶段工作完成后,要按照要求完成相应的文档,以保证各个工作阶段的衔接与系统维护工作的遍历。

  4. 设计方法结构化。在系统分析与设计时,从整体和全局考虑,自顶向下地分解;在系统实现时,根据设计的要求,先编写各个具体的功能模块,然后自底向上逐步实现整个系统

结构化方法的不足和局限
  1. 开发周期长:按顺序经历各个阶段,直到实施阶段结束后,用户才能使用系统。

  2. 难以适应需求变化:不适用于需求不明确或经常变更的项目。

  3. 很少考虑数据结构:结构化方法是一种面向过程,面向数据流的开发方法,很少考虑数据结构,

结构化方法常用工具

结构化方法一般利用图形表达用户需求,常用工具有数据流图、数据字典、结构化语言、判定表以及判定树等。

1.2 面向对象

面向对象(Object-Oriented,OO)方法认为,客观世界是由各种对象组成的,任何事物都是对象,每一个对象都有自己的运动规律和内部状态,都属于某个对象类,是该对象类的一个元素。复杂的对象可由相对简单的各种对象以某种方式而构成,不同对象的组合及相互作用就构成了系统。

面向对象方法的特点
  1. 使用OO方法构造的系统具有更好的复用性,其关键在于建立一个全面合理、统一的模型(用例模型和分析模型)。

  2. OO方法也划分阶段,但其中的系统分析、系统设计和系统实现三个阶段之间已经没有“缝隙”。也就是说,这三个阶段的界限变得不明确,某项工作既可以在前一个阶段完成,也可以在后一个阶段完成;前一个阶段工作做得不够细,在后一个阶段可以补充。

  3. 面向对象方法可以普遍适用于各类信息系统的开发

面向对象方法的不足之处

在大型项目的开发上具有一定的局限性必须依靠一定的面向对象技术支持,不能涉足系统分析以前的开发环节

当前,一些大型信息系统的开发,通常是将结构化方法和OO方法结合起来。首先,使用结构化方法进行自顶向下的整体划分;然后,自底向上地采用OO方法进行开发。因此,结构化方法和OO方法仍是两种在系统开发领域中相互依存的、不可替代的方法。

1.3 原型化方法

原型化方法也称为快速原型法,或者简称为原型法。它是一种根据用户初步需求,利用系统开发工具,快速地建立一个系统模型展示给用户,在此基础上与用户交流,最终实现用户需求的信息系统快速开发的方法。

按是否实现功能分类:分为水平原型(行为原型,功能的导航)、垂直原型(结构化原型,实现了部分功能)。

按最终结果分类:分为抛弃式原型、演化式原型。

原型法的特点

原型法可以使系统开发的周期缩短、成本和风险降低、速度加快,获得较高的综合开发效益

原型法是以用户为中心来开发系统的,用户参与的程度大大提高,开发的系统符合用户的需求,因而增加了用户的满意度,提高了系统开发的成功率。

由于用户参与了系统开发的全过程,对系统的功能和结构容易理解和接受,有利于系统的移交,有利于系统的运行与维护。

原型法的不足之处

  • 开发的环境要求高。

  • 管理水平要求高。

由以上的分析可以看出,原型法的优点主要在于能更有效地确认用户需求。从直观上来看,原型法适用于那些需求不明确的系统开发。事实上,对于分析层面难度大、技术层面难度不大的系统,适合于原型法开发。

从严格意义上来说,目前的原型法不是一种独立的系统开发方法,而只是一种开发思想,它只支持在系统开发早期阶段快速生成系统的原型,没有规定在原型构建过程中必须使用哪种方法。因此,它不是完整意义上的方法论体系。这就注定了原型法必须与其他信息系统开发方法结合使用

1.4 面向服务

面向服务(Sservice-Oriented,SO)的方法:进一步将接口的定义与实现进行解耦,则催生了服务和面向服务(Service-Oriented,SO)的开发方法。

OO的应用构建在类和对象之上,随后发展起来的建模技术将相关对象按照业务功能进行分组就形成了构件(component)的概念。对于跨构件的功能调用,则采用接口的形式暴露出来。进一步将接口的定义与实现进行解耦,则催生了服务和面向服务(Service-0riented,SO)的开发方法。由此可见,面向对象、基于构件、面向服务是三个递进的抽象层次

SO方法有三个主要的抽象级别,分别是操作、服务和业务流程

  • 位于最低层的操作代表单个逻辑单元的事物,执行操作通常会导致读、写或修改一个或多个持久性数据。服务的操作类似于对象的方法,它们都有特定的结构化接口,并且返回结构化的响应

  • 位于第二层的服务代表操作的逻辑分组

  • 最高层的业务流程则是为了实现特定业务目标而执行的一组长期运行的动作或活动,包括依据一组业务规则按照有序序列执行的一系列操作。其中操作的排序、选择和执行成为服务或流程的编排,典型的情况是调用已编排的服务来响应业务事件。

1.5 快速应用开发(RAD)

快速应用开发(RAD)是一种比传统生命周期法快得多的开发方法,它强调极短的开发周期。RAD模型是瀑布模型的一个高速变种,通过使用基于构件的开发方法获得快速开发。

RAD的基本思想体现在以下4个方面:

  1. 用户更主动地参与到系统分析、设计和构造活动中来。

  2. 将项目开发组织成一系列重点突出的研讨会,研讨会要让各方一起参与。

  3. 通过一种迭代的构造方法,加速需求分析和设计阶段。(4)让用户提前看到一个可工作的系统。

  4. 让用户提前看到一个可工作的系统

RAD的开发阶段:

  1. 业务建模。确定驱动业务过程运作的信息、要生成的信息、如何生成、信息流的去向及其处理等,可以使用数据流图来帮助建立业务模型。

  2. 数据建模。为支持业务过程的数据流查找数据对象集合、定义数据对象属性,并与其他数据对象的关系构成数据模型,可以使用E-R图来帮助建立数据模型。

  3. 过程建模。将数据对象变换为要完成一个业务功能所需的信息流,创建过程以描述增加、修改删除或获取某个数据对象,即细化数据流图中的加工。

  4. 应用生成。利用第四代语言(4GL)写出处理程序,复用己有构件或创建新的可复用构件,利用环境提供的工具自动生成并构造出整个应用系统。

  5. 测试与交付。因为RAD强调复用,许多构件已经是测试过的,这就减少了测试的时间。由于大量复用,所以一般只做总体测试,但新创建的构件还是要测试的。


RAD通过大量使用可复用构件,加快了开发速度。但是,RAD也具有以下局限性:

  1. 并非所有应用都适合RAD。

  2. 开发者和客户必须在很短的时间完成一系列的需求分析。

  3. RAD只能用于管理信息系统的开发,不适合技术风险很高的情况。

敏捷模型也就是敏捷方法,可通用。

相关推荐

软件生命周期&瀑布模型&螺旋模型&V模型&RUP&敏捷方法

企业信息化概述&信息资源管理&企业信息化规划


 

http://www.dtcms.com/a/398232.html

相关文章:

  • Linux的写作日记:Linux基础开发工具(一)
  • 做响应网站的素材网站有哪些怎么在年报网站做简易注销
  • C++中的initializer_list
  • 关于营销型网站建设的建议促进房地产市场健康发展
  • PHP验证码生成与测试
  • 漫谈<无头浏览器技术>:二、演进之路
  • .NET驾驭Word之力:智能文档处理 - 查找替换与书签操作完全指南
  • 做网站和app哪个难单页网站 jquery
  • 华为od-前端面经-22届非科班
  • 《新能源汽车故障诊断与排除》数字课程资源包开发说明
  • 软件定义汽车---小鹏汽车的智能进化之路
  • 公司做网站需要注意些什么问题wordpress文本框代码
  • SpringMVC 学习指南:从入门到实战
  • 基于 Apache Flink DataStream 的实时信用卡欺诈检测实战
  • 线扫相机的行频计算方法
  • 视频去水印方法总结,如何去除抖音视频水印
  • 中国建设银行青浦支行网站怎样用自己的主机做网站
  • 建设公司网站怎么弄住房和城乡建设部证书查询
  • ensp学习—端口隔离
  • LVS 负载均衡
  • Spring AI 进阶之路03:集成RAG构建高效知识库
  • 【日常学习-理解Langchain】从问题出发,我理解了LangChain为什么必须这么设计
  • 科技的温情——挽救鼠鼠/兔兔的生命
  • 科技赋能噪声防控,守护职业安全健康
  • 一站式平台网站开发技术保定网站建设公司大全
  • 响应式网站自助建站深圳全网推广推荐
  • CodeArts IDE for Cangjie客户端下载与安装
  • Vue 3 —— A / 前置基础知识
  • 百度网站名称及网址网页设计素材代码
  • Apache Hive 能否脱离开Hadoop集群工作