为什么要学软件工程
❶ 为什么要学软件工程及项目管理
管理学认为,过程管理是将输入转化为输出的一系列相互关联、相互作用的活动。所有的工作都是通过“过程”来实现的。因此,项目管理中的PDCA循环也是一个过程管理,控制好PDCA循环中的每一个过程,就能为成本管理提出相应的解决办法。管理学还认为,管理是一个循序渐进的过程,管理水平的提高有赖于不断的学习。因而,只有在建筑施工企业掌握了较低水平的管理技能后,才有可能掌握更高一级的管理技能。因此,切合实际的项目管理方法才是更可取的。 PDCA循环讲求的是计划、执行、检查和处理的全过程管理。要作到对工程项目成本的实时监控,就需要随时了解项目的进展情况,也就是项目在什么时间实施了哪些工序,以及这些工序实施的同一时间的汇总。这需要有对项目工序的细化、明确的进度计划。在对项目的实际进展进行监控的同时,还需要比照事先制定的计划或预算与之进行对比,及时反馈,以便随时找出偏差,予以即时纠正,保障项目发展符合目标方向。这一过程从原理上讲是简单的,但过程控制却不好做。原因就是在不同的时段不同的节点在项目实施过程中的统计数据量太大,不是人们想想就能实现的。它需要在前期的切合实际的方案指引下,制订出切合实际的计划,并将其挂接到各个工序或节点上,与实际的情况进行对比。这样的工作,不仅需要现代化的工具辅助,而且需要各部门的通力合作,这不仅在思想水平上达到就可以了的,更需要有一个整合的工具。 2、项目成本管理信息系统对成本管理的便利性 施工项目成本管理信息系统利用计算机的快速计算统计功能,较好地解决了项目实施过程中过程管理的问题。通过信息系统明确各部门的职责,实现各业务口工作的顺利交接,提高了项目部各部门的合作水平和工作效率。随着当前市场需求的进一步明朗,施工项目成本管理信息系统在不断完善自身的同时,也为建筑行业的发展指明了一个方向。符合建筑企业项目管理方向的产品和服务是有生命力的,对建筑市场项目管理方向的研究也成为必然。 3、项目成本管理信息化建设需要以创新精神进行业务流程再造(BPR) 管理信息化是一项系统工程,是一套全新的管理理念、管理方法、管理模式的引人,对每个员工的工作方法都将产生巨大的冲击,改变人们的思维方式。因此,管理信息化的推进只能循序渐进,不可一蹴而就。管理信息化建设需要以创新精神不断对企业业务流程再造,使企业及员工逐步适应管理信息化带来的冲击。 施工企业传统的业务流程被分割为一段段分裂的环节,每一环节关心的焦点仅仅是单个任务和工作,而不是整个系统的全局最优,存在管理混乱和许多重复无效的业务流程。在管理信息系统建设中如果仅仅用计算机系统去模拟原手工管理系统,进行原有业务系统的电子化,并不能从根本上提高企业的竞争能力。 BPR是根据信息技术的特点,对在手工方式下形成的业务流程进行根本性的再思考、再设计,需要突破传统的思维方式、管理方法、组织机构,对原有业务流程进行整合。BRP是提高企业项目运行效率的重要途径,是企业实现管理创新不可逾越的阶段,是一次深刻的管理基础变革,是一个管理创新的过程。只有这种“脱胎换骨”式的改革才可以使企业对项目的管理彻底摆脱困境,重获新生。管理信息系统体现了先进的管理思想,BPR正是贯穿于管理信息系统自始至终的思想精髓,把管理信息系统可以看作是BPR实现过程中的一种手段。二者相辅相成,缺一不可。
❷ 我为什么要选择软件工程 英语作文
我是一个大二的学生,学的专业是软件工程。再读林锐的这本《软件工程思想》之前,我学习了C和C++的一些编程知识,但是我却一直很迷惑于一个问题:到底软件工程是什么,有什么用,我毕业之后是做些什么工作。直到今天我学习了现代软件工程,并在老师的直到下阅读了这本《软件工程思想》,让我有种眼前豁然开朗的感觉,对软件工程有了一定的认识,也让我对软件工程的一些具体的工作等有了一定的认识。 本文来自读后感吧
《软件工程思想》我想之所以命名为思想,是因为在这本书中虽然并没有该我们提供可以学习的一些具体的知识,但却用作者特有的带点幽默感的语言给了我们一个软件工程的基本框架,让我对软件工程的各个方面有了个清晰的认识,这对我以后的学习和工作都很有用。 本文来自读后感吧
软件工程主要讲的是软件开发的道理,我读这本书是能充分的感受到作者在学习过程中的那种成功和失败的经验,这本书中写的作者的一些新的和体会都是值得我们去学习和感悟的。一般我在阅读相类似这样的书的时候,都有一种晕晕沉沉的感觉,总是看了前面的一小部分,极少有看完的,担当我在读林锐的《软件工程思想》时,我居然一个人就这么窝在寝室里花了一天的时间看完,当时我自己都有一种恍然的感觉,没想过自己可以看完,当时老师说的时候就在想怎么可能看完,但事实证明我是错的。我不仅看了,对其中林锐所说的一些话还很有感触,读这本书就好像我在吃我特别喜欢的
❸ 软件工程专业为什么有的学费贵,有的学费是正常的 软件工程专业学费高低学习后的效果一样吗
咨询记录 · 回答于2021-08-05
❹ 软件工程专业课程软件工程专业主要学什么
软件工程专业课程为:《面向对象程序设计》、《现代操作系统》、《软件项目管理》、《软件体系结构》、《软件工程概论》、《程序设计语言》、《软件工程概论》、《数据库原理与实现技术》、《计算机安全》、《数据结构》、《编译原理》、《建模语言》、《软件工程》等。同时,各个行业几乎都有计算机软件的应用,比如工业,农业,银行,航空,政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。
❺ 机械学生为什么学软件工程
proe、auto cad这些都是计算机辅助设计方面的,在很大一部分情况下能够满足设计的要求,但是在有些情况下,机械设计方面还要许多特殊的要求,这就必须要求机械方面的学生有对软件进行二次开发的基础,而且机械方面不仅仅用这些软件,还要用到其他的软件,比如说数控机床里面的数控系统,产品数据管理中的TEAM CENTER等软件,我们就学过数控系统的编程基础包括里面的算法,我还有几个学长在学习后者二次开发,我同学也有几个在做后者的二次开发,如果没有一定得软件编程基础是不能完成的
❻ 为什么需要软件工程理论
�匦路⑾秩砑�こ痰谋局省�acobson等撰写了三篇文章详细阐述Semat思想,本刊将陆续刊载,本文是其中第二篇。
这种行为可以从很多地方看出来,很多团队草率地丢弃昂贵的过程和工具的投资,甚至在尝试它们之前。每个项目都采用新方法。每次工作发生变化,在手头真正的工作取得进展前,他们必须学习新方法。这是没有效率的,人们不能从经验中学习,因为他们永远从头开始。底线是,没有什么新事物能够被适当地固定下来即使经过几种现代软件开发趋势,最流行的软件开发方法仍然是规范型的瀑布开发或自由hacking。作为一个行业,我们没有什么真正可以坚守的东西,而且一切似乎没有什么变化。
最新横扫行业的趋势是敏捷。现在,我们可以很明确地说,敏捷运动对软件产业做出了非常积极的 [1] 贡献。它提醒我们,软件开发中,人是第一位的,也是最重要的。事实上,这不是什么新观念,但这是重要的,而且这一点似乎被以前更加技术导向的趋势所忽视,比如说面向对象和Java编程。通过展现一系列优点,敏捷宣言创造了某种强健和适应力强的东西,可以抵挡下一次趋势带来的变革风浪。[2]许多声称支持敏捷哲学的敏捷方法,却没能做到这一点,这是非常让人遗憾的。对一项将人的价值放在过程和工具之上的运动来说,这确实带给了我们很多新的过程和工具。其中的大部分已经显示出效率,通过将团队带回到之前完成的开发软件工作。但在重新聚焦到这上面之前,许多人已经迷失或迷茫,因为将新术语引入旧事物后,让人觉得这一切似乎是全新的。这个对旧思想的不断重新包装和品牌重树让软件开发团队的工作方式剧烈摇摆。对他们的工作和产品任意命名,而不是让人们远离浪费时间的工作,将精力重新聚焦在对高质量软件的开发上。
即使有些方法能够像敏捷哲学一样正确、有益,但相关的信息可能会在摇摆和炒作中丢失。我们已经开始看到对敏捷的反弹,我们担心的是利益将会丢失,当早期使用者投入下一个趋势,而晚期大众则重新主张自己的权利,拒绝采纳这些显然不再流行的东西。
有可能会发生的事情是,我们增加更多时髦的词汇和相互冲突的名词,最终为这一切喧嚣所累!
很显然,我们需要停止对流行和永远令人失望的简单答案的追逐,同时不能阻碍创新和新想法。为了做到这一点,人们需要停止对旧思想不断重新包装和品牌重树。相反,他们应侧重于帮助人们了解如何建立优秀的软件。但我们如何才能重点推动这一变化?我们认为,这个理论就在眼前我们要做的只是抓住它。首先,我们应该从所有流行的方法、过程和实践开始,并从中提炼出软件工程的真理。然后,我们可以描述和捕捉一个最小集合的基本概念,以最小独立过程的形式我们将这个本质物的最小集合称之为内核。
然后以这个内核为出发点,我们可以分析现有的过程和方法,并确定它们所包含的实践。从内核开始,我们可以找到一种描述实践的方式,使它们能够进行比较和结合。
现在所说的这种创造理论的方法本身并不是理论。这是我们已经做过的事情。通过研究一些方法,包括XP、Scrum和统一过程,我们的团队已经确定了20多个内核元素,我们总是做的事情或产生的东西。从表面上看,在这些被研究的方法和我们的工作方式中,有可能会出现很大差异;但在实质上,它们有相同的DNA。举例来说,你可以捕捉功能或用例或用户故事的条件,你可以在没有生命周期与统一过程的生命周期,甚至瀑布生命周期(就像有些人仍然在坚持的那样)的情况下使用这些条件。这些方法肯定有一个共同基础,能够以小的简单的内核要素集的形式被捕获。
现在,还不能冒失地声称,我们的内核提供了必要的理论。需要有比我们更多、更大的头脑来做到这一点。但是,我们会将它作为一项证据,证明它的能力和我们需要的理论就近在眼前。
许多大公司都有自己的方法或过程,也就是一系列标准方法,搭配自己对更具体业务的想法。这些过程通常要用一本厚书或网站来介绍,大量资金被投入到归档工作中。有时,人们被训练使用这些过程,有时只是被简单告知它们在哪儿。在现实中,过程常常被忽视;仅有的被实际使用的部分是,组织中形成了口头传统的那些。这被解释成重新发现的自然法则:人们不看过程的书籍。新的思路引入到组织中,旧过程退出流行,而有关它们的书成为摆设。
在某些大公司甚至会出现多个过程。例如,大型系统集成商可能有十个或二十个不同的过程。有时它们很相似,但相似性背后隐藏着差异。
如果贵公司采用这种实践观,你就不需要因为一些新的性感的东西正成为流行,而抛弃整个工作方式。相反,你只需要对现有的工作方式进行改进,一次改进一个实践。你甚至可以采取那些被其他公司使用的实践,而不用丢掉似乎运作良好的现有实践。作为开始,你需要将现在的工作方式看作一个实践集合。然后寻找你的痛点,然后修补目前的工作方式,通过删除没用的实践,代之以解决这些薄弱环节的实践。一旦你理解了内核和它的使用,就很容易做到这一点。在具有多种不同工作方式的大型组织,你可以使用此方法先后改进每个工作方式,而不必强迫大家使用相同的方法或过程。
这种做法将使新实践更容易被采纳,而无须改变其他实践。想象一下,几年前,你已经引入了内核,并描述你的实践。然后,你将能够轻松引入Scrum,通过用Scrum取代项目管理中现有的实践,而无须对其他实践进行任何重大修改。展望未来,Scrum将很有可能被新的实践代替,你将能够很容易地做到这一点了。
如果我们的技术学院或大学教授学生软件工程基础知识,然后训练学生在一系列良好的实践中使用该基础,那将是非常棒的。教育将会更合乎逻辑,因为它着重以独特的想法,而不是特定的思想,来形成每个方法、过程或方法论。我相信学生们会喜欢的。这里也为相关研究留下了很多空间。记住Kurt Lewin的话:没有什么比一个好的理论更实用了。一个好的理论使得学习和开发你的知识更容易,而不会带来过分的崇拜。这将是聪明的。大多数大学教授们在学术生涯中,从来没有真正的机会来实践大规模的软件开发。但是他们仍然不得不教授软件工程,这当然是不容易或者只是依葫芦画瓢。他们只能这样做,因为这门课在课程表上,而不是因为他们确实有什么可教的。他们没有传授理论,只是一套想法或一个特定的方法。当被问及此事时,一名成功的计算机科学家、教授软件工程课程的教授说:令人惊讶的是,学生们喜欢沐浴在我们交给他们的烂泥塘里。我知道这么说并不严肃,但是可以肯定这位老师并不为他做的事情而感到自豪。
一个理论,将从根本上改变这种局面。学生将学习软件的基础知识。他们将得到一种语言,来沟通软件过程、实践、模式,等等。可以想象,他们将会得到一种以内核为语法的语言和描述过程构成成分的时间的语言结构。这样的语言需要是可执行的,这样实践才会变得生动。我说这些是为了表明这些实践不仅是规范,而且也可执行。当一个项目进行时,这些实践将开始运行,而且活动实例、工作产物,实例、技能角色将被真实物创造和填充。这些方面似乎能与实践模式很好地吻合,有非常有趣的语义规则需要确定和定义。向学生打开了一个全新的世界,可以帮助他们了解软件工程的基本原理。更不用说,为对实践和理论感兴趣的研究人员打开了一个全新的世界。
回顾自己1987年后的职业生涯,许多人建议我写一本有关方法论的书。当时Objectory有一些新的想法,比如说用例、用例驱动的开发(这是一个测试驱动设计、合作、序列图、组件和基于组件的开发)。其余的大部分内容都没什么特别的。实施、单元测试、系统测试、性能测试、配置、规划都是相当传统的。当然,我有整个生命周期的经验,但我不是所有事情的世界级专家。然而,为了写书,我不得不包含整个生命周期的内容,即使其中很多不是我的专长。随着我们寻找的新理论,没有任何必要再说明不包含创新的内容。你不需要写一本书来发布新想法,然后把软件开发团队需要做的一切都放进去,而只需要描述你的新实践或新模式,也许第二天你就能向全世界发布了。全世界的任何好点子都可以贡献出来并获得成功。
终于,软件团队将能够摆脱亦步亦趋地追随潮流所造成的无休止的摇摆,成为严格意义上的软件工程团队。团队在坚实的基础上通过优秀的软件开发实践建设和扩展知识。这个基础不会频繁变化,不会强迫你一遍又一遍学习同样的事情。它可以让你通过自己的总结,而不是出席的课程来展示专业。它可以让你轻松和无缝地引进新思路和新队友,而不会造成性能骤降或精力浪费。团队最终能够不断改进和适应他们的工作方式,迎接他们每天面对的挑战。他们将能够开发自己的知识和技能,以一种能够让他们顺利地和来自不同背景、团队和组织的其他人合作的方式,而不必一遍又一遍地重复学习同样的事情了。
最后的话我们对软件工程的了解缺乏一个基本理论。因此,我们不断用略有不同的词再造旧方法,掩盖了真正的创新,同时让抛弃旧的不好的部分,利用新的好的部分变得困难。该理论将帮助我们大大改进软件工程教育。这将帮助我们在面对身边涌现的新想法时的反应不那么天真。最后,它也将帮助我们更快地接受新的思想。这一理论的真正受益者将是软件行业,这一点已经在许多公司得到证明。我们将能够方便地教育我们的人员,让他们加快速度;改进我们生产产品的方式;系统地重新设计(比重构程度更强)我们的产品;不断改进我们的工作方式。其结果将是更好的软件、更快的速度和大幅降低的成本。正如上面提到的,我们需要齐心协力才能做到这一点。从Scott Ambler最近的一篇文章理论需要战略中可以看到这种势头已经开始,但仍有许多工作要做。
我们已经证明它的有效性,但我们仍然要做许多工作才能建立一个公认的标准,必须在一组专家和权威之间建立共识才能完成这点。我们期待着与这些专家的合作。