软件工程师主要做什么

 我来答
尚学堂前端学院
2020-12-12 · 百度认证:北京尚学堂科技官方账号
尚学堂前端学院
向TA提问
展开全部
  • 熟悉公司技术栈。一个公司应该有自己固定的技术栈。这套技术栈会应对公司具体的业务需求。当然,创业公司的技术资源是比较少的,需要招聘人员从上一家公司带来一些。

  • 询问需求。需求先跟产品沟通讨论需求,了解客户有哪些需求信息。

  • 整理需求。以文档的方式把跟产品沟通后的需求,按照功能模块逐一进行梳理整理,需要写得尽可能详细。

  • 讨论需求。就是需求评审,确认哪些需求是合理的,哪些需求是不合理的。进行有意义的需求评审,这个特别重要。

  • 确认需求。再次跟产品确认需求,一方面是确认就是要做文档中呈现的需求,另一个方面也是检验开发者是否对需求理解到位了。如果发现开发者跟产品理解不一致,是需要作出修改。这个时候产品也需要跟客户再次沟通,确认需求是否是客户真实需要的。

  • 整理文档。把项目的时间周期呈现在文档中。把项目中所有需要的功能模块,都需要用文档进行详细说明。

  • 设计表结构。根据产品画的原型,抽象成软件设计的概念,现在大都是抽象面向对象概念。

  • 画实体流程图。用实体流程图来说明项目的核心流程和数据流程。因为一个系统其实就是实体来描述的,而实体数据的流动其实就是核心流程逻辑了。

  • 画必要的UML图。加强实体间相互关系理解,这样可以搭建一个好的类关系组织图。这里没有好或者不好,只是如果把这些需求当成工程技术那样严谨的思考,这些步骤还是可以做的。根据自己需要,灵活应对,如果自己理解力够好,经验够了,这些步骤可以直接在脑子里做。如果理解力不够好,还是该画就画。

  • 画项目核心功能逻辑图。把项目中比较复杂的和非常重要的功能逻辑,画成图,目的:辅助自己理解。

  • 用汉语把功能写出来。其实写代码就是写故事,用汉语可以先把故事写一写,然后用编程语言把故事在描述一次。做两次是非常好的,第一次会考虑到一些细节,因为当接触一个新的功能逻辑,其实是陌生的。用熟悉的汉语写成一个故事,是可以辅助理解的。其实,橡皮鸭的调试法就是这样的。用自己的话,用自己的理解把整个过程说出来。

  • 编码。把前面的工作都踏实做好了,编码就是一件非常简单的事情。

  • 单元测试。需要注意一下,哪些是必须测试的,哪些内容根本无需测试。

  • bug修复。

  • 上线。

  • 总结。一个项目做完后,把重要的bug,进行整理和学习。把做得不好地方进行梳理,下次需要改善。

  • 学习新技术。这个也是工作的一部分,而且特别重要。

陕西新华电脑学校
2021-07-09 · 百度认证:陕西新华电脑软件培训学校官方账号
陕西新华电脑学校
陕西新华电脑软学校位于西咸新区秦汉新城兰池二路东段,隶属于新华教育集团,是经陕西省人力资源和社会保障厅批准成立的一所大型互联网教育学校,是陕西省专业的互联网人才培养基地,交通便利,学风醇厚
向TA提问
展开全部
软件工程学的主要内容是软件开发技术和软件工程管理。 软件开发技术包含软件工程方法学、软件工具和软件开发环境;软件工程管理学包含软件工程经济学和软件管理学。 专业简介是计算机领域发展最快的学科分支之一,国家非常重视软件行业的发展,对软件人才的培养给予了非常优惠的政策。本专业培养掌握计算机软件基本理论知识,熟悉软件开发和管理技术、能够在计算机软件领域中从事软件设计、开发和管理的高级人才。 主修课程该专业除了学习公共基础课外,还将系统学习离散数学、数据结构、算法分析、面向对象程序设计、现代操作系统、数据库原理与实现技术、编译原理、软件工程、软件项目管理、计算机安全等课程,根据学生的兴趣还可以选修一些其它选修课。 毕业去向除考取国内外名牌大学研究生外,主要毕业去向是计算机软件专业公司﹑信息咨询公司﹑以及金融等其它独资、合资企业。 培养目标本专业培养适应社会发展需求,德、智、体、美全面发展,具有扎实的计算机应用理论和知识基础,掌握软件工程领域的前沿技术和软件开发方法,具有较强的实践能力和创新精神,具备较强的软件项目的系统分析、设计、开发和测试能力,能够按照工程化的原则和方法从事软件项目开发和管理的应用型人才。 就业方向本专业学生毕业后可以从事各级各类企事单位的业办公自动化处理、计算机安装与维护、网页制作、计算机网络和专业服务器的维护管理和开发工作、动态商务网站开发与管理、软件测试与开发及计算机相关设备的商品贸易等方面的有关工作。 就业前景分析 目前我国的软件行业规模不是很大,有些软件企业在软件制作上,也只是采用了一些软件工程的思想,距离大规模的工业化大生产比较还是有一定的差距;原因有管理体制的问题,市场问题,政策问题,也有软件工程理论不全面和不完善的问题。所以软件工程的研究和应用,以及我国软件行业的进一步发展,都需要一定的既有软件工程的理论基础和研究能力,又有一定的实践经验的软件工程科学技术人员来推动。软件工程的前途是光明的。第一年一般都会学习数学、英语这些公共课。数学和英语对你今后来说是非常重要的!英语别指望课能学到东西,要看你专业的东西。 除了都要学的高数,今后还要学习其他数学,例如线代,离散,概率。如果你不学好数学,你当然也可以写软件,但是当你想更深入的时候就需要这些数学功底了。相对于数学来说,英语是必须的,因为今后基本上所有优秀的教材和技术文章都是英文的。翻译过来的东西,一是陈旧,而是往往翻译的质量差强人意。所以英语是基本功,一定要强,主要是阅读能力。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
江西新华电脑学院
2021-05-15 · 品牌创于1988,专注IT教育
江西新华电脑学院
江西新华电脑学院开设电子商务、软件开发、电竞、动漫设计、UI设计、室内设计、网络工程、互联网财务、VR等专业。 来校参观报销路费,报名享受国家学费减免政策,签订就业合同,毕业推荐高薪工作。
向TA提问
展开全部
软件开发的内容是:需求、设计、编程和测试!
需求:不仅仅是用户需求,应该是开发中遇到的所有的需求。比如,你首先要知道做这个项目是为了解决什么问题;测试案例中应该输入什么数据……为了清楚地知道这些需求,你经常要和客户、项目经理等交流。

设计:编码前,肯定有个计划告诉你要做什么,结构是怎样等等。你一定要按照这个来做,否则可能会一团糟。

编程:如果在项目截止日,你的程序不能跑起来或达不到客户的要求,你就拿不到钱。

测试:目的是让你知道,什么时候算是完成了。如果你聪明,你就应该先写测试,这样可以及时知道你是否真地完成了。否则,你经常会不知道,到底有哪些功能是真正完成了,离预期目标还差多远。

软件开发中,客户和开发人员都有自己的基本权利和义务。

客户:

定义每个用户需求的商业优先级;
制订总体计划,包括用多少投资、经过多长时间、达到什么目的;
在项目开发过程中的每个工作周,都能让投资获得最大的收益;
通过重复运行你所指定的功能测试,准确地掌握项目进展情况;
能随时改变需求、功能或优先级,同时避免昂贵的再投资;能够根据各种变化及时调整项目计划;
能够随时取消项目;项目取消时,以前的开发工作不是一堆垃圾,已开发完的功能是合乎要求的,正在进行或未完成的的工作则应该是不难接手的。

开发人员:

知道要做什么,以及要优先做什么;
工作有效率;
有问题或困难时,能得到客户、同事、上级的回答或帮助;
对工作做评估,并根据周围情况的变化及时重新评估;
积极承担工作,而不是消极接受分配;
一周40小时工作制,不加班。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
江西新华阿涛
高能答主

2022-03-19 · 用力答题,不用力生活
知道答主
回答量:59
采纳率:0%
帮助的人:1.9万
展开全部
随着移动互联网的普及与发展,手机应用不断深入我们生活的方方面面,移动系统和软件应用的开发领域,成为了未来具有潜力的行业之一,合格的软件人才在任何企业都具有不可替代的竞争优势 。

选择江西新华电脑学院软件技术工程师专业,你将学习:
网络安全基础、Dreamweaver网页设计、Photoshop网页效果图制作、Window Server 2008服务、器操作系统和活动目录、C语言、SQL Server2005数据库、设计和高级查询、HTML5+CSS3、JavaScript、jQuery高级编程、动态网页设计PHP+MYSQL、Linux服务器操作系统、数据结构软件工程、JAVA面向对象程序设计、oracle数据库、J2EE服务器端高级编程、手机APP视觉设计、APP应用程序开发等。
软件开发具体要干的事如下:
软件开发的内容是:需求、设计、编程和测试。
1、需求:不仅仅是用户需求,应该是开发中遇到的所有的需求。比如,首先要知道做这个项目是为了解决什么问题;测试案例中应该输入什么数据……为了清楚地知道这些需求,经常要和客户、项目经理等交流。
2、设计:编码前,肯定有个计划告诉要做什么,结构是怎样等等。一定要按照这个来做,否则可能会一团糟。
3、编程:如果在项目截止日,程序不能跑起来或达不到客户的要求,就拿不到钱。
4、测试:目的是让自己知道,什么时候算是完成了。应该先写测试,这样可以及时知道是否真地完成。软件开发中,客户和开发人员都有自己的基本权利和义务。客户:定义每个用户需求的商业优先级;制订总体计划,包括用多少投资、经过多长时间、达到什么目的;在项目开发过程中的每个工作周,都能让投资获得最大的收益;通过重复运行所指定的功能测试,准确地掌握项目进展情况;能随时改变需求、功能或优先级,同时避免昂贵的再投资;能够根据各种变化及时调整项目计划等。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
多啦多蕾

2020-12-12 · TA获得超过1096个赞
知道大有可为答主
回答量:7482
采纳率:18%
帮助的人:324万
展开全部
软件工程师是从事软件开发相关工作的人员的统称。主要负责建筑智能化产品软件开发,与各设备厂商、软件公司对接,管理产品开发流程等。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(9)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式