软工视频(27~32)-面向对象技术

这次主要说面向对象技术,面向对象,在之前就已经接触过,那么这里我来比对着学习一下。

大道至简,其实面向对象讲来讲去就这两样东西,一是它是什么,二就是它是怎么来的。

一、先说它是什么吧,也就是他的概念。这里我想先回忆一下之前学到的这些东西。首先是VB,它主要是面向过程,面向对象的东西并不多。C++呢,面向对象这一块还是非常重要的,不管是学习还是考试,这都是一个重点。基本上一提到面向对象,那就是对象、类、继承、多态、封装。再来看看我们软工中说到的面向对象:

面向对象=对象+类+继承+通信。 在说这个的时候,咱可以先看看之前学过的知识《C++程序设计(8)之类和对象》(还等什么,赶快点击吧!!!)。咱就说不同的地方,对象,VB中对象都有什么啊,属性和方法(包括事件)。在这里我们看看对象啊,属性不变,多了一个操作(又称为方法或服务),那不还是我们所说的方法吗!类如果没序号的话,这里再学一遍,很多对象把他们的主要共同特征找出来,就构成了一个类。类也有属性,不过那叫数据属性,它也不少操作。继承都是老知识点了就不说了。真正眼前一亮的是消息,貌似之前没见到过,现在见也不晚。想想也知道,通信肯定是对象与对象间的,跑不了别人。

二、再来说它是怎么来的,也就是它的开发过程。好比盖楼,首先你得想在哪盖,地基行不行,此谓分析。然后你得想盖几层的,盖什么风格的,此谓设计。然后就开始实施动工,此谓实现。盖完了,你不得检查一下啊,盖得怎么样,坚固程度如何,此谓测试。我们具体点来说。

1、分析:我们分析时收集的信息需要记录下来吧,那么在软工中,它怎么来记录呢,用了三个模型。做什么、何时做、对谁做分别对应了功能模型、动态模型和对象模型。怎么理解呢,功能模型它通过计算,从输入数据能得到什么样的输出,而动态模型的状态图和事件追踪图(前者针对一个对象,后者针对很多对象)都表明了他是按什么时序执行的,而对象模型就是描述一下“谁”,他们是类和对象以及他们的属性和操作,之间的联系。这里说明一下。类和类之间的关系叫关联,包括整体和部分,称聚合;根据一样东西来限定,称限定;通过角色间的关系进行关联,称角色。

这里出现了一个概念叫OOA,是面向对象的分析。在这里主要分析得是它概念模型的五个层次:类与对象、属性、服务、结构和主题。

(1)类和对象层是基础,如何建立基本块。

(2)属性层不仅是对象的属性,还有实例连接。

(3)服务层也不仅是对象的服务吗,还有对象实例之间的消息通信

(4)结构层当然是描绘结构的。它有一种结构泛华-特化结构表明了类的继承性。还有一个整体-部分结构。

(5)主题表示模型的整体框架。

2、设计:又是一个新词,OOD,就是面向对象设计。包含两个设计,高层设计和类设计。

主要讲高层设计。它听起来挺高大尚的,其实就是构造软件的总体模型。设计时当然要使通信量最低,独立性强,识别性强。设计方法有四种。问题论域部分,主要针对执行基本功能的对象对象;人机交互部分针对界面;任务管理部分针对操作系统;数据管理部分针对与数据库技术接口对象。细讲一下第三种设计方法:

用户界面的设计。既然是人机交互,那肯定有人啊,首先得分类用户,描述人及其任务的脚本,当然还要设计命令层,设计详细的交互。一般使用快速原型工具让用户使用,根据用户反馈来修改完善。之后就是设计人机交互(HTC)类。

三、实现与测试:实现的核心是类的实现。类封装了基本所有的数据。然后就是测试了,前面刚学过,这里简单一提。单元测试,又叫类测试,这很容易理解,测试的对象肯定是封装了的类或对象。然后就是组装测试,可以基于线索也可以基于应用进行测试,最后就是确认测试了。

总结:面向对象这一块的知识框架是庞大的,那怎么样才能很好地理解并掌握呢!第一,首先把以前学过的有关的东西拿过来用,需要学习的东西就少了很多;第二,先宏观把控,再进行细化。这样每个知识点你都知道讲的什么,就算遇到难以理解的,你也知道了它的范畴,有了一个大致的印象。

时间: 2024-10-07 13:48:12

软工视频(27~32)-面向对象技术的相关文章

【软工视频】维护

对于一个系统或软件来说,最难得部分不是软件开发阶段,而是维护阶段.下面一张图,让我们认识到维护的重要性! 由上图可知,维护在软件生存期所占的比例在70%以上..  困难 1.理解别人写的程序困难,困难程度软件配置成分减少而迅速增加(之前的博客<[软工视频]测试>中已写过软件配置) 2.要维护的软件往往没有合适的文档或资料不全 3.绝大多数软件设计时没有考虑将来的修改 4.维护不是一项吸引人的工作 5.软件人员经常流动,维护不能依靠原开发人员 6.追踪软件的建立过程非常困难,或根本做不到 流程

(软工视频总结一)让我们把知识连起来

我们学习的知识都是有关系的,我们不能把一些的新的东西都要放进自己的脑子里,而是将自己知道的知识拿出来,和书上的对应-- 我们大多数都参加了<信息系统开发与管理>这一门自考,其实想想,软件工程和信管真的很像,所以说软工对于我们来说并不是一项新的内容,而是我们熟悉的. 软工视频首先就纠正了我们一个误区:软件不单纯是一个程序,而是程序.数据和相关文档的完整集合.由于多数开发人员只重视开发,不重视维护,所以导致软件在开发和维护过程中遇到了一系列严重问题,称此为软件危机,表现为产品不符合用户的实际需要.

【软工视频】软件、软件工程

现在正在学习软工视频,总结了一下什么是软件和软件工程的由来. 看到这张图,"软件"这个模糊的玩意儿就在我的大脑里异常清晰起来,so easy!我就不多说些什么了.. 软件的开发是一段历史,分别经历了程序设计.系统设计和软件工程.软工技术的发展,源于软件危机,可以说是软件危机敲开了软件工程的大门.. 看到这张图,我也没什么好说的,很清晰,也不值得写什么了,足矣!!大家可能会发现,红色的字体看不清,没关系,那不是重点.. 重点是软件工程的三要素:开发方法.工具和过程.它们三个共同构成了软件

【软工视频】软件、软件project

如今正在学习软工视频,总结了一下什么是软件和软件project的由来. 看到这张图,"软件"这个模糊的玩意儿就在我的大脑里异常清晰起来,so easy.我就不多说些什么了. . 软件的开发是一段历史.分别经历了程序设计.系统设计和软件project. 软工技术的发展,源于软件危机,能够说是软件危机敲开了软件project的大门.. 看到这张图.我也没什么好说的,非常清晰.也不值得写什么了,足矣! ! 大家可能会发现,红色的字体看不清,没关系,那不是重点. . 重点是软件project的

【软工视频】软件开发方法与模型

这篇博客将软件开发方法与模型一起写,是想给它们进行比较,分析它们的不同.. 开发方法 通过看自己的软工视频和查阅百度百科,发现软件的开发方法有很多种,下面是我在百度百科上的截图: 就目前而言,我需要学习的是结构化开发方法(SASD).面向数据结构开发方法和面向对象的开发方法.由于面向数据结构和面向对象的开发方法没有进行系统的学习,所以我现在要写结构化开发方法.结构化开发方法也会贯穿[软件视频]这一系列博客,希望大家给我指正! SASD是面向数据流的开发方法,下面一张图是我对它的总结: 感觉自己的

(软工视频总结)之软件维护和用户界面设计

软件维护是软件开发中的最后阶段,也是最长的阶段,不能小觑呀!软件维护所花费的人力.物力和财力在软件开发周期中占很大部分. 软件维护说白了就是一个在软件投入使用后,为了满足用户的新需求或者发现的新漏洞而对软件进行修改的过程. 软件维护的目的是:1.修改错误.2.增加软件的功能和性能.3.使软件更适应时代,使用寿命延长.4.让软件能更好的为人民服务. 软件维护的类型包括:1.适应性维护 2.完善性维护 3.改正性维护 适应性维护是为了适应发展,使软件适应外部的各种条件及环境的改变而做出的相应的修改.

“软工视频”第三章总结

"当我们做一个项目时,可能客户口头告诉你他想要做一个什么东西,或者给了你一些文档告诉你这就是需求.就根据几句口头讲述,或者一些文档,很难知道到底具体需要做什么.这时候就要对需求进行挖掘,以得到功能列表,或者用例图,并作出软件需求分析."这段话我觉得虽然直白,但是确实是把软件需求分析说的很清晰.下面是我对第三章理解的思维导图:   其实这一章视频就讲了两个方面:一任务过程:二是分析方法.它们的结果都是为了一个文档,就是软件需求规格说明书. 一.任务和过程 1. 任务 1)认清问题,分析资

软工视频再识

前一段时间已经对视频刚开始的一段做了一个总结,最近一直忙着自考视频进度有点慢,现在才做总结.每一章只有总结才能有收获要不然感觉跟没有看差不多,总结让我把知识串成一串珍珠. 第四.五章讲的面向过程的设计方法,从工程管理的角度分为概要设计和详细设计,概要设计是在总体设计的基础上对系统总体结构的细化,将系统分为很多的子系统和模块,就好像我们要爬上一样,一看这么高的上,就感觉很恐惧,但我们可以把它分成若干段,然后就是再分为每一小节,这样当到达山顶的时候就会特别有成就感.我们设计系统先进行概要设计分为多个

“软工视频”第二章总结

第二章在视频里只有两讲,感觉就是说了两个文档--可行性研究报告和软件计划书.下面是我画的思维导图: 一.可行性研究 任何的软件都会受到内部外部环境的各种限制,所以在做软件计划之前先要进行可行性研究(简单的说就是先研究下限制条件).视频中把可行性研究主要分为经济,技术,操作,法律和时间可行性. 1.可行性 1)经济可行性 在经济可行性中,主要讲了软件价格评估的方法和成本/效益分析.因为经济可行性主要是通过开发成本的估算和对取得效益评估来判断是否值得开发. 软件价格估计方法 影响因素 模型(参数化算