软件工程 第8章 面向对象的开发技术
软件工程 第八章 面向对象的设计方法

第八章面向对象的设计方法本章采用基于UML的面向对象设计方法的将分析模型转换为设计模型。
如第五章所述,面向对象的分析模型主要由顶层架构图、用例与用例图、领域概念模型构成;设计模型则包含以包图表示的软件体系结构图、以交互图表示的用例实现图、完整精确的类图、针对复杂对象的状态图和用以描述流程化处理过程的活动图等。
为完成这一转换过程,设计人员必须处理以下任务:(1)针对分析模型中的用例,设计实现方案。
实现方案用UML交互图表示。
(2)设计技术支撑设施。
在大型软件项目中,往往需要一些技术支撑设施来帮助业务需求层面的类或子系统完成其功能。
这些设施本身并非业务需求的一部分,但却为多种业务需求的实现提供公共服务。
例如,数据的持久存储服务、安全控制服务和远程访问服务等。
在面向对象设计中,需要研究这些技术支撑设施的实现方式以及它们与业务需求层面的类及子系统之间的关系。
(3)设计用户界面。
(4)针对分析模型中的领域概念模型以及第(2)、(3)两个步骤引进的新类,完整、精确地确定每个类的属性和操作,并完整地标示类之间的关系。
此外,为了实现软件重用和强内聚、松耦合等软件设计原则,还可以对前面形成的类图进行各种微调,最终形成足以构成面向对象程序设计的基础和依据的详尽类图。
面向对象的软件设计过程如图8-1-1所示。
图8-1-1 面向对象的软件设计过程第一节设计用例实现方案UML 的交互图(顺序图、协作图)适于用例实现方案的表示。
因此,本节首先介绍交互图的语言机制,然后探讨用例实现方案的设计方法。
该设计方法包含如下3个步骤:(1)提取边界类、实体类和控制类;(2)构造交互图;(3)根据交互图精华类图。
一、顺序图顺序图用来描述对象之间动态的交互关系,着重表现对象间消息传递的时间顺序。
在顺序图中,参与交互的对象位于顶端的水平轴上,垂直轴表示时间,时间推移的方向是自上而下的。
顺序图中的对象一般以“对象名:类名”的方式标识,但也可以仅采用缩写形式“对象名”或者“:类名”。
软件工程 第三部分 软件设计与建模--面向对象设计

(2) 块状组织 把系统垂直地分解成若干个相对独立的、弱耦 合的子系统/块,每块提供一种类型的服务。
采用层次与块状的混合结构
3. 设计(分布式)系统的拓扑结构 由子系统组成完整的系统时,典型的拓扑结构 有管道形、树形、星形等。设计者应该采用与问题 结构相适应的、尽可能简单的拓扑结构,以减少子 系统之间的交互数量。
3. 设计简单的类 小而简单的类便于开发和管理(高内聚)。为使 类保持简单,应该注意以下几点。 (1) 避免包含过多的属性:完成的功能可能太多了。 (2) 有明确的定义:任务应该简单。 (3) 简化对象之间的合作关系。如果需要多个对象 协同配合才能做好一件事,则破坏了类的简明性和 清晰性。 (4) 不要提供太多服务。典型地,一个类提供的公 共服务不超过7个。
层次图、结 构图、流程 图、N-S图、 PAD图、判 定表、判定 树等
面向对象设计方法比结构化设计方法更具有优势, 9/71 使用范围更广。
内容摘要
• • • • • 面向对象设计方法概述 面向对象设计原则 面向对象设计的启发规则 系统设计 对象设计
10/237
面向对象设计原则
• 强调模块化、抽象化、信息隐蔽、高内聚低耦合、复用性等 设计准则。
4/71
什么是面向对象设计(OOD)?
(二)现今(90年代后)的OOD • 面向对象的设计(OOD)就是在OOA模型的基础上运 用面向对象方法进行系统设计,目标是产生一个符合具 体实现条件的OOD模型。
OOD的特点: • 1、以面向对象的分析为基础,一般不依赖结构化分析。 • 2、与相应的OOA方法共同构成一种OOA&D方法体系。 OOA和OOD采用一致的概念和原则,但属于软件生命 周期的不同阶段,有不同的目标及策略。 • 3、较全面地体现面向对象方法的概念与原则。 • 4、大多数方法独立于编程语言,通过OOA&D所得到 的系统模型可以由不同的编程语言实现。
软件工程学第三版课后习题答案

P 0.048 0.72
789 4474263 5, (美元)
(2)如果一条指令的长度为一个字,则使存储器装满程序
共需4474263条指令。 在1985年一名程序员每天可开发出10条指令,如果每月 有20个工作日,则每人每月可开发出10×20条指令。 为了开发出4474263条指令以装满存储器,需要的工作量 是:
13:07:42 重庆工学院计算机科学与工程学院 李梁(liliang@)
2
作业及解答(第1-2章)
1-5 根据历史数据可以做出如下的假设 : 对计算机存储容量的需求大致按下面公式描述的趋势逐年 增加:M=4080e0.28(Y-1960) 存储器的价格按下面公式描述的趋势逐年下降: P1=0.3×0.72Y-1974(美分/位) 如果计算机字长为16位,则存储器价格下降的趋势为: P2=0.048×0.72Y-1974(美元/字) 在上列公式中Y代表年份,M是存储容量(字数),P1和P2代 表价格。 基于上述假设可以比较计算机硬件和软件成本的变化趋势 。要求计算:
13:07:42
重庆工学院计算机科学与工程学院 李梁(liliang@)
17
作业及解答(第3章)
E1 储户
F1存款单 F2取款单
P0储蓄系统
F3存单 F4利息清单
E1 储户
F5存款信息 F5存款信息
D1存款信息
13:07:42
重庆工学院计算机科学与工程学院 李梁(liliang@)
18
E1 储户
F1存款单 F7密码
P1 记录存款信息
P2 打印存单 F5存款信息 F3存单 E1 储户 F4利息
F5存款信息 D1存款信息 F7密码 F2取款单
F5存款信息 P3 核算密码
软件工程概论课后答案解析

第1章软件与软件工程的概念1、1 举出您所知道的应用软件的例子。
办公软件、游戏软件、财务软件、银行软件、人事管理软件、工资管理软件、学籍管理软件等。
1、2 认为“软件就就是程序,软件开发就就是编程序。
”这种观点就是否正确?为什么?认为“软件就就是程序,软件开发就就是编程序。
”这种观点就是错误的。
首先,软件就是计算机系统中与硬件相互依存的另一部分,它就是包括程序,数据及其相关文档的完整集合,程序只就是软件的组成部分之一;其次,在软件开发中,编程只就是软件开发过程的一个阶段。
1、3 如果将软件开发比作高楼大厦的建造,可以将软件的设计比作什么?可以将软件的设计比作建筑设计,软件设计的成果相当于建筑设计的设计图纸。
1、4 什么就是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机:软件危机就是指在计算机软件的开发与维护过程中所遇到的一系列严重问题。
典型表现:(1)对软件开发成本与进度的估计常常很不准确。
(2)用户对“已完成的”软件系统不满意的现象经常发生。
(3)软件产品的质量往往靠不住。
(4)软件常常就是不可维护的。
(5)软件通常没有适当的文档资料。
(6)软件成本在计算机系统总成本中所占的比例逐年上升。
(7)软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用迅速普及深入的趋势。
产生软件危机的原因:除了软件本身的特点,其原因主要有以下几个方面:(1) 缺乏软件开发的经验与有关软件开发数据的积累,使得开发工作计划很难制定。
(2) 软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。
(3) 软件开发过程不规范。
如,没有真正了解用户的需求就开始编程序。
(4) 随着软件规模的增大,其复杂性往往会呈指数级升高。
需要很多人分工协作,不仅涉及技术问题,更重要的就是必须有科学严格的管理。
(5) 缺少有效的软件评测手段,提交给用户的软件的质量不能完全保证。
1、5 什么就是软件工程?软件工程就是指导计算机软件开发与维护的工程学科。
(完整版)软件工程 判断题

判断题:第1章概述1。
由于今天个人计算机不断发展壮大,人们不再采用软件团队的开发方式。
(×)2。
由于软件是产品,因此可以应用其他工程制品所用的技术进行生产。
(×)3. 购买大多数计算机系统所需的硬件比软件更昂贵.(×)4。
大多数软件产品在其生命周期中不需要增强功能。
(×)5。
大多数软件系统是不容易变化的,除非它们在设计时考虑了变化。
(√)6. 一般来说,软件只有在其行为与设计者的目标一致的情况下才能成功。
(×)第4章需求工程1. 在需求分析过程中,分析员要从用户那里解决的最重要的问题是明确软件做什么。
(√)2. 软件需求规格说明书在软件开发中具有重要的作用,它是软件可行性分析的依据。
(×)第5章面向对象基础1. 模型是对现实的简化,建模是为了更好地理解所开发的系统。
(√)2。
UML语言支持面向对象的主要概念,并与具体的开发过程相关。
(×)第6章面向对象分析1. 面向对象分析的核心在于建立一个描述软件系统的模型。
(×)第7章软件体系结构设计1. 系统体系结构的最佳表示形式是一个可执行的软件原型。
(×)2. 软件体系结构描述是不同项目相关人员之间进行沟通的使能器.(√)3. 良好的分层体系结构有利于系统的扩展与维护。
(√)4。
消除两个包之间出现的循环依赖在技术上是不可行的.(×)5. 设计模式是从大量成功实践中总结出来且被广泛公认的实践和知识。
(√)第8章面向对象设计1。
面向对象设计是在分析模型的基础上,运用面向对象技术生成软件实现环境下的设计模型.(√)2。
系统设计的主要任务是细化分析模型,最终形成系统的设计模型.(×)3。
关系数据库可以完全支持面向对象的概念,面向对象设计中的类可以直接对应到关系数据库中的表。
(×)4。
用户界面设计对于一个系统的成功是至关重要的,一个设计得很差的用户界面可能导致用户拒绝使用该系统。
软件工程概论_8_面向对象需求分析

• 一.面向对象分析模型的组成结构 • 二.面向对象分析模型描述工具 • 三.面向对象分析的基本过程
• 四. 面向对象分析方法
• 五. 小结
一.面向对象分析模型的组成结构
数据模型
属性、操作、协作者
功能模型
类/对象 模型
对象关系模型
使用实例
对象-行为模型
行为模型
二.面向对象分析模型描述工具
1. 用例图
2.面向对象建模 (1)建模与模型 建模是将问题域的解空间定义成一种模型,以帮助系统分析 人员更好地理解问题。 模型是为了理解问题而对问题所做出的一种抽象,而且是对 问题的一种无歧义的描述。模型由一组图示符号和组织这些 符号的规则组成。利用它们来定义和描述问题域中的术语和 概念。 建模的目的主要是为了减少复杂性。 (2)面向对象模型
2) 面向对象分析的五个层次 面向对象分析由五个主要活动组成,即确定类-&-对象、识别 结构、识别主题、定义属性和定义服务(方法)。对于一个复杂 问题的面向对象的模型可用五个层次表示:类-&-对象层、结 构层,主题层、属性层和服务层,见图3.3.8。
主题层 subject level 类-&-对象层object 结构层 structure 属性层 attribute 服务层 serves
•使用具有确切含义的名词。
• 尽量使用能表示类的含义的日常用语作名字,不要使用空洞的或含 义模糊的词作名字。例如,“库房”比“房屋”或“存物场所”更确切。
•必要时用名词短语作名字。
• 为使名字的含义更准确,必要时用形容词加名词或其他形式的名词 短语作名字。例如,“最小的领土单元”、“储藏室”、“公司员工”等 都是比较恰当的名字。
签定保险单 销售统计
客户
软件工程(习题与参考答案)

第1章概述〔习题与参考答案〕[判断题]1. 由于今天个人计算机不断开展壮大,人们不再采用软件团队的开发方式。
〔×〕2. 由于软件是产品,因此可以应用其他工程制品所用的技术进展生产。
〔×〕3. 购置大多数计算机系统所需的硬件比软件更昂贵。
〔×〕4. 大多数软件产品在其生命周期中不需要增强功能。
〔×〕5. 大多数软件系统是不容易变化的,除非它们在设计时考虑了变化。
〔√〕6. 一般来说,软件只有在其行为与设计者的目标一致的情况下才能成功。
〔×〕[选择题]1. 〔〕因素促使计算机系统越来越复杂。
〔D〕A. 计算机内存和存储容量上的巨大增长B. 外部输入/输出选项的更加多样性C. 计算机体系构造方面的深刻变化D. 以上所有选项2. 下面的〔〕不再是现代软件工程师关注的问题。
〔A〕A. 为什么计算机硬件的本钱这么高?B. 为什么软件需要很长时间才能完成?C. 为什么开发一个软件的本钱这么高?D. 为什么不能在产品发布前去除软件错误?3. 软件会逐渐退化而不会磨损,其原因在于〔〕。
〔C〕A. 软件通常暴露在恶劣的环境下B. 软件错误通常发生在使用之后C. 不断的变更使组件接口之间引起错误D. 软件备件很难订购4. 大多数软件仍然是定制开发的,其原因在于〔〕。
〔C〕A. 软件组件重用是十分普遍的B. 可重用的组件太昂贵而无法使用C. 软件在不使用其他组件的情况下很容易构造出来D. 商业组件在很多应用领域中可以得到5. 下面的〔〕说法是正确的。
〔C〕A. 软件危机在20世纪70年代末期全面爆发B. 当前先进的软件工程方法已经解决了软件危机的问题C. 软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题D. 软件危机是指在软件产品中存在一系列的质量问题6. 软件工程的根本目标是〔〕。
〔B〕A. 消除软件固有的复杂性B. 开发高质量的软件C. 努力发挥开发人员的创造性潜能D. 更好地维护正在使用的软件产品7. 〔〕是将系统化的、标准的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。
《软件工程》第八章 软件维护与再工程

软件可维护性-主要影响因素
可移植性:指程序转移到一个新的计算环境的难易 程度。
影响软件可移植性的因素有:信息隐蔽原则;模块 独立;模块化;高内聚低耦合;良好的程序结构; 不用标准文本以外的语句等
一个可移植的程序应具有结构良好、灵活、不依赖 于某பைடு நூலகம்具体计算机或操作系统的性能
软件可维护性-主要影响因素
软件维护的概念-维护成本
其它一些因素:如应用的类型、数学模型、 任务的难度、IF嵌套深度、索引或下标数等, 对维护工作量也有影响
软件维护的过程-维护组织
维护组织结构图
软件维护的过程-维护组织
系统监督员一般都是对程序(某一部分)特别熟 悉的技术人员。 在维护人员对程序进行修改的过程中,由配 置管理员严格把关,控制修改的范围,对软 件配置进行审计 。 维护管理员、系统监督员、修改控制决策机 构等,均代表维护工作的某个职责范围 。
如果已经开始保存维护记录,可以对维护工作做 一些定量度量,至少可以从如下7方面进行评价:
每次程序运行平均失败的次数; 用于每一类维护活动的总人时数; 平均每个程序、每种语言、每种维护类型所必需的程序 变动数; 维护过程中增加或删除源语句平均花费的人时数; 维护每种语言平均花费的人时数; 一张维护请求表的平均周转时间; 不同维护类型所占的比例;
软件维护的过程-维护记录
软件修改报告指明:为满足维护申请报告提 出的需求所需的工作量、本次维护活动的类 别、本次维护请求的优先级、本次修改的背 景数据。在拟定进一步维护计划前,软件修 改报告要提交给修改决策机构,供进一步规 划维护活动使用 保存维护记录的第一个问题就是哪些数据值 得保存?
软件维护的过程-维护评价
软件维护的概念-维护问题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Software Engineering
【例】ATM系统 ATM系统
柜员 储户 柜员终端
帐户 ATM ATM ATM 中央计算机 帐户 储户 分行计算机 帐户 分行计算机 帐户
Software Engineering
【例】ATM系统的需求陈述 ATM系统的需求陈述
Software Engineering
一,面向对象分析(Object-oriented Analysis, OOA) ObjectOOA)
提取用户需求
理解 表达 验证
建立三个模型
OM DM FM
Requirement statement Rapid prototype Models
Software Engineering
1+
1+
Software Engineering
OOA的五个层次 OOA的五个层次
Software Engineering
OOA大体顺序 OOA大体顺序
寻找类-&-对象 对象 寻找类 识别结构 识别主题 定义属性 建立动态模型 建立功能模型 定义服务
不严格按照顺序 OOA不需要严格遵守自顶 不需要严格遵守自顶 向下的原则
Software Engineering
3. OM的五个层次 OM的五个层次
Coad&Yourdon, 1991 相当于把五张透明 胶片(transparencies) 胶片(transparencies) 叠在一起, 叠在一起,每一层 显示更多的细节
Category Class-&-Object Structure Attribute Method
软件工程
Software Engineering
计算机学院 软件工程课程组
Computer School of Wuhan University
第8章 面向对象的开发技术
如何进行面向对象分析( 如何进行面向对象分析(OOA)? )? 如何进行面向对象设计( 如何进行面向对象设计(OOD)? )? 面向对象实现有何特点? 面向对象实现有何特点? 面向对象的软件开发模型具有哪些特点? 面向对象的软件开发模型具有哪些特点?
Software Engineering
【例】ATM系统的需求陈述 ATM系统的需求陈述
所谓现金兑换卡就是一张特制的磁卡,上面有分行代码和卡号. 所谓现金兑换卡就是一张特制的磁卡,上面有分行代码和卡号.分行代码唯一 标识总行下属的一个分行,卡号确定了这张卡可以访问哪些帐户.通常, 标识总行下属的一个分行,卡号确定了这张卡可以访问哪些帐户.通常,一张卡 可以访问储户的若干个帐户,但是不一定能访问这个储户的全部帐户.每张现金 可以访问储户的若干个帐户,但是不一定能访问这个储户的全部帐户. 兑换卡仅属于一个储户所有,但是,同一张卡可能有多个副本. 兑换卡仅属于一个储户所有,但是,同一张卡可能有多个副本.因此必须考虑同 时在若干台ATM上使用同样的现金兑换卡的可能性.也就是说,系统应该能够处 上使用同样的现金兑换卡的可能性. 时在若干台 上使用同样的现金兑换卡的可能性 也就是说, 理并发的访问. 理并发的访问. 当用户把现金兑换卡插入ATM之后,ATM就与用户交互,以获得有关这次事 当用户把现金兑换卡插入 之后, 就与用户交互, 之后 就与用户交互 务的信息,并与中央计算机交换关于事务的信息.首先, 要求用户输入密码, 务的信息,并与中央计算机交换关于事务的信息.首先,ATM要求用户输入密码, 要求用户输入密码 接下来ATM把从这张卡上读到的信息以及用户输入的密码传给中央计算机,请求 把从这张卡上读到的信息以及用户输入的密码传给中央计算机, 接下来 把从这张卡上读到的信息以及用户输入的密码传给中央计算机 中央计算机核对这些信息并处理这次事务. 中央计算机核对这些信息并处理这次事务.中央计算机根据卡上的分行代码确定 这次事务与分行的对应关系,并且委托相应的分行计算机验证用户密码.如果用 这次事务与分行的对应关系,并且委托相应的分行计算机验证用户密码. 户输入的密码正确, 就要求用户选择事务类型( ).当用户选 户输入的密码正确,ATM就要求用户选择事务类型(取款,查询等).当用户选 就要求用户选择事务类型 取款,查询等). 择取款时, 请求用户输入取款额. 从现金出口吐出现金, 择取款时,ATM请求用户输入取款额.最后,ATM从现金出口吐出现金,并且打 请求用户输入取款额 最后, 从现金出口吐出现金 印帐单交给用户. 印帐单交给用户.
Software Engineering
4. 建立OM 建立OM
确定Class-&-Object 确定 确定关联 确定关联 结构层 划分主题 确定属性 识别继承关系 反复修改 建立DM 建立 建立FM 建立 定义服务
Software Engineering
(1)确定Class-&-Object 确定Class第1步:列出候选 步 列出候选Class-&-Object(candidates) ( )
某银行拟开发一个自动取款机系统,它是一个由自动取款机,中央计算机, 某银行拟开发一个自动取款机系统,它是一个由自动取款机,中央计算机,分 行计算机及柜员终端组成的网络系统. 和中央计算机由总行购买. 行计算机及柜员终端组成的网络系统.ATM和中央计算机由总行购买.总行拥有 和中央计算机由总行购买 多台ATM,分别设在全市各主要街道上.分行负责提供分行计算机和柜员终端. 多台 ,分别设在全市各主要街道上.分行负责提供分行计算机和柜员终端. 柜员终端设在分行营业厅及分行下属的各个储蓄所内. 柜员终端设在分行营业厅及分行下属的各个储蓄所内.该系统的软件开发成本由 各分行分摊. 各分行分摊. 银行柜员使用柜员终端处理储户提交的储蓄事务. 银行柜员使用柜员终端处理储户提交的储蓄事务.储户可以用现金或支票向自 己拥有的某个帐户内存款或开新帐户.储户也可以从自己的帐户中取款.通常, 己拥有的某个帐户内存款或开新帐户.储户也可以从自己的帐户中取款.通常, 一个储户可能拥有多个帐户. 一个储户可能拥有多个帐户.柜员负责把储户提交的存款或取款事务输进柜员终 接收储户交来的现金或支票,或付给储户现金. 端,接收储户交来的现金或支票,或付给储户现金.柜员终端与相应的分行计算 机通信,分行计算机具体处理针对某个帐户的事务并且维护帐户. 机通信,分行计算机具体处理针对某个帐户的事务并且维护帐户. 拥有银行帐户的储户有权申请领取现金兑换卡.使用现金兑换卡可以通过ATM 拥有银行帐户的储户有权申请领取现金兑换卡.使用现金兑换卡可以通过 访问自己的帐户.目前仅限于用现金兑换卡在ATM上提取现金,或查询有关自己 上提取现金, 访问自己的帐户.目前仅限于用现金兑换卡在 上提取现金 帐户的信息(如帐户余额).将来可能还要求使用ATM办理转帐,存款等事务. ).将来可能还要求使用 办理转帐, 帐户的信息(如帐户余额).将来可能还要求使用 办理转帐 存款等事务.
Software Engineering
列出候选Class列出候选Class-&-Object
所谓现金兑换卡就是一张特制的磁卡,上面有分行代码和卡号. 所谓现金兑换卡就是一张特制的磁卡,上面有分行代码和卡号.分行代码唯一 磁卡 分行代码 标识总行下属的一个分行,卡号确定了这张卡可以访问哪些帐户.通常, 标识总行下属的一个分行,卡号确定了这张卡可以访问哪些帐户.通常,一张卡 可以访问储户的若干个帐户,但是不一定能访问这个储户的全部帐户.每张现金 可以访问储户的若干个帐户,但是不一定能访问这个储户的全部帐户. 兑换卡仅属于一个储户所有,但是,同一张卡可能有多个副本 副本. 兑换卡仅属于一个储户所有,但是,同一张卡可能有多个副本.因此必须考虑同 时在若干台ATM上使用同样的现金兑换卡的可能性.也就是说,系统应该能够处 上使用同样的现金兑换卡的可能性. 时在若干台 上使用同样的现金兑换卡的可能性 也就是说, 理并发的访问 访问. 理并发的访问. 当用户把现金兑换卡插入ATM之后,ATM就与用户交互,以获得有关这次事 当用户把现金兑换卡插入 之后, 就与用户交互, 之后 就与用户交互 务的信息 并与中央计算机交换关于事务的信息.首先, 信息, 要求用户输入密码 务的信息,并与中央计算机交换关于事务的信息.首先,ATM要求用户输入密码, 要求用户输入密码, 接下来ATM把从这张卡上读到的信息以及用户输入的密码传给中央计算机,请求 把从这张卡上读到的信息以及用户输入的密码传给中央计算机, 接下来 把从这张卡上读到的信息以及用户输入的密码传给中央计算机 中央计算机核对这些信息并处理这次事务. 中央计算机核对这些信息并处理这次事务.中央计算机根据卡上的分行代码确定 这次事务与分行的对应关系,并且委托相应的分行计算机验证用户密码.如果用 这次事务与分行的对应关系,并且委托相应的分行计算机验证用户密码. 户输入的密码正确, 就要求用户选择事务类型 ).当用户选 户输入的密码正确,ATM就要求用户选择事务类型(取款,查询等).当用户选 就要求用户选择事务类型(取款,查询等). 择取款时, 请求用户输入取款额 从现金出口吐出现金, 择取款时,ATM请求用户输入取款额.最后,ATM从现金出口吐出现金,并且打 请求用户输入取款额.最后, 从现金出口吐出现金 帐单交给用户 交给用户. 印帐单交给用户.
1. 分析过程
用户 开发人员 管理人员
生成需求
问题陈述
访问用户 领域知识 现实世界
建立模型
OM DM FM
界限模糊
设计过程
Software Engineering
2. 需求陈述(Requirement Statement) 需求陈述( Statement)
说明What 而不是 How 说明 内容
物理实体 人或组织 要处理的事件 非正式分析: 名词 → Class-&-Object 形容词 → Attribute 动词 → Method
Software Engineering