Ⅰ 软件工程的目标是什么
软件工程的目标是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需求的软件产品。
Ⅱ 软件工程学的目的应该是最终解决软件生产的什么问题
这三者都有,就是为了解决60年代软件的生产危机才出现了软件工程,那么这门学科的诞生也使得软件开发变得规范化和工程化了。
Ⅲ 软件工程的主要目标是什么
其实在计算机刚开始的时候是没有软件工程这个学科的,后来随着计算机软件规模的扩大,慢慢的人们发现软件越来越难易维护和开发(因为在最初软件设计的过程中很多问题是想不到的),这就产生了软件危机,人们为了解决软件危机,才开始研究软件的整个生命周期,才有了软件工程这个学科。
我是学这个专业的,我所理解的软件工程,就是在软件的整个生命周期里,通过科学的、工程化的管理方法,降低软件设计、开发、测试和维护的风险与成本,这个可以说是研究这个专业的目标,至于具体方法就有很多了,比如不用传统的瀑布开发模式,采用较为灵活的敏捷模式、螺旋模式或极限编程;采用经典的设计模式,降低代码耦合度;采用较新的测试方法和测试工具;完善文档等等方法,都可以有效降低软件开发的风险和成本。
Ⅳ 软件工程的基本目标是什么
软件工程的目标是:在给定成本、进度的前提下,开发出具有适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性、可移植性、可追踪性、可互操作性和满足用户需求的软件产品。追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。
(1)适用性:软件在不同的系统约束条件下,使用户需求得到满足的难易程度。
(2)有效性:软件系统能最有效的利用计算机的时间和空间资源。各种软件无不把系统的时/空开销作为衡量软件质量的一项重要技术指标。很多场合,在追求时间有效性和空间有效性时会发生矛盾,这时不得不牺牲时间有效性换取空间有效性或牺牲空间有效性换取时间有效性。时/空折衷是经常采用的技巧。
(3)可修改性:允许对系统进行修改而不增加原系统的复杂性。它支持软件的调试和维护,是一个难以达到的目标。
(4)可靠性:能防止因概念、设计和结构等方面的不完善造成的软件系统失效,具有挽回因操作不当造成软件系统失效的能力。
(5)可理解性:系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制系统软件复杂性,并支持软件的维护、移植或重用。
(6)可维护性:软件交付使用后,能够对它进行修改,以改正潜伏的错误,改进性能和其它属性,使软件产品适应环境的变化等。软件维护费用在软件开发费用中占有很大的比重。可维护性是软件工程中一项十分重要的目标。
(7)可重用性:把概念或功能相对独立的一个或一组相关模块定义为一个软部件。可组装在系统的任何位置,降低工作量。
(8)可移植性:软件从一个计算机系统或环境搬到另一个计算机系统或环境的难易程度。
(9)可追踪性:根据软件需求对软件设计、程序进行正向追踪,或根据软件设计、程序对软件需求的逆向追踪的能力。
(10)可互操作性:多个软件元素相互通信并协同完成任务的能力。
Ⅳ 软件工程专业,主要学什么就业方向
主要需要学的:
C++程序设计、java、python、高等数学、数据结构、算法设计与分析、汇编语言程序设计、数据库系统、软件工程等。
就业方向:
编写程序,做软件开发。可以在政府机关,大型企业等做程序编写,或者你也可以到华为等这种企业做软件开发。如果是做编写程序这种工作的话可能比较辛苦,要经常挨夜,不过待遇也不错。
做软件测试。软件开发出来后需要通过测试是否存在漏洞,校正后才投放到市场上使用,这中间就需要做软件测试。软件工程毕业生也可以到软件编写企业去做软件测试工作。
做数据管理。这主要做管理政府机构,学校,企业等单位的数据资料工作。这种工作相对轻松些,稳定些。
做多媒体制作。这主要到动画制作公司,广告制作公司就业。有相当一部分软件工程毕业生会到这些单位工作。
到高校从事教学工作。到高校工作要比较高学历,一般要求硕士以上学历。许多高校软件工程的教师就是软件工程专业毕业的。
Ⅵ 软件工程的培养目标
软件工程简介
培养目标:以坚持改革开放、面向需求、质量第一为办学宗旨;以培养多层次、实用型、复合型、国际化软件人才为目标;按照企业和领域需求确定培养方向,形成灵活的课程体系,动态的教学计划;按照社会主义办学方向,全面加强素质教育,重点培养学生的创新、创业精神和实践能力;学习借鉴国际软件人才培养经验,努力实现教学模式创新,管理体制创新,教学内容创新,课程设置创新,教学方法创新。切实面对软件企业的需求,按照工程化的培养方向,改革软件人才培养模式,加大软件人才培养力度,努力培养具有竞争能力的、复合型、实用性软件工程高级技术人才和管理人才。
Ⅶ 软件工程的意义和作用
软件工程是计算机专业的一门重要的专业基础课,它对于培养学生的软件素质,提高学生的软件开发能力与软件项目管理能力具有重要的意义.
1995年,Standish Group针对系统开发成功的研究表明,所有的开发项目中有32%的项目在它们结束之前被中止.此外多于一半的软件项目花费的成本相当于原来预算的2倍.
软件工程
只有42%的软件项目完成时达到了预期的范围和功能,事实上,许多系统只完成了部分预期的需求.
因此,软件的开发是一个很困难的活动,要求很仔细的计划和执行.
软件工程就是在这样的背景下,由许多计算机科学家经过多方面的探索和总结而成形的.目前发展十分迅速 近二十年来计算机软件已经成为现代科学研究和解决工程问题的基础,以及管理部门,生产部门,和服务行业中的关键因素,渗透到了各个领域,成为当今世界不可缺少的一部分.
展望二十一世纪,软件仍将成为驱动任何事情从基础教育到遗传工程取得新进展的动力.
学习研究工程化的软件开发方法,使开发过程更加规范.
软件工程(SoftWare Engineering)的框架可概括为:目标、过程和原则。
(1)软件工程目标:生产具有正确性、可用性以及开销合宜的产品。正确性指软件产品达到预期功能的程度。可用性指软件基本结构、实现及文档为用户可用的程度。开销合宜是指软件开发、运行的整个开销满足用户要求的程度。这些目标的实现不论在理论上还是在实践中均存在很多待解决的问题,它们形成了对过程、过程模型及工程方法选取的约束。
(2)软件工程过程:生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。软件工程过程主要包括开发过程、运作过程、维护过程。它们覆盖了需求、设计、实现、确认以及维护等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软件需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。维护活动包括使用过程中的扩充、修改与完善。伴随以上过程,还有管理过程、支持过程、培训过程等。
(3)软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。
Ⅷ 对所学软件工程课程各部分内容的目的、作用、主要内容等进行总结,
1、软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。
在现代社会中,软件应用于多个方面。典型的软件有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,如工业、农业、银行、航空、政府部门等。这些应用促进了经济和社会的发展,也提高了工作效率和生活效率 。
2、
开发流程
▪ 需求分析
▪ 概要设计
▪ 详细设计
▪ 编码
▪ 测试
▪ 软件交付
▪ 验收
▪ 维护
3、软件架构(software
architecture)是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。 软件架构是一个系统的草图。软件架构描述的对象是直接构成系
统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向
对象领域中,组件之间的连接通常用接口_(计算机科学)来实现。
软件体系结构是构建计算机软件实践的基础。与建筑师设定建筑项目的设计原则和目标,作为绘图员画图的基础一样,一个软件架构师或者系统架构师陈述软件构架以作为满足不同客户需求的实际系统设计方案的基础。
软件构架是一个容易理解的概念,多数工程师(尤其是经验不多的工程师)会从直觉上来认识它,但要给出精确的定义很困难。特别是,很难明确地区分设计和构架:构架属于设计的一方面,它集中于某些具体的特征。
在“软件构架简介”中,David Garlan 和 Mary Shaw
认为软件构架是有关如下问题的设计层次:“在计算的算法和数据结构之外,设计并确定系统整体结构成为了新的问题。结构问题包括总体组织结构和全局控制结
构;通信、同步和数据访问的协议;设计元素的功能分配;物理分布;设计元素的组成;定标与性能;备选设计的选择。
但构架不仅是结构;IEEE Working Group
on Architecture 把其定义为“系统在其环境中的最高层概念”。构架还包括“符合”系统完整性、经济约束条件、审美需求和样式。它并不仅注
重对内部的考虑,而且还在系统的用户环境和开发环境中对系统进行整体考虑,即同时注重对外部的考虑。
在Rational Unified Process 中,软件系统的构架(在某一给定点)是指系统重要构件的组织或结构,这些重要构件通过接口与不断减小的构件与接口所组成的构件进行交互。
从和目的、主题、材料和结构的联系上来说,软件架构可以和建筑物的架构相比拟。一个软件架构师需要有广泛的软件理论知识和相应的经验来事实和管
理软件产品的高级设计。软件架构师定义和设计软件的模块化,模块之间的交互,用户界面风格,对外接口方法,创新的设计特性,以及高层事物的对象操作、逻辑
和流程。
一般而言,软件系统的架构(Architecture)有两个要素:
它是一个软件系统从整体到部分的最高层次的划分。
一个系统通常是由元件组成的,而这些元件如何形成、相互之间如何发生作用,则是关于这个系统本身结构的重要信息。
详细地说,就是要包括架构元件(Architecture Component)、联结器(Connector)、任务流(Task-flow)。
所谓架构元素,也就是组成系统的核心"砖瓦",而联结器则描述这些元件之间通讯的路径、通讯的机制、通讯的预期结果,任务流则描述系统如何使用这些元件和
联结器完成某一项需求。
建造一个系统所作出的最高层次的、以后难以更改的,商业的和技术的决定。
建造一个系统之前会有很多的重要决定需要事先作出,而一旦系统开始进行详细设计甚至建造,这些决定就很难更改甚至无法更改。显然,这样的决定必定是有关系统设计成败的最重要决定,必须经过非常慎重的研究和考察。
4、自己写了