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

合集下载

Chap4-面向对象的软件设计方法

Chap4-面向对象的软件设计方法

国防科技大学计算机学院
27
用户界面的层次和结构
层次:
屏幕 窗口
用户界面的结构可以由UML类图描述,屏 幕和窗口用类进行表示,并给出它们之间 的关系。 用构造型<<screen>>和<<window>>分别 表示屏幕和窗口。 而屏幕之间的切换过程可以用UML状态图 表示。
国防科技大学计算机学院
国防科技大学计算机学院
25
内容
4.1 基于UML的分析与设计过程
4.2 用例分析与设计
4.3 概念模型和顶层架构设计
4.4 用户界面设计
4.5 数据模型设计 4.6 设计精化 4.7 类设计 4.8 部署模型设计
国防科技大学计算机学院
26
用户界面设计的内容
用户界面包含两方面内容:
首先要完整地包括用户在使用软件过程中所需的各 种元素,例如窗口、菜单、按钮、输入文本框、选 择列表、提示信息等,缺乏这些元素中的某些将会 导致软件功能无法被用户正常完成; 其次要求具有良好的外观和布局,例如背景颜色、 按钮等元素的位置、选择列表中条目的顺序等,这 些因素的不足可能不会影响软件功能的正确使用, 但会给用户带来不便、迷惑甚至反感。
14
细化后ATM用例图
ATM
System Startup InvalidPIN Operator System shutdown
<<extend>>
Session Customer
<<include>>
Printer
Transaction Inquiry Card Reader Transfer Withdrawal Deposit Cash Acceptor Cash Dispenser Bank System

面向对象软件体系结构与设计模式

面向对象软件体系结构与设计模式

面向对象软件体系结构与设计模式一、前言面向对象软件体系结构与设计模式是软件开发的重要组成部分,具有广泛的应用价值和产业意义。

本文将从面向对象软件体系结构和设计模式两个方面进行阐述,探讨其基本原理、实现方法以及应用效果。

二、面向对象软件体系结构面向对象软件体系结构是一种针对现代软件开发的设计和开发方法,其基本思想是以对象为基本单位进行系统分析和设计。

在面向对象软件体系结构中,软件系统被抽象为由各种不同类型的对象组成的集合,每个对象都具有自己的属性和方法,这些对象之间通过接口进行交互,形成一个统一的系统体系结构。

面向对象软件体系结构的优劣面向对象软件体系结构主要优势包括:1. 可复用性高:面向对象的程序设计可以高度重复使用,通过类和对象的复用,可以快速构建复杂的软件系统。

2. 易维护性高:由于面向对象的程序设计是基于类和对象的,代码的修改只需要修改相关类和对象,而不会影响系统的其他部分,从而提高了程序的可维护性。

3. 增强软件的可扩展性:面向对象开发模式下,程序员可以根据需要进行新的对象创建,从而实现弹性分层。

4. 更贴近对象的本质:程序员能够以更自然的方式来刻画问题本身中的对象。

面向对象软件体系结构的主要缺陷包括:1. 复杂度高:由于面向对象的软件系统需要对各种类型的对象进行抽象,存在相当大的复杂度,从而导致开发成本高。

2. 性能不佳:由于对多个对象的频繁交互需要进行额外的处理,面向对象软件系统在性能方面较差。

三、设计模式设计模式是一种基于面向对象编程技术的重要概念,用于解决软件设计过程中的一些常见问题。

设计模式可以被视为一个经过优化过的、在软件系统中反复使用的通用解决方案,可用于解决各种软件设计问题。

设计模式的分类根据其用途和实际应用场景,设计模式可分为三类:创建型、结构型和行为型。

下面分别进行讲解。

1. 创建型设计模式创建型设计模式通常用于创建对象的过程中,涵盖了一系列可用于创建对象的方法,例如工厂模式、单例模式、原型模式等。

面向对象的软件设计方法

面向对象的软件设计方法

面向对象的软件设计方法面向对象的软件设计方法是一种基于对象的编程范式,它强调将系统看作由相互作用的对象组成的整体。

这种方法提供了一种强大的工具,可以使得软件开发者创建出高质量、可维护和可重用的代码。

面向对象的软件设计方法的核心是面向对象编程(OOP),这种编程方式是通过将数据和函数打包在对象中,在编程中使用类和对象的方式来实现模块化和多态的概念。

面向对象的软件设计方法的优势1. 可复用性面向对象的软件设计方法将不同的功能归结于不同的对象,这些对象可以被多个程序共享和重用,从而使得代码变得更加灵活和高效。

2. 易扩展性由于面向对象的软件设计方法是建立在对象之间相互耦合的基础之上的,因此增加新的对象(如类)或修改现有的对象(如类)是比较容易的。

3. 可维护性由于面向对象的软件设计方法强调数据和业务逻辑的分离,因此代码的维护和修改变得更加容易和清晰。

4. 可靠性面向对象的软件设计方法可以通过在代码中使用完整性和封装性来最大程度地减少代码中的错误。

由于每个对象都被限制在一定的作用范围内,从而避免了代码中的混乱和冗余。

面向对象的软件设计方法的实践1. 对象建模对象建模是面向对象的软件设计方法的重要组成部分,它是指通过定义类、属性和方法来描述系统中的对象。

在对象建模的过程中,需要考虑对象的属性、行为和操作方式,然后在程序中实现这些对象。

2. 继承和多态继承和多态是面向对象的软件设计方法的核心概念,它们的目的是在现有的对象和功能上构建新的功能。

通过继承,一个对象可以从另一个对象继承属性和方法,并新增一些自己的属性和方法。

多态则是指同样的方法可以用不同的对象来实现不同的功能。

3. 设计模式设计模式是面向对象的软件设计方法的另一个重要组成部分,它们是一种可复用的解决问题的方式和思维方式。

设计模式提供了一种标准化的方式来应对常见的编程问题,同时也把知识和经验传递给其他程序员。

4. 软件工程面向对象的软件设计方法可以被看作是软件工程理论的基础之一。

软件设计师的面向对象设计和设计模式

软件设计师的面向对象设计和设计模式

软件设计师的面向对象设计和设计模式在软件开发领域,面向对象设计和设计模式是软件设计师必备的核心知识。

面向对象设计是一种以对象为核心的设计思想,强调将系统的功能模块划分为独立的对象,并通过对象之间的交互实现系统的整体功能。

而设计模式则是针对常见问题的解决方案,通过提供经过实践验证的设计方法来解决软件开发中的复杂性。

一、面向对象设计的基本原则面向对象设计的基本原则有四个:单一职责原则、开放封闭原则、里氏替换原则和依赖倒置原则。

1. 单一职责原则:一个类只应该有一个单一的功能或职责。

这样可以确保类的职责清晰明确,降低代码复杂度,提高代码的可维护性。

2. 开放封闭原则:软件实体应该是可扩展的,但是不可修改的。

通过对扩展进行开放,对修改进行封闭,可以实现代码的复用性和可维护性。

3. 里氏替换原则:子类对象应该能够替换父类对象,并且保持程序的逻辑行为不发生变化。

这样可以保证系统的稳定性和灵活性。

4. 依赖倒置原则:高层模块不应该依赖于低层模块,二者都应该依赖于抽象。

通过依赖倒置可以减少模块间的耦合性,提高代码的可拓展性。

二、常用的设计模式1. 创建型设计模式创建型设计模式包括:Singleton(单例模式)、Factory Method(工厂方法模式)、Abstract Factory(抽象工厂模式)、Builder(建造者模式)、Prototype(原型模式)等。

这些模式主要用于对象的创建,根据实际需求选择合适的创建型模式,可以提高系统的灵活性和可维护性。

2. 结构型设计模式结构型设计模式包括:Adapter(适配器模式)、Bridge(桥接模式)、Composite(组合模式)、Decorator(装饰者模式)、Facade (外观模式)、Proxy(代理模式)等。

这些模式主要用于对象的组合和组织,通过结构型模式可以实现系统的灵活性和可扩展性。

3. 行为型设计模式行为型设计模式包括:Observer(观察者模式)、Strategy(策略模式)、Template Method(模板方法模式)、Command(命令模式)、State(状态模式)等。

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

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

型的屏幕
(4)选择“转帐”交易,并到完成后退出或返回选择交易类
型的屏幕
(5)选择“查询”交易,并到完成后退出或返回选择交易类 型的屏幕
用户界面设计
屏幕结构类图
<<screen>> InputCustomerInfo
1 -RightBottom 1
<<window>> PromptInfo
1 1 -Left
视图—控制器MVC模式等)对概念模型中的相关元素进行组
织,同时需要考虑目标软件系统与其他参与者的外部系统之 间的联系和交互方式。
概念模型和顶层架构设计
ATM系统的顶层架构图
用户界面设计
• 基于UML的分析与设计过程
• 用例分析与设计
• 概念模型和顶层架构设计
• 用户界面设计
• 数据模型设计 • 设计精化 • 类设计 • 部署模型设计
ATM系统在提供以上服务的过程中,必须满足以下要求 一个顾客可以在最终确认前放弃一项交易 ATM在执行交易过程中将与银行系统进行通信,对是否 允许交易进行验证 ATM为每次成功的交易提供一个打印回执
ATM需要维护一个内部日志,对每次交易进行记录
用例的分析与设计
确定用例—确定场景
从业务需求出发获取参与者(Actor)和场景,对场景进行汇总、分 类、抽象,形成用例 场景是用户与系统之间进行交互的一组具体的动作 获取场景 目标软件有哪些参与者
反映业务领域知识的既往经验
概念模型和顶层架构设计
分析类: (1)边界类:负责目标软件系统与参与者之间的交互。 (2)控制类:完成用例任务的责任承担者,负责协调、控制其他类共 同完成用例规定的功能 或行为。 (3)实体类:负责保存目标软件系统中具有持久意义的信息项并向其 他类提供读、写信息项内容的必要操作接口,一般不涉及业务逻辑。

面向对象的软件架构设计与实现方法

面向对象的软件架构设计与实现方法

面向对象的软件架构设计与实现方法随着计算机技术的不断发展,软件行业也在日新月异地不断发展,各行各业都需要软件来辅助管理和处理数据。

一个优秀的软件需要有一个优秀的软件架构设计和实现方法,而面向对象的软件架构设计和实现方法是目前最受欢迎的一种方法。

一、什么是面向对象的软件架构?面向对象的软件架构是以对象为中心的软件设计方法。

它将软件系统描述为一个由多个对象组成的集合体。

而每个对象都有自己的数据和方法,并且可以通过与其他对象进行交互来实现系统的功能。

面向对象的软件架构设计使得代码模块化、灵活并且易于维护。

二、面向对象软件架构的优点1. 代码重用性:通过面向对象的软件架构,你可以轻松地重用代码,并通过一些固定的接口进行数据交互。

因为每个对象都只包含自己的数据和方法,所以不会互相影响,不同的功能可以来自不同的对象,并可被不同的业务场景调用。

2. 灵活性和可扩展性:面向对象的软件架构允许你一次编写一个通用类,这些类中包含着大量的方法和属性。

该类可以在任何业务场景下重复使用,并可以轻松添加新方法或属性来适应不同的业务需求。

3. 易于理解:面向对象的软件架构设计使得代码的模块化,易于理解和维护。

通过对对象的划分,每个对象的职责都是相对独立的,开发人员可以更好地聚焦在实现某个具体的功能上。

三、如何实现面向对象的软件架构?1. 任务分配和数据封装:将一个大问题拆分成多个小的任务,然后为每个任务分配一个对象来解决该问题。

对象通过其方法和属性来存储和调用数据。

2. 继承和多态:继承是面向对象编程的一个强大特性,在对象之间建立了一定的关系。

另一方面,多态使对象能够根据调用它的方法的类型以不同的方式进行响应。

3. 设计模式:设计模式是一种软件架构设计的方法,它允许开发人员在不同的业务场景中重复使用代码。

它可以大大提高软件的可维护性和可扩展性。

四、面向对象设计的一些实用技巧1. 没有银弹:面向对象的软件架构设计是一个不断演化的过程,没有一种解决方案可以适用于所有的业务需求。

第四讲结构化程序设计与面向对象程序设计

第四讲结构化程序设计与面向对象程序设计

第四讲结构化程序设计与面向对象程序设计在当今的计算机编程领域,结构化程序设计和面向对象程序设计是两种非常重要的编程方法。

它们各自有着独特的特点和优势,适用于不同的应用场景。

接下来,让我们一起深入了解这两种编程设计方法。

结构化程序设计诞生于 20 世纪 60 年代,它的出现是为了解决当时程序设计中存在的混乱和难以维护的问题。

结构化程序设计强调程序的清晰结构和逻辑流程,通过顺序、选择和循环这三种基本控制结构来构建程序。

顺序结构是最基本的,程序按照语句的先后顺序依次执行。

比如,我们先定义变量,然后进行计算,最后输出结果,这就是一个简单的顺序结构。

选择结构则用于根据不同的条件来决定程序的执行路径。

常见的有ifelse 语句和 switch 语句。

假设我们要判断一个数是奇数还是偶数,就可以使用 ifelse 语句,如果这个数除以 2 的余数为 0,就是偶数,否则就是奇数。

循环结构则允许我们重复执行一段代码,直到满足特定的条件。

比如 for 循环和 while 循环,当我们需要计算 1 到 100 的和时,就可以使用循环结构来实现。

结构化程序设计的优点是显而易见的。

它使得程序的逻辑更加清晰,易于理解和调试。

而且,由于程序的结构比较规范,代码的可读性和可维护性都得到了很大的提高。

然而,随着软件规模的不断扩大和复杂性的增加,结构化程序设计也逐渐暴露出一些局限性。

当程序变得非常复杂时,单纯依靠结构化程序设计可能会导致代码的重复度较高,模块之间的耦合度较大,不利于代码的复用和扩展。

为了解决这些问题,面向对象程序设计应运而生。

面向对象程序设计将数据和对数据的操作封装在一起,形成一个个对象。

对象具有自己的属性和方法,可以与其他对象进行交互。

在面向对象程序设计中,最重要的概念包括类、对象、封装、继承和多态。

类是对象的模板,它定义了对象所具有的属性和方法。

比如,我们可以定义一个“汽车”类,这个类包含了汽车的品牌、颜色、速度等属性,以及加速、刹车等方法。

软件工程面向对象软件设计

软件工程面向对象软件设计

4.5.3.4
数据管理部分的设计
数据管理部分提供了数据在数据管 系统中存储和检索对象的基本结构,它 分离了数据管理方案的影响 (不管该方
案是普通文件、关系型数据库、面向对
象数据库或其它方式.)
如何设计数据管理部分 (1)数据存放方法设计 (2)相应服务的设计
为每个需存储其对象的类增加一个 属性和服务
分析模型
类 属性 方法 关系 行为
设计模型
对象 数据结构 算法 消息传递 控制
4.5.3 Yourdon的OOD方法
OOD模型
OOD由四个活动组成:
主题层 问题域 人机交 任务管 数据管 类及对象层 部分 互部分 理部分 理部分 结构层 (PDC) (HIC) (TMC) (DMC) 属性层 服务层 OOA 阶段模型
子系统设计过程中 必须定义四种重要的设计结构
问题域—直接负责实现客户需求的子系统
人机交互—实现用户界面的子系统
(包括可复用的GUI子系统)
任务管理—负责控制和协调并发任务的子
系统,任务可能被包装在一个 子系统中或不同的子系统间;
数据管理—负责对象的存储和检索的子系统
在对象设计过程中 将分析模型转换为设计模型
软件重用
• 概述
1.重用 重用也叫再用或者复用,是指同一事物不作修 改或者稍加修改就能多次重复使用。分为三个 层次: (1)知识重用 (2)方法和标准的重用 (3)软件成分的重用
2.软件成分的重用级别 (1)代码重用 (2)设计结果重用 (3)分析结果重用 3.典型的可重用软件成分
(1)项目计划 (2)成本估计 (3)体系结构 (4)需求模型和规格说明 (5)设计 (6)源代码 (7)用户文档和技术文档 (8)用户界面 (9)数据 (10)测试用例
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用户界面设计
用户界面是对于用户的直接表现,直接影响到用
户对软件易用性、友好性的感觉。用户界面包含 两方面内容:
首先要完整地包括用户在使用软件过程中所需的各种 元素,例如窗口、菜单、按钮、输入文本框、选择列 表、提示信息等,缺乏这些元素中的某些将会导致软 件功能无法被用户正常完成; 其次要求具有良好的外观和布局,例如背景颜色、按 钮等元素的位置、选择列表中条目的顺序等,这些因 素的不足可能不会影响软件功能的正确使用,但会给 用户带来不便、迷惑甚至反感。
ATM系统在提供以上服务的过程中,必须满足以下要求 一个顾客可以在最终确认前放弃一项交易 ATM在执行交易过程中将与银行系统进行通信,对是否 允许交易进行验证 ATM为每次成功的交易提供一个打印回执
ATM需要维护一个内部日志,对每次交易进行记录
用例的分析与设计
确定用例—确定场景
从业务需求出发获取参与者(Actor)和场景,对场景进行汇总、分 类、抽象,形成用例 场景是用户与系统之间进行交互的一组具体的动作 获取场景 目标软件有哪些参与者
用例的分析与设计
Startup用例的顺序图描述
用例的分析与设计
Session用例的顺序图描述
用例的分析与设计
Transaction用例的顺序图描述
用例的分析与设计
Withdrawal用例的顺序图描述
概念模型和顶层架构设计
概念模型的设计 标识领域概念模型 分析类:直接服务于用户功能性需求的概念层面的类, 与具体技术没有关系 顶层架构的设计
件进行交互的功能与特性进行封装,使目标软件系统的其余部分
尽右能独立于环境软件。
概念模型和顶层架构设计
ATM系统的概念模型——分析模型图
概念模型和顶层架构设计
顶层架构设计
顶层架构是分析和设计阶段成果的承载体 可以把体系结构设计方法与上述概念模型得到的结果结合起 来考虑,利用一定的体系结构模式(例如分层模式、模型-
教学内容
• 基于UML的分析与设计过程
• 用例分析与设计
• 概念模型和顶层架构设计
• 用户界面设计
• 数据模型设计 • 设计精化 • 类设计 • 部署模型设计
基于UML的分析与设计过程
• UML是独立于软件开发过程的,它几乎可以用于任何类型 的软件开发过程,包括瀑布式、迭代式、螺旋式等不同模 型。 • 在软件分析和设计中,可以根据项目的特征、开发组织在 已有实践中定义的相关规范、设计人员本身的偏好等因素, 对基于UML的软件设计过程进行定制。
1
<<window>> CustomerInfo
-RightTop 1
<<window>> FunctionsOptions
+NewProducts( ) +ProductQuery( ) +UpdateCustomerInfo( ) +OrderManage( )
+Name +Age +Profession +Phone +Address +Submit( ) +setEmpty( )
当屏幕中有许多窗口时,可以对窗口划分层次,一
些简单的窗口可以作为复杂窗口的属性和操作。
用户界面设计
CustomerConsole
用户通过控制台使用ATM的过程中,可分为5个相对独立的过程
(1)插入银行卡到输入正确密码并进入选择交易类型的屏幕 (2)选择“取款”交易,并到完成后退出或返回选择交易类 型的屏幕 (3)选择“存款”交易,并到完成后退出或返回选择交易类
为每个对象构造的状态转移图 反映对象接受和发送的消息 考虑所有使用案例中的所有消息
用例的分析与设计
ATM系统初步用例图
用例的分析与设计-用例设计描述
用例名称:Withdrawal 参与者:Cudtomer,kBankSystem,Card Reader,Cash Dispenser,Printer
用例的分析与设计
用例的确认
围绕系统的一个工作过程,确认参与交互过程的参与者 如:系统管理员、域控制器(计算机) 用系列动作步骤描述交互过程 参与者的动作、系统的执行步骤
要点
忽略内部细节,仅考虑外部因素
用例的分析与设计
ATM案例——参与者
顾客(Customer) 操作管理员(Operator) 银行服务员(Bank System) 读卡器(Card Reader)
设计的精化:
对上面的逻辑、界面、数据模型等不同侧重点的设计结果进行整理,合并相似的类,保证各 模型之间的一到处性,并消除冗余,为了提高整全后模型的质量,可能需要引入继承、聚集 等关系对类设计进行组织和精化,并可能需要引入新的关键类和控制类。交互图等设计模型 进行精华,以更具体地描述场景交互过程。
用例的分析与设计 用例建模步骤
1) 描述各种使用案例
描述交互过程的动作序列
模拟系统工作的交互过程
2)确认动作
检查使用案例,引入并描述动作
覆盖所有可能发生的动作
用例的分析与设计
用例建模步骤
3) 跟踪执行过程 为每个使用案例制作序列图 描述对象之间的消息传送过程
4) 构造状态转移图
用户界面设计
用户界面元素分为两个层次:
屏幕:用构造型<<screen>>表示
窗口:屏幕上的组成部分(文本框、按钮等)统 一称为窗口。用构造型<<window>>表示 用户界面的结构可以由UML类图描述,屏幕和窗口 用类进行表示,并给出它们之间的关系。 屏幕之间的切换过程可以用UML状态图表示。每个 状态表示当时所处的屏幕,迁移表示用户激励。
概念模型和顶层架构设计
边界类:其职责包括: 边界控制: 包括定义数据的格式及内容转换,输出结果的呈现,软件运行过 程中界面的变化与切换等。 外部接口: 实现目标软件系统与外部系统或外部设备之间的信息交流和互操 作,主要关注跨越目标软件系统边界的通信协议 环境隔离: 对目标软件系统与操作系统、数据库管理系统、中间件等环境软
视图—控制器MVC模式等)对概念模型中的相关元素进行组
织,同时需要考虑目标软件系统与其他参与者的外部系统之 间的联系和交互方式。
概念模型和顶层架构设计
ATM系统的顶层架构图
用户界面设计
• 基于UML的分析与设计过程
• 用例分析与设计
• 概念模型和顶层架构设计
• 用户界面设计
• 数据模型设计 • 设计精化 • 类设计 • 部署模型设计
面向对象的软件设计
引言
• 面向对象开发方法的核心是利用面向对象的概念
和方法对软件需求分析和设计,建立面向对象的
软件分析和设计模型。
• 面向对象软件开发过程从领域概念到设计概念和
代码实现都以类和对象为核心,是一个逐步精化
的过程,因此需求分析和设计之间并没有严格的
分界线。
• 本章使用UML进行软件分析和设计。
存款器(Cash Acceptor)
打印机(Printer)
用例的分析与设计
ATM系统—用例
取款(Withdrawal) 存款(Deposit) 转账(Transfer) 查询余额(Inquiry) 开机(System Startup)
关机(System Shutdown)
目的:为后续的分析和设计活动建立一种结构和划分
概念模型和顶层架构设计
关键概念来源: 为建立以UML类图表示的领域概念模型,首先必须标识关键概念。关键 概念的来源包括: (1)业务需求描述、用例说明; (2)业务领域中的相关规范、标准、术语定义。 (3)反映业务领域知识的既往经验。 业务需求描述 业务领域中的相关规范、标准、述评呼定义
参与者希望系统执行的任务有哪些?
参与者希望获得哪些信息?这些信息由谁生成?由谁修改? 参与者城要通知系统哪些事件?系统响应这些事件时会表现出哪 些外部行为? 系统将通告参与者哪些事件?
用例的分析与设计
确定用例—确认参与者和责任
不同的参与者
系统管理员、程序员、会计、出纳员 与系统通信的其他系统 不同的责任 系统配置、程序设计、财务管理、现金管理 分析参与者的工作:使用案例 各种使用过程、步骤
物理平台拓朴结构,描述其中的物理节点以及它们之间的通信和交互方式,并
说明软件包、运行文件,子系统等元素在物理节点上的部署方案
用例的分析与设计
• 确定用例
• 生成用例图
• 用例设计描述
银行ATM自动柜员机需求简述
提供以下服务: 取款。顾客用银行卡从对应的账户中支取现金,现金必须是
存款。顾客可以把现金存入银行卡对应的账户中
交互图
构件图 部署图
类图 状态图 活动图
部署模型设计
UML设计模型
基于UML的分析与设计过程
用例分析与设计: 需求获取,分析和描述的过程,它将利用例及用例图表示需求。 概念模型与顶层架构设计: 在用户需求和相关的业务领域中,概念及概念关系的抽取 用户界面设计: 设计每个界面中的所有界面元素,确定初步的界面布局,定义用户界面动作对软件系统中设 计元素的要求 数据模型的设计: 确定设计模型中需要持久保存的类的对象及其属性,定义持久持久存储数据之间的组织方式, 并明确数据模型中的操作行为。
前置条件:顾客已插入银行卡,密码验证正确,顾客按下“取款”按钮
主事件流: (1)顾客输入取款金额,并确认。 (2)系统认可取款金额,并发送指令给取款器
(3)取款器把相应金额的现金送出
(4)打印机打印回执 辅事件流: (1)如果取款金额不是100的整数倍,则显示信息“输入金额必须是100的整数倍,请重新输 入”,并返回主事件流中步骤(1) (2)如果取款金额超过2000元,则显示信息“输入金额不能超2000元,请重新输入”,并返 回主事件流中步骤(1) (3)如果账户余额小于取款金额,则显示信息“账户余额不足,请重新输入”,并返回主事 件流中步骤(1) (4)顾客在确认取款金额前右以选择取消交易。 后置条件:如果取款成功,系统从账户余额中减去相应数额,并返回等待状态;如果顾客取消交 易,则返回等待状态
相关文档
最新文档