软件工程认识实习报告

软件工程认识实习报告

专业班级:csdn-java

学生姓名:曹炳旭

随着软件工程学习的深入,除了对基本专业知识的掌握外,对软件工程总体的把握显得越来越重要,因此这次认识实习学到的知识对于我们认识软件工程和规划今后道路来说非常重要,通过这次认识实习,了解了软件工程的定义、目的历史、热点问题等,掌握了软件开发的流程,编程语言和行业现状。并对今后的学习和职业道路有了自己的规划,明确了自己的方向。

软件工程认识实习

一、认识软件工程

1、软件工程定义与目的

(1)软件工程定义软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。

(2)软件工程的目的软件工程的目标是明确的,就是研制开发与生产出具有良好的软件质量和费用合算的产品。费用合算是指软件开发运行的整个开销能满足用户要求的程度。软件质量是指该软件能满足明确的和隐含的需求能力的有关特征和特性的总和。

2、软件工程的内容

(1)软件工程研究内容软件工程学主要研究软件结构、软件设计方法论、

软件工具、软件工程标准和规范,以及与软件工程有关的理论等。

(2)软件工程学习的内容从软件的生产管理技术来分:软件的需求定义和分析技术;软件设计技术和设计审查技术;软件设计表现技术;软件测试技术;软件可靠性的理论及其评价方法;软件扩充和维护;软件成本估算等。从内容上可分为理论、结构、方法、工具等部分。其中理论与结构是方法论与工具的基础及前提。在方法论与工具方面存在着这样的关系:为了找出行之有效的方法就应该具备合适的工具;反之,为了制造、改进软件工具,也应先有合适的方法3、软件工程的发展历史

(1)、早期软件的出现计算机出现之前,就已经有很多数学家为计算机软件的出现打下了坚实的数学理论基础,比如著名的数学家“阿兰.图灵”和他的导师一起努力,在20世纪三、四十年代年代就创建立了“图灵机”理论,从理论上解决了计算机软件和核心——“计算复杂性”以及“算法表示”问题。

(2)、现代计算机软件的问世1946年,伴随着第一台电子计算机的问世诞生了。以写软件为职业的人也开始出现,他们多是经过训练的数学家和电子工程师,硬件通常用来执行一个单一的程序,而这个程序又是为一个特定的目的而编制的。1954年,“约翰.巴科斯”建立了高级语言的思想,并设计出了世界上第一个真正意义上(至今广泛应用)的高级语言,第一个完全脱离机器硬件的高级语言—Fortran问世1961年第一个数据库管理系统—IDS由通用电气(GE)公司的Charles Bachman开发出。

(3)软件危机的出现

60年代中期软件开始作为一种产品被广泛使用,出现了“软件作坊”专职应别人的需求写软件。“软件危机”就这样开始了!1968年北大西洋公约组织的计算机

科学家在联邦德国召开的国际学术会议上第一次提出了“软件危机”(software crisis)这个名词。概括来说,软件危机包含两方面问题:一、如何开发软件,以满足不断增长,日趋复杂的需求;如何维护数量不断膨胀的软件产品。同年秋季,NATO(北约)的科技委员会召集了近50名一流的编程人员、计算机科学家和工业界巨头,讨论和制定摆脱“软件危机”的对策。在那次会议上第一次提出了软件工程(software engineering)这个概念。60年代末“软件危机”后出现的第一个生命周期模型。如下所示:分析→设计→编码→测试→维护,使人们认识到了文档的标准以及开发者之间、开发者与用户之间的交流方式的重要性。1969年UNIX出现1969年12月,Internet 的前身——美国的ARPA 网投入运行,它标志着我们常称的计算机网络的兴起。1969年,提出了结构化程序设计方法,1970年,第一个结构化程序设计语言—Pascal语言出现,标志着结构化程序设计时期的开始,即PO(面向过程的开发或结构化方法)以及结构化的分析、设计和相应的测试方法。

1971年,大、超大规模集成电路计算机,应用更加广泛,出现了微型计算机。(4)现代软件的发展1972 C语言出现1975年的第六版UNIX才开始走出贝尔实验室1983年C++出现1983年IBM DB2数据库产品推出的。1984年Tuxedo作为第一个严格意义上的中间件产品由AT&T的贝尔实验室开发完成。1985年Windows 1.0正式推出。之前软件结构体系也是Mainframe结构,该结构下客户、数据和程序被集中在主机上。90年代,中间件技术才开始迅速发展,建立在计算机和网络技术基础上的计算机网络技术得到了迅猛的发展。1993年美国宣布建立国家信息基础设施NII 后,全世界许多国家纷纷制定和建立本国的NII ,从而极大地推动了计算机网络技术的发展,使计算机网络进入了

一个崭新的阶段。目前,全球以美国为核心的高速计算机互联网络即Internet 已经形成。1994年PHP出现。1995年Java出现。1996年JavaScript 出现。

2000年C#出现。业务基础平台作为一个新的软件层级尤为引人注目。业务基础平台是以业务导向和驱动的、可快速构建应用系统的软件平台2006年被炒得沸沸扬扬的SOA(Service-Oriented Architecture)作为下一代软件架构,主要用于解决传统对象模型中无法解决的异构和耦合问题。软件的发展史其实就是在裸机(硬件)和终端用户之间不断沉淀(平台化)的过程。当与裸机接近的某个层次发展成熟后,与这个层次相关的创新和成果会明显减少,而从这个层次更靠近终端用户业务的层次的创新和成果会增多。就这样不断不断的沉淀形成平台,不断的向用户和业务领域靠拢。

4.软件工程的发展趋势

Internet及其上应用的快速发展与普及,使计算机软件所面临的环境开始从静态封闭逐步走向开放、动态和多变。软件系统为了适应这样一种发展趋势,将会逐步呈现出柔性、多目标、连续反应式的网构软件系统的形态。面对这种新型的软件形态,传统的软件理论、方法、技术和平台面临了一系列挑战。从宏观上看,这种挑战为我们研究软件理论、方法和技术提供了难得的机遇,使我们有可能建立一套适合于Internet开放、动态和多变环境的新型软件理论、方法和技术体系。从微观的角度来看,Internet的发展将使系统软件和支撑平台的研究重点开始从操作系统等转向新型中间件平台,而网构软件的理论、方法和技术的突破必将导致在建立新型中间件平台创新技术方面的突破。

二、认识软件开发

1、软件开发流程

(1)需求调研分析相关系统分析员和用户初步了解需求,然后用WORD 列出要开发的功能模块,每个大功能模块有哪些小功能模块,对于有些需求比较明确相关的界面时,在这一步里面可以初步定义好少量的界面。系统分析员深入了解和分析需求,根据自己的经验和需求用WORD或相关的工具再做出一份文档系统的功能需求文档。这次的文档会清楚例用系统大致的大功能模块,大功能模块有哪些小功能模块,并且还例出相关的界面和界面功能。系统分析员和用户再次确认需求。

(2)概要设计首先,开发者需要对软件系统进行概要设计,即系统设计。概要设计需要对软件系统的设计进行考虑,包括系统的基本处理流程、系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为软件的详细设计提供基础。

(3)详细设计在概要设计的基础上,开发者需要进行软件系统的详细设计。在详细设计中,描述实现具体模块所涉及到的主要算法、数据结构、类的层次结构及调用关系,需要说明软件系统各个层次中的每一个程序(每个模块或

子程序)的设计考虑,以便进行编码和测试。

(4)编码在软件编码阶段,开发者根据《软件系统详细设计报告》中对数据结构、算法分析和模块实现等方面的设计要求,开始具体的编写程序工作,分别实现各模块的功能,从而实现对目标系统的功能、性能、接口、界面等方面的要求。

(5)测试测试编写好的系统。交给用户使用,用户使用后一个一个的确认每个功能

(6)软件交付准备在软件测试证明软件达到要求后,软件开发者应向用户提交开发的目标安装程序、数据库的数据字典、《用户安装手册》、《用户使用指南》、需求报告、设计报告、测试报告等双方合同约定的产物。

(7)验收用户验收。

(8)软件运行维护

2、软件开发所需的知识和技能软件开发基础知识和技能:程序设计基础、网页设计基础、关系数据库基础、面向对象的可视化程序设计、数据库应用与开发、客户/服务器开发技术、软件工程、客户端编程、WEB程序设计、WEB开发技术、高级.NET开发技术、嵌入式系统开发、数据结构、操作系统、IT产品服务与营销等。

3、目前的软件行业现状

(1)国外软件产业发展现状发达国家已经认识到软件的重要性,并将其视为国家关键技术,软件技术的研究和软件产业的发展是当今发达国家竞相扶持的重点,并成为国家间相互竞争的武器,一些发展中国家也在积极发展自己的软件行业,争取抓住机遇,迎头赶上。在软件产业发展中,发达国家占有明显优势,美国已经成为全球软件发展的龙头,大多数先进的软件技术及产品都源于美国,世界软件市场的份额分配大致为:美国60%,西欧20%,美国12%,其他8%。发展中国家在软件行业发展中以印度较为突出,其软件行业已在世界市场占有有利地位,在世界银行对7个软件出口国的比较研究中,从提供软件服务的规模和质量看,印度名列第一。1995年,印度约有90%的软件出口,目前,印度已有近百个软件企业通过了ISO-9000质量认证。

(2)国内软件产业发展现状(一)在全球软件产业中的地位低微,与周边国家相比也存在较大差距从总量以及所占比例来看,2000年,我国软件产业占全球市场的份额虽然与周边国家如印度、韩国所占的份额相差不多,比爱尔兰略低0.3个百分点,似乎差别不大,但是考虑到软件产品质量、软件开发的规范程度、软件出口或满足国内市场的程度等方面,我国与这些周边国家以及爱尔兰相比则存在很大差距。(二)软件产业对国民经济发展的贡献较低,发展速度不能适应国家信息化的要求。1996—2001年,我国软件产业国内市场增长速度分别为46.8%、31%、26.4%、27%、33%、34%,年均增长率约为30%,虽然高于世界软件产业的平均增长速度,但比印度软件产业起飞时期低20个百分点,比爱尔兰低50个百分点,难以满足国家信息化建设对软件产业的要求。

三.作为一名大一学生,还有不到两年时间毕业,我给自己做的规划如下:(1)在校时间

a.在校期间完成基本学业,牢固掌握基础课,学好专业课,为考研和就业做准备,利用课余时间深入学习软件编程技术,linux技术,数据库语言,汇编语言,数据结构等,提高自己的专业能力。b.积极参加各种活动,提高自己的交流能力,语言表达能力,团队合作能力。c.利用课余时间或假期,寻求专业方面的实践,在实践中掌握和巩固学到的知识。

五。心得与体会

通过对软件工程的认识实习,我受益良多。以前一直对软件存在一些偏见或者是误解,认为软件就是程序,软件的开发就是编写程序,只要编写完了程序,就可以完成任务。但是通过认识实习,我认识到了我以前的错误,软件其实不仅仅是程序,软件开发其实也不仅仅是编写程序,软件是思想在硬件上的载体和体现,

处理的是逻辑和信息。唯有对软件和软件工程的开发过程,有充分的认识,才能开发出好的软件产品。从认识实习中我也发现,编程其实是一种乐趣与苦恼共存的创造性活动,变成不仅仅能够满足我们内心深处进行创造的渴望,还能预约我们的内心情感。通过在认识实习中的自主学习,我知道我需要掌握如何在最小的成本中,训练自己的基本工程素质和能力,如何激发自己的积极性等,也让我明白了扎实的专业基础的重要性和团队协作能力的重要性。剧本这些能力会让我们在今后的学习和将来的工作中少走弯路。认识实习虽然结束,软件之路才刚刚开始,也许在学习和今后的工作中会疲惫会有很多失败很多挫折,但是既然选择了这条路并且对其保持有充分的热情,就不会放弃,相信我会在软件行业走得更好,走的更远。

相关文档
最新文档