结构化分析建模【课堂】

一、软件建模基本内容:

(一)领域建模

(二)需求建模

描述软件向用户所能提供的外在特性,包括软件的目标、功能等特性。

(三)设计模型

软件的设计方案,包括软件的实现结构、构件、文件等。

(四)测试模型

测试软件的模型描述

二、软件建模方法

大致分为以下三种,但在实际的软件建模过程中将其三和一进行建模。

(一)面向功能建模——功能分层划分

(二)面向数据建模

(三)面向对象建模

三、UML九大类图

1、用例图

描述角色以及角色与用例之间的连接关系。说明的是谁要使用系统,以及他们使用该系统可以做些什么。一个用例图包含了多个模型元素,如系统、参与者和用例,并且显示了这些元素之间的各种关系,如泛化、关联和依赖。

2、类图

类图是描述系统中的类,以及各个类之间的关系的静态视图。能够让我们在正确编写代码以前对系统有一个全面的认识。类图是一种模型类型,确切的说,是一种静态模型类型。

3、对象图

与类图极为相似,它是类图的实例,对象图显示类的多个对象实例,而不是实际的类。它描述的不是类之间的关系,而是对象之间的关系。

4、活动图

描述用例要求所要进行的活动,以及活动间的约束关系,有利于识别并行活动。能够演示出系统中哪些地方存在功能,以及这些功能和系统中其他组件的功能如何共同满足前面使用用例图建模的商务需求。

5、状态图

描述类的对象所有可能的状态,以及事件发生时状态的转移条件。可以捕获对象、子系统和系统的生命周期。他们可以告知一个对象可以拥有的状态,并且事件(如消息的接收、时间的流逝、错误、条件变为真等)会怎么随着时间的推移来影响这些状态。一个状态图应该连接到所有具有清晰的可标识状态和复杂行为的类;该图可以确定类的行为,以及该行为如何根据当前的状态变化,也可以展示哪些事件将会改变类的对象的状态。状态图是对类图的补充。

6、序列图(顺序图)

序列图是用来显示你的参与者如何以一系列顺序的步骤与系统的对象交互的模型。顺序图可以用来展示对象之间是如何进行交互的。顺序图将显示的重点放在消息序列上,即强调消息是如何在对象之间被发送和接收的。

7、协作图

和序列图相似,显示对象间的动态合作关系。可以看成是类图和顺序图的交集,协作图建模对象或者角色,以及它们彼此之间是如何通信的。如果强调时间和顺序,则使用序列图;如果强调上下级关系,则选择协作图;这两种图合称为交互图。

8、构件图 (组件图)

描述代码构件的物理结构以及各种构建之间的依赖关系。用来建模软件的组件及其相互之间的关系,这些图由构件标记符和构件之间的关系构成。在组件图中,构件时软件单个组成部分,它可以是一个文件,产品、可执行文件和脚本等。

9、部署图 (配置图)

是用来建模系统的物理部署。例如计算机和设备,以及它们之间是如何连接的。部署图的使用者是开发人员、系统集成人员和测试人员。

几种图的区别:

一:这九种模型图各有侧重,

1:用例图侧重描述用户需求,

2:类图侧重描述系统具体实现;

二:描述的方面都不相同,

1:类图描述的是系统的结构,

2:序列图描述的是系统的行为;

三:抽象的层次也不同,

1:构件图描述系统的模块结构,抽象层次较高,

2:类图是描述具体模块的结构,抽象层次一般,

3:对象图描述了具体的模块实现,抽象层次较低。

在有的文献书籍中,将这九种模型图分为三大类:

结构分类、动态行为和模型管理:

1:结构分类包括用例图、类图、对象图、构件图和部署图,

2:动态行为包括状态图、活动图、顺序图和协作图,

3:模型管理则包含类图。

画图说明

UML(统一建模语言):是面向对象的可视化建模的一种语言。是数据库设计过程中,在E-R图(实体-联系图)的设计后的进一步建模。
UML中有3种构造块:事物、关系和图,事物是对模型中最具有代表性的成分的抽象;关系是把事物结合在一起;图聚集了相关的的事物。具体关系图标如下:

说明:
构件事物是名词,是模型的静态部分。
行为事物是动态部分,表示行为。
分组事物是组织部分。
注释事物是解释部分。

依赖:一个事物变化会引起另一个事物变化。
聚集:特殊的关联,描述整体与部分的组合关系。
泛化:是一种特殊与一般的关系,如子元素(特殊)与父元素(一般),箭头指向父元素。
实现:类元之间的关系,其中一个类元指定了由另一个类元保证执行的契约。一般用在接口和实现他们的类之间或用例和实现它们的协作之间。

UML提供9种视图:类图、对象图,用例图,序列图、协作图,状态图、活动图,构件图和部署图。

在UML系统开发中有三个主要的模型:

功能模型: 从用户的角度展示系统的功能,包括用例图。
对象模型: 采用对象,属性,操作,关联等概念展示系统的结构和基础,包括类图。
动态模型: 展现系统的内部行为。 包括序列图,活动图,状态图。

下面具体说明:

1.类图:描述一组对象、接口、协作等事物之间的关系。如下图(摘自网络):

注:#表示protected,+表示Public,-表示private

2.对象图:描述一组对象之间的关系,是具有具体属性值和行为的一个具体事物,其是类图中所建事物实例的静态快照,其与类图的主要区别是一个是抽象的,而对象图是具体的。如下图(摘自网络):

3.用例图:描述一组用例、参与者以及它们之间的关系,其展示的是该系统在它的外面环境中所提供的外部可见服务。如下图(摘自网络):

4.交互图:包括序列图(顺序图)和协作图,两者对应,顺序图是强调消息时间顺序,有对象生命线和控制焦点。协作图是强调接收和发送消息的对象的结构组织,有路径和顺序号。如下图(摘自网络):

序列图:

协作图:

5.状态图:展示了一个状态机,由状态、转换、事件和活动组成。强调事件行为的顺序。如下图(摘自网络):

6.活动图:是一种特殊的状态图,实现一个活动到另一个活动的流程。如下图(摘自网络):

7.构件图和部署图:构件图展示一组构件之间的组织和依赖关系,并以全局的模型展示出来。部署图是构件的配置及描述系统如何在硬件上部署。如下图(摘自网络):

四、系统分析工具

流程视图、功能视图、对象视图、任务/岗位视图等。

五、组织结构分析

通过组织结构分析,进行组织结构调查,便于绘制组织结构图。

其中包括的内容为:了解各部门职责、领导与被领导关系、信息资料传递(数据流向)、物资与资金流向等。

六、业务建模分析

通过业务建模分析,绘制管理业务流程图,从而真实反映活动发生及产生的数据。(业务流程图整体来看较为繁琐,主要用于详细业务流程中的关系,描述内部实体、外部实体、业务流、单据报表及账目的四者关系,因此此过程不适用于做业务优化。)

四种业务流程图图形符号:

备注:

第三部分UML九大类图摘自CSDN博客:https://blog.csdn.net/shierqu/article/details/4633995

原文地址:https://www.cnblogs.com/somedayLi/p/9074778.html

时间: 2024-11-04 16:57:15

结构化分析建模【课堂】的相关文章

个人总结

回想开学初对于软件工程这门课的期望,总结本课程对你带来的提升: 1.学习和使用的新软件 XAMPP:进行后台虚拟网站的运行及网站修复. mockplus:用这个软件进行原型界面的设计. Git bash :用这个软件将代码上传到coding. 2.学习和使用的新工具 git 3.学习和掌握的新语言.新平台 PHP用于设计时使用的网页脚本语言, Lintcode测试平台 4.统计一下,你在这软件工程实践中,完成了多少行的代码 因基础有限所以没有完成太多的代码编写 5.学习和掌握的新方法 文档的编写

需求说明书+软件概要设计+软件详细设计

<基于物联网的车内安防系统项目需求说明书+系统概要说明+系统详细说明> 队长:邢正080     队员:董冰068   许国庆079   张琦057   曹华058 ①需求说明书部分: 一.引言 1.编写目的 该需求说明书是“基于物联网的车内安防系统”开发中的重要文献资料,是软件设计的依据,是工程的起点,应是用户需求的真实反映.是开发人员进行系统总体按需设计内容及具体实施开发工程提供必要的参考资料,并且,在系统开发完成后期为系统的测试.验收提供帮助.其编写过程由项目的重要策划人完成.预期读者是

软件工程学习心得

学习了这门课程, 还有理论课与实习课,不但让我从理论上掌握软件工程,还有从不同的实例,让理论和实践得到了很好的结合.整一个学期下来,总的来说还是学到了很多东西的,有很多地方是值得肯定的,其实在我看来,软件工程与其说是一门课程,不如说是一门思想.是一个如何去分析和处理问题的过程,应该说其范畴已经远远不止局限于该门课程,成为了一个综合的一个能够解决问题的思想集合. 整本书的内容逻辑很清晰明了,由浅入深循序渐进,首先我就大概描述下我们所学的内容,第一章是从整体分析软件工程这门学科的发展和所处的社会环境

十张图分析软件工程与建模

2019-06-04  18:27:58 1.瀑布模型   传统软件方法学的软件过程,基本都可以用瀑布模型来描述. 与传统的瀑布模型相比,传统的模型没有每一阶段的验证,当后期发现错误时,则需要全部重头修改,消耗了大量人力物力.当前的瀑布模型每一阶段完成之后都要验证,保证每一阶段工作的准确性与高效性. 瀑布模型特点:必须等前一阶段的工作完成之后,才能进入下一个工作阶段. 在瀑布模型的每个阶段都应该坚持: (1)每个阶段都必须完成每个阶段规定的文档. (2)每个阶段结束前都要对所完成的文档进行评审,

课堂作业01

我们都了解过或在课堂上听说过软件体系架构师这一职业,对我们来说软件体系架构师是一个需要很多经验和技术的职业,也会是很多人奋斗的目标,那么什么是软件体系架构师以及软件体系架构师的职责是什么呢? 软件体系架构师是软件行业中一种新兴职业,是在一个软件项目开发过程中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发团队完成这个计划.主导系统全局分析设计和实施.负责软件构架和关键技术决策的人员,是一个最终确认和评估系统需求,给出开发规范,搭建系统实现的核心构架,并澄清技术细节

《需求工程-软件建模与分析》读书笔记2

随着学习的进行,我的阅读也在继续,在第一阶段读完<需求工程——软件建模与分析>的第一部分和第二部分后,在这几天里我阅读了这本书的第三部分需求分析,这部分是这本书的重点所在,同样在这部分的阅读中对我的帮助也是最大的. <需求工程——软件建模与分析>在需求分析这一部分分别介绍了需求分析概述.过程建模.数据建模.面向对象建模等知识,在阅读中我对这些知识做了简要的了解,在阅读中对我的帮助很大,了解到在软件工程中,需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的.范围.

《数据结构》课堂练习测验系统需求说明书

1引言... .........2 1.1编写目的... 2 1.2背景... 2 1.3定义... 2 1.4参考资料... 2 2任务概述... 2 2.1目标... 2 2.2用户的特点... 3 2.3假定和约束... 3 3需求规定... 3 3.1对功能的规定... 3 3.2对性能的规定... 3 3.2.1精度... 3 3.2.2时间特性要求... 3 3.2.3灵活性... 4 3.3输人输出要求... 4 3.4数据管理能力要求... 4 3.5故障处理要求... 4 3.

数学建模竞赛题目

建模意义 思考方法 数学建模是一种数学的思考方法,是运用数学的语言和方法,通过抽象.简化建立能近似刻画并"解决"实际问题的一种强有力的数学手段. 数学建模就是用数学语言描述实际现象的过程.这里的实际现象既包涵具体的自然现象比如自由落体现象,也包含抽象的现象比如顾客对某种商品所取的价值倾向.这里的描述不但包括外在形态,内在机制的描述,也包括预测,试验和解释实际现象等内容. 我们也可以这样直观地理解这个概念:数学建模是一个让纯粹数学家(指只研究数学而不管数学在实际中的应用的数学家)变成物理

《需求工程——软件建模与分析》读书笔记二

前一阵子,继续读了<需求工程——软件建模与分析>.之前了解了需求工程的概论和需求的捕获,分别讲了需求捕获中的困难.获取信息的方法和来源:学会分析项目的前景:确定系统边界:涉众分析与硬数据采集:在需求捕获时的方法:面谈,问卷调查,头脑风暴,原型,观察与文档审查: 这次读的主要是介绍需求分析和需求文档化和验证.其中介绍了需求分析技术,需求分析方法等:建模(过程建模,数据建模,面向对象建模):需求规格说明:需求验证. 经过这次读书,我发现需求获取的根本任务是:1.建立分析模型,达成开发者和用户对需求