软考笔记--信息系统开发方法(上)

信息系统是一个极其复杂的人机交互系统,它不仅包含计算机技术,通信技术和网络规划以及其他的工程技术,而且,它还是一个复杂的管理系统,需要管理理论和方法的支持,因此,与其他工程项目相比,信息系统工程项目的开发和管理显得更加复杂,面临的风险也更大。

一.结构化方法

结构化方法也称为生命周期法,是一种传统的信息系统开发方法,由结构化分析,结构化设计和结构化程序设计三部分组成,其精髓是自顶向下逐步求精和模块化设计。

1.结构化方法的特点。

 (1)开发目标清晰化。结构化方法的系统开发遵循用户第一的原则,开发中要保持与用户的沟通,取得与用户的共识,使得信息系统的开发建立在可靠的基础之上。

(2)开发工作阶段化。结构化方法每个阶段的工作内容明确,注重对开发过程的控制。

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

(4)设计方法结构化。在系统分析与设计时,从整体和全局考虑,自定向下地分解;

2.结构化分析

SA就是根据分解与抽象的原则,按照系统中数据处理的流程,用数据流图DFD来建立系统的功能模型,从而完善需求分析。SA方法使用抽象模型的概念,按照系统内部数据传递、变化的关系,自顶向下,逐层分解,直至找到满足功能要求的所有实现的系统为止。SA方法给出了一组帮助系统分析师产生需求规格说明的方法与技术,一般利用图形来表达用户需求,使用的手段主要有DFD,数据字典,结构化语言,判定表,判定树等。

(3)结构化设计

SD可以进一步细分为概要设计和详细设计两个阶段,根据模块独立性原则和系统结构准则,将DFD转换为系统结构图,用系统结构图来建立系统的物理模型,描述系统层次的模块结构以及模块之间的通信与控制关系。

(4)结构化程序设计

SP就是使用某种程序设计语言,将某个模块的功能用响应的标准控制结构(顺序结构,选择结构,循环结构)表示出来,从而实现整个系统。

(5)结构化方法的缺点

结构化方法是目前最成熟,应用比较广泛的一种工程化方法,它特别适合于数据处理领域的问题,但是不适合规模较大、复杂的系统开发。结构化的不足主要表现在以下几个方面:

(1)开发周期长

(2)难以适应需求变化。

(3)很少考虑数据结构。

以上问题在实际应用中有的已经解决,同时也产生了其他方法,如原型法,面向对象方法等。

6.结构化方法的贡献

结构化方法属于自定向下的开发方法,强调开发方法的结构合理性以及开发系统的结构合理性,提出了一组提高系统结构合理的准则。结构化方法的另一个贡献在于,明确划分了系统规划,系统分析,系统设计,系统实施、系统维护等阶段,后来发展的一些开发方法,从本质上还是遵循这些阶段。

二.面向对象方法

面向对象(Object-Oriented,OO)方法是当前的主流开发方法,拥有很多不同的分支体系,主要包括OMT方法,Coad/Yourdon方法,OOSE方法和Booch方法等,OMT,OOSE和Booch已经统一成为统一建模语言UML。

1.基本概念

(1)对象。对象是指一组属性及这组属性上的专用操作的封装体。一个对象通常有三部分组成,对象名,属性和方法。

(2)类。类是一组具有相同属性和方法的对象的集合。一个类中的每个对象都是这个类的一个实例。

(3)继承。继承是在某个类的层次关联中不同的类共享属性和方法的一种机制。父类与子类的关系是一般与特殊的关系。

(4)封装。面向对象系统中的封装单位是对象,对象之间只能通过接口进行信息交流,对象外部不能对对象中的数据随意进行访问。封装的目的是使对象的定义和实现分离,这样就能减少耦合,类内部的实现可以自由改变而不会影响其他的类或对象。

(5)消息。消息是对象之间通信的手段,一个对象通过向另一个对象发送消息来请求服务。一个消息通常包括以下信息:提供服务的对象标识、服务类型和相关参数。

(6)多态。多态是指同一个操作作用于不同的对象时可以有不同的解释,并产生不同的执行结果。

2.OO方法的过程

与结构化方法类似,面向对象方法也包括面向对象的分析(OOA)、面向对象的设计(OOD)和面向对象的程序设计(OOP)三个阶段。

3.Coad/Yourdon方法

Coad/Yourdon方法特别强调OOA和OOD采用完全一致的概念和表示法,是分析和设计之间不需要表示法的转换。Coad/Yourdon方法中,OOA的任务主要是建立问题域的分析模型。OOA概念模型的顺序由五个层次组成,即类与对象层,属性层,操作层,结构层和主题层。OOA需要经过5个步骤来完成整个分析工作,即标识对象类,标识结构与关联、划分主题,定义属性和定义操作。

OOD中将继续贯穿OOA中的五个层次和五个活动,它由4个组成部分,分别是人机交互组件,问题域组件,任务管理组件和数据管理组件,其主要的活动就是这4个组件的设计工作。

4.Booch方法

Booch最先描述了OO方法的基础问题,指出OO方法是一种根本不同于传统的功能分解的设计方法。Booch认为系统开发是一个螺旋上升的过程,每个周期包括4个步骤,即标识类和对象,确定类和对象的含义,标识关系,说明每个类的接口和实现。

5.OMT方法

OMT方法使用了建模的思想,讨论如何建立一个实际的应用模型,包括对象模型、动态模型和功能模型。对象模型描述系统中对象的静态结构、对象之间的关系属性和操作,主要用对象图来实现;动态模型描述与时间和操作顺序有关的系统特征。

OMT方法通常包括4个活动:系统分析,系统设计,对象设计和实现。

6.OOSE

OOSE 在OMT的基础上,对功能模型进行了补充,提出了用例(use case) 的概念,最终取代了DFD来进行需求分析和建立功能模型。OOSE方法采用5 类模型来建立目标系统,即需求模型、分析模型、设计模型、实现模型和测试模型。OOSE的开发活动主要分为三类:分析、构造和测试。

7.与结构化方法的结合

OO方法将系统的描述及信息模型的表示与客观实体相对应,符合人们的思维习惯,有利于系统开发过程中用户与开发人员的交流沟通,但是也存在一些不足,通常与结构化方法结合起来。首先使用结构化方法进行自定向下的整体划分,然后自底向上采用OO方法开发系统,结构化方法和OO方法仍然是两种在系统开发领域中相互依存,不可替代的方法。

相关推荐

  1. 笔记--信息系统开发方法

    2024-02-20 23:20:03       49 阅读
  2. 笔记--信息系统架构

    2024-02-20 23:20:03       30 阅读
  3. 笔记--基于架构的软件开发方法

    2024-02-20 23:20:03       51 阅读
  4. - 系统架构设计师 - 敏捷开发方法

    2024-02-20 23:20:03       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-20 23:20:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-20 23:20:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-20 23:20:03       87 阅读
  4. Python语言-面向对象

    2024-02-20 23:20:03       96 阅读

热门阅读

  1. CES 的Agent插件状态显示“故障”该如何处理?

    2024-02-20 23:20:03       55 阅读
  2. 游戏分组/王者荣耀

    2024-02-20 23:20:03       44 阅读
  3. 关于游戏开发的那些工具

    2024-02-20 23:20:03       49 阅读
  4. 15个学习Go语言的网站推荐

    2024-02-20 23:20:03       44 阅读
  5. 最优字符串分隔符:零宽度空格和字符

    2024-02-20 23:20:03       47 阅读
  6. 计算机网络第三章问答题

    2024-02-20 23:20:03       46 阅读