欢迎来到天天文库
浏览记录
ID:59018573
大小:112.00 KB
页数:33页
时间:2020-09-26
《第3章 软件设计基础ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章软件设计软件设计概述软件体系结构设计模块化设计界面设计软件设计评审软件设计是软件开发的关键步骤,直接影响软件质量。软件设计阶段要解决“如何做”的问题。软件设计概述实体关系模型数据流图状态转换图控制规格说明加工规格说明数据对象说明系统设计系统需求界面设计体系结构设计数据设计数据字典过程设计软件设计概述软件设计各部分的内容与需求分析各部分间相关联的要点:围绕数据字典研究、分析数据流图数据流在不同变换模块中转换,提供了模块接口设计、人机交互界面设计的数据结构或控制信息,进一步提高模块的独立性依据控制规格说明和状态转换图、加工规格说明,进行过程设计,描述模块内部具体算法
2、流程软件设计概述开发阶段信息流描述了软件设计从软件需求到软件编码,起到承上启下的作用。设计编码测试信息描述功能描述行为描述其它需求数据设计总体结构设计过程设计程序模块集成并确认软件开发阶段的信息流软件设计的任务设计任务:将需求阶段获得的需求说明(模型)转换为计算机中可实现的系统。软件设计概述体系结构设计界面设计数据设计过程设计概要设计详细设计设计内容设计阶段软件设计任务涉及多方面,可分为总体设计和详细设计。过程设计系统结构设计数据设计界面设计软件设计任务软件设计概述软件设计原则:软件设计概述分而治之重用设计模式可跟踪性灵活性一致性软件体系结构确定了系统的组织结构和拓扑
3、结构,显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。体系结构设计是软件设计的早期活动,它的作用集中在两点:提供软件设计师能预期的体系结构描述。例如提起浏览器/服务器(B/S)模式,多层架构、数据库存储、客户端、逻辑服务器等一系列描述就展现在设计师的脑海里。数据结构、文件组织、文件结构体现了软件设计的早期抉择,这些抉择将极大地影响着后续的软件开发人员,影响着软件产品的最后成功。软件体系结构设计以数据为中心的数据仓库模型——数据仓库模型是能独立提供数据服务的封闭式数据环境。它不单独集成到某一应用系统中,而是为具体的应用系统提供服务。这些服务既
4、有通用的公共服务,也有专门设计的领域服务。软件体系结构设计数据集a数据集b数据集c……数据集N集中式数据仓库……仓库模型的主要优缺点:优点:数据统一存储和管理,确保了数据的实时性。数据仓库对数据复杂性的统一封装,有利于数据共享。采用黑板模型,与某类数据有关的应用系统能及时获取数据。采用数据订阅推送模型,应用系统在有数据更新时,能动获得数据,而不用采取询问方式,这就提高了数据管理效率。各应用系统间仅通过数据仓库完成数据交换,在功能上没有关联,增加、删除应用系统及其部分功能,将不会影响其它应用系统的正确运行。软件体系结构设计仓库模型的主要优缺点:不足:为了对数据仓库数据进
5、行操作,不同应用系统的数据视图必须统一,否则难易达到数据共享的目的,但这不可避免的会降低各应用系统的效率。如果应用系统的数据结构发生改变,就需要单独设计数据适配器,以实现新的结构与数据仓库在数据上的匹配。这不仅增加应用系统设计的复杂度,而且有时甚至是难以完成这样的数据匹配。随着网络技术的发展,数据共享带来的访问控制的复杂性、安全性、效率、备份、存储、恢复策略等一系列问题,影响了仓库模型的有效利用。软件体系结构设计二、客户端/服务器模式的分布式结构C/S结构是一种分布式模型,采用发请求、得结果的模式:客户机向服务器发出请求(数据请求、网页请求、文件传输请求等等),服务器
6、响应请求,进行相应的操作,将结果回传给客户机,客户机再将格式化后的结果呈现给用户。C/S结构的应用都由三个相对独立的逻辑部分组成:用户界面应用逻辑数据访问三种逻辑之间的关系软件体系结构设计两层客户机/服务器模型TwoTierClient/ServerArchitecturalModel服务器1网络服务器2服务器M客户1客户2客户N两层Client/Server结构请求结果请求C/S的工作模式是一种远程过程调用(RPC,RemoteProcedureCall)模式,允许客户端和服务器端有不同的软硬平台。软件体系结构设计层次模型——又称为分层模型,通常用于建立子系统的接口
7、模型。每层提供一组服务,每层定义一个抽象机。应用层协议表示层协议会晤层协议传输层协议物理介质应用层表示层会晤层传输层网络层数据链路层物理层应用层表示层会晤层传输层网络层数据链路层物理层网络层数据链路层物理层网络层数据链路层物理层中继系统中继系统主机系统主机系统优点:支持增量式开发。缺点:系统构成,性能保证较困难。软件体系结构设计模块是程序语句的集合,它拥有独立的命名,明确的输入、输出和范围。程序设计中的函数、过程、类、库等都可作为模块。模块用矩形框表示,并用模块名称来命名。模块化设计例:将问题(P1+P2)分解为P1,P2设函数C(x)定义问题x的复
此文档下载收益归作者所有