信息系统分析与设计 教学课件 ppt 作者 姜同强 CH07系统设计

上传人:E**** 文档编号:89498064 上传时间:2019-05-25 格式:PPT 页数:139 大小:1.16MB
返回 下载 相关 举报
信息系统分析与设计 教学课件 ppt 作者 姜同强 CH07系统设计_第1页
第1页 / 共139页
信息系统分析与设计 教学课件 ppt 作者 姜同强 CH07系统设计_第2页
第2页 / 共139页
信息系统分析与设计 教学课件 ppt 作者 姜同强 CH07系统设计_第3页
第3页 / 共139页
信息系统分析与设计 教学课件 ppt 作者 姜同强 CH07系统设计_第4页
第4页 / 共139页
信息系统分析与设计 教学课件 ppt 作者 姜同强 CH07系统设计_第5页
第5页 / 共139页
点击查看更多>>
资源描述

《信息系统分析与设计 教学课件 ppt 作者 姜同强 CH07系统设计》由会员分享,可在线阅读,更多相关《信息系统分析与设计 教学课件 ppt 作者 姜同强 CH07系统设计(139页珍藏版)》请在金锄头文库上搜索。

1、2019/5/25,7.1,第7章,系统设计 SYSTEM DESIGN,学习目标,内容概要: 系统设计的任务和原则 总体设计(系统总体结构设计、数据库) 详细设计(代码设计、输入界面设计、输出界面设计、人机界面设计、处理过程设计) 系统设计的结果系统设计说明书,学习目标,学习完本章后,你应该具备以下能力: 理解系统设计的基本内容和每个层次的内容 掌握系统总体结构设计的基本思想、工具、模块分解的基本原则。 理解代码设计的基本原则,能正确识别代码的类型。 掌握人机界面设计的方法和内容。 理解输入设计的内容、原则,掌握输入界面设计的方法和内容。 理解输出设计的形式,掌握输出界面设计的方法和内容。

2、熟记系统设计说明书的内容。,7.1系统设计概述,一、系统设计的基本任务 设计(design)就是进行系统地计划,并利用图形表示详细方案。在设计阶段,我们将构造系统,并获得实现所有需求(包括非功能需求和其它约束)的系统组织,包括系统构架(architecture)。系统分析的结果(即分析模型)是设计的基本输入。 系统设计是一个描述、组织和构造系统部件的过程。设计阶段对分析模型进行扩展并将模型进一步细化,并考虑技术细节和限制条件。设计的目的是指定一个可行的解决方案,以便能很容易地转变成为编程代码。,7.1系统设计概述,一、系统设计的基本任务 系统设计阶段的任务是赋予系统分析阶段所确定的新系统的功能

3、一种具体的实现方法和技术。因此,系统设计的主要任务是依据系统分析报告,全面地确定系统应具有的功能和性能要求。 系统设计的主要任务有: 系统总体设计。包括应用软件系统总体结构设计、信息系统体系结构设计、数据库设计、计算机及网络系统配置方案设计。 系统详细设计:代码设计、用户界面设计、输入/输出设计、处理功能设计。 编写系统设计报告。,7.1系统设计概述,二、系统设计的基本内容 系统设计分为两个层次(或过程): 总体设计 详细设计,7.1系统设计概述,系统 设计,详细设计,硬件、软件平台配置及网络设计,输入/输出设计,界面设计,程序设计,总体设计,软件体系结构设计,信息系统体系结构设计,数据库设计

4、,7.1系统设计概述,7.1系统设计概述,总体设计的主要任务是描述、组织和构造新系统的体系结构。包括软件体系结构设计、信息系统体系结构设计、网络设计等内容。 体系结构设计(architecture design)是一个从较高层次进行的设计,用来定义包(子系统),描述包之间的依赖性及通信机制。目的是要设计一个清晰简单的体系结构,有很少的依赖性,而且尽可能避免双向依赖。一个良好的体系结构设计是一个可扩展的和可改变的系统的基础。包可能关注特定的功能领域或关注特定的技术领域。把应用程序逻辑(域类)和技术逻辑分开是至关重要的,这样不管哪一部分的改变都不会影响其他的部分。,7.1系统设计概述,详细设计(d

5、etailed design)。在此阶段,所有的类都详尽地进行描述,给编写代码的程序员一个清晰的规范说明。 详细设计属于低层设计,包括代码设计、输入设计、输出设计、界面设计、应用程序设计。,7.1系统设计概述,三、系统设计的基本原则 信息系统设计应该遵循以下基本原则: 严格遵循系统分析报告所提供的文档资料,不能任意更改系统功能和性能要求。 权衡系统的投资和效益的比例。 保证系统的效率和质量。系统效率包括系统的处理能力、速度、响应时间等因素;系统质量包括系统提供的信息的完整性、准确性以及与表现形式有关的指标(如粒度、介质等)。 体现系统的可扩展性和可适应性。 合理运用先进和成熟的技术。即既要考虑

6、系统的先进性又要避免更大的风险。 保证系统的安全性。 产生完备的系统设计报告。,7.1系统设计概述,四、从系统分析与系统设计 第一种观点(图)认为系统分析强调的是系统的功能是什么(系统做什么),而系统设计强调的是如何实现这些功能(系统如何做)。也就是说,系统分析与系统设计之间是一种映射关系,即系统分析的结果需要通过某些规则转化(映射)为系统设计的结果。结构化方法是这种观点的典型代表。在结构化方法中,需要将结构化分析阶段产生的数据流程图转化为系统的结构图。一般认为这种分析到设计的过渡是不平滑的,存在很多问题。,2019/5/25,7.13,将分析模型转换为设计,数据字典,状态转换图,过程设计,接

7、口设计,体系结构设计,数据设计,7.1系统设计概述,四、从系统分析与系统设计,第1种观点:映射关系,7.1系统设计概述,四、从系统分析与系统设计 第二种观点(图认为系统分析与系统设计仅仅是在工作空间上面有所不同。分析阶段是在问题域空间上描述系统的,而系统设计阶段则是在系统分析的基础上,扩大为实现空间。也就是说,系统分析与系统设计之间是一种增量的关系。很多面向对象方法就是采用的这种观点。这种观点强调分析阶段应该建立一个与实现无关的模型,与实现有关的问题(编程语言、数据库、图形用户界面等)则是系统设计阶段的任务。,7.1系统设计概述,四、从系统分析与系统设计,第2种观点:增量关系,2019/5/2

8、5,7.17,一、定义 软件体系结构(software architecture)是一个程序系统各构件的结构、它们之间的相互关系以及进行设计的原则和随时间进化的指导方针。,7.2 软件体系结构设计,2019/5/25,7.18,二、类型,7.2 软件体系结构设计,2019/5/25,7.19,二、类型 系统模型的设计目标是提高实际应用系统的开放性和集成性,同时兼顾效率。 软件系统的开放性包括数据的开放性、功能的开放性和系统的可扩充性,是否具备良好的开放性基本取决于系统模型。 软件系统的集成性是指通过一致的信息描述手段和处理机制将各功能子系统统一到同一个集成环境,集成性的好坏也基本取决于系统模型

9、。 软件系统的效率通常包括系统运行的效率和应用开发的效率。运行效率是系统运行时的时空复杂度,而应用开发的效率指开发的难易程度和执行效率。效率大部分取决于系统模型,也与系统的具体实现有关。,7.2 软件体系结构设计,2019/5/25,7.20,二、类型 系统模型的设计目标是提高实际应用系统的开放性和集成性,同时兼顾效率。 软件系统的开放性包括数据的开放性、功能的开放性和系统的可扩充性,是否具备良好的开放性基本取决于系统模型。 软件系统的集成性是指通过一致的信息描述手段和处理机制将各功能子系统统一到同一个集成环境,集成性的好坏也基本取决于系统模型。 软件系统的效率通常包括系统运行的效率和应用开发

10、的效率。运行效率是系统运行时的时空复杂度,而应用开发的效率指开发的难易程度和执行效率。效率大部分取决于系统模型,也与系统的具体实现有关。,7.2 软件体系结构设计,2019/5/25,7.21,二、类型 系统模型的设计目标是提高实际应用系统的开放性和集成性,同时兼顾效率。 软件系统的开放性包括数据的开放性、功能的开放性和系统的可扩充性,是否具备良好的开放性基本取决于系统模型。 软件系统的集成性是指通过一致的信息描述手段和处理机制将各功能子系统统一到同一个集成环境,集成性的好坏也基本取决于系统模型。 软件系统的效率通常包括系统运行的效率和应用开发的效率。运行效率是系统运行时的时空复杂度,而应用开

11、发的效率指开发的难易程度和执行效率。效率大部分取决于系统模型,也与系统的具体实现有关。,7.2 软件体系结构设计,2019/5/25,7.22,一、结构化设计的基本原理 定义:结构化设计(Structured Design,SD)是运用一组标准的准则和工具帮助系统设计员确定软件系统是由哪些模块组成的,这些模块用什么方法联结在一起,才能构成一个最优的软件系统结构。,7.3 结构化设计,2019/5/25,7.23,三个问题: 如何构造(导出)软件的总体结构?即设计方法和策略问题。 什么样的软件结构是“最优”的?即软件评估准则问题。 如何表述软件的结构?即软件设计工具问题。,7.3 结构化设计,2

12、019/5/25,7.24,一、结构化设计的基本原理 系统设计的根本目标是设计一个灵活的、具有可维护性的信息系统。而影响系统灵活性和可维护性的一个关键因素是软件系统的总体结构,即构成软件的元素(模块)以及这些元素之间的相互关系(接口)。因此,结构化设计首先强调的是软件的总体结构,其次才是程序的内部处理逻辑(程序结构)。这样设计出来的系统大大提高了系统的可维护性和灵活性。,7.3 结构化设计,2019/5/25,7.25,一、结构化设计的基本原理 1.模块化 模块(module)是由一组程序设计语句组成的集合。模块的概念类似于某些程序设计语言中的子程序(subroutine)、函数(functi

13、on)或过程(procedure)。 模块是由边界元素限定的相邻的程序元素(例如,数据说明,可执行的语句)的序列,而且有一个总体标识符来代表它。像Pascal或Ada这样的块结构语言中的Beginend对,或者C,C+和Java语言中的对,都是边界元素的例子。因此,过程、函数、子程序和宏等,都可作为模块。面向对象范型中的对象是模块,对象内的方法也是模块。模块是构成程序的基本构件。,7.3 结构化设计,2019/5/25,7.26,一、结构化设计的基本原理 1.模块化 模块的基本特征: 模块由以下四个属性: 输入、输出,也称之为接口(interface) 功能(function) 内部处理逻辑(

14、logic) 内部数据(internal data) 其中,接口和功能刻画了模块的外部属性或特征,处理逻辑和内部数据则刻画了模块的内部属性。,7.3 结构化设计,2019/5/25,7.27,7.3 结构化设计,2019/5/25,7.28,模块化原则要求: 每个模块表示一个自我包含的逻辑任务; 每个模块都是简单的; 模块是封闭的; 每个模块都是可以独立测试的; 每个模块对应单一的独立的程序功能; 每个模块有单一的入口和出口; 每个模块都由一个标准返回点返回上层模块开始执行该模块的那一点; 可以把多个模块组合成较大的模块,而不必使用关于模块内部构造的知识; 模块有严格规定的接口,其中包括由入口

15、和出口形成的控制连接,由参数和共享的公用数据形成的数据连接,以及由模块间的服务支持形成的功能连接。,7.3 结构化设计,2019/5/25,7.29,模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。 Meyer提出了五条标准,我们可以用这五条标准来评价一种设计方法定义有效的模块系统的能力。下面列出这五条标准。 (1) 模块可分解性 如果一种设计方法提供了把问题分解为子问题的系统化机制,它就能降低整个问题的复杂性,从而可以实现一种有效的模块化解决方案。,7.3 结构化设计,2019/5/25,7.30,(

16、2) 模块可组装性 如果一种设计方法能把现有的(可重用的)设计构件组装成新系统,它就能提供一种并非一切都从头开始做的模块化解决方案。 (3) 模块可理解性 如果可以把一个模块作为一种独立单元(无需参考其他模块)来理解,那么,这样的模块是易于构造和易于修改的。 (4) 模块连续性 如果对系统需求的微小修改只导致对个别模块,而不是对整个系统的修改,则修改所引起的副作用将最小。,7.3 结构化设计,2019/5/25,7.31,(5) 模块保护性 如果在一个模块内出现异常情况时,它的影响局限在该模块内部,则由错误引起的副作用将最小。,7.3 结构化设计,2019/5/25,7.32,模块独立性的优点: 系统容易开发:采用模块化原理可以使软件结构清晰,不仅容易设计也容易阅读和理解。 系统可靠性高:模块化使软件容易测试和调试,因而有助于提高软件的可靠性。 系统容易维护:因为程序错误通常局限在有关的模块及它们之间的接

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号