第7章系统设计第7章系统设计7.1概述7.2系统平台设计7.3拓扑结构和计算模式设计7.4软件结构设计7.5详细设计7.6数据库设计第7章系统设计7.1概述7.1.1系统设计的任务和特点在信息系统开发中,突出信息系统特征的业务、管理、决策等因素已经在前续阶段中被消融和解决,到了系统设计阶段,信息系统的设计与一般软件系统的设计已经没有太大的区别,软件工程对软件设计的思想、方法、技术和过程完全适应于信息系统的设计。因此,信息系统的设计也就基本等同于软件系统的设计。第7章系统设计系统设计的任务是,为实现信息系统需求模型所规定的功能和性能要求,考虑信息系统实现环境,通过对信息系统分析模型的综合分析和细化,确定出信息系统的设计模型。第7章系统设计与系统分析相比,系统设计具有以下特点:(1)设计性。设计不同于分析,设计是根据系统的要求,得出实现系统的方案。所以,系统设计是根据需求确定系统方案的过程。(2)具体化。相对于系统分析的概念性而言,系统设计不能停留在概念层次上,必须具体化、细致化。(3)复杂性。系统设计涉及到具体细节,工作量大、头绪繁多,一般要比系统分析多出近乎5倍的工作量,因此,设计人员必须认真对待。(4)往复性。一个成熟的设计方案并不是一次完成的,而需要经过多次的迭代反复才能够完成。第7章系统设计7.1.2系统设计的主要工作1.平台设计2.结构设计3.详细设计4.界面设计5.数据库设计第7章系统设计主要工作简介1.平台设计信息系统平台是信息系统开发和运行的环境,包括网络、计算机、相关设备、支撑软件和系统软件等。平台设计需要根据信息系统设计要求,通过对技术和市场的综合分析,确定出网络结构、设备选型和软件平台方案。第7章系统设计2.结构设计在设计工作中,需要确定信息系统的拓扑结构、计算模式和软件结构。3.详细设计详细设计是对软件结构中确定出的各个子系统内部的设计,需要分析和确定每一个子系统中的用例设计、设计类和接口。4.界面设计界面设计是对人和外部系统与信息系统之间交互界面的设计。它包括输入界面、输出界面和混合界面的设计。第7章系统设计5.数据库设计数据库是信息系统存储和管理数据的主要技术手段,数据库设计的任务是根据给定的信息系统应用需求和系统环境,设计出合理的数据库结构。数据库设计需要经过概念设计、逻辑设计和物理设计等步骤。第7章系统设计7.1.3信息系统设计模型和软件模型信息系统设计模型是对信息系统设计方案的抽象描述,它要完整描述信息系统设计的内容,并具有简明、抽象、概括和规范等特点。信息系统设计模型包括平台模型、拓扑计算模型(拓扑结构和计算模式)、软件模型、界面模型和数据库模型等内容(见图7.1)。第7章系统设计图7.1信息系统设计模型信息系统设计模型平台模型拓扑计算模型软件模型界面模型数据库模型第7章系统设计软件模型的构成见图7.2。软件系统是软件模型的顶层视图,它由子系统、设计类、用例设计和接口构成。系统中的绝大部分设计类和用例设计均处在子系统中,但对系统具有重要意义的少数用例设计和设计类也可能不包括在子系统中,而直接属于软件系统。第7章系统设计图7.2软件模型**设计类1软件系统*用例设计软件模型子系统*接口第7章系统设计图7.3用例设计到用例分析和用例的跟踪需求模型用例《跟踪》逻辑模型用例分析《跟踪》设计模型用例设计第7章系统设计用例设计包括用例的设计类图和交互图。设计类图反映一个用例中的设计类所呈现的静态结构。与分析类图相比较,设计类图更详细、更具体。设计类图所反映的设计类之间的关系应该能够被所采用的程序设计语言所支持。通过交互图,可描述在实现一个用例过程中各个设计类之间的消息联系过程第7章系统设计接口是设计类或子系统对外所能够提供的操作。接口并不涉及到对设计类或子系统操作的实现。接口也是设计类或子系统对外所提供的操作视图,其它设计类或子系统通过接口来与提供接口的设计类发生关系。接口的实现如图7.4所示。(你所知道的软件接口有哪些?)第7章系统设计图7.4接口的实现实现实现**接口子系统设计类第7章系统设计7.2系统平台设计7.2.1网络设计信息系统一般都是集成式、综合性系统,网络把系统的各个部分连接到一起以形成一体化系统,网络在系统设计中占有很重要的地位。第7章系统设计网络设计主要包括网络需求分析、网络结构设计和网络详细设计三部分内容。1.网络需求分析网络需求分析是通过对所开发的信息系统的规模、系统所覆盖业务的地域分布、计算机设备、网络服务等方面需求的分析,为确定网络总体结构、网络详细设计提供依据。网络需求分析需要调查和分析以下6方面的内容。第7章系统设计1)信息系统的特征对网络的需求:办公自动化系统和CIMS系统对网络的结构和布局有不同的要求。2)信息系统拓扑结构和计算模式对网络的需求3)信息系统业务所覆盖的地理分布4)网络服务需求:数据库访问方式和数据存储分布模式;文件传输和存取需求;电子邮件和远程通信需求;企业网与社会网、因特网的互连需求等。5)信息类型和信息量6)性能需求:系统对网络的效率、速度、可靠性、安全性等性能要求。第7章系统设计2.网络结构设计网络结构设计的主要任务是根据网络需求分析的结果,设计出能够满足信息系统需要、结构合理、易于扩充、性能价格比高的系统网络总体结构。系统网络总体结构可以采用单级、二级和多级结构。第7章系统设计1)单级结构对于规模较小、地域相对集中的小型系统,可以采用单级网络结构。单级结构一般采用一个小型局域网,各部分之间可以采用集线器、网桥连接,如果在局域网中还有异构网络,可以采用网关。2)二级结构对于分布地域范围较广、管理复杂的中型系统,可以采用二级网络结构。二级网络结构一般由高速主干网和多个局域网构成。主干网可以选择FDDI、交换网、ATM或快速以太网等技术。第7章系统设计3)多级结构对于跨地区、跨省、跨国的大型或超大型系统,则需要采用多级网络结构。在多级网络结构中,一般顶层采用社会公用网或专用广域网,二级和三级则为骨干网和主干网,最下一级为局域网。第7章系统设计3.网络详细设计网络详细设计包括网络节点设计、网络设备选型、网络布线设计、网络操作系统选择、网络管理设计等内容。1)网络节点设计网络节点设计指通过网络需求分析,详细确定每一个网络节点的具体位置、设备类型和连网设备,并绘制出网络节点分布图,以便根据网络节点分布图进行设备选型和网络布线设计。第7章系统设计2)网络设备确定及选择需要详细确定整个网络系统所需要的服务器、路由器、集线器、网关、网桥、网卡、网线等网络设备。还需要根据网络的功能和性能需求,确定各个网络设备的性能指标。例如,服务器需要多大存储容量、多高速度;根据系统的安全性、可靠性要求确定是选择双服务器系统、磁盘镜像技术,还是采用单服务器。第7章系统设计3)网络布线设计根据网络节点设计的结果和具体地理分布,要进行细致的网络布线设计。目前网络布线一般对网络系统、电话系统、监控系统采用统一布线方式,这种布线方式叫做结构化布线。结构化布线设计需要由低层向高层逐层进行布线设计。首先在办公室确定网络设备位置和插座位置;再确定每个楼层的水平布线;然后确定楼层的垂直布线;最后确定主干网线的布线。第7章系统设计4)网络操作系统选择网络操作系统是网络的核心软件。一般在大型网络系统中并不一定只选择一个统一的网络操作系统。有时可能会采用多个网络操作系统。目前可供选择的网络操作系统有UNIX、WindowsNT、NetWare、OS2等,可根据系统需要进行选择。5)网络管理设计对网络系统需要进行有效管理。一般大型网络系统采用一个网络管理中心、多个网管分中心的方式。网络管理设计需要确定网络管理结构、网络管理软件、网络管理职责和人员等。第7章系统设计7.2.2物理设备设计除了网络系统之外,信息系统还包括大量的计算机和相关信息设备等物理设备,根据需要正确地选择物理设备也是平台设计的一个主要内容。1.物理设备的基本类型信息系统的物理设备一般包括以下类型:1)计算机系统计算机系统有多种形式。按规模和性能分有巨型机、大型机、中型机、小型机、工作站和微型机;按用途分有通用机和专用机。第7章系统设计2)相关I/O设备每一个计算机系统都有各自的I/O(输入/输出)设备,除了计算机系统所配置的I/O设备之外,根据需要,不同类型的信息系统还需要配置一些特殊的I/O设备。相关的I/O设备有共享打印机、扫描仪、绘图仪、条码阅读器、IC卡读写器、磁卡读写机、数字照相机、投影仪、专用键盘、声光传感器等。3)多媒体设备多媒体设备有触摸屏、图像摄取仪、声/视卡、图像处理卡、音箱、功率放大器、摄像机、录像机、解压卡等。第7章系统设计4)办公设备办公信息系统还要配置大量的办公自动化设备。一般办公自动化设备有会议系统、复印机、碎纸机等。5)电源系统电源系统有不间断电源、稳压器等。6)机房设备机房设备有电力系统、布线系统、安全系统、消防系统、照明设备、制冷设备、清洁设备等。第7章系统设计2.物理设备设计物理设备设计是根据信息系统的设计要求,确定信息系统物理设备方案。所设计的物理设备方案在能够充分满足信息系统功能需要的前提下,还应该满足系统的效率、可靠性、安全性和适应性等性能要求,并具有较高的性价比。第7章系统设计7.2.3软件平台设计软件平台是信息系统开发和运行所需的集成软件系统。设计和选择高效、实用、方便、功能齐全的软件平台,对信息系统开发有着十分重要的意义。目前,可供选择的软件平台很多,软件平台设计就需要系统分析员根据实际开发的需要,充分考虑各种软件平台的性能和适应范围,并结合开发队伍对软件平台的使用经验,选择出有效的软件平台。第7章系统设计1.操作系统操作系统是计算机系统中最重要的系统软件。目前主要的大型操作系统有UNIX、WindowsNT、OS/2、Macintosh等;在微机上运行的桌面操作系统有Windows95、Windows98、WindowsME、WindowsXP等。这些操作系统各有其适应面和优缺点,应根据需要进行选择。第7章系统设计2.支撑软件支撑软件是协助人们开发和维护软件的工具和环境软件。编辑程序、数据库系统、集成开发环境等都属于支撑型软件,如VisualBasic、Delphi、PowerBuilder、Oracle、Java等。支撑软件主要包括以下几方面软件:1)数据库管理系统DBMS在数据库服务器上的DBMS对数据库实施集中管理,可以并发地处理多个客户机发来的数据处理请求。常见的数据库管理系统有SQL-Server、Oralce、Sybase、Informix、DB2等,系统分析员可以根据自己的需要进行选择。第7章系统设计2)客户端开发软件客户端开发软件十分丰富,系统开发人员可以根据设计需要进行选择,选择客户端开发软件要考虑继承性。常见的客户端开发软件有PowerBuilder、VisualBasic、VisualC++、Delphi、VisualFoxpro、Java等。3)中间件协议和软件在网络设计中已经确定了网络操作系统和网络传输协议中间件。还要进一步确定的中间件有:(1)数据库中间件。通过数据库中间件,可允许客户在异构数据库上调用基于SQL的服务。数据库中间件有ODBC、DRDA、IDAPI、RDA、ORACLE-GLUE等。第7章系统设计(2)事务处理中间件。通过事务处理中间件,可允许客户在多个事务服务器上调用服务。事务处理监视器允许不同的服务器控制其本地资源,并在需要访问本地资源时与其它事务处理监视器进行合作。事务处理监视器保证服务器内和服务器之间的所有活动的完整性。这方面的标准包括TUXEDO的ATMI、ENCINA的RPC和X/Open的TXRPC等。(3)群件中间件。通过群件中间件,客户可以在多个群件服务器上调用服务。目前群件中间件有电子邮件方面的PAPI及LotusNotesAPI等。第7章系统设计3.CASE平台采用CASE开发环境可以保证信息系统开发质量,提高开发效率,保证文档的一致性,减轻开发人员的工作负担。CASE平台与所支持的系统开发方法有直接联系