




免费预览已结束,剩余69页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
设计建模,14.1概述14.2软件架构建模14.3类与接口建模14.4用例设计建模14.5数据库建模14.6界面建模14.7构件建模14.8部署建模,第14讲,设计建模,14.1.1系统设计的任务14.1.2系统设计的特点14.1.3设计模型的内容,第14讲,14.1概述,系统设计(systemdesign)的任务是在需求和分析的基础上,通过考虑软件的实现环境和软件的非功能需求,确定指导软件编码实现的软件设计方案。系统设计的工作包括软件架构设计、类及接口设计、用例设计、数据库设计、界面设计、构件设计和部署设计等工作。,1)设计的目的是指导软件编码实现,因此必须考虑所有设计细节2)设计方案需要考虑物理环境,系统设计模型包括软件架构模型、类及接口设计模型、用例设计模型、数据库设计模型、界面设计模型、构件模型和部署模型等。设计模型建立在需求模型和分析模型的基础上,设计模型与其他几个模型的关系见下图。,设计建模,14.2.1软件架构的含义14.2.2分层软件架构14.2.3软件逻辑架构,第14讲,14.2软件架构建模,软件架构(softwarearchitecture)关注的是软件的宏观结构,其含义是指把软件从结构上分解为多个通过一定关系联系的构件。开发大型复杂软件,需要确定其软件架构,一个稳定合理的软件架构,对成功开发软件有着至关重要的作用。,1.分层软件架构的概念把软件的处理逻辑按照界面展示、业务处理和数据处理进行分类,并从应用到系统进行分层,形成一种分层的软件架构。各层彼此独立又互有联系,在不改变各层之间交互接口的前提下,改变某一层内容,将不影响其他层的变化,分层架构提高了软件的独立性和适用性。,2.分层软件架构的特征1)是软件的一种共性架构。2)注重软件的内部结构3)与软件开发方法无关。,3.分层软件架构的类型1)两层架构:两层架构分为应用层和数据层两层,应用层承担软件信息展示和业务逻辑处理,数据层负责数据的存储和管理。C/S模式是一种典型的两层架构,客户机承担界面和业务处理,服务器承担数据库管理。在两层架构中,由应用层承担信息展示和业务逻辑,把界面展示和业务逻辑放到应用层,不便于扩展和维护。,3.分层软件架构的类型2)三层架构:三层架构分为表示层、业务逻辑层和数据层,表示层承担信息的输入输出和展示,业务逻辑层承担业务处理,数据层承担数据的存储和管理。基于web的B/S模式是一种典型的三层架构,web浏览器负责界面信息展示,web服务器承担业务逻辑处理,数据库服务器承担数据存储和管理。三层架构是一种有效体现MVC模式的软件架构,是目前被广泛应用的软件架构。,3.分层软件架构的类型3)四层架构:现在的软件开发大多采用java、C#等等面向对象语言,采用SQL-Server、Oracle等关系数据库。数据被保存在数据库中,但在内存中存放与数据库中数据表相对应的实体类。系统一般采用ODBC,JDBC等与数据库连接,也出现了Hibernate等专门对实体类和数据库进行映像管理的工具。在这种环境中,为了区分数据库和实体类,在三层架构的数据层上面分离出实体层,提出了四层架构。,4.分层软件架构的类型软件的分层架构应该确定软件的层次划分以及每层的职责。例如某书店书务管理系统采用java平台,它的软件架构从层次上可以分为web层,业务控制层,实体层和数据层四层,其分层架构见图。,1.软件逻辑架构的概念软件逻辑架构是软件的各子系统按照确定的关系构成的逻辑框架。子系统是对软件分解的一种中间形式,也是组织和描述软件的一种方法,由多个子系统构成完整的软件系统。,2.软件逻辑架构模型软件逻辑架构由子系统构成的软件结构。,设计建模,14.3.1概述14.3.2实体型设计类建模14.3.3控制型设计类建模14.3.4接口建模14.3.5设计模式建模,第14讲,14.3类与接口模型,1.类和接口是软件设计的重要内容。2.设计类模型将要作为编码的依据,应给出所有设计细节,包括:类的属性、属性的初始值、属性的类型,操作、参数、返回类型,持久化,主键等。3.分析类模型是设计类模型的基础。,1.设计要求实体型设计类指在设计阶段的实体类。一个完整的实体型设计类需要具备类的所有性质,具体包括:1)类属性类属性应包括属性名、可见性、类型,以及多重性和缺省值等。2)类操作类操作应包括操作名、可见性、操作参数、参数的类型、操作返回类型等。3)持久化须指出该类是否持久化,类的主键等。,2.实体类设计建模方法通过支持MDA的建模工具,可以直接把与平台无关的分析类模型通过建模工具直接转换为与平台相关的设计类模型。,某订货系统平台分析类模型,某订货系统基于C#的设计类模型,某订货系统基于java的设计类模型,控制型设计类指在设计阶段的控制类,因为控制类一般不涉及属性,也不需要持久化,因此控制型设计类的建模只需要给出类操作的操作名、可见性、操作参数、参数的类型以及操作返回类型等信息。,如果在分析模型中建立了控制型分析类模型,可以通过支持MDA的建模工具直接转换得到控制型设计类模型。,图书借阅的控制型分析类模型,基于C#的图书借阅的控制型设计类模型,1.接口建模的作用1)提高软件设计的健壮性和扩展性。接口能够有效地隔离设计与实现2)提高软件结构化水平。软件层次之间,水平之间结构关系更为清晰。,2.控制类设计接口需要为控制类设计接口。例如,登录控制器:LoginControler借书控制器BookReservationControler两个控制类设计的两个接口,3.为不同层面的软件设计接口1)覆盖法所谓覆盖法是所设计的接口需要覆盖软件在该层所能够提供的所有服务操作,不能因为提取了抽象接口,而遗漏掉在该层中某些类能够提供的操作功能。,3.为不同层面的软件设计接口2)归类法为了提高接口清晰性,把一组相同或相近的操作放到同一个接口中。例如,下图描述了在业务逻辑层提供会员管理、订单管理和销售管理三个方面的业务处理逻辑,可以在业务逻辑层设置会员管理接口、订单管理接口和销售管理接口三个接口,分别放置会员管理、订单管理和销售管理的所对应的操作。,3.为不同层面的软件设计接口3)抽象法抽象法是指对该层对象的行为进行抽象,提取共性行为作为共同访问的接口。,1.设计模式的概念设计模式(designpattern)是设计过程中,对一些普遍性问题给出的一套合理的、经典的、可被复用的设计方案。设计模式是近年来被人们广泛关注的设计技术,在软件设计中被越来越多的设计人员所接受。在设计模型中需要为设计模式的建模。,2.外观模式建模1)外观模式的概念:外观模式(faadepattern):是通过给某个子系统或某层软件中的众多类设置统一接口,以隐藏软件的复杂性,提高软件结构性的一种设计方法。,2.外观模式建模2)外观模式的实例假设某客户到超市购买商品,导购员引导客户进行商品导购,销售员开出售货单让客户到收银台交款,在交款时登记客户收货地址和电话等信息,然后又由送货员给客户送货。假设在超市系统中,设计了导购员、收款台、登记员和送货员四个类分别完成导购、收款、登记和送货四项工作,客户就要访问超市系统中这几个类所提供的操作。在这种设计方案中,客户需要访问超市系统中的每一个类,客户需要了解每一个类的操作,并需要了解任何一个类所发生的变化,显然这种设计方案存在问题。,2.外观模式建模2)外观模式的实例,2.外观模式建模2)外观模式的实例采用外观模式,给超市系统设计一个统一接口IConsumerHelper,其他几个类实现接口所定义的操作,这样客户只需要访问IConsumerHelper,就可以完成导购、交款、登记和收货操作,见图。显然外观模式隐藏了软件的复杂性,提高了软件的结构性。,2.外观模式建模2)外观模式的实例外观模式隐藏了软件的复杂性,提高了软件的结构性。,3.适配器模式建模1)适配器模式的概念:适配器(adapterpattern)模式是通过将一个类的接口转换成为客户希望的另外一个接口,使得原本不兼容的类能够通过适配器一起工作。我们通过一个实例来说明适配器模式。假设客户Client希望使用的功能,类Adaptee提供的specificRequest()操作能够完成,但Client只认识request()操作名,为了能够解决这个问题,增加一个适配器Adapter类来转换两个接口,模型见图14.18。,3.适配器模式建模2)适配器模式模型,设计建模,14.4.1用例建模的含义14.4.2用例设计建模的特点14.4.3用例设计建模,第14讲,14.4用例设计模型,用例设计建模:需要在用例分析模型的基础上,结合软件开发环境,给出能够直接指导编码的用例设计模型。,与用例分析建模相比较,用例设计建模具有以下特点:1)以用例分析模型为基础。用例设计模型来源于用例分析模型,是对用例分析模型的细致化和具体化。2)与软件开发环境和平台相关。用例设计模型需要考虑软件所采用语言和环境,不同的软件语言环境用例设计技术方法和描述会存有差异。3)指导软件编码。用例设计模型将直接作为软件编码的依据,因此需要考虑所有设计细节。,我们以e速快餐系统中会员登录为例讨论用例设计建模过程。e速快餐系统采用浏览器/服务器模式,开发选择Net平台,数据库选择SQL-Server,并采用Net平台提供的ASP.NETMVC来实现MVC架构。,e速快餐系统会员登录用例分析模型,e速快餐系统会员登录用例分析模型,设计建模,14.5.1概述14.5.2数据库建模14.5.3用例设计建模,第14讲,14.5数据库设计模型,面向对象方法是目前最为成熟的软件开发方法,关系数据库是目前最为成熟的数据库技术。目前可行的方法是采取面向对象方法,并用关系数据库管理数据。称为:对象-关系建模,1生成DDLDDL(DataDefinitionLanguage)是数据库描述语言,可以通过EnterpriseArchitect提供的转换功能,把分析类模型转换为由DDL描述的数据库逻辑结构。例如:某订货系统的分析类模型见下图:根据该图生成,2生成SQL可以有DDL得到描述该数据库结构的脚本语言SQL,例如:由DDL得到的SQL脚本见下图:,CREATETABLECustomer(customerNumbertext,nametext,addresstext,emailAddresstext,deliveryAddresstext,customerIDintNOTNULL,shoppingBasketIDint);CREATETABLEFoods(foodsNumbertext,nametext,specificationtext,Pricenumber,foodsIDintNOTNULL);,CREATETABLELineItem(quantityint,lineItemIDintNOTNULL,foodsIDint);CREATETABLEOrder(orderNumbertext,dateDate,deliveryInstructionstext,orderIDintNOTNULL,customerIDint,lineItemIDint);CREATETABLEShoppingBasket(shoppingBasketNumbertext,shoppingBasketIDintNOTNULL,lineItemIDint);,设计建模,14.6.1概述14.6.2需求分析中的界面模型14.6.3系统分析中的界面模型14.6.4系统设计中的界面模型,第14讲,14.6界面设计模型,界面设计是根据用户软件的需求和用户的审美需求,对软件的人机交互方式、界面结构、屏幕界面的内容、风格、布局、色彩等从事的设计工作,界面设计是软件设计的一项重要工作。界面模型是描述界面设计结果的抽象模型,是软件模型的重要内容。不仅在软件设计阶段需要界面模型,在需求分析和系统分析阶段同样需要界面模型,在不同阶段界面模型的侧重和内容不完全相同。UML的界面建模能力很弱,基本没有提供用于界面建模的规范,这是UML在以后的版本中需要改进之处。,在需求分析阶段,借助于界面模型能够帮助用户理解需求,也便于和用户澄清一些错综复杂的需求。,在系统分析阶段一般不专门从事界面建模工作,但在分析模型中会涉及到界面模型的要素。,1界面结构模型界面结构是由软件所有屏幕界面构成的界面框架,一个软件系统的完整界面可能会由几十幅到几百幅屏幕界面构成,这些界面相互之间存在嵌套和调用关系,建立界面结构模型是界面建模首先需要从事的工作,通过界面结构能够清晰描述软件所具有的屏幕界面以及这些屏幕界面相互之间的关系。,1界面结构模型,小区物业管理系统的界面结构,1界面结构模型,信息系统分析与设计课程网站的界面结构,2屏幕界面模型屏幕界面模型指各屏幕界面的模型。下面是信息系统分析与设计课程网站中,教学课件屏幕界面模型。,2屏幕界面模型1)伪界面伪界面是采用建模工具建立的能够反映界面信息、软件功能,及其界面布局的初步界面模型,该模型一方面在需求分析中让用户更清楚地理解软件需求,另一方面可以作为美工设计页面图片的依据。,2屏幕界面模型2)图形界面,2屏幕界面模型3)ASP页面ASP页面表示软件系统中的教学课件页面模型。因为该页面采用ASP技术实现,因此其构造型标为ASP页面,如果采用JSP实现,则构造型就为JSP页面。该页面依据伪界面,美术设计师设计的图形文件将嵌入到界面之中。要播放教学课件,需要嵌入一个SWF播放器插件,另外页面中要采用javascript实现动画播放,CSS用来控制HTML语言编写的页面字型、色彩等外观。,2屏幕界面模型4)界面说明界面说明是用于说明界面设计的文档,用来说明界面设计的基本要求。,设计建模,14.7.1概述14.7.2建立构件模型,第14讲,14.7构件模型,1.构件模型的概念构件模型是描述在软件架
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 土方班主考试题及答案
- 2024年护理三基知识考试必考题库及答案
- 中医熏洗治疗在儿童康复中的应用试题(附答案)
- 预防春季传染病理论知识考核试题及答案
- 海姆立克急救法试题(附答案)
- 区口腔医院院感培训考核试题及答案
- 北京市安全知识培训课件
- 2025年流动厨师食品安全专业知识考核试题附答案
- 化验室安全知识培训
- 上海叠拼豪宅样板房设计方案
- 双重预防机制构建-隐患排查治理(中石化中原油田天然气厂)
- 二年级下册音乐《每天》教案
- 音乐美学.课件
- 心肺复苏说课比赛课件模板(一等奖)
- 健康体检证明
- 2021年江西外语外贸职业学院教师招聘试题及答案解析
- 外科学肺部疾病教案(共18页)
- 电鱼机的相关知识与各级电路的电路图
- 公司闲置资产及废旧物资盘活处置管理办法
- 幼儿园简介范文
- 专业技术职务任职资格评审表2009
评论
0/150
提交评论