数据流图软件_软件工程--软件开发方法

一、结构化分析和设计

1.1.结构化分析(SA)

  • 一种面向数据流的需求分析方法,利用图形表达用户的需求,常用工具数据流图、数据字典
  • 数据流图(DFD)
    • 用来描述数据流从输入到输出的变换流程

2e2bb26f60312deb9169739ce3a93bad.png
    • DFD不同于程序流程图
    • DFD可以表现大到整个系统,小到一个模块
    • 分层数据流图
  • 数据字典(DD)
    • 对软件中的每个数据规定一个定义条目,以保持数据在系统中的一致性
    • 数据项:只含一个数据,又称为数据元素
    • 数据流:由多个相关数据项组成
    • 数据文件(数据库)

1.2.结构化设计(SD)

  • 是一种面向数据流的设计方法,以分析阶段产生的文档(数据流图、数据字典、软件需求说明书)为基础,逐步求精和模块化的过程。结构化设计通常可以分为概要设计和详细设计
  • 概要设计
    • 概要设计也称为结构设计或总体设计
    • 概要设计的基本任务:设计软件系统结构,进行模块划分,确定每个模块的功能、接口、模块间的调用关系
    • 概要设计工具:结构图、数据字典(DD)、判定树和判定表
  • 详细设计:为每个模块设计其实现的细节
    • 详细设计工具:
      • 程序流程图
      • 盒图(NS图)
      • 问题分析图(PAD)
      • 程序设计语言(PDL)

二、面向数据结构的设计

2.1.基本概念

  • 根据输入/输出数据结构导出程序结构
  • Jackson方法和Warnier方法是最著名的两个面向数据结构的设计方法

三、面向对象的分析与设计

3.1.基本概念

  • 面向对象的方法是一种运用对象、类、继承、封装、聚合、消息传送、多态性等概念来构造系统的软件开发方法
  • 面向对象=对象(object)+类(classification)+继承(inheritance)+通信(communication with messages)
  • 采用这四个概念开发的软件系统是面向对象的

3.2.对象(object)

  • 对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位
  • 属性(attribute)也称为状态或数据,用来描述对象的静态特征
  • 操作(operation)(也称方法或服务)规定了对象的行为,表示对象所能提供的服务
  • 封装(encapsulation)是一种信息隐蔽技术,用户只能看见对象封装界面上的信息,对象的内部实现对用户是隐蔽的

3.3.类(class)

  • 类是一组具有相同属性和相同操作的对象的集合
  • 一个类中的每个对象都是这个类的一个实例(instance)
  • 类是创建对象的模板,从同一个类实例化的每个对象都具有相同的结构和行为

3.4.继承(inheritance)

  • 继承是指特殊类(子类)的对象拥有其一般类(父类)的全部属性与服务
  • 父类中定义了其所有子类的公共属性和操作,在子类中除了定义自己特有的属性和操作外,可以继承其父类(或祖先类)的属性和操作,还可以对父类(或祖先类)中的操作重新定义其实现方法
  • 如果一个子类只有唯一一个父类,这个继承称为单一继承。如果一个子类有一个以上的父类,这种继承称为多重继承

3.5.多态性

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

3.6.消息(message)

  • 消息传递是对象间通信的手段,一个对象通过向另一个对象发送消息来请求其服务。一个消息通常包括接收对象名、调用的操作名和适当的参数(如果有必要的话)
  • 消息只告诉接收对象需要完成什么操作,但并不指示接收者怎样完成操作。消息完全由接收者解释执行

3.7.面向对象的优点

  • 与人类习惯的思维方法一致
  • 稳定性好
  • 可重用性好
  • 较易开发大型软件产品
  • 可维护性好
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值