A. 软件开发具体做什么工作
1、计划
对所要解决的问题进行总体定义,包括了解用户的要求及现实环境,从技术、经济和社会因素等3个方面研究并论证本软件项目的可行性,编写可行性研究报告,探讨解决问题的方案,并对可供使用的资源(如计算机硬件、系统软件、人力等)成本,可取得的效益和开发进度作出估计,制订完成开发任务的实施计划。
2、分析
软件需求分析就是对开发什么样的软件的一个系统的分析与设想。它是一个对用户的需求进行去粗取精、去伪存真、正确理解,然后把它用软件工程开发语言(形式功能规约,即需求规格说明书)表达出来的过程。本阶段的基本任务是和用户一起确定要解决的问题,
建立软件的逻辑模型,编写需求规格说明书文档并最终得到用户的认可。需求分析的主要方法有结构化分析方法、数据流程图和数据字典等方法。本阶段的工作是根据需求说明书的要求,设计建立相应的软件系统的体系结构,
并将整个系统分解成若干个子系统或模块,定义子系统或模块间的接口关系,对各子系统进行具体设计定义,编写软件概要设计和详细设计说明书,数据库或数据结构设计说明书,组装测试计划。在任何软件或系统开发的初始阶段必须先完全掌握用户需求,以期能将紧随的系统开发过程中哪些功能应该落实、
采取何种规格以及设定哪些限制优先加以定位。系统工程师最终将据此完成设计方案,在此基础上对随后的程序开发、系统功能和性能的描述及限制作出定义。
3、设计
软件设计可以分为概要设计和详细设计两个阶段。实际上软件设计的主要任务就是将软件分解成模块,然后进行模块设计。模块是指能实现某个功能的数据和程序说明、可执行程序的程序单元。可以是一个函数、过程、子程序、一段带有程序说明的独立的程序和数据,
也可以是可组合、可分解和可更换的功能单元。概要设计就是结构设计,其主要目标就是给出软件的模块结构,用软件结构图表示。详细设计的首要任务就是设计模块的程序流程、算法和数据结构,次要任务就是设计数据库,常用方法还是结构化程序设计方法。
4、编码
软件编码是指把软件设计转换成计算机可以接受的程序,即写成以某一程序设计语言表示的“源程序清单”。充分了解软件开发语言、工具的特性和编程风格,有助于开发工具的选择以及保证软件产品的开发质量。
5、测试
软件测试的目的是以较小的代价发现尽可能多的错误。要实现这个目标的关键在于设计一套出色的测试用例(测试数据与功能和预期的输出结果组成了测试用例)。如何才能设计出一套出色的测试用例,关键在于理解测试方法。不同的测试方法有不同的测试用例设计方法。两种常用的测试方法分别是白盒法和黑盒法,白盒法测试对象是源程序,
依据的是程序内部的逻辑结构来发现软件的编程错误、结构错误和数据错误。结构错误包括逻辑、数据流、初始化等错误。白盒法用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果。黑盒法依据的是软件的功能或软件行为描述,发现软件的接口、功能和结构错误。其中接口错误包括内部/外部接口、资源管理、集成化以及系统错误。黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。
6、维护
维护是指在已完成对软件的研制(分析、设计、编码和测试)工作并交付使用以后,对软件产品所进行的一些软件工程的活动。即根据软件运行的情况,对软件进行适当修改,以适应新的要求,以及纠正运行中发现的错误。编写软件问题报告、软件修改报告。
B. 软件行业有哪些岗位
在互联网软件行业下,基本都在使用敏捷开发方法,一般公司所涉及的岗位如下:
Ø 产品经理
产品经理是在互联网行业中诞生的一个新岗位,他们要根据业务需求进行大量的用研分析,需求过滤,将业务需求进行产品、以及信息化的转化,从而用一种新的产品理念服务于客户,具体工作包括用户体验设计、交互设计、业务流程设计、信息架构设计等等,一般产出:产品原型。
Ø 架构师
架构师了解业务之后,对业务进行抽象与架构设计,根据设计进行技术选型和框架搭建,制定整个软件系统的技术方向和开发方式,就像是建筑设计师一样,不仅要有良好的抽象能力、设计能力、更要有良好的技术和攻关能力。
Ø UI设计师
UI设计师的主要负责软件的外在美观设计,增强用户的视觉感官体验。
Ø 后端开发工程师
后端开发工程师,主要就是负责编写应用系统的代码实现,实现产品要求中的业务功能。
Ø 前端开发工程师
后台工程师的主要工作是实现功能,而前端工程的工作就是实现用户的操作界面,完成人机交互,包括:app(Android、iOS)和web。
Ø 测试工程师
软件总会有bug,所以在上线之前需要对软件进行全方位的测试工作,包括:功能测试(黑盒、灰盒、白盒测试)、安全测试、性能测试、压力测试、稳定性测试等等,那么就用到了测试工程师,他们主要对软件质量进行把控。
Ø 运维工程师
系统在运行中,还需要有运维工程师,保障系统能够安全有效的不间断的提供服务,他们需要对硬件、软件、网络、安全设备等进行实时监控、运营维护。
Ø 大数据开发工程师
大数据工程师主要负责数据处理,简单来说是在大数据处理平台下的数据处理,包括数据收集、存储、转换、分析与可视化。为企业业务决策提供数据支撑,注重数据价值提取。
C. 软件开发职业发展及相关职位有哪些
1、软件UI设计;
2、软件程序开发;
3、软件测试;
4、软件实施。
5、数据库开发。
6、项目经理
6、产品经理。很多,一线代码的就是程序开发和测试。其他的都是辅助的。UI设计涉及的少,但也必须知道
D. 软件开发工作具体干什么
软件开发具体要干的事如下:
软件开发的内容是:需求、设计、编程和测试。
1、需求:不仅仅是用户需求,应该是开发中遇到的所有的需求。比如,首先要知道做这个项目是为了解决什么问题;测试案例中应该输入什么数据……为了清楚地知道这些需求,经常要和客户、项目经理等交流。
2、设计:编码前,肯定有个计划告诉要做什么,结构是怎样等等。一定要按照这个来做,否则可能会一团糟。
3、编程:如果在项目截止日,程序不能跑起来或达不到客户的要求,就拿不到钱。
4、测试:目的是让自己知道,什么时候算是完成了。应该先写测试,这样可以及时知道是否真地完成。软件开发中,客户和开发人员都有自己的基本权利和义务。客户:定义每个用户需求的商业优先级;制订总体计划,包括用多少投资、经过多长时间、达到什么目的;在项目开发过程中的每个工作周,都能让投资获得最大的收益;通过重复运行所指定的功能测试,准确地掌握项目进展情况;能随时改变需求、功能或优先级,同时避免昂贵的再投资;能够根据各种变化及时调整项目计划等。
E. 软件开发专业有哪些职业方向
从事软件开发的就业方向
(1)软件测试:应用软件(包括手机程序)的调试、运行、测试、维护及质量管理等技术岗位的工作。
(2)JAVA软件开发:软件公司中Java软件工程师、网络工程师、数据库工程师等相关职位。
(3)windows phone:移动运营商、手机终端制造商、手机平台开发商、手机服务提供商、手机内容提供商、手机芯片提供商等相关公司。
(4).NET软件软件开发:.Net软件工程师、网络工程师、数据库工程师等相关职位
软件开发的学习方向有
(1)软件测试:掌握主流自动化测试工具、Linux环境搭建与操作和软件工程相关知识
(2).NET软件软件开发:精通C#编程、熟练掌握ADO.Net和ASP.NET编程、深入理解SQL SERVER数据库开发的中高级.Net软件工程师。
(3)windows phone:3G嵌入式系统理论、3G嵌入式编程的技术、方法和工具,能从事3G方向嵌入式系统应用、设计、开发与测试的技能型、实用性高级软件人才。
(4)3G移动应用开发:Android(安卓)嵌入式系统理论、Android(安卓)嵌入式编程的技术、方法和工具,能从事Android(安卓)方向嵌入式系统应用、设计、开发与测试的技能型、实用性高级软件人才。
(5)JAVA软件开发:精通Struts/Spring/Hibernate架构、熟练掌握Tomcat和企业级Weblogic中间件服务器、深入理解Oracle 10g数据库开发的中高级JAVAEE软件工程师
F. 软件技术专业主要就业方向有哪些
1软件就业好吗?
软体专业的学生就业前景还是不错的,如果在这个专业上多花点功夫,一步一步,熟练掌握相关的专业知识,那么以后出来工作还是会有很大的发展前景的。
软件产业作为朝阳产业,虽然受全球金融危机的影响,但从目前的情况来看,软件工程专业在未来几年仍将成为就业形势看好的专业。调查显示,软件工程就业率和就业工资水平均居高校各专业之首。这主要是由于软件产业的快速发展和政府经济结构的调整,对软件人才的迫切需求。
二是软件专业就业方向。
第一,研发工程师。
由于软件工程技术、专业性较强,即大家口中的程序猿。例如网页效果、布局、图片、视频等内容;网页后端研发主要负责网站后台逻辑,以及数据的保存和阅读,如用户的注册和登录;而软件研发则主要针对PC/Mac/Android/iOS的客户端进行相应的研发。各种类型的研究与开发除了要掌握不同的程序语言、不同的研究与开发框架和不同的标准外,还要有很强的逻辑思维能力。
第二,算法工程师。
算法工程师也是R&D工程师的一种,但由于它侧重于用代码解决现实生活中的问题,我们将他分类。算法工程师分为图像算法工程师、通信算法工程师、数据挖掘算法工程师等。此外,还需要掌握特定领域的数据挖掘算法。
第三,测试岗。
测试是一个负责控制项目质量的职位。在了解产品功能要求的前提下,测试产品性能和功能,检查是否有错误,测试稳定性和兼容性等。这个职位对技能要求较低,但需要仔细思考和良好的沟通能力。
第四,运维岗。
操作和维护负责控制项目的正常运行。有许多技术方向需要,如服务监控技术、服务故障管理、服务容量管理、服务性能优化等。
第五,产品岗。
产品需要根据用户的需求,决定开发哪个产品,选择哪个技术、商业模式等,推进相应的产品开发组织。这个职场是对用户体验的理解、用户需求的把握、产品设计框架和商业嗅觉的综合能力要求更高的职场。
第六,运营岗。
运营岗位主要从事内容建设、用户维护、活动策划和数据分析四个方面,以确保产品与用户之间的联系。
G. 软件工程专业 可以从事的相关职业有哪些
1、Java方向:JAVA初级程序员、JAVA计算程序员 、 JAVA工程师 、J2EE系统工程师等。
2、.Net方向: .Net程序员网站开发工程师 .Net工程师等。
3、其它方向: 简单的管理信息系统开发和维护人员 、网页制作和客户端脚本程序编写人员 、初级数据库管理和 维护人员 、数据库开发工程师 、系统分析设计工程 、软件项目配置管理员 、文档编写工程师等。
软件工程专业是培养适应计算机应用学科的发展,特别是软件产业的发展,具备计算机软件的基础理论、基本知识和基本技能,具有用软件工程的思想、方法和技术来分析、设计和实现计算机软件系统的能力,毕业后能在IT行业、科研机构、企事业中从事计算机应用软件系统的开发和研制的高级软件工程技术人才。
(7)软件开发具体职业有哪些扩展阅读
软件工程专业学生毕业后可以从事各级各类企事业单位的办公自动化处理、计算机安装与维护、网页制作、计算机网络和专业服务器的维护管理和开发工作、动态商务网站开发与管理、软件测试与开发及计算机相关设备的商品贸易等方面的有关工作。
软件工程专业要求学生掌握和计算机科学与技术相关的基本理论知识,具有一般计算机相关工程的分析设计和解决实际问题的能力。
了解文献检索、资料查询的基本方法,具有一定的科学研究和实际工作能力。能够运用学习知识和外文阅读能力查阅外文资料。养成积极参加体育锻炼和健康的文化活动的良好习惯,达到国家规定的大学生体育合格标准,身心健康。
H. 软件开发工作具体干什么
软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。软件一般是用某种程序设计语言来实现的。通常采用软件开发工具可以进行开发。软件分为系统软件和应用软件,并不只是包括可以在计算机上运行的程序,与这些程序相关的文件一般也被认为是软件的一部分。 软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、程序联调和测试以及编写、提交程序。
I. 软件开发人员主要做什么工作
软件开发具体要干的事如下:
软件开发的内容是:需求、设计、编程和测试。
1、需求:不仅仅是用户需求,应该是开发中遇到的所有的需求。比如,首先要知道做这个项目是为了解决什么问题;测试案例中应该输入什么数据……为了清楚地知道这些需求,经常要和客户、项目经理等交流。
2、设计:编码前,肯定有个计划告诉要做什么,结构是怎样等等。一定要按照这个来做,否则可能会一团糟。
3、编程:如果在项目截止日,程序不能跑起来或达不到客户的要求,就拿不到钱。
4、测试:目的是让自己知道,什么时候算是完成了。应该先写测试,这样可以及时知道是否真地完成。软件开发中,客户和开发人员都有自己的基本权利和义务。客户:定义每个用户需求的商业优先级;制订总体计划,包括用多少投资、经过多长时间、达到什么目的;在项目开发过程中的每个工作周,都能让投资获得最大的收益;通过重复运行所指定的功能测试,准确地掌握项目进展情况;能随时改变需求、功能或优先级,同时避免昂贵的再投资;能够根据各种变化及时调整项目计划等。