软件工程软件设计_第1页
软件工程软件设计_第2页
软件工程软件设计_第3页
软件工程软件设计_第4页
软件工程软件设计_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程软件设计场景互动我们了解了系统构成单元(模块)构建的原则,那么如何将其有效地组织在一起,以什么样的方式组织在一起呢?第2页,共49页,2024年2月25日,星期天1.软件体系结构的设计体系结构三要素程序构件(模块)的层次结构构件之间交互的方式数据的结构第3页,共49页,2024年2月25日,星期天构建体系结构的目的简洁建立一个相对小的、易于理解的掌握的模型,并描述了系统如何构成以及其构建如何一起工作。扩展在系统能够保持结构的稳定的前提下很容易地扩充功能和提升性能;重用系统能够重用以前的代码和设计,从而提高开发效率;第4页,共49页,2024年2月25日,星期天体系结构风格(模型)根据各子系统如何共享数据、如何分布、如何相互交互,可开发更加特定的风格(模型)。第5页,共49页,2024年2月25日,星期天CatalogueserverVodioserverPictureserverHypertextserverCatalogueFilmclipfilesDigitizedphotographsHypertextwebWide-bandwidthnetwork

Client1Client2Client3Client4Film&Picturelibrarysystem的体系结构(1)客户机–

服务器模型(C/S)第6页,共49页,2024年2月25日,星期天描述典型的分布式系统模型合作的双方都会利用各自的计算能力负责一定的计算工作,从而提高整个系统的能力和效率。组成部分一组功能各自独立的服务器为其他子系统提供服务。如打印服务器,文件服务器,编译服务器等。一组客户机并发访问多个服务器提供的服务。或存在一些客户机可并发执行的客户机程序。一个网络使得客户机能够访问服务器。(1)客户机–

服务器模型(C/S)第7页,共49页,2024年2月25日,星期天两层客户/服务器结构系统的逻辑分层分别实现在不同的物理层(物理机器)上,通常将这种物理层次上的划分称为客户端程序和服务器端程序逻辑分层与物理分层的映射胖客户端结构客户端负责用户界面和应用逻辑部分,工作繁重瘦客户端结构服务器端负责应用逻辑和数据访问部分,客户端工作简单常被称为B/S结构介于两者之间客户端增加了对用户请求的处理第8页,共49页,2024年2月25日,星期天两层客户/服务器结构第9页,共49页,2024年2月25日,星期天三层/多层应用模型多层模型是两层C/S模型的扩展应用逻辑部分被分离出来成为单独的一层(或多层)这些中间层由一些完成应用业务功能的分布式对象组建构成第10页,共49页,2024年2月25日,星期天三层客户/服务器结构第11页,共49页,2024年2月25日,星期天多层客户/服务器结构第12页,共49页,2024年2月25日,星期天(2)分层系统模型(抽象机模型)OSI模型第13页,共49页,2024年2月25日,星期天(2)分层系统模型(抽象机模型)描述也称为按服务进行划分。层是对模型中不同抽象层次上的逻辑结构进行分组的一种特定方式。系统按照层次结构组织,每一层向它的上一层提供服务,同时又是它的下层的客户。系统内的交互限定在邻接层之间。除了邻接层,一个内部层次对于其他外部层次是隐藏的。邻接层的关系并不严格。第14页,共49页,2024年2月25日,星期天使用层有助于解决的问题源码的变更波及整个系统;应用逻辑与用户界面交织在一起,无法复用于其他不同界面或分布到其他处理结点之上;潜在的一般性技术服务或业务逻辑与更特定于应用的逻辑交织在一起,无法被复用、分布到其他结点或方便地使用不同实现进行替换;不同关注领域之间高度耦合,难以为不同开发者清晰地界定和分配任务。第15页,共49页,2024年2月25日,星期天信息系统逻辑架构中常见的层第16页,共49页,2024年2月25日,星期天ApplicationRDBMS职责:页面表示逻辑、业务逻辑、数据访问逻辑职责:永久保存数据、保证数据完整性J2EE实现范式:JSP内含Java和JDBC代码J2EE应用体系结构的演进(2层)第17页,共49页,2024年2月25日,星期天J2EE应用体系结构的演进(3层)RDBMSBusinesslogicPresentationlogicJ2EE实现范式:SunModel1(JSP+JavaBean)职责:页面显示+页面跳转+应用控制逻辑职责:核心业务操作第18页,共49页,2024年2月25日,星期天J2EE应用体系结构的演进(4层)RDBMSBusinesslogicControllerViewJ2EE实现范式:SunModle2(Jsp+Servlet+JavaBean/EJB)职责:页面显示职责:页面跳转+应用控制逻辑第19页,共49页,2024年2月25日,星期天J2EE应用体系结构的演进(5层)RDBMSBusinesslogicDAOControllerView职责:数据的CRUD操作+对象关系映射职责:核心业务操作第20页,共49页,2024年2月25日,星期天J2EE应用体系结构的演进(6层)VCMMVCFrameworkStruts、JSF、TepestryO/RMapperORMMiddleware:Hibernate、JDO、ApacheOJBDAO模式RDBMSBusinesslogicDAOORMControllerView第21页,共49页,2024年2月25日,星期天功能划分与层次划分之间的关系层次划分是对构架的横向分解,功能划分是对构架的纵向分解。它们之间的关系,如图所示。第22页,共49页,2024年2月25日,星期天欢迎短信(3)基于事件的隐式调用风格第23页,共49页,2024年2月25日,星期天(3)基于事件的隐式调用风格描述其思想是构件不直接调用一个过程,而是触发或广播一个或多个事件。系统中的其它构件中的过程在一个或多个事件中注册,当一个事件被触发,系统自动调用在这个事件中注册的所有过程,这样,一个事件的触发就导致了另一模块中的过程的调用。第24页,共49页,2024年2月25日,星期天(4)数据流体系结构(管道和过滤器模型)Unix的Shell程序命令:catfile|grepxyz|sort|uniq>out第25页,共49页,2024年2月25日,星期天该体系结构被用于当输入数据被通过一系列计算或操纵构件变换为输出数据情形。(4)数据流体系结构(管道和过滤器模型)第26页,共49页,2024年2月25日,星期天用户注册功能的实现(5)数据抽象和面向对象风格第27页,共49页,2024年2月25日,星期天(5)数据抽象和面向对象风格描述这种风格建立在数据抽象和面向对象的基础上,数据的表示方法和它们的相应操作封装在一个抽象数据类型或对象中。第28页,共49页,2024年2月25日,星期天数据设计的层次业务级应用级程序构件级2.数据设计第29页,共49页,2024年2月25日,星期天数据设计的内容数据结构的设计文件的设计数据库的设计第30页,共49页,2024年2月25日,星期天数据设计的原则在数据设计中也可以使用自顶向下、逐步细化的方法。底层数据设计的决策应该推迟到设计过程的后期进行数据设计时应遵从信息隐藏原则要确定所有数据结构,以及在每种数据结构上实施的操作应当创建一个存放数据结构和相关操作的库第31页,共49页,2024年2月25日,星期天(1)数据结构设计数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。数据结构设原则尽量使用简单的数据结构在设计数据结构时要注意数据之间的关系加强数据设计的可复用性,应该针对常用的数据结构和复杂的数据结构设计抽象类型尽量使用经典数据结构在确定数据结构时一般先考虑静态结构对于复杂数据结构,应给出图形和文字描述,以便于理解第32页,共49页,2024年2月25日,星期天(2)文件设计文件设计定义:指对数据存储文件的设计。文件的逻辑设计整理必需的数据元素分析数据间的关系确定文件记录的内容文件的物理设计理解文件的特性确定文件物理组织结构确定文件的存储介质确定文件的记录格式估计记录的存取时间估计文件的存储量第33页,共49页,2024年2月25日,星期天(3)数据库设计数据库设计数据库设计的基本步骤(1)数据库的概念结构设计(2)数据库的逻辑结构设计(3)数据库的物理结构设计第34页,共49页,2024年2月25日,星期天数据库的概念结构设计概念结构设计应在系统分析阶段进行。任务是根据用户需求设计数据库的概念数据模型(简称概念模型)。概念模型是从用户角度看到的数据库,它可用E-R模型表示。数据库的逻辑结构设计逻辑结构设计是将概念结构设计阶段完成的概念模型转换成能被选定的数据库管理系统(DBMS)支持的数据模型。目前常见的是关系模型。第35页,共49页,2024年2月25日,星期天数据库的物理结构设计物理结构设计是为数据模型在设备上选定合适的存储结构和存取方法,以获得数据库的最佳存取效率。物理结构设计的主要内容包括:①库文件的组织形式。如选用顺序文件组织形式、索引文件组织形式等。②存储介质的分配。例如将易变的、存取频繁的数据存放在高速存储器上,稳定的、存取频度小的数据存放在低速存储器上。③存取路径的选择等。第36页,共49页,2024年2月25日,星期天将E-R模型转换为关系模型的一般规则(1)每一实体集对应于一个关系模式,实体名作为关系名,实体的属性作为对应关系的属性。(2)实体间的联系一般对应一个关系,联系名作为对应的关系名,不带有属性的联系可以去掉。(3)实体和联系中关键字对应的属性在关系模式中仍作为关键字。第37页,共49页,2024年2月25日,星期天重数数据库操作一对一为每个对象分别创建一个表每个表中的主码也是相关表中的外码一对多为每个对象分别创建一个表关联中“一”这一侧表的主码是“多”那一侧表的外码多对多为每个对象分别创建一个表创建一个附加的交叉表每个对象对应的表的主码在交叉表中都定义为外码交叉表的主码可以是单独的特定一列(自动生成的代主码),或者也可能是来自其他表的两个外键的组合再加上一个有含义的标识符(如角色、类型)将重数映射到数据库操作第38页,共49页,2024年2月25日,星期天根据规则,将上图转换成对应的关系数据模型①学生(学号,姓名,性别,出生日期,籍贯)②课程(课程编号,课程名,学时,学分,教材名称)③教师(教师编号,教师姓名,性别,出生日期,职称,学历,工作时间)④学习(学号,课程编号,成绩)⑤教学(教师编号,课程编号,效果)第39页,共49页,2024年2月25日,星期天3.用户界面设计界面设计设计用户界面就是设计输入输出,这些输入输出是指为了执行一个任务,用户与计算机系统之间进行的交互。我们侧重于人和计算机交互的界面设计,即人机交互界面。人机交互像是用户与计算机之间的对话,因此也把用户界面设计称为对话设计。第40页,共49页,2024年2月25日,星期天界面设计的过程用户界面设计就是设计系统,应在设计过程中及早开始考虑用户界面。遵循一组界面设计原则,设计任务需标识界面对象和动作,然后创建屏幕布局,形成用户界面原型的基础。第41页,共49页,2024年2月25日,星期天界面设计八项黄金规则尽量保持一致性为熟练用户提供快捷键提供有效反馈设计完整的对话过程提供简单的错误处理机制允许撤销动作提供控制的内部轨迹减少短期记忆负担第42页,共49页,2024年

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论