【软件工程】面向对象的分析

面向对象分析(object-orientedanalysis)简称OOA,就是抽取和整理用户需求并建立问题域精确模型的过程。

1.关键:

识别出问题域内的对象,并分析它们相互间的关系,最终建立起问题域的简洁、精确、可理解的正确模型。

2.目的:

系统分析员应该深入理解用户需求,抽象出系统的本质属性,提取系统需求规格说明,并用模型准确地表示出来。

3.分析过程:

从分析陈述用户需求的文件开始。可能由用户单方面写出需求陈述,也可能由系统分析员配合用户,共同写出需求陈述。接下来,系统分析员应该深入理解用户需求,抽象出目标系统的本质属性,并用模型准确地表示出来。系统分析员必须与用户及领域专家密切配合协同工作,共同提炼和整理用户需求。

4.建模过程:

系统分析员必须认真向领域专家学习,仔细研究以前针对相同的或类似的问题域进行面向对象分析所得到的结果。

5.三种模型:对象模型,动态模型,功能模型。

(1)对象模型:

需求陈述、应用领域的专业知识以及关于客观世界的常识,是建立对象模型时的主要信息来源。

建立对象模型的一般步骤:

1.首先确定对象类和关联。2.对于大型复杂问题划分出若干个主题;3.然后给类和关联增添属性,以进一步描述它们,4.接下来利用适当的继承关系进一步合并和组织类。5.对于类中操作的最后确定,则等到建立了动态模型和功能模型之后,因为这两个子模型更准确地描述了对类中提供的服务的需求。

(2)动态模型:

脚本(script)是详细描述每一个动态交互过程动作序列的信息;

状态图是表达对象状态转换过程的图形方法;

事件跟踪图表达对象与对象之间可能发生的所有事件,以及按发生时间的先后顺序列出所有事件的一种图形方法。

动态模型主要由状态图和事件跟踪图构成。各类对象的状态图通过共享事件合并起来,就构成了系统的动态模型,而状态图的构造过程可从事件跟踪图开始。事件跟踪图实质上是扩充的图示脚本,因此,应该对每一个脚本构造一张事件跟踪图。

(3)功能模型:

基本系统模型由若干数据源点/终点和处理框三部分组成,首先建立一个基本系统模型,然后将单一的处理框按照功能进行细化,得到分层的系统流图,以描述系统加工,变换数据流的过程。待处理框细化到一定程度之后,就应该描述每一个处理框实现的功能。处理框的描述可以是说明性的,也可以是过程性的。

时间: 2024-10-13 19:59:44

【软件工程】面向对象的分析的相关文章

UML和模式应用:面向对象的分析与设计

1.1.什么是分析和设计 分析(analysis):强调的是对问题和需求的调查研究,而不是解决方案,即应该如何使用系统,系统应该具有哪些功能. 设计(design):强调的是满足需求的概念上的解决方案(在软件和硬件方面),而不是其实现.最终,分析可以实现,而实现则表达了真实和完整的设计. 分析和设计一词最好加以限制,如面向对象的设计.数据库设计. 有益的分析和设计可以概括为:做正确的事(分析)和正确地做事(设计). 1.2.什么是面向对象的分析和设计 在面向对象分析(OOA)过程中,强调的是在问

从软件工程的角度分析本科毕业设计

本学期开始学习高级软件工程,结合本科阶段学习的软件工程发表一些自己对软件工程的理解: 软件工程是利用工程化的思维和管理方式来进行软件的设计与开发,软件工程是计算机程序开发的高级形式.采用工程化的思维和管理方式来进行计算机软件的开发与设计工作可以最大限度的提高计算机软件开发的效率和质量. 本科毕业设计题目:面向移动互联网多模式智能灯的设计与实现 毕业设计中的不足: 1.在课题设计前,对现有市面上类似智能产品的功能和主流的设计方法调查不足,致使课题的背景调查和分析不够透彻.课题研究的可行性研究依据支

UML和模式应用-1面向对象的分析与设计

1.本书的主要内容 UML和面向对象的思想 对应用了UML和模式的面向对象分析与设计(OOA/D)的介绍 重点阐述对象设计,也会讲述在OOA/D中如何使用UML OOD的原则和模式 职责驱动设计 模式,问题解决方案公式 案例研究 贯穿全书的案例研究 用例 讲述需求分析 迭代开发 迭代开发使用统一过程(UP)的敏捷方法作为示例迭代过程来讲述迭代开发 TODO

关于Java面向对象的分析题

分析程序看有没有问题,如果有,说出原因即可.-----------------------------------------------------------------------------1. abstract class Name { private String name; public abstract boolean isStupidName(String name) {} //有方法体,但方法体为空.会报错. } 错误. 抽象方法必须以分号结尾,且不带花括号. 在Java中,

面向对象内存分析

Java虚拟机的内存可以分为三个区域:栈(stack).堆(heap).方法区(method area) 方法区也在堆里面. 栈的特点: 1.栈描述的是方法执行的内存模型.每个方法被焦勇都会创建一个栈帧(存储局部变量.操作数.方法出口等) 2.JVM为每个线程创建一个栈,用于存放该线程执行方法的信息(实际参数.局部变量等) 3.栈线程私有,不能实现线程间的共享 4.栈的存储特征是"先进后出,后进先出" 5.栈是由系统自动分配,速度快!栈是一个连续的内存空间 堆的特点: 1.堆用于存储创

软件工程——数独 代码分析报告1

一.    运行代码分析 运行代码分析结果如下: 1>------ 已启动全部重新生成: 项目: suduku_without_gui, 配置: Release Win32 ------ 1>header.cpp 1>interpretor.cpp 1>SudokuChecker.cpp 1>SudokuMaker.cpp 1>SudokuPrinter.cpp 1>SudokuReader.cpp 1>E:\github\software_engineer

面向对象的分析

1. 概要类图 2. 详细类图 3. 类图说明 l   MainController()主控制类             集合所有信息   l   InventoryManagement()清单类             使用方法:编写清单信息   l   ProviderVirectory()提供者目录             使用方法:调用提供者目录   l   ReportManagement()报告类             使用方法:生成报告   l   PersonalManagem

面向对象的软件工程之分析

为了解决软件危机,一些IT前辈们提出了软件工程这个名词,软件工程是介绍软件的开发到维护的总体过程.软件工程从程序的设计角度可以分为两类,一类是面向结构的软件工程,另一类是面向对象的软件工程.下面我们先宏观把控一下面向对象的软件工程,然后在对其中的面向对象的分析在做进一步的解释. 一.面向对象的软件工程导图 面向对象的软件工程可以分为五个阶段:1.OO分析: 2.OO设计:3.OO编程: 4.OO测试: 5.OO维护. 二.面向对象的分析 三.图解 用面向对象方法开发软件,通常需要建立3种形式的模

面向对象软件工程知识点

面向对象软件工程知识点  1.封装是指把对象的(A)结合在一起,组成一个独立的对象. A.属性和操作 B.信息流 C.消息和事件 D.数据的集合 2.状态图和活动图建立了UML面向对象开发过程中的对象动态(B)模型. A.交互      B.状态       C.体系结构     D.软件复用 3.UML的(C)模型图由活动图.顺序图.状态图和合作图组成. A.用例 B.静态 C.动态 D.系统 4.在UML的需求分析建模中,对用例模型中的用例进行细化说明应使用(A). A.活动图     B.