当前位置:文档之家› 软件工程总结

软件工程总结

软件工程总结
软件工程总结

这个学期,通过学习软件工程这门课程我了解了什么是软件工程,以及怎样学好软件工程和如何学习软件工程。了解了软件工程中的DFD图和UML建模的区别。

一、学习课程总结

1,软件工程到底是一门怎样的课程,学软件工程吃力的地方在哪里?

“软件工程”课程是计算机科学与技术专业的一门重要的专业课程和核心课程。它将计算机科学理论与现代工程方法论相结合,着重研究软件过程模型,设计方法,工程开发技术和工具,是指导软件生产和管理的一门新兴的,综合性的应用科学。随着计算机科学和软件产业的迅猛发展,软件工程学已经成为一个异常活跃的研究领域,正在不断涌现新方法,新技术。通过本课程教学,使我们能够较熟练地掌握软件工程的基本概念,原理和方法,从软件开发技术,软件工程管理和软件工程环境等几个方面了解如何将系统的,规范化的和可以度量的工程方法运用于软件开发和维护中。要求学生通过本门课程的学习,了解软件项目开发和维护的一般过程,掌握软件开发的传统方法,面向对象的方法和基于构件的开发方法,为更深入地学习和今后从事软件工程实践打下良好的基础。

然而,软件工程的强实践性和快速发展这两个特点给该课程的教学带来了一定的困难,而且软件工程课程的理论多,内容比较抽象,技术更新快,大家学习起来普遍觉得枯燥无味,如何采取有效的教学方法和手段,提高教学质量,培养社会需要的复合型软件开发人才成为该门课程教学改革的关键。

2,为什么要学习软件工程

目前,大学生的英文阅读能力普遍不够高,也没有阅读英文文献的习惯,二国际上先进的科技论文大多都是用英文写的。特别是软件工程学是一门发展很快切实践性较强的学科,同时,它又是一门引进学科,该领域中大部分最新的思想和成果都源自欧美等发达国家,很多学术论文和新知识新技术文档只有英文版本。为了适应新形势,很多高校在软件工程课程中开设了双语教学。有效地双语教学能力很好的提升学生的专业能力,并在专业教学上缩小与国际先进水平的差距。同时,开展双语教学可以为学生搭建一个良好的学习平台,通过双语教学不仅能够使学生掌握最新的软件开发理论和技术,而且能够训练学生较强的外语应用能力,对于培养计算机专业学生在国际化环境中的工作,培养高层次,实用型,复合型的软件工程人才,提高学生的团队协作能力和创新能力都有很大的帮助。当前,国内外主流的软件工程CASE 工具大多是英文软件,如IBM Rational 系列CASE工具,自动化测试工具WinRunner 等,通过双语教学,学生们能更好地掌握这

些英文软件。

3,软件工程中的DFD图和UML建模的区别

DFD图特点:DFD图不是流程图不表示软件的控制流程。

UML建模的主要特点包括:

统一的标准

面向对象,UML是支持面向对象软件开发的建模语言

可视化,表现能力强

独立于过程,UML不依懒于特定的软件开发过程

概念明确,建模表示法简洁,图形结构清晰,容易掌握和使用。

时间过的很快,转眼间已经学习将近4个月

二,个人经验总结

1 ,浅谈测试

一直以来,我都认为测试是脱离了软件工程范围的工作,不以为屑.但在实际情况中,测试是既重要且难以精湛的。其真正的压力,

在于找不到bug,责任在你,而不在于编码人员。一般的测试人员不懂编码,他们靠的是日以累计的经验总结和想象力。而要做到高级测试工程师,则一定要懂编码,因为这是你完全掌握整个系统的方方面面具体运作的前提。但占主导地位的,还是大型系统的集成测试经验。实际项目中,编码时间一般只占30%左右,真正耗费时间的是IT阶段的找bug与对应bug,此阶段基本评定了coder的编码质量。

2 ,程序员的困惑

有些人,以为教学视频和代码看多,自己就懂的多,实际做起来却不知从何下手,问题在那?如何定位?如何解决?通通跟一样能力有关,debug追踪能力,也称调试。在项目组工作不愁源码资源,但问题是蛋糕摆在面前,你如何去消化?

有位同学告诉我:代码看几遍都没用,要去抄,例如一个查询模块,在此基础上去做具体记录的历史记录查询模块,你可能会觉得很简单,但实际情况却往往报一堆异常,配置问题涉及到方方面面,以及数据库字段,传值问题等等,一大堆对于新人来说很郁闷的问题。但不用怕,只要学会调试,一个个问题去追踪,一个个去解决,自然而然,那段“源码”才真正属于你。

3 ,如何调试追踪?

如果你能在短短的时间内就看到问题点在那,放下断点去追踪,出去找工作,绝对没问题。出现问题的时候,不要光看代码,要用实际行动去追踪运行期间的具体值,那是最好途径。eclipse是个很爽的ide,这点做的很好。例如页面内容显示不是自己想要的数据,我们要先从数据库查询语句去下手,设置断点,一步一步step over,让sql字段(存取最终sql语句的字符串)运行到有值,inspect进去看,如果还看不出来,就点击它,copy后在sql客户端去实际运行,看看实际查询出来的表是什么,如果是对的,有可能就是页面调用的错误或者action逻辑的传值问题。

页面错误的调试,基本方法是用右键点击实际网页查看源代码,copy到editplus,就能看到具体错误发生在那几行。通常有几种常见的错误:例如缺少对象,这种很多时候是有些被你调用的字段有可能为空的情况出现的,可以加if(xxx=null)语句加保护。追踪的方法基本就是用alert语句,放在有可能出错的地方。

4,一些习惯

遇到问题先自己思考,无从下手再找高手帮忙看看,注意他帮你看的

思路,别在一旁闲着,看多了自己也会了,不然你一辈子都停留在那种水平,从人身上学到的东西远远比书多的多。

解决了一个问题后,要去究根问底去找到问题产生的起因,以防你下次遇到类似的问题再浪费同样的时间。

把代码写的漂亮,注释,空行,规范一样不能少,可读性是放在第一位。曾经看过一个高手写的代码。真的一看就是不同水平的人写的,几乎很完美,读起来很流畅,方便自己也方便别人。

任务完后不要呆着,去要求经理给你更有挑战性的任务,只要你肯去尝试,他们就会对你另言相看,把三天的任务一天加班搞定,效率和忠诚都有了,路也比较好走了。

三,个人项目

1,项目

食品公司内部管理系统

软件工程知识点总结

软件工程知识点总结-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN

一、软件工程概述 1.软件特点 软件:计算机程序、方法、规则、相关的文档资料,以及计算机程序运行时所需要的数据。 软件是计算机系统中的逻辑成分,具有无形性。其主要内容包括:程序、配置文件、系统 文档、用户文档等。 2.软件分类 (1)按功能划分:系统软件、支撑软件、应用软件。 (2)按工作方式划分:实时处理软件、分时处理软件、交互式软件、批处理软件。 (3)按规模划分:微型软件、小型软件、中型软件、大型软件。 (4)按服务对象划分:通用软件、定制软件。 3.软件发展阶段 (1)程序设计时代(20世纪50年代)。 (2)程序系统时代(20世纪60年代)。 (3)软件工程时代(20世纪70年代起)。 4.软件危机 (1)危机现象:软件开发成本与进度估计不准确,软件产品与用户要求不一致,软件产品质量可靠性差,软件文档不完整不一致,软件产品可维护性差,软件生产率低。 (2)危机原因:软件的不可见性,系统规模庞大,生产工程化程度低,对用户需求关心不 够,对维护不够重视,开发工具自动化程度低。 5.软件工程 软件工程:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必须的相关文件资料。 软件工程是一门关于软件开发与维护的工程学科,它涉及软件生产的各个方面,能够为经济、高效地开发高质量的软件产品提供最有效的支持。 (1)工程方法:结构化方法、JSD方法、面向对象方法。 (2)软件工具:具有自动化特征的软件开发集成支撑环境。 (3)工程过程:在软件工具支持下的一系列工程活动,基本活动是软件定义、软件开发、 软件验证、软件维护。 (4)工程管理:项目规划,项目资源调配,软件产品控制。 (5)工程原则:分阶段生命周期计划,阶段评审制度,严格的产品控制,采用先进的技术, 成果能清楚地审查,开发队伍精练,不断改进工程实践。 (6)工程目标:开发成本较低,软件功能能满足用户需求,软件性能较好,软件可靠性高, 软件易于使用、维护与移植,能按时完成开发任务并及时交付使用。 (7)工程文化:包括工程价值、工程思想和工程行为三个方面的内容。

2018软件工程工作总结3篇

2018软件工程工作总结3篇 随着互联网技术的快速发展,以及电信行业的第三次重组,给我们通信服务行业带来了巨大的商机,我很荣幸在这个大好时机来到中国网通常州分公司,成为网 通公司的一名宽带医生,我非常珍惜这份工作机会。 时间一晃而过,转眼间xx年已接近尾声。回首繁忙而又充实的xx年心中不禁感 慨万千,过去的一年中通过自身的不断努力,使得技术水平、沟通技巧等方面都 取得了一定的进步,当然亦有需要改进的地方,这是我人生中弥足珍贵的经历, 也给我留下了精彩而美好的回忆。 非常幸运能够来到**公司参加工作,回顾业务培训期的一个月工作,感触很深,收获颇丰,我们首先对宽带医生这项业务的前期推出做了很细致的准备,仔细讨 论了在业务推出以后可能遇到的种种困难;然后参加了代维部门的实践学习,深入 了解了网络的接入技术,以及在修障过程中遇到的问题,接着参加了为期两天的 新员工入职培训班,认真听取了相关领导对公司的发展概况,组织结构,以及各 部门职责的介绍,并认真学习了公司的基本业务和增值业务,对公司的产品和服 务有了很清楚的认识。 后期在主管的带领下,我们陆续对周边保有用户进行了宽带医生免费体验活动,也让用户知道我们这项延伸服务的推出,树立我们**宽带的品牌形象。 在过去的工作当中,在领导和同事们的悉心关怀和指导下,通过自身的不懈努力,各方面均取得了一定的进步,但那些远远不够,我也在实际工作中认识到自己的 不足,业务还不够熟练,很多知识还有欠缺,处理事情不成熟。因此在今后的工 作中,我将努力提高自身素质,克服不足,朝着以下几个方向努力: 1、学无止镜,时代的发展瞬息万变,各种学科知识日新月异。我将坚持不懈地 加强学习,向理论学习,向专业知识学习,向身边的同事学习,逐步提高自己的 理论水平和业务能力,并用于指导实践。 2、“业精于勤而荒于嬉”,在以后的工作中不断学习业务知识,通过多看、多学、多练来不断的提高自己的各项服务技能,克服年轻气躁,做到脚踏实地,提高工 作主动性,不怕多做事,不怕做小事,在点滴实践中完善提高自己。 3、不断锻炼自己的胆识和毅力,提高自己解决实际问题的能力,并在工作过程 中慢慢克服急躁情绪,积极、热情、细致地的对待每一项工作,继续提高自身文 化的修养,努力使自己成为一名优秀的工作人员。 4、在工作上积极配合省公司“关于配合全省宽带续费率提升活动开展“宽带医生” 服务的建议”的活动;加强对武进、新区、金坛宽带医生的业务宣传,增加这些区 域的服务量;加大对他网用户的宣传,扩大宽带医生的服务群,争取将用户发展为 本网用户;明确宽带医生远程服务软件的一整套受理、安装、服务的流程,加强远 程服务软件的推广,将远程服务和上门服务结合起来。

软件工程复习资料

软件概念:与计算机系统操作有关的程序、数据以及相关文档的完整集合 软件特点:逻辑实体、智力产品,制造即拷贝2无磨损和老化,不遵循“浴盆曲 线”,但存在退化问题3尚未摆脱手工方式,软件移植的需要,复杂(问题复杂性/ 程序结构复杂性),软件开发的性质如成本、进度、质量等难以估计控制,维护困难,可复用性软件分类:按功能:系统软件/支撑软件/应用软件2按工作方式:实时处理/分时/交互/批处理3按服务对象:项目 / 产品(定制 / 通用)4按失效影响:关键/ 非关键5规模:微型、小型、中型、大型、甚大型、极大型 软件危机的表现:软件开发成本和进度失控,维护代价高2用户不满意3软件 质量不可靠4软件不可维护 5无文档资料6 计算机系统中软件成本比重加大7软件开发生产率提高不能满足要求软件危机的原因软件的规模和复杂性2人类智力的局限性3协同工作的困难性4缺乏方法学和工具5用户描述不精确、二义、遗漏,双方理解有偏差缓解软件危机的途径组织管理、协同配合的工程2软件工程的理论模型、技术方法3软件工具 软件工程的三要素1过程:管理部分2方法:技术手段3工具:自动或半自 动地支持软件的开发和管理三要素的关系:相互关联与支持 软件生命周期:可行性研究-需求分析-概要设计-详细设计-实现-集成测试-确认 测试-使用与维护-退役 软件开发和测试活动之间的关系软件 开发和软件测试都是软件生命周期中的重要组成部分,软件测试是保证软件开发产物 质量的重要手段。测试是贯穿于整个开发流程了,而不是在编码完成才开始。 瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工 作,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。最终得到软件产品优点是使用时间最长、应用面比较广泛的开发模型2是其他一些开发模型的基础3当前一阶段完成后,只需要去关注后续阶段缺点不能适应用户需求的变化2到最后阶段才能得到可运行的软件版本适用场合:对于规模较小,软件需求较为稳定的项目,采用模型能够显著提高软件开发的质量和效率 演化模型(原型模型)演化模型是一种全局的软件(或产品) 生存周期模型。属于 迭代开发方法。该模型可以表示为:第一次迭代(需求->设计->实现->测试->集成)->反馈->第二次迭代(需求->设计->实现->测试->集成)->反馈->……优点:1支持需求的动态变化2有助于获取用户需求,便于用户对需求的理解3尽早发现软件中的错误缺点1需要为系统的每个新版本交付文档,不划算2新需求的不断增加,使系统结构退化,变更成本上升3不支持风险分析 螺旋模型1将瀑布模型与原型模型进行有机结合2增加风险分析步骤优点1支持 需求的动态变化2有助于获取用户需求,便于用户对需求的理解3尽早发现软件中的错误4支持风险分析,可降低或者尽早消除软件开发风险5适合于需求动态变化、开发风险较大的系统缺点建设周期长适用场合在需求不明确的情况下,适合用螺旋模型进行开发,便于风险控制和需求变更。特别适合于大型复杂的系统 喷泉模型:软件复用与生命周期中多项开发活动集成,主要支持面向对象的开发 方法优点1软件系统可维护性较好2各阶段相互重叠,表明了面向对象开发方法各阶段间的交叉和无缝过渡3整个模型是一个迭代的过程,包括一个阶段内部的迭代和跨阶段的迭代4模型具有增量开发特性,即能做到“分析一点、设计一点、实现一点,测试一点”,使相关功能随之加入到演化的系统中5模型由对象驱动,对象是各阶段活动的主体,也是项目管理的基本内容6该模型很自然地支持软部件的重用缺点由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。 OO 为什么好oo 解决问题的思路是从现实世界中的客观对象入手,运用人类的 自然思维方式来构造软件系统,而传统的结构化方法从功能入手和信息工程化方法从信息入手。在面向对象方法中,把一切都看成是对象。OO 方法用类和对象作为系统的基本构成单位。对象对应问题域中的事物,其属性与操作刻画了事物的静态特征和动态特征,它们之间的继承关系、聚合关系、消息和关联如实地表达了问题域中事物之间实际存在的各种关系面向对象方法的特点(1)从现实世界中客观存在的事物出发来建立软件系统,强调直接以问题域中的事物为中心来思考问题、认识问题,把它们抽象地表示为系统中的对象,作为系统的基本构成单位。这可以使系统直接映射问题域,保持问题域中事物及其相互关系的本来面貌(对象) (2)用对象的属性表示事物的状态特征;用对象的操作表示事物的动态特征(属性与操作)(3)对象的属性与操作结合为一体,成为一个独立的、不可分的实体,对外屏蔽其内部细节(封装)(4)对事物进行分类。把具有相同属性和相同操作的对象归为一类,类是这些对象的抽象描述,每个对象是它的类的一个实例(分类)(5)复杂的对象可以用简单的对象作为其构成部分(聚集:一个(较复杂的)对象由其他若干(较简单的)对象作为其构成部分,称较复杂的对象为聚集,称较简单的对象为成分,称这种关系为聚集)(6)通过在不同程度上运用抽象的原则,可以得到较一般的类和较特殊的类。特殊类继承一般类的属性与操作,从而简化系统的构造过程及其文档,有利于复用(继承:特殊类拥有其一般类的全部属性与操作,称作特殊类对一般类的继承)(7) 类具有封闭性,把内部的属性和服务隐藏起来,只有公共的服务对外是可见的(类的封闭性)(8) 对象之间通过消息进行通讯,以实现对象之间的动态联系(消息)(9) 通过关联表达类之间的静态关系(关联) 自顶向下,逐步求精:从顶层开始逐层向下分解,直至系统的所有模块都小 到易于掌握为止 抽象从事物中舍弃个别的非本质的特征,而抽取共同的、本质特征的做法叫抽象。 过程抽象:将完成一个特定功能的动作序列抽象为一个函数名和参数表(模块)例: 比较字符串: int Compare (CString, CString)。数据抽象:将诸多数据对象的定义(描述)抽象为一个数据类型名,以后可通过该数据类型名来定义多个具有相同性质的数据对象例:Eg: 1, 2, 3,—>Integer ;软件工程书;人工智能书—>书类 封装把对象的属性和操作结合成一个独立的系统单位,并尽可能隐蔽对象的内部 细节。只是向外部提供接口,降低了对象间的耦合度使对象能够集中完整地描述并对应一个具体事物。意义:体现了独立性,使对象外部不能随意存取对象的内部数据,使其所含的信息对那些不需要这些信息的模块不可访问。对象的内部的修改对外部的影响很小,减少了修改引起的“波动效应”。公开静态的、不变的操作,而把动态的、易变的信息隐藏起来。 模块化将一个软件划分为一组具有相对独立功能的部件,每个部件称为一个模 块;当把所有的模块组装在一起时,便可获得满足用户需求的软件系统。为什么要进行模块化:模块化体现了“分而治之”的问题分析和解决方法。模块化的目的①进行功能分解,把复杂的大的功能划分成简单的小的子功能,尽量降低每个模块的成本。②尽量使每个模块间的接口不能太多,太多会使接口成本增加。兼顾二者可取得最佳的划分状态,确保软件总成本最低模块设计原则1信息隐藏2高内聚度(强)3低耦合度(松)什么是信息隐藏(1)模块应该设计得使其所含的信息(过程和数据)对那些不需要这些信息的模块不可访问(2)模块之间仅仅交换那些为完成系统功能所必须交换的信息信息隐藏的优点(1)支持模块的并行开发(设计和编码)(2)模块的独立性更好(3)便于系统功能的扩充(4)便于测试和维护,减少修改影响向外传播的范围模块化、信息隐藏,局部化是什么关系局部化与信息隐藏是一对密切相关的概念。局部化就是指将一些使用上密切相关的元素尽可能放在一起。对一个模块来说,局部化是期望模块所使用的数据尽可能是在模块内部定义的。因此,局部化意味着减少模块之间的联系,有助于实现模块之间的信息隐藏。在软件测试和维护期间经常需要修改一些模块的内容。信息隐藏和局部化降低了模块之间的联系,使得在修改一个模块时对其他模块的影响降到最低。“隐藏”的意思是,有效的模块化通过定义一组相互独立的模块来

软件工程师年度个人工作总结

姓名:XXX 部门: XX部YOUR LOGO Your company name 2 0 X X 软件工程师年度个人工作总结范 文

软件工程师年度个人工作总结范文 1.公司的发展离不开网络,在近一年中,公司厂区急速扩建,从b厂区一楼的smt到二楼的组装测试线,本人有幸参与本次网络的规划与实施,由于工程的紧急和生产的扩张,实施的时候为了赶上生产的进度在某些方面难免考虑不周全,还有待进一步的整改。 2.因公司驻外办公地点的增加,要求能够进入公司的局域网中进行访问,本人针对公司原有的软件vpn进行了调试,确定该软件能正常安全的使用,可以方便在外移动办公人员的及时访问公司网络(该软件vpn仅支持adsl宽带连接,在专线的网络中不能使用)。 3.公司电脑新旧更替频繁,在这一年里,公司新增电脑数百台,在大家的通力合作下完成了数百台电脑的安装与调试,确保公司生产正常增长,公司目前一共近2017台电脑,由于机器较多,日常出现故障的情况较为常见,主要的电脑故障有:系统故障,网络故障,软件故障等,很多机器由于长期使用,导致系统中存在大量垃圾文件,系统文件也有部分受到损坏,从而导致系统崩溃,重装系统,另外有一些属网络故障,线路问题等。其他软件问题主要包括邮箱的使用,erp和办公软件等。虽然说故障原因不会超过软硬件两种,但往往在处理的过程中发现新的问题。 4.目前网络计算机病毒较多,传播途径也较为广泛,可以通过浏览网页、下载程序、邮件传播,为了做好防范措施,公司每台机器都安装了杀毒软件,并定期的要求升级,对发现病毒的机器及时的进行处理。一年来,针对部分特需要求的电脑,甚至有数次手动更新杀毒软件。 5.近年来,公司的网络变动频繁,很多以前的网线都缺少标识,每次都给网络的变动带来极大的困难。在多次的网络变更中,更多的 第2 页共2 页

软件工程重点整理

软件工程重点 (吐血整理——林新发) 红色的是重点中的重点 前面数字是课本页码 第一章概论 1 什么是计算机软件 计算机软件指计算机系统中的程序及其文档 3软件的特点 (1)软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确地估算 (2)软件是被开发的或被设计的,它没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大 (3)软件的使用没有硬件那样的机械磨损和老化问题 4软件的分类 (1)系统软件(如操作系统、编译程序等)、 (2)支持软件(如数据库管理系统、网络软件、软件开发环境等)、 (3)应用软件(如实时软件、嵌入式软件、科学和工程计算软件、事务处理软件、人工智能软件等) 6软件工程定义 软件工程是应用计算机科学、数学及管理科学等原理,以工程化的原则和方法制作软件的工程 7生存周期 软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为计算机软件的生存周期 软件生存周期大体可分为如下几个活动:计算机系统工程、需求分析、设计、编码、测试、运行和维护 12能力成熟度模型CMM(了解一下) 初始级、可重复级、已定义级、已管理级、优化级 18瀑布模型(重) 系统工程、需求分析与规约、设计与规约、编码与单元测试、集成测试系统测试、运行与维护 第二章系统工程 41系统工程的任务 (1)识别用户的要求,确定待开发软件的总体要求和范围,

(2)系统建模和模拟 (3)进行成本估算,做出进度安排 (4)进行可行性分析,即从经济、技术、法律等方面分析待开发的软件是否有可行的解决方案,并在若干个可行的解决方案中作出选择。 (5)生成系统规格说明书 42可行性分析 (1)经济可行性(成本、效益、货币的时间价值、投资回收期、纯收入) (2)技术可行性(风险分析、资源分析、技术分析) (3)法律可行性 第三章需求工程 48软件需求 指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。 包括:功能需求、性能需求、用户或人的需求、环境需求、界面需求、文档需求、数据需求、资源使用需求、安全保密要求、可靠性需求、软件成本消耗与开发进度需求、其他非功能需求 50需求获取方法与策略(重) 建立顺畅的通信途径、访谈与调查、观察用户操作流程、组成联合小组、用况 51 图3.2 53 创建用况模型的主要步骤 (1)确定谁会直接使用该系统,即参与者(Actor) (2)选取其中一个参与者 (3)定义该参与者希望系统做什么,参与者希望系统作的每件事将成为一个用况 (4)对每件事来说,何时参与者会使用系统,通常会发生什么,这就是用况的基本过程 (5)描述该用况的基本过程 54需求分析原则(重) 1.必须能够表示和理解问题的信息域 2.必须能够定义软件将完成的功能 3.必须能够表示软件的行为(作为外部事件的结果) 4.必须划分描述数据、功能和行为的模型,从而可以分层次地揭示细节

软件工程知识点总结

软件工程(简要知识点) 一、. 软件过程五个模型对比(瀑布模型、快速原型、增量、螺旋、喷泉模型) 二、可行性研究: 1、任务:用最小的代价在尽可能短的时间内确定问题是否能够解决。 2、四个方面:技术、经济、操作可行性、法律 3、数据流图四种成分:1、源点/终点2、处理3、数据存储 4、数据流 三、需求分析: 1、任务:确定系统必须完成哪些工作,对目标系统提出完整、清晰、具体的要求。 2、结构化方法就是面向数据流自顶向下逐步求精进行需求分析的方法。 3、实体联系图:1、数据对象2、属性3、联系(1:1、1:N、M:N) 四、总体设计: 1.任务:回答“概括的说,系统应该如何实现”,用比较抽象概括的方式确定系统如何完成预定的任务,也就是说应该确定系统的物理配置方案,并且进而确定组成系统的每个程序结构。 2.系统设计阶段(确定系统具体实施方案)、结构设计阶段(确定软件结构) 3.模块独立:内聚和耦合 4. 耦合表示一个软件结构内各个模块之间的互连程度,应尽量选用松散耦合的系统

5. 内聚(Cohesion): 一个模块内各元素结合的紧密程度 6.面向数据流的设计方法:变换流和事务流 五、详细设计: 1.任务:确定应该怎样具体的实现所要求的系统,也就是说经过这个阶段的设计工作应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。 2.过程设计的工具(程序流程图、盒图、PAD图、判定表、判定树) 七、测试: 1、单元测试:又称模块测试。每个程序模块完成一个相对独立的子功能,所以可以对该模块进行单独的测试。由于每个模块都有清晰定义的功能,所以通常比较容易设计相应的测试方案,以检验每个模块的正确性。 2、集成测试: 在单元测试完成后,要考虑将模块集成为系统的过程中可能出现的问题,例如,模块之间的通信和协调问题,所以在单元测试结束之后还要进行集成测试。这个步骤着重测试模块间的接口,子功能的组合是否达到了预期要求的功能,全程数据结构是否有问题等。 3、白盒测试技术(逻辑覆盖、基本路经测试)

2020软件工程师年终工作总结

2020软件工程师年终工作总结 2019软件工程师年终工作总结(一) 我于20xx年x月加入xxxx至今,严格履行软件工程师的岗位职责,认真学习,努力工作,较好地完成了本职工作和领导交给的各 项任务。在这年终之际,现对来公司20xx年的时间里所作的工作汇 报如下: 一、思想政治表现 坚持四项基本原则,热爱祖国,遵纪守法,具有良好的思想素质和职业道德,能用xxxx的要求来指导自己的行动。积极要求进步, 团结友善,明礼诚信。 二、工作情况 1、新产品研发:由于我参加工作较长,在软件行业领域这么多 年来积累了丰富的经验。刚进入公司被划分到xx产品小组,参与了 此产品的需求收集、分析、设计编码工作。此产品的前台控制端的 框架设计是我采用当今流行的先进技术架构搭建而成。目前此产品 雏形已经完毕,处在后期测试完善阶段。当初由于部门人手不够, 我与我的搭档相互鼓励,还有部门领导的大力支持,我们每天充满 激情的迎接自己的工作。回过头来,看到自己辛勤工作的成果,还 是欣慰的。 2、综合事务管理:日常事务性工作都是些琐碎的事情,统计考勤,报销费用、部门审计工作等等。以前我一直做得是自己的专业 知识工作,初次接受这些琐碎的工作时我就告诫自己做就要做好, 一定做到腿勤、口勤。使票据及时报销,账目清楚,协助领导建立 健全各项制度,保持良好的工作秩序和工作环境,使各项管理日趋 正规化、规范化。完成办公日常用品购置、上下沟通、资料报刊订 阅等日常事务,各类事项安排合理有序。整理部门工作周报、月报,为部门工作的正常开展提供了有效保证。

3、部门项目/产品进度跟踪及归档:我担负着部门项目/产品的 进度跟踪工作,为保证文档、代码版本的准确性,我主动联系质量 保障部在公司服务器上给我们部门开通了vss空间并且给部门每位 员工开通了自己的账户,定时督促部门相关成员把文档与产品代码 维护到版本控制服务器上,现在大家已养成习惯,要找文档模板、 公司制度等等都会自动去此服务器上寻找,项目阶段性文档,代码 也会自动维护进去,我会定时察看并监督。这样保障了代码准确性,公司成果不流失,同时也为同事工作提供便利。 三、存在不足 xx行业对于我来说是个全新的行业,还有目前工作较繁杂,从 而无法进一步提高自己的工作能力。再说计算机领域是个宽广的领域,技术发展是日益月新,计划下一年合理的安排自己的工作,使 自己的业务知识与技术水平更有所提高。 2019软件工程师年终工作总结(二) 作为刚从学校出来的应届毕业生,第一份工作就落在xx,来到xx,深深地被这个企业的文化所感染,我很认同xx的企业文化,xx 的企业精神“统一,专一,事业第一”体现出了这一行业优秀企业 文化的特点。在这一年的学习与亲身感受之下,我更加坚定地要使 自己成为一名合格并争取优秀的xx人,我对自己有信心,对xx更 有信心。 作为一名在技术岗位的职员,要具备一定的专业知识,不断地充实自己,在不断的工作学习与研究中成长,要有很好的团队协作精神,有很强的执行力,能真正为企业做实事。在xx上班的一年里, 我主要完成了以下工作项目: 刚来的两个月,由于目前网站工作的需要,师傅指导一边熟悉工作职位环境一边学习asp,用了两个月系统地学习了这门从未接触 过的asp语言,为接下来的工作打了坚实的基础。 在完成这些各种功能需求的时候,对后台管理系统进行了深入的分析研究,因此对销售管理模块非常熟悉,给目前网站新版开发的 后台设计提了不少建设性的想法。之后还完成了logo管理模块中的

精选软件工程师工作总结

精选软件工程师工作总结 1、分享条经验:“学历代表过去、能力代表现在、学习力代表未来。”其实这是一个来自国外教育领域的一个研究结果。相信工作过几年、十几年的朋友对这个道理有些体会吧。但我相信这一点也很重要:“重要的道理明白太晚将抱憾终生!”所以放在每一条,让刚刚毕业的朋友们早点看到哈!- 2、一定要确定自己的发展方向,并为此目的制定可行 的计划。不要说什么,“我刚毕业,还不知道将来可能做什么?”,“跟着感觉走,先做做看”。因为,这样的观点会通过你的潜意识去暗示你的行为无所事事、碌碌无为。一直做技术,将来成为专家级人物?向管理方向走,成为职业经理人?先熟悉行业和领域,将来自立门户?还是先在行业里面混混,过几年转行做点别的?这很重要,它将决定你近几年、十年内“做什么事情才是在做正确的事情!”。- 3、软件开发团队中,技术不是万能的,但没有技术是 万万不能的!在技术型团队中,技术与人品同等重要,当然长相也比较重要哈,尤其在mm比较多的团队中。在软件项 目团队中,技术水平是受人重视和尊重的重要砝码。无论你 是做管理、系统分析、设计、编码,还是产品管理、测试、文档、实施、维护,多少你都要有技术基础。算我孤陋寡闻, 我还真没有亲眼看到过一个外行带领一个软件开发团队成功地完成

过软件开发项目,哪怕就一个,也没有看到。倒是曾经看到过一个“高学历的牛人”(非技术型)带一堆人做完过一个项目,项目交付的第二天,项目组成员扔下一句“再也受不了啦!”四分五裂、各奔东西。那个项目的“成功度” 大家可想而知了。- 4、详细制定自己软件开发专业知识学习计划,并注意 及时修正和调整(软件开发技术变化实在太快)。请牢记:“如果一个软件开发人员在1、2年内都没有更新过自己的知识,那么,其实他已经不再属于这个行业了。”不要告诉自己没有时间。来自时间管理领域的著名的“三八原则”告诫我们:另外的那8小时如何使用将决定你的人生成败!本人自毕业以来,平均每天实际学习时间超过2小时。- 5、书籍是人类进步的阶梯,对软件开发人员尤其如此。 书籍是学习知识的最有效途径,不要过多地指望在工作中能遇到“世外高人”,并不厌其烦地教你。对于花钱买书,我个人经验是:千万别买国内那帮人出的书!我买的那些家伙 出的书,!00%全部后悔了,无一本例外。更气愤的是,这些书在二手市场的地摊上都很难卖掉。“拥有书籍并不表示拥有知识;拥有知识并不表示拥有技能;拥有技能并不表示拥有文化;拥有文化并不表示拥有智慧。”只有将书本变成的自己智慧,才算是真正拥有了它。- 6、不要仅局限于对某项技术的表面使用上,哪怕你只

软件工程知识点汇总

软件工程知识点汇总 1 软件工程、软件工程方法学:三要素 1.1 软件工程:○1应用系统化的、规范化的、可度量的方法来开发、运行和维护软件,即将工 程应用到软件;○2对○1的各种方法的研究 1.2 软件工程是一门研究用工程化方法构建和维护有效的实用的和高质量的软件的学科 1.3 软件工程三要素是:方法、工具、过程 软件工程的方法:是指完成软件开发各项任务的技术方法 软件工具:是指为软件工程方法的运用提供自动半自动的软件支撑环境 软件工程过程:是指将软件工程方法和工具综合起来以达到合理、及时地进行计算机软件开发这一目的 2 软件工程的原则包括:模块化原则、信息隐蔽原则、抽象化原则、模块独立原则(内聚、耦合)、 依赖倒转原则、开闭原则等 2.1 模块化原则:指解决一个复杂问题时自顶向下逐层把软件系统划分为若干模块的过程。模 块是程序中相对独立的成分,一个独立的编程单位,应有良好的编程接口,模块的大小要 适中,模块过大会使模块内部的复杂性增加不利于模块的理解和修改,模块过小会导致整 个系统表示过于复杂,不利于控制系统的复杂性。 2.2 信息隐蔽原则:采用封装技术,将程序模块的实现细节隐藏起来,使模块接口尽量简单。 2.3 抽象化原则:抽取事物最基本的特性和行为,忽略非本质细节,采用分层次抽象,自顶向 下,逐层细化的办法控制软件开发过程的复杂性。 2.4 模块独立原则:是指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少 且接口简单。要求在一个物理模块内集中逻辑上相互关联的计算机资源,保证模块间由松 散的偶合关系,模块内部有较强的内聚性,这有助于控制系统的复杂性。(即:高内聚低 耦合) 2.5 依赖倒转原则:抽象不应该依赖于细节,细节应该依赖于抽象。 2.6 开闭原则:软件实体应该是可扩展的,但是不可以修改。即对于扩展是开放的,对于更改 是封闭的。 3 软件开发模型:瀑布模型;快速原型;喷泉模型;各种模型的工作原理、阶段、每阶段任务、 特点、示意图; 软件开发模型(也称为软件过程模型):是从软件项目需求定义开始直至软件经使用后废弃为止,跨 越整个生命周期的系统开发、运行和维护所实施的全部过程、活动和任务的结构框架 3.1 瀑布模型(又称线性模型): 3.1.1工作原理:规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。 前一阶段的工作成果是后一阶段工作开始的基础.所以,每个阶段都必须交出合格的文档,必须对前阶段的工作进行评审,前一阶段的工作完成后才可以开始后一阶段的工作 3.1.2 阶段: 计划时期:问题定义、可行性研究 开发时期:需求分析、设计、编码、测试 运行时期:运行和维护 3.1.3 各阶段任务: 1.需求分析和定义 在软件项目进行过程中,需求分析是从软件定义到软件开发的关键步骤,是今后软件,开发的基本依据,同时也是用户对软件产品进行验收的基本依据。需求分析和定义是以用

it工程师个人工作总结

it工程师个人工作总结 一、工作数据 我于******日入职,在这4个月的工作中,我从开始进入公司配置**安装环境到**,再到现在完全测试的**工作。 二、工作总结 作为一名软件测试人员,我的工作内容是:主动寻找公司的软件产品中可能的缺陷以及不合理的地方,并及时反馈给开发同事,保证公司的软件交给客户是比较理想没有明显缺陷的状态。在公司测试的日常工作,主要由两部分组成:一是与实施同事交流讨论,总结实施同事提交的bug并提交给开发修改、全程跟踪,直到bug关闭。二是按照流程细致的分析软件可能存在的缺陷,及时反馈给开发同事。在4个月的时间里,我由 测试**转到测试**,下面对我的工作做一个总结。 1、**测试。刚来公司,测试经理给我非配的是一台惠普的新台式机,运行速度很快,用起来很舒服,很喜欢。第一个星期主要是学习xx的业务流程和安装部署**财政端和单位端的测试环境。在**的帮助下我配置了oracle10g、pl/sqldeveloper、tomcat等环境。6月到8月份,我主要测试的是**版本,财政端测试的模块主要有:票据管理、收入管理、基础资料、单位对账、统计报表、票据

查询、以及系统管理等模块;测试单位端主要是与财政端相关模块。测试的用户有:省财政厅、**县、**县。 2、**测试。到了八月底,由于黄石非税项目组的***的项目任务比价紧,我遍参加进入了**的测试小组,与**、**一起并肩战斗!由于**功能不够稳定,测试工作进度受开发的影像,进度时快时慢,工作状态也反复无常。我调整好状态,及时与开发的同事沟通,把没有及时跟新出现的bug直接与开发交流,避免了测试工作的反复。测试**的过程中由于开始业务不熟悉,请教**,她都耐心的帮我解答。**测试的主要模块是: ************ 三、工作中存在的问题以及解决办法刚走出校园初次接触软件测试这个全新的行业,我就对这份工作产生了极大的好奇,在工作的过程中,不断的和同事交流,学习工作技巧,工作到今天,工作技能有了很大的进步,但是,随着工作的日益进展,也出现了些困惑和工作难题。 1、部门间同事交流不是很充分。前期测试**感觉交流还比较充分,因为** 版本是一个稳定的版本,性能比较稳定,用户提出的bug都很深入比较少,实施、测试、开发就有充分的时间讨论、分析需求、最终合理的解决。但是转到测试**后就明显感觉交流的时间不够,我想是因为**的项目时间赶得太急,这段时间资源有限,整个项目组必须拿宝贵的时间解决最重要的事情,所以需要项目的每个成员做好全心的投入,每个细节和问题及时沟

软件工程实训总结

实训总结 一、实训目的: 通过对java语言、sql数据库的应用以及sql语言的复习和锻炼,并且通过使用MyEclipse开发平台设计管理项目,以达到充分熟悉开发平台及应用设计。同时掌握并实践软件项目设计规范及其开发流程:需求分析、概要设计、详细设计、代码编写等,以便提前适应软件公司开发流程、环境和工作要求。 二、实训内容: 1. 项目:(“当当网”) 2. 完成(用户注册、登录、列表、购物车、删除、修改)等功 能 3. 数据库设计、SQL应用 4. 项目实战 三、实训总结: 转眼间实训已过去一段时间,之前的兴奋、喜悦如今已经让我熟悉,在实训的每一天都会让我有成为一名真正的财富者拥有的冲动。也许,在这期间不一定会让一个人有着翻天覆地的变化,但变化就是这样一点一点产生的。通过这一期的实训,虽然倍感折磨,但是收获却是很大的,学习中我不但有了学习成果的喜悦,而且自己也日渐成熟,有种说不出的喜悦。 在实训的过程中,我深深的体会到了自己在专业知识方面的欠缺和不足,也意识到了自己作为计算机软件专业的学生,要想在以后的

职业中崭露头角,除了要有过硬的理论知识,健康的体魄之外,还必须具备良好的心理素质,是自己在以后的途中无论经历什么样的困难,都立于不败之地。通过实训老师的课堂讲解与企业文化标准的培训,使我加深了对自己专业的认识,从而确定自己以后的努力方向,要想在短暂的实训时间内尽多的学到东西,就需要我们跟老师或同学进行良好的沟通,加深彼此的了解,只有我们跟老师多沟通,让老师更了解我们,才能更真切的对我们进行培训工作。由此,班级的文化“共享”就在生活中慢慢形成了。 “纸上得来终觉浅,绝知此事要躬行!”在这短短的时间里,让我深深的感觉到自己在实际应用中所学来专业知识的匮乏。让我真真领悟到“学无止境”这句话的涵义。而老师在专业认识周到中所讲的,都是课本上没有而对我们非常有实际意义的。这又给我们的实训增添了浓墨淡彩的光辉。我懂得了实际生活中,专业知识是怎样应用与实践的。在这些过程中,我不仅知道了职业生涯所需具备的专业知识,而且让我深深体会到一个团队中的各个成员合作的重要性,要善于团队合作,善于利用别人的智慧,这才是大智慧。靠单一的力量是很难完成一个大项目的,在进行团队合作的时候,还要耐心听取每一个成员的意见,是我们的组合达到更加完美。 这次实训除了让我明白工作中需要能力,素质,知识之外,更重要的是学会了如何去完成一个任务,懂得了享受工作。当遇到问题,冷静,想办法一点一点的排除障碍,到最后获取成功,一种自信心就由然而生,这应该就是工作的乐趣。有时候不懂的就需要问别人了,

软件工程基础知识点总结

软件工程基础部分知识点总结 知识点一软件工程的基本概念 1、软件定义:是计算机系统中与硬件相互依存的另一部分,是包括程序、数据以及相关文档的完整集合。 1)程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列。 2)数据是使程序能够正常操作信息的数据结构。 3)文档是与程序开发、维护和使用有关的图文资料。 国标(GB)计算机软件的定义:与计算机系统的操作相关的计算机程序、规程、规则以及可能有的文件、文档及数据。 2、软件特点: 1)软件是一种逻辑实体,而不是物理实体,具有抽象性,是计算机的无形部分; 2)软件的生产与硬件不同,它没有明显的制作过程; 3)软件在运行、使用期间不存在磨损、老化问题; 4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题; 5)软件复杂性高,成本昂贵; 6)软件开发涉及诸多的社会因素 3、软件的分类: 按照功能可以分为:应用软件、系统软件、支撑软件(或工具软件)

1)应用软件是为解决特定领域的应用而开发的软件。 2)系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。 3)支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具软件。 4、软件危机:是指在软件的开发和维护过程中所遇到的一系列严重问题。软件危机主要体现在以下几个方面: ①软件开发的实际成本和进度估计不准确 ②开发出来的软件常常不能使用户满意 ③软件产品的质量不高,存在漏洞,需要经常打补丁 ④大量已有的软件难以维护 ⑤软件缺少有关的文档资料 ⑥开发和维护成本不断提高,直接威胁计算机应用的扩大 ⑦软件生产技术进步缓慢,跟不上硬件的发展和人们需求增长 5、软件工程:此概念的出现源自软件危机。软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来开发与维护软件的学科。 1)研究软件工程的主要目的就是在规定的时间、规定的开发费用内开发出满足用户需求的高质量的软件系统(高质量是指错误率低、好用、易用、可移植、易维护等)。 2)软件工程的三个要素:方法、工具和过程。 ①方法:完成软件工程项目的技术手段;

软件工程师职业个人工作总结范文

软件工程师职业个人工作总结范文 xx年已过去,在过去的一年中,我担任公司开发部的一名软件工程师,主要从事着JAVA项目的开发工作,这一年来我低调努力工作着,不求闪亮显眼和光芒四射,只为平静和淡定;这一年中所做的成绩如下: 一、财政局项目,本人独立负责开发会计处的三个子系统: 1、会计人员信用查询系统。 2、代理记账机构信用查询系统。 3、会计人员网上报备系统。 以上三个子系统上线后,方便了社会各界查验会计人员的真实信息、方便了查询合法的代理记账机构信息,以及方便了各单位对会计人员的报备。 二、餐饮行业项目,在团队开发项目中直接参与了豪享来餐饮有限公司总部的信息综合管理平台项目,主要负责的系统有: 1、房屋租赁合同管理系统。 2、短信收发管理系统。 3、会员管理系统。 4、基础信息管理系统和人事管理系统的部分功能模块。 系统应用后,豪享来在管理全国各门店房屋租赁合同上,一定程度上提高了管理效率,并且及时有效提供了相应预警信息;短信收发系统方便了总部及时传递各项信息;会员系统更好的管理全国各门店的会员信息;人事系统在管理中减少工作量等。 三、金融行业项目,我参与了中国银行厦门分行,企业转账管理系统中的部分模块开发。

本系统方便了企业快速实现大量和复杂的转账工作。 四、国土资源与房产管理局项目,正在负责和开发的是住房货币化补贴网上申报审核系统。 本项目采用了新技术,使界面更加大方美观,很大程度上改善人机交互平台的效果。 总结不足:驻豪享来总部做项目时,由于团队内部某些原因,加之外面的其他因素,一定程度上影响了工作效率、影响开发进度和 影响最终软件质量;这是包括我在内项目组中的每个成员都必须检讨 的地方。 通过总结一年来的工作,尽管有了一定的进步和成绩,但在一些方面还存在不足,个别工作做得还不够完善。在今后的工作中,我 将努力找出工作中的不足,以便在日后的工作中加以克服。自我不 断的学习吸收新技术,认真学习好规范规程及有关文件资料,并且 及时的把新技术应用在实际的项目中,进一步提高项目的技术含量。 时间总是过得很快,转眼一年又过去了。 历历在目的还是刚进公司的愣小伙。工作上,都是靠着同事师傅的一步步指点,才走到今天。如今,我也终于能自己单独的担负起 一个案子了。虽然,还是经常会犯很多的错误,虽然,还是经常离 不开同事师傅的指点。 但是,回首一年的走来,确实进步了,也收获了很多。 期间接手过P75-309的案子,这个案子带S2功能,是我之前没 有接触过的。因为对原理的不熟知,导致误将LNB升压电感后的电 解电容,耐压值弄错了,最后导致在客户端出了问题。事后,我反 复反省自己,硬件工程师,一定要对自己的方案及电路原理图的每 一部分都熟知。如果我当初理解了BOOST升压电路,就一定会知道 电感后的输出电压,从而避免问题的发生。另一方面,对于自己不 熟悉不清楚的地方,一定要大胆的去请教同事或是师傅。 后面又接受了P75-9202的案子,和马学文一起作为一个团队。 和马工一起交流,学习电源部分的知识。学海无涯,合格的技术人

软件工程导论总结报告

软件工程总结报告 序言 本期软件工程专业导论课程结束后,为圆满完结本期此课程的学习,特此总结个人学习所得以求些许回报先生无私教导。 主体 第一节课主要讲述了软件工程各领域之间的联系以及贯穿始终的基础为何。其中较为基础并相当重要使的应该是算法。对于算法重要性与基础性的理解,我个人有比较切身的体验。比如前不久的ACM 竞赛,在比赛中我所在的小组以及当场几乎所有小组都遇到这样一个问题:超时—这无非就是个人设计的算法的效率不够高,这也证明我们对算法理论知识的匮乏(不清楚优化个人算法的方法)。我对软件工程这一专业有了一个较为全面的把握,对我个人未来进取方向而言也起到了一定的指导作用。 第二节课老师带来了三位本专业的前辈向我们传授大学生活应如何度过以及对我等一些问题作出解答。其中我个人印象深刻的是其中一位学姐PPt中引用李开复的那部分内容。即试着记录下自己一整天做的所有事以及其所花费的时间,再仔细研究自己在哪些事上浪费了时间,应该如何整改。我个人认为这方法可能有一定直观性,因为直观的数据更能深刻的反映真实和刺激一个人整改,但此法实施起来又太古板,中觉得生活有些教条化、章程化,缺乏新意与自由。求上进,珍惜时间也无需以丧失人生情趣为代价。还有就是学长再提潘老师曾讲过的那些重要、紧急优先次序。他提到的个人的学习生活情况

倒没什么深刻感,但我认为他引用的一番话较有道理,大概意思是比起个人兴趣更为优先的应该是谋生的本领,尤其是当自己感兴趣的正好是冷门时。当掌握了一些实实在在有能保证自身良好发展前景后,再去做一些自己感兴趣的事也来得及。于我而言,一个人尚不能独善其身,何求其兼济天下。成己方成人就是如此道理。 第三节课主要讲解了大学学习生活中应着重的基础课以传递重 基础的要旨。据个人体会,其中英语科目实是基础中的基础,主要是为辨认单词(即代码变量以及注释)意义以达到理解他人算法并顺利接手他人接下来的工作。企业和公司出于其本身利益主张雇方市场--讲究项目的可接手性,而不希望对现有人员的过分依赖。离散数学则应该是为之后学习其他编程专业知识做理论知识的铺垫。概率统计更多应是对统计有关算法及理论的学习(个人认为现实生活中许多问题都可以运用概率统计的方法加以解决,因此应是很重要的基础知识)。C/C++(Java)语言是作为编程的工具使用,无疑是基础(现今水平下的我们主要用C编代码)。数据结构则应是提供特定的解决问题的结构思想以便进行数据处理方面工作。算法的重要性以及基础性的个人体会已包含在第一节课中。计算机体系结构与汇编课程与操作系统原理课程主要在于理解计算机系统运行原理能加深对代码运行原理的理解,对于现今水平的我也能更深层次的理解c语言的指针操作等方面知识。汇编语言能够直接对硬件进行操作,生成的程序与其他的语言相比具有更高的运行速度,占用更小的内存,因此在一些对于时效性要求很高的程序、许多大型程序的核心模块以及工业控制方面大量应

软件工程期末复习知识点整理

复习整理 、绪论 1. 软件的定义 软件是能够完成预定功能和性能的可执行的计算机程序,包括使程序正常执行所需要的数据,以及有关描述程序操作和使用的文档。(软件=程序+文档) 2.软件工程的定义 是指导计算机软件开发和维护的一门工程学科;采用工程化的原理与方法对软件进行计划、开发和维护;把证明正 确的管理技术和最好技术综合运用到软件开发中;研究经济地开发岀高质量的软件方法和技术;研究有效维护软件 的方法和技术。 3.软件危机的概念,及出现的原因 软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。 产生原因: ⑴软件规模越来越大,结构越来越复杂 ⑵软件开发管理困难而复杂。 ⑶软件开发费用不断增加。 ⑷软件开发技术落后。 ⑸生产方式落后,仍采用手工方式。 ⑹开发工具落后,生产率提高缓慢。 4.三种编程范型的特点 (1)过程式编程范型:把程序理解为一组被动的数据和一组能动的过程所构成;程序=数据结构 +算法;着眼于程序的过程和基本控制结构,粒度最小 (2)面向对象编程范型:数据及其操作被封装在对象中;程序=对象+消息;着眼于程序中的对 象,粒度比较大 (3)基于构件技术的编程范型:构件是通用的、可复用的对象类;程序=构件+架构;眼于适合 整个领域的类对象,粒度最大 二、软件生存周期与软件过程 1、软件生存周期的定义,把生存周期划分为若干阶段的目的是什么,有哪几个主要活动 定义:一个软件从开始立项起,到废弃不用止,统称为软件的生存周期 目的:软件生存周期划分为计划、开发和运行3个时期;把整个生存周期划分为较小的阶段, 给每个阶段赋予确定而有限的任务,就能够化简每一步的工作内容,使因为软件规模而增长而大大增加了软件复杂性变得较易控制和管理。 主要活动:需求分析、软件分析、软件设计、编码、软件测试、运行维护( P19) 2、软件生命周期划分为哪几个阶段 软件生命周期分为三个时期八个阶段: 软件定义:问题定义、可行性研究; 软件开发:需求分析、概要设计、详细设计、编码、测试; 软件运行:软件维护

相关主题
文本预览
相关文档 最新文档