软件开发课程心得体会(课程开发培训心得)
本篇文章给大家谈谈软件开发课程心得体会,以及课程开发培训心得对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
软件工程就如何利用面向对象的软件开发方法来开发软件,谈自己的心得体会
随着计算机世界的高速发展,软件事业的增强,软件在我们生活中的运用随处都是,但软件业也因此兴起,但作为IT业内人士则考虑的不是这些问题,而是如何用一个好的软件开发方法去开发好一个软件。现在,在众多的软件开发方法中,选择了面向对象的的方法来谈谈我的个人见解。为什么要选它呢,因为这种方法在现在是最常用的一种,大多数的开发商都采用了面向对象的方法。
谈到面向对象,这方面的文章非常多。但是,明确地给出对象的定义或说明对象的定义的非常少——至少我现在还没有发现。其初,“面向对象”是专指在程序设计中采用封装、继承、抽象等设计方法。可是,这个定义显然不能再适合现在情况。面向对象的思想已经涉及到软件开发的各个方面。如,面向对象的分析(OOA,Object Oriented Analysis),面向对象的设计(OOD,Object Oriented Design)、以及我们经常说的面向对象的编程实现(OOP,Object Oriented Programming)。许多有关面向对象的文章都只是讲述在面向对象的开发中所需要注意的问题或所采用的比较好的设计方法。看这些文章只有真正懂得什么是对象,什么是面向对象,才能最大程度地对自己有所裨益。这一点,恐怕对初学者甚至是从事相关工作多年的人员也会对它们的概念模糊不清。
面向对象是当前计算机界关心的重点,它是90年代软件开发方法的主流。面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。
不论采用哪种方法来开发软件,分析的过程都是提取系统需求的过程。分析工作主要包括3项内容,这就是理解,表达和验证。首先,系统分析员通过用户及领域专家的充分交流,力求完全理解用户需求和该应用邻域中的关键性的背景知识,并用某种无二义性的方式把这种理解表达成文档资料。分析过程得出的最重要的文档资料是软件需求规格说明(在面向对象分析中,主要由对象模型,动态模型和功能模型组成)。
由于问题复杂,而且人与人之间的交流带有随意性和非形式化的特点,上述理解过程通常不能一次就达到理解的效果。因此,还必须进一步验证软件需求规格说明的正确性,完整性和有效性,如果发现了问题则进行修正。显然,需求分析过程是系统分析员与用户及领域专家反复交流和多次修正的过程。也就是说,理解和验证的过程通常交替进行,反复迭代,而且往往需要利用原型系统作为辅助工具。
面向对象分析(OOA)的关键是识别出问题域内的类与对象,并分析它们相互间的关系,最终建立起问题域的简洁,精确,可理解的正确模型。在用面向对象观点建立起的3种模型中,对象模型是最基本,最重要,最核心的。
下面我们来看看面向对象的开发方法。
一 .首相让我们来了解什么是面向对象:
(1)对象:对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。
(2)对象的状态和行为。
对象具有状态,一个对象用数据值来描述它的状态。
对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。
对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中
(3)类:具有相同或相似性质的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象。
类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。
类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。
(4)类的结构:在客观世界中有若干类,这些类之间有一定的结构关系。通常有两种主要的结构关系,即一般--具体结构关系,整体--部分结构关系。
①一般——具体结构称为分类结构,也可以说是“或”关系,或者是“is a”关系。
②整体——部分结构称为组装结构,它们之间的关系是一种“与”关系,或者是“has a”关系。
(5)消息和方法:对象之间进行通信的结构叫做消息。在对象的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息。发送一条消息至少要包括说明接受消息的对象名、发送给该对象的消息名(即对象名、方法名)。一般还要对参数加以说明,参数可以是认识该消息的对象所知道的变量名,或者是所有对象都知道的全局变量名。
二. 下面让我们来认识一下面向对象的特征和几大要素:
(1)对象唯一性。(2)分类性。(3)继承性。(4)多态性(多形性)
面向对象的要素:(1)抽象。 (2)封装性(信息隐藏)。(3)共享性
三. 面向对象和基于对象的区别:
很多人没有区分“面向对象”和“基于对象”两个不同的概念。面向对象的三大特点(封装,继承,多态)却一不可。通常“基于对象”是使用对象,但是无法利用现有的对象模板产生新的对象类型,继而产生新的对象,也就是说“基于对象”没有继承的特点。而“多态”表示为父类类型的子类对象实例,没有了继承的概念也就无从谈论“多态”。现在的很多流行技术都是基于对象的,它们使用一些封装好的对象,调用对象的方法,设置对象的属性。但是它们无法让程序员派生新对象类型。他们只能使用现有对象的方法和属性。所以当你判断一个新的技术是否是面向对象的时候,通常可以使用后两个特性来加以判断。“面向对象”和“基于对象” 都实现了“封装”的概念,但是面向对象实现了“继承和多态”,而“基于对象”没有实现这些,的确很饶口。
从事面向对象编程的人按照分工来说,可以分为“类库的创建者”和“类库的使用者”。使用类库的人并不都是具备了面向对象思想的人,通常知道如何继承和派生新对象就可以使用类库了,然而我们的思维并没有真正的转过来,使用类库只是在形式上是面向对象,而实质上只是库函数的一种扩展。
面向对象是一种思想,是我们考虑事情的方法,通常表现为我们是将问题的解决按照过程方式来解决呢,还是将问题抽象为一个对象来解决它。很多情况下,我们会不知不觉的按照过程方式来解决它,而不是考虑将要解决问题抽象为对象去解决它。有些人打着面向对象的幌子,干着过程编程的勾当。
在对面向对象方法学有了一定的理解后,我们可以知道,面向对象方法学的出发点和根本原则,是尽量可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,也就是使描述问题的问题空间(也称为问题域)与实现解决的解空间(也称为求解域)在结构上尽可能一致。
四 .面向对象方法学和传统方法学较之有了很大的优点:
1.它与人习惯的思维方法一致。
传统的程序设计技术是面向过程的设计方法,这种方法以计算为中心,把数据和过程作为相互独立的部分,数据代表问题空间中的客体,程序代码则用于处理这些数据。而面向对象的方法学是以对象为核心,用这种技术开发出的软件系统由对象组成的。
2.稳定性好。
传统的软件开发方法以计算法为核心,开发过程基于功能分析和功能分解,所以它很不稳定。而面向对象的方法学是基于构造问题邻域的对象模型,以对象为中心构造软件系统,它的基本做法是对象模拟问题邻域中的实体,以对象间的联系刻画实体间的联系。由于现实世界中的实体是相对稳定的,因此,以对象为中心构造的软件系统也是比较稳定的。
3.可重用性好。
传统的软件重用技术是利用标准函数库,也就是试图用标准函数库中的函数作为“预制件”来建造新的软件系统,但是,标准函数缺乏必要的“柔性”,不能适应不同应用场合的不同需要,并不时理想的可重用的软件成分。而在实际开发一个新的软件系统时,通常多数函数是开发者自己编写的,甚至绝大多数的函数都是新编的。
面向对象的软件技术在利用可用的软件成分构造新的软件系统时,有很大的灵活性。它有两种方法可以重复使用一个对象类:一种方法是创建该类的实例,从而直接使用它,另一种方法是从它派生出一个满足当前需要的新类。它所实现的重用性是自然的和准确的,不像传统的方法是刻意的。
4.较易开发大型软件产品。
在开发大型软件产品时,组织开发人员的方法不恰当往往是出现问题的主要原因。用面向对象方法学时,构成软件系统的每一个对象就像一个微型程序,有自己的数据,操作,功能和用途,因此,可以把一个大型软件产品分解成一系列本质上相互独立的向产品来处理,故它比较容易开发大型软件。
5.可维护性好。
用传统的方法和面向过程语言开发出来的软件很难维护,然而面向对象的方法由于存在下面几种原因故维护性好。
因素:面向对象的软件稳定性比较好。
面向对象的软件比较容易修改。
面向对象的软件比较容易理解。
面向对象的软件易于测试和调试。
最后:
目前,面向对象开发方法的研究已日趋成熟,国际上已,有不少面向对象产品出现。我相信这种方法在不断地完善下不仅现在适用,就算再将来,它也会被相当多的开发商使用的。
软件开发心得体会
计算机软件工程专业的学生,要想在以后的职业中崭露头角,除了要有过硬的理论知识,健康的体魄外,还必须具备良好的心理素质,使自己在以后的途中无论经历什么样的困难,都立于不败之地。
急求 软件工程 课程设计心得体会
在整个项目开发过程中,我们也同时遇到了许多程序接口问题,页面和功能相结合的问题,数据库建表的问题,这些问题都是源于我们项目小组成员之间的沟通不足。我深刻认识到,在项目开发时,项目小组中各个成员之间的相互沟通是非常重要的。如果我们要在功能方面作出修改,那么程序人员和页面人员及数据库人员就必须相互沟通,共同对整个程序作出相应的修改,这样才能避免最终整合时出现问题。
在这十个周里,我还对软件工程有了新的理解。在我以前的理解当中,软件工程,无非就是一个人或者几个人或一个团队集中在一起进行编写代码的工作,以实现开发出所用的软件。但现在我明白了,软件工程的作用,就是告诉人们怎样去开发软件和管理软件。具体地讲,它表现在与软件开发和管理有关的人员和过程上。所以,软件工程就不仅仅是单一的编程过程了。它包括了系统分析-建模-概要设计-详细设计-编码-测试-维护。编码可以理解为编程,这个只占总时间的20%左右。编程只是其中的一小部分。
在这次项目里我完成了许多工作,在界面设计上我完成了,首页、全部的商品页面、全部的用户页面及部分管理员页面的制作,在后期项目整合过程中修改了功能和界面结合时出现的bug,还有数据库插入数据及解决数据库集中整合时出现的问题。这些工作我都顺利完成了,虽然并不能算是非常的出色,但也算是尽力了。现在看到自己辛劳的成果,我感到很欣慰。
当然,在这次项目过程中我也发现了自己的一些问题。如现在的网站开发技术还不够强,在和小组成员相互沟通上还不够积极等。我希望以此为契机,在将来的项目开发中能做得更好。
学习〈软件工程〉这门课的收获与感受
学了一个学期的软件工程课,终于知道了个软件工程的大概。我们为什么需要软件工程呢?软件工程最终是为了实现“软件制造业”的社会化,工业化大生产,提高其劳动生产效率。只有如此,软件业才能实现社会化,工业化大生产,才能“做大做强”。没有管理的设计是失败和混乱的设计,没有设计指导的编程是无序的忙碌的。根据开发的软件的规模,应该适当程度的运用软件工程化的思想,需要灵活,但只要涉及人员间的交流和沟通,或多或少都要需要软件工程才能更有效率,工作成果更稳定。
软件工程将有能力的人团结在一起,然后把他们变成工人,因为工业化的生产是效率最高的。这就是根本所在
软件开发课程心得体会的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于课程开发培训心得、软件开发课程心得体会的信息别忘了在本站进行查找喔。