第11章 详细设计.

Slides:



Advertisements
Similar presentations
第二章 简单的 SQL 语句. 本章要点  创建一个简单的表  SQL 语句介绍  最简单的查询语句 select  带有限制条件的查询  查询结果的排序显示.
Advertisements

作業一 : USING DBMS ( 使用 DB2 及 SQL 基本練習 ) 報告人:學生楊群期 學號: 課程 : 高等資料庫 講師 : 楊維邦教授.
2010 年 6 月课件制作人:王亚楠 1 模块 2 项目开发概论 教学课件 年 6 月课件制作人:王亚楠 2 目录 目标 了解:数据库技术的基本概念与结构 理解:数据模型的分类与结构组成 掌握:关系数据库及 SQL 的基本理论 知识 掌握:数据库设计的方法与步骤 内容 2.1 数据库技术基础.
SQL的简单查询.
第5章 关系数据库标准语言SQL 主讲:张丽芳.
第2章 SQL语言初步 2.1 SQL的基本概念 2.2 基本表、索引的创建、删除和修改操作 2.3 SQL的查询语句——SELECT
第5章 索引及视图操作 数据库原理应用与实践 SQL SERver2014(第2版) 主编 贾铁军 科学出版社 编著 陈国秦 万程 邢一鸣
复习重点; 1. 关系模型、ER模型 2. SQL 3. 事务管理 4. 函数依赖与规范化 5. 数据库设计  复习题 一、单项选择题
第四章 数据库对象.
Access数据库程序设计 总复习.
管理資訊系統 David Kroenke 資料庫處理 第4章.
数据库原理及应用 《数据库原理及应用》课程组 荆楚理工学院.
第4章 关系数据库标准语言SQL 4.1 SQL语言概述 4.2 SQL数据查询功能 4.3 SQL数据操作功能 4.4 SQL数据定义功能.
第3章 SQL的基础知识 数据库管理及应用 3.1 SQL简介 3.2 SQL的数据模型 3.3 标识符 3.4 使用SQL语句管理数据库
数据库概述 简而言之,数据库(DataBase)就是一个存储数据的仓库。为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据。如今,已经存在了Oracle、SQL Server、MySQL等诸多优秀的数据库。在这一章中将讲解的内容包括。
数据库原理及设计 --作业.
创建数据库 MySql创建数据库的语法: CREATE DATABASE 数据库名; 例: CREATE DATABASE mydb;
第三章 管理信息系统的技术基础 主要内容: 数据处理 数据组织 数据库技术 4. 计算机网络.
计算机应用基础 上海大学计算中心.
資料庫管理 資管二 賴柏融.
数据库原理 Database Principles 第五章 数据库完整性 Database Principles.
PL/SQL程序设计 过程, 函数 Trigger 对象关系数据库技术.
第2章 数据定义功能 创建表 在关系型数据模型中,表(Table)是最基本的数据结构。
Google App Engine Google 應用服務引擎.
数据库应用与程序设计.
普通高等教育“十一五”国家级规划教材 信息系统分析与设计 刘腾红 孙细明 主编 科 学 出 版 社.
第7章 建立資料表與完整性限制條件 7-1 資料型別 7-2 資料表的建立 7-3 建立完整性限制條件 7-4 修改與刪除資料表
第五讲 利用视图进行查询优化.
数据库技术 第十章 数据库完整性 中国科学技术大学网络学院 阚卫华.
第六章 學習SQL語言.
資料庫系統 Database Systems
資料庫系統 Database Systems
課程名稱:資料庫系統 授課老師:李春雄 博士
第4章 SQL语言基础及数据库定义 4.1 基本概念 4.2 SQL Server 提供的主要数据类型 4.3 数据定义.
Chap 10 SQL定義、操作與控制指令.
題庫解析:MTA資料庫檢定 授課老師:李春雄 博士
第 7 章 建立資料表與 資料庫圖表.
資料庫安全 (Database Security)
教 师:曾晓东 电 话: 数据库技术 教 师:曾晓东 电 话:
資料庫系統專題期末報告 線上水果購買系統 ──水果天堂 指導老師:黃三益 博士 第三組 組 長:柯志銘(n )
題庫解析:MTA資料庫檢定 授課老師:李春雄 博士
課程名稱:資料庫系統 授課老師:李春雄 博士
課程名稱:資料庫系統 授課老師:李春雄 博士
建立/修改/刪除資料表 建立資料表 使用Enterprise Manager工具
MySQL数据库基础与实例教程 之 MySQL表结构的管理 郭水泉.
第三章作业讲评 文洁 2012/4/10.
SQL SERVER 一些经典语句 1.
作业3-点评.
段磊 王慧锋 TEL: qq群: 数据库系统原理课程设计 实验环节2 段磊 王慧锋 TEL: qq群:
Ch4.SQL Server 2005資料庫組成員元件介紹
iRepor报表设计基础 IReport安装 普通实体报表 数据结果集报表 工作流主从报表 饼状图报表 柱状图,曲线图报表 条形码报表
实验二讲评 … 张榆….
数据库技术.
第20章 MySQL数据库.
数据库技术与应用.
MySQL开发规范 DB组-张浩.
第11章 ListView延迟加载效果 授课老师:高成珍 QQ号: QQ群: 、
CS, ZJU 4/18/2019 Chapter 7 数据库.
通讯录管理系统设计 常州工程职业技术学院 计算机技术系.
SQL查询语句 蔡海洋.
交際障礙分組系統 交際障礙分組系統 班級:2439 組員: 組別:A01 林子婷 資訊三丁 D
讲课人:王璞 浙江工商职业技术学院.
第 7 章 建立資料表與資料庫圖表.
第4章 表的创建与维护 4.1 数据类型 4.2 数据完整性约束 4.3 创建数据表 4.4 修改数据表 4.5 删除数据表.
95年度高屏醫療網 以病人為中心之醫療照護— 以弱勢族群為重點 期末報告
教育部特殊教育通報網 學生異動、接收操作說明.
資料庫管理 HOMEWORK #2 楊立偉教授 台灣大學工管系 2013 Fall.
資料庫應用與實作 一到六章重點、習題.
第4章 数据查询.
Web安全基础教程
Presentation transcript:

第11章 详细设计

本章内容 先导案例 概述 11.1 数据库设计 11.2 用户界面设计 11.3 系统界面设计 要点回顾 阅读章节要求 第11章 详细设计 2018年9月17日星期一 第11章 详细设计 本章内容 先导案例 概述 11.1 数据库设计 11.2 用户界面设计 11.3 系统界面设计 要点回顾 阅读章节要求 

2018年9月17日星期一 第11章 详细设计 先导案例 Aviation Electronic的界面设计 

概述 UML模型向关系模型的映射。 系统界面处理需要少量人员干预的输入和输出; 用户界面处理需要人员直接参与的输入和输出。 2018年9月17日星期一 第11章 详细设计 概述 UML模型向关系模型的映射。 系统界面处理需要少量人员干预的输入和输出; 用户界面处理需要人员直接参与的输入和输出。 设计指导原则有助于确保系统的可用性。 

11.1 数据库设计 11.1.1 主键的生成 11.1.2 属性类型到域的映射 11.1.3 类的属性到列的映射 2018年9月17日星期一 第11章 详细设计 11.1 数据库设计 11.1.1 主键的生成 11.1.2 属性类型到域的映射 11.1.3 类的属性到列的映射 11.1.4 类到表的映射 11.1.5 关联关系的映射 

2018年9月17日星期一 第11章 详细设计 11.1.1 主键的生成 1. 将对象标识符映射为主键 2. 将对象的某些属性映射为主键 

1. 将对象标识符映射为主键 在将UML中的类映射为RDB中的表时,每张表中都增加一个对象标识符列,该对象标识符列作为表的主键。 2018年9月17日星期一 第11章 详细设计 1. 将对象标识符映射为主键 在将UML中的类映射为RDB中的表时,每张表中都增加一个对象标识符列,该对象标识符列作为表的主键。 在将UML模型中关联关系映射为RDB中的关联表时,关联表的主键由与该关联关系相关的类的标识符组成。 缺点:在DB维护时很难看出基于对象标识符的主键具有什么内在的含义。 

带有关联类的大学课程注册类图 第11章 详细设计 2018年9月17日星期一  第11章 详细设计 带有关联类的大学课程注册类图 ①课程类中包含一个添加课程的方法。课程部分类可以打开进行注册,然后关闭。 ②学生类使得一个学生可以被接收并且最终获得学位。 ③一个学期一旦结束,课程注册类就可以邮寄成绩。 ④该例中没有给出概括/具体层次,但在一个大学课程注册系统中一些特殊类型的学生(本科生和研究生),以及特殊类型的课程(有学分和无学分)是可以存在的。 

2. 将对象的某些属性映射为主键 将类的某些属性映射为RDB中表的主键。 2018年9月17日星期一 第11章 详细设计 2. 将对象的某些属性映射为主键 将类的某些属性映射为RDB中表的主键。 该方法得到的主键具有一定的内在含义,从而为DB的调试和维护提供了方便。 但这种主键的修改比较困难,它们的修改可能要涉及到许多外键的修改。 

11.1.2 属性类型到域的映射 属性类型是UML术语,对应于DB的域。 简单域非常容易实现,只需定义相应的数据类型和大小。 2018年9月17日星期一 第11章 详细设计 11.1.2 属性类型到域的映射 属性类型是UML术语,对应于DB的域。 简单域非常容易实现,只需定义相应的数据类型和大小。 每个使用了域的属性,在映射时可能需要为每个域约束加入一条SQL的Check查询子句来表示在域上的约束(如限定域的取值范围等)。 简单域例:名字(name)和电话号码(phone-Number)。 

11.1.3 类的属性到列的映射 UML模型中类的属性映射为RDB表中的零列或几列。一般地,可将类的属性直接映射成表的一个字段。 2018年9月17日星期一 第11章 详细设计 11.1.3 类的属性到列的映射 UML模型中类的属性映射为RDB表中的零列或几列。一般地,可将类的属性直接映射成表的一个字段。 注意两种特殊情况: ①并不是类中的所有属性均是永久的(发票中的“合计”属性)。 ②当UML类的一个属性本身就是对象时要将它映射为DB表中的几列(Customer中包含一个作为其属性的Address对象 )。 

11.1.4 类到表的映射 1. 所有的类均映射为DB中的表 2. 具有属性的类映射为DB表 3. 将超类的属性下移 4. 将子类的属性上移 2018年9月17日星期一 第11章 详细设计 11.1.4 类到表的映射 1. 所有的类均映射为DB中的表 2. 具有属性的类映射为DB表 3. 将超类的属性下移 4. 将子类的属性上移 

1. 所有的类均映射为DB中的表 为每个超类和子类都创建一张表,这些表共享一个公共的主键。 第11章 详细设计 2018年9月17日星期一 第11章 详细设计 1. 所有的类均映射为DB中的表 为每个超类和子类都创建一张表,这些表共享一个公共的主键。 

(references Employee) (references Employee) Pilot flightRating FlightAttendant Employee Name taxpayerNumber Employee table employeeID name taxpayerNumber employeeType FlightAttendant table Pilot table PilotID (references Employee) flightRating flightAttendantID (references Employee)  

2. 具有属性的类映射为DB表 所有具有属性的类才映射为DB表,无属性的类不进行映射。 2018年9月17日星期一 第11章 详细设计 2. 具有属性的类映射为DB表 所有具有属性的类才映射为DB表,无属性的类不进行映射。 与上一种方法相比,该方法减少了DB表的数量,其他方面与上一种方法大致相同。 

(references Employee) Pilot flightRating FlightAttendant Employee Name taxpayerNumber Employee table employeeID name taxpayerNumber employeeType Pilot table PilotID (references Employee) flightRating  

3. 将超类的属性下移 每个子类对应的DB表中既包含该子类中的属性,也包含该子类所继承的属性。 超类不映射为DB表,减少DB表的数量。 2018年9月17日星期一 第11章 详细设计 3. 将超类的属性下移 每个子类对应的DB表中既包含该子类中的属性,也包含该子类所继承的属性。 超类不映射为DB表,减少DB表的数量。 

Pilot flightRating FlightAttendant Employee flightRating Name taxpayerNumber Pilot table pilotID name taxpayerNumber flightRating FlightAttendant table flightAttendantID name taxpayerNumber  

4. 将子类的属性上移 将所有子类的属性都存放在超类所对应的DB表中。 2018年9月17日星期一 第11章 详细设计 4. 将子类的属性上移 将所有子类的属性都存放在超类所对应的DB表中。 一个完整的类层次结构只映射为一张DB表,而层次结构中所有类的所有属性都存储在这张DB表中。 避免了将众多的子类映射为DB表,从而减少DB表的数量。 

Pilot flightRating FlightAttendant Employee Name taxpayerNumber Employee table employeeID name taxpayerNumber employeeType flightRating  

11.1.5 关联关系的映射 1. 多对多关联的实现 2. 一对多关联的实现 3. 零或一对一关联的实现 4. 一对一关联的实现 2018年9月17日星期一 第11章 详细设计 11.1.5 关联关系的映射 1. 多对多关联的实现 2. 一对多关联的实现 3. 零或一对一关联的实现 4. 一对一关联的实现 5. UML模型的映射实例 

四种类间的关联 可选对可选(0..1 : 0..*) 强制对可选(1 : 0..*) 可选对强制 (0..* : 1) 2018年9月17日星期一 第11章 详细设计 四种类间的关联 可选对可选(0..1 : 0..*) 强制对可选(1 : 0..*) 可选对强制 (0..* : 1) 强制对强制(1..* : l..*) 

关联表是一张独立的表,它用于在RDB中维护两张或多张表之间的关联。 在RDB中,关联表中包含的属性通常是关系中涉及到的表中的键的组合。 2018年9月17日星期一 第11章 详细设计 1. 多对多关联的实现[可选对可选(0..1 : 0..*)] 引入关联表。 关联表是一张独立的表,它用于在RDB中维护两张或多张表之间的关联。 在RDB中,关联表中包含的属性通常是关系中涉及到的表中的键的组合。 关联表的名字通常是它所关联的表的名字的组合,或者是它实现的关联的名字。 

(references FlightAttendant) 0..* AttendantAssignment FlightAttendant table Flight table FlightAttendantID … flightID … Attendant Assignment table flightID (references Flight) FlightAttendantID (references FlightAttendant)  

可将外键放置在“多”的一方,角色作为外键属性名的一部分。 外键的空与非空由对1的强制性决定。 2018年9月17日星期一 第11章 详细设计 2. 一对多关联的实现[强制对可选(1 : 0..*)] 可将外键放置在“多”的一方,角色作为外键属性名的一部分。 外键的空与非空由对1的强制性决定。 也可用关联表实现。使用关联表可使DB应用程序具有更好的扩展性。但另一方面,关联表增加了RDB中表的数目,并且它不能使一方的最小重复性强制为1。 

外键放在“多”方 Flight Pilot 1 0..* copilot Flight table Pilot table flightID 2018年9月17日星期一 第11章 详细设计 外键放在“多”方 Flight Pilot 1 0..* copilot Flight table Pilot table flightID … copilot (references Pilot) PilotID …  

使用关联表 Flight Pilot 1 0..* copilot Flight table Pilot table flightID … 2018年9月17日星期一 第11章 详细设计 使用关联表 Flight Pilot 1 0..* copilot Flight table Pilot table flightID … PilotID … Flight-copilot table flightID (references Flight) copilot (references Pilot)  

3. “零或一”对一关联的实现[可选对强制 (0..* : 1)] 2018年9月17日星期一 第11章 详细设计 3. “零或一”对一关联的实现[可选对强制 (0..* : 1)] 可将外键放置在可选的一端 该外键不能为空值 

Company BoardOfDirectors CompanyID (references Company) 0..1 1 Company Company Name dateFounded BoardOfDirectors maxBoardSize Company table CompanyID companyName dataFounded BoardOfDirectors table boardOfDirectorID maxBoardSize CompanyID (references Company)  

4. 一到一关联的实现[强制对强制(1..* : l..*)] 2018年9月17日星期一 第11章 详细设计 4. 一到一关联的实现[强制对强制(1..* : l..*)] 在实现这种关联时,可将外键放置在任意一边,具体情况依赖于性能等因素。 

5. UML模型的映射实例 航空公司的类图 0..* Pilot flightRating Employee Name 2018年9月17日星期一 第11章 详细设计 5. UML模型的映射实例 航空公司的类图 0..* Pilot flightRating FlightAttendant Employee Name taxpayerNumber 1 Copilot pilot Schedule AttendantAssignment Employee Type Flight flightNum date Airline symbol 

航空公司的数据库表 Airline AirlineID Name symbol Employee EmployeeID name taxpayerNumber employeeType airlineID Pilot pilotID flightRating Flight flightID flightNum date airlineID pilot copilot AttendantAssignment flightID flightAttendantID FlightAttendant flightAttendantID 

航空公司的数据库表 第11章 详细设计 2018年9月17日星期一  CREATE TABLE Airline (airlineID integer CONSTRAINT nn_airline1 NOT NULL, name text(40) CONSTRAINT nn_airline2 NOT NULL, symbol text(10) CONSTRAINT nn_airline3 NOT NULL, CONSTRAINT PrimaryKey PRIMARY KEY(airlineID), CONSTRAINT uq_airline1 UNIQUE(name), CONSTRAINT uq_airline2 UNIQUE(symbol)); CREATE TABLE Flight (flightID integer CONSTRAINT nn_flight1 NOT NULL, flightNum text(10) CONSTRAINT nn_flight2 NOT NULL, date dateTime CONSTRAINT nn_flight3 NOT NULL, airlineID integer CONSTRAINT nn_flight4 NOT NULL, pilot integer CONSTRAINT nn_flight5 NOT NULL, copilot integer CONSTRAINT nn_flight6 NOT NULL, CONSTRAINT PrimaryKey PRIMARY KEY (flightID)); ALTER TABLE Flight ADD CONSTRAINT fk_flight1 FOREIGN KEY(airlineID)REFERENCES Airline ON DELETE NO ACTION; ALTER TABLE F1ight ADD CONSTRAINT fk_flight2 FOREIGN KEY(pilot)REFERENCES Pilot ON DELETE NO ACTION; ADD CONSTRAINT fk_flight3 FOREIGN KEY(copilot)REFERENCES Pilot ON DELETE NO ACTION; CREATE INDEX index flight1 ON Flight(airlineID); CREATE INDEX index flight2 ON Flight(pilot); CREATE INDEX index flight3 ON F1ight(copilot); CREATE TABLE Employee (employeeID integer CONSTRAINT nn_employee1 NOT NULL, name text(40) CONSTRAINT nn_employee2 NOT NULL, taxpayerNumber text(20) CONSTRAINT nn_employee3 NOT NULL, employeeType text(20) CONSTRAINT nn_employee4 NOT NULL, airlineID integer CONSTRAINT nn_employee5 NOT NULL, CONSTRAINT PrimaryKey PRIMARY KEY(employeeID)); ALTER TABLE Employee ADD CONSTRAINT fk_employee1 FOREIGN KEY(airlineID)REFERENCES Airline ON DELETE NO ACTION; CREATE INDEX index_employee1 ON Employee(airlineID); CREATE TABLE Pilot (pilotID integer CONSTRAINT nn_pilot1 NOT NULL, flightRating text(40), CONSTRAINT PrimaryKey PRIMARY KEY(pilotID)); ALTER TABLE Pilot ADD CONSTRAINT fk_pilot1 FOREIGN KEY(pilotID)REFERENCES Employee ON DELETE CASCADE; CREATE TABLE F1ightAttendant (flightAttendantID integer CONSTRAINT nn_flightAttendant1 NOT NULL, CONSTRAINT PrimaryKey PRIMARY KEY (flightAttendantID)); ALTER TABLE FlightAttendant ADD CONSTRAINT fk_flightAttendant1 FOREIGN KEY(flightAttendantID) REFERENCES Employee ON DELETE CASCADE; CREATE TABLE AttendantAssignment (flightID integer CONSTRAINT nn_attendantAssignment1NOT NULL, flightAttendantID integer CONSTRAINT nn_attendantAssignment2 NOTNULL, CONSTRAINT PrimaryKey PRIMARY KEY(flightID,flightAtten_dantID)); ALTER TABLE AttendantAssignment ADD CONSTRAINT fk_attendantAssignment1 FOREIGN KEY (flightID) REFERENCES Flight ON DELETE CASCADE; ADD CONSTRAINT fk_attendantAssignment2 FOREIGN KEY (fliqhtAttendantID) REFERENCES FlightAttendant ON DELETE NO ACTION; CREATE INDEX index_attendantAssignment1 ON AttendantAssignment (flightAttendantID); 航空公司的数据库表 第11章 详细设计 

遍历航空公司UML类图的表达式及相应SQL代码 含义 SQL代码 anAirline.Employee 找出一条航线上的所有雇员 SELECT employeeID FROM Employee WHERE airlineID=:anAirline; anAirline.Employee.name 找出一条航线上所有雇员的名字 SELECT name WHERE airlineID=:anAirline; anAirline.Flight [getMonth(date)=aMonth].pilot 找出一条航线上指定月份内飞行的所有飞行员 SELECT pilotID FROM Flight WHERE airlineID=:anAirline AND getMonth(date)=:aMonth; anAirline.Flight [getMonth(date)==aMonth]. pilot[flightRating==aFlightRating] 找出一条航线上指定月份内飞行且达到指定飞行出勤率的所有飞行员 SELECT P.pilotID FROM Flight F,pilot P WHERE F.airlineID=:anAirline AND getMonth(F.date)=:aMonth AND F.pilotID=P.pilotID AND P.flightRating=:aFlightRating; AFlight.copilot:Employee.name 找出一个班机的副驾驶员 SELECT E.name FROM Flight F, Pilot P, Employee E WHERE F.flightID=:aFlight AND F.copilotID=P.pilotID AND P.pilotID=E.employeeID; 对象模型的遍历表达式 

对象模型的遍历表达式 使用UML对象约束语言OCL来说明。 圆点(.):表示从一个对象定位到另一个对象,或表示从对象定位到属性; 2018年9月17日星期一 第11章 详细设计 对象模型的遍历表达式 使用UML对象约束语言OCL来说明。 圆点(.):表示从一个对象定位到另一个对象,或表示从对象定位到属性; 方括号([ ]):说明对象集合上的过滤条件; 冒号(:):表示泛化关系的遍历。 程序变量以冒号开头。 

11.2 用户界面设计 11.2.1 输入和输出的识别与分类 11.2.2 理解用户界面 11.2.3 界面设计指导原则 2018年9月17日星期一 第11章 详细设计 11.2 用户界面设计 11.2.1 输入和输出的识别与分类 11.2.2 理解用户界面 11.2.3 界面设计指导原则 11.2.4 对话设计文档化 11.2.5 窗体设计指导原则 11.2.6 网站设计指导原则 

11.2.1 输入和输出的识别与分类 1. 传统和OO的输入和输出 2. 用户界面与系统界面 第11章 详细设计 2018年9月17日星期一 第11章 详细设计 11.2.1 输入和输出的识别与分类 1. 传统和OO的输入和输出 2. 用户界面与系统界面 

1. 传统和OO的输入和输出 传统方法中,在关联图、DFD片断和细节DFD中的数据流中有I/O。 2018年9月17日星期一 第11章 详细设计 1. 传统和OO的输入和输出 传统方法中,在关联图、DFD片断和细节DFD中的数据流中有I/O。 在列出所有数据元素的数据流定义中详细描述每一项I/O。 设计阶段,当决定设计方案时系统分析员根据所做出的决定会增加更多有关数据流的细节。 

RMO订单子系统的关联图 第11章 详细设计 2018年9月17日星期一  第11章 详细设计 RMO订单子系统的关联图 该图按照事件的相似性(包括与外部实体和数据存储的交互以及必要处理的相似性),将RMO客户支持系统分成子系统。 注意,来自该子系统事件表的所有数据流都显示在DFD上。 

2018年9月17日星期一 第11章 详细设计 课程注册系统的DFD片段 

OO方法中 I/O被定义为进入和离开系统的消息。 I/O分别对应于事件表中事件的触发器和响应。 2018年9月17日星期一 第11章 详细设计 OO方法中 I/O被定义为进入和离开系统的消息。 I/O分别对应于事件表中事件的触发器和响应。 一个场景中交换的消息详细定义I/O,且随每一场景设计越发细化,消息的内容也越加确定。 交互图、设计类图的方法和状态图表中。 

2018年9月17日星期一 第11章 详细设计 RMO客户支持系统的完整事件表 

2018年9月17日星期一 第11章 详细设计 完成的查询对象有效性的三层设计 

2018年9月17日星期一 “查询可用条目”的协作图 第11章 详细设计 例中的协作图仅包含域模型对象,而不含有可视层和数据访问层。 

Order类的方法 Order -orderID:intrger -orderDate:date -prioityCode:string 2018年9月17日星期一 第11章 详细设计 Order类的方法 Order -orderID:intrger -orderDate:date -prioityCode:string -shipping&Handling:float -tax:float -grandTotal:float +createOrder(accountNo) +addItem(catalogID,prodID,size,quantity) :orderItem +completeOrder():float +makePayment(ccInformation) 

2. 用户界面与系统界面 无论传统设计还是OO设计方法中,系统设计的一个关键步骤是将每一事件的I/O分类划分到系统界面或用户界面中。 2018年9月17日星期一 第11章 详细设计 2. 用户界面与系统界面 无论传统设计还是OO设计方法中,系统设计的一个关键步骤是将每一事件的I/O分类划分到系统界面或用户界面中。 将二者的设计分开,是因为两种设计需要不同的专业知识和技术。 ⑴系统界面 ⑵用户界面 

⑴系统界面 系统中包含最少量人员干预的I/O部分。 2018年9月17日星期一 第11章 详细设计 ⑴系统界面 系统中包含最少量人员干预的I/O部分。 输入:由特定的输入设备(如扫描仪)来自动捕获的输入数据或者来自其他系统的电子消息,或是来自其他系统的批处理编译过程。 输出:主要是向其他系统发送消息或信息,或者它们是在无人员干预的情况下为外部代理或角色生成报告、陈述或文档等内容。 

⑵用户界面 IS中需要用户交互的I/O部分。 需要系统用户更直接干预的I/O。 一个用户界面能够使用户通过与计算机进行交互而记录一个事务。 2018年9月17日星期一 第11章 详细设计 ⑵用户界面 IS中需要用户交互的I/O部分。 需要系统用户更直接干预的I/O。 一个用户界面能够使用户通过与计算机进行交互而记录一个事务。 

例如:一个客户服务代表为一位RMO顾客记录一份电话订单。 有时候,在用户交互之后产生输出,例如,在用户查询订单状态后相关信息会被显示出来。 2018年9月17日星期一 第11章 详细设计 例如:一个客户服务代表为一位RMO顾客记录一份电话订单。 有时候,在用户交互之后产生输出,例如,在用户查询订单状态后相关信息会被显示出来。 在基于Web的系统中,一个客户可直接与系统进行交互从而得到信息、下达订单或查询订单状态等。 

11.2.2 理解用户界面 0. 人-机交互(HCI) 1. 用户界面的物理特征 2. 用户界面的感知特征 3. 用户界面的概念特征 2018年9月17日星期一 第11章 详细设计 11.2.2 理解用户界面 0. 人-机交互(HCI) 1. 用户界面的物理特征 2. 用户界面的感知特征 3. 用户界面的概念特征 4. 以用户为中心的设计技术 5. 人-机界面研究领域 6. 有关HCI的隐喻 

0. 人-机交互(HCI) 对最终用户及其与计算机交互的研究。 对系统的最终用户来讲,用户界面就代表了系统本身。 设计用户界面就是设计系统。 2018年9月17日星期一 第11章 详细设计 0. 人-机交互(HCI) 对最终用户及其与计算机交互的研究。 对系统的最终用户来讲,用户界面就代表了系统本身。 设计用户界面就是设计系统。 

2018年9月17日星期一 第11章 详细设计 用户界面的物理、感知和概念特征 

2018年9月17日星期一 第11章 详细设计 1. 用户界面的物理特征 包括:用户实际接触到的设备,即键盘、鼠标、触摸屏或数字键盘,但界面的其他物理部分包括参考手册、打印文档、数据输入窗体等一些用户利用计算机完成任务时所涉及的内容。 桌面空间、文档、照明,以及计算机的终端硬件即组成了这位终端用户的物理界面。 

2. 用户界面的感知特征 包括:用户看到、听到、触摸到的所有东西(物理设备除外)。 2018年9月17日星期一 第11章 详细设计 2. 用户界面的感知特征 包括:用户看到、听到、触摸到的所有东西(物理设备除外)。 能见到的包括:显示在屏幕上的所有数据和指令,如图形、线条、数字和文字。 能依赖于系统合成的声音,即使是用于表示击键和确认功能选择的蜂鸣声和咔嗒声。 

2018年9月17日星期一 第11章 详细设计 3. 用户界面的概念特征 包括:用户了解的有关系统使用的所有内容,即用户正在操作的系统中所有问题域中的“事物”,系统所执行的操作以及随后的操作实施过程。 用户模型:用户对所使用系统了解的内容,包括用户正在操纵的问题域“事物”、系统所执行的操作,以及随后的任务实施过程。 

4. 以用户为中心的设计技术 将用户放在开发过程中心地位的技术集合。 该设计技术强调三个原则: 及早关注用户及其工作 2018年9月17日星期一 第11章 详细设计 4. 以用户为中心的设计技术 将用户放在开发过程中心地位的技术集合。 该设计技术强调三个原则: 及早关注用户及其工作 多次评价系统设计以确保其可用性 使用迭代开发方法 

2018年9月17日星期一 第11章 详细设计 可用性 学习和使用系统的容易程度。 自解释型的系统 :拥有大量表单、对话框、广泛提示信息和指导信息的基于菜单的应用程序。适用于那些用户并不经常使用的系统。 但如果是办公室职员整天都在使用的系统,设计的重点应该放在界面的快速切换和灵活性方面,应该有包括快捷键、热键、大信息量屏幕显示等方面的设计。 

5. 人-机界面研究领域 人为因素工程(人体工程学):对人与机器的交互作用的一般研究。 2018年9月17日星期一 第11章 详细设计 5. 人-机界面研究领域 人为因素工程(人体工程学):对人与机器的交互作用的一般研究。 用户界面设计技术和HCI的研究领域起源于人为因素工程或人体工程学。 对人为因素的正式研究始于二战期间,即宇航工程师研究战斗机驾驶舱控制器的不同排列方式对飞行员影响的时候。 飞行员出错即是宇航工程师所认为的“人为因素”。 

6. 有关HCI的隐喻 有关HCI的看法,通常称为隐喻或类比。 每一个隐喻都是对不同的概念给出一个类比,都是对用户界面的设计给出暗示。 2018年9月17日星期一 第11章 详细设计 6. 有关HCI的隐喻 有关HCI的看法,通常称为隐喻或类比。 每一个隐喻都是对不同的概念给出一个类比,都是对用户界面的设计给出暗示。 ⑴直接操纵隐喻 ⑵桌面隐喻 ⑶文档隐喻 ⑷对话隐喻 

⑴直接操纵隐喻 告诉我们用户能直接与显示屏幕上的对象进行交互。 与用户交互的对象在屏幕上是可见的,用户可以用鼠标或方向键指向并操纵他们。 2018年9月17日星期一 第11章 详细设计 ⑴直接操纵隐喻 告诉我们用户能直接与显示屏幕上的对象进行交互。 与用户交互的对象在屏幕上是可见的,用户可以用鼠标或方向键指向并操纵他们。 

⑵桌面隐喻 一种直接操作方法,在那里显示屏幕,包括通用的桌面对象的排列。 2018年9月17日星期一 第11章 详细设计 ⑵桌面隐喻 一种直接操作方法,在那里显示屏幕,包括通用的桌面对象的排列。 显示屏幕上排列着众多的通用桌面对象(笔记本、日历、计算机和文件夹)。 现在许多桌面中还包含了电话、自动应答录音电话机、CD播放机,甚至还有视频监视器。 用户与任何这些对象进行交互就像是与他们所代表的现实世界对象进行交互一样。 现在最终用户期望包括业务IS在内的所有应用程序都能够像在桌面上的对象一样自然灵活。 

⑶文档隐喻 HCI的比喻说法,实现了电子文档浏览和录入数据的人-机交互。 2018年9月17日星期一 第11章 详细设计 ⑶文档隐喻 HCI的比喻说法,实现了电子文档浏览和录入数据的人-机交互。 超文本:超文本允许用户单击某一链接并且跳转到该文档的另一部分或者另一文档。 超媒体:对超文本进行扩展的技术,包括诸如图形、视频、音频等多媒体内容。 

⑷对话隐喻 人-机交互更像是进行交谈或对话。 对话隐喻以系统的OO观点为基础,因为通信是将一个对象的消息传递给另一个对象。 2018年9月17日星期一 第11章 详细设计 ⑷对话隐喻 人-机交互更像是进行交谈或对话。 对话隐喻以系统的OO观点为基础,因为通信是将一个对象的消息传递给另一个对象。 

11.2.3 界面设计指导原则 界面设计标准:某机构所开发的所有系统的界面设计都必须遵循的一般原理和规则。 1. 可视性和可供性 2018年9月17日星期一 第11章 详细设计 11.2.3 界面设计指导原则 界面设计标准:某机构所开发的所有系统的界面设计都必须遵循的一般原理和规则。 1. 可视性和可供性 2. 八条黄金规则 

1. 可视性和可供性 可视性:HCI的关键原则,规定所有控件必须是可见的,并且提供反馈信息指示控件对用户动作的响应。 2018年9月17日星期一 第11章 详细设计 1. 可视性和可供性 可视性:HCI的关键原则,规定所有控件必须是可见的,并且提供反馈信息指示控件对用户动作的响应。 可供性:HCI的关键原则,规定所有控件的外观都应该体现和反映控件所实现的功能。 原则既适用于人-机交互,又适用于任何其他设备。 

2. 八条黄金规则 ⑴尽量保持一致性 ⑵为老用户提供快捷键 ⑶提供反馈信息 ⑷设计完整的对话过程 ⑸提供简单的错误处理机制 ⑹允许撤销动作 2018年9月17日星期一 第11章 详细设计 2. 八条黄金规则 ⑴尽量保持一致性 ⑵为老用户提供快捷键 ⑶提供反馈信息 ⑷设计完整的对话过程 ⑸提供简单的错误处理机制 ⑹允许撤销动作 ⑺提供控制的内部轨迹 ⑻减轻短期记忆负担 

11.2.4 对话设计文档化 1. 事件、子系统和菜单层次 2. 对话与故事脚本 3. 用UML图表实现对话文档编制 第11章 详细设计 2018年9月17日星期一 第11章 详细设计 11.2.4 对话设计文档化 1. 事件、子系统和菜单层次 2. 对话与故事脚本 3. 用UML图表实现对话文档编制 

1. 事件、子系统和菜单层次 需要交互方式获取的输入项都需要进行对话设计。 用户所需所有输出项也都需要对话设计。 2018年9月17日星期一 第11章 详细设计 1. 事件、子系统和菜单层次 需要交互方式获取的输入项都需要进行对话设计。 用户所需所有输出项也都需要对话设计。 在分析过程中记录的事件是每一对话的基础,它可划分为用户界面而非系统界面。 

子系统结构图(事务分析)包括系统交互部分的菜单结构的细节内容。 在OO方法的设计过程中也在较早阶段关注对话设计,甚至在分析任务阶段。 2018年9月17日星期一 第11章 详细设计 对话设计必须与其他设计活动同时进行。 子系统结构图(事务分析)包括系统交互部分的菜单结构的细节内容。 在OO方法的设计过程中也在较早阶段关注对话设计,甚至在分析任务阶段。 顺序图和协作图表中包含了对话涉及的细节内容。 

从用户立场出发的完备系统结构可以用菜单来反映。 每一菜单包含一个选项层次,其中的选项往往根据子系统或对象行为来排列。 2018年9月17日星期一 第11章 详细设计 从用户立场出发的完备系统结构可以用菜单来反映。 每一菜单包含一个选项层次,其中的选项往往根据子系统或对象行为来排列。 有时需要根据不同的用户类型提供多种菜单版本。 

2018年9月17日星期一 第11章 详细设计 RMO 客户支持系统全部菜单层次 

2. 对话与故事脚本 一旦明确了所有用户需求的对话,就可以采用多种手段来编制对话设计的文档,目前还不存在事实标准。 2018年9月17日星期一 第11章 详细设计 2. 对话与故事脚本 一旦明确了所有用户需求的对话,就可以采用多种手段来编制对话设计的文档,目前还不存在事实标准。 一种方法是列举对话中的关键步骤并附带每一步骤中用户和计算机交互内容的文字描述。 故事脚本技术:一种编制对话设计文档的技术,显示一系列的屏幕概略图。 

3. 用UML图表实现对话文档编制 OO方法提供特定的UML图表用于人-机对话的建模。 2018年9月17日星期一 第11章 详细设计 3. 用UML图表实现对话文档编制 OO方法提供特定的UML图表用于人-机对话的建模。 用例图:用例的详细描述中的步骤都遵循人与系统的交互方式进行。 活动图:把人-机之间的使用案例存为对话文档。 两种图在每一对话中都提供了人-机交互需求模型。 

2018年9月17日星期一 第11章 详细设计 用于RMO“查询可用条目”对话的顺序图 用例控制器与 问题域对象通讯 

菜单条类与框架相连,菜单条包含多个菜单,每个菜单中又包含多个菜单项。 2018年9月17日星期一 第11章 详细设计 构成条目搜索窗体的界面类的类图 框架类代表包含其他界面对象的基本结构。 菜单条类与框架相连,菜单条包含多个菜单,每个菜单中又包含多个菜单项。 框架还包括:表类、按钮类和标签类。 

特定界面对象Product-QueryForm的顺序图 2018年9月17日星期一 第11章 详细设计 特定界面对象Product-QueryForm的顺序图 进一步扩展的顺序图; 该模型强调窗体设计的细节; 问题域细节可忽略不计。 

顺序图可用于对用户和构造窗体的特定对象间的消息传递建模,而且也包括界面对象彼此间的消息传递。 2018年9月17日星期一 第11章 详细设计 顺序图可用于对用户和构造窗体的特定对象间的消息传递建模,而且也包括界面对象彼此间的消息传递。 顺序图中问题域对象间交互部分不做变动。 界面对象仅仅是简单插到问题域对象和参与者之间。 

2018年9月17日星期一 第11章 详细设计 11.2.5 窗体设计指导原则 1. 窗体 2. 设计指导原则 

1. 窗体 标准窗体:利用完全特征性的程序设计语言编制出的窗体。 浏览器窗体:利用符合互联网规范的HTML或脚本语言编程的窗体。 窗体种类: 2018年9月17日星期一 第11章 详细设计 1. 窗体 标准窗体:利用完全特征性的程序设计语言编制出的窗体。 浏览器窗体:利用符合互联网规范的HTML或脚本语言编程的窗体。 窗体种类: ⑴输入窗体 ⑵ I/O窗体 ⑶输出窗体 

⑴输入窗体 主要是用于记录事务或输入数据,虽然窗体的某些部分可能包含某些来自于系统内部的信息显示。 第11章 详细设计 2018年9月17日星期一 第11章 详细设计 ⑴输入窗体 主要是用于记录事务或输入数据,虽然窗体的某些部分可能包含某些来自于系统内部的信息显示。 

⑵ I/O窗体 一般用于更新已有信息。 这种窗体显示与某单一实体相关的信息,例如顾客信息,并且允许用户键入新信息,以及更新已有信息。 2018年9月17日星期一 第11章 详细设计 ⑵ I/O窗体 一般用于更新已有信息。 这种窗体显示与某单一实体相关的信息,例如顾客信息,并且允许用户键入新信息,以及更新已有信息。 输入窗体和I/O窗体关系密切,并且使用相似的设计原理。 

2018年9月17日星期一 第11章 详细设计 ⑶输出窗体 主要用于显示信息。 这种输出窗体的设计原则与报表设计原则是一致的。 

2018年9月17日星期一 第11章 详细设计 2. 设计指导原则 ⑴窗体布局与格式化 ⑵数据的键控与输入 ⑶导航与支持控件 ⑷帮助支持 

⑴窗体布局与格式化 主要关注窗体的整体外观和感觉。 设计输入窗体时,应该考虑: 一致性; 标题、标签和徽标; 字体大小、亮度对比和颜色。 2018年9月17日星期一 第11章 详细设计 ⑴窗体布局与格式化 主要关注窗体的整体外观和感觉。 设计输入窗体时,应该考虑: 一致性; 标题、标签和徽标; 字体大小、亮度对比和颜色。 

⑵数据的键控与输入 输入窗体核心任务是新数据的输入。 2018年9月17日星期一 第11章 详细设计 ⑵数据的键控与输入 输入窗体核心任务是新数据的输入。 主要目的:尽可能地减少输入数据量,任何计算机已有信息或者由计算机生成的信息应该不必重新输入。 数据输入控件:文本框、列表框、微调框、组合框、无线按钮(或单选按钮)、复选框。 

⑶导航与支持控件 标准Windows界面提供用于导航和窗口操纵的控件。 2018年9月17日星期一 第11章 详细设计 ⑶导航与支持控件 标准Windows界面提供用于导航和窗口操纵的控件。 包括:窗体右上角的最小化、最大化和关闭按钮,水平和垂直滚动条,位于左侧面板上的记录选择条和窗体底部的记录导航箭头等。 为维护系统一致性,要求尽可能地利用这些导航控件来实现界面设计。 

⑷帮助支持 三种通用类型的帮助信息: ①与窗体的使用流程相关的指导信息; ②帮助主题的索引列表; ③上下文相关的帮助信息。 2018年9月17日星期一 第11章 详细设计 ⑷帮助支持 三种通用类型的帮助信息: ①与窗体的使用流程相关的指导信息; ②帮助主题的索引列表; ③上下文相关的帮助信息。 

2018年9月17日星期一 第11章 详细设计 11.2.6 网站设计指导原则 1. 网页设计中的十种好的做法 2. 网站设计原则 

1. 网页设计中的十种好的做法 ⑴将机构名称和徽标放置在所有网页上,并建立徽标与主页的链接。 ⑵网页数量若超过100,应提拱搜索功能。 2018年9月17日星期一 第11章 详细设计 1. 网页设计中的十种好的做法 ⑴将机构名称和徽标放置在所有网页上,并建立徽标与主页的链接。 ⑵网页数量若超过100,应提拱搜索功能。 ⑶书写简洁的标题行和页面标题。 ⑷构造页面的原则是便于读者浏览并帮助读者忽略大块而在匆匆一瞥中找到关键内容。 

⑸不要将有关某一产品或某一主题的所有内容拥挤地塞满单一页面,而应使用超文本来构造内容空间。 2018年9月17日星期一 第11章 详细设计 ⑸不要将有关某一产品或某一主题的所有内容拥挤地塞满单一页面,而应使用超文本来构造内容空间。 ⑹可以使用产品照片,但要避免在产品系统页面上混乱而繁杂地堆满照片,主要产品页面必须做到迅速地加载和执行功能,所以其中内容应该短小精悍。 

2018年9月17日星期一 第11章 详细设计 ⑺页面上准备放置小的照片和图像时要利用相关增强图像缩影功能,实现在原始图像缩影时不是简单地缩小成看不清楚的小东西,而是在剪切图片、缩小尺寸的同时放大相关细节。 

⑻利用链接标题为用户提供链接内容预览信息。 ⑼要保证所有重要的页面都能被残障用户访问到,特别是视力不好的学生。 2018年9月17日星期一 第11章 详细设计 ⑻利用链接标题为用户提供链接内容预览信息。 ⑼要保证所有重要的页面都能被残障用户访问到,特别是视力不好的学生。 ⑽工作方式应与一般人一致,如果某个大网站按照特定的方式工作,用户往往因为不习惯新的方式而将注意力转向其他的网站。 

2. 网站设计原则 网站设计的三个方面: ⑴计算机媒体设计原则 ⑵设计整个网站原则 ⑶为用户设计原则 第11章 详细设计 2018年9月17日星期一 第11章 详细设计 2. 网站设计原则 网站设计的三个方面: ⑴计算机媒体设计原则 ⑵设计整个网站原则 ⑶为用户设计原则 

⑴计算机媒体设计原则 精心设计网页外观及感观以充分利用媒体介质。 由于要保证其在相当广的技术范围内的可访问性,因此要使得设计具有可移植性。 2018年9月17日星期一 第11章 详细设计 ⑴计算机媒体设计原则 精心设计网页外观及感观以充分利用媒体介质。 由于要保证其在相当广的技术范围内的可访问性,因此要使得设计具有可移植性。 要考虑低带宽,因为用户不会有耐心去等待网页加载。 规划好网页的展示,尽可能易于访问,以便用户能够在网站中轻松浏览。 若在线展示的信息来自其他站点资源,需要对这些信息重新格式化。 

⑵设计整个网站原则 精心设计网页的外观和感观以便和设计者想要表达的理念一致。 网页之间创建平滑的过渡,以便用户能清楚的知道自己所处的位置。 2018年9月17日星期一 第11章 详细设计 ⑵设计整个网站原则 精心设计网页的外观和感观以便和设计者想要表达的理念一致。 网页之间创建平滑的过渡,以便用户能清楚的知道自己所处的位置。 用网格线来设计每个网页以便为相关的信息组提供可视化的结构。 在信息组之间的每个网页上,合理预留一定数量的空白。 

⑶为用户设计原则 设计网站的交互性,因为网站用户往往期望网站是交互和动态的。 使网页上的信息能吸引用户的眼睛。 2018年9月17日星期一 第11章 详细设计 ⑶为用户设计原则 设计网站的交互性,因为网站用户往往期望网站是交互和动态的。 使网页上的信息能吸引用户的眼睛。 保持浅层次的分层结构,使用户不用嵌入太深就可发现详细的信息。 利用超文本使用户能在网页中浏览。 每页网页的内容多少可根据用户的特征决定,但不要把网页弄得很凌乱。 为不同群体的用户设计网页,包括残疾人。 

11.3 系统界面设计 11.3.1 确定系统界面 11.3.2 系统输入设计 11.3.3 系统输出设计 第11章 详细设计 2018年9月17日星期一 第11章 详细设计 11.3 系统界面设计 11.3.1 确定系统界面 11.3.2 系统输入设计 11.3.3 系统输出设计 

11.3.1 确定系统界面 系统界面输出:账单、报表、打印表格,以及流向其他自动化系统的电子输出。 2018年9月17日星期一 第11章 详细设计 11.3.1 确定系统界面 系统界面输出:账单、报表、打印表格,以及流向其他自动化系统的电子输出。 系统界面输入:自动化输入和来自于非用户界面设备的输入。 

系统界面能处理输入,与其他系统进行实时交互,并且需要最少人员干预地分发输出。 2018年9月17日星期一 第11章 详细设计 系统界面能处理输入,与其他系统进行实时交互,并且需要最少人员干预地分发输出。 例如,来自于自动扫描仪、条形码阅读器、光字符识别设备,以及作为系统界面组成部分的其他计算机系统的输入。 

2018年9月17日星期一 第11章 详细设计 IS中完整的I/O 

系统界面种类 ①来自于其他系统的输入;(EDI) ②高度自动化输入;(扫描仪 ) ③来自于外部数据库的输入; ④流向外部数据库的输出; 2018年9月17日星期一 第11章 详细设计 系统界面种类 ①来自于其他系统的输入;(EDI) ②高度自动化输入;(扫描仪 ) ③来自于外部数据库的输入; ④流向外部数据库的输出; ⑤具有极少人-机交互(HCI)的输出; ⑥流向其他系统的输出; ⑦实时连接(I/O)。 

2018年9月17日星期一 第11章 详细设计 11.3.2 系统输入设计 1. 确定输入设备和机制 2. 定义系统输入细节 

1. 确定输入设备和机制 任何数据输入表单的主要目的是向系统输入新的、无差错的数据或无差错地更新数据信息。 最重要的是不要出现差错。 2018年9月17日星期一 第11章 详细设计 1. 确定输入设备和机制 任何数据输入表单的主要目的是向系统输入新的、无差错的数据或无差错地更新数据信息。 最重要的是不要出现差错。 

减少输入错误的方法 获取的数据尽可能与原始数据接近; 尽可能使用电子设备和自动输入; 尽可能避免人工干涉; 2018年9月17日星期一 第11章 详细设计 减少输入错误的方法 获取的数据尽可能与原始数据接近; 尽可能使用电子设备和自动输入; 尽可能避免人工干涉; 如果信息可从某个电子表单得到,则使用电子表单而不要重新输入这些信息; 在输入信息时,对数据进行检验和更正。 

普遍使用的输入设备 磁卡片阅读器; 条形码阅读器; 光电字符识别阅读器和扫描仪; 触摸屏设备; 电子笔和书写板; 2018年9月17日星期一 第11章 详细设计 普遍使用的输入设备 磁卡片阅读器; 条形码阅读器; 光电字符识别阅读器和扫描仪; 触摸屏设备; 电子笔和书写板; 数字化仪,如数字照相机和数字音频设备。 

2. 定义系统输入细节 目标:确保设计者已确定所有必要的系统输入并对它们进行正确说明。 基本方法:确定穿越系统边界的所有信息流。 2018年9月17日星期一 第11章 详细设计 2. 定义系统输入细节 目标:确保设计者已确定所有必要的系统输入并对它们进行正确说明。 基本方法:确定穿越系统边界的所有信息流。 ⑴使用结构化的模型 ⑵使用OO模型 

⑴使用结构化的模型 ①定义自动化边界 ②通过分析每个DFD片段来确定必要的输入 ③从DFD片段得到输入列表 2018年9月17日星期一 第11章 详细设计 ⑴使用结构化的模型 ①定义自动化边界 ②通过分析每个DFD片段来确定必要的输入 ③从DFD片段得到输入列表 ④分析结构图中的每个模块、数据耦合,并列出每个数据耦合的数据字段。 

时间卡税率表雇员档案更新 系统自动化边界 系统级 DFD 的自动化边界 部分输入、输出的过程 穿越边界的数据流是I/O 程序边界 

DFD上穿越边界的输入数据流对应事件表中的外部事件的触发。 2018年9月17日星期一 第11章 详细设计 带自动化边界的创建新订单DFD DFD上穿越边界的输入数据流对应事件表中的外部事件的触发。 

2018年9月17日星期一 第11章 详细设计 客户支持系统的输入列表 

2018年9月17日星期一 第11章 详细设计 创建新订单的结构图 

表中数据耦合列所列出由终端用户确定作为输入的每一项将成为电子输入数据表单或I/O表单的一部分。 2018年9月17日星期一 第11章 详细设计 组成输入的数据流、数据耦合和数据元素 表中数据耦合列所列出由终端用户确定作为输入的每一项将成为电子输入数据表单或I/O表单的一部分。 

⑵使用OO模型 OO方法确定用户和系统输入的任务与利用结构化方法一样。 不同之处在于使用顺序图和设计类图。 第11章 详细设计 2018年9月17日星期一 第11章 详细设计 ⑵使用OO模型 OO方法确定用户和系统输入的任务与利用结构化方法一样。 不同之处在于使用顺序图和设计类图。 

薪金IS用例的部分顺序图 更新雇员信息:雇员ID号,雇员信息 更新税率信息:税率ID号,税率信息 输入时间卡信息:雇员ID号,日期,时间 2018年9月17日星期一 薪金IS用例的部分顺序图 第11章 详细设计 更新雇员信息:雇员ID号,雇员信息 更新税率信息:税率ID号,税率信息 输入时间卡信息:雇员ID号,日期,时间 

2018年9月17日星期一 第11章 详细设计 创建订单 创建新订单的系统顺序图 向订单中添加条目 完成订单 执行支付 返回确认 

RMO系统顺序图的输入消息和数据参数 表显示了与每个输入相联系的数据。 与用户界面相联系的消息在设计用户界面时被精确定义。 2018年9月17日星期一 第11章 详细设计 RMO系统顺序图的输入消息和数据参数 表显示了与每个输入相联系的数据。 与用户界面相联系的消息在设计用户界面时被精确定义。 该例中,只有系统输入被放置在列表中。 详细的表格有助于更精确地定义输入参数。详细信息常被传送到顺序图中,从而使得顺序图更加充实。 

11.3.3 系统输出设计 系统输出的主要目的是在正确的时间和地点,为正确的人提供相关信息。 输出设计任务要求实现的目标: 2018年9月17日星期一 第11章 详细设计 11.3.3 系统输出设计 系统输出的主要目的是在正确的时间和地点,为正确的人提供相关信息。 输出设计任务要求实现的目标: 确定每个输出类型; 为应用设计所要求的特定输出做一个列表; 提供必要的控制来保护输出中提供的信息; 设计和规范报表布局。 特定报表:程序员没有预先定义而在需要时由用户设计的报表。 

2018年9月17日星期一 第11章 详细设计 1. 定义系统输出的细节 2. 设计报表、声明和返回文档 3. 报表的规范化 

1. 定义系统输出的细节 定义系统输出细节的目的是确保设计者已经确认和定义了系统中每一个必要的输出。 2018年9月17日星期一 第11章 详细设计 1. 定义系统输出的细节 定义系统输出细节的目的是确保设计者已经确认和定义了系统中每一个必要的输出。 基本方法与系统输入的设计很相似。基于模型的方法利用事件表和其他模型来确定和定义输出的详细内容。 ⑴使用结构化模型 ⑵使用OO模型 

2018年9月17日星期一 第11章 详细设计 ⑴使用结构化模型 确定输出的过程和从穿过系统边界的数据流建立输入列表清单的过程一样。 

员工的薪金支票、年终税详细报告 、批处理报告。 2018年9月17日星期一 员工的薪金支票、年终税详细报告 、批处理报告。 第11章 详细设计 系统自动化边界 系统级 DFD 的自动化边界 部分输入、输出的过程 穿越边界的数据流是I/O 程序边界 

带自动化边界的创建新订单DFD DFD上穿越边界的输入数据流对应于事件表中的外部事件的触发。 第11章 详细设计 2018年9月17日星期一 第11章 详细设计 带自动化边界的创建新订单DFD DFD上穿越边界的输入数据流对应于事件表中的外部事件的触发。 

基于传统结构化方法的系统输出表 建立DFD输出、报表定义和数据域的表格时,增加两列内容: ①产生报表所需的数据存储或文件; 2018年9月17日星期一 第11章 详细设计 基于传统结构化方法的系统输出表 建立DFD输出、报表定义和数据域的表格时,增加两列内容: ①产生报表所需的数据存储或文件; ②产生报表的记录个数,即是单记录还是记录集。 

⑵使用OO模型 在OO的顺序图中,输出消息表示输出,即消息来自于一个系统内部对象而目的地是一个外部参与者。 2018年9月17日星期一 第11章 详细设计 ⑵使用OO模型 在OO的顺序图中,输出消息表示输出,即消息来自于一个系统内部对象而目的地是一个外部参与者。 对于所有顺序图所生成的全部输出消息进行检查是为分析阶段活动所确定的必要输出提供了一致性审核。 基于单个对象(或记录)的输出消息通常是对象类方法的一部分。 用报表表示一个类中所有对象,使用类的方法。 类方法工作于整个对象类,而不仅仅是单个对象。 

2018年9月17日星期一 第11章 详细设计 创建新订单的系统顺序图 

基于OO消息的系统输出表 该表是由 “创建新订单”这一单一用例派生出来的,所以表中未包含诸如发货消息等出现在其他用例中的其他消息。 2018年9月17日星期一 第11章 详细设计 基于OO消息的系统输出表 该表是由 “创建新订单”这一单一用例派生出来的,所以表中未包含诸如发货消息等出现在其他用例中的其他消息。 

2. 设计报表、声明和返回文档 ⑴报表类型 ⑵内部和外部输出 ⑶电子报表 ⑷图形和多媒体表示 第11章 详细设计 2018年9月17日星期一 第11章 详细设计 2. 设计报表、声明和返回文档 ⑴报表类型 ⑵内部和外部输出 ⑶电子报表 ⑷图形和多媒体表示 

2018年9月17日星期一 第11章 详细设计 ⑴报表类型 ①详细报表 ②汇总报表 ③异常报表 ④决策报表 

①详细报表 包含详细交易或记录的报表。 用来记录每天的商业处理过程。 包含商业交易中的详细信息。 目的是给公司人员提供工作文档。 2018年9月17日星期一 第11章 详细设计 ①详细报表 包含详细交易或记录的报表。 用来记录每天的商业处理过程。 包含商业交易中的详细信息。 目的是给公司人员提供工作文档。 

②汇总报表 对一段时间内或某些种类的信息细节进行摘要或汇总的报表。 通常用来对阶段性活动进行扼要重述。 2018年9月17日星期一 第11章 详细设计 ②汇总报表 对一段时间内或某些种类的信息细节进行摘要或汇总的报表。 通常用来对阶段性活动进行扼要重述。 例:对每天或每周的所有销售交易进行汇总,从而计算出销售总金额。 中层管理人员通常使用这些报表来跟踪部门的表现。 

③异常报表 仅包含非标准或异常、条件信息的报表。 用于监视部门表现。只有在超出值的正常范围时才生成异常报表。业务正常进行时,不需要异常报表。 2018年9月17日星期一 第11章 详细设计 ③异常报表 仅包含非标准或异常、条件信息的报表。 用于监视部门表现。只有在超出值的正常范围时才生成异常报表。业务正常进行时,不需要异常报表。 但当某些值超出期望值时,就生成异常报表向工作人员报警。 例:生产线上用来列出不合格零件的报表。如果不合格率高于设定的阈值,那么就会生成一张报表。 有时,异常报表定期生成,但只是着重说明其中超出范围的项目。 

④决策报表 从用于战略决策的各种信息源得到的汇总报表。 组织中的高层管理人员通常使用决策报表来评估组织的整体健康状况和运行情况。 2018年9月17日星期一 第11章 详细设计 ④决策报表 从用于战略决策的各种信息源得到的汇总报表。 组织中的高层管理人员通常使用决策报表来评估组织的整体健康状况和运行情况。 报表包括根据公司内部活动得到的汇总信息,也可能包括与全行业范围内平均水平业绩的比较。 通过这种方法,管理人员可以评估自己公司的竞争力和薄弱环节。 

⑵内部和外部输出 内部输出:为组织内部的使用而生成的打印报表和文件。 2018年9月17日星期一 第11章 详细设计 ⑵内部和外部输出 内部输出:为组织内部的使用而生成的打印报表和文件。 外部输出:为组织外部的使用而生成的打印文档,如声明、通知、套用信函和法律文档。 返回文档:一个外部输出,其中包含作为输入返回系统的一部分。 控制变值报告:一个含有详细资料和汇总信息的报表。 

2018年9月17日星期一 第11章 详细设计 RMO购物车订单报表(外部) 

2018年9月17日星期一 第11章 详细设计 RMO公司的库存报表(内部) 

报告的控制变值是将报告分成多个群体的数据项。 在例中控制变值数据项是报告的ID号。 2018年9月17日星期一 第11章 详细设计 报告的控制变值是将报告分成多个群体的数据项。 在例中控制变值数据项是报告的ID号。 

2018年9月17日星期一 第11章 详细设计 雇员福利报表样例 

2018年9月17日星期一 第11章 详细设计 ⑶电子报表 电子报表可有多种形式来显示信息,如将详细和汇总部分一起显示,或将数据与图像一起显示,或以黑体和高亮形式显示,或动态地改变数据组织结构及汇总部分,或包含链接相关信息的热连接。 优点:它是动态的,它能变化地满足在特殊位置的用户的需要;可从不同角度观察数据。 如:按照地区、销售经理、生产线、时间段来查看销售委托数据或者与上一个季度的数据进行比较。 

电子表格的技术 下钻:将汇总字段与它所支持的详细资料连接并使用户可动态查看细节的能力。 2018年9月17日星期一 第11章 详细设计 电子表格的技术 下钻:将汇总字段与它所支持的详细资料连接并使用户可动态查看细节的能力。 链接:它使得用户可将一个报表中的信息与另一个相关报表中的信息相互关联。 

2018年9月17日星期一 第11章 详细设计 可下钻到明细报表的RMO汇总报表 

⑷图形和多媒体表示 允许数据以图形和图表的方式表示的工具使得打印和电子格式的信息报表更加友好。 2018年9月17日星期一 第11章 详细设计 ⑷图形和多媒体表示 允许数据以图形和图表的方式表示的工具使得打印和电子格式的信息报表更加友好。 如今在屏幕上以图形和动画形式呈现信息并且突出部分伴有声音描述已经成为可能。 将视觉和声音输出结合起来是表示信息的一种强有力的手段。 

2018年9月17日星期一 第11章 详细设计 柱状图和饼状图报表范例 

3. 报表的规范化 设计输出报表的三个原则: 必须事先确定报表的使用对象及他们如何使用报表。 报表的内容和格式应该是基于报表的读者和使用者。 2018年9月17日星期一 第11章 详细设计 3. 报表的规范化 设计输出报表的三个原则: ⑴报表的目标是什么? ⑵使用对象是谁? ⑶媒体展示内容是什么? 必须事先确定报表的使用对象及他们如何使用报表。 报表的内容和格式应该是基于报表的读者和使用者。 

报表的格式 标题 报表生成日期 基本信息的有效日期 标记页数 图表应附有坐标轴、度量单位和图例 第11章 详细设计 2018年9月17日星期一 第11章 详细设计 报表的格式 标题 报表生成日期 基本信息的有效日期 标记页数 图表应附有坐标轴、度量单位和图例 

要点回顾 UML模型向关系模型映射的方法。 I/O分系统界面和用户界面。 2018年9月17日星期一 第11章 详细设计 要点回顾 UML模型向关系模型映射的方法。 I/O分系统界面和用户界面。 用户界面:描述用户与计算机交互设计即人-机交互设计的关键概念和技术。 对用户而言,用户界面就是系统。 描述用户界面的方式:桌面隐喻、文档隐喻、对话隐喻(界面设计常称对话设计)。 系统界面:包括除去图形用户界面(GUI)中输入输出之外的所有输入和输出。 开发系统输入列表:传统方法使用DFD、数据流定义和结构图。OO方法,顺序图 、设计类图是主要的信息来源。 

你应具备的能力 将UML模型转换为关系模型 理解用户界面和系统界面的差别 在设计用户界面时应用于对话设计的八条黄金规则 2018年9月17日星期一 第11章 详细设计 你应具备的能力 将UML模型转换为关系模型 理解用户界面和系统界面的差别 在设计用户界面时应用于对话设计的八条黄金规则 列出在Web设计时使用的主要原则 定义整体系统结构——菜单层次体系 将用户-计算机交互场景设计成对话 利用UML类图、顺序图为对话设计建立文档 设计用于对话实现的窗口窗体和浏览器窗体 理解IS中的系统界面 根据应用程序的要求定义输入和输出 为系统用户合理地设计打印和显示报表 

阅读章节要求 网络课堂:第11章 详细设计 戴伟辉:《信息系统分析与设计》 4.6 数据库设计 思考题:网络课堂第11章复习及练习题 2018年9月17日星期一 第11章 详细设计 阅读章节要求 网络课堂:第11章 详细设计 戴伟辉:《信息系统分析与设计》 4.6 数据库设计 思考题:网络课堂第11章复习及练习题 