一、概要设计与详细设计 软件设计可以分为概要设计和详细设计 1、概要设计(高层设计或者总体设计):即将软件需求转化为数据结构和软件的系统结构。主要设计软件的结构,确定系统由哪些模块组成以及每个模块之间的关系。 2、详细设计(低层设计):即对结构图进行细化,得到详细的数据结构与算法。他确定应该如何具体地实现所要求的系统,得出对目标系统的精确描述。 3、工作任务: 1)指定规范,作为设计的共同标准 2)完成软件系统结构的总体设计,将复杂系统按功能划分为模块的层次结构,然后确定模块的功能,以及模块间的调用关系和组成关系。 3)设计处理方式,包括算法、性能、周转时间、响应时间、吞吐量和精度等 4)设计数据结构 5)可靠性设计 6)编写设计文档,包括概要设计说明书,详细设计说明书,数据库设计说明书,用户手册和初步的测试计划 7)设计评审,主要对设计文档进行评审二、软件设计活动 1、数据设计 数据设计将分析时创建的信息域模型变换成现实软件所需的数据结构。 2、软件结构设计 开发一个模块化的程序结构,并表示模块间的控制关系。将程序结构和数据结构组合,定义数据在程序中流动的接口 3、人机界面设计(接口设计) 1) 描述软件内部。软件和协作系统之间,以及软件与用户之间如何通信。人机界面设计要实现的内容包括一般交互,信息显示,数据输入。 2) 人机界面设计主要包括以下3个方面: Ø 设计软件模块之间的接口 Ø 设计模块和其他非人的信息生产者和消费者之间的接口 Ø 设计用户和计算机间的接口 4、过程设计三、结构化设计 结构化设计包括架构设计,接口设计,数据设计和过程设计。它是一种面向数据流的设计方法。以结构化分析阶段所产生的成功为基础,进一步自顶而下,逐步求精和模块化的过程。 1、抽象化 2、自顶向下,逐步求精 3、信息隐蔽 通常会将困难的抉择、可能修改的决策、数据结构的内部链接,以及对它们所做的操作细节、内部特征码、与计算机硬件有关的细节隐蔽起来。信息隐蔽可以提高软件的可修改性,可测试性,和可移植性 4、模块独立 每个模块完成一个相对独立的特定子功能,并且与其他模块之间的联系最简单。设计的目标是“高内聚,低耦合”。 1) 模块的内聚类型 模块的内聚类型 2) 模块的耦合类型 模块的耦合类型 除了满足以上两大基本原则之外,还需注意: 保持模块的大小适中;尽可能减少深度;直接调用该模块的次数应该尽量多,但调用其他模块的次数则不宜过多;保证模块是单入口、单出口;模块的作用域应该在模块之内;功能应该是可预测的四、工作流设计 1、工作流概念 1) 工作流就是一系列相互衔接、自动进行的业务活动或任务 2) 工作流管理:人与计算机共同工作的自动化协调、控制和通信,在电脑化的业务过程上,通过在网络上运行软件,使所有命令的执行都处于受控状态 3) 工作流管理系统:通过软件定义。创建工作流并管理起来。 2、业务流程重组(Business Process Reengineerring,BPR) 1) BPR是对企业的业务流程进行根本性的再思考和彻底性的再设计,从而获得可以用诸如成本、质量、服务和速度等方面的业绩来衡量的显著性的成就 2) BPR的步骤、基本原则、基于BPR的系统规划如下 3、业务流程管理(BPM,逐步革新) 1) BPM是一种以规范化的构造端按到端卓越业务流程为中心,以持续的提噶奥组织业务绩效为 目的的系统化方法。 2) PDCA闭环的管理过程 Ø 明确业务流程所欲获取的成果 Ø 开发和计划系统的方法,实现以上成果 Ø 系统地部署方法,确保全面实施 Ø 根据对业务的检查和分析以及持续的学习活动,评估和审查所执行的方法。并进一步提出计划和实施改进措施 3) BPM与BPR管理思想最根本的不同就在与流程管理并不要求对所有的流程进行再造。构造卓越的业务流程并不是流程再造,而是根据现有流程的具体情况,对流程进行规范化的设计 4) 流程管理包含三个层面:规范流程、优化流程和再造流程 |