第一篇:软件工程报告
软件工程实训(论文)
论文题目
学 院应用数学学院 专业信息与计算科学
年级班别12级2班 学 号3212008007 学生姓名 洪春晖
指导老师 李小英
2015 年12月
对软件工程的认识
摘要:
软件工程:顾名思义就是用工程化的方法生产软件的一门学科。软件产业作为信息产业的核心是国民经济信息化的基础,已经涉足工业,农业,商业,金融,科教文卫,国防和百姓生活等各个领域。采用先进的工程化方法进行软件开发和生产是实现软件产业化的关键技术手段。因此,为积极促进我国软件产业的发展,加速我国信息化建设,增强其国际竞争力,国家急需培养大批软件工程领域的实用型,复合型软件工程技术人才和软件工程管理人才。软件工程专业需要一定的专业技能,只有有能力的人才能在社会上立足,所以,所以学习软件工程这门课程不能放松,要按照学习计划按部就班的学习,不能盲从也不能懈怠。每个阶段都要有明确的目标,并把目标细化,付诸实践,要立长志不能常立志。这样才能提高自己的学习效率,增强专业技能,成为真正的软件人。
关键词:测试、过程、能力
一、软件测试
软件测试是软件生产的重要环节。软件质量正确的内涵包括三方面,完整的需求、正确的代码和最少的缺陷。软件测试就是在软件开发的整个生命周期中对这三方面进行有效控制的重要手段,是软件质量的安全副驾驶。据统计,通过必要测试,软件缺陷数可至少降低75%,而软件的投资回报率能达到350%。,软件测试的方式也开始由手工向自动化测试方向转变,测试工具包括白盒、黑盒、嵌入式等七大类。软件测试的蓬勃发展在促进质量提升的同时,也将软件产业带进发展的新时代。
测试方法术语:
1.测试用例:根据测试需求和设计所设计的测试输入、测试操作和预期结果。
2.软件测试:是根据软件开发各阶段的文档和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序缺陷的过程。3.黑盒测试:把程序看成一只黑盒子,测试者完全不考虑程序的结构和处理过程。它根据需求说明书规定的功能来设计测试用例,检查程序的功能是否符合需求,又称“功能测试”。4.集成测试:主要对系统内部的相互服务进行测试,是由底向上通过集成完成的功能模块,对程序内部具体单一功能模块的测试。
5.系统测试:将软件作为整个计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行的一系列的测试。
6.验收测试:验收测试是以用户为主的测试。由用户设计测试用例,使用真实数据进行测试,分析测试的结果。
7.回归测试:指在第一次系统测试完,开发小组已经将所有的缺陷处理后,进行得第二次系统测试。流程图:
:
1.制定测试计划:软件项目经理在制定开发计划时(参见《软件项目策划过程》),应同时与测试质保部一起考虑项目的测试计划。测试质保部制定测试计划,协商安排集成测试和系统测试等工作。测试计划内容包括测试人员安排,测试方案、测试用例设计工作安排和测试执行工作安排等内容,按照《软件测试计划》模板制定。执行人有:软件项目经理、测试人员。
2.评审测试计划:制定完成的测试计划,软件项目经理要组织人员进行评审,评审参照《评审过程》进行。
执行人有:软件项目经理。3.编制和评审测试用例:
集成测试用例编制:测试人员根据《概要设计说明书》文档安排人员制定集成测试方案和测试用例,考虑需要集成的关键模块、集成的次序和需要测试的接口和测试的环境要求等工作。系统测试用例编制:测试人员根据项目的《软件需求规格说明书》,参考项目设计文档,编写测试方案和测试用例,规定测试数据、测试预期结果、测试充分性评价等,重点在功能测试,兼顾性能测试,如确认需要测试的功能和不必测试功能;用户界面的确认;硬件、软件和通信接口的确认等等,完成后的测试用例交给软件项目经理审核,并组织有关人员参加评审,通过评审后入配置管理库进行管理。
执行人有:软件项目经理、开发人员、测试人员。4.准备测试:
检查是否可以进行测试:集成测试的代码是否已完成单元测试;系统测试的代码是否已完成集成测试。
代码及测试文档准备:集成测试和系统测试前开发或配置管理人员应向配置管理库归档最新测试代码及测试所必须的文档。
测试环境搭建:对自己可以搭建测试环境的软件项目,测试时应从配置管理库中提取程序及测试所必需的文档,并根据测试方案搭建测试环境;对自己无法搭建测试环境,可以到现场进行测试,但必须采取措施保证不影响用户原有的系统(做测试方案时应给予考虑)。执行人有:开发人员、配置管理人员、测试人员。5.实施测试:
集成测试:测试人员根据设计说明书和测试方案进行集成测试.系统测试: 系统测试应尽量在与实际运行(使用)环境一致的环境下进行(如果不行,就要在与实际环境有可比性的模拟环境下进行),与计算机硬件、外设、支持软件、资料和人员等其它系统元素结合在一起,测试软件需求规格说明书列出的所有需求,确保所有的软件功能需求都能得到满足,所有的软件性能需求都能达到,所有的文档都是正确且便于使用;同时在测试过程中,应当按照顾客手册或操作手册中规定的使用步骤,以便检查这些文件资料的完整性和正确性。执行人员有:测试人员。6.缺陷跟踪:
使用Test Director作为测试管理工具,记录并跟踪缺陷,统计缺陷数据。执行人员有:测试人员及开发人员。7.回归测试:
缺陷跟踪结束,或者项目组重新提交,测试人员应做回归测试,若第一次测试时的资料未进行修改,例如:用户手册、系统需求说明书、测试计划、开发规范等,测试组将不进行重复测试。
执行人员有:测试人员。8.报告/评价测试结果:
测试结束后,测试人员对测试结果和测试过程等内容进行整理,形成《测试分析报告》,由软件项目经理组织有关部门进行评审,并把评审结果提交软件项目经理及研发经理评价测试的有效性、充分性;如果使用模拟测试环境,还应评价模拟环境与现实环境的差异,确认软件是否通过测试,如果认为软件没有通过测试,可对软件进行修改并修改测试计划进行重新测试或经产品总经理批准,得到顾客的认可后让步放行、使用或接受不合格品。执行人员有:软件项目经理及有关人员 9.报告、测试结果置于配置管理之下。执行人员:配置管理人员。
二、软件工程过程及所需能力
软件工程过程:软件工程过程包含软件开发、维护以及软件开发和维护时所需的管理活动。软件生命周期:软件生命周期是指软件产品从考虑其概念开始,到该软件产品不再能使用为止的整个时期。具体地说,软件生命周期是指从时间角度对软件开发和维护的复杂问题进行分解,把软件生命的漫长周期依次划分为若干个阶段,每个阶段都有相对独立的任务,然后逐步完成每个阶段的任务。一般将软件生命周期划分为六个阶段:计划、需求分析、设计、编码、测试、运行维护。
软件工程专业本科生应掌握科学方法与工程方法;掌握扎实的软件基础理论知识和较宽广的软件工程专业知识,具有技术创新能力;受到良好的软件工程训练,具有较强的工程实践能力和团队协作能力;熟悉软件应用和工具,具备运用先进的工程化方法、技术和工具从事某一应用领域软件分析、设计、开发、维护等工作的能力。软件工程专业本科毕业生应达到基本的数学和语言要求;熟练掌握英语,具备良好的阅读、理解和撰写外语资料的能力和进行交流的能力;拥有较好的沟通技巧和团队工作能力,通晓和遵守法律与职业道德。软件毕业生应获得以下几方面的知识和能力:1。具有扎实的自然科学基础和较好的人文社会科学基础;2.对软件系统、计算机系统、信息系统及计算机软件相关系统的认识能力;3.具备扎实的理论基础,能够全面通晓计算机软件和软件工程的基础知识,较深入理解至少一个计算机软件应用领域;4.有较强的动手能力,能够具有一定的系统分析和软件设计的能力,熟练使用一种以上主流的操作系统、数据库管理系统和程序设计语言,做到理论与实践相结合;5.有实际项目的工作经验;6.具备自学习的能力以适应软件技术的快速变化,能够通过自学的方式在较短时间内掌握系统软件的使用;并且具有熟练使用各类流行软件解决实际问题的能力;7.能够综合应用各类方法、技术和工具,运用工程技术方法解决复杂性软件问题的能力;8.掌握一门外语,具有听、说、译、写以及熟练阅读外文文献能力,以此具备语言、交流、写作等基本的软件从业能力,认同现行的法律、道德和伦理。软件工程课程应该加强理论与实践的结合,在学习的过程中实践所学理论。
第二篇:软件工程认识报告
我对软件工程的认识
班级:软件二班
随着现代计算机应用的日益普及,软件数量的急剧上升。在程序运行时发现的错误必须设法改正;用户有了新的需求时必须相应地修改程序;硬件或操作系统更新时,通常需要修改程序以适应新的环境等等情况都需要对软件进行维护,这样就导致了“软件危机”的产生。为了应对“软件危机”,这样软件工程运应而生。
在我看来,软件工程就是指导计算机软件开发和维护的工程学科。它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,经济地开发出高质量的软件并有效地维护它。
正因为软件工程学对我们以后从事软件行业工作有着举足轻重的指导作用,作为新时代的学生,为了振兴我国的计算机和软件产业,具备软件工程思想和技术,我们更应努力学好软件工程该门课程。
我们要从理论的高度了解软件的开发过程,吸收借鉴学习前人总结的方法与教训,站在一定的高度避免自己在以后的软件开发过程中重蹈覆辙,减少开发的损失与风险。由此可见,软件工程课程的学习,对以后我们的从事软件开发实践活动意义重大,不可不学!
对软件工程该学科的学习,我们要端正要自己的态度,培养自己对这们学科的兴趣,自主学习,领悟前人总结的开发经验。同时也要注重实践的验证,只有理论与实践相结合,才能起到事半功倍的作用。相信通过自身的努力,一定会收获更多的!
第三篇:软件工程实习报告
一、实习目的
这次实习的目的是为了提高我的专业技能、实践能力、以及让我了解一些实际的工作情况。对我在正式工作前有很重要的意义,不论是专业技能,还是综合素质,以及实际中的人际关系都有了更加深刻的体会,让我在正式工作前有了一笔很珍贵的经验。
这次实习的主要任务就是在了解整个软件的制作过程,以及各个环节中的细节,学会了这些环节,并能用学到的知识来完成公司的项目。现阶段我所做的项目有《意见反馈管理系统》、《智能控制网关系统》,《意见反馈管理系统》这个项目我和另一名同事共同将其完成,完成用户意见的收集与处理,尽最大程度的将我们所学到的知识转化成实际。为更大的项目做好充分的准备,让我们可以在实习过后的正式工作中,有准备的去面对。公司的最终目的就是希望我们通过这个简单的项目能了解项目的制作过程,并理解各个环节的意义。让我们能够充分的理解项目制作过程以及项目制作中各个流程的意义。
二、实习单位及岗位
我所实习的单位是XXX有限公司的XXX部。这个部门的主要职能就是家用电器的智能化,按照客户的需求制作成相应的软件,所以我们需要对整个软件开发的过程都较熟悉,这样才能应对客户们各种各样的问题,才能制作出更好的软件以满足客户们的需求。
我的职位是java软件工程师,时间是XX年XX月XX日——至今,实习时间总长应为X个月。实习的地点是在公司的,早8:30晚5:30,周六上午加班,每周六下午、周日休息。
整个实习是实际项目制作以及专业知识的学习。具体的每周任务、实际工作内容、以及专业知识与专业技能的实际应用会根据不同的环节也有所不同。但总体的目标就是让我们了解实际工作中软件的制作流程,以及各个流程中所需要的技术和注意点,并用实际的项目让我们进行练习。
三、实习过程
上面已经介绍了个整个实习的任务以及目的,下面将详细介绍整个实习的流程,并对每个流程的细节加以详细说明。具体的时间安排如下:
第一周
配置Java、Eclipse、数据库等的环境,熟悉XX管理系统的代码,完成XX管理系统的apk资源本地上传至tomcat服务器不同步到FTP服务器的功能和手机软件升级功能了解用户回馈系统的需求,完成回馈系统设计书,创建Customer工程,完成其基本结构以及用户意见收集基本页面
第二周:
完成了页面表单提交的检查(电话、邮箱、字数限制的检查),完成了用户意见收集页面到用户意见提交成功界面的跳转,基本完成dao的save方法、service、action部分,调试dao、service、action代码,实现了收集用户意见,保存到数据库,跳转到收集成功页面的功能;完成了查询详情并回复的页面(dao、service中的查询、更新算法,action中的跳到查询详情并回复的页面和跳到回复成功页面);完成了用户意见收集页面和用户意见提交成功界面调整,使其适应各个型号的手机界面,更改了表单检查出错的提示方式;将查询页面与查询详情页面的动作统一,修改查询详情并回复页面的样式
第三周:
完成了查询详情页面的状态的默认下拉选框功能,完善了查询详情页面的状态的提交和返回按钮,再返回查询页面时,保证页码、状态等的原来状态;完成用户回馈系统的代码review;完成用户回馈系统的测试设计报告书;完成用户回馈系统的测试设计报告书review;完成用户回馈系统的代码review 第四周:
测试网关系统,做1-22号灯的单开、单关、全开、全关的测试;学习ScalaAPI,安装Scala,ScalaIDE,SBT并配置环境;做网关COMM2、COMM4、COMM6端口写的测试并学习Logback日志;学习网关系统中关于PLC设备的代码并且测试网关COMM2、COMM4、COMM6端口写(C语言部分)
四、实习总结
我的实习还在进行,这次的实习,对于我们这帮还没有毕业的学生来说可以用意义重大四个字来形容。他不仅仅对我们的专业知识进行了巩固和拓展;还对我们作为软件开发人员的视野进行了增大,让我们了解了很多软件开发这个职业应该注意的一些细节;更是让我们亲身体会了软件工程这门科学对于一个软件的意义。这些经验对我们来说就是一笔宝贵的财富。而经过了这几个周的实习,在我的努力下,完成了既定的的任务,但我想说的是,在这个过程中,我并不仅仅是完成了任务,更是满载而归:项目的制作以及疑难问题的解决,将我们把大学期间那些快要淡忘的知识又重新熟悉了起来,并且对代码有了更深层次的理解。代码的复用性、类与类之间的调用、对象的创建、数据库的连接以及操作等各种专业知识的使用,让我们能更好的将这些各种各样知识合理的整合在一起。
如果说专业知识收获颇多,那么接下来的职业技能却是我认为在整个实习过程中收获最大的地方。代码的注释以及编码的规范这两点是我以前很少注意的地方,对其也并没有多少重视。但这一次,却明白了他的重要性:这是作为一个软件开发人员必须应该具备的能力,或者说应该特别注重的地方。因为我们的代码并没有多少注释以及很多地方的编码很不规范,企业老师宁愿让我们多花一周的时间修改,也没有匆匆的进行下一步测试。在修改的这一周内,通过自己的体会以及老师的重点强调,对于代码的编码规范和代码的注释有了更深层次的理解。通过了这次的实习,我个人认为,代码的注释以及编码的规范比个人的技术更为重要。这次实习的最终目的就是希望我能够独立完成一个了软件项目的制作,充分了解软件项目的制作流程。这一次的实习,主要有制作文档和编码。
最后,总结这段时间的实习生活的收获,真的是使我受益匪浅。在实习中,我学习到了不仅仅是技术上的收获,更还有生活中的的人际交往以及其他的许多经验。而这些,都将作为我迈入社会的根本,我将以此为我的基础,怀着一颗勇 敢无畏的心去迎接我即将来临的工作。
五、实习体会
这一次的实习,给了我很深刻的体会,不仅仅是专业的收获,更还有团队间的相互合作,这些让我明白了团队的意义。工作即将来临,我期待着工作的到来,我将带着这次实习的收获,尽量的将学到的知识运用到实际工作中,去迎接一个又一个的挑战。前方的路会有很多困难等着我,但我不怕,因为我坚信,只要我努力,终会克服这些困难。路就在脚下,我将带着坚定的信念,不畏挫折,勇往直前!
第四篇:软件工程实习报告
软件工程实习报告范文
【软件工程实习报告范文一】
时间过的很快,转眼间已经实习将近5个月。
最先在内部系统组参与内部管理系统开发(struts+mysql+spring+hibernate),之后是去做网络交换机软件的脚本测试。现在又回归内部系统,虽然在脚本组期间,编码能力被别人甩在后头,但至少具有了一些测试经验。
至少自己做的东西,是真正交付到了客户手上,到也稍微有些成就感。
浅谈测试
一直以来,我都认为测试是脱离了软件工程范围的工作,不以为屑。但在实际情况中,测试是既重要且难以精湛的.其真正的压力,在于找不到bug,责任在你,而不在于编码人员。一般的测试人员不懂编码,他们靠的是日以累计的经验总结和想象力。而要做到高级测试工程师,则一定要懂编码,因为这是你完全掌握整个系统的方方面面具体运作的前提。但占主导地位的,还是大型系统的集成测试经验。实际项目中,编码时间一般只占30%左右,真正耗费时间的是IT阶段的找bug与对应bug,此阶段基本评定了coder的编码质量。
程序员的困惑
有些人,以为教学视频和代码看多,自己就懂的多,实际做起来,却不知从何下手,问题在那?如何定位?如何解决?通通跟一样能力有关,debug追踪能力,也称调试。在项目组工作不愁源码资源,但问题是蛋糕摆在面前,你如何去消化?
有位同事告诉我:代码看几遍都没用,要去抄,例如一个查询模块,在此基础上去做具体记录的历史记录查询模块,你可能会觉得很简单,但实际情况却往往报一堆异常,配置问题涉及到方方面面,以及数据库字段,传值问题等等,一大堆对于新人来说很郁闷的问题。但不用怕,只要学会调试,一个个问题去追踪,一个个去解决,自然而然,那段“源码”才真正属于你。
如何调试追踪?
如果你能在短短的时间内就看到问题点在那,放下断点去追踪,出去找工作,绝对没问题。出现问题的时候,不要光看代码,要用实际行动去追踪运行期间的具体值,那是最好途径。eclipse是个很爽的ide,这点做的很好。例如页面内容显示不是自己想要的数据,我们要先从数据库查询语句去下手,设置断点,一步一步step over,让sql字段(存取最终sql语句的字符串)运行到有值,inspect进去看,如果还看不出来,就点击它,copy后在sql客户端去实际运行,看看实际查询出来的表是什么,如果是对的,有可能就是页面调用的错误或者action逻辑的传值问题。
页面错误的调试,基本方法是用右键点击实际网页查看源代码,copy到editplus,就能看到具体错误发生在那几行。通常有几种常见的错误,例如:缺少对象这种很多时候是有些被你调用的字段有可能为空的情况出现的,可以加if(xxxLiuXue86.Com=null)语句加保护。追踪的方法基本就是用alert语句,放在有可能出错的地方。
一些习惯
遇到问题先自己思考,无从下手再找高手帮忙看看,注意他帮你看的思路,别在一旁闲着,看多了自己也会了,不然你一辈子都停留在那种水平,从人身上学到的东西远远比书多的多。
解决了一个问题后,要去究根问底去找到问题产生的起因,以防你下次遇到类似的问题再浪费同样的时间。
把代码写的漂亮,注释、空行、规范一样不能少,可读性是放在第一位。曾经看过一个高手写的代码,真的一看就是不同水平的人写的,几乎很完美,读起来很流畅,方便自己也方便别人。
任务完后不要呆着,去要求经理给你更有挑战性的任务,只要你肯去尝试,他们就会对你另言相看,把三天的任务一天加班搞定,效率和忠诚都有了,路也比较好走了。
题尾话
如果你有一份思想,我有一份思想,拿出来交换,我们大家拥有就是2分份思想,可惜这种观念,并不能深入每一个团队的每一个人,少一点自私,未必不是好事。职场到处都存在被排挤的隐患,要为自己找片草地实在不容易。但有一点要相信,只要自己不放弃自己,这世上就没有绝望的路,你可以被打趴下,可以被身边的人暗算,可以被深爱的人流放,只要你用自己决心站起来,受过的伤痊愈后就能增强你的抵抗力,一路前进!
【软件工程实习报告范文二】
一、关于实习公司
我所实习的南京xx软件有限公司简称xx公司,公司成立于XX年,主营软件开发和信息系统集成,专门从事工程建设项目管理信息系统开发和实施,具有自主知识产权的项目管理软件产品xx项目管理系列软件(包括xx投资控制合同管理软件、xx进度控制计划管理软件、xx质量控制安全管理软件、xx项目管理门户、xx城建项目管理平台等),并已经在全世界第一大桥苏通长江大桥、国内最大的开发区苏州工业园区以及南水北调工程实施和应用,目前正与南京城建集团合作,开发城建项目管理平台。
二、实习的内容
今年xx月xx日开始,我正式走进xx开始了实习工作,并被调到了江苏省建筑质量检测中心,参加正在进行的一个检测项目。由于我才大三,本身对企业的经营方式等都很陌生,公司让我们的王工带我学习,以师傅带徒弟的方式,指导我的日常实习。在王工的热心指导下,我依次对此次项目的业务流程和大概框架进行了了解,并积极参与相关工作,注意把书本上学到的理论知识对照实际工作,用理论知识加深对实际工作的认识,用实践验证大学所学确实有用。以双重身份完成了学习与工作两重任务。跟公司同事一样上下班,协助同事完成部门工作;又以学生身份虚心学习,努力汲取实践知识。我心里明白我要以良好的工作态度以及较强的工作能力和勤奋好学来适应公司的工作,完成公司的任务。
三、实习的提高与收获
实习收获,主要有四个方面:
一是通过直接参与企业的运作过程,学到了实践知识,同时进一步加深了对理论知识的理解,使理论与实践知识都有所提高,圆满地完成了本科教学的实践任务。
二是提高了实际工作能力,为就业和将来的工作取得了一些宝贵的实践经验。
三是一些学生在实习单位受到认可并促成就业。
四是为毕业后的正式工作做好了准备。
四、结语
到公司实习并没有我想象中的难以融入,通过慢慢的学习,发现在公司用的到得知识在我们的学校学习中都会遇到。至暑期结束,从不懂到渐渐的做了几个检测项目。学到不少的东西。实习生活还没结束,开学了我还是会继续留在公司我的学习和探索。
[软件工程实习报告范文]
第五篇:软件工程报告格式
程序设计基础实验(2)
综合性项目报告
课目:
学院:
班级:
学生:
指导教师:
完成时间:
课程设计(论文)评审意见
(1)课程设计过程(20分):优()、良()、中()、一般()、差();
(2)是否完成调试,系统运行效果(30分):优()、良()、中()、一般()、差();
(3)回答问题(20分):优()、良()、中()、一般()、差();
(4)课程设计报告(30分):优()、良()、中()、一般()、差();
(5)格式规范性及考勤是否降等级:是()、否()
目录
1、项目内容、要求与分组情况总体介绍..错误!未定义书签。
2、概要设计..............错误!未定义书签。
2.1开发工具及环境.....错误!未定义书签。
2.2 任务及需求分析.....错误!未定义书签。
2.3 功能模块设计.......错误!未定义书签。
2.4 工作原理...........错误!未定义书签。
3、具体实现............错误!未定义书签。
3.1 类设计......错误!未定义书签。
3.2 模块及实现代码介绍........错误!未定义书签。
4、运行调试与分析讨论........错误!未定义书签。
5、设计体会与小结.........错误!未定义书签。
6、参考文献..............错误!未定义书签。附录:(源程序).............错误!未定义书签。