第六章 结构化开发方法

    6.1 系统分析与设计概述

        6.1.1 系统分析概述

                系统分析:一种问题求解技术,将系统分解,并研究各部分的工作和交互,从而实现系统目标,系统分析强调业务问题,而非技术或实现 ,要求用户参与;侧重业务全过程的角度进行分析,分析业务和数据的流程是否通畅合理,数据、业务和组织管理之间的关系;并研究系统开发的可行性;最后提出信息系统的各种设想和解决方案

                系统分析的步骤:对当前系统进行详细调查、收集数据;建立当前系统的逻辑模型;对现状进行分析,提出改进意见和新系统应达到的目标;建立新系统的逻辑模型;编写系统方案说明书

        6.1.2 系统设计的基本原理

                系统设计的基本原理:抽象、模块化、信息隐蔽、模块独立(耦合、内聚)

        6.1.3 系统总体结构设计

                系统总体结构设计:根据系统分析的要求和组织的实际情况对系统的总体结构形式和可利用的资源进行大致设计,这是一种宏观、总体上的设计和规划

                系统结构设计原则:分解-协调原则;自顶向下的原则;信息隐蔽、抽象的原则;一致性原则;明确性原则;模块之间的耦合尽可能小,内聚尽可能高;模块的扇入、扇出系数合理;模块的规模适当

                子系统划分原则:子系统要具有相对独立性;子系统之间数据的依赖性尽量小;子系统划分结果应使数据冗余小;子系统的设置要考虑未来管理发展的需要;子系统的划分应便于系统分阶段实现;子系统的划分应考虑到各类资源的充分利用

                子系统的设计:确定划分后的子系统模块机构,需要考虑,每个子系统如何划分成多个模块;如何确定子系统之间、模块之间传送的数据及其调用关系;如何评价并改进模块结构的质量;如何从数据流图导出模块结构图

                模块:组成系统的基本单位,可以组合、分解和更换,依据功能具体化的程度,可以将模块分为逻辑模块和物理模块

                模块的要素:输入和输出、处理功能、内部数据、程序代码

                结构设计遵循原则:模块独立性强;模块连接存在上下级之间,不能同级之间;系统呈树状结构,不允许网状和交叉;所有模块都严格分类编码并建立归档文件

                模块结构图:结构化设计中描述系统结构的图形工具,主要关心模块的外部属性,即上下级模块、同级模块之间的数据传递和调用关系,不关心内部结构,由模块、调用、数据、控制信息和转接符号组成

                数据存储设计:数据结构组织和数据库或文件设计,就是要根据数据的不同用途、使用要求、统计渠道和安全保密性来决定数据的整体组织形式、表或文件的形式,以及决定数据的结构、类别、载体、组织方式、保密级别等;做好数据资源分布和安全保密性的协调

        6.1.4 系统文档

                系统文档:是建设过程的痕迹,是系统维护人员的指南,是开发人员与用户交流的工具,是保证系统可维护、可升级的基础;包括开发过程汇总产生的文档,也包括采购网络设计中形成的文档;还包括建设过程中的各种来往文件、会议纪要、会计单据等

    6.2 结构化分析方法

                结构化分析与设计方法:是一种面向数据流的传统软件开发方法,以数据流为中心内构建软件的分析模型和设计模型,结构化分析、结构化设计和结构化程序设计构成完整的结构化方法                

        6.2.1 结构化分析方法概述

                结构化方法:将一个复杂的问题,逐步奉节成若干个足够简单的、容易解决的小问题,这种自顶向下逐层奉节的思想就是结构化方法的基础

        6.2.2 数据流图

                数据流图:是便于用户理解、分析系统数据流程的图形工具,其摆脱系统物理内容,精确的在逻辑上描述系统的功能、输入、输出和数据存储,是系统逻辑模型的重要组成部分

                基本图形元素:数据流、加工、数据存储和外部实体

                数据流:由一组固定成分的数据组成,表示数据的流向(一个加工向另一个加工;加工流向数据存储;数据存储流向加工;从外部实体流向加工;从加工流向外部实体),数据流需要定义名臣,以反映数据流的含义

                加工:描述输入数据流到输出数据流之间的变换,即处理;具备名字和编号

                数据存储:用来存储数据;具有名字标识;可以由文件实现也可以用数据库实现,介质可以是磁盘、磁带或其他存储介质

                外部实体:存在于软件之外的人员或组织,指出数据的源和宿

                扩充符号:星号(*)表示数据流之间的“与”关系;加号(+)表示“或”;异或表示“互斥”

                层次结构:顶层图(描述了软件凶弹与外界的数据流)、0层图、中间图(至少有一个加工被分解)、底层图(所有加工不能奉节)、基本加工

                分层数据流图的步骤:画系统的输入和输出;画系统的内部(确定加工、确定数据流、确定数据存储、确定源和宿);画加工的内部

                分层数据流图的审查:审查一致性和完整性(一致性,分层结构图中不存在矛盾和冲突;完整性,分层结构图本身的是否有遗漏的数据流、加工等)

                构造分层结构图需要注意的问题:适当命名;画数据流而不是控制流;避免一个加工有过多的数据流;分解尽可能均匀;先考虑确定状态,忽略琐碎的细节;随时准备重画

                分解的程度:1+-2;分解应自然,概念上应合理、清晰;不影响理解性,可以增加子加工,减少层数;上层分解快,下层分解慢;分解要均匀

        6.2.3 数据字典

                数据字典:为数据流图中的每个数据流、文件、加工以及组成数据流或文件的数据项作出说明

                数据字典条目:数据流、数据项、数据存储和基本加工

                数据流条目:给出数据流图中数据流的定义,通常列出该数据流的各组成数据项

                数据存储条目:是对数据存储的定义

                数据项条目:是不可在分解的数据单位

                基本加工条目:说明数据流图中基本加工的处理逻辑

                词典管理:将词典条目按照某种格式组织后存储在词典中,并提供排序、查找和统计

                加工说明方法:结构化语言、判定表和判定树

    6.3 结构化设计方法

                结构化设计方法:一种面向数据流的设计方法,可以与结构化分析方法衔接,基本思想为将系统设计成由相对独立、功能单一的模块组成的结构

                结构图:用来描述软件系统的体系结构,指出软件由那些模块组成,以及模块间的调用关系

        6.3.1 结构化设计的步骤

                设计步骤:建立初始结构图;改进初始结构图;书写设计文档;设计评审

        6.3.2 数据流图到软件体系结构的映射

                结构化设计是将结构化分析的结果映射成软件的体系结构,依据信息流的特点可以将数据流图分为变换型数据流图和事务型数据流图,对应的映射分别为变换分析和事务分析

                变换流:信息沿输入通路进入系统,将信息的外部形式转换成内部表达,通过变换中心处理,再沿输出通路转换成外部形式离开系统

                事物流:信息沿输入通路进入事务中心,事务中心依据输入信息的类型在若干动作序列中选择一个来执行,有明显的事务中心

                变换分析:从变换流型的数据流图中导出程序结构图;确定输入流和输出流,分离出变换中心(物理输入到逻辑输入构成输入流、逻辑输出到物理输出构成输出流,输入流至输出流之间构成变换 中心);第一级分解(顶层--第一层);第二级分解(中层、下层)

                事务分析:从事务型数据流图导出程序结构图;确定事务中心和每条活动六的流特性;将事务流型数据流图映射成高层的程序结构;进一步分解

                结构化设计的步骤:复查并精化数据流图;确定数据流图的信息流类型;依据流类型分别实施变换分析和事务分析;依据系统设计原则对程序结构图进行优化

    6.4 WebApp分析与设计

        6.4.1 WebApp的特性

                WebApp的属性:网络密集性、并发性、无法预知的负载量、性能、可用性、数据驱动

        6.4.2 WebApp需求模型

                WebApp需求模型分类:内容模型、交互模型、功能模型、导航模型和配置模型

        6.4.3 WebApp设计

                WebApp通用特性:可用性、功能性、可靠性、效率、可维护性、安全性、可扩展和及时

                WebApp设计目标:简单性、一致性、符合性、健壮性、导航性、视觉吸引与兼容性

                WebApp设计内容:架构设计、构件设计、内容设计、导航设计、美学设计、界面设计

    6.5 用户界面设计

        6.5.1 用户界面设计的黄金原则

                黄金原则:用户操纵控制(以不强迫用户进入不必要的或不希望的动作的方式来定义交互模式、提供灵活的交互、允许中断和撤销用户交互、当技能级别增长时可以使交互流程化并允许定制交互、使用户与内部技术细节隔离开来、设计应允许用户与出现在屏幕上的对象直接 交互);减少用户记忆负担(减少对短期记忆的要求,建立有意义的默认、定义直观的快捷方法、界面的视觉布局应该基于真实世界的象征、以不断进展的方式揭示信息);保持界面一致(允许用户将当前任务放入有意义的环境中、在应用系统家族内保持一致性、如果在过去的交互模式中已经建立起用户的期望,除非不得已的理由,否则不要改变他)

        6.5.2 用户界面的分析与设计

                分析与设计模型:设计模型、用户模型、心理模型、系统映像

                分析与设计过程:界面分析与建模、界面设计、界面构造和界面确认

        6.5.3 用户界面设计问题

                界面设计问题:系统响应时间、帮助设施、错误信息处理、菜单和命令标记

你可能感兴趣的:(第六章 结构化开发方法)