面向对象的开发方法(总结)

4、系统开发方法与面向对象系统基础解析 本文深入解析了主流系统开发方法,包括Scrum、RAD、敏捷、结构化和原型法,对比其在需求明确性、技术熟悉度、系统复杂度、可靠性、时间和进度可见性等方面的适用性,并提供选择建议。文章还详细介绍了系统分析师的五大角色及其协同工作流程,涵盖业务、系统、基础设施、变更管理和项目管理职能。最后,全面阐述了面向对象系统的核心特征,如类与对象、方法与消息、封装、继承、多态和动态绑定,结合代码示例和图表帮助读者理解现代信息系统开发的关键理念与实践路径。 阅读详情

面向对象分为面向对象的分析(OOA),面向对象的设计(OOD)和面向对象的程序设计(OOP)。
OOA的是利用抽象构造问题的对象模型
OOD是设计对象和对象之间的关系,如层次和集成;对象之间的通信方式,例如消息。对OOA的结果进行细化,使其可以被OOP接收
OOP指对系统功能的编码

面向对象是当前主流的开发方法,拥有很多不同的分支体系,
如OMT(对象建模技术),OOSE(面向对象的软件工程)和booch方法所同意为的统一建模语言。除此之外,还有caod/yourdon方法
1、基本概念
对象,类。集成,封装,消息,多态。
在UML的通用机制中,包用于将元素组织承租,构件是系统中遵从一组接口规范且付诸实现的物理的,可替换的软件模块。
UML用关系把事务结合在一起,主要包括:依赖,关联,泛化, 实现
UML采用4+1视图来描述软件和软件开发过程

UML中的建模元素
UML中的事务也被称之为建模元素,包括:
结构事务:类,接口,协作(定义了交互操作),用例,活动类,构件和节点
行为事务:交互(消息,动作次序,连接),状态机
分组事务:只有包
注释事务

UML采用4+1视图来描述软件和软件开发过程
逻辑视图:以问题域的语汇组成的类和对象的集合
进程视图:逻辑视图的一次执行实例,描述了所设计的并发和同步结构
实现视图:对组成的物理代码文件进行建模
部署视图:把构建部署到一组物理上,可计算的节点上,表示软件和硬件的映射结构
用例视图:最简单需求分析模型
这里写图片描述
这里写图片描述
和下面讲的有如下对应关系
这里写图片描述
UML2.0中定义了14种图

静态模型建模图包括:
类图,构件图,对象图,组合结构图,部署图,包图

动态模型:
用例图,状态图,活动图,定时图,顺序图,通信图,交互概念图,制品图

类图:类图描述一组类,接口,写作和他们之间的关系,属于静态设计图
对象图:一组对象和他们之间的关系,描述了类图中所建立事务的实例的静态快照
这里写图片描述
构件图:描述了一个封装的类和他的接口端口,以及有内嵌的构件和连接件组成的内部结构。构件图是类图的变体
这里写图片描述
组合结构图:是一种静态视图,以结构化的方法给出类型的内部结构
这里写图片描述

用例图:描述一组用例,参与者和他们之间的关系

顺序图:是一种交互图,强调次序
这里写图片描述
通信图(协作图):也是一种交互图,强调对象和参与者的结构组织,顶视图和顺序图可以认为是同构的,既相互变换没有数据丢失
这里写图片描述
定时图:是一种交互图,强调消息跨越不同参与对象或者参与者的实际时间,而不仅仅关心消息的相对顺序。
这里写图片描述
状态图:描述了一组状态机,对系统行为进行组织建模
活动图:将进程展示位内部一步步的控制流和数据流。竖格被称之为泳道,表示吧这一组指定给每个负责这组活动的业务组织,即对象。活动图可以看做状态图的特殊情况,其状态是活动状态。对系统功能进行建模。
这里写图片描述
部署图:描述在运行时的处理节点和在节点中生存的构件的配置
这里写图片描述
制品图:制品包括文件,数据库,可执行程序,文档等。通常和部署图一起使用
包图:模型本身分解而成的组织单元,以及他们相互之间的依赖关系
这里写图片描述
交互概念图:是活动图和顺序图的混合物
这里写图片描述

常见模型如下
(1)用例模型:
用例图用来描述系统与外部系统用户之间的交互视图
用例模型中主要有包含关系,扩展关系,和泛化关系,下图中对其分别作了示例。用例图中有三种元素,分别是参与者,用例和通信关联(图中普通黑线)
参与者可以是人,也可以是其他系统,硬件设备,时钟
对于听力的命名,最好餐区动词短语和名词短语相连
这里写图片描述

(2)分析模型
类图用来描述系统的静态对象结构
首先应该定义概念类的选取,然后确定类和类之间的关系。
类之间的关系主要有关联关系,依赖关系,泛化关系,聚合关系,组合关系,实现关系等等
分别如下图所示:
泛化关系:
泛化关系
依赖关系
这里写图片描述
是一种比较弱的依赖关系,反映在代码中,比如说一个类向另一个类发送消息,一个类是另一个类的数据成员,一个类是另一个类中某个方法的操作参数等
关联关系
这里写图片描述
是一种强依赖关系,反映在代码中,比如说类B的对象是类A的数据成员。或者类A中的方法中使用了作为全局变量的类B的对象
聚合关系
这里写图片描述
聚合关系是关联关系的特例,体现整体与部分的关系
组合关系
这里写图片描述
组合关系是关联关系的特例,是一种更强聚合关系,两者是不可分割的
实现关系
这里写图片描述
就是类实现接口

2、面向对象的分析方法
一般在软件需求工程中完成,面向对象分析中类分为三种类。
边界类:对外部系统环境和内部交互进行建模
控制类:对控制行为进行建模,多用来实现业务逻辑
实体类:存储信息和对相关行为进行建模

3、面向对象的设计
一般在系统设计中完后才能
一般包括实体类,软件类和边界类
设计原则有:
开闭原则:软件实体应该对扩展开放,对修改关闭,即尽量在不修改原有代码的情况
里氏替换原则:如果使用基类对象满足要求,那么使用子类一定也可以
依赖导致原则:抽象不应该依赖于细节,细节应该依赖于抽象,对接口编程,而不是对实现编程,当程序代码在中传递参数时,或者在使用组合或者聚合关系是,尽量使用层次更高的抽象了
组合/聚合复用原则:尽量使用组合和聚合的关系来使用一些原有的对象,使之成为新对象的一部分
接口隔离原则:使用多个专门的接口,而不是单一的总接口
最少知识原则(迪米特法则):软件尽可能的减少和其他实体的相互作用。

4、面向对象测试
OO方法将开发分为OOA,OOD,OOP,测试亦可以分为OOA测试,OOD测试,OOP测试
OOA测试:,分别测试分析模型是否满足软件的需求,以及分析模型是否满足OO方法要求
OOD测试:从设计模型本身,设计模型和分析模型的一致性,设计模型对编程的支持等方面测试。以上两种测试主要用文档审查的方式来完成
OOP测试:也分为单元测试和集成测试
整个面向对象的测试层次可以分为四层
算法层,测试大哥算法:相当于传统的单元测试
当个对象类:类层
测试对象集群,测试一组协同工作类之间的相互作用:模板层
测试整个面向对象系统:系统层

(1)面向对象系统的单元测试:
方法层次的测试:等价类划分测试,组合功能测试,递归函数测试,多态消息测试
类层次的测试:不变式边界测试和模态测试和非模态测试
类树层次的测试:多态服务测试和展评测试

(2)面向对象系统的集成测试
可以采用传统的大突击测试,自底向上和自顶向下集成,夹层式集成。
协作集成:针对系统已经完成的功能,将相互协作完成特定功能的类一起测试
基于使用的集成:先测试那些基本上不依赖其他类的类,在逐步测试依赖较多的类
类之间的连接性测试:如:类的关联的多重性测试,受控异常测试,往返场景测试,模态机测试。

【python】import pandas as pd用法 是 Python 里最常用的数据分析库之一。 的意思是:导入 pandas 库,并给它起个别名 。这样用起来更简洁: 下面总结 pandas 的常见用法(配例子)。目录🔹 1. 数据结构(1) Series(一维数据,类似于数组 + 标签)(2) DataFrame(二维数据表,类似于 Excel 表格)🔹 2. 数据读写🔹 3. 数据查看🔹 4. 数据选择与索引🔹 5. 数据清洗🔹 6. 数据运算🔹 7. 数据筛选(布尔索引)🔹 8. 分组与聚合🔹 9. 排序 Pandas 常用方 阅读详情

相关推荐

PG-FP6编程器错误代码解析与高效排障实战指南

在嵌入式系统开发与量产烧录中,编程器是连接开发环境与目标硬件的重要桥梁。其工作原理是通过特定的通信协议(如UART、SWD)与微控制器(MCU)建立连接,完成程序代码的写入、擦除与校验。这项技术的核心价值在于确保固件能够准确、可靠地部署到硬件中,是产品从原型到量产的关键环节。在实际的工程实践中,尤其是在使用瑞萨(Renesas)PG-FP6这类编程器进行调试或批量生产时,工程师常会遇到各种通信失败、编程验证错误或电源异常等问题,这些问题往往以特定的错误代码形式呈现。深入理解这些错误代码背后的硬件连接、电源时

weixin_34387468的博客 580

【软件工程】面向对象开发全面总结

面向对象的含义、原则、方法

杰西笔记 1797

企业信息化系统的组成模块-核心业务系统

通过标准化的数据流形成完整的业务闭环,CRM生成的销售订单驱动ERP的生产和采购,ERP将生产计划传递给MES执行,MES报工数据返回ERP进行成本核算,ERP再将交付信息同步给CRM供客户查询。生产管理确保高效交付,缩短订单周期。某贸易公司实施ERP供应链模块后,库存周转率从每年4次提升到8次,库存资金占用从2000万降到1200万,释放800万现金流,同时缺货率从15%降到5%。│ │库存 │ │ MRP │ │ ERP │ │ 云ERP/ │ │。

weiyvyy的博客 694

面向对象开发方法

系统架构师、软考、软考高级

犇叔的博客 3110

2025年三级等保新规实战:从零开始搭建企业安全防护体系(附完整配置清单)

本文详细解析2025年三级等保新规的核心变化,提供从零开始搭建企业安全防护体系的实战指南。重点介绍动态防护能力、实战化攻防验证和全链路数据保护等关键要求,并附完整配置清单,帮助企业高效合规。

weixin_30836759的博客 468

KEIL5编译报错L6200E:__stdout重定义问题分析与解决

本文深入分析KEIL5编译报错L6200E中__stdout重定义问题的根源,指出因未完整定义__stderr导致与标准库stdio_streams.o冲突。提供完整重定义标准流、启用MicroLIB库等解决方案,帮助开发者彻底解决Symbol multiply defined错误,提升嵌入式开发效率。

uran的专栏 954

面向对象的开发方法

面向对象方法的基本出发点就是尽可能地按照人类认识世界的方法和思维方式来分析和解决 问题。面向对象的方法以对象作为最基本得元素,它是分析问题、解决问题的核心。计算机 实现的对象与真实世界具有一一对应的关系。

Code365 1920

基于STM32设计的智能防盗单车锁_349

本设计基于STM32F103RCT6单片机,研制了一种适用于户外环境的智能防盗单车锁系统。系统集成了GPS定位模块、ADXL345加速度传感器、4G通信模块(Air780E)、OLED显示屏、继电器模拟锁控模块等硬件,通过姿态感知实现车辆异常移动检测,在锁车状态下自动触发蜂鸣器报警并通过短信与APP通知用户。

866

结构化开发方法vs面向对象开发方法

众所周知,在目前的软件开发领域存在两种比较主流的开发方法:结构化开发方法和面向对象开发方法。早期的C,Pascal和Basic等都是结构化的编程语言,而像C++,Java,C#和Ruby则属于面向对象的范畴。 1.结构化设计方法 所谓结构化程序设计方法主张把软件系统按功能(对应结构化程序中的最小单元函数)进行逐步的细分,因此也被称为面向功能的程序设计方法。这种设计方法的每个功能都负责都数据进行

cruise技术博客 9002

宇瞳杯安防镜头设计

宇瞳杯安防镜头设计

weixin_72050316的博客 1516

从 VS Code 创建 ABAP Development Objects,包、命名、传输请求和 Clean Core 的一条线打通

文章摘要: SAP ABAP开发工具正从传统SAP GUI/Eclipse向VS Code迁移,通过ABAP Development Tools扩展实现代码编辑、调试和传输管理。文章重点分析了创建ABAP对象背后的治理逻辑:1)对象创建涉及包结构、命名规范、传输层等关键设计决策;2)VS Code通过命令面板(Ctrl+Shift+P)提供统一创建入口;3)对象类型选择反映架构意图,应从业务模型角度规划;4)Package是重要的治理边界,需按业务能力分区;5)命名和描述需体现业务语义;6)传输请求标记对象

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 173

面向对象常见的4种开发方法

<br />目前,面向对象开发方法的研究已日趋成熟,国际上已有不少面向对象产品出现。面向对象开发方法有Coad方法、Booch方法和OMT方法等。   <br /><br />1.Booch方法   <br /><br />Booch最先描述了面向对象的软件开发方法的基础问题,指出面向对象开发是一种根本不同于传统的功能分解的设计方法。面向对象的软件分解更接近人对客观事务的理解,而功能分解只通过问题空间的转换来获得。   <br /><br />2.Coad方法   <br /><br />Coad方法是19

笔者从事电信媒体开发多年,愿意将多年的开发经验分享给同行 8210

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

几种典型的面向对象开发方法

摘 要 自80年代后期以来,相继出现了多种面向对象开发方法,文章主要介绍了其中六种典型的面向对象开发方法,并对它们进行了比较。UML的出现意味着开发方法统一化、标准化的新发展,标志着软件自动化的进程又迈进了一步。关键字 面向对象开发方法 典型 比较 一、引言随着计算机科学的发展和应用领域的不断扩大,对计算机技术的要求越来越高。特别是当计算机硬件有了飞速发展之后,各种应用领域对软件提

苏的博客 1万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

80、面向对象开发方法

面向对象开发方法通过对象、类、封装、继承和多态等机制,提供了一种高效、灵活的软件开发方式。它尤其适合复杂系统的设计,但需合理应用设计原则以避免过度复杂化。在实际项目中,常与其他方法(如函数式编程)结合使用,以发挥各自优势。

qq_27678663的博客 858

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

结构化开发方法&面向对象开发方法

结构化开发方法和面向对象开发方法之比较: 结构化方法是一种基于如下概念的开发策略,即一个系统应该被划分为两个部分:数据和功能,且数据和加工数据的功能是分离的。而面向对象方法解决问题的思路是从现实世界中的客观对象(如人或事物)出发,尽量运用人类的思维方式(如抽象和分类)来构造软件系统。面向对象开发方法不是把系统定义为两个分离的部分(数据和功能),而是把它们定义为一组正在交互的对...

weixin_30808253的博客 544

结构化开发方法与面向对象开发方法的比较

结构化开发方法与面向对象开发方法的比较 我们百度软件开发方法,在百科中列举了8种软件开发方法,而其中最为被广泛使用的就是结构化开发方法和面向对象开发方法,这二者也是被人们讨论的最多的。在这篇博客中,我们将介绍这两种开发方法并且将二者进行比较。 结构化开发方法 结构化方法(SD方法)是一种传统的软件开发方法,它是由结构化分析、结构化设计和结构化程序设计三部分有机组合而成的。它的基本思想...

weixin_30767921的博客 1517

面向对象开发方法-发现对象步骤总结

面向对象开发方法总结步骤:1、从需求中寻找对象2、从需求中寻找对象的属性(认真仔细读需求有助于从问题域中发现属性,这个步骤和自己的经验有直接关系)3、从需求中捕获对象应该提供的服务。4、分析服务由哪些具体的动作组合而成。5、将对象进行归纳分组,发现对象的共同点进行抽象。6、如果问题域关系复杂,要结合用例进行清晰化,结合用例再进行1~4步。

曲径通幽,冥思致远 2006

java八股文之第零篇:结构化开发方法、面向对象开发方法、编译型语言、解释性语言

前期知识 结构化开发方法和面向对象开发方法  软件开发方法指在项目投资规模和时间限制内,设计、实现符合用户需求的高质量软件,根据软件开发的特点,提出的多种软件开发策略。结构化方法和面向对象方法都是计算技术中常用的软件开发方法,两种开发方法各有利弊,选择哪一种方法要根据分析者的熟练程度和项目的具体类型而定。 结构化开发方法  结构化开发方法是一种传统的软件开发方法,用系统工程的思想和工程化的方法,按用户至上的原则,结构化、模块化、自顶向下地对系统进行分析和设计。结构化开发方法又称生命周期法

rs_gis的博客 633

软件工程——快速掌握面向对象开发方法

在《软件工程——快速掌握结构化开发方法》一文中,我们讲述了如何用结构化开发方法开发一个简单的项目案例,并重点讨论了在结构化分析和结构化设计阶段使用事件、数据流图模型、数据字典、ER模型、结构图模型完成项目的分析与设计的整个过程。 在结构化开发方法中,利用数据流图模型对系统进行层层分解,将一个大的系统分解为多个程序模块,数据流图中需要存储的信息通过ER图建立数据模型,其功能模型和数据模型是分离的,...

smilejiasmile的博客 1099

面向对象的开发方法(Object Oriented,OO)

面向对象的开发方法(Object Oriented,OO)认为是好文章吧,拿来与大家分享一下(转载) 现在每个程序员都会说:OO思想,OO开发,呵呵,是真的理解了嘛?看看下面的文章就知道啦。。。 面向对象的开发方法(Object Oriented,OO) 从事软件开发的工程师们常常有这样 的体会:在软件开发过程中,使用者会不断地提出各种更改要求,即使在软...

anku0825的博客 884
上一篇: RADIUS协议
下一篇: 设计模式(总结)---创建型设计模式
define_us
博客等级 码龄14年 157粉丝 531原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值