1、学 号: 课 程 论 文题 目 软件工程及其前景展望学 院 计算机科学与技术专 业 软件工程班 级 ZY1102 班姓 名指导教师 饶文碧2012 年 07 月 04 日软件工程及其前景展望摘要:本文首先对软件工程做出来充分的定义,接着介绍了软件工程学科的专业内容,然后围绕软件工程的发展前景展开描述,最后写了本人关于软件工程学习的一些看法和体会。关键词:软件工程;内容;发展前景。一、软件工程的定义概括的说,软件工程就是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发和维护软件,把经过实践考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济的开发出
2、高质量的软件并有效的维护它,这既是软件工程。软件工程的英文解释是:S oftware engineering is the branch of computer science that seeks principles to guide the development of large,complex software systems.学 者 BarryBoehm 认 为 : 运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。机构 IEEE 在软件工程术语汇编中的定义:软件工程是:1.将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,
3、即将工程化应用于软件;2.在 1 中所述方法的研究 。FritzBauer 在 NATO 会议上给出的定义:建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。计 算 机 科 学 技 术 百 科 全 书 给出的解释是:软件工程是应用计 算 机 科 学 、数 学 、逻辑 学 及管 理 科 学 等原理,开发软件的工程。软件工程借鉴传统工程的原则、方法,以提高质量、降低成本和改进算法。其中,计算机科学、数学用于构建模型与算法,工程科学用于制定规范、设计范型(paradigm) 、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。目前比较认可的一种定
4、义认为:软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。二、软件工程学科的专业内容1 可视化编程掌握程序设计方法及可视化技术,精通一种可视化平台及其软件开发技术。获取Delphi 程序员系列、Java 初级或 VB 开发能手认证。2 WEB 应用程序设计具有美工基础和网页动画设计能力,掌握交互式网页程序的设计技术,能进行网站建设和维护。获取 Macromedia 多媒体互动设计师或 Delphi 初级程序员或 Delphi 快速网络开发工程师认证。3 软件测试掌握软件测试的基本原
5、理、方法和组织管理,精通软件测试工具。获取 ATA 软件测试工程师或 Delphi 初级程序员或 Java 初级程序员认证。4 数据库管理能应用关系范式进行数据库设计,精通 SQL 语言,胜任数据库服务器管理与应用工作。获取 Oracle 数据库管理或 SQL Server 数据库应用或 Windows XP 应用认证。5 图形图像制作精通国际上流行的图形/图像制作工具(如 CorelDraw、Photoshop 、Pagemaker 等) 。获取平面设计师相关的认证。6 网络构建技术熟悉网络结构和组网方式,掌握建网方法,能利用工具分析和排除常见网络故障。获取 Cisco 路由配置或华为网络工
6、程或 AMP 应用工程师认证。7 网络系统管理掌握网络系统管理的基本知识与应用技能,能进行网络系统的安全设置。获取Window2000 Server 或 TurboLinux TLCE 或 Cisco 路由配置专家认证。8 多媒体制作具有多媒体程序设计与多媒体制作策划的能力。基本掌握面向对象程序设计与建模、造型设计、场景设计、分镜头原理等技能。获取多媒体设计师相关的认证。9 计算机办公应用精通办公自动化应用与管理,熟悉服务器的安装、管理和维护,基于应用服务器的相关服务和软件系统,具备对服务器的网络安全设置、邮件、网页发布、FTP、OA 、BBS 等系统的应用和维护能力。3、软件工程的发展前景如
7、今,IT 行业朝阳似火,发展速度迅猛,而软件工程的发展前景也是一片大好,它的发展趋势主要有三种。1、全球化软件协作交付全球化的软件交付模式因为全球化的 21 世纪应运而生。根据 Forrester 的数据,目前 87%的开发团队是分布式的,56%有两个以上的开发地点,同时企业的合并和收购趋势不断产生众多新的分布式开发团队,企业为了提供全球化的 247 支持和开发能力,也在不断加强全球化软件协作交付能力。2、社区驱动的软件交付随着敏捷开发和社会网络模型日益普及,组织开始有兴趣复制经过验证的、开放社区治理的软件交付模型,于是全球化的技术平台带来了新兴的软件交付模式:社区驱动的软件交付模式。在这种软
8、件交付模式中,虽然项目一般都会有某个组织领导,但它更强调个体的创造性和能力,项目的交付是由分布在全世界不同地方的开放社区技术人员和最终用户共同完成的,他们基于公共的社区协作环境,通过 Web 来共享创新思想,开发和测试软件,最终完成软件的交付。他们的共同特点就是他们对某一领域技术的执着和热爱。3、模块化随着全球化的发展趋势和全球化市场竞争压力的增加,企业需要更多的业务灵活性和创新能力,同时企业所面临的 IT 环境复杂度的增加和历史遗留系统的增加,对企业的 IT 提出了新的挑战。模块化的思想恰恰能够帮助企业从根本上解决这一问题,它一方面通过抽象、封装、分解、层次化等基本的科学方法,对各种软件构件
9、和软件应用进行打包,提高对企业现资产的重用水平和能力;另一方面,基于模块化思想,业界提出了 SOA 技术,它提供一组基于标准的方法和技术,通过有效整合和重用现有应用系统和各种资源,对各种服务进行服务组件化,并基于服务组件实现各种新的业务应用的快速组装,帮助企业很好应对业务的灵活性要求。它通过有效平衡业务的灵活性和 IT 的灵活性、平衡业务的灵活性和 IT 的复杂度,为 IT 人提供了一个业务视角,让IT 人学会用业务的眼睛看世界,有效的拉近了 IT 和业务的距离。 4、小结软件工程的现阶段学习还处于萌芽期,也是夯实地基的阶段。万丈高楼平地起,没有良好的扎实基础就不可能写出优秀的代码,更创造不了
10、高质量的软件,所以现阶段我要把书上的代码学得通透,实在不行就记得滚瓜烂熟。 ,还要加大课外 C 代码的阅读量,以达到了解计算机程序设计方法和一般规则的目的,同时把离散数学这门软件工程最重要的数学基础学好,为以后学习打下坚实的基础。在以后的大二阶段,我要学在老师的前面,因为老师不可能在三年的时间里把所有的编程知识教给你,所以加强自学能力显得十分重要。当基础达到一定程度时,可以到图书馆借阅关于项目开发的资料,着手于团队合作开发项目,为以后工作打下一定的基础。还有,我要苦学英语,毕竟很多软件的开发对英语要求很高,但我希望以后自己能够开发出优秀的为中国人自己服务的中文软件,这是一个梦想,我要从现在开始
11、努力,为之奋斗。 在如今的高校体制下,我们学的大多都是一些基础知识,所以大学四年我要做的就是夯实自己的基础。众所周知,IT 与互联网行业发展太快,知识的更新也是如此,所以以后我们还要不断地给自己充电,所谓“路漫漫其修远兮,吾将上下而求索” ,我的编程路还很漫长!参考文献:软件工程-百度百科软件工程发展前景-百度文库http:/张海藩 软件工程导论 (第五版) 清华大学出版社 2007Shari Lawrence Pfleeger, Joanne M.Atlee 著,杨卫东 译 软件工程 (第三版) 人民邮电出版社 2007张湘辉等, 软件开发的过程与管理 清华大学出版社 2007本科课程论文评
12、分标准班级 学号 姓名论文题目评阅点 评分标准(细则) 分值 给分正确实现本程序所需全部功能,算法设计正确合理且有一定创意40 分实现所需功能,算法正确 30 分基本实现所需功能 15 分有明显重大错误 5 分功能及算法(40 分)无法实现程序功能 0 分界面美观、合理,可操作性强 20 分界面合理,可操作 15 分界面尚可,基本可操作 10 分界面和操作性(20 分)可操作较差 5 分程序可读性好、逻辑清晰,程序完整,可维护性好,15 分程序可读、可维护 10 分基本可读可维护 5 分程序可读、可维护性(15 分)逻辑混乱、不可读 0 分论文规范,行文流畅,层次清晰 25 分论文书写基本规范,文理较通畅 20 分结构较合理,层次较清楚,基本符合要求15 分论文质量(25 分)结构混乱,文不对题目,或者有明显抄袭现象5 分总分教师签名: