软件工程认识实习

哈尔滨理工大学

软件工程认识实习报告

学生姓名: *** 学 号: 1030090205

学 院: 哈尔滨理工大学

系 别: 软件工程系

专业班级: 软件10-2

报告题目: 软件工程认识实习

指导教师: **

20xx年1月

摘要

在短短的五天的认识实习中,老师带领我们去了解课件上的内容,让我们自己通过网络,书籍,杂志等等手段去查阅资料,让我对软件工程有了一番了解,并对软件工程的发展前景有了新的认识。本文将会从软件、软件工程、软件工程的历史、发展方向和趋势、软件开发所需的知识及我的理想和职业规划等多方面进行阐述关于软件工程的认识。

关键词: 认识实习,软件工程,发展方向,前景趋势,理想,规划

I

Abstract

In just five days of practice, the teacher leads us to understand courseware content, let us through the Internet, books, magazines and so on means to access to information, let me to software engineering to have an understanding of software engineering, and the prospects for the development of a new understanding of. This will be from the software, software engineering, software engineering, history, development direction and trend of software development required knowledge and my ideal and occupation planning and other aspects of software engineering knowledge.

Keyword:Cognition practice,Software engineering,Development direction,Situation trend,Ideal,Plan

II

目录

摘要..........................................................................................................................................I Abstract...........................................................................................................................II 目录....................................................................................................................................... III

第1章 软件和软件工程 ........................................................................................................... 1

1.1 软件 ........................................................................................................................... 1

1.1.1 软件的定义: .................................................................................................. 1

1.1.2 软件的分类...................................................................................................... 1

1.2 软件工程[1].................................................................................................................. 1

1.2.1 软件工程的定义 ........................................................................................... 1

1.2.2 软件工程研究的内容 .................................................................................... 2

第2章 软件行业发展的趋势 .................................................................................................... 2

2.1 发展历史 .................................................................................................................... 2

2.2 发展趋势 .................................................................................................................... 3

2.3 发展方向 .................................................................................................................... 3

2.3.1 云计算 ...................................................................................................... 3

[3][2]2.3.2 物联网 ...................................................................................................... 4

[4]2.3.3 服务外包 ................................................................................................... 5

第3章 软件开发知识和技能 .................................................................................................... 6

3.1 基本课程 .................................................................................................................... 6

3.2 核心知识 .................................................................................................................... 6

第4章 主流开发技术 .............................................................................................................. 7

4.1 Java ........................................................................................................................... 7

4.2 C................................................................................................................................. 7

4.3 C++ ............................................................................................................................. 8

4.4 C# ............................................................................................................................... 8

4.5 PHP ............................................................................................................................. 8

第5章 软件行业现状 .............................................................................................................. 9

第6章 职业规划 ..................................................................................................................... 9

6.1 我的理想 .................................................................................................................... 9

6.2 大学规划 .................................................................................................................... 9

第7章 收获 .......................................................................................................................... 10

致谢....................................................................................................................................... 10

参考文献................................................................................................................................ 10 III

第1章 软件和软件工程

1.1 软件

1.1.1 软件的定义:

软件是一系列按照特定顺序组织的计算机数据和指令的集合,是计算机系统中与硬件相互依存的另一部分,是用户与硬件之间的接口界面。用户主要是通过软件与计算机进行交流。软件并不只是包括可以在计算机(这里的计算机是指广义的计算机)上运行的电脑程序,与这些电脑程序相关的文档一般也被认为是软件的一部分以开发语言作为描述语言,可以认为:

软件=程序+数据+文档+服务

1.1.2 软件的分类

一般来讲软件被划分为系统软件、应用软件,其中系统软件包括操作系统和支撑软件(包括微软发布的嵌入式系统,即硬件级的软件,使电脑及其它设备运算速度更快更节能)。

1.2 软件工程

1.2.1 软件工程的定义

软件工程一直以来都缺乏一个统一的定义,很多学者、组织机构都分别给出了自己的定义:

a).Boehm:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。

b).IEEE:软件工程是开发、运行、维护和修复软件的系统方法。

c). Fritz Bauer:建立并使用完善的工程化原则,以较经济的手段获得能在 1 [1]

软件工程认识实习

实际机器上有效运行的可靠软件的一系列方法。

d).计算机科学技术百科全书: 软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。 目前比较认可的一种定义认为:软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。

1.2.2 软件工程研究的内容

软件工程(Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并且满足用户需求的软件产品。

第2章 软件行业发展的趋势 [5]

2.1发展历史

a) 19xx年在原西德召开的北大西洋公约组织会议上,第一次提出了软件工

程的概念

b) 美国著名的软件工程专家巴利?玻姆(Barry Boehm)综合一些专家的意

见,并总结了美国天合公司(TRW)多年的开发软件的经验,于19xx年

提出了软件工程的七条基本原理:

1)用分阶段的生命周期计划严格管理;

2)坚持进行阶段评审;

3)实行严格的产品控制;

4)采纳现代程序设计技术;

5)结果应能清楚地审查;

6)开发小组的人员应少而精;

7)承认不断改进软件工程实践的必要性;

2

c) 19xx年卡内基-梅隆大学创立软件工程研究所

d) 19xx年我国筹建武汉大学软件工程国家重点实验室

2.2发展趋势

Internet及其上应用的快速发展与普及,使计算机软件所面临的环境开始从静态封闭逐步走向开放、动态和多变。从国际形势看,网络计算日益普及,基础硬件水平快速提升,应用需求持续深化,商业模式不断革新,推动着全球软件和信息技术服务业进入产业转型时期:

1) 网络化趋势。网络化成为软件技术发展的基本方向。计算技术的重心正

在从计算机转向互联网,互联网成为软件开发、部署与运行的平台,将推动整个产业全面转型。

2) 服务化趋势。服务化成为软件产业转型的本质特征。软件构造技术和应

用模式正在向以用户为中心转变。

3) 智能化趋势。智能化是软件技术发展的永恒主题。智能化是在海量信息

基础上实现知识的自动识别,赋予信息系统自适应能力,大幅提高资源配置效率。

4) 平台化趋势。平台化是软件技术和产品发展的新引擎。操作系统、数据

库、中间件和应用软件相互渗透,向一体化软件平台的新体系演变。

5) 融合化趋势。融合化是软件技术和产业发展的新空间。软件技术和产业

正步入高度分化基础上的高度融合阶段。

2.3发展方向

2.3.1 云计算

云计算(cloud computing),是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。它的核心思想,是将大量用网络连接的计算资源统一管理和调度,构成一个计算资源池向用户按需服务。

云计算按照服务对象的不同,一般分为公有云和私有云两大类,前者指的是面向 3 [2]

软件工程认识实习

广域范围内的服务对象的云计算服务,一般具有社会性,普遍性和公益性等特点,而后者一般是指社会单位为自身需要所建设的自有云计算服务模式,一般具有行业性特点。

云计算四个显著特点:

a) 首先,云计算提供了最可靠、最安全的数据存储中心,用户不用再担

心数据丢失、病毒入侵等麻烦

b) 其次,云计算对用户端的设备要求最低,使用起来也最方便。

c) 此外,云计算可以轻松实现不同设备间的数据与应用共享。

d) 最后,云计算为我们使用网络提供了几乎无限多的可能

问题:云技术要求大量用户参与,也不可避免的出现了隐私问题

应用:云安全、云存储、云物联

2.3.2 物联网

物联网是新一代信息技术的重要组成部分。它的定义是通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把任何物品与互联网相连接,进行信息交换和通信,以实现对物品的智能化识别、定位、跟踪、监控和管理的一种网络。通俗点,物联网就是物物相连的互联网。

纳入“物联网”的条件:

a) 要有数据传输通路;

b) 要有一定的存储功能;

c) 要有CPU;

d) 要有操作系统;

e) 要有专门的应用程序;

f) 遵循物联网的通信协议;

g) 在世界网络中有可被识别的唯一编号。

关键技术:

a) 传感器技术,这也是计算机应用中的关键技术。大家都知道,

到目前为止绝大部分计算机处理的都是数字信号。自从有计

算机以来就需要传感器把模拟信号转换成数字信号计算机才

4 [3]

能处理。

b) RFID标签也是一种传感器技术,RFID技术是融合了无线射频

技术和嵌入式技术为一体的综合技术,RFID在自动识别、物

品物流管理有着广阔的应用前景。

2.3.3 服务外包

服务外包是指企业将价值链中原本由自身提供的具有基础性的、共性的、非核心的IT业务和基于IT的业务流程剥离出来后,外包给企业外部专业服务提供商来完成的经济活动。

分类:

A. 信息技术外包(ITO):

a) 系统操作服务:银行数据、信用卡数据、各类保险数据、保险理赔数

据、医疗/体检数据、税务数据、法律数据(包括信息)的处理及整合。 b) 系统应用服务:信息工程及流程设计、管理信息系统服务、远程维护

等。

c) 基础技术服务:承接技术研发、软件开发设计、基础技术或基础管理

平台整合或管理整合等。

B. 业务流程外包(BPO):

a) 企业内部管理服务: 为客户企业提供企业各类内部管理服务,包括后

勤服务、人力资源服务、工资福利服务、会计服务、财务中心、数据

中心及其他内部管理服务等。

b) 企业业务运作服务:为客户企业提供技术研发服务、销售及批发服务、

产品售后服务(售后电话指导、维修服务)及其他业务流程环节的服

务等。

c) 供应链管理服务:为客户企业提供采购、运输、仓库/库存整体方案服

务等。

从当前的发展状况来看,未来我国服务外包产业发展将呈现以下趋势:

a) 市场构成:(1)离岸外包与在岸外包;(2)ITO与BPO;

b) 产业迁移:随着一批新兴服务外包城市的兴起,我国服务外包产业将 5 [4]

软件工程认识实习

呈现出梯次转移的趋势。

c) 国际知名企业涌现。

d) 内需市场前景广阔:从我国当前经济发展所处阶段看,工业化和信息

化融合、制造业的升级换代、服务业的兴起,都会产生大量的服务外

包需求,这为我国服务外包产业的腾飞提供了难得的机遇。

第3章 软件开发知识和技能

3.1 基本课程

离散数学、数据结构、算法分析、面向对象程序设计、现代操作系统、数据库原理与实现技术、编译原理、软件工程、软件项目管理、计算机安全等课程。

3.2 核心知识

ACM 与 IEEE Computer Society 联合修定的 SWEBOK[12](Software Engineering Body of Knowledge)提到,软件工程领域中的核心知识包括:

1) 软件需求(Software requirements)

2) 软件设计(Software design)

3) 软件建构(Software construction)

4) 软件测试(Software test)

5) 软件维护与更新(Software maintenance)

6) 软件构型管理(Software Configuration Management, SCM)

7) 软件工程管理(Software Engineering Management)

8) 软件开发过程(Software Development Process)

9) 软件工程工具与方法(Computer-Aided Software Engineering, CASE)

10) 软件品质(Software Quality)

6

第4章 主流开发技术

目前国内外流行着许多开发技术,各有各的特色和优点,现在简单跟大家介绍几种目前主流的开发技术,程序员使用最多的开发语言:

4.1 Java

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于19xx年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,作为跨平台的语言,可以运行在Windows和Unix/Linux下面,长期成为用户的首选。自JDK6.0以来,整体性能得到了极大的提高,市场使用率超过20%。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

主要特点:1、Java语言是简单的;2、Java语言是一个面向对象的;3、Java语言是分布式的;4、Java语言是健壮的;5、Java语言是安全的;6、Java语言是体系结构中立的;7、Java语言是可移植的;8、Java语言是解释型的9、Java是高性能的;10、Java语言是多线程的;11、Java语言是动态的;

4.2 C

C语言是一种面向过程的计算机程序设计语言,最初为unix而生。它既具有高级语言的特点,又具有汇编语言的特点,编写不依赖计算机硬件的应用程序,因此它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。

指针是C语言的一大特色,可以说是C语言优于其它高级语言的一个重要原因。就是因为它有指针,可以直接进行靠近硬件的操作,但是C的指针操作不做保护,也给它带来了很多不安全的因素。

7

软件工程认识实习

4.3 C++

C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格。

优点:

C++是一种绝对不会试图迎合某个模子的语言。特别是它的形式可以变化多端,以解决不同类型的问题。这主要反映在象Microsoft Visual C++和Borland C++Builder那样的工具身上。它们将库、组件模型以及代码生成工具等合成到一起,以开发视窗化的末端用户应用(用于Microsoft Windows操作系统)。

争议:

c++语言由于过度的复杂性,以及与unix的文化相抵触,在unix/linux领域受到很多著名人士(比如Linux之父linus torvalds与著名黑客Eric S. Raymond)的强烈批评与抵制。

4.4 C#

C#(C Sharp)是微软(Microsoft)为。NET Framework量身订做的程序语言,C#拥有C/C++的强大功能以及Visual Basic简易使用的特性,是第一个组件导向(Component-oriented)的程序语言,和C++与Java一样亦为对象导向(object-oriented)程序语言。

C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。C#看起来与Java有着惊人的相似;它包括了诸如单一继承,界面,与Java几乎同样的语法,和编译成中间代码再运行的过程.但是C#与Java有着明显的不同,它借鉴了 Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET windows网络框架的主角。

4.5 PHP

PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的 8

脚本语言,语言的风格有类似于C语言,被广泛的运用。PHP 独特的语法混合了

C、Java、Perl 以及 PHP 自创新的语法。

最重要的是PHP可以用C、C++进行程序的扩展!

第5章软件行业现状

我国软件产业起步于80年代初,经过十几年的艰苦创业和发展,已具有一定的软件开发和小规模生产能力。虽然十年来我国软件产业发展迅猛,然而,总体水平仍处于初级阶段,企业规模小、人员分散、抗风险能力差。

当前,国内从事软件开发的企业已有数千家,其中有100多家外资、合资企业。在大多数企业中,软件人员一般在50人左右,只有少数达到近200人。在这些企业中,服务型企业居多。

20xx年我国软件产业实现新的突破,产业增速稳步回升,业务结构调整加快,企业发展和区域布局出现新的特点,在国民经济中的地位不断提升,软件出口增覆放缓,外包服务稳步发展。

第6章 职业规划

6.1 我的理想

既然选择了软件工程这个专业,那么就不得不想成为一名高级工程师,我想这不仅是我一个人的理想,每一个学软件的学生都会有这样的理想:进入像百度、腾讯这样的大公司,成为一名高级工程师。

6.2 大学规划

当然成为一名工程师也不是一件容易的事,并不是一朝就能练成的,这需要我们从现在就要努力,规划好大学时光:

1. 首先要正确给自己定位,确定自己的短期目标和长期目标。短期目标可以

是自己在大学四年的学习,甚至细化至每个学期的学习;长期目标就是自 9

软件工程认识实习

己的理想,成为一名工程师,这是自己的终极目标,每个短期目标都是为

它服务的。

2. 从现在开始,在写程序时就要养成良好的习惯。

3. 书到用时方恨少,多去图书馆,每个学校的图书馆都有很多好书!

4. 抓住在学校里的各种实践的机会,要为自己积累经验,就业时经验比什么

都有用。

5. 对于一个立志成为架构师的人, 最重要的其实是强烈的好奇心和学习精神.

没有比强烈的好奇心和学习精神更好的武器了, 它是成功的工程师乃至在

各行各业的成功者们永攀高峰的源泉和动力所在.

6. 打好专业基础。牢记学习编程的秘诀是:编程,编程,再编程!!!

第7章 收获

通过这次认识实习,自己对软件工程这门学科又有了更加全面系统的认识。通过这次认识实习,知道了软件工程的定义以及它的研究内容,了解了它的发展历史及发展趋势和方向,对以后的学习和就业很有帮助。当然通过这次实习,我也发现了很多不足,对软件的很多知识并不了解,这更加深了我对选择软件工程的信心,我相信我们大家选择的肯定没错,软件工程还有很多让我们学习的,以后的道路我会更加努力。

致谢

感谢刘杰老师在这五天带领我们一起学习,在这期间当中给我们的指导。 参考文献

[1] 周之英,现代软件工程,科学技术出版社,1995.8出版

[2] 王鹏, 走进云计算, 人民邮电出版社,2009.6出版

[3] 彭力, 物联网技术概论,机械工业出版社,2010.10出版

[4] 《服务外包》——百度百科 /view/432186.htm

[5] 王博然.软件工程的历史与发展趋势[J].北京工业职业技术学院学报,

2008.7发表

10

相关推荐