软件工程学在软件开发中的作用

作者&投稿:弘隶 (若有异议请与网页底部的电邮联系)
软件工程这门学科在软件开发过程中有哪些重要性~

1、软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。
在现代社会中,软件应用于多个方面。典型的软件有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,如工业、农业、银行、航空、政府部门等。这些应用促进了经济和社会的发展,也提高了工作效率和生活效率 。
2、
开发流程
▪ 需求分析
▪ 概要设计
▪ 详细设计
▪ 编码
▪ 测试
▪ 软件交付
▪ 验收
▪ 维护
3、软件架构(software
architecture)是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。 软件架构是一个系统的草图。软件架构描述的对象是直接构成系
统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向
对象领域中,组件之间的连接通常用接口_(计算机科学)来实现。
软件体系结构是构建计算机软件实践的基础。与建筑师设定建筑项目的设计原则和目标,作为绘图员画图的基础一样,一个软件架构师或者系统架构师陈述软件构架以作为满足不同客户需求的实际系统设计方案的基础。
软件构架是一个容易理解的概念,多数工程师(尤其是经验不多的工程师)会从直觉上来认识它,但要给出精确的定义很困难。特别是,很难明确地区分设计和构架:构架属于设计的一方面,它集中于某些具体的特征。
在“软件构架简介”中,David Garlan 和 Mary Shaw
认为软件构架是有关如下问题的设计层次:“在计算的算法和数据结构之外,设计并确定系统整体结构成为了新的问题。结构问题包括总体组织结构和全局控制结
构;通信、同步和数据访问的协议;设计元素的功能分配;物理分布;设计元素的组成;定标与性能;备选设计的选择。
但构架不仅是结构;IEEE Working Group
on Architecture 把其定义为“系统在其环境中的最高层概念”。构架还包括“符合”系统完整性、经济约束条件、审美需求和样式。它并不仅注
重对内部的考虑,而且还在系统的用户环境和开发环境中对系统进行整体考虑,即同时注重对外部的考虑。
在Rational Unified Process 中,软件系统的构架(在某一给定点)是指系统重要构件的组织或结构,这些重要构件通过接口与不断减小的构件与接口所组成的构件进行交互。
从和目的、主题、材料和结构的联系上来说,软件架构可以和建筑物的架构相比拟。一个软件架构师需要有广泛的软件理论知识和相应的经验来事实和管
理软件产品的高级设计。软件架构师定义和设计软件的模块化,模块之间的交互,用户界面风格,对外接口方法,创新的设计特性,以及高层事物的对象操作、逻辑
和流程。
一般而言,软件系统的架构(Architecture)有两个要素:
它是一个软件系统从整体到部分的最高层次的划分。
一个系统通常是由元件组成的,而这些元件如何形成、相互之间如何发生作用,则是关于这个系统本身结构的重要信息。
详细地说,就是要包括架构元件(Architecture Component)、联结器(Connector)、任务流(Task-flow)。
所谓架构元素,也就是组成系统的核心"砖瓦",而联结器则描述这些元件之间通讯的路径、通讯的机制、通讯的预期结果,任务流则描述系统如何使用这些元件和
联结器完成某一项需求。
建造一个系统所作出的最高层次的、以后难以更改的,商业的和技术的决定。
建造一个系统之前会有很多的重要决定需要事先作出,而一旦系统开始进行详细设计甚至建造,这些决定就很难更改甚至无法更改。显然,这样的决定必定是有关系统设计成败的最重要决定,必须经过非常慎重的研究和考察。
4、自己写了

软件工程是计算机专业的一门重要的专业基础课,它对于培养学生的软件素质,提高学生的软件开发能力与软件项目管理能力具有重要的意义.
1995年,Standish Group针对系统开发成功的研究表明,所有的开发项目中有32%的项目在它们结束之前被中止.此外多于一半的软件项目花费的成本相当于原来预算的2倍.
软件工程
只有42%的软件项目完成时达到了预期的范围和功能,事实上,许多系统只完成了部分预期的需求.
因此,软件的开发是一个很困难的活动,要求很仔细的计划和执行.
软件工程就是在这样的背景下,由许多计算机科学家经过多方面的探索和总结而成形的.目前发展十分迅速 近二十年来计算机软件已经成为现代科学研究和解决工程问题的基础,以及管理部门,生产部门,和服务行业中的关键因素,渗透到了各个领域,成为当今世界不可缺少的一部分.
展望二十一世纪,软件仍将成为驱动任何事情从基础教育到遗传工程取得新进展的动力.
学习研究工程化的软件开发方法,使开发过程更加规范.
软件工程(SoftWare Engineering)的框架可概括为:目标、过程和原则。
  (1)软件工程目标:生产具有正确性、可用性以及开销合宜的产品。正确性指软件产品达到预期功能的程度。可用性指软件基本结构、实现及文档为用户可用的程度。开销合宜是指软件开发、运行的整个开销满足用户要求的程度。这些目标的实现不论在理论上还是在实践中均存在很多待解决的问题,它们形成了对过程、过程模型及工程方法选取的约束。
  (2)软件工程过程:生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。软件工程过程主要包括开发过程、运作过程、维护过程。它们覆盖了需求、设计、实现、确认以及维护等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软件需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。维护活动包括使用过程中的扩充、修改与完善。伴随以上过程,还有管理过程、支持过程、培训过程等。
  (3)软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。

1、定义项目成功的标准
  在项目的开始,要保证风险承担者对于他们如何判断项目是否成功有统一的认识。经常,满足一个预定义的进度安排是唯一明显的成功因素,但是肯定还有其他的因素存在,比如:增加市场占有率,获得指定的销售量或销售额,取得特定用户满意程度,淘汰一个高维护需求的遗留系统,取得一个特定的事务处理量并保证正确性。项目计划目标定义,包括进度,成本和质量(PP)

  2、识别项目的驱动、约束和自由程度
  每个项目都需要平衡它的功能性,人员,预算,进度和质量同标。我们把以上五个项目方面中的每一个方面,要么定义成一个约束,你必须在这个约束中进行操作,要么定义成与项目成功对应的驱动,或者定义成通向成功的自由程度,你可以在一个规定的范围内调整。相关的详细信息,请参照我的《创建一种软件工程文化》(Creating a software Engineering Culture)(Dorset House,1996)中的第一章。项目的假设和约束(PP)

  3、定义产品发布标准
  在项目早期,要决定用什么标准来确定产品是否准备好发布了。你可以把发布标准基于:还存在有多少个高优先级的缺陷、性能度量、特定功能完全可操作、或其他方面表明项目已经达到了它的目的。不管你选择了什么标准,都应该是可实现的、可测量的、文档化的,并且与你的客户指的“质量”一致。项目的具体验收标准(PP)

  4、沟通承诺
  尽管有承诺不可能事件的压力,从不作一个你知道你不能保证的承诺。和客户和管理人员沟通哪些可以实际取得时,要有好的信誉。你的任何以前项目的数据会帮助你作说服的论据,虽然这对于不讲道理的人来说没有任何可真正的防御作用。沟通计划,关键依赖和承诺(PP)

  5、写一个计划
  有些人认为,花时间写计划还不如花时间写代码,但是我不这么认为。困难的部分不是写计划,困难的部分是作这个计划——思考,沟通,权衡,交流,提问并且倾听。你用来分析解决问题需要花费的时间,会减少项目以后会带给你的意外。项目计划(PP)

  6、把任务分解成英寸大小的小圆石
  英寸大小的小圆石是缩小了的里程碑。把大任务分解成多个小任务,帮助你更加精确的估计它们,暴露出在其他情况下你可能没有想到的工作活动,并且保证更加精确、细密的状态跟踪。工作结构分解WBS (PP)

  7、为通用的大任务开发计划工作表
  如果你的组经常承担某种特定的通用任务,如实现一个新的对象类,你需要为这些任务开发一个活动检查列表和计划工作表。每个检查列表应该包括这个大任务可能需要的所有步骤。这些检查列表和工作表将帮助小组成民确定和评估与他/她必须处理的大任务的每个实例相关的工作量。项目进度计划 (PP)

  8、计划中.在质且控制活动后应证百赐改工作
  几乎所有的质量控制活动.如测试和技术评审.都会发现缺陷或其他提高的可能。你的项目进度或工作细分结构,应该把每次质量控制活动后的修改,作为一个单独的任务包括进去。如果你事实上不用作任何的修改,很好,你已经走在了本任务的计划前面。但是不要去指望它。项目质量计划,质量保证计划 (PPQA)
 9、为过程改进安排时间
  你的小组成员已经淹没在他们当前的项目中,但是如果你想把你的组提升到一个更高的软件工程能力水平,你就必须投资一些时间在过程改进上。从你的项目进度中留出一些时间,因为软件项目活动应该包括做能够帮助你下一个项日更加成功的过程改进。不要把你项目成员可以利用的时间100%的投入到项目任务中,然后惊讶于为什么他们在主动提高方面没有任何进展。
10、管理项目的风险
  如果你不去识别和控制风险.那么它们会控制你。在项目计划时花一些时间集体讨论可能的风险因素,评估它们的潜在危害,并且决定你如何减轻或预防它们。要一个软件风险管理的简要的指南,参见我的文章“Know Your Enemy:Software Risk Management”(Oct.1998)。风险管理(RSKM)

  11、根据工作计划而不是日历来作估计
  人们通常以日历时间作估计,但是我倾向于估计与任务相关联的工作计划(以人时为单位)的数量,然后把工作计划转换为日历时间的估计。这个转换基于每天我有多少有效的小时花费在项目任务上,我可能碰到的任何打断或突发调整请求,会议,和所有其他会让时间消失的地方。

有非常重要的作用!他们之间的关系是相互联系的!


软件工程主要是学什么
软件工程主要是学软件开发基础、软件开发实践以及行业应用与前沿技术等。1、软件开发基础 编程语言:如Java、Python、C++等,用于开发软件应用程序。数据结构与算法:理解并能够应用不同的数据结构和算法,以提高程序的效率。数据库原理:掌握数据库设计、管理和优化原理,为软件开发提供数据支持。2、软件开发...

软件工程是学什么的?
1. 软件开发过程:软件工程强调使用系统的方法、规范和工具来开发和维护软件。这包括需求分析、设计、编码、测试和维护等阶段。每个阶段都有明确的任务和方法,以确保软件开发的顺利进行。例子1: 在开发一个电商平台时,首先进行需求分析,明确平台应具备的功能和特性。接着,进行系统设计,包括数据库设计...

软件工程专业能干什么
10.游戏开发者:软件工程专业的毕业生可以成为游戏开发者,创造和开发各种类型的电子游戏。软件工程专业是当前最热门的专业之一,就业前景非常广阔。随着信息化时代的到来,软件工程师的需求量不断增加。毕业生可以在互联网公司、软件开发公司、金融、医疗、教育等各行各业找到就业机会,薪资也较为可观。

软件工程专业主要是学什么?以后主要从事哪方面的工作呢?
软件开发技术包含软件工程方法学、软件工具和软件开发环境;软件工程管理学包含软件工程经济学和软件管理学。 专业简介是计算机领域发展最快的学科分支之一,国家非常重视软件行业的发展,对软件人才的培养给予了非常优惠的政策。本专业培养掌握计算机软件基本理论知识,熟悉软件开发和管理技术、能够在计算机软件领域...

软件工程主要学什么就业方向
软件开发工程师:负责软件的设计、开发、测试和维护等工作。系统分析员:负责对系统进行分析、设计和实施等工作。项目经理:负责项目的计划、管理和执行等工作。软件测试工程师:负责对软件进行测试和质量控制等工作。总之,软件工程专业的学生具有较强的软件开发和管理能力,可以在各种软件开发和管理领域中找到...

软件工程具体学什么?
软件工程学的内容 软件工程学的主要内容是软件开发技术和软件工程管理。 软件开发技术包含软件工程方法学、软件工具和软件开发环境;软件工程管理学包含软件工程经济学和软件管理学。 专业简介 是计算机领域发展最快的学科分支之一,国家非常重视软件行业的发展,对软件人才的培养给予了非常优惠的政策。本专业培养掌握计算机软件...

软件工程主要学什么?
软件工程导论、计算机组成原理、计算机网络基础、计算机体系结构、可视化程序设计、软件设计与体系结构、软件质量保证与测试、软件需求分析、人机交互的软件工程方法、软件代码开发技术、工程经济学、团队激励与沟通、软件项目管理、软件工程实践等。授予学位:符合学士学位授予条件者,授予工学学士学位。

软件工程专业是干什么的?
软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。软件工程的目标是:在给定成本、进度的前提下...

软件工程专业学的是什么内容啊?
软件测试与质量保证:学生需要学习软件测试的基本原理和方法,以及质量保证的实践和工具。项目管理:学生需要学习项目管理的原理和方法,如敏捷开发、项目管理办公室等。除此之外,软件工程专业的学生还需要具备良好的数学基础,如概率统计、线性代数等方面的知识。同时,学生还需要具备团队协作和沟通能力,以及...

软件工程学什么
软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。就业前景:中国的软件行业规模不是很大,有些软件企业在软件制作上,也只是采用了一些软件工程的思想,距离大规模的工业化大...

高明区15094143125: 软件工程是什么?它有什么作用和意义? -
柘柿养阴: 概括的说,软件工程是指导计算机软件开发和维护的一门工程学科.采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它.

高明区15094143125: 在现代软件开发中,软件工程能够发挥什么作用 -
柘柿养阴: 软件工程是指导软件工程项目整个生命周期的纲领性文件!就象公司制度对于公司行为管理的重要性!

高明区15094143125: 软件工程的意义和作用 -
柘柿养阴:[答案] 软件工程是计算机专业的一门重要的专业基础课,它对于培养学生的软件素质,提高学生的软件开发能力与软件项目管理能力具有重要的意义.1995年,Standish Group针对系统开发成功的研究表明,所有的开发项目中有32%的项目在...

高明区15094143125: 软件工程的理论和思想对软件开发的意义 -
柘柿养阴: 这个不好说吧,软件工程,对软件开发的意义呢,打个比喻,别人说的,呵呵 如果建筑工程,像我们现在的做软件一样做房子,那么现在的房子都会被第一只小鸟弄倒.软件工程的意义,就是使做房子的时候,不会做出易倒的房子了,主要是以规范划的方式,保证软件开发的成功

高明区15094143125: 软件工程在信息化建设中的作用是什么 -
柘柿养阴: 提高管理效率、实现异地办公、实现多人协同合作、计算方便快速,等等,好处多了去了.

高明区15094143125: 软件工程有什么用?
柘柿养阴: 软件工程 (Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科.它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面.在现代社会中,软件应用于多个方面.典型的软件比如有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏等.同时,各个行业几乎都有计算机软件的应用,比如工业,农业,银行,航空,政府部门等.这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量.

高明区15094143125: 软件工程是干啥的? 这个专业好吗 -
柘柿养阴: 当然好了 软件工程(Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科.它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面.在现代社会中,软件...

高明区15094143125: 软件工程可以解决什么问题 -
柘柿养阴: 软件的相关问题,设计开发,测试,维护,等等

高明区15094143125: 软件工程诞生的必要性
柘柿养阴: 软件工程学的主要内容是软件开发技术和软件工程管理. 软件开发技术包含软件工程方法学、软件工具和软件开发环境;软件工程管理学包含软件工程经济学和软件管理学. 专业简介是计算机领域发展最快的学科分支之一,国家非常重视软件...

高明区15094143125: 软件工程专业主要学些什么内容? -
柘柿养阴: 软件工程专业以计算机科学与技术学科为基础,强调软件开发的工程性,使学生在掌握计算机科学与技术方面知识和技能的基础上熟练掌握从事软件需求分析、软件设计、软件测试、软件维护和软件项目管理等工作所必需的基础知识、基本方法...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网