欢迎来到一句话经典语录网
我要投稿 投诉建议
当前位置:一句话经典语录 > 心得体会 > 软件设计模式的心得体会

软件设计模式的心得体会

时间:2015-03-25 09:27

学习《软件工程》心得和体会

软程学习心得在期的软件工程课程的学习中,我们学习了十一章容。

第一章软软件工程的概念,这一章主要讲解的是一些概念性和基础性的内容,例如软件的概念、特性,软件危机的主要表现,软件工程的概念以及软件生存期、典型生存期模型等等。

第二章软件工程方法与工具,这一章主要对软件工程方法进行介绍,包括三种方法:传统方法、面向对象方法、形式化方法。

还引出了工具UML。

第三章软件需求获取与结构化分析方法,本章详细介绍了需求获取与需求分析阶段的任务以及结构化分析方法,画分层的数据流图、E-R图以及状态图式本节的重点。

第四章结构化分析方法,这一章重点讲解了使用变换型映射方法和事务型映射方法生成初始的模块结构以及模块结构的改进。

第五章编码,这一章重点讲解了编码的风格及规范,还告诉我们编码规范说带来的好处,并告诫我们将来一点要形成好的编码风格。

第六章软件测试方法,本章讲解了软件测试相关的概念及重要性,软件测试与开发各个阶段的关系;还介绍了白盒测试技术以及黑河测试技术。

第七章统一建模语言UML概述,本章详细介绍了UML的基本模式、事物、关系及建模时用到的各种图进行了介绍。

第八章面向对象分析,这一章主要讲解了面向对象分析的3种模型,包括功能模型、静态模型和动态模型。

第九章软件体系结构与设计模式,本章对软件体系结构的基本概念、典型风格等进行了讲解。

第十章面向对象设计,本章的重点是对面向对象分析时建立的对象模型进行调整和细化。

第十一章软件维护,本章主要介绍软件维护的任务、软件维护活动以及软件维护方法进行了介绍。

要学习软件工程,学会如何系统的思考,以及养成良好的编码习惯,想学好软件工程,就必须知道软件工程的目标、过程和原则: 软件工程目标:生产具有正确性、可用性以及开销合宜的产品。

正确性指软件产品达到预期功能的程度。

可用性指软件基本结构、实现及文档为用户可用的程度。

开销合宜是指软件开发、运行的整个开销满足用户要求的程度。

这些目标的实现不论在理论上还是在实践中均存在很多待解决的问题,它们形成了对过程、过程模型及工程方法选取的约束。

软件工程过程:生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。

软件工程过程主要包括开发过程、运作过程、维护过程。

它们覆盖了需求、设计、实现、确认以及维护等活动。

需求活动包括问题分析和需求分析。

问题分析获取需求定义,又称软件需求规约。

需求分析生成功能规约。

设计活动一般包括概要设计和详细设计。

概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。

详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。

实现活动把设计结果转换为可执行的程序代码。

确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。

维护活动包括使用过程中的扩充、修改与完善。

伴随以上过程,还有管理过程、支持过程、培训过程等。

软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。

我们学习了详细设计的方法,其原则是过程描述是否易于理解、复审和维护,进而过程描述能够自然地转换成代码,并保证详细设计与代码完全一致。

包括程序流程图、N-S图、PAD图、HIPO图程序流程图:程序流程图又称之为程序框图,它是软件开发者最熟悉的一种算法表达工具。

它独立于任何一种程序设计语言,比较直观和清晰地描述过程的控制流程,易于学习掌握。

在流程图中只能使用下述的五种基本控制结构:顺序型;选择型;while型循环;until型循环;多情况型选择。

N-S图:一种符合结构化程序设计原则的图形描述工具,称为盒图,又称为N-S图。

在N-S图中,为了表示五种基本控制结构,规定了五种图形构件。

顺序型;选择型;WHILE重复型;UNTIL重复型;多分支选择型。

PAD图:它是用结构化程序设计思想表现程序逻辑结构的图形工具。

PAD也设置了五种基本控制结构的图示,并允许递归使用。

HIPO图:HIPO图是由一组IPO图加一张HC图组成。

它是美国IBM公司在软件设计中使用的主要表达工具。

HC图既是层次图,用于表示软件的分层结构。

HC图中的每一个模块,均可用一张IPO图来描述。

IPO 图由输入、处理和输出三个框组成,需要时还可以增加一个数据文件框,这种图形的优点,是能够直观地显示输入—处理—输出三者之间的联系。

还有测试方法:按照测试过程是否在实际应用环境中来分,有静态分析与动态测试。

测试方法有分析方法(包括静态分析法与白盒法)与非分析方法(称黑盒法)。

静态分析技术:不执行被测软件,可对需求分析说明书、软件设计说明书、源程序做结构检查、流程分析、符号执行来找出软件错误。

动态测试技术:当把程序作为一个函数,输入的全体称为函数的定义域,输出的全体称为函数的值域,函数则描述了输入的定义域与输出值域的关系。

还学习了其他很多工具、语言、方法等,虽然不是都学得很透彻,但我相信在今后的学习中一定会慢慢的完善的。

软件工程对于初学者来说,知识基础较薄弱,对一些应用操作、概念、工具方法等理解起来较为困难,要能从整体概念上较好地理解和把握、学好软件工程,不是仅仅把几本专业书籍细致地看几遍,然后上机练习几次就可以成功,学习过程中要注意多看多练要注意结合实际,更要多思考,面对错误不要一范就问,要尝试自己去解决。

但是还要注意什么都学,肯定是什么都学不透的,要集中精力打攻坚战,学习软件工程首先要明白自己的学习目标究竟是什么,根据自己的实际工作出发,有针对性的在相应的学习方向上进行提高,制定出详细的学习规划。

还要注意与其他科目的相辅相成,就像我们在学习面向对象分析的时候要结合大一学习的面向对象及其方法学这一专业科目进行研究拓展;在学习语言时,要看看与C语言的联系,多思多想,把从各个科目学到的知识通汇贯通。

在软件工程的学习中,我了解到了软件并非是一些代码这么简单,在开发软件的过程中,编写代码的工作量其实只占不到所有工程量的30%,而后期的管理和维护更是占了60%到80%之多。

一个完整的项目规划须包括,软件的定义,可行性分析报告,项目开发计划,软件需求说明书,概要设计说明书,详细设计说明书,用户操作手册,测试计划,测试分析报告,开发进度报告,项目开发总结报告,软件维护手册,软件问题报告,软件修改报告,等多个文档,每个文档都要上级验收审查,而文档数量众多,要做好这点真的不是很容易,而恰恰写好文档正能保证完成软件工程其中一个目的的关键,既研究如何用最小的开销做出生存期较长的软件,再加上各个阶段都要进行周密的策划、详细的分工部署和人员安排,且各阶段要据具体情况不断的反复才能达成,所以代码只是开发软件这个浩大的工程的一个小小的过程。

而编码的学习中,我更了解到形成自己独特的规范的编码风格是非常重要的事。

因为这影响到了软件后期繁重的维护,大家都要阅读你的程序,如果你写的程序毫无规范可言,那么别人怎么能读懂你的程序

读不懂程序,维护又从何谈起呢

所以,我们在今后的学习中,一定要注意这方面的培养,在写程序的过程中,要逐步的在规范的基础上形成属于自己的风格,即方便自己的修改,也方便日后他人的阅读。

在学习中,我们还要注意比较三种方法的优缺点,例如:传统方法虽然使软件摆脱了混乱和无序,但其在适应需求变化的方面不够灵活,而且传统方法要么面向行为,要么面向数据,缺乏两者的有机结合。

而面向对象方法的程序设计和问题求解更符合人们日常自然的思维习惯,适合大型、复杂及交互性比较强的系统。

形式化方法则是一中基于形式化数学变换的软件开发方法,它可将系统的规格说明转换为可执行的程序。

在今后的学习中要注意多读书、多思考、多练习、多讨论,不断熟悉书本的基础,并以此为基础将其扩散开来,应用于今后的实践。

不断锻炼自己,向一名合格的程序设计师迈进。

关于软件技术专业认知总结报告

关于软件技术专业认知总结报告软件技术这个专业,我当初并不了解,只是觉得对计算机比较感兴趣,于是选择了一些和计算机有关的专业。

一年的学习下我对软件技术这专业有所认识因此做了以下这份报告。

随着现代计算机应用的日益普及,软件数量的急剧上升。

在程序运行时发现的错误必须设法改正;用户有了新的需求时必须相应地修改程序;硬件或操作系统更新时,通常需要修改程序以适应新的环境等等情况都需要对软件进行维护,这样就导致了“软件危机”的产生。

为了应对“软件危机”,这样软件技术运营而生。

软件技术是一门研究用工程化方法构建和维护有效的,实用的高质量的软件的学科。

它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。

在现代社会中,软件应用于多个方面。

典型的软件有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏等。

同时,各个行业几乎都有计算机软件的应用,如工业,农业,银行,航空,政府部门等。

这些应用都促进了经济和社会的发展,也提高了工作和生活效率。

在我看来,软件技术就是指导计算机软件开发和维护的工程学科。

它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,经济地开发出高质量的软件并有效地维护它。

正因为软件技术学对我们以后从事软件行业工作有着举足轻重的指导作用,作为新时代的学生,为了振兴我国的计

总结归纳主要的软件工程模型,并任意选定其中的一种过程模式,介绍其特点及你对该模型的理解。

主要的软件过程模型有:瀑布模型,演化模型(如增量模型、原型模型、螺旋模型)、喷泉模型、基于构件的开发模型和形式方法模型等。

瀑布模型(waterfall model)是1970年有W.Royce提出的,它给出了软件生存周期活动的固定顺序,上一阶段的活动完成后向下一阶段过渡,最终得到所开发的软件产品。

瀑布模型如下图所示,有时也称为软件生存周期模型。

瀑布模型中,上一阶段的活动完成并经过评审后才能开始下一阶段的活动,其特征是:(1)接受上一阶段的结果作为本阶段活动的输入。

(2)依据上一阶段活动的结果实施本阶段应完成的活动。

(3)对本阶段的活动进行评审。

(4)将本阶段活动的结果作为输出,传递给下一阶段。

瀑布模型是最早出现的也是应用最广泛的过程模型,对确保软件开发的顺利进行、提高软件项目的质量和开发效率起到重要作用。

在大量的实践过程中,瀑布模型也逐渐暴露出它的不足。

首先,客户常常难以清楚地描述所有的要求,而且在开发过程中,用户的需求也常常会有所变化,使得不少软件的需求存在着不确定性;在某个活动中发现的错误常常是由前一阶段活动的错误引起的,为了改正这一错误必须回到前一阶段,这就导致了瀑布的倒流,也就是说,实际的软件开发很少能按瀑布模型的顺序没有回流地顺流而下。

其次,瀑布模型使得客户在测试完成以后才能看到真正可运行的软件,此时,如果发现不满足客户需求的问题(由于需求不确定性),那么修改软件的代价是巨大的。

不是任何软件都可采用瀑布模型的,瀑布模型适合于结构化方法,也就是面向过程的软件开发方法。

软件项目或产品选择瀑布模型必须满足下列条件:在开发时间内需求没有或很少变化;分析设计人员应对应用领域很熟悉;低风险项目(对目标、环境很熟悉);用户使用环境很稳定;用户除提出需求以外,很少参与开发工作。

1. 什么是模式,什么是设计模式,设计模式的四个基本要素?

设计模式(Design Patterns) ——可复用面向对象软件的基础设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。

使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。

毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。

项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决方案,这也是它能被广泛应用的原因。

一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。

结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。

行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

其实还有两类:并发型模式和线程池模式。

例子:单例模式(Singleton)单例对象(Singleton)是一种常用的设计模式。

在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。

这样的模式有几个好处:1、某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。

2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力。

3、有些类如交易所的核心交易引擎,控制着交易流程,如果该类可以创建多个的话,系统完全乱了。

(比如一个军队出现了多个司令员同时指挥,肯定会乱成一团),所以只有使用单例模式,才能保证核心交易服务器独立控制整个流程。

首先我们写一个简单的单例类:[java] view plaincopypublic class Singleton { \\\/* 持有私有静态实例,防止被引用,此处赋值为null,目的是实现延迟加载 *\\\/ private static Singleton instance = null; \\\/* 私有构造方法,防止被实例化 *\\\/ private Singleton() { } \\\/* 静态工程方法,创建实例 *\\\/ public static Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; } \\\/* 如果该对象被用于序列化,可以保证对象在序列化前后保持一致 *\\\/ public Object readResolve() { return instance; } }

软件开发领域,为什么要提出“设计模式”的概念

理论+实践 = 成功

学习设计模式的最好就是理论和实践相结合,让理论指导实践、实践验证理论,这样不断的良性循环下去,你就会建立起设计模式思想。

学会使用抽象思维思考问题,建立独立解决问题的能力

在理论方面,要多看一些设计模式书籍,比如:《head first 英文版》,《软件秘笈-设计模式那点事》等比较优秀的书籍。

一本好书对于实践能力的提升具有事半功倍的效果。

实践方面,就需要你多加练习,从简单的入手,理解设计模式的精髓,掌握设计原则,有条件的可以做一些软件项目,在项目实践中不断的充实自己是最好的实践方法。

最重要的是,你要在实践中不断的归纳和总结,有所思、有所悟,真正的领会设计模式为软件项目带来的魅力

祝你早日学会设计模式

总共有几种设计模式

共有23种简单工厂是设计模式中比较简单的创建型模式其原理就是创建一个工厂类(接口),客户端调用的为接口的实现类,来实现代码的复用与简单解耦,其实简单工厂也是工厂方法模式的一种特殊实现。

推荐你看篇文章,你就会更好的理解。

声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。联系xxxxxxxx.com

Copyright©2020 一句话经典语录 www.yiyyy.com 版权所有

友情链接

心理测试 图片大全 壁纸图片