软件工程——第10章面向对象分析知识点整理

news2024/12/25 15:39:09

本专栏是博主个人笔记,主要目的是利用碎片化的时间来记忆软工知识点,特此声明!

文章目录

1.分析工作主要包括哪三项内容?

 2.面向对象分析是一个怎样的过程?

3.需求陈述是一成不变的吗?

4.复杂问题的对象模型通常由哪5个层次组成?

5.面向对象分析建立模型的顺序?

6.建立对象模型的步骤?

7.面向对象分析的大体顺序?

8.需求陈述的内容包括哪些?

9.需求陈述是一成不变的文档吗?

10.面向对象分析首要的工作是什么?为什么?

11.开发大型复杂系统为了降低复杂程度,人们习惯于?

12.建立动态模型包括什么?

13.编写脚本的目的是?

14.脚本描述时间的序列和编写脚本的过程实质是?

15.事件跟踪图实质上是?

章末小结


1.分析工作主要包括哪三项内容?

所有的分析过程都是提取系统需求的过程,分析工作主要包括:理解、表达、验证三项内容

 2.面向对象分析是一个怎样的过程?

面向对象分析,就是一个抽取和整理用户需求建立问题域精确模型的过程

3.需求陈述是一成不变的吗?

不是。需求陈述通常是不完整、不准确的,而且往往是非正式的,不是一成不变的,应该把它作为细化和完善需求的基础

4.复杂问题的对象模型通常由哪5个层次组成?

  1. 主题层
  2. 类与对象层
  3. 结构层
  4. 属性层
  5. 服务层

【注】:这5项工作没有必要顺序完成,也无须彻底完成一项工作以后再开始另一项工作

5.面向对象分析建立模型的顺序?

        通常的顺序是先建立对象模型,在对象模型中定义每个类的服务之前,建立起动态模型功能模型

6.建立对象模型的步骤?

  1. 确定类与对象
  2. 确定关联
  3. 划分主题
  4. 确定属性
  5. 识别继承

7.面向对象分析的大体顺序?

  1. 寻找类与对象
  2. 识别结构
  3. 识别主题
  4. 定义属性
  5. 建立动态模型
  6. 建立功能模型
  7. 定义服务

8.需求陈述的内容包括哪些?

  1. 问题范围
  2. 功能需求
  3. 性能需求
  4. 应用环境及假设条件

9.需求陈述是一成不变的文档吗?

不是。需求陈述可简可繁,它仅仅是理解用户需求的出发点,并不是一成不变的文档

10.面向对象分析首要的工作是什么?为什么?

面向对象分析首要的工作是建立问题域的对象模型

因为对象模型表示了目标系统的静态数据结构,而静态数据结构对应用细节依赖较少,比较易确定,也比较稳定

11.开发大型复杂系统为了降低复杂程度,人们习惯于?

人们习惯进一步把系统划分成几个不同的主题,按照问题领域而非功能分解方法来确定

12.建立动态模型包括什么?

  1. 建立状态图
  2. 建立顺序图(时序图)
  3. 建立活动图

13.编写脚本的目的是?

为了保证不遗漏重要的交互步骤,它有助于确保整个交互过程的正确性和清晰性

14.脚本描述时间的序列和编写脚本的过程实质是?

实质上就是分析用户对系统交互行为的要求的过程

15.事件跟踪图实质上是?

事件跟踪图实质上是扩充的脚本,可以认为事件跟踪图是简化的UML顺序图

章末小结

        分析就是提取系统需求建立问题域精确模型的过程,它包括理解、表达和验证3项主要工作内容。面向对象分析的关键工作是分析、确定问题域中的对象及对象间的关系,并建立起问题域的对象模型。

        大型、复杂系统的对象模型通常由下述 5 个层次组成:主题层、类与对象层、结构层属性层和服务层。它们对应着在建立对象模型的过程中所应完成的 5 项工作。

        大多数分析模型都不是一次完成的,为了理解问题域的全部含义,必须反复多次地进行分析。因此,分析工作不可能严格地按照预定顺序进行;分析工作也不是机械地把需求陈述转变为分析模型的过程。分析员必须与用户及领域专家反复交流、多次磋商,及时纠正错误认识并补充缺少的信息。

        分析模型是系统分析员同用户及领域专家交流时有效的通信手段。最终的模型必须得到用户和领域专家的确认。在交流和确认的过程中,原型往往能起很大的促进作用。

        一个好的分析模型应该正确完整地反映问题的本质属性,且不包含与问题无关的内容。分析的目标是全面深入地理解问题域,其中不应该涉及具体实现的考虑。但是,在实际的分析过程中完全不受与实现有关的影响也是不现实的。虽然分析的目的是用分析模型取代需求陈述,并把分析模型作为设计的基础,但是事实上,在分析与设计之间并不存在绝对的界线

下一章:软件工程——第11章面向对象设计知识点整理

反反复复,扎扎实实;念念不忘,必有回响! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/741078.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

web信息收集----网站指纹识别

文章目录 一、网站指纹(web指纹)二、CMS简介三、指纹识别方法3.1 在线网站识别3.2 工具识别3.3 手动识别3.4 Wappalyzer插件识别 一、网站指纹(web指纹) Web指纹定义:Web指纹是一种对目标网站的识别技术,通…

敞篷超跑造型,还支持4KHz回报,雷柏VT960 Pro游戏鼠标体验

想要在游戏中获得精准、迅速的操作反馈,鼠标的配置很重要,之前雷柏推出的支持4KHz的高回报率鼠标,很适合高刷显示器使用,最近我也上手了一款雷柏VT960 Pro。这只无线游戏鼠标采用了一种镂空“超跑”的外观设计,还带有个…

【C语言基础】内存布局和作用域

(꒪ꇴ꒪(꒪ꇴ꒪ ),hello我是祐言博客主页:C语言基础,Linux基础,软件配置领域博主🌍快上🚘,一起学习!送给读者的一句鸡汤🤔:集中起来的意志可以击穿顽石!作者水平很有限,如果发现错误…

UnityVR--机械臂场景10-简单流水线应用2

目录 一. 前言 二. 事件中心修改 三. 机械臂加入DoTween的运动 四. 机械臂关节的控制 一. 前言 上一篇已经完成了流水线的搭建,本篇要完成的是:1. 事件中心的修改;2. 机械臂的DoTween运动改造; 本篇是在事件中心2和机械臂场景…

macOS Ventura 13.5beta5(22G5072a)发布

系统介绍 黑果魏叔 7 月 11 日消息,苹果今日向 Mac 电脑用户推送了 macOS 13.5 开发者预览版 Beta 5 更新(内部版本号:22G5072a),本次更新距离上次发布隔了 12 天。 macOS Ventura 带来了台前调度、连续互通相机、Fa…

Python自动化办公:提升效率,释放潜力(借助AI实现)

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。搜…

解密混沌工程——混沌工程实践

随着近两年的数字化转型需求激增,混沌工程这门新兴学科在证券业、银行业备受青睐。尽管混沌工程诞生至今已经有十余年,但对大部分公司的研发团队而言,它仍是一个比较陌生的领域。 混沌工程该如何实施? 上一期我们说到&#xff0c…

Spring Event事件用法 Spring Boot Event事件发布和订阅 Spring Event事件发布 Spring Event事件订阅

Spring Event事件用法 Spring Boot Event事件发布和监听 Spring Event事件发布 Spring Event事件订阅 一、概述 在Spring中可以使用 Spring Event 事件机制,实现功能解耦合。 本文 主要讲解 Spring Event的用法 ,至于那些 介绍啊,观察者模式&…

开悟AIArena,深度学习神经网络,暑假开悟比赛的学习

目录 1.赛题简介 1.1.赛题目标 1.2.地图介绍 1.3.规则介绍 2.环境介绍 2.1.观测空间(Observation Space) 2.1.1.原始数据: 2.1.2.特征数据 2.1.3.特征提取 2.2.动作空间(Action Space) 2.3.坐标介绍&#xf…

1.MySQL - WindTerm Linux 使用

目录 一、云服务器的使用 二、Linux 和 发行版 三、云服务器的基本操作 四、WindTerm(一款 SSH 客户端) 4.1 设置 WindTerm 外观 4.2 打开文件管理器 4.3 连接云服务器 4.4 参数 4.5 常见命令 4.5.1 清理屏幕(滚屏) …

【雕爷学编程】Arduino动手做(158)---VL53L0X激光测距模块2

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&am…

TCP 协议(一)报文结构

TCP 协议(一)报文结构 TCP 协议(二)连接与断开 TCP 协议(三)十种核心机制 TCP 提供面向连接的通信传输,面向连接是指在传送数据之前必须先建立连接,数据传送完成后要释放连接。无论…

从零开始——springboot增删改查小demo

首先,先创建数据库 -----sushe,然后创建表 person,表结构是这样的,一共四个字段。 向里面添加一些寝室成员数据即可。 INSERT INTO person(p_id,p_name,p_phone,p_score)VALUES (1,李阳,123456,7890), (2,张骞,123456,7890), (3,马康敬,1234…

【C语言】指针概要

文章目录 一、什么是指针二、指针类型三、野指针四、二级指针五、字符指针六、数组指针定义数组名 七、函数指针 一、什么是指针 指针就是地址,口语中说的指针通常指的是指针变量。我们可以通过&(取地址操作符)取出变量的内存起始地址&a…

Nginx转发域名与新增SSL证书校验

1.申请SSL证书 各大资源:SSL免费证书资源 2.我选择的是站点服务 申请成功的界面: 官网安装教程:看看就好系列 3.下载成功后把文件当道nginx中的目录下 4.编写nginx.config配置 增加server配置 通过监听zlXXX.cc域名访问 重定向到https…

C人脸识别

1、原始图片: 2、灰度化下: 3、均值滤波: 4、 二值图加边缘检测 5、生成积分图 6、把待检测的人脸区域划分为25个,因为是一个数组,这样分别统计每个区域的像素个数: x0: 60, y0: 100, x1: 157, y1: 200 …

X86架构上的Linux操作系统安装与配置ARM架构(并进行示例测试/为DDS编译打基础)

1 查看Linux操作系统是运行在X86架构还是ARM架构平台上2 X86和ARM到底是什么关系?3 X86、ARM、Linux三者的关系到底是什么?(大白话理解)4、在X86架构的Linux操作系统上搭建ARM架构并进行测试(看elf文件的类型是否属于a…

Spark---第 1 章 Spark 内核概述

Spark 内核泛指 Spark 的核心运行机制,包括 Spark 核心组件的运行机制、Spark 任务调度机制、Spark 内存管理机制、Spark 核心功能的运行原理等,熟练掌握 Spark 内核原理,能够帮助我们更好地完成 Spark 代码设计,并能够帮助我们准…

HTML5+CSS3小实例:带进度条的人物卡片切换效果

实例:带进度条的人物卡片切换效果 技术栈:HTML+CSS 效果: 源码: 【html】 <!DOCTYPE html> <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta name="viewport" conte…

XHcms 1.0代码审计

关于熊海CMS1.0的代码审计&#xff0c;一直想要提升自己的代码审计的能力&#xff0c;php没有继续去深入的学习这门语言&#xff0c;反而直接是审计CMS&#xff0c;就拿着熊海CMS来进行审计。 关于熊海cms的源码&#xff0c;附在下方&#xff1a; 链接&#xff1a;https://pan…