第一篇:软件工程发展调研报告
软件工程发展调研报告
专业简介软件工程(Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业,农业,银行,航空,政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。培养目标
为培养适应政府机关、事业单位、大中型企业的IT岗位要求的系统化、工程化的专业人才。
学习课程
以上海交通大学软件工程系为例,除基础必修课程,通识课程及个性化教育以外,所需要学习的专业课程有:
专业必修类:
1.程序设计与数据结构
2.数据库原理与技术
3.计算机组成与系统结构
4.计算机系统概论
5.数字电路与数字逻辑
6.软件工程概论
7.软件测试
8.面向对象分析与设计
9.编译原理与技术
10.操作系统
11.计算机网络
12.软件过程与管理
13.人机界面与交互
14.系统设计与开发大型课程设计
专业方向类:
1.嵌入式系统原理技术基础(嵌入式系统)
2.信息系统分析与设计(信息系统)
3.分布式计算(网络计算)
4.中间件技术(网络计算)
5.游戏程序设计(数字媒体与应用)
专业选修类:
1.主流数据库系统与应用
2.数字图像处理
3.计算机图形学
4.Linux内核分析
5.形式化方法
社会需求与就业形势
软件工程师在全国各地都有着广阔的市场,但主要集中在北京、上海、广东、深圳、浙江、江苏、福建这些沿海发达地区。
根据2009年毕业生就业状况统计,软件工程专业毕业生在各理工科类中就业率比较靠前,同时根据IT产业目前的发展状态来看,在今后的一段时间内,该专业的毕业生需求将不会出现忽冷忽热的情况。
虽然软件工程师的需求很大,但大部分公司都要求应聘者要有出色的专业技能,很看重应聘者的工作经验和专业素养,竞争非常激烈。这对于应届毕业生有很大的挑战,需要具备过硬的基本功和技能才有可能被招收。
主要相关行业
1.JAVA软件工程师
2.VC软件工程师
3..NET开发工程师
4.嵌入式软件开发工程师
5.Delphi开发工程师
6.数据库工程师
7.网站程序员
8.硬件工程师
9.PCB设计工程师
10.FPGA工程师
11.嵌入式硬件开发工程师
12.通信设计工程师
13.项目管理人员
14.教师
代表性企业
1.Microsorft
2.Apple
3.4.5.6.7.8.Oracle IBM Cisco Huawei Tencent Baidu
这些企业作为行业的代表性企业,特别是Microsoft、Oracle等从事技术相关行业的大型软件公司,对应届毕业生的招收情况并不理想,大多偏向于有实际项目开发经验,专业知识过硬的应聘者。大多数的软件工程应届毕业生往往是先就职于小公司担任开发/代码编写工作(即所谓软件“蓝领”),在积累一定工作经验和能力后,再另谋其它出路。
当然,这些企业也接受并乐于接受优秀的应届毕业生,同时往往有员工职业发展培训课程等,使得那些没有工作经验或工作经验较少的应聘者能够更快的适应工作环境。主要部门
以Microsoft为例,除常规部门外,在软件工程方面设:
1.产品规划部门
2.内容发布部门
3.创新部门
4.国际项目工程及本地化部门
5.常规软件管理部门
6.软件开发部门
7.软件构建部门
8.软件测试部门
9.用户体验部门
10.计划管理部门
11.硬件工程部门*
相关职位的职责
1.软件开发工程师
完成软件的设计、开发、测试、修改bug等工作,包括业务需求的沟通,功能模块详细设计,业务功能实现与单元测试,系统维护。
2.软件测试工程师
软件测试就是使用人工或自动手段,来运行或测试某个系统的过程。其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。开发工作的根本是尽量实现软件用户的需求,测试工作的根本是检验软件系统是否满足软件用户的需求。
3.数据库工程师
设计并优化数据库物理建设方案,制定数据库备份和恢复策略及工作流程与规范,并针对数据库应用系统运行中出现的问题,提出解决方案,同时对空间数据库进行分析、设计并合理开发,实现有效管理,以及监督数据库的备份和恢复策略的执行、为应用开发、系统知识等提供技术咨询服务。4.程序员
软件项目的详细设计、编码和内部测试的组织实施,对小型软件项目兼任系统分析工作,完成分配项目的实施和技术支持工作。
5.硬件工程师
按照计划完成符合功能性能要求和质量标准的硬件产品,根据产品详细设计报告,完成符合功能和性能要求的逻辑设计,根据逻辑设计说明书,设计详细的原理图和PCB 图,编写调试程序,测试或协助测试开发的硬件设备,确保其按设计要求正常运行。
6.通信设计工程师
负责通信机房电源设计的前期勘察、通信电源勘察现场的方案、完成通信电源设计及概预算、通信电源设计的可研及规划等。
职业发展前景
软件工程专业的学生,其职业发展前景相对还是较为乐观的。大多数本专业的学生可能会从事开发或测试相关的工作,部分可能会进入各大运营商等担任技术支持,或从事理论研究和任教等。
本专业在就职后可能的发展路径有:
1.程序员->软件开发工程师->项目经理->总工程师或开发部经理等
2.软件测试工程师->系统分析师->项目经理
3.技术支持人员->市场部门->开公司
4.技术支持人员->行政部门->部门经理或总经理等高层
当前需要努力的方向
对于IT这样一种新兴的产业,每个岗位并没有其固定的专业能力要求。更多的方面是注重理论知识的扎实程度和学习、创新能力等。
以.NET开发工程师为例,若从事网络开发相关工作,在专业方面我所欠缺的主要是web项目的实战开发经验以及对一些框架的应用能力以及网络开发相关测试的能力。值得提出的一点是,由于本专业的技术大多来源或借鉴于国外先进技术,对于外语的要求也相对高于其他专业,但我认为,更需要去拓展的方面还是对新兴技术的理解以及对主流编程语言和开发工具的熟练使用。
从素质拓展的角度来讲,虽然开发工作并不注重与人交往的能力,但大多数的软件开发工作非一人所能完成,更需要看重的是团队的协调合作能力。此外,在软件开发过程中,一定的模仿和创造能力也是必需的,作为一个优秀的软件工程师,应不但能够吸取已有工程中的长处,更应能够提出自己独到的观点和想法。
同时,软件开发行业具有工期短,工作强度大等特点,在一定程度上需要员工的身体素质能够应对长时间高负荷的工作和较强的责任心,这也应是在素质拓展方面所做的准备。
第二篇:软件工程报告
软件工程实训(论文)
论文题目
学 院应用数学学院 专业信息与计算科学
年级班别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.掌握一门外语,具有听、说、译、写以及熟练阅读外文文献能力,以此具备语言、交流、写作等基本的软件从业能力,认同现行的法律、道德和伦理。软件工程课程应该加强理论与实践的结合,在学习的过程中实践所学理论。
第三篇:软件工程的发展心得体会
软件工程的发展心得体会
信息技术工程学院
11计科 纪月 2011091109
2013年10月18日应信息技术工程学院邀请,云南省优秀中青年破格教授、硕士生导师、昆明理工大学信息工程与自动化学院计算机系副系主任、昆明理工大学软件质量技术研究所所长、中国计算机学会软件工程专委会委员姜瑛教授做客我校,为信息技术工程学院师生作了题为“软件工程的发展”的学术报告。
在学术报告过程中,姜瑛教授的报告语言生动、案例切实,精彩的演讲,让我们对软件工程的了解也更加深入和具体。
20世纪50年代,软件伴随着第一台电子计算机的问世诞生了。以写软件为职业的人也开始出现,他们多是经过训练的数学家和电子工程师。1960年代美国大学里开始出现授予计算机专业的学位,教人们写软件。
在计算机系统发展的初期,硬件通常用来执行一个单一的程序,而这个程序又是为一个特定的目的而编制的。早期当通用硬件成为平常事情的时候,软件的通 用性却是很有限的。大多数软件是由使用该软件的个人或机构研制的,软件往往带有强烈的个人色彩。早期的软件开发也没有什么系统的方法可以遵循,软件设计是 在某个人的头脑中完成的一个隐藏的过程。而且,除了源代码往往没有软件说明书等文档。
为迎接软件危机的挑战,人们进行了不懈的努力。这些努力大致上是沿着两个方向同时进行的。
从管理的角度,希望实现软件开发过程的工程化。这方面最为著名的成果就是提出了大家都很熟悉的“瀑布式”生命周期模型。它是在60年代末“软件危机”后出现的第一个生命周期模型。如下所示:
分析 → 设计 → 编码 → 测试 → 维护
后来,又有人针对该模型的不足,提出了快速原型法、螺旋模型、喷泉模型等对“瀑布式”生命周期模型进行补充。现在,它们在软件开发的实践中被广泛采用。
这方面的努力,还使人们认识到了文档的标准以及开发者之间、开发者与用户之间的交流方式的重要性。一些重要文档格式的标准被确定下来,包括变量、符号的命名规则以及原代码的规范式。
软件工程发展的第二个方向,侧重与对软件开发过程中分析、设计的方法的研究。这方面的重要成果就是在70年代风靡一时的结构化开发方法,即PO(面向过程的开发或结构化方法)以及结构化的分析、设计和相应的测试方法。
软件工程的目标是研制开发与生产出具有良好的软件质量和费用合算的产品。费用合算是指软件开发运行的整个开销能满足用户要求的程度,软件质量是指该 软件能满足明确的和隐含的需求能力有关特征和特性的总和。软件质量可用六个特性来作评价,即功能性、可靠性、易使用性、效率、维护性、易移植性。
软件不是纯物化的东西,其中包含着人的因素,于是就有很多变动的东西,不可能像理想的物质生产过程,基于物理学等的原理来做。早期的软件开发仅考虑 人的因素,传统的软件工程强调物性的规律,现代软件工程最根本的就是人跟物的关系,就是人和机器(工具、自动化)在不同层次的不断循环发展的关系。
面向对象的分析、设计方法的出现使传统的开发方法发生了翻天覆地的变化。随之而来的是面向对象建模语言、软件复用、基于组件的软件开发等新的方法和领域。
与之相应的是从企业管理的角度提出的软件过程管理。即关注于软件生存周期中所实施的一系列活动并通过过程度量、过程评价和过程改进等涉及对所建立的 软件过程及其实例进行不断优化的活动使得软件过程循环往复、螺旋上升式地发展。其中最著名的软件过程成熟度模型是美国卡内基梅隆大学软件工程研究所(SEI)建立的CMM,即能力成熟度模型。此模型在建立和发展之初,主要目的是为大型软件项目的招投标活动提供一种全面而客观的评审依据,而发展到后来,又同时被应用于许多软件机构内部的过程改进活动中。
迄今为之,为了达到最初设定的目标,软件工程界已经提出了一系列的理论、方法、语言和工具,解决了软件开发过程中的若干问题,而软件工程正式从管理和技术两方面研究如何更好地开发和维护计算机软件的一门新兴学科。
姜瑛教授的报告会让我们对软件工程的发展历程和趋势、研究内容和方法等有了更为深入的认识,进一步激发了我们对软件产业的兴趣及关注。
第四篇:软件工程校外实习报告
导读:实习报告是指各种人员实习期间需要撰写的对实习期间的工作学习经历进行描述的文本。它是应用写作的重要文体之一。下面小编为大家带来软件工程校外实习报告,希望能帮助到大家。
软件工程校外实习报告企业概述
1.1 企业发展简史
开封天一软件科技有限公司(原河南省开封市王子科技公司)是经国家工商管理机构注册批准的一家专门从事企业软件开发与办公信息化建设的高科技企业,公司拥有一批经验丰富、技术精湛的系统设计、实施及售后服务人员;公司拥有雄厚的技术实力和核心自主知识产权,能为企业提供从技术咨询到解决方案;从电脑设备供应到软件产品定制;从软件操作培训到售后维护服务等全过程的高层次优质服务。
公司自主研发的软件产品涵盖了企业办公、财务管理、互联网应用、服务器出租、服务器托管、进销存管理、工业控制,仪表数据采集与测控,人工智能等多种商业领域。公司本着“采用先进技术和平台,提供高效、稳定的软件系统”的产品质量方针和“一切以用户为中心”的企业服务理念,与您共同推动我国企业的信息化建设。
1.2 企业现状
一个没有优秀民族文化的民族,不能自强于世界民族之林;同样,一个没有优秀企业文化的企业也不能自强于强烈的市场竞争之中。天一软件科技有限公司将禀承“用户至上、用心服务”的服务理念,创建独具特色的国际化IT企业文化,借鉴中外软件企业的成功经验,与国内外友商精诚合作,紧趋世界信息技术发展潮流,致力于民族软件业的腾飞,向着成为中国一流的国际化IT企业的目标迈进!为了实现“让客户尽情享受信息新生活”的企业使命,天一软件着力进行业务与服务创新,持续不断地向广大客户推出科学、适用的业务,较好地打造了业务品牌的形象和优质服务形象,理念先进、功能完善的天一综合短信系统系列产品,天一商务领航平台、天一统一充值平台等系统逐渐深入客户的实际应用,提升客户感知的进程没有终点,福富软件以创新的精神推出业务、服务客户的追求永无止境。
天一软件强调以人为本,认为对员工的投资是最重要的投资,通过对员工的培训提高员工的技术能力,并在平时通过多个方面让员工随时随刻感受到盛鸿这个大家庭的温馨、友爱。
创新是一种积累。不积跬步,无以至千里;不积小流,无以成江海。我们的邻国日本战后一片狼籍,但是凭着“每天PDCA,每天进步1%”的精神,一点一滴的创新,终于成就了一个科技和经济强国。创新不是海市蜃楼,她就在我们身边,伟大的创新也许当初只是一个看似很傻的念头,但如果当初没有人插上翅膀想飞却飞不起来,有怎么会有今天的飞机呢公司将创新理念运用在公司的发展,项目的开发当中。天一当前的创新重点在于业务创新、技术创新、管理创新,提倡大胆创新,不怕失败,“莫以善小而不为”,从工作中的每个细节入手,从一点一滴做起,让创新逐渐成为习惯。实习过程
最为一个软件开发技术公司,不同于一般的那种严肃的气氛,天一中给人的感觉是比较的宽松,公司的人情味也比较浓。对于我们这一批参加暑期社会实践短期活动的在校学生,也都按照一般公司的标准要求我们,当然在这期间对我们的待遇,如:伙食、上下班的班车接送、业余文体活动等,也对我们一视同仁,这也是我们真正的体验该公司的生活工作提供了不小的帮助。
这种气氛,加上先前进入公司的师兄师姐,以及其他的热心的老员工的帮助,使我们几个很快的融入了这个公司中,在工作中更好的与周围的同事的进行交流、合作;在工作之余我们也参加了公司组织的一些文体活动,如羽毛球、卡拉OK等。
2.1环境适应
这次的社会实践活动,每个人都有一个很明确的任务,所以意味着我们不可能如以往的简单的了解一些企业文化,简单的学学新的知识就可以了,我们的这一个多月必将是一个繁忙的一个星期,也必将是一个充实的,进步的一个星期。下面介绍的是我们在公司的生活与工作中所遇到的一些困难,还有我们一般的生活工作时间安排以及具体的工程开发内容。克服困难,养成良好的工作生活习惯。基于各方面的原因,虽然在去之前我们做了比较充足的准备,但还是遇到了一些困难,例如工程阶段比较繁多,但时间又比较的短。
由于我们可算是第一次正式的参与企业的开发,在经验、知识上必然是有所欠缺,所以在开始阶段我们主要都是了解项目的背景知识,进一步学习基本的一些项目原理等。而后要进行设计工作,然后才是真正的工程开发过程,还有调试过程。再由于我们只是短期的社会实践工作,为了所做的工作在以后能真正为人所用,我们在走之前还要留下完善的相关文档。短短的一个星期,要分成这么多的阶段,而任务就摆在那,每一阶段的时间可想而知是多么的宝贵。
由于时间比较的紧。在这段时间我们既要看文档、又要搞设计,既要编程序,又要测试,还要编写整理对应文档。所以有时是每天中午都没得休息赶着的干,下午下了班,别人都回去了,我们还在那儿加班,一直到晚上9点多,才坐上公交车花一个小时回住处休息。大家常常是坐在车上就睡着了。
另一方面,由于公司没有给我们解决住宿问题,我们刚开始是在在公司同学的帮助下在体育场附近找的一个地方住着,后来又找了个地方,但还是在那一块。虽然是坐在公司的班车上班,但由于是班车的第一站,很早就要上车,每天6:30就得起床。而在公司中午1:00上班,原来在学校的午睡习惯也只能去掉了,所以为了保持上班时有旺盛的精力,我们一改在校晚睡得习惯,每天晚上回去10:30就会睡觉。这样的一坚持就是一个星期,虽然是苦了一点,但我想这也无形中让我们培养了一个良好的作息习惯。
而在这一个多月中,我们基本做到按照公司正式员工的标准来要求自己,跟他们一样的上班时间,遵守一样的规章制度,保持旺盛的工作动力。一般是每天工作7个半小时,从8:45-12:00和13:00-17:15。当然有时候为了赶进度我们会在晚上或周末加一下班,而在相对比较轻松的阶段,特别的是在初期时,我们也会在工作中,找机会多学一些相关的知识。
2.2具体的工程开发内容
由于我们四个人分别的加入了三个不同的项目开发小组,以下是他们对于这次工作的一个小小的总结:
我们于今年的暑假去天一软件进行社会实践,所做的项目为ST(系统测试)部门的MR(Modify Request)系统,MR系统为ST部门的最常用软件,是进行软件测试的必备工具,由于原有的工具已经不能满足现在的要求,我们将利用更新的技术,基于新的需求分析,重新编写该应用软件,该软件采用流行的Web_Browser的结构,利用ASP SQL Server来实现整个系统,整个开发过程完全采用现代软件工程的方法来监控整个软件的质量。第一步的需求分析由朗讯公司提出,并做出了相应的Tier2文档。第二步的系统设计和数据库建模由我和另一位同学完成及相应的Tier3,其中经历了数次反复和review最终得到了一个完整的Tier3文档,第三步为coding,由于有前两步的基础,此步骤得以很快的完成。最后的软件通过了ST部门的专门测试,最终得到了部门经理的好评。
通过这一次社会实践,使我们在课堂上学习到的抽象的软件工程的理论有了一次实践的机会,经历了正规的软件过程,而且给了我们一次难得的与人合作的机会,相信这一切对我们将来从事大型软件开发都将是难得的财富。
TMS(Task Management System)项目管理系统
这个系统是由同事独立完成的,以下是他对于这次作的一个小小的总结:
在暑假期间,我到了天一软件科技有限公司实习,在软件部(SW部门)负责基于web的项目管理系统的开发工作,即TMS(Task Management System)。
开发这个系统的目的是为了管理天一软件公司SW部门现在正在开发的发展情况,以方便管理者和项目的参与者之间的协调。开发的系统应该能够跟踪项目的最新进展情况。
在这个系统里,最上层的对象是项目,下面分成若干子项目:子项目下又分成若干Task(任务)(Project-Sub_Project-Task)这样的层次结构。对应于项目(Project)有项目主管PM(Project Manager),对应于子项目,有Team Leader;对应于任务,有Task Owner、Task Member、Task Reviewer。PM负责添加、修改项目和子项目,以及添加上面所述的他以下的任何角色。上面的角色能加下面的角色,而下面的角色不能加上面的角色。TeamLeader负责子项目的管理(添加,修改,等等)。TaskOwner负责自己的一个或多个Task,定时向PM作报告(通过程序设置的时间发送定制的Email)当一个Task完成后,PM检查,确认后就结束此一Task并向所有的人(SW部门的人)发程序定制的邮件。当所有Task,Sub_Project都完成或部分、全部被取消后,整个项目就结束了。
整个系统用Web形式显示和使用。采用Active Server Pages即所谓ASP技术。数据库采用Oracle数据库,采用OLE连接远程数据库(TMS和数据库不在同一台机器上)。
虽然实践的时间比较的短暂,但我还是有了不小的收获,最大的收获是了解了一些软 件开发的程序化生产过程。还有就是能有机会向SW部门的职员的一丝不苟、兢兢业业的敬业精神学习。相信这些都将给我以后的学习和工作带来不小的帮助。
呼叫中心项目关于电话银行的开发公作前面已经提到过呼叫中心CALLCENTER解决方案是天一软件作为该公司新的经济增长点来开发的,文书解决方案适于针对不同的需求在上面开发一步的CTL应用,就如民 航语音电子系统、电子股票交易系统等,电话银行地其中一个可能的应用,也是公司在该解决方案上正在开发的第一个系统,而我本人则就是参加这个项目的工作。介绍如下:
电话银行系统的目标是提供银行的基本业务处理功能,其服务形式可发是自动语音或人工坐席。电话银行系统的主要功能包括账户查询、账户转账,、客户信息服务及客户投诉四大部分,我在该项目的具体工作就是,参与初期的需求分析以设计的讨论,提出一些建议,并在后面负责其中一个数据应用网的设计、开发以及调试。
该数据应用网关主要用来与电话银行系统以外的数据源进行通信,用于向电话银行系统屏蔽外界的数据的细节,如存放格式、存放地点、版本等。应用网关有以下的接口,如与电话银行系统的TCP/IP通信接口及DCOM维护管理接口,还有与外界数据源的数据接口。针对于电话银行的这个应用网关的开发的主要工作由以下几部分组成:
a.根据电话银行IVR流程的具体需求,和IVR协商确定IVR数据请求以及返回的接口,建立与数据库的连接,并且根据和IVR的数据接口编写具体的数据应用流程。
b.应用维护管理接口进行应用网关与网关服务器的连接、注册工作,并实现网络服务器对应用网关远程操作中的一些方法。
c.应用TCP/IP通信接口,在应用网关上实现IVR经由网关服务器的数据请求的处理。
d.修改完善操作界面并编写《应用网关用户操作说明书》。
这些工作主要涉及到数据库的远程操作、微软的COM/DCOM通信机制还有TCP/IP通信原理,所以说这一次的工作不仅给了我深入了解一个大型软件开发企业的机会,也给了我一个很大的锻炼学习提高的机会。总结
3.1 学习所得
如今一个星期的天一软件科技有限公司社会实践活动已经结束了,从这次活动的成果上来看,还是比较成功的。辛勤的工作换来的是累累的硕果,不管是对于企业、学校,还是我们自己。
首先我们几个人在较短的时间内,克服各种困难,从最初的阅读文档,设计、开发,到最后的调试,完善,我们都按质按量的完成了,完成预定的工程开发任务,通过了公司相应项目小组的验收,也得到了他们的一致好评,实现了最初为企业作实际共享的目标。
其次在这个过程中,我们也通过了深入的调查、讨论,以对一个大型软件开发企业的结构、管理、文化、气氛有了比较详细的了解。而通过我们在公司中的工作上的良好表现,还有生活中与公司员工的交流,我们也在他们面前展现了了一个积极进取、勇于创新形象,起到了加强学校与企业双向交流的作用。
再有的一点就是,通过这次活动,让我们理论联系实际,在软件工程的开发过程、数据库的开发、分布式计算等工程实践经验上有了很大的提高。在公司中也培养了初步的大型项目合作开发经验,这一些都很好的增强了我们的个人的能力和并提高了自身的素质。
3.2经验教训
类似的以上的收获还有很多很多,但在活动结束的这个时候,仔细考虑一下,还是有一些地经验教训的。
例如在活动中我们能够感觉得到,很多的工作经验,开发的知识我们了解的还是不够充分,致使我们在开发初期要发费较多的时间用于入门。但有一点感觉就是,我们在学校所学的一些基本知识还是比较有用的,例如网络通信砂理,数据库基本原理等,正是这些基础知识使我们在缺少工程经验的情况下还能尽快入手,后来赶上。
针对我们学校部分学生普遍基础理论知识较多,对于工程的经验不足的现象,我们同学大可以去掉以往羞于参与工程,怕在别人前认短的心态,因为北京邮电大学学生在通信理论方面的基础知识还是比较丰富的,有了这一些知识,我们一般在工程面前还是能很快入手的,而为了更好的进行开发,我们也应该在校期间就多进行一些工程方面的锻炼,培养实际动手能力。
我想象这样一此让同学接触社会,培养实际动手能力的活动真的很不错,也是同学们所欢迎的,当然把这样的活动办好需要学校的老师和同学们共同努力。也希望,这样的活动能不断地继续下去,并发展壮大。
3.感谢
虽然就短短的一个星期,但我想这一份经历必将会为我们将来进入社会打下一个良好的基础,不管是在以后的就业指导上、还是在工作生活为人上,我们都拥有了一笔宝贵的财富。
所以在最后我想我们应当感谢为我们提供这次活动机会、还有在此过程中热心帮助我们的学校学生工作部,学校团委,研究生团委的老师们,另外还要感谢天一软件科技有限公司及其中的员工们。
第五篇:软件工程认识报告
我对软件工程的认识
班级:软件二班
随着现代计算机应用的日益普及,软件数量的急剧上升。在程序运行时发现的错误必须设法改正;用户有了新的需求时必须相应地修改程序;硬件或操作系统更新时,通常需要修改程序以适应新的环境等等情况都需要对软件进行维护,这样就导致了“软件危机”的产生。为了应对“软件危机”,这样软件工程运应而生。
在我看来,软件工程就是指导计算机软件开发和维护的工程学科。它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,经济地开发出高质量的软件并有效地维护它。
正因为软件工程学对我们以后从事软件行业工作有着举足轻重的指导作用,作为新时代的学生,为了振兴我国的计算机和软件产业,具备软件工程思想和技术,我们更应努力学好软件工程该门课程。
我们要从理论的高度了解软件的开发过程,吸收借鉴学习前人总结的方法与教训,站在一定的高度避免自己在以后的软件开发过程中重蹈覆辙,减少开发的损失与风险。由此可见,软件工程课程的学习,对以后我们的从事软件开发实践活动意义重大,不可不学!
对软件工程该学科的学习,我们要端正要自己的态度,培养自己对这们学科的兴趣,自主学习,领悟前人总结的开发经验。同时也要注重实践的验证,只有理论与实践相结合,才能起到事半功倍的作用。相信通过自身的努力,一定会收获更多的!