软件设计与体系结构第四章面向对象的软件设计方法.ppt

软件设计与体系结构第四章面向对象的软件设计方法.ppt

  1. 1、本文档共60页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用户界面设计 用户界面是对于用户的直接表现,直接影响到用户对软件易用性、友好性的感觉。用户界面包含两方面内容: 首先要完整地包括用户在使用软件过程中所需的各种元素,例如窗口、菜单、按钮、输入文本框、选择列表、提示信息等,缺乏这些元素中的某些将会导致软件功能无法被用户正常完成; 其次要求具有良好的外观和布局,例如背景颜色、按钮等元素的位置、选择列表中条目的顺序等,这些因素的不足可能不会影响软件功能的正确使用,但会给用户带来不便、迷惑甚至反感。 用户界面设计 用户界面元素分为两个层次: 屏幕:用构造型screen表示 窗口:屏幕上的组成部分(文本框、按钮等)统一称为窗口。用构造型window表示 用户界面的结构可以由UML类图描述,屏幕和窗口用类进行表示,并给出它们之间的关系。 屏幕之间的切换过程可以用UML状态图表示。每个状态表示当时所处的屏幕,迁移表示用户激励。 当屏幕中有许多窗口时,可以对窗口划分层次,一些简单的窗口可以作为复杂窗口的属性和操作。 用户界面设计 CustomerConsole 用户通过控制台使用ATM的过程中,可分为5个相对独立的过程 (1)插入银行卡到输入正确密码并进入选择交易类型的屏幕 (2)选择“取款”交易,并到完成后退出或返回选择交易类型的屏幕 (3)选择“存款”交易,并到完成后退出或返回选择交易类型的屏幕 (4)选择“转帐”交易,并到完成后退出或返回选择交易类型的屏幕 (5)选择“查询”交易,并到完成后退出或返回选择交易类型的屏幕 用户界面设计 屏幕结构类图 用户界面设计 屏幕变化状态图 “插卡”过程的屏幕转换状态图:每个状态表示一个屏幕,迁移表示当前屏幕用户的激励。 用户界面设计 屏幕结构类图 InputPin屏幕的结构图。每个屏幕的结构可以用类图设计,即屏幕上有什么(窗口),如:文本框、按钮等 用户界面设计 屏幕结构包图 顾客控制台包含丰富的元素,可以进一步细化形成一个对应的包,专门描述界面元素其中有分为5个子包,分别对应“插卡”、“取款”、“存款”、“转账”、“查询”5个独立的过程。每个子包又对应一些列的屏幕,并对应到表示屏幕切换的状态图 用户界面设计 一个独立的过程包含若干屏幕变换 状态图表示屏幕间的变换 状态图的一个状态表示一个屏幕 一个屏幕的结构用屏幕结构(类)图表示 数据模型设计 数据模型设计包括数据结构设计、数据库设计、数据文件设计等,本节主要关注持久数据存储设计。持久数据模型设计步骤为: (1)确定设计模型中需要持久保存的类的对象及其属性, 其中实体类是主要关注对象。 (2)确定持久存储的数据之间的组织方式。 (3)确定数据模型中的操作行为,例如数据完整性验证、 数据读取、存储与更新、数据求和、求数据平均值等。 (3)进一步优化持久数据操作的性能,如使用数据索引、 存储过程、触发器等方式。 数据模型设计的输出制品是数据模型,包括以UML类图表示的数据库表格以及它们之间的关系。数据模型必须满足设计模型对持久数据存储的要求。 数据模型设计-关系数据库建模 类对应于关系数据模型中的表格(table),对象对应于记录(record),属性对应于表格中的字段(field)或者列(column),类中的方法实现可以用SQL语句对数据库表格进行操作。 table表示表格,key表示关键字,foreign key表示外键 数据模型设计-数据模型 设计精化 精化任务: 1,精化软件架构 2,调整软件构成的类 3,精化交互模型 4,精化类之间关系 设计精化-精化软件架构 目的:寻找理想的包划分方案,包中类数量适中,边界清晰的,自然,耦合度低 降低耦合度 拆分成子包 调整类的摆放位置,移到另外的包 合并包或合并后重新划分 原则 避免包间的循环依赖 位于较低层次的通用包不应当依赖于较高层次中的专用包 在层次结构中,较高层次的包可以依赖较低层次的包,但应尽量在相邻的层次间发生 如果针对某些子系统专门划分了接口包和实现包,那么,其他与该子系统相关的包吸能依赖于接口包,不能依赖于实现包 设计精化-精化软件架构 用户交互层包精化后的模型 设计精化-精化软件架构 用户交互层中子包精化后的模型 设计精化 调整软件构成类 增加辅助类 引入 新类以弥补不足 合并相互通信频繁的类 若类的属性和操作简单,但与其他类通信非常用频繁,即耦合度很高,这样的类可以合并到其他类中 分拆规模过大的类 若一个类的属性可以区分为常用和罕用,为提高效率,拆分为“常用”类和数个“罕用”类,建立聚合关系 若一个类既要负责业务逻辑,又要实现与外部数据通信,那么可以拆分为,业务逻辑类和通信类 设计精化 精化过程中新增加的类 设计精化 精化交互模型 交互图进行精化时,需要考虑以下内容 软件架构的组成类被迫调整之后对交互模型

文档评论(0)

kabudou + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档