结构化开发方法

结构化开发方法

结构化开发方法由结构化分析,结构化设计,结构化程序设计构成,是一种面向数据就的开发方法。用数据流图完成需求分析,用结构图实现概要设计。适合于数据处理领域的问题,但是不适合解决大规模,复杂的项目,难以适应需求变化。

1. 系统分析于设计概述

1.1 系统分析概述
  1. 系统分析目的:为项目团队提供对触发项目的问题和需求的更全面的了解,因此强调业务方面问题,而非技术或实现方面。
  2. 系统分析任务:提供系统方案说明书。
  3. 步骤:
    1. 认识理解当前现实环境,获取当前系统的物理模型
    2. 从物理模型抽象出逻辑模型
    3. 对逻辑模型进行分析优化,建立目标系统的逻辑模型
    4. 对目标系统逻辑模型物理化,建立目标系统物理模型
1.2 系统设计基本原理
  1. 抽象:重点说明实体的本质方面而忽略或掩盖非本质方面。
  2. 模块化:目的是清晰程序结构,使得程序易于阅读,理解,修改,测试
  3. 信息隐蔽
  4. 模块独立
    1. 耦合:模块间相互独立性的度量。
      1. 无直接耦合两个模块之间不传递任何消息。块间耦合性最弱,模块独立性最高。
      2. 数据耦合:模块间有调用关系,传递的是简单数据,相当于高级语言的值传递。
      3. 标记耦合:模块间传递的是数据结构
      4. 控制耦合:传递的是控制变量
      5. 外部耦合:模块之间通过软件之间的环境联结
      6. 公共耦合:通过一个公共数据环境相互作用的那些模块间的耦合
      7. 内容耦合:一个模块直接使用另一个模块的内部数据
    2. 内聚:模块内各元素彼此结合的紧密程度的度量
      1. 偶然内聚:模块内各处理元素之间没有任何联系
      2. 逻辑内聚:模块内执行若干逻辑相似的功能,通过参数确定该模块完成那个功能
      3. 时间内聚:把同时执行的动作组合到一起
      4. 过程内聚:一个模块完成多个任务,这些任务必须按指定过程执行
      5. 通信内聚:模块内所有处理元素都在一个数据结构上操作,使用相同数据输入或产生相同数据输出
      6. 顺序内聚:模块内各处理元素密切相关于同一功能且必须顺序执行,前一个功能输出是下一个功能的输入
      7. 功能内聚:指模块内所有元素共同完成一个功能,缺一不可
1.3 系统总体结构设计

一种宏观,总体上的设计和规划。

  1. 系统结构设计原则:
    1. 分解-协调原则
    2. 自顶向下原则
    3. 信息隐蔽,抽象的原则
    4. 一致性原则:保证软件设计有统一规范,标准和文件模式
    5. 明确性原则:每个功能必须功能明确,接口明确
    6. 高内聚,低耦合原则
    7. 模块扇入系数和扇出系数要合理:扇出系数指的是一个模块直接调用其他模块的个数,扇出系数相反
    8. 模块规模适当
  2. 子系统划分
  3. 系统模块结构设计
    1. 模块的概念:组成系统的基本单位,特点是可以组合,分解,更换。分为物理模块和逻辑模块。一个模块具有输入输出,处理功能,内部数据和程序代码四要素。
    2. 模块结构图:模块之间只有上下级调用关系,没有同级的横向关系;系统呈树状结构,不允许出现网状,交叉;模块结构图由模块,调用数据,控制信息和转接符号组成。
  4. 数据存储设计
1.4 系统文档

2. 结构化分析方法

结构化分析与设计方法是一种面向数据流的传统软件开发方法,以数据流为中心构建软件的分析和设计模型。
结构化方法的结果=一套分层的数据流图+一般数据词典+一组说明+补充材料

2.2 数据流图
  1. 数据流图基本元素:
    1. 数据流:每个数据流都应该命名,以反映该数据流的含义
    2. 加工:每个加工应有名字和编号以反映其功能和在DFD中的层次位置。有输入无输出称位黑洞,输入不足以产生输出称为灰洞。
    3. 数据存储:读,写,修改
    4. 外部实体:存在于软件系统之外的人员或组织,指出系统数据的源和宿
  2. 数据流图一些扩充符号:
    1. 星号(*):表示数据流之间的“与”关系
    2. 加号(+):表示数据流之间的“或”关系
    3. 异或符号
  3. 数据流图层次结构:层次+编号;(一般控制在7±2的范围内)
  4. 数据流图的审查:
    1. 一致性:DFD中不存在矛盾冲突(父图与子图的平衡,数据守恒,局部数据存储,加工的输入输出数据不应同名)
    2. 完整性:
2.3 数据字典

对数据流图中各个成分的说明。

  1. 数据流图的内容:数据流,数据项,数据存储,基本加工
    1. 数据流条目:给出DFD中数据流的定义
    2. 数据存储条目:对数据存储的定义
    3. 数据项条目:最小的数据单位
    4. 基本加工条目:说明DFD中基本加工的处理逻辑
  2. 数据词典管理:提供词典的查找,排序,统计等功能
  3. 加工逻辑的描述:也称为“小说明”
    1. 结构化语言
    2. 判定表
    3. 判定树

3.结构化设计方法

基本思想:将系统设计成由相对独立,功能单一的模块组成的结构。

3.1 结构化设计的步骤
  1. 建立初始结构图
  2. 对结构图改进
  3. 书写设计文档
  4. 设计评审
3.2 数据流图到软件体系结构的映射

数据流图->结构图

  1. 信息流的类型
    1. 变换流:输入+变换+输出
    2. 事务流:各活动流以事物中心为起点,呈辐射状流出

4.WebApp分析与设计

4.1 WebApp的属性
  1. 网络密集性
  2. 并发性
  3. 无法预知的负载量
  4. 性能
  5. 可用性:基本上要求全天候访问
  6. 数据驱动
4.2 WebApp需求模型
  1. 内容模型:内容的开发可能发生在web App之前(中,后)
  2. 交互模型:用例图,顺序图,状态图,GUI等
  3. 功能模型:
  4. 导航模型
  5. 配置模型
4.3 WebApp设计
  1. 架构设计
  2. 构件设计
  3. 内容设计
  4. 导航设计

5. 用户界面设计

5.1 用户界面设计的黄金原则
  1. 用户操作控制
  2. 减轻用户记忆负担
  3. 保持界面一致
5.2 用户界面的分析与设计
5.3 用户界面设计问题
  1. 系统响应时间
  2. 帮助设施
  3. 错误信息处理
  4. 菜单和命令标记
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值