第1章 UML系统建模与分析设计-系统建模与分析设计技术的演变

合集下载

UML系统建模与分析设计课后习题答案

UML系统建模与分析设计课后习题答案

UML系统建模与分析设计第一章系统建模与分析设计的演变1、系统建模的三要素:方法、工具和过程2、软件的分类:按软件的功能划分:系统软件、支撑软件和应用软件按软件的规模划分:小型软件、中型软件、大型甚至超大型软件按软件的工作方式划分:实时处理软件、分时处理软件交互式软件和批处理软件按软件服务对象的范围划分:一次性使用软件和使用频度较高的软件按软件失效的影响程度划分:一般性软件和关键性软件3、软件危机产生的原因主要有两个:一是与软件本身的特点相关;二是软件开发和维护的方法不正确。

4、软件开发过程模型:瀑布模型、渐增模型、演化模型、螺旋模型、智能模型5、UML的特点:唯一性、连续性、维护性、复用性和逐步完善6、面向对象的三大重要特征:封装性、继承性和多态性7、软件开发方法从结构化开发方法、模块化开发方法到面向对象开发方法是一个渐进的演变过程8、软件生命周期描述了一个软件从定义、开发、使用、维护到服用的全过程9、面向对象的基本概念有:对象、类急气封装性、多态性、继承性和消息传递10、软件开发过程由客户端需求分析、系统分析、系统设计和系统实现以测试与维护四个四个阶段组成11、面向对象系统的开发过程以体系结构为中心,以用例为驱动,是一个反复、渐增的过程课后习题:ACDB1、封装是吧对象的属性和操作结合在一起,组成一个独立的对象、2、封装是一种信息隐蔽技术,目的是使对象的生产者和使用者分离,使对象的定义和实现分开。

3、面向对象方法中的继承机制使子类可以自动地拥有复制父类全部属性和操作4、使得在多个类中能够定义同一个操作或属性名,并在每一个类中有不同的实现的一种方法是多态性5、软件按照其工作方式可划分为实时处理软件、分时处理软件、交互式软件和批处理软件。

6、软件生存周期由软件的定义、软件的开发和软件的使用维护和更新换代三部分组成。

7、软件开发模型有瀑布模型、增量模型、螺旋模型、智能模型和快速原型模型等五种主要模型8、面向对象技术采用以类为中心的封装、继承、多态等不仅支持软件复用,而且使软件维护工作可靠有效,可实现软件系统的柔性制造。

UML系统建模与分析设计

UML系统建模与分析设计
2.定义系统的边界:一个系统的所有元素与系统以外的事物的 分界线。
2019/11/30
软件工程方法
8
1.4 确定执行者(参与者,角色) aActor
执行者(actor)是指在系统外部与系统交互的人或其他系统,它以某 种方式参与了系统内用例的执行。角色在UML中通常以一个稻草人图 符来表示。
执行者类型:参与者不仅可以由人承担,还可以是其它系统、硬件设备、 甚至是时钟 : 1)其它系统:当系统需要与其它系统交互时,如ATM柜员机系统中, 银行后台系统就是一个参与者; 2)硬件设备:如果系统需要与硬件设备交互时,如在开发IC卡门禁系 统时,IC卡读写器就是一个参与者; 3)时钟:当系统需要定时触发时,时钟就是参与者
角色与用例的关联表示角色 与用例相关性。在UML中是 使用一条实线连接角色与用 例
7
1.3 定义系统的边界和范围
系统:特指基于计算机的用于解决某个特定问题域的软硬件系 统。它代表的是一个活动范围。 定义系统:要定义系统的范围和边界
1.定义系统的范围 :系统问题域的目标、任务、规模即系统 提供的功能和任务。
2019/11/30
软件工程方法
10
ATM系统的Actor
1、谁使用ATM系统的主要功能(提款)? 答:储户
2、谁使用ATM系统的支持以完成日常工作任务? 答:出纳员?还不肯定,先放在这里
3、谁来维护、管理并保持系统正常运行? 答: ATM系统工程师,银行人员
2019/11/30
软件工程方法
11
4、该系统需要和哪些系统交互? 答:目前还不清楚
5、ATM系统需要处理哪些设备? 答:信用卡 6、谁对ATM系统运行的结果感兴趣? 答:银行会计、储户
2019/11/30

UML的发展历史和演变

UML的发展历史和演变
UML的发展历史和演变
XX,a click to unlimited possibilities
汇报人:XX
目录
01 添 加 目 录 项 标 题
02 U M L 的 起 源
03 U M L 的 演 变 历 程 05 U M L 的 应 用 领 域
和价值
04 U M L 的 主 要 组 成 部分
06 U M L 的 未 来 展 望 和发展趋势
Booch的贡献
提出面向对象建模的概念
参与UML的制定和推广
添加标题
添加标题
添加标题
添加标题
提出统一建模语言(UML)的雏形
编写了《面向对象分析与设计》等 著作,对UML的发展产生了重要影 响
Rumbaugh的加入
加入时间:1994年 加入原因:与Booch和Jacobson共同开发UML 贡献:将面向对象技术引入UML 影响:推动了UML的发ຫໍສະໝຸດ 和普及率协作和沟通工具
UML作为软件开发过程中的协作和沟通工具,可以清晰地表达软件系统的结构和行为。
UML可以帮助软件开发团队更好地理解需求,提高开发效率。 UML可以促进软件开发团队之间的沟通和协作,减少误解和冲突。 UML可以提供一种标准化的表示方法,便于不同团队之间的交流和合作。
代码生成和模型驱动开发
组件图和部署图
组件图:描述软件系统中的组件及其关系,包括接口、实现和依赖关系 等
部署图:描述软件系统在硬件环境中的部署情况,包括硬件设备、网络 连接和软件组件等
组件图和部署图在UML中的作用:帮助软件开发人员理解软件系统的结 构和部署情况,提高软件开发的效率和质量
组件图和部署图的应用:广泛应用于软件设计、开发、测试和维护等阶 段,帮助软件开发人员更好地理解和管理软件系统

UML系统分析设计-01

UML系统分析设计-01

销售计划管理
销售合同管理
销售核算与统计
成品库管理
市场预测
销 售 历 史 资 料 管 理
编 制 年 度 销 售 大 纲
编 制 销 售 计 划
合 同 有 效 性 检 查
合 同 执 行 情 况 分 析
合 同 登 记 和 变 更
销 售 收 入 核 算
销 售 利 润 核 算
销 售 统 计 分 析
出 入 库 管 理
会 计 组
出 纳 组
供 应 组
销 售 组
仓 库
销售系统管理
2.2.3 功能体系分析
功能体系调查可以了 解或确定系统的功能构造。 系统有一个总的目标,为 达到这个目标,必须要完 成各子系统的功能,而各 子系统功能的完成,又依 赖于它下面各项更具体的 功能来执行,通常采用功 能体系图对功能体系进行 描述。
视图是由图组成的,UML提供9种不同的图。 (1)用例图(Use Case Diagram),描述系统功能。 (2)类图(Class Diagram),描述系统的静态结构。 (3)对象图(Object Diagram),描述系统在某个时刻的静态结构。 (4)时序图(Sequence Diagram),按时间顺序描述系统元素间的 交互。 (5)协作图(Collaboration Diagram),按照时间和空间顺序描述 系统元素间的交互和它们之间的关系。 (6)状态图(State Diagram),描述了系统元素的状态条件和响应。 (7)活动图(Activity Diagram),描述了系统元素的活动。 (8)组件图(Component Diagram),描述了实现系统的元素的组 织。 (9)配置图(Deployment Diagram),描述了环境元素的配置,并 把实现系统的元素映射到配置上。

安徽工业大学《UML系统建模与分析设计》复习资料

安徽工业大学《UML系统建模与分析设计》复习资料

《论述》基于UML得软件开发得一般过程答:UML就是按OO思想进行系统建模时使用得一组表示法,它并不对采用何种OO分析、设计以及开发过程模型构成限制。

基于UML得软件开发通常就是以体系结构为中心,用例驱动得迭代与增量式开发,并结合职责分配模式进行具体设计。

开发过程可以包括计划与细化、迭代得构造与实施3大阶段。

在经过一个初步得计划与细化阶段后,进入若干迭代构造开发周期,每个周期都包含分析、设计、构造与测试步骤。

(1)计划与细化:通过各种传统得需求获取手段(调查、访谈、原型等)得出系统目标、系统功能与系统属性,撰写系统规格说明。

基于参与者与外部事件(动宾词组)构建用例,以增进对领域过程与功能需求得理解《做什么》。

按照风险、业务主线及对体系结构得影响程度(系统属性)划分用例得优先级,并据此决定用例得时间调度。

对高优先用例采用扩展格式细化。

同时建立概念模型草案、系统体系结构草案。

(2)分析阶段:根据当前周期得用例描述,采用概念目录列表、非正式分析或事务模式,识别出相关概念,建立初始概念模型,根据通用关联列表与信息存储得需要,为概念模型添加关联与属性。

将用例分解为系统事件,并对应系统操作,建立系统顺序图;分析系统操作被调用后系统状态(概念)得变化,为系统操作建立契约,进一步理解系统行为《做得效果》。

(3)设计阶段:设计一个合理得体系结构,建立真实用例。

针对每个系统操作,使用操作契约与契约得后置条件以及用例描述文档作为起点,按照职责分配模式或BCE模式为对象(来自概念模型)分配职责,通过协作图体现对象间得交互《怎么做》。

同时参照概念模型与协作图中得消息,建立设计类图,并根据可见性要求设计关联(4)构造与测试阶段:从设计类图创建类得定义(属性与方法原型),根据协作图创建方法实现。

用OOPL实现设计制品到代码得映射,对系统进行相关得测试。

进入下一个迭代周期,在制品同步以后,识别更多得需求,选取所需开发得用例,更新用例图,扩展概念模型,并运用泛化、包与聚合等技术概括日益增多新概念,拓展系统顺序图与系统操作契约;运用更多得职责分配模式进行设计(并根据需要设计与外部系统、其她子系统、持久化设施得交互机制);进一步构造并测试。

电子教案 UML系统建模及系统分析与设计--王欣

电子教案 UML系统建模及系统分析与设计--王欣
• ⑵ 采用合适的设计方法。在软件设计中,通常要 考虑软件的模块化、抽象与信息隐蔽、局部化、 一致性以及适应性等特征。合适的设计方法有助 于这些特征的实现,以达到软件工程的目标。
软件工程的原则
• ⑶ 提供高质量的工程支持。“工欲善其事,必先 利其器”。在软件工程中,软件工具与环境对软 件过程的支持颇为重要。软件工程项目的质量与 开销直接取决于对软件工程所提供的支撑质量和 效用。
• 问题分析包括需求获取和定义,又称软件需求规约。 • 需求分析包括生成软件功能规约。
• 设计包括概要设计和详细设计。
• 实现就是把设计结果转换为可执行的程序代 码。
• 确认贯穿整个开发过程,对完成的结果进行 确认,保证产品满足用户的要求。
• 支持是修改和完善活动。
软件工程的原则
• ⑴ 选取适宜开发范型。该原则与系统设计有关, 在系统设计中,软件需求、硬件需求以及其他因 素之间是相互制约、相互影响的,经常需要权衡。 因此,必须认识需求定义的易变性,采用适宜的 开发范型予以控制,以保证软件产品满足用户的 要求。
软件工程应该包括的知识
• IEEE的软件工程实施体系指南SEWBOK(Guide to the Software Engineering Body of Knowledge 2004Version)界定了软件工程的10 个知识领域(KAs:Knowledge Areas),即软件需求、软件设计、 软件构建、软件测试、软件维护、软件配置管理、软件工程管理、 软件工程过程、软件工程工具和方法及软件质量。
• 软件是一种特别的产品,随着其规模和复杂性的 进步及应用领域的扩大,逐渐形成了工程。
• 软件(software)是计算机系统中与硬件 (hardware)相互依存的另一部分,它包括程序 (program)、相关数据(data)及其说明文档 (document)。

UML系统建模与分析设计

UML系统建模与分析设计

本科生
研究生
硕士研究生
博士研究生
软件工程方法
14
(2)执行者代表一种角色而不是具体某个人 (3)对同一个人担任角色的限制 (4)执行者可分成主执行者和副执行者 (5)执行者还可细分为主动执行者和被动执行者
主动角色:Use Case的动作序列是由他先发起的,通常 系统返回最后结果
2019/11/13
软件工程方法
16
1.用例的特征
响应性。一个用例不自动执行,总是有执行者启
动。
这件事必须由一个执行者发起,执行者的愿望是用 例存在的原因。不存在没有执行者的用例,也不应 该主动启动另一个用例。
2019/11/13
软件工程方法
17
回执性。 用例执行完毕,向执行者提供可识别的 返回值。用例的执行结果对参与者来说是可观测 的和有意义的。
您对系统有什么期望? 您打算在这个系统里面做些什么事情? 您做这件事的目的是什么? 您做完这件事情希望有一个什么样的结果?
一个明确的有效地目标才是一个用例的来源。 一个真实的目标应当完备地表达执行者的期望。 一个有效地目标应当在系统边界内,由主角发动,并具有
明确的后果。
应当先建立业务用例模型,然后再从业务用例模型向系统 用例模型映射。
2019/11/13
软件工程方法
27
判断题
支持跨行业务 插入卡片 输入密码 选择服务 取钱 存钱 挂失卡片 交纳费用 警示骗子 三次错误吞没卡片
2019/11/13
软件工程方法
28
支持跨行业务 错,这是一个业务规则,限定业务的范 围
插入卡片
错,这是一个过程步骤,不是完整目标

UML发展历史

UML发展历史

当软件规模迅速扩大时,工具的作用就显 得更为突出,因为人们自己已经无法管理 非常庞大的模型了。Rational Rose正是这 样的一种工具,它是由Rational公司在 Booch,Rumbaugh,Jacobson三位软件工 程专家的主持下研制的面向对象的CASE (Computer-Aided Software Engineering) 产品,由于有三位大师及Rational公司的鼎 力相助,使得Rational Rose可以随着UML 的改版随时更新,因此它是目前最流行、 使用最广泛的CASE工具。
UP的软件开发过程
UP的软件开发过程被划分为四个阶段:

初始阶段 细化阶段 构建阶段 移交阶段
初始阶段

探讨软件开发的必要性和可行性;捕获
基本需求以界定系统范围;识别关键任
务。
细化阶段

细化用例,确定系统的基本架构 。细化
包括分析、设计、编码和测试文件。通 过迭代的方法建造软件系统。每个迭代 包括5个核心工作流,每个迭代将得到一 个更准确的接近未来系统的模型。
传统的软件开发过程
想要开发一个软件系统,开发组可能希望马上投 入编码工作,但他们可能对要对什么编码还没完 全搞清楚。开发组必须要经历一个软件开发过程, 在开发过程中要经历一定的步骤。在进行程序设 计前开发人员必须要充分理解所要解决的问题, 这需要专门有人负责需求的分析。进行了需求分 析之后,还必须有人将分析产品转化为设计产品。 然后程序员再根据设计产品编制代码,这些代码 在经过测试和部署后,最终成为目标系统。
无论分析人员怎样在开始进行调查研究与 分析,都不可能对未来系统的一切需求都 定义得完整无缺。往往在以后的设计阶段 或编码阶段,才发现原来对系统的需求定 义必须进行修改或补充。越在后期发现问 题,越难补救,会导致大量费用的投入, 并可能降低软件的质量。

UML系统建模与分析设计

UML系统建模与分析设计
5、ATM系统需要处理哪些设备? 答:信用卡 6、谁对ATM系统运行的结果感兴趣? 答:银行会计、储户
2019/10/28
软件工程方法
12
储户 信用卡
银行人员 银行会计
2019/10/28
软件工程方法
13
2.定义执行者时应该注意的问题 1)执行者之间可以有继承关系
学生
小学生
中学生
大学生
2019/10/28
2019/10/28
软件工程方法
6
1.2 用例图
2019/10/28
软件工程方法
图中的元素包括:参与者、 用例、一个方框和一些表示 关系的连接线 。 所有的用例都位于方框之内 ,该方框称为“系统边界” 参与者与用例的关系:在参 与者和用例之间的关联是用 一根带箭头的线来表示的 用例之间的关系: 1)包含关系 2)扩展关系 3)泛化关系
用户是否要在系统中创建、删除、读、修改或存储某类业 务数据?
系统为了维持正常运转需要增加的功能和信息的交互;
这些信息从何而来,到哪里去?
实现当前系统(可能是人工系统而不是自动化系统)的关 键问题是什么?
2019/10/28
软件工程方法
22
通过与用户反复交流,确定主要业务用例和次要 业务用例。
2019/10/28
软件工程方法
27
判断题
支持跨行业务 插入卡片 输入密码 选择服务 取钱 存钱 挂失卡片 交纳费用 警示骗子 三次错误吞没卡片
2019/10/28软件工程方法 Nhomakorabea28
支持跨行业务 错,这是一个业务规则,限定业务的范 围
插入卡片
错,这是一个过程步骤,不是完整目标

uml系统建模与分析设计课后答案

uml系统建模与分析设计课后答案
14.用例模型中的用例之间的关联有(使用)关联、(扩展)关联、(包含)关联和(继承)关联。
三、解释名词
15.需求规格说明书:是作为需求分析的一部分而制定的可交付文件,它对所开发软件的功能,性能,用户界面以及运行环境等做出详细说明,制定出完整的信息描述,恰当的检验标准以及其他需求有关的数据。
16.用例模型:是表达系统外部事物与系统之间交互的可视化工具。
11.在UML软件开发过程的需求分析阶段,建立用例模型的步骤分为(确定系统的范围和边界)、(确定系统的执行者和用例)、(对用例进行描述)和(定义用例之间的关系和审核用例模型)。
12.在用例图中以实线方框表示系统的范围和边界,在系统边界内描述的是(用例),在边界外描述的(执行者)。
13.用例模型中的执行者可以是(“人”执行者)也可以是(“外部”执行者)。
8.进程是一个(动作流),能够与其他进程并发执行。
9.线程是(内部)的一个动作流,能够与其他线程并发执行。
10.(主动对象)是一个拥有进程或线程的对象,能初始化控制活动,可以独立并发运行。
11.(被动对象)是一个必须由其他对象发来的消息进行出发才执行动作的对象。
12.交互图描述系统中对象见的交互行为。每一个交互都有(发送者)和(接收者),它们可以是整个系统,一个子系统,一个用例,一个对象类或一个操作。
18.同步消息:两个通信应用服务之间必须要进行同步,两个服务之间必须都是正常运行的。发送程序和接收程序都必须一直处于运行状态,并且随时做好相互通信的准备。
19.异步消息:两个通信应用之间可以不用同时在线等待,任何一方只需各自处理自己的业务,比如发送方发送消息以后不用登录接收方的响应,可以接着处理其他的任务。也就是说发送方和接收方都是相互独立存在的,发送方只管方,接收方只能接收,无须去等待对方的响应。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
问题定义及可行性研究
计划阶段
2021/4/1
17
瀑布模型的特点
文档驱动的模型 阶段间具有顺序性和依赖性 推迟实现的观点 质量保证的观点
2021/4/1
18
瀑布模型的问题
实际项目很少按照该模型给出的顺序进行 用户常常一开始难以清楚地给出所有需求 用户必须有耐心等待一个漫长无反馈的交付 开发者常常被不必要地耽搁
UML系统建模 与分析设计
2021/4/1
1
课程内容
本课程阐述了基于UML的面向对象分析与设计的基本概念, 详细介绍了统一建模语言UML及其开发过程,以一个集成 案例贯穿可行性研究、需求分 析、系统分析与系统设计 的全过程。
还重点介绍了面向对象的软件开发CASE集成环境、设计 模 式、软件复用技术、分布式对象技术、C/S模型、B/S 模型、持久对象、往返工程、逆向工程和CORBA构件接 口技术等内容。
(2) 使用渐增模型的情况:
需要在尽短的时间内得到系统基本功能的演示或使用; 各版本都有中间阶段产品可提供使用; 系统可以被自然地分割成渐增的模式; 开发人员与资金可以逐步增加。
2021/4/1
22
3. 演化模型(evolutionary model) 演化模型也称为原型(prototype)法模型。
从四个方面评价:
技术特征。
使用特征。
管理特征。
经济特征。
2021/4/1
43
1.5 面向对象软件开发方法简介
特点: (1)使人们更好地认识客观世界 (2)能很好地适应需求变化 (3)容易实现软件复用 (4)系统易于维护和修改
2021/4/1
44
1.5.1 面向对象的基本概念
对象 类 抽象 封装 消息传递 继承 多态性
使用演化模型时应注意:
演化模型也是通过系统各个可执行的中间版本 以渐增的形式来开发系统的,但是客户需求可 以分步逐渐了解,不用在初始时就确定。
在模型中,可以预先定义一部分客户需求,然 后在每个后继的中间版本中再逐步增加需求, 一点点完善。
在开发每个中间版本时,开发过程中的活动和 任务可以顺序地或部分重叠平行地被加入到这 些中间版本中。
2021/4/1
27
优点
对可选方案和约束条件的强调有利于已有 软件的重用,也有助于把软件质量作为软 件开发的一个重要目标;
维护和开发之间并没有本质区别。
特点
风险驱动的
主要适用于内部开发的大规模软件项目
2021/4/1
28
5 . 智能模型(intelligent model)
2021/4/1
3.软件使用、维护和更新换代
(1)软件使用 (2)系统维护 (3)系统更新换代
2021/4/1
38
1.4 软件开发方法简介
1. 结构化程序设计方法
其控制结构仅由顺序、选择与重复等有限的基 本控制结构表示。
2. 模块化程序设计方法
模块之间的接口应尽可能简明清晰: 单独模块的修改不影响其它模块的功能; 模块化应具有可修改性、易读性和可验证性。
2021/4/1
41
面向对象软件开发方法
面向对象方法有几十种,综合起来,其基本观点 如下: 现实客观世界由对象组成。 相同的对象归并为类。 类可以继承。 对象之间通过消息进行联系。
面向对象 = 对象 + 类 + 继承 + 通信
2021/4/1
42
1.4.5 软件开发方法的评价与选择
综合考虑以下几方面因素: 人员素质。 时间进度。 掌握资源。 可行性。 领域知识。
2021/4/1
23
2021/4/1
24
4. 螺旋模型(spiral model)
螺旋模型沿着螺线旋转,在四个象限上分别表达四个方 面的活动,即: 制定计划 确定软件目标,选定实施方案,弄清项 目开发的限制条件; 风险分析 分析所选方案,考虑如何识别和消除风 险; 实施工程 实施软件开发 客户评估 评价开发,提出修正建议,建立下一周 期的计划。
2021/4/1
19
(1)慎需求或客户需求有可能迅速发生化; 系统太大太复杂,不能一次做完所有的事; 事先拟采用的技术迅速发生变化; 提供的资源有限; 无法利用各开发阶段的某一中间产品。
(2)使用瀑布模型的情况:
系统所有的功能、性能要求客户可以一次性准确交付时; 必须是首次开发的新系统并且淘汰全部老系统时。
本章目的:
理解软件的基本概念和特点 了解软件的发展过程及软件开发过程 了解软件开发的方法 掌握面向对象技术的基本概念及开发过程 了解几种典型的面向对象方法
2021/4/1
11
1.3 软件开发模型的演变和生存周期
1.3.1 软件开发过程与模型的演变
2021/4/1
16
1. 瀑布模型(waterfall model)
2021/4/1
25
决定目标、 方案和限制
螺 旋 模 型
2021/4/1
计划下一阶段
评价方案、 识别风险、 弱化风险
集成 测试
开发、验证、 下一级产品
26
螺旋模型
螺旋模型将瀑布模型与快速原形模型结合起来, 并且加入两种模型均忽略了的风险分析。
螺旋模型沿着螺线旋转,自内向外每旋转一圈便 开发出更完善的一个新版本。
29
智能模型,它把瀑布模型和专家系统结合在一起。 该模型在开发的各个阶段上都利用了相应的专家 系统来帮助软件人员完成开发工作
2021/4/1
30
2021/4/1
31
6 喷泉模型
维护与演进阶段
集成与测试阶段 编程阶段 设计阶段 分析阶段
需求阶段
要点:
•开发活动之间的无间隙性和循环迭代性
•适用2021于/4/1 面向对象的开发过程 •强调无明显的活动阶段划分
2021/4/1
49
2021/4/1
50
怎么得到类和对象?——抽象
把事物共同点抽取出来,以统一的方式进行概要描 述的过程;
从许多事物中舍弃个别的、非本质的特征,抽取 共同的、本质性的特征;
过滤掉对象的一部分特征和操作直到只剩下你所 需要的属性和操作。
2021/4/1
51
是不是现实世界中类的所有属性
❖ 如果不掌握对象思想,那么UML或任何case工具 (如ROSE)将毫无意义
❖ 我们需要一种用于OOA/D的语言,这既是一种思 考的工具,也是一种沟通的形式。因此,我们将 在OOA/D中应用UML。
如何应用UML进行OOA/D?
如何将UML应用于UP过程?
2021/4/1
10
第一章 系统建模与分析设计技术的演变
2021/4/1
34
1.3.3软件生存周期
2021/4/1
35
1.软件定义
(1)软件系统的可行性研究 1)经济可行性研究。 2)技术可行性研究。 3)法律可行性研究。 4)方案的选择。
(2)需求分析 1)任务。
❖ 软件功能需求: ❖ 软件性能需求:
❖ 软件系统运行环境:
2)按需求建模。 3)软件需求规格说明(Software 202R1/4/1equirements Specification,简称SRS)。 36
使学生快速地掌握面向对象的 系统分析、设计方法。
2021/4/1
2
教学目的:
全面掌握采用面向对象的软件开发分析设计的基 本步骤与方法.
掌握软件开发工具ROSE的使用方法与技巧,使 同学们能够掌握采用面向对象技术独立开发一个 软件项目的过程和建模方法,对开发面向对象软 件项目的过程有一个完整、全面地了解。
2021/4/1
20
2. 渐增模型(incremental model)
由一组有计划的、循环渐增的、不断改进的过程 版本组成。
各个中间版本可以并行开发。
2021/4/1
21
(1)慎重考虑使用渐增模型的情况:
不能充分理解客户需求或客户需求有可能迅速发生变化; 事先拟采用的技术迅速发生变化; 客户突然提出一些新的功能需求; 长时期内仅有有限的资源保证(开发人员和资金)。
? 和方法都需要在系统中进行抽象 呢?
当然不是啦!作为一个分析人员,要根据用户实际的业务 情况进行选择。
他领域也得到应用。
2021/4/1
6
模型的三要素
表示法
过程
2021/4/1
工具
7
学习UML的三要素
❖ 表示法 - 图形 ❖ 过程 - (UML与过程无关,但最好用于RUP) ❖ 工具 - (比如:Ratinal Rose)
2021/4/1
8
如何学习UML?
➢ 按照某种过程进行分析、设计;用设计原则和模 式进行更好的设计;用UML表示法记录、辅助
结构化方法总的指导思想自顶向下、逐步求精。它的 基本原则是功能的分解与抽象。
结构化开发方法的组成
结构化程序设计方法 SP法(Structured Program) 结构化设计方法 SD法(Structured Design) 结构化分析方法 SA法(Structured Analysis) SA,SD,SP 法相互衔接,形成了一整套开发方法。
2021/4/1
45
1.5.1 面向对象的基本概念
1. 对象 客观世界中的实体抽象为问题空间中的对象。
2. 对象的抽象——类 把具有相同特征和行为的对象归在一起就形成
了类(Class)。
2021/4/1
46
重要的面向对象概念——类和对象
在客观世界中,有一些对象具有相同的特征,将 他们称之为同类对象。于是出现了类的概念。
32
1.3.2 软件开发模型的选择
要综合考虑以下几个因素: (1)软件规模 (2)软件类型
相关文档
最新文档