2010-03-19 20:06:53 阅读6 评论0 字号:大中小
我来简单的说一下自己有关于软件工程的理解:用工程话的思想来指导我们的软件开发。这种思想可以在一定的程度上缓解软件危机。可以帮我们避免一些不该失败的开发。
有关软件工程的学习,我了解到软件开发不仅仅是编写代码,其实包括好多工作,编写代码紧紧占整个工作的20%左右。下面我来介绍一下有关软件工程的学习内容总结。
在软件工程中我知道了,一个软件的生命周期包括: 问题定义、可行性研究、需求分析,概要设计、详细设计、编码、一直到{zh1}的软件交付以及后期的维护,{zh1}到软件“死亡”,而不仅仅指编码阶段。当然我们为了很好的执行各阶段的任务,我们需要在各个阶段生成各种文档来为我们的软件开发作指导。也就是后来形成的文档驱动的开发方式。从软件工程的发展到现在,也形成了好多经典的开发模型,如瀑布模型,原型模型,迭代/演化/迭代模型,混合模型,等等,其中瀑布模型是最经典的,其他模型也可以说是从瀑布模型转化来的,当然各种模型有各种模型的特点和用处(该好好再看看了,这些好像都快没记忆了),仅仅能说一些名字而已了。当然还有在这些阶段我们可以用一些工具来描述我们的文档,例如什么类图,流程图。对于一个从事软件开发行业的人来说,软件工程可以说是你一生都要牢记的东西,可我现在竟然对他不熟悉了?该反省,该收获了,可能还需要再次的耕耘,但是必要要收获了,再不收获会有更大的损失。
当然在我们应用软件工程理论的时候需要一些更好的工具去帮助我们实现软件工程。尤其在我们面向对象的编程过程当中,这时便出现了UML(统一建模语言)。我们也学习了其中的相关内容,主要包括五种类型图:
{dy}类是用例图,从用户角度描述系统功能,并指出各功能的操作者。
第二类是静态图 (Static diagram),包括类图、对象图和包图。其中类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)。类图描述的是一种静态关系,在系统的整个生命周期都是有效的。
对象图是类图的实例,几乎使用与类图xx相同的标识。他们的不同点在于对象图显示类的多个对象实例,而不是实际的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。
包由包或类组成,表示包与包之间的关系。包图用于描述系统的分层结构。
第三类是行为图(Beha
而活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。
第四类是交互图(Interactive diagram),描述对象间的交互关系。其中顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;合作图描述对象间的协作关系,合作图跟顺序图相似,显示对象间的动态合作关系。除显示信息交换外,合作图还显示对象以及它们之间的关系。如果强调时间和顺序,则使用顺序图;如果强调上下级关系,则选择合作图。这两种图合称为交互图。
第五类是实现图 ( Implementation diagram )。其中构件图描述代码部件的物理结构及各部件之间的依赖关系。一个部件可能是一个资源代码部件、一个二进制部件或一个可执行部件。它包含逻辑类或实现类的有关信息。部件图有助于分析和理解部件之间的相互影响程度。
配置图定义系统中软硬件的物理体系结构。它可以显示实际的计算机和设备(用节点表示)以及它们之间的连接关系,也可显示连接的类型及部件之间的依赖性。在节点内部,放置可执行部件和对象以显示节点跟可执行软件单元的对应关系。
这些图都是软件工程中各个阶段的具体实现,当然这些图也不是用手工画的,我们也有画图的工具:Rational Rose等工具软件,当然Rational Rose是业界认可和应用最广泛的。
我们也学习了有关软件的使用,做了一些简单的例子。
我们在这个阶段最主要的任务是了解软件开发的过程,加深面向对象的理解。还有就是软件工程思想在我们软件开发中的重要性的理解,要是没有软件工程的思想恐怕就不会有大型软件开发的成功。这些内容我们都需要应用熟练,可是我们能做到吗?该收获的我们是不是收获了?没有的话加劲收吧!现在我觉得知道了,可是用不了也没用,我们现在该不仅仅知道,而且要知道的清清楚楚了,这是我的见解了。