《信息系统分析与设计第四章讲课稿.ppt》由会员分享,可在线阅读,更多相关《信息系统分析与设计第四章讲课稿.ppt(48页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第4章章系统系统(xtng)设计设计第一页,共48页。2第四第四章章系统系统(xtng)设计设计理解理解(lji)(lji)系统设计的基本概念系统设计的基本概念掌握架构设计掌握架构设计掌握持久化设计掌握持久化设计掌握功能设计掌握功能设计掌握界面设计掌握界面设计第二页,共48页。面向对象的技术特征面向对象的技术特征该环节为系统实现该环节为系统实现(shxin)设计出图纸,关注系统设计出图纸,关注系统实现实现(shxin)的的所有细节所有细节细逻辑模,要更多地结合物理实现细逻辑模,要更多地结合物理实现(shxin)系统系统(xtng)设计做什么设计做什么第三页,共48页。4.1.1面向对象的系统
2、设计过程面向对象的系统设计过程信息系统开发过程主要包括信息系统开发过程主要包括(boku)瀑布式瀑布式(Waterfall)、迭代式()、迭代式(Iterative)和综合了前)和综合了前两者特点的阶段交付(两者特点的阶段交付(StagedDelivery)式三)式三种开发模型。种开发模型。4.1系统系统(xtng)设计概述设计概述第四页,共48页。1、瀑布、瀑布(pb)式开发式开发自上而下,环环相扣避免逆向(n xin)过程第五页,共48页。2、迭代、迭代(didi)式开发式开发首先,进行子系统划分各子系统过程,力求每一个系统直接进入运行(ynxng)状态最后,完成集成。第六页,共48页。3
3、、阶段、阶段(jidun)交付式开发交付式开发瀑布式和迭代式的结合按照瀑布式做系统分析和高层(o cn)系统设计按迭代式完成子系统设计,实施和测试。第七页,共48页。瀑布式:过于理想化,越来越少瀑布式:过于理想化,越来越少迭代式:便于分工,便于纠错,频繁的沟通和联迭代式:便于分工,便于纠错,频繁的沟通和联系致使既懂沟通,又懂系统分析的人员紧缺系致使既懂沟通,又懂系统分析的人员紧缺(jnqu)。阶段交付式:折中策略,由于上述人员紧缺阶段交付式:折中策略,由于上述人员紧缺(jnqu),就,就将需求调查和系统分析外包,导致了此种方式的将需求调查和系统分析外包,导致了此种方式的出现。出现。三种方式三种
4、方式(fngsh)的比较的比较第八页,共48页。值得注意的是要避免实际开发过程中的一种值得注意的是要避免实际开发过程中的一种“伪伪迭代式迭代式”开发模型。开发模型。两种最常见的伪迭代症状:两种最常见的伪迭代症状:整个开发过程经历了若干次系统分析迭代,若整个开发过程经历了若干次系统分析迭代,若干次系统设计迭代,干次系统设计迭代,。,。经过经过(jnggu)多次迭代,得到了接近完工的产品,多次迭代,得到了接近完工的产品,只差最后的测试。只差最后的测试。第九页,共48页。两种伪迭代两种伪迭代(didi)式的开发模型式的开发模型第十页,共48页。P994.1.2标题下的一段标题下的一段1、类的物理结构
5、,类间联系(核心是上一章、类的物理结构,类间联系(核心是上一章(yzhn)的那的那个模型?)个模型?)2、数据库的物理设计、输入输出设计、数据库的物理设计、输入输出设计3、方案评价、方案评价4.1.2功能设计的基本功能设计的基本(jbn)任务任务第十一页,共48页。具备计算机知识和软件开发经营具备计算机知识和软件开发经营(jngyng)能力,又能力,又懂系统分析和系统设计知识。懂系统分析和系统设计知识。系统分析员在系统设计中不承担主要任务,但是系统分析员在系统设计中不承担主要任务,但是负责对设计结果的评审和修正。负责对设计结果的评审和修正。4关于关于(guny)系统设计员系统设计员第十二页,共
6、48页。系统功能设计需要考虑以下几个方面的问题系统功能设计需要考虑以下几个方面的问题1、寻找到合适的对象(、寻找到合适的对象(P100第二段)第二段)2、决定对象的粒度(、决定对象的粒度(P100小标题)小标题)同样一个同样一个(y)系统,两个设计师给出两种设计。系统,两个设计师给出两种设计。第一第一个设计有个设计有5个类,第二个个类,第二个25个类。这样平均起来每个类。这样平均起来每个类所含有的代码行数就有很大的区别,第一种个类所含有的代码行数就有很大的区别,第一种设计中的代码行数平均是第二种设计的设计中的代码行数平均是第二种设计的5倍。第一倍。第一种设计是粗粒度的,第二种设计是细粒度的。种
7、设计是粗粒度的,第二种设计是细粒度的。3、确定对象的接口、确定对象的接口4.1.2功能设计的基本功能设计的基本(jbn)任务任务第十三页,共48页。总体的原则是出了问题不要滞留,尽早解决。总体的原则是出了问题不要滞留,尽早解决。1、正确性(原分析阶段的业务逻辑是否、正确性(原分析阶段的业务逻辑是否(shfu)可以正确执行)可以正确执行)2、完整性(结构完整和组成部分)、完整性(结构完整和组成部分)3、可靠性(可靠的系统设计工具)、可靠性(可靠的系统设计工具)4、类设计的合理性、类设计的合理性5、接口定义严谨(能私有的不要公有)、接口定义严谨(能私有的不要公有)6、图表文档完备、图表文档完备4.
8、1.3功能设计的评价功能设计的评价(pngji)标标准准第十四页,共48页。4.1.4系统设计的步骤及工作系统设计的步骤及工作(gngzu)产品产品第十五页,共48页。4.2.1系统架构简介系统架构简介1、系统架构的概念、系统架构的概念系统架构一般特指系统的软件架构(系统架构一般特指系统的软件架构(SoftwareArchitecture),也被称作软件体系结构,是有),也被称作软件体系结构,是有关软件整体结构与组件的抽象关软件整体结构与组件的抽象(chuxing)描述,描述,用于指导大型软件系统各个方面的设计。用于指导大型软件系统各个方面的设计。但是实际是一种比较形象的描述系统组成的直观但是
9、实际是一种比较形象的描述系统组成的直观图。图。4.2系统系统(xtng)架构设计架构设计第十六页,共48页。系统系统(xtng)架构的变迁架构的变迁应用程序和数据(shj)的分离表述层和业务逻辑的分离第十七页,共48页。P103表述层:提供人机交互界面(表述层:提供人机交互界面(GUI)业务业务(yw)逻辑层:实现各种业务逻辑层:实现各种业务(yw)逻辑(比如逻辑(比如身份验证)身份验证)数据库:提供数据数据库:提供数据第十八页,共48页。2、物理、物理(wl)分层和逻辑分层分层和逻辑分层P(104)硬件分层系统(xtng)逻辑分层第十九页,共48页。3、软件分层的特征、软件分层的特征层与层之
10、间应该存在且只能够存在自上而下的层与层之间应该存在且只能够存在自上而下的依赖关系依赖关系每层只对上层公开接口,把实现细节封装起来,每层只对上层公开接口,把实现细节封装起来,不为外界所知不为外界所知(suzh),即所谓的,即所谓的“透明透明”同层组成部分之间应该存在内在的逻辑联系,同层组成部分之间应该存在内在的逻辑联系,不要把与本层业务关系较弱的程序包含进来不要把与本层业务关系较弱的程序包含进来第二十页,共48页。4、分层的优缺点、分层的优缺点易维护(当需求发生变化时,只做较小的修改易维护(当需求发生变化时,只做较小的修改甚至是不修改,就能适应)甚至是不修改,就能适应)可扩展性(增加新的功能,层
11、数越少调整越大)可扩展性(增加新的功能,层数越少调整越大)可重用性(系统中一个模块的重用性)可重用性(系统中一个模块的重用性)高安全性(层间设立安全机制)高安全性(层间设立安全机制)可伸缩性(实际是建立和维持可伸缩性(实际是建立和维持(wich)的关系)的关系)第二十一页,共48页。建立一个数据库连接是一件非常耗时(消耗时间)耗力(消耗资源)建立一个数据库连接是一件非常耗时(消耗时间)耗力(消耗资源)的事情。之所以会这样,是因为连接到数据库服务器需要经历的事情。之所以会这样,是因为连接到数据库服务器需要经历几个漫长的过程几个漫长的过程:建立物理通道(例如套接字或命名管道),与建立物理通道(例如
12、套接字或命名管道),与服务器进行初次握手,分析连接字符串信息,由服务器对连接服务器进行初次握手,分析连接字符串信息,由服务器对连接进行身份验证,运行检查以便在当前事务中登记等等。进行身份验证,运行检查以便在当前事务中登记等等。连接池就是这样一个容器:它存放了一定数量的与数据库服务器连接池就是这样一个容器:它存放了一定数量的与数据库服务器的物理连接。因此的物理连接。因此(ync),当我们需要连接数据库服务器的时候,当我们需要连接数据库服务器的时候,只需去池(容器)中取出一条空闲的连接,而不是新建一条连只需去池(容器)中取出一条空闲的连接,而不是新建一条连接。这样的话,我们就可以大大减少连接数据库
13、的开销,从而接。这样的话,我们就可以大大减少连接数据库的开销,从而提高了应用程序的性能。提高了应用程序的性能。数据数据(shj)池原理池原理第二十二页,共48页。软件分层并非百利而无一害,分层的缺点主要软件分层并非百利而无一害,分层的缺点主要(zhyo)包括包括过度分层将导致系统运行效率下降(用空间换过度分层将导致系统运行效率下降(用空间换时间)时间)分层导致系统设计愈发复杂分层导致系统设计愈发复杂运行调试困难运行调试困难不适合小系统不适合小系统第二十三页,共48页。24逻辑逻辑(luj)架构架构软件系统中元件之间的关系,比如用户界面软件系统中元件之间的关系,比如用户界面(ynhjimin),
14、数据库,数据库,外部系统接口,商业逻辑元件等等。外部系统接口,商业逻辑元件等等。第二十四页,共48页。25逻辑逻辑(luj)架构架构第二十五页,共48页。26逻辑逻辑(luj)架构架构问题,本书的会员卡管理系统,如果设计逻辑问题,本书的会员卡管理系统,如果设计逻辑(luj)模型应该是怎样的?模型应该是怎样的?第二十六页,共48页。27物理物理(wl)架构架构软件元件是怎样放到硬件软件元件是怎样放到硬件(ynjin)上的上的下图是一个蓝电变电站信息管理系统解决方案中,就使用了下图是一个蓝电变电站信息管理系统解决方案中,就使用了C/S与与B/S混合结构的混合结构的方式,其物理构架如下。方式,其物理
15、构架如下。第二十七页,共48页。28物理物理(wl)架构架构第二十八页,共48页。第二十九页,共48页。双层架构的典型代表是双层架构的典型代表是C/S架构架构三层架构的典型代表是三层架构的典型代表是B/S架构架构基于基于B/S架构的信息系统开发中最常采用的是架构的信息系统开发中最常采用的是MVC(Model-View-Controller,模型,模型视图视图(sht)控制器)架构模式控制器)架构模式模型:数据提取和处理(并不是数据持久层)模型:数据提取和处理(并不是数据持久层)试图:以恰当的形式呈现数据,与用户交互。试图:以恰当的形式呈现数据,与用户交互。控制器:控制应用程序流程,协调模型的切
16、换。控制器:控制应用程序流程,协调模型的切换。4.2.2系统系统(xtng)架构的选择架构的选择第三十页,共48页。书的107页(1)-(5)。不要与三层构架混淆,不适合小型(xioxng)系统第三十一页,共48页。第三十二页,共48页。系统架构的配置应在系统总体架构确定后应尽快系统架构的配置应在系统总体架构确定后应尽快加以明确。系统架构的配置决定了后续开发过程加以明确。系统架构的配置决定了后续开发过程中软硬件资源的分布和配比中软硬件资源的分布和配比(pib),也可能根据,也可能根据给定的软硬件资源确定具体采用哪种架构。给定的软硬件资源确定具体采用哪种架构。B/S架构的配置架构的配置(一般至少
17、两台服务器,数据服务一般至少两台服务器,数据服务器和器和web服务器)服务器)C/S架构的配置(至少一台数据服务器)架构的配置(至少一台数据服务器)4.2.3系统系统(xtng)架构的配置架构的配置第三十三页,共48页。系统系统I/O设计包括两方面内容:一是与用户交互与设计包括两方面内容:一是与用户交互与界面设计,二是业务数据界面设计,二是业务数据(shj)的存储设计,后的存储设计,后者在面向对象开发中集中体现为对象的持久化问者在面向对象开发中集中体现为对象的持久化问题。题。4.3系统系统(xtng)I/O设计设计第三十四页,共48页。C/S架构的界面设计比较简单,比如使用架构的界面设计比较简
18、单,比如使用VisualStudio拖拽和可视化控件结合少量代码实现拖拽和可视化控件结合少量代码实现(shxin)。将数据库和数据库管理系统置于服。将数据库和数据库管理系统置于服务器,在局域网客户端安装应用程序即可。务器,在局域网客户端安装应用程序即可。B/S架构必须借助于架构必须借助于web浏览器,把信息系统设置浏览器,把信息系统设置在服务其上打开,客户端可以在浏览器中输入特在服务其上打开,客户端可以在浏览器中输入特定网址,来访问信息系统。借助一些特定的语言,定网址,来访问信息系统。借助一些特定的语言,比如比如Asp,Jsp等等。等等。第三十五页,共48页。显示:在用户界面上画出按钮图形显示
19、:在用户界面上画出按钮图形(txng)。事件的触发:生成按钮点击事件。事件的触发:生成按钮点击事件。事件的响应:响应按钮点击事件并且做出某种操事件的响应:响应按钮点击事件并且做出某种操作。作。业务处理:进行实际的计算。业务处理:进行实际的计算。第三十六页,共48页。对象持久化考虑如何将运行系统中的业务数据永对象持久化考虑如何将运行系统中的业务数据永久保存。久保存。业务对象在内在中无法永久保存,要么导出数据业务对象在内在中无法永久保存,要么导出数据文件,要么存入数据库,否则就会丢失。文件,要么存入数据库,否则就会丢失。并非所有对象都需要并非所有对象都需要(xyo)保存,保存什么主要保存,保存什么
20、主要取决于取决于你的数据建模。你的数据建模。4.3.2对象对象(duxing)的持久化的持久化(P113)第三十七页,共48页。系统功能设计包括系统实体对象设计、系统流程系统功能设计包括系统实体对象设计、系统流程(lichng)对象设计和系统交互设计三部分。对象设计和系统交互设计三部分。4.4系统系统(xtng)功能设计功能设计第三十八页,共48页。实体对象设计的基本思路是在关系实体对象设计的基本思路是在关系(gunx)数据库数据库表字段表字段和实体对象属性之间建立映射关系和实体对象属性之间建立映射关系(gunx)。关于数据冗余:关于数据冗余:冗余的好处的是可以实现一定程度的备份,缺点冗余的好
21、处的是可以实现一定程度的备份,缺点却是可能会导致插入、删除和更新存在异常。却是可能会导致插入、删除和更新存在异常。4.4.1系统实体对象系统实体对象(duxing)设计设计第三十九页,共48页。一个实体对象可以一个实体对象可以(ky)对应一个数据库表,也可对应一个数据库表,也可以以(ky)对应数据库表的一部分,还可以对应数据库表的一部分,还可以(ky)是是几个数据库表连接查询后返回的数据集合,即实几个数据库表连接查询后返回的数据集合,即实体对象应该是整个数据模型的某个子集。体对象应该是整个数据模型的某个子集。具体参见(具体参见(p117,1-4)4.4.1系统实体系统实体(sht)对象设计对象
22、设计第四十页,共48页。实体类的合并,大类可以包含小类,但是如果两实体类的合并,大类可以包含小类,但是如果两个类逻辑比较远可以不合并,制造必要的冗余。个类逻辑比较远可以不合并,制造必要的冗余。某些实体类可能是在流程对象和交互对象设计中某些实体类可能是在流程对象和交互对象设计中发现的,这时需要检查其是否能映射回数据表。发现的,这时需要检查其是否能映射回数据表。所有实体类放在同一所有实体类放在同一(tngy)包中,命名遵守一定包中,命名遵守一定规则。规则。4.4.1系统系统(xtng)实体对象设计实体对象设计第四十一页,共48页。系统流程指的是系统的业务流程,系统流程设计系统流程指的是系统的业务流
23、程,系统流程设计是对系统分析阶段成果的进一步完善和补充,也是对系统分析阶段成果的进一步完善和补充,也是按照整个系统架构设计思路,从物理实现的角是按照整个系统架构设计思路,从物理实现的角度对系统设计进行新的分解和拓展。系统流程对度对系统设计进行新的分解和拓展。系统流程对象设计按照以下两个步骤进行:象设计按照以下两个步骤进行:第一步:换名。第一步:换名。第二步:对类中的方法进行处理第二步:对类中的方法进行处理(chl)。这一步远。这一步远比第一步复杂得多,包括以下内容:比第一步复杂得多,包括以下内容:4.4.2系统流程对象系统流程对象(duxing)设计设计第四十二页,共48页。去除不可实现的方法
24、。去除不可实现的方法。增加功能实现必须增加功能实现必须(bx)的方法。的方法。改变方法作用域。改变方法作用域。为方法增加参数。为方法增加参数。改名。改名。第四十三页,共48页。去除不可实现的方法。去除不可实现的方法。增加增加(zngji)功能实现必须的方法。功能实现必须的方法。改变方法作用域。改变方法作用域。为方法增加为方法增加(zngji)参数。参数。改名。改名。第四十四页,共48页。P112图图4-12会员开管理功能页面会员开管理功能页面P122调整之后发生的变动调整之后发生的变动流程减少和代码流程减少和代码(dim)重用(重用(P121第三段)第三段)消息参数消息参数举例举例(jl)分析
25、分析第四十五页,共48页。以卡类型以卡类型(lixng)管理中的查询功能的实现为例,管理中的查询功能的实现为例,其完整的交互过程如图所示其完整的交互过程如图所示4.4.3系统系统(xtng)的交互设计的交互设计第四十六页,共48页。第四十七页,共48页。系统交互设计时应该首先作系统交互设计时应该首先作“加法加法(jif)”,即根,即根据系统功能不断向设计中添加新类;当相关的一据系统功能不断向设计中添加新类;当相关的一组功能做完后,再对设计图作组功能做完后,再对设计图作“减法减法”。将功能。将功能一样但命名不同的类删除,将功能近似的类利用一样但命名不同的类删除,将功能近似的类利用重构技术加以合并,将密切相关的类组织在一起,重构技术加以合并,将密切相关的类组织在一起,减少类的数量,提升类的相关关系和继承层次。减少类的数量,提升类的相关关系和继承层次。第四十八页,共48页。