面向对象分析与设计

软件工程名词解析

瘦欲@ 提交于 2019-11-30 04:40:59
软件 软件是计算机系统中与硬件相互依存的部分,它是包括程序、数据及相关文档的完整集合。 软件危机 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 软件工程 软件工程是研究和应用如何以系统化的、规范的、可度量的方法去开发、运行和维护软件,即把工程化应用到软件上。 软件生存周期 软件生存周期是指软件产品从考虑其概念开始到该软件产品交付使用,直至最终退役为止的整个过程,一般包括计划、分析、设计、实现、测试、集成、交付、维护等阶段。 软件复用 软件复用就是利用某些已开发的、对建立新系统有用的软件元素来生成新的软件系统。 质量 质量是产品或服务满足明确或隐含需求能力的特性和特征的集合。在合同环境下,需求是明确的;在其他环境下,隐含的需求需要识别和定义。 质量策划 质量策划包括产品策划、管理和作业策划,以及质量计划的编制和质量改进的准备工作。 质量改进 质量改进是以最求最高的效益和效率为目标的持续性活动。 质量控制 质量控制是对流程和产品的符合性的评估,独立分析不足并予以更正使得产品与需求相符。 质量保证 质量保证是有计划的和系统性的活动,它对部件或产品满足确定的技术需求提供足够的信心。 软件质量 软件质量是指明确声明的功能和性能需求、明确文档化的开发标准、以及专业人员开发的软件所具有的所有隐含特征都得到满足。 正式技术复审

面向对象与面向过程的本质的区别--转载

亡梦爱人 提交于 2019-11-30 04:39:01
面向对象与面向过程的本质的区别 置顶 2018年01月10日 20:19:04 十四期_李光 阅读数 77423更多 分类专栏: 软件工程 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/jerry11112/article/details/79027834 前言: 如果你很想搞明白面向对象是什么,面向过程是什么,或者说二者之间的区别是什么,那么就花费一点时间来研读一下这篇博客,你一定会有很大的收获的! 一、面向对象与面向过程的区别 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。 可以拿生活中的实例来理解面向过程与面向对象,例如五子棋,面向过程的设计思路就是首先分析问题的步骤:1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回步骤2,9、输出最后结果。把上面每个步骤用不同的方法来实现。 如果是面向对象的设计思想来解决问题。面向对象的设计则是从另外的思路来解决问题。整个五子棋可以分为1、黑白双方,这两方的行为是一模一样的,2

面向对象———类

萝らか妹 提交于 2019-11-30 04:22:28
面向对象与面向过程 和面向接口 面向过程 就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。 面向对象 是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。 面向接口编程 本身是面向对象编程思想所提倡的一种编程规范。因为它能够最大限度的解耦,所谓解耦既是解耦合的意思,它和耦合相对。耦合就是联系,耦合越强,联系越紧密。在程序中紧密的联系并不是一件好的事情,因为两种事物之间联系越紧密,你更换其中之一的难度就越大,扩展功能和 debug 的难度也就越大 面向对象分析方法分析问题的思路和步骤 根据问题需要,选择问题所针对的现实世界中的实体。 从实体中寻找解决问题相关的属性和功能,这些属性和功能就形成了概念世界中的类。 把抽象的实体用计算机语言进行描述,形成计算机世界中类的定义。即借助某种程序语言,把类构造成计算机能够识别和处理的数据结构。 将类实例化成计算机世界中的对象。对象是计算机世界中解决问题的最终工具。 java 语言的基本元素:类和对象 java 语言的基本元素:类和对象 类 (class) 和对象 (object) 是面向对象的核心概念。 类 是对一类事物的描述,是抽象的、概念上的定义 类、抽象类、接口的区别 具体类 : 对现实世界某种事物的抽象定义 抽象类 :

OC1-OC面向对象新概念解释及其面向对象编程

牧云@^-^@ 提交于 2019-11-29 23:03:11
一.C语言主要是面向过程,OC中开始大量使用面向对象。对于在以后的问题中有了面向对象和面向过程两种思考模式。就五子棋而言,面向过程是具体操作步骤,设计思路就是首先分析问题的步骤:1、开始游戏 ,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘 制画面,7、判断输赢,8、返回步骤2,9、输出最后结果。把上面 每个步骤用分别的函数来实现,问题就解决了;面向对象是玩家,棋盘,规则这三个对象,比较宏观,面向对象的设计则是从另外的思路来解决问题。整个五子棋可以 分为 1、黑白双方,这两方的行为是一模一样的,2、棋盘系统,负 责绘制画面,3、规则系统,负责判定诸如犯规、输赢等。第一类对 象(玩家对象)负责接受用户输 入,并告知第二类对象(棋盘对象 )棋子布局的变化,棋盘对象接收到了棋子的i变化就要负责在屏幕 上面显示出这种变化,同时利用第三类对象(规则系统)来对 棋局 进行判定。 面向对象编程(Object-Oriented Progamming)的首字母缩写为OOP,这是一种常用的 编程技术,最初是为了编写模拟程序而开发的。 二.面向对象有三个概念类、对象、方法。类定义了事物中的属性和它的行为,对象是类的实例,方法是一个类能做的事情。 1、类(class)是一种表示对象类型的结构体,对象通 过它的类来获取自身的各种信息,尤其是执行每个操作都 需要运行的代码

Python面向对象编程——面向对象的软件开发

断了今生、忘了曾经 提交于 2019-11-29 21:58:12
Python面向对象编程——面向对象的软件开发 面向对象的软件开发 很多人在学完了python的class机制之后,遇到一个生产中的问题,还是会懵逼,这其实太正常了,因为任何程序的开发都是先设计后编程,python的class机制只不过是一种编程方式,如果你硬要拿着class去和你的问题死磕,变得更加懵逼都是分分钟的事,在以前,软件的开发相对简单,从任务的分析到编写程序,再到程序的调试,可以由一个人或一个小组去完成。但是随着软件规模的迅速增大,软件任意面临的问题十分复杂,需要考虑的因素太多,在一个软件中所产生的错误和隐藏的错误、未知的错误可能达到惊人的程度,这也不是在设计阶段就完全解决的。 所以软件的开发其实一整套规范,我们所学的只是其中的一小部分,一个完整的开发过程,需要明确每个阶段的任务,在保证一个阶段正确的前提下再进行下一个阶段的工作,称之为软件工程 面向对象的软件工程包括下面几个部分: 1、面向对象分析(object oriented analysis, OOA) 软件工程中的系统分析阶段,要求分析员和用户结合在一起,对用户的需求做出精确的分析和明确的表述,从大的方面解析软件系统应该做什么,而不是怎么去做。面向对象的分析要按照面向对象的概念和方法,在对任务的分析中,从客观存在的事物和事物之间的关系,归纳出有关的对象(对象的‘特征’和‘技能’)以及对象之间的联系

UML类之间的关系

依然范特西╮ 提交于 2019-11-29 17:22:10
统一建模语言简介 统一建模语言(Unified Modeling Language,UML)是用来设计软件蓝图的可视化建模语言,1997 年被国际对象管理组织(OMG)采纳为面向对象的建模语言的国际标准。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息。 统一建模语言能为软件开发的所有阶段提供模型化和可视化支持。而且融入了软件工程领域的新思想、新方法和新技术,使软件设计人员沟通更简明,进一步缩短了设计时间,减少开发成本。它的应用领域很宽,不仅适合于一般系统的开发,而且适合于并行与分布式系统的建模。 UML 从目标系统的不同角度出发,定义了用例图、类图、对象图、状态图、活动图、时序图、协作图、构件图、部署图等 9 种图。 本教程主要介绍软件 设计模式 中经常用到的类图,以及类之间的关系。另外,在实验部分将简单介绍 UML 建模工具的使用方法,当前业界使用最广泛的是 Rational Rose。使用 Umlet 的人也很多,它是一个轻量级的开源 UML 建模工具,简单实用,常用于小型软件系统的开发与设计。 类、接口和类图 1. 类 类(Class)是指具有相同属性、方法和关系的对象的抽象,它封装了数据和行为,是面向对象程序设计(OOP)的基础,具有封装性、继承性和多态性等三大特性。在 UML 中,类使用包含类名、属性和操作且带有分隔线的矩形来表示。 (1) 类名(Name

面向对象

生来就可爱ヽ(ⅴ<●) 提交于 2019-11-29 17:13:24
   面向对象 是 当今 主流 的一种 程序 设计 理念 和设计规范,它取代了早期的"结构化"过程设计开发技术,主张一切皆为 对象 ,程序以人的 思维模式 去 解决问题 。面向对像的程序是由类组成的,每个类包含对用户公开的特定功能部分和隐藏的实现部分。传统的结构化程序设计通过设计一系列的过程(即算法)来求解问题。这一些过程一旦被确定,就要开始考考虑 存储数据 的 方式 ,这就明确的表述了程序员的工作方式。但面相对像却调换了这个 顺序 ,它不必关心 数据对象 的具体实现,只要能满足用户的 需求 即可。面向对象有三个最基本的特性,即:封装,继承,多态。 封装(Encapsulation):   使用方法把类的数据隐藏起来,遵循了java 一切皆为对象的基本 概念 和 核心 思想,达成对类的封装,让普通 类型 上升为对象级;封装控制用户对类的修改和访问数据的程度,增强了程序的可维护性。 继承(Implementation): 发生在类和类 之间 ,可分为单继承和多层继承描述父子对象之间的血缘关系, 最终达到的目的是:一旦使用了继承,子类便获得了父类所有的成员(变量和方法),但是父类的私有的方法和属性不能被访问,父类的final成员不能被重写。 一旦使用了继承,父类的 实例 能指向派生类(子类)的引用。 多态(Multipart):   对象在运行期和编译期具有的两种状态

C++绪论

纵然是瞬间 提交于 2019-11-29 16:33:50
(服务器也不用来干什么,就维持着个博客,感觉浪费,所以迁移过来了) 知识点部分 软件 包括了使计算机运行所需的各种 程序 和相关的 文档资料 。 程序是指令的集和,而指令就是计算机可以识别的命令。 指令系统:一台计算机所能识别的所有指令的集合。 机器语言:计算机硬件系统可以识别的二进制指令组成的语言。 汇编语言:机器指令映射为一些可以被人读懂的助记符(ADD,SUB)。 汇编程序将汇编语言转换为机器语言。 高级语言:屏蔽了机器的细节,提高了语言的抽象层次,程序中可以采用具有一定含义得到数据命名和容易理解的执行语句。 面向对象:将客观事物看作具有属性和行为的对象,通过抽象找出同一类对象的共同属性(静态特征)和行为(动态特征)形成类。 优点:(1)代码重用(2)缩短软件开发周期(3)使得软件风格统一 结构化程序设计与面向对象的方法对比 结构化:自顶向下,逐步求精,其程序结构是按功能划分为若干个基本模块,模块直接形成树状结构,模块之间的关系尽可能简单,功能上独立,每个模块内部均是由顺序,选择,循环三种结构组成的,模块化的实现方法就是使用子程序。缺点:数据和数据处理过程分割为相互独立的实体,数据结构发生改变时,相关处理过程也要发生改变。 面向对象的方法:将数据和对数据的操作方法放在一起,作为一个相互依存,不可分割的整体—对象。对同类型对象抽象出其共性,形成类,类中的大多数数据

JavaScript 面向对象编程

℡╲_俬逩灬. 提交于 2019-11-29 05:01:59
面向对象介绍 什么是对象 Everything is object (万物皆对象) 对象到底是什么,我们可以从两次层次来理解。 (1) 对象是单个事物的抽象。 一本书、一辆汽车、一个人都可以是对象,一个数据库、一张网页、一个与远程服务器的连接也可以是对象。当实物被抽象成对象,实物之间的关系就变成了对象之间的关系,从而就可以模拟现实情况,针对对象进行编程。 (2) 对象是一个容器,封装了属性(property)和方法(method)。 属性是对象的状态,方法是对象的行为(完成某种任务)。比如,我们可以把动物抽象为animal对象,使用“属性”记录具体是那一种动物,使用“方法”表示动物的某种行为(奔跑、捕猎、休息等等)。 在实际开发中,对象是一个抽象的概念,可以将其简单理解为:数据集或功能集。 ECMAScript-262 把对象定义为:无序属性的集合,其属性可以包含基本值、对象或者函数。 严格来讲,这就相当于说对象是一组没有特定顺序的值。对象的每个属性或方法都有一个名字,而每个名字都 映射到一个值。 <p class="tip"> 提示:每个对象都是基于一个引用类型创建的,这些类型可以是系统内置的原生类型,也可以是开发人员自定义的类型。 </p> 什么是面向对象 面向对象不是新的东西,它只是过程式代码的一种高度封装,目的在于提高代码的开发效率和可维护性。 面向对象编程 ——

面向对象和面向过程的区别

ε祈祈猫儿з 提交于 2019-11-28 07:14:52
面向过程(pop)和面向对象(oop)是什么 pop(Process-oriented programming)的缩写,“面向过程”是一种是事件为中心的编程思想。就是分析出解决问题所需的步骤,然后用函数把这写步骤实现,并按顺序调用。 oop(Object Oriented Programming)的缩写面向对象:用线性的思维。与面向过程相辅相成。在软件开发过程中,宏观上,用面向对象来把握事物间复杂的关系,分析系统。微观上,仍然使用面向过程。”面向对象“是以“对象”为中心的编程思想。 举例说明 简单的举个例子:汽车发动、汽车到站。汽车启动是一个事件,汽车到站是另一个事件,面向过程编程(pop)的过程中我们关心的是事件,而不是汽车本身。针对上述两个事件,形成两个函数,之后依次调用。 对于面向对象(oop)来说,我们关心的是汽车这类对象,两个事件只是这类对象所具有的行为。而且对于这两个行为的顺序没有强制要求。 总结: 面向过程的思维方式是分析综合,面向对象的思维方式是构造。 可拓展性对比 简单来说:用面向过程(pop)的方法写出来的程序是一份蛋炒饭,而用面向对象写出来的程序是一份盖浇饭。所谓盖浇饭,就是在米饭上面浇上一份盖菜,你喜欢什么菜,你就浇上什么菜。我觉得这个比喻还是比较贴切的。蛋炒饭制作的细节,我不太清楚,因为我没当过厨师,也不会做饭