UML——概述

一、概述

软件危机:指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。

软件工程:一门研究工程化方法构建合维护有效的、实用的和高质量的软件的学科。

软件工程目的:在规定的时间、规定的开发费用内开发出满足用户需求的高质量(错误率低、好用、易用、可移植、易维护)的软件系统。

软件与硬件的差别体现在:表现形式、生产方式、产品要求、维护方式。

软件的固有复杂性:软件的复杂性是固有的,即不能采用某种方法彻底消除软件的复杂性,因此软件危机只能是通过控制复杂性的方法解决。软件的固有复杂性是的开发成员之间的通讯变得困难、开发费用超支、开发时间延期等、也导致产品有缺陷、不易理解、 不可靠、难以使用、功能难以扩充等。

 控制软件复杂性的基本方法:

  1. 分解——对复杂的系统采用“各个击破”的策略。
  2. 抽象——抽取系统中的基本特性而忽略非基本的部分。
  3. 模块化——高内聚(在一个模块中应尽量多地汇集逻辑上相关地计算资源)、低耦合(模块间的相互作用应尽量少)。
  4. 封装(信息隐蔽)——模块内部的实现细节与外界隔离。

二、面向对象技术(object-oriented)

基本思想:对问题进行自然分割,以更接近人类思维的方式建立问题模型,从而使设计出来的软件尽可能直接地描述现实世界,具有更好的可维护性,能适应用户需求的变化。

对象(object):行动或思考时作为目标的人或事物对象。是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象是由一组属性和对这组属性进行操作的一组操作(方法)组成。属性操作合起来被称为特征

类:是具有相同属性和方法的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性方法两个主要部分。对象是类的一个实例,类是用来创建对象的模板。

继承(Inheritance):子类的对象拥有其父类全部的属性与方法,称作子类对父类的继承。

多态性:不同的类中可以有同名的操作,每个类中发生的操作各不相同。

封装(信息隐蔽):把对象的属性和方法接和成一个独立的系统单位,并尽可能隐蔽对象的内部细节。在外调用则使用接口(interface)。

消息传递(message transform):消息是向对象发除的服务请求,包含:提供服务的对象标识、服务(方法)标识、输入信息和回答信息。对象之间的协作是通过相互发送消息。

聚集(aggregation):一个系统由许多不同类型的对象组合而成。

组成(composition):特殊的聚集。在组成体中,部分题可能会先于组成体消亡,如果组成体被销毁,则部分体随组成体一同被销毁。

 

       

               

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值