软件工程专业的发展过程
1960年代末期,计算机程序在复杂度、规模和应用领域等方面的增长引人注目,这导致上千亿资金花费在软件开发上,许多人的工作和生活依赖于软件开发的成果。
软件产品帮助人们获得更高的工作和生产效率,同时也给人们提供一个更加安全、灵活和宽松的工作与生活环境。
尽管有很多成功之处,许多软件产品在成本、工期、质量等方面存在严重问题。
主要原因是:软件产品是复杂的人造系统,具有复杂性、不可见性和易变性,难以处理。
个人或小组开发小型软件非常有效的编程技术和过程,在开发大型、复杂系统时难以发挥同样的作用。
1968年在德国举行的NATO软件工程会议上,为应对“软件危机”的挑战,提出了“软件工程”的术语。
这个时期有代表性的软件工程定义是“为了经济地获得在真实机器上可靠工作的软件而制定和使用的合理工程原则和方法”。
1972年IEEE学会的计算机协会第一次出版了《软件工程学报》。
此后,“软件工程”这个术语被广泛用于工业、政府和学术界,众多的出版物、团体和组织、专业会议在它们的名称里使用“软件工程”这个术语,很多大学的计算机科学系先后设立软件工程课程。
软件工程早期的发展是理清软件工程过程的各种活动,提出软件生命周期的概念和软件开发的瀑布模型,制定软件生命周期中主要活动的质量标准。
1991年,ACM和IEEE/CS的计算教程CC1991专题组将“软件工程”列为计算学科的九个知识领域之一。
1980年代末到1990年代初,计算机硬件普遍采用大规模集成电路。
在单主机计算模式下,基于瀑布模型的软件开发过程和结构式过程语言编程范型占主导地位。
软件工程得到巨大的发展。
以阶段论看待软件生命周期,给规范和规程的制定、工具研制、预算管理、工程核算、组织质量过程带来极大方便,基于瀑布模型的软件工程的研究在软件需求分析、软件设计、软件测试、软件质量保证、软件过程改进等多个子领域得到深化和扩展,形成了软件工程学科的雏形。
1970年代末期,美国制定研究生教育计划时采纳了IEEE/CS提出的、制定软件工程教程的建议,为软件工程教育打下了基础。
1980年代末和1990年代初,软件工程教育得到卡内基-梅隆大学软件工程研究所(SEI)的培育和支持。
他们调查软件工程教育的现状;出版软件工程推荐教程;在卡内基-梅隆大学建立软件工程硕士教育计划;组织和推动软件工程教育者研讨会。
1993年,IEEE-CS和ACM为把软件工程建设成为一个专业,建立了IEEE-CS/ACM联合指导委员会。
随后,该指导委员会被软件工程协调委员会(SWECC)替代。
SWECC给出了“软件工程职业道德规范”、“本科软件工程教育计划评价标准”和“软件工程知识体”(SWEBOK)。
SWEBOK全面描述了软件工程实践所需的知识,为开发本科软件工程教育计划打下了基础。
2004年8月,全世界五百多位来自大学、科研机构和企业界的专家、教授经过多年的努力,推出了软件工程知识体、软件工程教育知识体(SEEK)两个文件的最终版本,标志着软件工程学科在世界范围正式确立,并在本科教育层次上迅速发展。
软件工程、计算机科学、计算机工程、信息系统、信息技术并列成为计算学科下的独立学科。
中国的软件工程基础技术研究始于1980年代初。
当时,软件开发方法学成为研究热点。
1980年在北京召开了中国首届软件工程研讨会,之后,许多高等学校和科研单位陆续开展了软件开发方法学、CASE工具和环境、面向对象技术等软件工程基础技术的研究。
“软件工程核心支撑环境”,“软件工程技术、工具和环境的研究与开发(SEP)”等课题列入国家重点科技攻关项目,其科研成果代表了中国软件工程技术研究的水平。
与此同时,部分高校面向研究生开设了软件工程课程,开始引进和编写软件工程教材。
1984年和1985年,国家科委选择重点高校招收了两批(200人)软件工程硕士,为软件工程教育积累了经验。
此后,高等院校开始为本科开设软件工程课程。
部分高校从1988年开始试办软件工程专业(后来在学科调整时又归并到计算机科学与技术学科)。
1990年代,软件重用和软件构件技术成为研究热点,面向对象方法和技术成为软件开发的主流技术,软件过程研究及软件企业的过程改善受到广泛重视。
随着软件工程技术的发展,高校又增设了面向对象技术,支持面向对象技术的Smalltalk语言、软件过程管理、软件测试技术、软件过程度量等课程,软件工程领域的教学内容不断丰富,教学时数不断增加,教学改革不断深入。
为适应中国经济结构战略性调整,实现软件产业和软件人才培养的跨越式发展,2000年发布了18号文件《国务院关于印发鼓励软件产业和集成电路产业发展的若干政策的通知》,2001年经教育部和国家计委批准,全国成立了35所示范性软件学院。
各高校软件学院和计算机学院(系)为培养高层次、实用型、复合型、具有国际竞争力的人才,要求学生在思维创新的基础上,提高技术创新和工程创新能力,提高软件工程实践和软件工程管理能力。
这有效地促进了中国软件工程学科的发展,中国软件工程教育开始走向成熟。
软件工程这个专业如何?
软件工程专业:主修课程:1. 主干学科:马克思主义理论、大学外语、高等数学、大学物理、物理实验、线性代数、概率论与数理统计、程序设计语言、数据结构、离散数学、操作系统、编译技术、软件工程概论、统一建模语言、软件体系结构、软件需求、软件项目管理2. 该专业除了学习公共基础课外,还将系统学习离散数学、数据结构、算法分析、面向对象程序设计、现代操作系统、数据库原理与实现技术、编译原理、软件工程、软件项目管理、计算机安全等课程,根据学生的兴趣还可以选修一些其它选修课。
3. 实践环节:毕业实习、课程设计、计算机工程实践、生产实习、毕业设计(论文)。
4. 就业方向:1. 本专业学生毕业后可以从事各级各类企事业单位的办公自动化处理、计算机安装与维护、网页制作、计算机网络和专业服务器的维护管理和开发工作、动态商务网站开发与管理、软件测试与开发及计算机相关设备的商品贸易等方面的有关工作。
2. 除考取国内外名牌大学研究生外,主要毕业去向是计算机软件专业公司﹑信息咨询公司﹑以及金融等其它独资、合资企业。
3. 就业前景:1. 中国的软件行业规模不是很大,有些软件企业在软件制作上,也只是采用了一些软件工程的思想,距离大规模的工业化大生产比较还是有一定的差距;原因有管理体制的问题,市场问题,政策问题,也有软件工程理论不全面和不完善的问题。
所以软件工程的研究和应用,以及中国软件行业的进一步发展,都需要一定的既有软件工程的理论基础和研究能力,又有一定的实践经验的软件工程科学技术人员来推动。
软件工程的前途是光明的。
2. 软件服务外包属于智力人才密集型现代服务业。
大量著名外包企业落户宁波。
主要就业去向包括软件外包与服务企业、信息产品与服务企业,担任程序员、软件测试员、项目经理等工作岗位。
3. 就业岗位:1. Java方向:JAVA初级程序员、JAVA计算程序员 、 JAVA工程师 、J2EE系统工程师等。
2. .Net方向: .Net程序员网站开发工程师 .Net工程师等。
3. 其它方向: 简单的管理信息系统开发和维护人员 、网页制作和客户端脚本程序编写人员 、初级数据库管理和 维护人员 、数据库开发工程师 、系统分析设计工程 、软件项目配置管理员 、文档编写工程师。
软件工程这个专业如何?
软件工程专业: 主修课程:主干学科:马克思主义理论、大学外语、高等数学、大学物理、物理实验、线性代数、概率论与数理统计、程序设计语言、数据结构、离散数学、操作系统、编译技术、软件工程概论、统一建模语言、软件体系结构、软件需求、软件项目管理该专业除了学习公共基础课外,还将系统学习离散数学、数据结构、算法分析、面向对象程序设计、现代操作系统、数据库原理与实现技术、编译原理、软件工程、软件项目管理、计算机安全等课程,根据学生的兴趣还可以选修一些其它选修课。
实践环节:毕业实习、课程设计、计算机工程实践、生产实习、毕业设计(论文)。
就业方向:本专业学生毕业后可以从事各级各类企事业单位的办公自动化处理、计算机安装与维护、网页制作、计算机网络和专业服务器的维护管理和开发工作、动态商务网站开发与管理、软件测试与开发及计算机相关设备的商品贸易等方面的有关工作。
除考取国内外名牌大学研究生外,主要毕业去向是计算机软件专业公司﹑信息咨询公司﹑以及金融等其它独资、合资企业。
就业前景:中国的软件行业规模不是很大,有些软件企业在软件制作上,也只是采用了一些软件工程的思想,距离大规模的工业化大生产比较还是有一定的差距;原因有管理体制的问题,市场问题,政策问题,也有软件工程理论不全面和不完善的问题。
所以软件工程的研究和应用,以及中国软件行业的进一步发展,都需要一定的既有软件工程的理论基础和研究能力,又有一定的实践经验的软件工程科学技术人员来推动。
软件工程的前途是光明的。
软件服务外包属于智力人才密集型现代服务业。
大量著名外包企业落户宁波。
主要就业去向包括软件外包与服务企业、信息产品与服务企业,担任程序员、软件测试员、项目经理等工作岗位。
就业岗位:Java方向:JAVA初级程序员、JAVA计算程序员 、 JAVA工程师 、J2EE系统工程师等。
.Net方向: .Net程序员网站开发工程师 .Net工程师等。
其它方向: 简单的管理信息系统开发和维护人员 、网页制作和客户端脚本程序编写人员 、初级数据库管理和 维护人员 、数据库开发工程师 、系统分析设计工程 、软件项目配置管理员 、文档编写工程师。
...
什么是软件工程?它可以解决什么问题?
软件工程是指导计算机软件开发和维护的工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。
软件工程(SoftWare Engineering)的框架可概括为:目标、过程和原则。
(1)软件工程目标:生产具有正确性、可用性以及开销合宜的产品。
正确性指软件产品达到预期功能的程度。
可用性指软件基本结构、实现及文档为用户可用的程度。
开销合宜是指软件开发、运行的整个开销满足用户要求的程度。
这些目标的实现不论在理论上还是在实践中均存在很多待解决的问题,它们形成了对过程、过程模型及工程方法选取的约束。
(2)软件工程过程:生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。
软件工程过程主要包括开发过程、运作过程、维护过程。
它们覆盖了需求、设计、实现、确认以及维护等活动。
需求活动包括问题分析和需求分析。
问题分析获取需求定义,又称软件需求规约。
需求分析生成功能规约。
设计活动一般包括概要设计和详细设计。
概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。
详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。
实现活动把设计结果转换为可执行的程序代码。
确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。
维护活动包括使用过程中的扩充、修改与完善。
伴随以上过程,还有管理过程、支持过程、培训过程等。
(3)软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。
急求软件工程大学生暑期社会实践报告!!!!3000
我实习的单位是******学院,这是一所由**市教委、**(集团)公司与德国**基金会合作的一所探索、实践德国“双元制”职业教育模式的全日制中等专业学校。
我在学校里主要是负责校园内网的管理,其涉及到校园网网站的正常登陆和访问,校园内各系部主机是否正常互联,有无被病毒感染、传播。
使得校园网内的计算机能够正常运行,做好校园网的管理和维护工作。
从学生到实习工程师,短短几个月的工作过程使我受益匪浅。
不仅是在专业知识方面,最主要是在为人处事方面。
社会在加速度地发生变化,对人才的要求也越来越高,要用发展的眼光看问题,得不断提高思想认识,完善自己。
作为一名IT从业者,所受的社会压力将比其他行业更加沉重,要学会创新求变,以适应社会的需要。
在单位里,小到计算机的组装维修,大到服务器的维护与测试,都需要一个人独立完成。
可以说,近3个月的工作使我成长了不少,从中有不少感悟,下面就是我的一点心得: 第一是要真诚:你可以伪装你的面孔你的心,但绝不可以忽略真诚的力量。
第一天去网络中心实习,心里不可避免的有些疑惑:不知道老师怎么样,应该去怎么做啊,要去干些什么呢等等吧!踏进办公室,只见几个陌生的脸孔。
我微笑着和他们打招呼。
从那天起,我养成了一个习惯,每天早上见到他们都要微笑的说声:“老师早”,那是我心底真诚的问候。
我总觉得,经常有一些细微的东西容易被我们忽略,比如轻轻的一声问候,但它却表达了对老师同事对朋友的尊重关心,也让他人感觉到被重视与被关心。
仅仅几天的时间,我就 和 老师们打成一片,很好的跟他们交流沟通学习,我想,应该是我的真诚,换得了老师的信任。
他们把我当朋友也愿意指导我,愿意分配给我任务。
第二是沟通:要想在短暂的实习时间内,尽可能多的学一些东西,这就需要跟老师有很好的沟通,加深彼此的了解,刚到网络中心,老师并不了解你的工作学习能力,不清楚你会做那些工作,不清楚你想了解的知识,所以跟老师很好的沟通是很必要的。
同时我觉得这也是我们将来走上社会的一把不可缺少的钥匙。
通过沟通了解,老师我我有了大体了解,边有针对性的教我一些知识,我对网络部线,电脑硬件安装,网络故障排除,工作原理应用比叫感兴趣,所以老师就让我独立的完成校内大小部门的网络检修与电脑故障排除工作。
如秘书处的办公室内局域网的组件,中心服务机房的服务器监测等,直接或间接保证了校园网的正常运行和使用,在这方面的工作中,真正学到了计算机教科书上所没有或者真正用到了课本上的知识,巩固了旧知识,掌握了新知识,甚至在实践中推翻了书本上旧有的不合实际的知识,这才真正体现了知识的真正价值,学以致用。
第三是激情与耐心:激情与耐心,就像火与冰,看似两种完全不同的东西,却能碰撞出最美丽的火花。
在中心时,老师就跟我说,想做电脑网络这一块,激情与耐心必不可少,在产品更新方面,这一行业就像做新闻工作,补断的更新,这就需要你有激情,耐心的去不断的学习,提高自己的专业水平。
在一些具体的工作当中也是这样的: 记得刚来学校实习的时候老师安排我去综合部安装win98操作系统,我本想对我来说是非常简单的事,可没想到出现了很多问题,开始是硬件问题:光驱不能用使我在一开始安装系统时就出现了急躁的情绪,然后顺利解决后,98系统的驱动问题又让我大伤脑筋!从一开始的USB驱动慢慢的安装,再通过硬件监测软件查看硬件型号,到最后把系统安装成功,用了整整两天的时间, 通过自己的捉摸,调试,自此,我算是真正的搞明白的计算机的硬件安装,维护和更新,接着我又进行了各种计算机操作系统的反复安装调试,一遍又一遍的调试安装,自然有些烦,但我用我的热情耐心克服这些困难,问老师,查资料,一个个问题迎刃而解,自己在这方面的知识得到了充实。
这些在平常的书本上仅仅是获得感性的认识在这里真的实践了,才算是真正的掌握了,也让我认识到了自己的不足,告诫自己,不管做什么,切忌眼高手低,要 善于钻研 。
还有我感触比较深的就是 查看 log 日志记录,因为服务器的维护是复杂又艰辛的,既要保障物理安全又要保证系统安全,这就需要通过查询 log 日志记录,每一分钟的服务器状况都有 log 日志记录,而且它一是数据量大、二是有大量无用信息,所以查看 log 使非常“痛苦”的事情。
像这些工作我熬深深地感觉到每有激情与耐心是做不好的。
第四是细心负责和基本的专业素养:细心负责是做好每一件事情所必备的基本素质,基本的专业素养是前提。
实习期间,我承担了 ftp 服务器的管理工作和 校内信息服务的日常检测工作,这同专业的发展方向是极其吻合的。
ftp 服务带有自身的特殊性,用户可以在其中发布各种文档包括文本、声音、视频、多媒体等,对 ftp 的管理就要有极好的电脑知识尤其要对文件路径十分了解,还要有信息归纳的能力,将校内用户上传的文档分门别类的放在不同的文件夹中,这也是作为我门专业学生应当具有的基本能力之一,在 ftp 管理的过程中,我深刻的感受到了作为信息管理者和发布者是非辨别和政治...
软件工程涉及到软件生产的哪些方面
软件工程是信息领域发展最快的学科分支之一。
当今时代是信息化的时代,而信息化的实现,人才是最重要的环节。
软件产业的发展水平,决定了一个国家的信息产业发展水平及其在国际市场上的综合竞争力。
目前,我国高素质的软件工程人才的极度短缺已经成为制约我国软件产业快速发展的一个瓶颈,如何培养与国际接轨的高素质软件工程人才,已经成为信息化工作中的重中之重。
随着计算机应用已经渗透到经济和社会生活的方方面面,计算机软件的概念早已为人们所熟知。
然而,软件是如何生产出来呢?大家可能在中学的时候利用过某些编程工具做了一些简单的程序,这就是软件生产的初级阶段。
实际大型软件的生产往往需要成千上万的人协作工作,共同完成软件的生产过程,参与生产的成员有可能来自不同的国家、在不同的时区、用不同的语言,因此需要很好的交流、合作、分工、协调,这样的软件生产过程,就必需要有高效的管理。
另外,软件是服务于社会的金融、交通、石油、教育、航天等各个行业的,因此也需要用软件相关知识去分析具体的行业应用,去设计最符合应用需求的软件,才能实现软件的价值。
软件工程的目的就是在现有软件开发技术基础上,对应用的需求进行分析,设计高质量的软件架构,分配和协调每个软件生产人员的工作,保证软件高质量的完成。
软件工程专业是一门综合性、实践性、行业性非常强的专业。
本专业要求掌握软件工程基本理论、软件开发技术和软件工程管理技术,培养具备深厚计算机软件开发功底、具有软件系统分析能力及软件工程管理能力的且对某一领域知识精通的高级复合型人才,能够在软件领域中从事需求分析、设计、开发、测试、实施和管理。
未来几年,国内外高层次软件人才将供不应求。
在我国IT职场十大人气职位中,软件工程师位列第一位,软件工程人才的就业前景十分乐观。
本专业就业除了如IBM、微软、Sun、SAP、联想、用友、金山等专业IT企业之外,也可以到中国移动、中国电信、中国联通等通信运营商,还可以去政府事业单位以及银行、交通、石油等传统部门的信息管理中心,也可以去如埃生哲、毕马威、普华永道等世界著名的咨询管理类企业,此外盛大、巨人网络等游戏企业也都可以成为大家的就业目标。
大家的工作职位除了软件工程师、软件设计师、系统架构师、程序员、测试员之外,还有项目管理人员、客户需求分析师等职位,此外还有行业服务的咨询师、行业专家等。
目前软件工程专业设有三个方向:软件技术开发、软件工程管理、数字媒体艺术(虚拟现实及游戏软件制作)。
在夯实英语、数学、软件基本理论的基础上,通过一系列的特色课程及实践培养同学们的自学能力、团队合作能力、交流沟通表达能力、工程管理组织能力、外语应用能力。
学院专业课程的教师大多来自各大软件企业,实施案例式教学,课堂边学边练,边练边学,讲授最新的软件工程专业知识。
专设项目实训课程,模拟企业生产开发环境,由企业教师按照企业真实的开发流程组织同学们完成真实的软件项目。
。
除此之外的业界之旅活动,组织参观各大软件企业和研究机构,同学有和两院院士、软件业巨子进行一对一交流的机会。
软件工程概论实践3000 字,求大神帮忙,感激不尽!谢谢
1. 软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。
它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。
2. 在现代社会中,软件应用于多个方面。
典型的软件有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。
同时,各个行业几乎都有计算机软件的应用,如工业、农业、银行、航空、政府部门等。
这些应用促进了经济和社会的发展,也提高了工作效率和生活效率 。
什么叫软件工程?
软件工程一直以来都缺乏一个统一的定义,很多学者、组织机构都分别给出了自己的定义:Boehm:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。
IEEE:软件工程是开发、运行、维护和修复软件的系统方法。
Fritz Bauer:建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。
软件工程学的内容 软件工程学的主要内容是软件开发技术和软件工程管理. 软件开发技术包含软件工程方法学、软件工具和软件开发环境;软件工程管理学包含软件工程经济学和软件管理学。
软件工程基本原理著名软件工程专家B.Boehm综合有关专家和学者的意见并总结了多年来开发软件的经验,于1983年在一篇论文中提出了软件工程的七条基本原理。
(1)用分阶段的生存周期计划进行严格的管理。
(2)坚持进行阶段评审。
(3)实行严格的产品控制。
(4)采用现代程序设计技术。
(5)软件工程结果应能清楚地审查。
(6)开发小组的人员应该少而精。
(7)承认不断改进软件工程实践的必要性。
B.Boehm指出,遵循前六条基本原理,能够实现软件的工程化生产;按照第七条原理,不仅要积极主动地采纳新的软件技术,而且要注意不断总结经验。
软件工程(SoftWare Engineering)的框架可概括为:目标、过程和原则。
(1)软件工程目标:生产具有正确性、可用性以及开销合宜的产品。
正确性指软件产品达到预期功能的程度。
可用性指软件基本结构、实现及文档为用户可用的程度。
开销合宜是指软件开发、运行的整个开销满足用户要求的程度。
这些目标的实现不论在理论上还是在实践中均存在很多待解决的问题,它们形成了对过程、过程模型及工程方法选取的约束。
(2)软件工程过程:生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。
软件工程过程主要包括开发过程、运作过程、维护过程。
它们覆盖了需求、设计、实现、确认以及维护等活动。
需求活动包括问题分析和需求分析。
问题分析获取需求定义,又称软件需求规约。
需求分析生成功能规约。
设计活动一般包括概要设计和详细设计。
概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。
详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。
实现活动把设计结果转换为可执行的程序代码。
确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。
维护活动包括使用过程中的扩充、修改与完善。
伴随以上过程,还有管理过程、支持过程、培训过程等。
(3)软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。
软件工程必须遵循什么原则围绕工程设计、工程支持以及工程管理已提出了以下四条基本原则:(1)选取适宜的开发模型该原则与系统设计有关。
在系统设计中,软件需求、硬件需求以及其它因素间是相互制约和影响的,经常需要权衡。
因此,必需认识需求定义的易变性,采用适当的开发模型,保证软件产品满足用户的要求。
(2)采用合适的设计方法在软件设计中,通常需要考虑软件的模块化、抽象与信息隐蔽、局部化、一致性以及适应性等特征。
合适的设计方法有助于这些特征的实现,以达到软件工程的目标。
(3)提供高质量的工程支撑工欲善其事,必先利其器。
在软件工程中,软件工具与环境对软件过程的支持颇为重要。
软件工程项目的质量与开销直接取决于对软件工程所提供的支撑质量和效用。
(4)重视软件工程的管理 软件工程的管理直接影响可用资源的有效利用,生产满足目标的软件产品以及提高软件组织的生产能力等问题。
因此,仅当软件过程予以有效管理时,才能实现有效的软件工程。
软件工程是指导计算机软件开发和维护的工程学科。
采用工程的概念、原理、 技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够 得到的最好的技术方法结合起来,这就是软件工程。
软件工程强调使用生存周期方法学和各种结构分析及结构设计技术。
它们是在七十年代为了对付应用软件日益增长的复杂程度、漫长的开发周期以及用户对软件产品经常不满意的状况而发展起来的。
人类解决复杂问题时普遍采用的一个策略就是“各个击破”,也就是对问题进行分解然后再分别解决各个子问题的策略。
软件工程采用的生存周期方法学就是从时间角度对软件开发和维护的复杂问题进行分解,把软件生存的漫长周期依次划分为若干个阶段,每个阶段有相对独立的任务,然后逐步完成每个阶段的任务。
采用软件工程方法论开发软件的时候,从对任务的抽象逻辑分析开始,一个阶段一个阶段地进行开发。
前一个阶段任务的完成是开始进行后一个阶段工作的前提和基础,而后一阶段任务的完成通常是使前一阶段提出的解法更进一步具体化,加进了更多的物理细节。
每一个阶段的开始和结束都有严格标准,对于任何两个相邻的阶段而言,前一阶段的结束标准就是后一阶段的开始标准。
在每一个阶段结束之前都必须进行正式严格的技术审查和管理复审,从技术和管理两方面对这个阶段的开发...
软件工程是学什么的,包括什么?
楼上的朋友们不要误导哦。
软件工程不是那么简单的编程。
现在学通信、电子的还学编程呢~~软件工程是一类工程。
工程是将理论和知识应用于实践的科学。
就软件工程而言,它借鉴了传统工程的原则和方法,以求高效地开发高质量软件。
其中应用了计算机科学、数学和管理科学。
计算机科学和数学用于构造模型与算法,工程科学用于制定规范、设计范型、评估成本及确定权衡,管理科学用于计划、资源、质量和成本的管理。
软件工程涉及了软件工程的目标、软件工程原则和软件工程活动。
目标:我的眼里只有“产品” 软件工程的主要目标是:生产具有正确性、可用性以及开销合宜的产品。
正确性意指软件产品达到预期功能的程度。
可用性指软件基本结构、实现及文档为用户可用的程度。
开销合宜性是指软件开发、运行的整个开销满足用户要求的程度。
这些目标的实现不论在理论上还是在实践中均存在很多问题有待解决,它们形成了对过程、过程模型及工程方法选取的约束。
软件工程活动是“生产一个最终满足需求且达到工程目标的软件产品所需要的步骤”。
主要包括需求、设计、实现、确认以及支持等活动。
需求活动包括问题分析和需求分析。
问题分析获取需求定义,又称软件需求规约。
需求分析生成功能规约。
设计活动一般包括概要设计和详细设计。
概要设计建立整个软件体系结构,包括子系统、模块以及相关层次的说明、每一模块接口定义。
详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。
实现活动把设计结果转换为可执行的程序代码。
确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。
支持活动包括修改和完善。
伴随以上活动,还有管理过程、支持过程、培训过程等。
框架:四项基本原则是基石 软件工程围绕工程设计、工程支持以及工程管理,提出了以下四项基本原则: 第一,选取适宜开发范型。
该原则与系统设计有关。
在系统设计中,软件需求、硬件需求以及其他因素之间是相互制约、相互影响的,经常需要权衡。
因此,必须认识需求定义的易变性,采用适宜的开发范型予以控制,以保证软件产品满足用户的要求。
第二,采用合适的设计方法。
在软件设计中,通常要考虑软件的模块化、抽象与信息隐蔽、局部化、一致性以及适应性等特征。
合适的设计方法有助于这些特征的实现,以达到软件工程的目标。
第三,提供高质量的工程支持。
“工欲善其事,必先利其器”。
在软件工程中,软件工具与环境对软件过程的支持颇为重要。
软件工程项目的质量与开销直接取决于对软件工程所提供的支撑质量和效用。
第四,重视开发过程的管理。
软件工程的管理,直接影响可用资源的有效利用,生产满足目标的软件产品,提高软件组织的生产能力等问题。
因此,仅当软件过程得以有效管理时,才能实现有效的软件工程。
这一软件工程框架告诉我们,软件工程的目标是可用性、正确性和合算性;实施一个软件工程要选取适宜的开发范型,要采用合适的设计方法,要提供高质量的工程支撑,要实行开发过程的有效管理;软件工程活动主要包括需求、设计、实现、确认和支持等活动,每一活动可根据特定的软件工程,采用合适的开发范型、设计方法、支持过程以及过程管理。
根据软件工程这一框架,软件工程学科的研究内容主要包括:软件开发范型、软件开发方法、软件过程、软件工具、软件开发环境、计算机辅助软件工程(CASE) 及软件经济学等。
作用:高效开发高质量软件 自从软件工程概念提出以来,经过30多年的研究与实践,虽然“软件危机”没得到彻底解决,但在软件开发方法和技术方面已经有了很大的进步。
尤其应该指出的是,自80年代中期,美国工业界和政府部门开始认识到,在软件开发中,最关键的问题是软件开发组织不能很好地定义和管理其软件过程,从而使一些好的开发方法和技术都起不到所期望的作用。
也就是说,在没有很好定义和管理软件过程的软件开发中,开发组织不可能在好的软件方法和工具中获益。
根据调查,中国的现状几乎和美国10多年前的情况一样,软件开发过程没有明确规定,文档不完整,也不规范,软件项目的成功往往归功于软件开发组的一些杰出个人或小组的努力。
这种依赖于个别人员上的成功并不能为全组织的软件生产率和质量的提高奠定有效的基础,只有通过建立全组织的过程改善,采用严格的软件工程方法和管理,并且坚持不懈地付诸实践,才能取得全组织的软件过程能力的不断提高。
只有坚持软件工程的四条基本原则,既重视软件技术的应用,又重视软件工程的支持和管理,并在实践中贯彻实施,才能高效地开发出高质量的软件。
展开
算命花生