|
软件工程
一.关于软件工程
软件是计算机系统中程序.数据和相关文档的集合,一种逻辑产品。软件工程是一门研究工程化方法构建和维护有效的.实用的和高质量的软件的学科。
软件工程是一门比较年轻的学科,追溯其出现的时期我们可以回到二十世纪中期。那个时候出现了软件危机。上个世纪五十年代计算机刚从军用转到民用,编写程序的工作被视为艺术家的创作。由于当时计算机受价格因素的限制未能普及,人们对这一新生的披着神秘面纱的产品并不了解。再加上编程人员追求的是如何在有限的处理器能力和储存空间约束下编写出执行速度快.体积小的程序,使程序中充满了各种各样让人迷惑的技巧,这时的软件的开发生产就非常依赖开发人员的聪明才智。但是得到了六十年代,由于计算机生产硬件的突破使计算机的应用范围得到较大的扩展对软件系统的需求和软件自身复杂性急剧上升,传统开发方法不能满足对软件的需要,出现了软件危机。为解决这个问题,1986年“软件工程”在NATO会议上被首次提出,就是把软件开发从“艺术”和“个体行为”向“工程”和“群体协同工作”转化。从此一门新的学科便诞生了。软件的发展又分为几个阶段:先是程序设计再到程序系统,再是软件工程,到现在是面向对象软件工程。
因为一种软件往往比较庞大,需要一个或多个团体才能完成,所以以一种工程化的方法不仅能够提高软件的质量也能提高开发效率。软件工程是研究和应用如何以系统性的.规范化的.可定量的过程化方法去开发维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。其目标是在给定成本.给定进度的前提下开发软件。开发出的软件应具有可修改性.有效性.可靠性.可维护性.可适应性.可移植性.可追踪性.可重用性.可理解性.可互操作性。其中可修改性事实容许对系统进行修改而不增加原系统的复杂性。有效性是软件系统能最有效的利用计算机的时间资源和空间资源。
软件工程包括技术和管理两方面。由方法.工具.和过程三部分。软件开发方法就是完成软件开发的各项任务的技术方法,软件开发工具是为了方法运用提供支撑。
软件工程的过程包括定义.开发.运行维护。定义包括可行性研究.需求分析两个步骤。可行性研究就是根据已有的技术手段结合要开发软所可能运用的技术来判断开发的可行度。需求分析就是要通过客户了解软件所应具备的功能。这一阶段是软件开发前的准备阶段,是很重要的一个阶段。
开发包括概要设计.详细设计.实现.组装测试.确认测试五个阶段。概要设计包括总体设计与初步设计。详细设计包括模块设计.物理设计。而实现就是编码和单元测试,就是用代码来实现功能。组装测试就是对整个软件的测试。最后还有确认测试来确保软件的可行性。
运行维护包括软件的使用.维护及退役。软件交付客户使用之后,可能在运行过程中发现错误,这是维护人员就要根据漏洞进行修补软件以保证软件能正常工作。当一款软件可而被新产品替代,且替代后维护成本降低时,它就会退役。
对于软件:软件分为不同的种类,包括系统.实时.嵌入.科学和工程计算.事务处理.人工智能.个人计算机.电子商务等不同种类的软件;但这些软件有相似之处。其中软件文档比较重要,有六个方面的作用。文档能提高开发过程的能见度,提高开发效率,是一定阶段内的工作成果和结束标志,可记录开发过程中有关技术信息,还能提供但对软件运行.维护.培训的信息。文档包括十四项:可行性研究报告.项目开发计划.软件需求说明书.数据要求说明书.测试计划说明书.概要设计说明书.详细设计说明书.数据库设计说明书.模块开发卷宗.用户手册.操作手册.测试分析报告.开发进度日报及项目开发总结。这些文档不仅能让用户更好的使用软件,也能为及维护人员提供足够的信息来修补软件的漏洞,还可以为开发人员提供开发经验。
二.我的四年计划
根据软件工程的就业方向,我有一个四年计划。软件工程是一个偏重实践的专业,因此大学四年一定要注重编程能力。大一期间是一个奠基阶段,会学习C语言,并通过编写实践来逐步积累编程能力。由于我校采取全英文教学,我需要在大一一年的英语学习中打好大学英语基础,这对理解教材,进一步了解专业知识具有重要意义。同时若有良好的英语基础,也可从外语文献中扩展专业知识。鉴于大一课程较少的特点,充分利用课余时间通过查阅文献等方式了解专业相关知识,积极参加社团活动锻炼团队合作能力。为将来的工作做准备。
大二时候由于有一定的编程能力,就要多参加一些类似于新软攀峰的比赛,获取实践经验,进一步提高自己的编程能力。由于大二阶段对于软件工程及编程会有一个较高的认识,这一阶段应多并补充关于编程技术类的书籍,提高自己的技术能力。并开始为保研或考研准备,不能放松各科的学习,争取拿到较高的绩点。
大三的时候要密切注意考研.实习等信息。并适当读一些关于软件工程的著作,这些书涉及到软件的一些思想,并尝试对自己已掌握的知识进行梳
理和归纳总结,是掌握了的知识系统化,为大四的实习奠定基础。并尝试组队编写软件,尝试项目经理.需求分析师.构架师.测试师的基本工作,为自己找到一个合适的角色。
大四时期,尽量进入较大公司实习,实习过程中,除完成本职工作外,积极向在职员工学习实践经验。进一步在实践中检验自己的技术,锻炼团队合作能力与创新能力。并开始保研.考研的准备工作,争取保研,保证考研。
总之,计划的实行在与行动与应变。只有坚持,计划才会有效。只有应变,计划才能完美。 |
|