第11章详细设计_信息系统分析与设计_第1页
第11章详细设计_信息系统分析与设计_第2页
第11章详细设计_信息系统分析与设计_第3页
第11章详细设计_信息系统分析与设计_第4页
第11章详细设计_信息系统分析与设计_第5页
已阅读5页,还剩142页未读 继续免费阅读

下载本文档

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

文档简介

1、第第1111章章 详细设计详细设计20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 2/147本章内容本章内容先导先导案例案例概述概述11.1 数据库设计数据库设计 11.2 用户界面设计用户界面设计11.3 系统界面设计系统界面设计 要点要点回顾回顾阅读章节阅读章节要求要求20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 3/147先导案例先导案例Aviation Electronic的界面设计的界面设计20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 4/147概述概述U

2、ML模型模型向向关系模型关系模型的映射。的映射。系统界面系统界面处理需要少量人员干预的处理需要少量人员干预的输入输入和输出和输出; ;用户界面用户界面处理需要人员直接参与的处理需要人员直接参与的输入输入和输出和输出。设计指导原则有助于确保系统的可用性。设计指导原则有助于确保系统的可用性。20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 5/14711.1 数据库设计数据库设计11.1.1 主键的生成主键的生成 11.1.2 属性类型到域的映射属性类型到域的映射 11.1.3 类的属性到列的映射类的属性到列的映射 11.1.4 类到表的映射类到表的映射 1

3、1.1.5 关联关系的映射关联关系的映射20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 6/14711.1.1 主键的生成主键的生成1. 将对象标识符映射为主键将对象标识符映射为主键 2. 将对象的某些属性映射为主键将对象的某些属性映射为主键20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 7/1471. 将对象标识符映射为主键将对象标识符映射为主键在将在将UML中的类映射为中的类映射为RDB中的表时,中的表时,每张表中都增加一个对象标识符列,该对每张表中都增加一个对象标识符列,该对象标识符列作为表的主键。象标识

4、符列作为表的主键。在将在将UML模型中模型中关联关系关联关系映射为映射为RDB中中的关联表时,关联表的主键由与该关联关的关联表时,关联表的主键由与该关联关系相关的类的标识符组成。系相关的类的标识符组成。缺点缺点:在:在DB维护时很难看出基于对象标维护时很难看出基于对象标识符的主键具有什么内在的含义。识符的主键具有什么内在的含义。20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 8/147带有关联类的大学课程注册类图带有关联类的大学课程注册类图20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 9/1472. 将对象的

5、某些属性映射为主键将对象的某些属性映射为主键将类的某些属性映射为将类的某些属性映射为RDB中表的主键。中表的主键。该方法得到的主键具有一定的内在含义,该方法得到的主键具有一定的内在含义,从而为从而为DB的调试和维护提供了方便。的调试和维护提供了方便。但这种主键的修改比较困难,它们的修但这种主键的修改比较困难,它们的修改可能要涉及到许多外键的修改。改可能要涉及到许多外键的修改。20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 10/14711.1.2 属性类型到域的映射属性类型到域的映射属性类型是属性类型是UML术语,对应于术语,对应于DB的域。的域。 简

6、单域非常容易实现,只需定义相应的数据类简单域非常容易实现,只需定义相应的数据类型和大小。型和大小。每个使用了域的属性,在映射时可能需要为每每个使用了域的属性,在映射时可能需要为每个域约束加入一条个域约束加入一条SQL的的Check查询子句来表查询子句来表示在域上的约束示在域上的约束(如限定域的取值范围等如限定域的取值范围等)。简单域例简单域例:名字:名字(name)和电话号码和电话号码(phone-Number)。20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 11/14711.1.3 类的属性到列的映射类的属性到列的映射UML模型中类的属性映射为模型

7、中类的属性映射为RDB表中的零列表中的零列或几列。一般地,可将类的属性直接映射成表或几列。一般地,可将类的属性直接映射成表的一个字段。的一个字段。注意两种特殊情况:注意两种特殊情况:并不是类中的所有属性均是永久的并不是类中的所有属性均是永久的(发票中的发票中的“合计合计”属性属性)。 当当UML类的一个属性本身就是对象时要将它类的一个属性本身就是对象时要将它映射为映射为DB表中的几列表中的几列(Customer中包含一个作中包含一个作为其属性的为其属性的Address对象对象 )。 20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 12/14711.1.

8、4 类到表的映射类到表的映射1. 所有的类均映射为所有的类均映射为DB中的表中的表2. 具有属性的类映射为具有属性的类映射为DB表表 3. 将超类的属性下移将超类的属性下移 4. 将子类的属性上移将子类的属性上移20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 13/1471. 所有的类均映射为所有的类均映射为DB中的表中的表为每个为每个超类超类和和子类子类都创建一张表,都创建一张表,这些表共享一个这些表共享一个公共的主键公共的主键。Pilot flightRating FlightAttendant Employee NametaxpayerNumbe

9、rFlightAttendant tableEmployee tablePilot tableemployeeIDname taxpayerNumberemployeeTypePilotID(references Employee) flightRatingflightAttendantID(references Employee)20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 15/1472. 具有属性的类映射为具有属性的类映射为DB表表所有具有属性的类才映射为所有具有属性的类才映射为DB表,无表,无属性的类不进行映射。属性的类不进行映射。与上一种方

10、法相比,该方法减少了与上一种方法相比,该方法减少了DB表的数量,其他方面与上一种方法大致表的数量,其他方面与上一种方法大致相同。相同。 employeeID nametaxpayerNumber employeeTypePilot flightRating FlightAttendant Employee NametaxpayerNumberEmployee tablePilotID(references Employee)flightRatingPilot table 20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 17/1473. 将超类的属性下移

11、将超类的属性下移每个子类对应的每个子类对应的DB表中既包含该子类表中既包含该子类中的属性,也包含该子类所继承的属性。中的属性,也包含该子类所继承的属性。超类不映射为超类不映射为DB表,减少表,减少DB表的数量。表的数量。 Pilot flightRating FlightAttendant Employee NametaxpayerNumberpilotIDnametaxpayerNumberflightRatingflightAttendantIDnametaxpayerNumberPilot tableFlightAttendant table20222022年年4 4月月1919日星期二

12、日星期二第第1111章章 详细设计详细设计 19/1474. 将子类的属性上移将子类的属性上移将所有子类的属性都存放在超类所对应的将所有子类的属性都存放在超类所对应的DB表中。表中。一个完整的类层次结构只映射为一张一个完整的类层次结构只映射为一张DB表,而层次结构中所有类的所有属性都存表,而层次结构中所有类的所有属性都存储在这张储在这张DB表中。表中。避免了将众多的子类映射为避免了将众多的子类映射为DB表,从而表,从而减少减少DB表的数量。表的数量。Pilot flightRating FlightAttendant Employee NametaxpayerNumberemployeeIDn

13、ametaxpayerNumber employeeTypeflightRatingEmployee table 20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 21/14711.1.5 关联关系的映射关联关系的映射 1. 多对多关联的实现多对多关联的实现 2. 一对多关联的实现一对多关联的实现3. 零或一对一关联零或一对一关联的实现的实现4. 一对一关联的实现一对一关联的实现5. UML模型的映射实例模型的映射实例 20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 22/147四种类间的关联四种类间的关联可选对

14、可选可选对可选(0.1 : 0.*)强制对可选强制对可选(1 : 0.*)可选对强制可选对强制 (0.* : 1)强制对强制强制对强制(1.* : l.*) 20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 23/1471. 多对多关联的实现多对多关联的实现可选对可选可选对可选(0.1 : 0.*)引入关联表。引入关联表。关联表是一张独立的表,它用于在关联表是一张独立的表,它用于在RDB中中维护两张或多张表之间的关联。维护两张或多张表之间的关联。在在RDB中,关联表中包含的属性通常是关中,关联表中包含的属性通常是关系中系中涉及到的表中的键的组合涉及到的表

15、中的键的组合。关联表的名字通常是它所关联的表的名字关联表的名字通常是它所关联的表的名字的组合,或者是它实现的关联的名字。的组合,或者是它实现的关联的名字。 flightIDFlightAttendantIDFlight FlightAttendant 0.* *AttendantAssignment0.* *flightID(references Flight)FlightAttendantID(references FlightAttendant)Flight tableFlightAttendant tableAttendant Assignment table 20222022年年4 4

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

17、0222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 26/147FlightPilot10.*copilot外键放在外键放在“多多”方方flightIDcopilot(references Pilot)PilotIDPilot tableFlight table20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 27/147使用关联表使用关联表flightIDPilotIDflightID(references Flight)copilot(references Pilot)Flight tablePilot table

18、Flight-copilot tableFlightPilot10.*copilot20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 28/1473. “零或一零或一”对一关联的实现对一关联的实现可选对强制可选对强制 (0.* : 1)可将外键放置在可选的一端可将外键放置在可选的一端该外键不能为空值该外键不能为空值CompanyIDcompanyNamedataFounded0.11CompanyCompany NamedateFoundedBoardOfDirectorsmaxBoardSizeCompany tableBoardOfDirectors

19、 tableboardOfDirectorIDmaxBoardSizeCompanyID(references Company)20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 30/1474. 一到一关联的实现一到一关联的实现强制对强制强制对强制(1.* : l.*) 在实现这种关联时,可将外键放置在任在实现这种关联时,可将外键放置在任意一边,具体情况依赖于性能等因素。意一边,具体情况依赖于性能等因素。20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 31/1475. UML模型的映射实例模型的映射实例 航空公司

20、的类图航空公司的类图 0.*Pilot flightRating FlightAttendant Employee NametaxpayerNumber 0.*1Copilotpilot 0.* 0.*0.*0.*1ScheduleAttendantAssignment1Employee TypeFlight flightNumdateAirlineNamesymbol1航空公司的数据库表航空公司的数据库表AirlineAirlineIDNamesymbolFlightflightIDflightNumdateairlineIDpilotcopilotEmployeeEmployeeIDnam

21、etaxpayerNumberemployeeTypeairlineIDFlightAttendantflightAttendantIDPilotpilotIDflightRatingAttendantAssignmentflightIDflightAttendantID20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 33/147CREATE TABLE AirlineCREATE TABLE Airline(airlineID integer CONSTRAINT nn_airline1 NOT NULL,name text(40) CONSTRAI

22、NT 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 FlightCREATE TABLE Flight(flightID integer CONSTRAINT nn_flight1 NOT NULL,flightNum text(10) CON

23、STRAINT 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 FlightADD CONSTRAINT fk_fligh

24、t1 FOREIGN KEY(airlineID)REFERENCES Airline ON DELETE NO ACTION;ALTER TABLE F1ightADD CONSTRAINT fk_flight2 FOREIGN KEY(pilot)REFERENCES Pilot ON DELETE NO ACTION;ALTER TABLE FlightADD CONSTRAINT fk_flight3 FOREIGN KEY(copilot)REFERENCES Pilot ON DELETE NO ACTION;CREATE INDEX index flight1 ON Flight

25、(airlineID);CREATE INDEX index flight2 ON Flight(pilot);CREATE INDEX index flight3 ON F1ight(copilot);CREATE TABLE EmployeeCREATE 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

26、,employeeType text(20) CONSTRAINT nn_employee4 NOT NULL,airlineID integer CONSTRAINT nn_employee5 NOT NULL,CONSTRAINT PrimaryKey PRIMARY KEY(employeeID);ALTER TABLE EmployeeADD CONSTRAINT fk_employee1 FOREIGN KEY(airlineID)REFERENCES Airline ON DELETE NO ACTION;CREATE INDEX index_employee1 ON Employ

27、ee(airlineID);CREATE TABLE Pilot(pilotID integer CONSTRAINT nn_pilot1 NOT NULL,flightRating text(40),CONSTRAINT PrimaryKey PRIMARY KEY(pilotID);ALTER TABLE PilotADD CONSTRAINT fk_pilot1 FOREIGN KEY(pilotID)REFERENCES Employee ON DELETE CASCADE;CREATE TABLE F1ightAttendantCREATE TABLE F1ightAttendant

28、(flightAttendantID integer CONSTRAINT nn_flightAttendant1 NOT NULL,CONSTRAINT PrimaryKey PRIMARY KEY (flightAttendantID);ALTER TABLE FlightAttendantADD CONSTRAINT fk_flightAttendant1 FOREIGN KEY(flightAttendantID)REFERENCES Employee ON DELETE CASCADE;CREATE TABLE AttendantAssignment(flightID integer

29、 CONSTRAINT nn_attendantAssignment1NOT NULL,flightAttendantID integer CONSTRAINT nn_attendantAssignment2 NOTNULL,CONSTRAINT PrimaryKey PRIMARY KEY(flightID,flightAtten_dantID);ALTER TABLE AttendantAssignmentADD CONSTRAINT fk_attendantAssignment1 FOREIGN KEY (flightID)REFERENCES Flight ON DELETE CASC

30、ADE;ALTER TABLE AttendantAssignmentADD CONSTRAINT fk_attendantAssignment2 FOREIGN KEY (fliqhtAttendantID)REFERENCES FlightAttendant ON DELETE NO ACTION;CREATE INDEX index_attendantAssignment1 ON AttendantAssignment (flightAttendantID);航空公司的数据库表航空公司的数据库表遍历航空公司遍历航空公司UML类图的表达式及相应类图的表达式及相应SQL代码代码表达式表达式含

31、义含义SQL代码代码anAirline.Employee找出一条航线找出一条航线上的所有雇员上的所有雇员SELECT employeeIDFROM EmployeeWHERE airlineID=:anAirline;anAirline.E找出一条航线找出一条航线上所有雇员的上所有雇员的名字名字SELECT nameFROM EmployeeWHERE airlineID=:anAirline;anAirline.Flight getMonth(date)=aMonth.pilot找出一条航线找出一条航线上指定月份内上指定月份内飞行的所有飞飞行的所有飞行员行员SELEC

32、T pilotID FROM FlightWHERE airlineID=:anAirline ANDgetMonth(date)=:aMonth;anAirline.FlightgetMonth(date)=aMonth.pilotflightRating=aFlightRating找出一条航线找出一条航线上指定月份内上指定月份内飞行且达到指飞行且达到指定飞行出勤率定飞行出勤率的所有飞行员的所有飞行员SELECT P.pilotIDFROM Flight F,pilot PWHERE F.airlineID=:anAirline ANDgetMonth(F.date)=:aMonth AND

33、F.pilotID=P.pilotID ANDP.flightRating=:aFlightRating;AFlight.copilot:E找出一个班机找出一个班机的副驾驶员的副驾驶员SELECT E.nameFROM Flight F, Pilot P, Employee EWHERE F.flightID=:aFlight ANDF.copilotID=P.pilotID ANDP.pilotID=E.employeeID;对象模型的遍历表达式对象模型的遍历表达式20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 35/147对

34、象模型的遍历表达式对象模型的遍历表达式使用使用UML对象约束语言对象约束语言OCL来说明。来说明。圆点圆点(.):表示从一个对象定位到另一个对象,表示从一个对象定位到另一个对象,或表示从对象定位到属性;或表示从对象定位到属性;方括号方括号( ):说明对象集合上的过滤条件;说明对象集合上的过滤条件;冒号冒号(:):表示泛化关系的遍历。表示泛化关系的遍历。程序变量程序变量以冒号开头。以冒号开头。20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 36/14711.2 用户界面设计用户界面设计11.2.1 输入和输出的识别与分类输入和输出的识别与分类 11.2.

35、2 理解用户界面理解用户界面 11.2.3 界面设计指导原则界面设计指导原则 11.2.4 对话设计文档化对话设计文档化 11.2.5 窗体设计指导原则窗体设计指导原则11.2.6 网站设计指导原则网站设计指导原则20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 37/14711.2.1 输入和输出的识别与分类输入和输出的识别与分类1. 传统和传统和OO的输入和输出的输入和输出2. 用户界面与系统界面用户界面与系统界面20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 38/1471. 传统和传统和OO的输入和输出的

36、输入和输出传统方法中,在传统方法中,在关联图关联图、DFD片断片断和细节和细节DFD中的数据流中有中的数据流中有I/O。在列出所有数据元素的数据流定义中详细在列出所有数据元素的数据流定义中详细描述每一项描述每一项I/O。设计阶段,当决定设计方案时系统分析员设计阶段,当决定设计方案时系统分析员根据所做出的决定会增加更多有关数据流根据所做出的决定会增加更多有关数据流的细节。的细节。20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 39/147RMO订单子系统的关联图订单子系统的关联图 20222022年年4 4月月1919日星期二日星期二第第1111章章 详

37、细设计详细设计 40/147课程注册系统的课程注册系统的DFD片段片段 20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 41/147OO方法中方法中I/O被定义为被定义为进入进入和和离开离开系统的消息。系统的消息。I/O分别对应于分别对应于事件表事件表中事件的中事件的触发器触发器和和响应响应。一个场景中交换的消息详细定义一个场景中交换的消息详细定义I/O,且,且随每一场景设计越发细化,消息的内容也随每一场景设计越发细化,消息的内容也越加确定。越加确定。交互图、设计类图的交互图、设计类图的方法方法和和状态图表状态图表中。中。 20222022年年4 4月

38、月1919日星期二日星期二第第1111章章 详细设计详细设计 42/147RMORMO客客户户支支持持系系统统的的完完整整事事件件表表20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 43/147完完成成的的查查询询对对象象有有效效性性的的三三层层设设计计20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 44/147“查询可用条目查询可用条目”的协作图的协作图 20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 45/147Order类的方法类的方法 Order-orderID

39、:intrger-orderDate:date-prioityCode:string-shipping&Handling:float-tax:float-grandTotal:float+createOrder(accountNo)+addItem(catalogID,prodID,size,quantity):orderItem+completeOrder():float+makePayment(ccInformation)20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 46/1472. 用户界面与系统界面用户界面与系统界面 无论传统设计还是

40、无论传统设计还是OO设计方法中,系统设计方法中,系统设计的一个关键步骤是将每一事件的设计的一个关键步骤是将每一事件的I/O分类划分到分类划分到系统界面系统界面或或用户界面用户界面中。中。将二者的设计分开,是因为两种设计需将二者的设计分开,是因为两种设计需要不同的专业知识和技术。要不同的专业知识和技术。 系统界面系统界面 用户界面用户界面 20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 47/147系统界面系统界面系统中包含最少量人员干预的系统中包含最少量人员干预的I/O部分。部分。 输入输入:由特定的输入设备:由特定的输入设备(如扫描仪如扫描仪)来自来

41、自动捕获的输入数据或者来自其他系统的电动捕获的输入数据或者来自其他系统的电子消息,或是来自其他系统的批处理编译子消息,或是来自其他系统的批处理编译过程。过程。输出输出:主要是向其他系统发送消息或信息,主要是向其他系统发送消息或信息,或者它们是在无人员干预的情况下为外部或者它们是在无人员干预的情况下为外部代理或角色生成报告、陈述或文档等内容。代理或角色生成报告、陈述或文档等内容。 20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 48/147用户界面用户界面 IS中需要用户交互的中需要用户交互的I/O部分部分。需要系统用户更直接干预的需要系统用户更直接干预

42、的I/O。一个用户界面能够使用户通过与计算机一个用户界面能够使用户通过与计算机进行交互而记录一个事务。进行交互而记录一个事务。 20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 49/147例如:例如:一个客户服务代表为一位一个客户服务代表为一位RMO顾顾客记录一份电话订单。客记录一份电话订单。有时候,在用户交互之后产生输出,例有时候,在用户交互之后产生输出,例如,在用户查询订单状态后相关信息会如,在用户查询订单状态后相关信息会被显示出来。被显示出来。在基于在基于Web的系统中,一个客户可直接的系统中,一个客户可直接与系统进行交互从而得到信息、下达订与系

43、统进行交互从而得到信息、下达订单或查询订单状态等。单或查询订单状态等。20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 50/14711.2.2 理解用户界面理解用户界面0. 人人-机交互机交互(HCI) 1. 用户界面的物理特征用户界面的物理特征2. 用户界面的感知特征用户界面的感知特征 3. 用户界面的概念特征用户界面的概念特征4. 以用户为中心的设计技术以用户为中心的设计技术5. 人人-机界面研究领域机界面研究领域6. 有关有关HCI的隐喻的隐喻20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 51/1470

44、. 人人-机交互机交互(HCI)对最终用户及其与计算机交互的研究对最终用户及其与计算机交互的研究。 对系统的最终用户来讲,用户界面就代对系统的最终用户来讲,用户界面就代表了系统本身。表了系统本身。设计用户界面就是设计系统设计用户界面就是设计系统。20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 52/147用户界面的物理、感知和概念特征用户界面的物理、感知和概念特征 20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 53/1471. 用户界面的物理特征用户界面的物理特征包括包括:用户实际接触到的设备用户实际接触到的

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

46、到听到、触摸到触摸到的所有的所有东西东西( (物理设备除外物理设备除外) )。能见到的包括能见到的包括:显示在屏幕上的所有数:显示在屏幕上的所有数据和指令,如图形、线条、数字和文字。据和指令,如图形、线条、数字和文字。能依赖于系统合成的声音,即使是用于能依赖于系统合成的声音,即使是用于表示击键和确认功能选择的蜂鸣声和咔表示击键和确认功能选择的蜂鸣声和咔嗒声。嗒声。 20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 55/1473. 用户界面的概念特征用户界面的概念特征包括包括:用户了解的有关系统使用的所有用户了解的有关系统使用的所有内容内容,即用户正在操

47、作的系统中所有问,即用户正在操作的系统中所有问题域中的题域中的“事物事物”,系统所执行的操作,系统所执行的操作以及随后的操作实施过程。以及随后的操作实施过程。用户模型用户模型:用户对所使用系统了解的内:用户对所使用系统了解的内容,包括用户正在操纵的问题域容,包括用户正在操纵的问题域“事事物物”、系统所执行的操作,以及随后的、系统所执行的操作,以及随后的任务实施过程。任务实施过程。20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 56/1474. 以用户为中心的设计技术以用户为中心的设计技术将用户放在开发过程中心地位的技术集合。将用户放在开发过程中心地位的

48、技术集合。该设计技术强调三个原则:该设计技术强调三个原则:及早关注用户及其工作及早关注用户及其工作多次评价系统设计以确保其多次评价系统设计以确保其可用性可用性使用迭代开发方法使用迭代开发方法20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 57/147可用性可用性学习和使用系统的容易程度。学习和使用系统的容易程度。自解释型的系统自解释型的系统 :拥有大量表单、对话框、:拥有大量表单、对话框、广泛提示信息和指导信息的基于菜单的应广泛提示信息和指导信息的基于菜单的应用程序。适用于那些用户并不经常使用的用程序。适用于那些用户并不经常使用的系统。系统。但如果是办

49、公室职员整天都在使用的系统,但如果是办公室职员整天都在使用的系统,设计的重点应该放在界面的快速切换和设计的重点应该放在界面的快速切换和灵灵活性活性方面,应该有包括快捷键、热键、大方面,应该有包括快捷键、热键、大信息量屏幕显示等方面的设计。信息量屏幕显示等方面的设计。 20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 58/1475. 人人-机界面研究领域机界面研究领域人为因素工程人为因素工程(人体工程学人体工程学):对人与机器对人与机器的交互作用的一般研究。的交互作用的一般研究。用户界面设计技术和用户界面设计技术和HCI的研究领域起源的研究领域起源于人为

50、因素工程或人体工程学。于人为因素工程或人体工程学。对人为因素的正式研究始于二战期间,即对人为因素的正式研究始于二战期间,即宇航工程师研究战斗机驾驶舱控制器的不宇航工程师研究战斗机驾驶舱控制器的不同排列方式对飞行员影响的时候。同排列方式对飞行员影响的时候。飞行员出错即是宇航工程师所认为的飞行员出错即是宇航工程师所认为的“人人为因素为因素”。 20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 59/1476. 有关有关HCI的隐喻的隐喻有关有关HCI的看法,通常称为隐喻或类比的看法,通常称为隐喻或类比。每一个隐喻都是对不同的概念给出一个类每一个隐喻都是对不同

51、的概念给出一个类比,都是对用户界面的设计给出暗示。比,都是对用户界面的设计给出暗示。 直接操纵隐喻直接操纵隐喻 桌面隐喻桌面隐喻 文档隐喻文档隐喻 对话隐喻对话隐喻 20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 60/147直接操纵隐喻直接操纵隐喻 告诉我们用户能直接与显示屏幕上的告诉我们用户能直接与显示屏幕上的对象进行交互。对象进行交互。与用户交互的对象在屏幕上是可见的,与用户交互的对象在屏幕上是可见的,用户可以用鼠标或方向键指向并操纵用户可以用鼠标或方向键指向并操纵他们。他们。20222022年年4 4月月1919日星期二日星期二第第1111章章

52、 详细设计详细设计 61/147桌面隐喻桌面隐喻一种直接操作方法,在那里显示屏幕,包括通一种直接操作方法,在那里显示屏幕,包括通用的桌面对象的排列。用的桌面对象的排列。 显示屏幕上排列着众多的通用桌面对象显示屏幕上排列着众多的通用桌面对象(笔记本、笔记本、日历、计算机和文件夹日历、计算机和文件夹)。现在许多桌面中还包含了电话、自动应答录音现在许多桌面中还包含了电话、自动应答录音电话机、电话机、CD播放机,甚至还有视频监视器。播放机,甚至还有视频监视器。用户与任何这些对象进行交互就像是与他们所用户与任何这些对象进行交互就像是与他们所代表的现实世界对象进行交互一样。代表的现实世界对象进行交互一样。

53、现在最终用户期望包括业务现在最终用户期望包括业务IS在内的所有应用在内的所有应用程序都能够像在桌面上的对象一样自然灵活。程序都能够像在桌面上的对象一样自然灵活。20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 62/147文档隐喻文档隐喻 HCI的比喻说法,实现了电子文档浏览的比喻说法,实现了电子文档浏览和录入数据的人和录入数据的人-机交互。机交互。超文本超文本:超文本允许用户单击某一链接:超文本允许用户单击某一链接并且跳转到该文档的另一部分或者另一并且跳转到该文档的另一部分或者另一文档。文档。超媒体超媒体:对超文本进行扩展的技术,包:对超文本进行扩展的

54、技术,包括诸如图形、视频、音频等多媒体内容。括诸如图形、视频、音频等多媒体内容。20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 63/147对话隐喻对话隐喻人人-机交互更像是进行交谈或对话。机交互更像是进行交谈或对话。 对话隐喻以系统的对话隐喻以系统的OO观点为基础,因观点为基础,因为通信是将一个对象的消息传递给另一为通信是将一个对象的消息传递给另一个对象。个对象。 20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 64/14711.2.3 界面设计指导原则界面设计指导原则界面设计标准界面设计标准:某机构所开发的

55、所有系:某机构所开发的所有系统的界面设计都必须遵循的一般原理和统的界面设计都必须遵循的一般原理和规则。规则。 1. 可视性和可供性可视性和可供性 2. 八条黄金规则八条黄金规则20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 65/1471. 可视性和可供性可视性和可供性可视性可视性:HCI的关键原则,规定的关键原则,规定所有控件所有控件必须是可见的必须是可见的,并且提供,并且提供反馈信息反馈信息指示控指示控件对用户动作的响应。件对用户动作的响应。可供性可供性:HCI的关键原则,规定所有控件的关键原则,规定所有控件的的外观外观都应该都应该体现和反映体现和

56、反映控件所实现的控件所实现的功功能能。原则既适用于人原则既适用于人-机交互,又适用于任何机交互,又适用于任何其他设备。其他设备。 20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 66/1472. 八条黄金规则八条黄金规则尽量保持一致性尽量保持一致性为老用户提供快捷键为老用户提供快捷键 提供反馈信息提供反馈信息设计完整的对话过程设计完整的对话过程提供简单的错误处理机制提供简单的错误处理机制允许撤销动作允许撤销动作提供控制的内部轨迹提供控制的内部轨迹减轻短期记忆负担减轻短期记忆负担20222022年年4 4月月1919日星期二日星期二第第1111章章 详细

57、设计详细设计 67/14711.2.4 对话设计文档化对话设计文档化1. 事件、子系统和菜单层次事件、子系统和菜单层次2. 对话与故事脚本对话与故事脚本3. 用用UML图表实现对话文档编制图表实现对话文档编制 20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 68/1471. 事件、子系统和菜单层次事件、子系统和菜单层次需要交互方式获取的需要交互方式获取的输入项输入项都需要进行对都需要进行对话设计。话设计。用户所需所有用户所需所有输出项输出项也都需要对话设计。也都需要对话设计。在分析过程中记录的事件是每一对话的基在分析过程中记录的事件是每一对话的基础,它

58、可划分为础,它可划分为用户界面用户界面而而非系统界面非系统界面。20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 69/147对话设计必须与其他设计活动同时进行。对话设计必须与其他设计活动同时进行。子系统结构图子系统结构图(事务分析事务分析)包括系统交互部包括系统交互部分的菜单结构的细节内容。分的菜单结构的细节内容。 在在OO方法的设计过程中也方法的设计过程中也在较早阶段在较早阶段关关注对话设计,甚至在分析任务阶段。注对话设计,甚至在分析任务阶段。顺序图顺序图和和协作图协作图表中包含了对话涉及的细表中包含了对话涉及的细节内容。节内容。 20222022年

59、年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 70/147从用户立场出发的完备系统结构可以用从用户立场出发的完备系统结构可以用菜单来反映。菜单来反映。每一菜单包含一个选项层次,其中的选每一菜单包含一个选项层次,其中的选项往往根据子系统或对象行为来排列项往往根据子系统或对象行为来排列。 有时需要根据不同的用户类型提供多种有时需要根据不同的用户类型提供多种菜单版本。菜单版本。 20222022年年4 4月月1919日星期二日星期二第第1111章章 详细设计详细设计 71/147RMO客客户户支支持持系系统统全全部部菜菜单单层层次次 20222022年年4 4月月1919日

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

温馨提示

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

最新文档

评论

0/150

提交评论